node-zwave-js: Notifications from Vision Security ZD2105 not being parsed

Version

Build/Run method

  • Docker
  • PKG
  • Manually built (git clone - npm install - npm run build )

zwavejs2mqtt version: 1.2.3

Describe the bug I have Vision Security Recessed Door Window Sensor (ZD2105) that has command class 113 with 26-113-0-Access Control-Door state and 26-113-0-Home Security-Cover status. The mqtt payload for both of these have no value field. Here’s an example:

{
  "id": "26-113-0-Access Control-Door state",
  "nodeId": 26,
  "commandClass": 113,
  "commandClassName": "Notification",
  "endpoint": 0,
  "property": "Access Control",
  "propertyName": "Access Control",
  "propertyKey": "Door state",
  "type": "number",
  "readable": true,
  "writeable": false,
  "label": "Door state",
  "genre": "system",
  "min": 0,
  "max": 255,
  "list": true,
  "states": [
    {
      "text": "Window/door is open",
      "value": 22
    },
    {
      "text": "Window/door is closed",
      "value": 23
    }
  ],
  "lastUpdate": 1606856089699
}

Without the value it won’t report when the sensor is triggered.

Expected behavior The payload should have a value key/field that reports a value from the states list field. So in this case the value of the value field would be either 0, 22, or 23.

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 37 (36 by maintainers)

Most upvoted comments

Here’s the full log if it helps: zwave-1.log

BTW, i really like how readable the log is. The ozw log is so much harder to read 😄

looks like it’s reporting correctly now 😃

15:43:44.549 DRIVER « [Node 026] [REQ] [ApplicationCommand]
                      └─[BasicCCSet]
                          target value: 255
15:43:44.564 CNTRLR   [Node 026] treating BasicCC Set as a report
15:43:44.567 CNTRLR   [Node 026] [~] [Basic] currentValue: 0 => 255                     [Endpoint 0]
15:43:44.649 SERIAL « 0x01100004001a0a710506ff00ff0616000099                              (18 bytes)
15:43:44.654 SERIAL » [ACK]                                                                   (0x06)
15:43:44.660 DRIVER « [Node 026] [REQ] [ApplicationCommand]
                      └─[NotificationCCReport]
                          notification type:   Access Control
                          notification status: 255
                          notification state:  Window/door is open
15:43:44.673 CNTRLR   [Node 026] [+] [Notification] Access Control[Door state]: 22      [Endpoint 0]
15:43:52.252 SERIAL « 0x01090004001a03200100ca                                            (11 bytes)
15:43:52.255 SERIAL » [ACK]                                                                   (0x06)
15:43:52.260 DRIVER « [Node 026] [REQ] [ApplicationCommand]
                      └─[BasicCCSet]
                          target value: 0
15:43:52.268 CNTRLR   [Node 026] treating BasicCC Set as a report
15:43:52.270 CNTRLR   [Node 026] [~] [Basic] currentValue: 255 => 0                     [Endpoint 0]
15:43:52.361 SERIAL « 0x01100004001a0a7105060000ff0617000067                              (18 bytes)
15:43:52.365 SERIAL » [ACK]                                                                   (0x06)
15:43:52.370 DRIVER « [Node 026] [REQ] [ApplicationCommand]
                      └─[NotificationCCReport]
                          notification type:   Access Control
                          notification status: 255
                          notification state:  Window/door is closed
15:43:52.380 CNTRLR   [Node 026] [~] [Notification] Access Control[Door state]: 22 => 2 [Endpoint 0]

also, the mqtt payload now has a value key:

{
  "id": "26-113-0-Access Control-Door state",
  "nodeId": 26,
  "commandClass": 113,
  "commandClassName": "Notification",
  "endpoint": 0,
  "property": "Access Control",
  "propertyName": "Access Control",
  "propertyKey": "Door state",
  "type": "number",
  "readable": true,
  "writeable": false,
  "label": "Door state",
  "genre": "system",
  "min": 0,
  "max": 255,
  "list": true,
  "states": [
    {
      "text": "Window/door is open",
      "value": 22
    },
    {
      "text": "Window/door is closed",
      "value": 23
    }
  ],
  "value": 23,
  "lastUpdate": 1607125432381
}

So, things are looking good from the zjs side. On the zjs2m side the dashboard only shows the currentValue and targetValue and it doesn’t show the Notification CC values. Also the hass discovery isn’t creating a sensor for the door. I’ll open an issue on zjs2m for that.

Thanks so much for your help 😃

Cool, that’s something I can work with.

@chilicheech Yep seems ozw is mapping basic reports to notifications

Ok, I do see the Basic CC being reported in the dashboard as 26-32-0-currentValue. I’m finally starting to understand how to read the logs and values. I think the issue now is on the zjs2m side to get the hass discovery fixed for that device.

Thanks so much for your help 😄