OMG...
When receiving network info at initialization time, the pluto driver inspects a bitmap of 4 bytes -> 32 possible possible devices. But Zwave should support up to 232 nodes. Maybe I am misreading something ?
And it could indeed be that my problems
http://mantis.linuxmce.org/view.php?id=3614 of zwave devices being dropped started when I reached node ID 33 in my network.
for(int i = 5; i < 9; i++) // that's only 4 bytes !
{
for(int j = 0; j < 8; j++)
{
node_index++;
if( (1 << j) & buffer[i])
{
handler()->insertNode(new ZWaveNode(handler()->homeID(), node_index));
}
}
}
Another interesting thing I have noticed by decoding the received buffer is that some nodes are reported that do not exist physically.
35 04/06/08 11:01:00.510 ZWJobGetNodeProtocolInfo len = 8 buf = 0x01 0x41 0xc9 0x0c 0x00 0x04 0x10 0x00 <0xb6993b90> 04/06/08 11:01:00.510 Node[5] : BType = 0x02 GType = 0x02 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.510 Node[7] : BType = 0x02 GType = 0x02 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.510 Node[9] : BType = 0x03 GType = 0x11 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.510 Node[10] : BType = 0x03 GType = 0x10 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.510 Node[11] : BType = 0x03 GType = 0x10 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.510 Node[12] : BType = 0x03 GType = 0x10 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.510 Node[13] : BType = 0x02 GType = 0x02 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.510 Node[15] : BType = 0x02 GType = 0x02 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.510 Node[16] : BType = 0x03 GType = 0x11 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.510 Node[17] : BType = 0x02 GType = 0x02 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.510 Node[19] : BType = 0x02 GType = 0x02 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.510 Node[20] : BType = 0x02 GType = 0x02 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.510 Node[21] : BType = 0x02 GType = 0x02 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.510 Node[22] : BType = 0x04 GType = 0x10 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.510 Node[23] : BType = 0x04 GType = 0x12 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.510 Node[24] : BType = 0x02 GType = 0x02 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.511 Node[25] : BType = 0x04 GType = 0x11 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.511 Node[26] : BType = 0x04 GType = 0x10 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.511 Node[27] : BType = 0x02 GType = 0x02 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.511 Node[28] : BType = 0x02 GType = 0x02 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.511 Node[29] : BType = 0x04 GType = 0x11 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.511 Node[30] : BType = 0x04 GType = 0x10 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.511 Node[31] : BType = 0x04 GType = 0x20 SType = 0x00 Level = -1 <0xb6993b90>
36 04/06/08 11:01:00.511 Node[32] : BType = 0x00 GType = 0x00 SType = 0x00 Level = -1 <0xb6993b90>
but I only have physical nodes 9-12,16,22,25-26,29-33 on top of the remote controller and ZCU010.