node-zwave-js icon indicating copy to clipboard operation
node-zwave-js copied to clipboard

Do not skip Security (2) CC interview when Version CC is not supported

Open AlCalzone opened this issue 4 months ago • 2 comments

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.

AlCalzone avatar Aug 20 '25 19:08 AlCalzone

I cannot reproduce in an integration test. This issue is possibly only related to secondary controller mode.

AlCalzone avatar Sep 18 '25 11:09 AlCalzone

https://github.com/zwave-js/zwave-js/discussions/8205 lists another example of this happening, this time with a primary controller.

AlCalzone avatar Oct 01 '25 13:10 AlCalzone