node-zwave-js: ConfigurationCCBulkGet causes error when reading non-existant parameter
Discussed in https://github.com/zwave-js/node-zwave-js/discussions/6560
<div type='discussions-op-text'>Originally posted by @ackjewtn December 18, 2023
Checklist
-
I have read and followed the above instructions
-
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 or the fix did not work.
Describe the issue
What is happening? After doing a firmware upgrade of a Z-Temp2 device, it’s stuck on “NodeInfo” when re-interviewing.
Upgrading from FW: v1.2.0 SDK: v7.11.1
To: FW: v1.2.1 SDK: v7.17.2
What did you expect to happen instead? The device would get fully interviewed and work as usual.
Steps to reproduce the behavior:
- Upgrade the thermostat
- Re-interview starts and gets stuck on NodeInfo
- Take a look at the logs and see the error.
Anything else we should know?
After enabling debug logs, i see that Z-wave JS tries to get a parameter (#256
), which according to Thermo-floor support, isn’t supported by the device.
2023-12-18T09:54:07.245Z CNTRLR [Node 091] [+] [Configuration] 15: 0 [Endpoint 0]
2023-12-18T09:54:07.252Z DRIVER « [Node 091] [REQ] [BridgeApplicationCommand]
│ RSSI: -89 dBm
└─[ConfigurationCCReport]
parameter #: 15
value size: 2
value: 0
2023-12-18T09:54:07.253Z CNTRLR » [Node 091] querying parameter #256 value...
2023-12-18T09:54:07.266Z SERIAL » 0x011300a90001005b0570080100012500000000b4f3 (21 bytes)
2023-12-18T09:54:07.267Z DRIVER » [Node 091] [REQ] [SendDataBridge]
│ source node id: 1
│ transmit options: 0x25
│ callback id: 180
└─[ConfigurationCCBulkGet]
parameters: 256
2023-12-18T09:54:07.281Z SERIAL « [ACK] (0x06)
2023-12-18T09:54:07.284Z SERIAL « 0x010401a90152 (6 bytes)
2023-12-18T09:54:07.284Z SERIAL » [ACK] (0x06)
2023-12-18T09:54:07.299Z DRIVER « [RES] [SendDataBridge]
was sent: true
2023-12-18T09:54:07.312Z SERIAL « 0x011d00a9b400000100a67f7f7f7f01010300000000020100007f7f7f7f7f27 (31 bytes)
2023-12-18T09:54:07.313Z SERIAL » [ACK] (0x06)
2023-12-18T09:54:07.315Z DRIVER « [REQ] [SendDataBridge]
callback id: 180
transmit status: OK, took 10 ms
routing attempts: 1
protocol & route speed: Z-Wave, 40 kbit/s
routing scheme: LWR
ACK RSSI: -90 dBm
ACK channel no.: 1
TX channel no.: 1
2023-12-18T09:54:07.324Z SERIAL « 0x011100a8000001005b0322020000a6007f7f99 (19 bytes)
2023-12-18T09:54:07.327Z DRIVER Dropping message because it could not be deserialized: The command class Appli
cation Status is not implemented (ZW0303)
2023-12-18T09:54:07.328Z SERIAL » [ACK] (0x06)
2023-12-18T09:54:08.378Z CNTRLR [Node 091] Timed out while waiting for a response from the node (ZW0201)
2023-12-15T12:34:13.312Z CNTRLR » [Node 091] querying parameter #256 value...
2023-12-15T12:34:13.371Z DRIVER Dropping message because it could not be deserialized: The command class Application Status is not implemented (ZW0303)
2023-12-15T12:34:14.413Z CNTRLR [Node 091] Timed out while waiting for a response from the node (ZW0201)
2023-12-15 13:34:14.427 ERROR APP: Unhandled Rejection, reason: TypeError: Cannot read properties of undefined (reading 'get')
TypeError: Cannot read properties of undefined (reading 'get')
at /opt/node_modules/@zwave-js/cc/src/cc/ConfigurationCC.ts:639:23
at Array.map (<anonymous>)
at Proxy.getBulk (/opt/node_modules/@zwave-js/cc/src/cc/ConfigurationCC.ts:638:18)
at Proxy.get (/opt/node_modules/@zwave-js/cc/src/cc/ConfigurationCC.ts:513:19)
at ConfigurationCC.refreshValues (/opt/node_modules/@zwave-js/cc/src/cc/ConfigurationCC.ts:1276:6)
at ConfigurationCC.interview (/opt/node_modules/@zwave-js/cc/src/cc/ConfigurationCC.ts:1191:3)
at interviewEndpoint (/opt/node_modules/zwave-js/src/lib/node/Node.ts:2159:5)
at ZWaveNode.interviewCCs (/opt/node_modules/zwave-js/src/lib/node/Node.ts:2688:19)
at ZWaveNode.interviewInternal (/opt/node_modules/zwave-js/src/lib/node/Node.ts:1818:9)
at Driver.interviewNodeInternal (/opt/node_modules/zwave-js/src/lib/driver/Driver.ts:1664:10)
Software versions
Driver (node-zwave-js): v12.3.0
Z-Wave JS UI: v9.3.2
Home Assistant Z-Wave Integration: WS Server
Home Assistant Z-Wave JS Addon: v3.0.2
ioBroker.zwave2 Adapter: Aeotec 700 Series v7.19.2
If you are using something non-standard, tell us here: …
Device information
Manufacturer: Heatit
Model name: Z-Temp2
Node ID: 091
and 051
Checklist
-
I made sure to provide a driver log on level debug.
-
The log includes a re-interview of the problematic device (if applicable).
-
The log includes the problematic interaction with the device (if applicable).
-
I provided the node ID of the problematic device (if applicable).
Upload Logfile
</div>About this issue
- Original URL
- State: closed
- Created 6 months ago
- Comments: 19 (7 by maintainers)
Like, that’s not going to push me to buy from them.
Plus, winter is over, the thermostat won’t be as useful to me.
That’s correct. Like I stated here, the device responds with parameter 256 (0x0100) when asked for parameter 1 (0x0001).