zwave-js / node-zwave-js

Z-Wave driver written entirely in JavaScript/TypeScript
https://zwave-js.github.io/node-zwave-js/
MIT License
741 stars 596 forks source link

Zooz ZEN25 Assigned Lifeline to Non-Existant NODE_1 #5196

Closed kaijk closed 1 year ago

kaijk commented 1 year ago

Is your problem within Home Assistant (Core or Z-Wave JS Integration)?

NO, my problem is NOT within Home Assistant or the ZWave JS integration

Is your problem within Z-Wave JS UI (formerly ZwaveJS2MQTT)?

NO, my problem is NOT within Z-Wave JS UI

Checklist

Describe the bug

What causes the bug? Include the ZEN25 into a Network whose Master Controller is NOT Node_1

What do you observe? Debug Log reports failure to assign Lifeline and Lifeline ends up on NODE_1

What did you expect to happen? Lifeline to be assigned to the Node hosting the Master Controller (in my case, NODE_46)

Device information

Manufacturer: ZOOZ Model name: ZEN25 Node ID in your network: ZEN25 on Node 85, with Master Controller on Node ID 46

How are you using node-zwave-js?

Which branches or versions?

version: node-zwave-js branch: 10.3.0 zwave-js-ui branch: 8.2.2

Did you change anything?

no

If yes, what did you change?

No response

Did this work before?

No, it never worked anywhere

If yes, where did it work?

No response

Attach Driver Logfile

zwavejs_2022-11-07.log

kaijk commented 1 year ago

Fixed the log file name. I couldn't get it to download from zwave-js-ui so I copied the log data into a new file.

kpine commented 1 year ago

Have you tried removing the existing lifeline associations, and then re-interviewing? According to the logs, Z-Wave JS is assigning node 46 when configuring the lifeline association at the very start, but later it looks as if the device was preset with a node 1 association, and there is a maximum limit of 1 node for that group. (If that's the case, the driver should remove the lifeline before assigning).

kaijk commented 1 year ago

Have you tried removing the existing lifeline associations, and then re-interviewing?

Yes, I have tried removing the Assn. However, the Association will not remove, either by selecting the Remove Action for the Assn itself, or by Selecting Remove All. I've also tried adding a second one hoping that it could then delete the first, but as you note, only one is allowed.

Here is the log for the attempted removal.

zwavejs_2022-11-07a.log

later it looks as if the device was preset with a node 1 association

Interesting that the Device may be "Preset" with Node 1. I have Reset the device any number of times and this is how it Includes every time.

kpine commented 1 year ago

Unless you want to wait for an official response (which may be delayed, see pinned issues), I would try Silicon Labs PC Controller software and see if you can manually configure the associations with that software. If that doesn't work, then that would point to it being a device problem.

Make sure you install your S2 keys into the PC Controller software, if you choose to do so.

kaijk commented 1 year ago

Thanks, I'm checking with ZOOZ about the Firmware's Lifeline initialization and its characteristics for this device. I can delete and re-add Lifeline Associations for other models of their devices, but not this one.

blhoward2 commented 1 year ago

All Zooz did was email us to ask us...

kaijk commented 1 year ago

I'm told that their engineers are looking into the issue.

On Fri, Nov 11, 2022 at 6:18 PM blhoward2 @.***> wrote:

All Zooz did was email us to ask us...

— Reply to this email directly, view it on GitHub https://github.com/zwave-js/node-zwave-js/issues/5196#issuecomment-1312320685, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL2THYRPNGJYVZO4CBATKZTWH347FANCNFSM6AAAAAARZMKOXI . You are receiving this because you were mentioned.Message ID: @.***>

AlCalzone commented 1 year ago

I'm pretty sure this is caused by a borked Supervision implementation:

2022-11-07T19:26:23.199Z DRIVER » [Node 085] [REQ] [SendDataBridge]
                                  │ source node id:   46
                                  │ transmit options: 0x25
                                  │ callback id:      50
                                  └─[Security2CCMessageEncapsulation]
                                    │ sequence number: 199
                                    │ extensions:
                                    │ · type: SPAN
                                    │   sender EI: 0x24eb60b24ced8d06f63dc479f2de21c4
                                    └─[SupervisionCCGet]
                                      │ session id:      29
                                      │ request updates: true
                                      └─[MultiChannelAssociationCCRemove]
                                          group id:  1
                                          node ids:
                                          endpoints: 1:0

success:
2022-11-07T19:26:23.337Z DRIVER « [Node 085] [REQ] [BridgeApplicationCommand]
                                  │ RSSI: -65 dBm
                                  └─[Security2CCMessageEncapsulation]
                                    │ sequence number: 232
                                    └─[SupervisionCCReport]
                                        session id:          29
                                        more updates follow: false
                                        status:              Success
                                        duration:            0s

but nothing actually happens when removing that association
2022-11-07T19:26:23.346Z DRIVER » [Node 085] [REQ] [SendDataBridge]
                                  │ source node id:   46
                                  │ transmit options: 0x25
                                  │ callback id:      51
                                  └─[Security2CCMessageEncapsulation]
                                    │ sequence number: 200
                                    └─[MultiChannelAssociationCCGet]
                                        group id: 1

2022-11-07T19:26:23.398Z DRIVER « [Node 085] [REQ] [BridgeApplicationCommand]
                                  │ RSSI: -65 dBm
                                  └─[Security2CCMessageEncapsulation]
                                    │ sequence number: 233
                                    └─[MultiChannelAssociationCCReport]
                                        group id:           1
                                        maximum # of nodes: 1
                                        node ids:
                                        endpoints:          1:0
AlCalzone commented 1 year ago

We could force-disable supervision for this device, but this isn't a good idea in general when S2 is involved. Supervision is necessary there to make the communication more reliable.

blhoward2 commented 1 year ago

I'm told that their engineers are looking into the issue.

They are not. They emailed @AlCalzone and me.

kaijk commented 1 year ago

The ZEN25 has now been discontinued. Firmware updates? Not without their looking into the issue. Maybe its easier to kill a product than to fix it. Interesting.

alvinchen1 commented 1 year ago

That sucks! I have a bunch of ZEN25s and I'm generally pretty happy with them. Sucks that they are discontinued.