S2: checkLifelineHealth -> ZWaveError: The node failed to decode the message. (ZW1405)
See original GitHub issueIs 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
-
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
Im not entirely sure where this lies:
- is the device simply not supporting a thing needed for lifeline checks (and maybe a more user freindly approach to be used)
- or is it an overlook driver side 😅
Back story:
@fabnavigator alerted me to an error that he is suddenly seeing in NR -> checkLifelineHealth.
specifically this error happens quite consistently with only devices enrolled in S2.
I decide to try this my self, and I received the same error. Some factors that may be useful.
- I don’t get the error on non secured devices
- The S2 device I did try is a FLiRS device
@fabnavigator, it will help us a lot if you can also provide a log of the error happening
Device information
My Test device: Ring Keypad Gen 1 (Node 32) https://devices.zwave-js.io/?jumpTo=0x0346:0x0101:0x0201:0.0
How are you using node-zwave-js?
-
zwave-js-ui(formerlyzwavejs2mqtt) Docker image (latest) -
zwave-js-ui(formerlyzwavejs2mqtt) Docker image (dev) -
zwave-js-ui(formerlyzwavejs2mqtt) Docker manually built (please specify branches) -
ioBroker.zwave2adapter (please specify version) -
HomeAssistant zwave_jsintegration (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?

Did you change anything?
no
If yes, what did you change?
No response
Did this work before?
Yes (please describe)
If yes, where did it work?
Previously I did get results - they were shockingly bad! given its a FLiRS device 😅 but I did at least get results instead of an exception.
Attach Driver Logfile
Check Begins here (1 round)
2022-09-26T15:51:50.326Z NDERED « [API: DriverAPI] [Method: checkLifelineHealth]
Fails here
2022-09-26T15:51:53.410Z NDERED [ERROR] [INPUT] The node failed to decode the message. (ZW1405)
Issue Analytics
- State:
- Created a year ago
- Comments:10 (5 by maintainers)
Top Related StackOverflow Question
Ok this one is a little bit different. 1 second after starting the healthcheck, the driver queries the node to update the status. At the same time the health check status is received, causing a collision, which causes the query to be re-transmitted, but now with the wrong/outdated SPAN. I’ve raised https://github.com/zwave-js/node-zwave-js/issues/5126 to track this. We can actually go a step further in this case, take a shortcut, and not re-transmit the query at all, since the received report is the expected response to it (accidentally): https://github.com/zwave-js/node-zwave-js/issues/5127
@marcus-j-davies Got it. I’m at v8 now. I kicked off my normal health check. If you don’t hear back from me, assume all is well.