zwave-js / zwave-js-ui

Full featured Z-Wave Control Panel UI and MQTT gateway. Built using Nodejs, and Vue/Vuetify
https://zwave-js.github.io/zwave-js-ui
MIT License
982 stars 202 forks source link

[Bug]: zwavejs2mqtt crashes on Zooz ZEN16 v1.04 interview #2182

Closed justindthomas closed 2 years ago

justindthomas commented 2 years ago

Checklist

Deploy method

Manually built (git clone - yarn build - yarn install

Zwavejs2Mqtt version

6.3.0.6917eb4

ZwaveJS version

8.10.1

Describe the bug

I'm upgrading the firmware on my devices throughout my house and bumped one of my Zooz ZEN16 Multirelays to v1.04 of their firmware. Full disclosure that I thought I had killed it (it stopped responding after the upgrade) but Zooz support asked me to factory reset and see if I could re-include it. That did seem to work.

But the interview process crashed zwavejs2mqtt with the following message in the console display:

This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
TypeError: Cannot read properties of undefined (reading 'getCCVersion')
    at ZwaveClient._updateValueMetadata (/home/ubuntu/code/zwavejs2mqtt/server/lib/ZwaveClient.js:2347:17)
    at ZwaveClient._parseValue (/home/ubuntu/code/zwavejs2mqtt/server/lib/ZwaveClient.js:2420:30)
    at ZwaveClient._onNodeMetadataUpdated (/home/ubuntu/code/zwavejs2mqtt/server/lib/ZwaveClient.js:2097:30)
    at ZWaveNode.emit (node:events:390:28)
    at ZWaveNode.emit (node:domain:475:12)
    at ZWaveNode.translateValueEvent (/home/ubuntu/code/zwavejs2mqtt/node_modules/zwave-js/src/lib/node/Node.ts:397:8)
    at ValueDB.emit (node:events:390:28)
    at ValueDB.emit (node:domain:475:12)
    at ValueDB.setMetadata (/home/ubuntu/code/zwavejs2mqtt/node_modules/@zwave-js/core/src/values/ValueDB.ts:414:9)
    at ConfigurationCC.extendParamInformation (/home/ubuntu/code/zwavejs2mqtt/node_modules/zwave-js/src/lib/commandclass/ConfigurationCC.ts:1168:11)

I now can't start zwavejs2mqtt with the ZEN16 live - the interview process consistently crashes the server with that message. I'm attaching the debug logs starting at the first mention of the new node (Node 095).

zen16.log.gz

To Reproduce

Upgrade ZEN16 to v1.04 and attempt to include/interview it.

Expected behavior

The node should be included and the configuration data populated.

Additional context

I'm running zwavejs2mqtt bare metal on a Raspberry Pi 4 with 8GB of RAM. I'm running the current master branch.

justindthomas commented 2 years ago

Oops. I think this is related to https://github.com/zwave-js/zwavejs2mqtt/issues/2162 that was closed out yesterday. Rebuilding and will reopen if I continue to have trouble.