node-zwave-js: Touchscreen Deadbolt Z-Wave Plus no longer reports Keypad unlock notifcations
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 ZWaveJS2MQTT?
NO, my problem is NOT within ZWaveJS2MQTT
Checklist
-
I have checked the troubleshooting section and my problem is not described there.
-
I have read the changelog and my problem was not mentioned there.
Describe the bug
What causes the bug? Unclear
What do you observe? Unlocking the lock through the keypad does not trigger a keypad unlock notification event.
What did you expect to happen? A keypad unlock operation being logged under events.
Steps to reproduce the behavior:
- Go to the Touchscreen Deadbolt Z-Wave Plus device in device list
- Click on Events
- Lock and unlock the device manually, lock and then unlock the device through the keypad
- See that manual lock, manual unlock and keypad lock notifications are logged as events, but no keypad unlock event
Device information
Manufacturer: Allegion Model name: Touchscreen Deadbolt Z-Wave Plus BE469ZP Node ID in your network: 7
How are you using node-zwave-js
?
-
zwavejs2mqtt
Docker image (latest) -
zwavejs2mqtt
Docker image (dev) -
zwavejs2mqtt
Docker manually built (please specify branches) -
ioBroker.zwave2
adapter (please specify version) -
HomeAssistant zwave_js
integration (please specify version) -
pkg
-
node-red-contrib-zwave-js
(please specify version, double click node to find out) - Manually built from GitHub (please specify branch)
- Other (please describe)
Which branches or versions?
zwavejs2mqtt: 6.15.1 zwave-js: 9.6.2 home id: 4169456423 home hex: 0xf884db27
Did you change anything?
yes (please describe)
If yes, what did you change?
My lock used to emit this event. I recently updated the docker image. I am not sure if the breakage already occurred before the update or with the update. I only noticed it after the update.
Did this work before?
Yes (please describe)
If yes, where did it work?
See above.
Attach Driver Logfile
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 32 (16 by maintainers)
Now that’s what you quoted before. The device doesn’t support Supervision for setting Associations. But the latest version should detect this and retry without supervision automatically now.
Your current seems to be something else entirely, pretty likely https://github.com/zwave-js/node-zwave-js/issues/4918:
At some (early) point during the interview, the lock suddenly stops responding to queries. We get the list of securely supported CCs (so it understands the encrypted commands):
but when trying to identify the lock itself next, it simply does not respond. It does ACK the command though:
After that I don’t see a single response from the lock, despite it acknowledging every single command. You can try the workaround in the linked issue of upping the response timeout. Sadly this isn’t something we can work around with a device-specific compat flag, since the device isn’t even identified before the issue happens.
Now that branch is merged on master so you can use
master
tagWhat about tell him to try using
test
docker tag?Not yet. v10 has additional logging to diagnose though.
Just for reference, this is how it looks with my lock and the new logging:
Sure thing: Here’s the line that causes the door lock value change: https://github.com/zwave-js/node-zwave-js/blob/087d8b7759ae44296224c490f923c68d1dcc3ca9/packages/zwave-js/src/lib/node/Node.ts#L3028-L3029
This also means that the notification type is 0x06 and the notification event is one of 0x02, 0x04 or 0x06 (since the door lock status changes to unlocked).
This also means (unless your configuration files are completely messed up) that
notificationConfig
contains the parsed representation of https://github.com/zwave-js/node-zwave-js/blob/087d8b7759ae44296224c490f923c68d1dcc3ca9/packages/config/config/notifications.json#L383-L384 and thatvalueConfig
contains the parsed representation of one of these events: https://github.com/zwave-js/node-zwave-js/blob/087d8b7759ae44296224c490f923c68d1dcc3ca9/packages/config/config/notifications.json#L555-L562 Which means theelse
branch must be taken here: https://github.com/zwave-js/node-zwave-js/blob/087d8b7759ae44296224c490f923c68d1dcc3ca9/packages/zwave-js/src/lib/node/Node.ts#L3036-L3045I’m also going to add logging for notification events so this is no longer a guessing game: https://github.com/zwave-js/node-zwave-js/pull/4948
Unless we figure out whats going on, you can redo the tests as soon as HA has updated to node-zwave-js v10. Then we should know for sure if the driver emits an event or not.