OpenZWave / node-red-contrib-openzwave

OpenZWave nodes for node-red
Other
49 stars 27 forks source link

Two or more Z-Wave controllers #62

Open thucar opened 6 years ago

thucar commented 6 years ago

I'm trying to run two separate Z-Wave USB controllers on my installation, to help alleviate the max-nodes limit as well as keeping separate networks for better responsiveness.

However, I can't get the setup to work. I have created two sets of zwave-controller nodes, one on port /dev/ttyACM0 (Controller1) and the other on /dev/ttyACM1 (Controller2) but it looks like only one of the controllers is active at the time. For instance, if I add a new device to Controller1, then start inclusion on Controller2 and add a second device, then that device still gets added to Controller1, not Controller2

When I connect only one controller at a time, add a number of devices to each, then connect both again, then I'm only able to communicate with devices added to the Controller1, no matter who I send the commands to.

[{"id":"9a6ee0c6.18983","type":"zwave-in","z":"da82c862.9035b8","name":"Controller2 In","controller":"92af3af.98965c8","x":130,"y":60,"wires":[["fd1bf3df.b6367"]]},{"id":"5627d839.d95418","type":"zwave-out","z":"da82c862.9035b8","name":"Controller2 Out","controller":"92af3af.98965c8","x":460,"y":240,"wires":[["334baf41.ee528"]]},{"id":"d76fa7bf.218b88","type":"inject","z":"da82c862.9035b8","name":"Inclusion","topic":"addNode","payload":"{\"prependHomeId\":true}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":160,"y":180,"wires":[["5627d839.d95418"]]},{"id":"350fb031.d35db","type":"inject","z":"da82c862.9035b8","name":"Exclusion","topic":"removeNode","payload":"{\"prependHomeId\":true}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":160,"y":220,"wires":[["5627d839.d95418"]]},{"id":"288bb290.abf4ce","type":"inject","z":"da82c862.9035b8","name":"Stop","topic":"cancelControllerCommand","payload":"{\"prependHomeId\":true}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":260,"wires":[["5627d839.d95418"]]},{"id":"fd1bf3df.b6367","type":"debug","z":"da82c862.9035b8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":360,"y":60,"wires":[]},{"id":"334baf41.ee528","type":"debug","z":"da82c862.9035b8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":660,"y":200,"wires":[]},{"id":"a7a7cd9e.a05e3","type":"zwave-in","z":"da82c862.9035b8","name":"Controller1 In","controller":"8c289267.76172","x":150,"y":380,"wires":[["a32dbd57.c182a"]]},{"id":"88bd6745.7e4b98","type":"zwave-out","z":"da82c862.9035b8","name":"Controller1 Out","controller":"8c289267.76172","x":480,"y":560,"wires":[["d3cb701f.0d72a"]]},{"id":"6825f908.5f7938","type":"inject","z":"da82c862.9035b8","name":"Inclusion","topic":"addNode","payload":"{\"prependHomeId\":true}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":180,"y":500,"wires":[["88bd6745.7e4b98"]]},{"id":"b9d88f71.0558c","type":"inject","z":"da82c862.9035b8","name":"Exclusion","topic":"removeNode","payload":"{\"prependHomeId\":true}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":180,"y":540,"wires":[["88bd6745.7e4b98"]]},{"id":"6900467.861abb8","type":"inject","z":"da82c862.9035b8","name":"Stop","topic":"cancelControllerCommand","payload":"{\"prependHomeId\":true}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":170,"y":580,"wires":[["88bd6745.7e4b98"]]},{"id":"a32dbd57.c182a","type":"debug","z":"da82c862.9035b8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":380,"y":380,"wires":[]},{"id":"d3cb701f.0d72a","type":"debug","z":"da82c862.9035b8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":680,"y":520,"wires":[]},{"id":"92af3af.98965c8","type":"zwave-controller","z":"","port":"/dev/ttyACM1","driverattempts":"3","pollinterval":"10000","allowunreadyupdates":false,"networkkey":"0xF8 0x2F 0xE3 0x3C","logging":"full"},{"id":"8c289267.76172","type":"zwave-controller","z":"","port":"/dev/ttyACM0","driverattempts":"3","pollinterval":"10000","allowunreadyupdates":false,"networkkey":"0xF1 0x84 0x2D 0x34","logging":"full"}]

ekarak commented 6 years ago

Hello, The underlying nodejs plugin currently does not support multiple controllers. I have made some work, still unfinished, towards adding this, but is still a big TODO ...

Στις 7 Αυγ 2018 4:47 μ.μ., ο χρήστης "thucar" notifications@github.com έγραψε:

