Can I run "Replace failed" action against a removed node? #3398
-
Checklist
Deploy methodManually built (git clone - yarn build - yarn install Z-Wave JS UI version9.3.1 ZwaveJS version12.3.0 Describe the bugZwave JS UI presents option to "Write the node Id and press enter if not present" when doing a Replace "Replace a failed device", but node-jwave-js packages/zwave-js/src/lib/Controller.ts calls this.nodes.getOrThrow(nodeId), rejecting the request if the node is not in the controller's this.nodes. Ideally, the fix would be to node-jwave-js to support replace of removed nodes... To ReproduceDo a Replace type inclusion, but enter a node Id of a node that is not present (has been removed). Expected behaviorThe desired behavior (for me) is that node-zwave-js would allow a node to be replaced even if not in the controller's this.nodes. Additional contextI'm a retired full-stack developer, pretty skilled in TS/JS. I switched to zwavejs from hubitat. My install is a 15-unit motel with about 150 zwave nodes: Aeotec 700 controller, Yale locks, Zooz LR dimmers, Enbrighten motion sensors/switches, Zooz Zen51 dry-contact sensors connected to smoke detector, Aeotec home energy meters, heavy-duty switches, Alarm.com (Building 36) water valve/meters, Ecolink thermostats, etc. I'd be glad to become a contributor if I could be of help. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
If I remember correctly this is how zwave protocol works, it expects the node to be in controller nodes failed list in order to allow a replace so if you did an exclusion you cannot do a replace with that nodeId. So this is not an issue with zwave-js itself but I let @AlCalzone to give you a better detailed answer. As a side note I can say that I was doing this with OpenZwave and it worked, I mean I was able to run the replace failed even against removed nodes, but zwave-js must be protocol complaint so it doesn't allow that. Maybe this could be allowed with a special flag or Driver option? @AlCalzone |
Beta Was this translation helpful? Give feedback.
If I remember correctly this is how zwave protocol works, it expects the node to be in controller nodes failed list in order to allow a replace so if you did an exclusion you cannot do a replace with that nodeId. So this is not an issue with zwave-js itself but I let @AlCalzone to give you a better detailed answer.
As a side note I can say that I was doing this with OpenZwave and it worked, I mean I was able to run the replace failed even against removed nodes, but zwave-js must be protocol complaint so it doesn't allow that. Maybe this could be allowed with a special flag or Driver option? @AlCalzone