node-zwave-js
node-zwave-js copied to clipboard
Do not skip Security (2) CC interview when Version CC is not supported
This is the entirety of an interview where Version CC was not listed as supported:
2025-08-20 10:49:26.440 CNTRLR [Node 048] Beginning interview - last completed stage: None
2025-08-20 10:49:26.441 CNTRLR [Node 048] new node, doing a full interview...
2025-08-20 10:49:26.444 CNTRLR » [Node 048] querying protocol info...
2025-08-20 10:49:26.446 DRIVER one or more queues busy
2025-08-20 10:49:26.447 DRIVER » [REQ] [GetNodeProtocolInfo]
2025-08-20 10:49:26.447 SERIAL » 0x0105004100308b (7 bytes)
2025-08-20 10:49:26.455 SERIAL « [ACK] (0x06)
2025-08-20 10:49:26.456 SERIAL « 0x010a0141d39c0104030100fd (12 bytes)
2025-08-20 10:49:26.459 SERIAL » [ACK] (0x06)
2025-08-20 10:49:26.461 DRIVER « [RES] [GetNodeProtocolInfo]
2025-08-20 10:49:26.464 CNTRLR « [Node 048] received response for protocol info:
basic device class: Routing End Node
generic device class: AV Control Point
specific device class: Sound Switch
node type: End Node
is always listening: true
is frequent listening: false
can route messages: true
supports security: false
supports beaming: true
maximum data rate: 100000 kbps
protocol version: 3
2025-08-20 10:49:26.468 CNTRLR [Node 048] Interview stage completed: ProtocolInfo
2025-08-20 10:49:26.468 CNTRLR » [Node 048] pinging the node...
2025-08-20 10:49:26.472 DRIVER » [Node 048] [REQ] [SendDataBridge]
│ source node id: 44
│ transmit options: 0x01
│ callback id: 120
└─[NoOperationCC]
2025-08-20 10:49:26.473 SERIAL » 0x010f00a9002c003001000100000000783d (17 bytes)
2025-08-20 10:49:26.484 SERIAL « [ACK] (0x06)
2025-08-20 10:49:26.485 SERIAL « 0x010401a90152 (6 bytes)
2025-08-20 10:49:26.487 SERIAL » [ACK] (0x06)
2025-08-20 10:49:26.489 DRIVER « [RES] [SendDataBridge]
was sent: true
2025-08-20 10:49:26.521 SERIAL « 0x011d00a97800000301b77f7f7f7f0000030c000000030100007f7f7f7f7ff4 (31 bytes)
2025-08-20 10:49:26.524 SERIAL » [ACK] (0x06)
2025-08-20 10:49:26.526 DRIVER « [REQ] [SendDataBridge]
callback id: 120
transmit status: OK, took 30 ms
repeater node IDs: 12
routing attempts: 1
protocol & route speed: Z-Wave, 100 kbit/s
routing scheme: LWR
ACK RSSI: -73 dBm
ACK RSSI on repeaters: N/A
ACK channel no.: 0
TX channel no.: 0
2025-08-20 10:49:26.530 CNTRLR [Node 048] The node is alive.
2025-08-20 10:49:26.534 CNTRLR « [Node 048] ping successful
2025-08-20 10:49:26.535 CNTRLR » [Node 048] querying node info...
2025-08-20 10:49:26.539 DRIVER » [Node 048] [REQ] [RequestNodeInfo]
node id: 48
2025-08-20 10:49:26.540 SERIAL » 0x010500600030aa (7 bytes)
2025-08-20 10:49:26.549 SERIAL « [ACK] (0x06)
2025-08-20 10:49:26.551 SERIAL « 0x01040160019b (6 bytes)
2025-08-20 10:49:26.553 SERIAL » [ACK] (0x06)
2025-08-20 10:49:26.555 DRIVER « [RES] [RequestNodeInfo]
was sent: true
2025-08-20 10:49:26.668 SERIAL « 0x01100049840030090403015e55989f6c720f (18 bytes)
2025-08-20 10:49:26.670 SERIAL » [ACK] (0x06)
2025-08-20 10:49:26.672 DRIVER « [Node 048] [REQ] [ApplicationUpdateRequest]
2025-08-20 10:49:26.673 CNTRLR « [Node 048] node info received
supported CCs:
· Z-Wave Plus Info
· Transport Service
· Security
· Security 2
· Supervision
· Manufacturer Specific
2025-08-20 10:49:26.674 CNTRLR « [Node 048] node info received
supported CCs:
· Z-Wave Plus Info
· Transport Service
· Security
· Security 2
· Supervision
· Manufacturer Specific
2025-08-20 10:49:26.678 CNTRLR [Node 048] Interview stage completed: NodeInfo
2025-08-20 10:49:26.680 CNTRLR [Node 048] Interviewing Manufacturer Specific...
2025-08-20 10:49:26.680 CNTRLR » [Node 048] querying manufacturer information...
2025-08-20 10:49:26.685 DRIVER » [Node 048] [REQ] [SendDataBridge]
│ source node id: 44
│ transmit options: 0x25
│ callback id: 121
└─[ManufacturerSpecificCCGet]
2025-08-20 10:49:26.686 SERIAL » 0x011000a9002c003002720425000000007972 (18 bytes)
2025-08-20 10:49:26.697 SERIAL « [ACK] (0x06)
2025-08-20 10:49:26.699 SERIAL « 0x010401a90152 (6 bytes)
2025-08-20 10:49:26.701 SERIAL » [ACK] (0x06)
2025-08-20 10:49:26.702 DRIVER « [RES] [SendDataBridge]
was sent: true
2025-08-20 10:49:26.737 SERIAL « 0x011d00a97900000301b77f7f7f7f0000030c000000030100007f7f7f7f7ff5 (31 bytes)
2025-08-20 10:49:26.739 SERIAL » [ACK] (0x06)
2025-08-20 10:49:26.740 DRIVER « [REQ] [SendDataBridge]
callback id: 121
transmit status: OK, took 30 ms
repeater node IDs: 12
routing attempts: 1
protocol & route speed: Z-Wave, 100 kbit/s
routing scheme: LWR
ACK RSSI: -73 dBm
ACK RSSI on repeaters: N/A
ACK channel no.: 0
TX channel no.: 0
2025-08-20 10:49:26.806 SERIAL « 0x011600a800002c00300872050371010300a400b7007f7f41 (24 bytes)
2025-08-20 10:49:26.809 SERIAL » [ACK] (0x06)
2025-08-20 10:49:26.812 CNTRLR [Node 048] [Manufacturer Specific] productId: metadata updated [Endpoint 0]
2025-08-20 10:49:26.815 CNTRLR [Node 048] [+] [Manufacturer Specific] productId: 164 [Endpoint 0]
2025-08-20 10:49:26.817 CNTRLR [Node 048] [Manufacturer Specific] productType: metadata updated [Endpoint 0]
2025-08-20 10:49:26.819 CNTRLR [Node 048] [+] [Manufacturer Specific] productType: 259 [Endpoint 0]
2025-08-20 10:49:26.822 CNTRLR [Node 048] [Manufacturer Specific] manufacturerId: metadata updat [Endpoint 0]
ed
2025-08-20 10:49:26.824 CNTRLR [Node 048] [+] [Manufacturer Specific] manufacturerId: 881 [Endpoint 0]
2025-08-20 10:49:26.827 DRIVER « [Node 048] [REQ] [BridgeApplicationCommand]
│ RSSI: -73 dBm
└─[ManufacturerSpecificCCReport]
manufacturer id: 0x0371
product type: 0x0103
product id: 0xa4
2025-08-20 10:49:26.828 CNTRLR « [Node 048] received response for manufacturer information:
manufacturer: Aeotec Ltd. (0x0371)
product type: 0x0103
product id: 0xa4
2025-08-20 10:49:26.829 CNTRLR [Node 048] [+] [Manufacturer Specific] interviewComple [Endpoint 0] [internal]
te: true
2025-08-20 10:49:26.830 CNTRLR [Node 048] Version CC is not supported. Using the highest implemented version
for each CC
2025-08-20 10:49:26.833 CNTRLR [Node 048] Interviewing Z-Wave Plus Info...
2025-08-20 10:49:26.833 CNTRLR » [Node 048] querying Z-Wave+ information...
2025-08-20 10:49:26.837 DRIVER » [Node 048] [REQ] [SendDataBridge]
│ source node id: 44
│ transmit options: 0x25
│ callback id: 122
└─[ZWavePlusCCGet]
2025-08-20 10:49:26.838 SERIAL » 0x011000a9002c0030025e0125000000007a58 (18 bytes)
2025-08-20 10:49:26.850 SERIAL « [ACK] (0x06)
2025-08-20 10:49:26.851 SERIAL « 0x010401a90152 (6 bytes)
2025-08-20 10:49:26.853 SERIAL » [ACK] (0x06)
2025-08-20 10:49:26.854 DRIVER « [RES] [SendDataBridge]
was sent: true
2025-08-20 10:49:26.891 SERIAL « 0x011d00a97a00000301b77f7f7f7f0000030c000000030100007f7f7f7f7ff6 (31 bytes)
2025-08-20 10:49:26.893 SERIAL » [ACK] (0x06)
2025-08-20 10:49:26.895 DRIVER « [REQ] [SendDataBridge]
callback id: 122
transmit status: OK, took 30 ms
repeater node IDs: 12
routing attempts: 1
protocol & route speed: Z-Wave, 100 kbit/s
routing scheme: LWR
ACK RSSI: -73 dBm
ACK RSSI on repeaters: N/A
ACK channel no.: 0
TX channel no.: 0
2025-08-20 10:49:26.966 SERIAL « 0x011700a800002c0030095e020105002200220000b7007f7fba (25 bytes)
2025-08-20 10:49:26.969 SERIAL » [ACK] (0x06)
2025-08-20 10:49:26.971 CNTRLR [Node 048] [+] [Z-Wave Plus Info] userIcon: 8704 [Endpoint 0] [internal]
2025-08-20 10:49:26.972 CNTRLR [Node 048] [+] [Z-Wave Plus Info] installerIcon: 8704 [Endpoint 0] [internal]
2025-08-20 10:49:26.973 CNTRLR [Node 048] [+] [Z-Wave Plus Info] roleType: 5 [Endpoint 0] [internal]
2025-08-20 10:49:26.974 CNTRLR [Node 048] [+] [Z-Wave Plus Info] nodeType: 0 [Endpoint 0] [internal]
2025-08-20 10:49:26.974 CNTRLR [Node 048] [+] [Z-Wave Plus Info] zwavePlusVersion: 1 [Endpoint 0] [internal]
2025-08-20 10:49:26.976 DRIVER « [Node 048] [REQ] [BridgeApplicationCommand]
│ RSSI: -73 dBm
└─[ZWavePlusCCReport]
version: 1
node type: Node
role type: AlwaysOnSlave
icon (mgmt.): 0x2200
icon (user): 0x2200
2025-08-20 10:49:26.977 CNTRLR « [Node 048] received response for Z-Wave+ information:
Z-Wave+ version: 1
role type: AlwaysOnSlave
node type: Node
installer icon: 0x2200
user icon: 0x2200
2025-08-20 10:49:26.978 CNTRLR [Node 048] [+] [Z-Wave Plus Info] interviewComplete: t [Endpoint 0] [internal]
rue
2025-08-20 10:49:26.982 CNTRLR [Node 048] Interview stage completed: CommandClasses
2025-08-20 10:49:26.985 CNTRLR [Node 048] Interview stage completed: OverwriteConfig
2025-08-20 10:49:26.988 CNTRLR [Node 048] Interview completed
This seems wrong - Z-Wave JS should still attempt to interview Security CC and Security 2 CC with the highest implemented version.
I cannot reproduce in an integration test. This issue is possibly only related to secondary controller mode.
https://github.com/zwave-js/zwave-js/discussions/8205 lists another example of this happening, this time with a primary controller.