I'm trying to run two separate Z-Wave USB controllers on my installation, to help alleviate the max-nodes limit as well as keeping separate networks for better responsiveness.

However, I can't get the setup to work. I have created two sets of zwave-controller nodes, one on port /dev/ttyACM0 (Controller1) and the other on /dev/ttyACM1 (Controller2) but it looks like only one of the controllers is active at the time. For instance, if I add a new device to Controller1, then start inclusion on Controller2 and add a second device, then that device still gets added to Controller1, not Controller2

When I connect only one controller at a time, add a number of devices to each, then connect both again, then I'm only able to communicate with devices added to the Controller1, no matter who I send the commands to.

[{"id":"9a6ee0c6.18983","type":"zwave-in","z":"da82c862.9035b8","name":"Controller2 In","controller":"92af3af.98965c8","x":130,"y":60,"wires":[["fd1bf3df.b6367"]]},{"id":"5627d839.d95418","type":"zwave-out","z":"da82c862.9035b8","name":"Controller2 Out","controller":"92af3af.98965c8","x":460,"y":240,"wires":[["334baf41.ee528"]]},{"id":"d76fa7bf.218b88","type":"inject","z":"da82c862.9035b8","name":"Inclusion","topic":"addNode","payload":"{\"prependHomeId\":true}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":160,"y":180,"wires":[["5627d839.d95418"]]},{"id":"350fb031.d35db","type":"inject","z":"da82c862.9035b8","name":"Exclusion","topic":"removeNode","payload":"{\"prependHomeId\":true}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":160,"y":220,"wires":[["5627d839.d95418"]]},{"id":"288bb290.abf4ce","type":"inject","z":"da82c862.9035b8","name":"Stop","topic":"cancelControllerCommand","payload":"{\"prependHomeId\":true}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":260,"wires":[["5627d839.d95418"]]},{"id":"fd1bf3df.b6367","type":"debug","z":"da82c862.9035b8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":360,"y":60,"wires":[]},{"id":"334baf41.ee528","type":"debug","z":"da82c862.9035b8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":660,"y":200,"wires":[]},{"id":"a7a7cd9e.a05e3","type":"zwave-in","z":"da82c862.9035b8","name":"Controller1 In","controller":"8c289267.76172","x":150,"y":380,"wires":[["a32dbd57.c182a"]]},{"id":"88bd6745.7e4b98","type":"zwave-out","z":"da82c862.9035b8","name":"Controller1 Out","controller":"8c289267.76172","x":480,"y":560,"wires":[["d3cb701f.0d72a"]]},{"id":"6825f908.5f7938","type":"inject","z":"da82c862.9035b8","name":"Inclusion","topic":"addNode","payload":"{\"prependHomeId\":true}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":180,"y":500,"wires":[["88bd6745.7e4b98"]]},{"id":"b9d88f71.0558c","type":"inject","z":"da82c862.9035b8","name":"Exclusion","topic":"removeNode","payload":"{\"prependHomeId\":true}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":180,"y":540,"wires":[["88bd6745.7e4b98"]]},{"id":"6900467.861abb8","type":"inject","z":"da82c862.9035b8","name":"Stop","topic":"cancelControllerCommand","payload":"{\"prependHomeId\":true}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":170,"y":580,"wires":[["88bd6745.7e4b98"]]},{"id":"a32dbd57.c182a","type":"debug","z":"da82c862.9035b8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":380,"y":380,"wires":[]},{"id":"d3cb701f.0d72a","type":"debug","z":"da82c862.9035b8","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":680,"y":520,"wires":[]},{"id":"92af3af.98965c8","type":"zwave-controller","z":"","port":"/dev/ttyACM1","driverattempts":"3","pollinterval":"10000","allowunreadyupdates":false,"networkkey":"0xF8 0x2F 0xE3 0x3C","logging":"full"},{"id":"8c289267.76172","type":"zwave-controller","z":"","port":"/dev/ttyACM0","driverattempts":"3","pollinterval":"10000","allowunreadyupdates":false,"networkkey":"0xF1 0x84 0x2D 0x34","logging":"full"}]

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/OpenZWave/node-red-contrib-openzwave/issues/62, or mute the thread https://github.com/notifications/unsubscribe-auth/AAj4KZrBwaZu1sDNWZnMfQ9EiPKtksupks5uOZpugaJpZM4VyMW_ .

OnnoH commented 6 years ago

I’m trying to accomplish the same. But I guess this is quite a niche. Can you elaborate on some of the difficulties involved?