Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug] Configuration params inputs #1758

Closed
3 tasks
luzik opened this issue Sep 27, 2021 · 14 comments
Closed
3 tasks

[bug] Configuration params inputs #1758

luzik opened this issue Sep 27, 2021 · 14 comments
Assignees
Labels
bug Something isn't working

Comments

@luzik
Copy link

luzik commented Sep 27, 2021

Version

Build/Run method

  • [ x] Docker
  • PKG
  • Snap package
  • Manually built (git clone - yarn install - yarn run build )

Zwavejs2Mqtt version: 5.7.0
Z-Wave JS version: 8.4.0

Describe the bug

Using this device as reference I found that:

  1. I do believe that negative values are not supported well. Param 7 and 8 can be set from -120 to 120 (this is calibration value and have "unsigned": false param set. When I set -20 it is reporting that 0 is set.

  2. html input elements are quite a mess. I totally do no understand why there is 'custom' chip, and select element in input where should be only input type=number

  3. input type="numer" do have their min max step params. Make use of it. Those params are on device conf file

  4. Unit is confusing. When I can set humidity calibration value from -12% to 12% with 0.1% step I should be able write 0.6%. And vue should translate it to 60. Now I have to enter '60'

@luzik luzik added the bug Something isn't working label Sep 27, 2021
@robertsLando
Copy link
Member

robertsLando commented Sep 28, 2021

I do believe that negative values are not supported well. Param 7 and 8 can be set from -120 to 120 (this is calibration value and have "unsigned": false param set. When I set -20 it is reporting that 0 is set.

Humm strange, when you send -20 do you see a log in console that says -20 is received? It could be that the device is refusing the value and so it reports 0. Needs logs

html input elements are quite a mess. I totally do no understand why there is 'custom' chip, and select element in input where should be only input type=number

The custom chip is there because them have a list of supported values and allowManualEntry option is true, in this case the input used is a combobox, it allows you to send custom values but also suggest you a list of predefined values to send. When you send a custom value it will create a chip with custom

input type="numer" do have their min max step params. Make use of it. Those params are on device conf file

Them are set, check here. If you are interested to check the logic used to render inputs check them here: https://github.com/zwave-js/zwavejs2mqtt/blob/master/src/components/ValueId.vue

Unit is confusing. When I can set humidity calibration value from -12% to 12% with 0.1% step I should be able write 0.6%. And vue should translate it to 60. Now I have to enter '60'

I don't understand what you mean here. If unit is % the value to insert will be from 0-100% 😕

@luzik
Copy link
Author

luzik commented Sep 28, 2021

  1. In log there was -20 as send, but 0 while read configuration. I will check it again and send logs.

2-3. Ok, but number of supported values is always one, so there is no point to use v-combobox with integer, it is not any kind of list. Maybe I do not understand something right. Looking at ValueId.vue component it would be ok if it jump into v-if="!value.list && value.type === 'number'". Why does

"8": {
	"label": "Humidity Offset Value",
	"valueSize": 1,
	"unit": "0.1 %",
	"minValue": -120,
	"maxValue": 120,
	"defaultValue": 0,
	"unsigned": false
},

generates value.list && value.allowManualEntry ? ..maybe this is the right question

  1. Ahg there was mistake in my calc. Let write it again!
    As You can see in param 8 I can calibrate humidity offset from -12% to 12% with step 0.1%. To do so, I have to send integer from -120 to 120.

If user want to change offset to plus 6% he have to enter value 6 ( as using % units) or 60 ( as using integers )?

@robertsLando
Copy link
Member

Ok, but number of supported values is always one, so there is no point to use v-combobox with integer, it is not any kind of list

Could you send me a dump of that node? I would like to see the valueIds array to check the props

If user want to change offset to plus 6% he have to enter value 6 ( as using % units) or 60 ( as using integers )?

This really depends on your device, I mean what you see there is what I receive from zwavejs that is declared in zwavejs devices config database, it could be that there is a typo in docs and maybe they have set the unit to % but the input value is in decimals (or viceversa). To fix that just write here the device id and @blhoward2 or @AlCalzone could give it a check

@AlCalzone
Copy link
Member

4\. Unit is confusing. When I can set humidity calibration value from -12% to 12% with 0.1% step I should be able write 0.6%. And vue should translate it to 60. Now I have to enter '60'

Our config files merely mirror what the devices expect. A lot devices have config params like this where a value of 60 means 6%, so we added a multiplier into the unit string to at least show this somewhere. I'm not very happy about it, but there are more important issues at the moment.

If you can't wait, feel free to provide a PR to https://github.com/zwave-js/node-zwave-js adding support for a proper multiplier field in config params. Keep in mind that this change needs to be done in a way that doesn't require users to re-interview all affected devices after an update.

@luzik
Copy link
Author

luzik commented Sep 28, 2021

Ad.1 There is error in device documentation. I will send fix for it. I was trying set -20 to param that do not support negative values, due to this bug in doc. Never mind, and sorry for taking time on that.

Ad.4 Thank You for explanation. I did not consider that such change can affect existing inconsistent config files.

Ad.2-3

While You look at this please also help me understand why device is have security set to None, while documentation says that this device use 700chip and support
SECURITY_KEY_S0 - YES
SECURITY_KEY_S2_UNAUTHENTICATED - YES
SECURITY_KEY_S2_AUTHENTICATED - YES
SECURITY_KEY_S2_ACCESS - NO
Or should I create new issue on node-zwave-js ?

{
  "id": 3,
  "name": "oko-sandra",
  "loc": "sandra",
  "values": [
    {
      "id": "3-132-0-wakeUpInterval",
      "nodeId": 3,
      "commandClass": 132,
      "commandClassName": "Wake Up",
      "endpoint": 0,
      "property": "wakeUpInterval",
      "propertyName": "wakeUpInterval",
      "type": "number",
      "readable": false,
      "writeable": true,
      "label": "Wake Up interval",
      "default": 43200,
      "stateless": false,
      "min": 20,
      "max": 86400,
      "step": 1,
      "list": false,
      "value": 0,
      "newValue": 0
    },
    {
      "id": "3-132-0-controllerNodeId",
      "nodeId": 3,
      "commandClass": 132,
      "commandClassName": "Wake Up",
      "endpoint": 0,
      "property": "controllerNodeId",
      "propertyName": "controllerNodeId",
      "type": "any",
      "readable": true,
      "writeable": false,
      "label": "Node ID of the controller",
      "stateless": false,
      "list": false,
      "value": 1,
      "lastUpdate": 1632752478871,
      "newValue": 1
    },
    {
      "id": "3-134-0-libraryType",
      "nodeId": 3,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "libraryType",
      "propertyName": "libraryType",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Library type",
      "stateless": false,
      "list": true,
      "states": [
        {
          "text": "Unknown",
          "value": 0
        },
        {
          "text": "Static Controller",
          "value": 1
        },
        {
          "text": "Controller",
          "value": 2
        },
        {
          "text": "Enhanced Slave",
          "value": 3
        },
        {
          "text": "Slave",
          "value": 4
        },
        {
          "text": "Installer",
          "value": 5
        },
        {
          "text": "Routing Slave",
          "value": 6
        },
        {
          "text": "Bridge Controller",
          "value": 7
        },
        {
          "text": "Device under Test",
          "value": 8
        },
        {
          "text": "N/A",
          "value": 9
        },
        {
          "text": "AV Remote",
          "value": 10
        },
        {
          "text": "AV Device",
          "value": 11
        }
      ],
      "value": 3,
      "newValue": 3
    },
    {
      "id": "3-134-0-protocolVersion",
      "nodeId": 3,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "protocolVersion",
      "propertyName": "protocolVersion",
      "type": "string",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave protocol version",
      "stateless": false,
      "list": false,
      "value": "7.13",
      "newValue": "7.13"
    },
    {
      "id": "3-134-0-firmwareVersions",
      "nodeId": 3,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "firmwareVersions",
      "propertyName": "firmwareVersions",
      "type": "string[]",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave chip firmware versions",
      "stateless": false,
      "list": false,
      "value": [
        "2.6"
      ],
      "lastUpdate": 1632752478875,
      "newValue": [
        "2.6"
      ]
    },
    {
      "id": "3-134-0-hardwareVersion",
      "nodeId": 3,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "hardwareVersion",
      "propertyName": "hardwareVersion",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave chip hardware version",
      "stateless": false,
      "list": false,
      "value": 1,
      "newValue": 1
    },
    {
      "id": "3-134-0-sdkVersion",
      "nodeId": 3,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "sdkVersion",
      "propertyName": "sdkVersion",
      "type": "string",
      "readable": true,
      "writeable": false,
      "label": "SDK version",
      "stateless": false,
      "list": false,
      "value": "7.13.8",
      "newValue": "7.13.8"
    },
    {
      "id": "3-134-0-applicationFrameworkAPIVersion",
      "nodeId": 3,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "applicationFrameworkAPIVersion",
      "propertyName": "applicationFrameworkAPIVersion",
      "type": "string",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave application framework API version",
      "stateless": false,
      "list": false,
      "value": "10.13.8",
      "newValue": "10.13.8"
    },
    {
      "id": "3-134-0-applicationFrameworkBuildNumber",
      "nodeId": 3,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "applicationFrameworkBuildNumber",
      "propertyName": "applicationFrameworkBuildNumber",
      "type": "string",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave application framework API build number",
      "stateless": false,
      "list": false,
      "value": 373,
      "newValue": 373
    },
    {
      "id": "3-134-0-hostInterfaceVersion",
      "nodeId": 3,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "hostInterfaceVersion",
      "propertyName": "hostInterfaceVersion",
      "type": "string",
      "readable": true,
      "writeable": false,
      "label": "Serial API version",
      "stateless": false,
      "list": false,
      "value": "unused",
      "newValue": "unused"
    },
    {
      "id": "3-134-0-hostInterfaceBuildNumber",
      "nodeId": 3,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "hostInterfaceBuildNumber",
      "propertyName": "hostInterfaceBuildNumber",
      "type": "string",
      "readable": true,
      "writeable": false,
      "label": "Serial API build number",
      "stateless": false,
      "list": false,
      "value": 0,
      "newValue": 0
    },
    {
      "id": "3-134-0-zWaveProtocolVersion",
      "nodeId": 3,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "zWaveProtocolVersion",
      "propertyName": "zWaveProtocolVersion",
      "type": "string",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave protocol version",
      "stateless": false,
      "list": false,
      "value": "7.13.8",
      "newValue": "7.13.8"
    },
    {
      "id": "3-134-0-zWaveProtocolBuildNumber",
      "nodeId": 3,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "zWaveProtocolBuildNumber",
      "propertyName": "zWaveProtocolBuildNumber",
      "type": "string",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave protocol build number",
      "stateless": false,
      "list": false,
      "value": 373,
      "newValue": 373
    },
    {
      "id": "3-134-0-applicationVersion",
      "nodeId": 3,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "applicationVersion",
      "propertyName": "applicationVersion",
      "type": "string",
      "readable": true,
      "writeable": false,
      "label": "Application version",
      "stateless": false,
      "list": false,
      "value": "2.6.0",
      "newValue": "2.6.0"
    },
    {
      "id": "3-134-0-applicationBuildNumber",
      "nodeId": 3,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "applicationBuildNumber",
      "propertyName": "applicationBuildNumber",
      "type": "string",
      "readable": true,
      "writeable": false,
      "label": "Application build number",
      "stateless": false,
      "list": false,
      "value": 43707,
      "newValue": 43707
    },
    {
      "id": "3-114-0-manufacturerId",
      "nodeId": 3,
      "commandClass": 114,
      "commandClassName": "Manufacturer Specific",
      "endpoint": 0,
      "property": "manufacturerId",
      "propertyName": "manufacturerId",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Manufacturer ID",
      "stateless": false,
      "min": 0,
      "max": 65535,
      "list": false,
      "value": 600,
      "newValue": 600
    },
    {
      "id": "3-114-0-productType",
      "nodeId": 3,
      "commandClass": 114,
      "commandClassName": "Manufacturer Specific",
      "endpoint": 0,
      "property": "productType",
      "propertyName": "productType",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Product type",
      "stateless": false,
      "min": 0,
      "max": 65535,
      "list": false,
      "value": 16,
      "newValue": 16
    },
    {
      "id": "3-114-0-productId",
      "nodeId": 3,
      "commandClass": 114,
      "commandClassName": "Manufacturer Specific",
      "endpoint": 0,
      "property": "productId",
      "propertyName": "productId",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Product ID",
      "stateless": false,
      "min": 0,
      "max": 65535,
      "list": false,
      "value": 1824,
      "newValue": 1824
    },
    {
      "id": "3-135-0-80-3",
      "nodeId": 3,
      "commandClass": 135,
      "commandClassName": "Indicator",
      "endpoint": 0,
      "property": 80,
      "propertyName": "Node Identify",
      "propertyKey": 3,
      "propertyKeyName": "On/Off Period: Duration",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Sets the duration of an on/off period in 1/10th seconds. Must be set together with \"On/Off Cycle Count\"",
      "label": "Node Identify - On/Off Period: Duration",
      "ccSpecific": {
        "indicatorId": 80,
        "propertyId": 3
      },
      "stateless": false,
      "list": false,
      "value": 0,
      "newValue": 0
    },
    {
      "id": "3-135-0-80-4",
      "nodeId": 3,
      "commandClass": 135,
      "commandClassName": "Indicator",
      "endpoint": 0,
      "property": 80,
      "propertyName": "Node Identify",
      "propertyKey": 4,
      "propertyKeyName": "On/Off Cycle Count",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Sets the number of on/off periods. 0xff means infinite. Must be set together with \"On/Off Period duration\"",
      "label": "Node Identify - On/Off Cycle Count",
      "ccSpecific": {
        "indicatorId": 80,
        "propertyId": 4
      },
      "stateless": false,
      "list": false,
      "value": 0,
      "newValue": 0
    },
    {
      "id": "3-135-0-80-5",
      "nodeId": 3,
      "commandClass": 135,
      "commandClassName": "Indicator",
      "endpoint": 0,
      "property": 80,
      "propertyName": "Node Identify",
      "propertyKey": 5,
      "propertyKeyName": "On/Off Period: On time",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "This property is used to set the length of the On time during an On/Off period. It allows asymetic On/Off periods. The value 0x00 MUST represent symmetric On/Off period (On time equal to Off time)",
      "label": "Node Identify - On/Off Period: On time",
      "ccSpecific": {
        "indicatorId": 80,
        "propertyId": 5
      },
      "stateless": false,
      "list": false,
      "value": 0,
      "newValue": 0
    },
    {
      "id": "3-128-0-level",
      "nodeId": 3,
      "commandClass": 128,
      "commandClassName": "Battery",
      "endpoint": 0,
      "property": "level",
      "propertyName": "level",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Battery level",
      "stateless": false,
      "min": 0,
      "max": 100,
      "unit": "%",
      "list": false,
      "value": 100,
      "newValue": 100
    },
    {
      "id": "3-128-0-isLow",
      "nodeId": 3,
      "commandClass": 128,
      "commandClassName": "Battery",
      "endpoint": 0,
      "property": "isLow",
      "propertyName": "isLow",
      "type": "boolean",
      "readable": true,
      "writeable": false,
      "label": "Low battery level",
      "stateless": false,
      "list": false,
      "value": false,
      "newValue": false
    },
    {
      "id": "3-113-0-Home Security-Cover status",
      "nodeId": 3,
      "commandClass": 113,
      "commandClassName": "Notification",
      "endpoint": 0,
      "property": "Home Security",
      "propertyName": "Home Security",
      "propertyKey": "Cover status",
      "propertyKeyName": "Cover status",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Cover status",
      "ccSpecific": {
        "notificationType": 7
      },
      "stateless": false,
      "min": 0,
      "max": 255,
      "list": true,
      "states": [
        {
          "text": "idle",
          "value": 0
        },
        {
          "text": "Tampering, product cover removed",
          "value": 3
        }
      ],
      "value": 0,
      "lastUpdate": 1632840295601,
      "newValue": 0
    },
    {
      "id": "3-113-0-Home Security-Motion sensor status",
      "nodeId": 3,
      "commandClass": 113,
      "commandClassName": "Notification",
      "endpoint": 0,
      "property": "Home Security",
      "propertyName": "Home Security",
      "propertyKey": "Motion sensor status",
      "propertyKeyName": "Motion sensor status",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Motion sensor status",
      "ccSpecific": {
        "notificationType": 7
      },
      "stateless": false,
      "min": 0,
      "max": 255,
      "list": true,
      "states": [
        {
          "text": "idle",
          "value": 0
        },
        {
          "text": "Motion detection",
          "value": 8
        }
      ],
      "value": 0,
      "lastUpdate": 1632854508741,
      "newValue": 0
    },
    {
      "id": "3-48-0-Any",
      "nodeId": 3,
      "commandClass": 48,
      "commandClassName": "Binary Sensor",
      "endpoint": 0,
      "property": "Any",
      "propertyName": "Any",
      "type": "boolean",
      "readable": true,
      "writeable": false,
      "label": "Any",
      "ccSpecific": {
        "sensorType": 255
      },
      "stateless": false,
      "list": false,
      "value": true,
      "lastUpdate": 1632752478897,
      "newValue": true
    },
    {
      "id": "3-48-0-Tamper",
      "nodeId": 3,
      "commandClass": 48,
      "commandClassName": "Binary Sensor",
      "endpoint": 0,
      "property": "Tamper",
      "propertyName": "Tamper",
      "type": "boolean",
      "readable": true,
      "writeable": false,
      "label": "Tamper",
      "ccSpecific": {
        "sensorType": 8
      },
      "stateless": false,
      "list": false,
      "value": false,
      "lastUpdate": 1632840295625,
      "newValue": false
    },
    {
      "id": "3-48-0-Motion",
      "nodeId": 3,
      "commandClass": 48,
      "commandClassName": "Binary Sensor",
      "endpoint": 0,
      "property": "Motion",
      "propertyName": "Motion",
      "type": "boolean",
      "readable": true,
      "writeable": false,
      "label": "Motion",
      "ccSpecific": {
        "sensorType": 12
      },
      "stateless": false,
      "list": false,
      "value": false,
      "lastUpdate": 1632854508771,
      "newValue": false
    },
    {
      "id": "3-49-0-Air temperature",
      "nodeId": 3,
      "commandClass": 49,
      "commandClassName": "Multilevel Sensor",
      "endpoint": 0,
      "property": "Air temperature",
      "propertyName": "Air temperature",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Air temperature",
      "ccSpecific": {
        "sensorType": 1,
        "scale": 0
      },
      "stateless": false,
      "unit": "°C",
      "list": false,
      "value": 23.4,
      "lastUpdate": 1632851606880,
      "newValue": 23.4
    },
    {
      "id": "3-49-0-Illuminance",
      "nodeId": 3,
      "commandClass": 49,
      "commandClassName": "Multilevel Sensor",
      "endpoint": 0,
      "property": "Illuminance",
      "propertyName": "Illuminance",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Illuminance",
      "ccSpecific": {
        "sensorType": 3,
        "scale": 1
      },
      "stateless": false,
      "unit": "Lux",
      "list": false,
      "value": 29,
      "lastUpdate": 1632839877074,
      "newValue": 29
    },
    {
      "id": "3-49-0-Humidity",
      "nodeId": 3,
      "commandClass": 49,
      "commandClassName": "Multilevel Sensor",
      "endpoint": 0,
      "property": "Humidity",
      "propertyName": "Humidity",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Humidity",
      "ccSpecific": {
        "sensorType": 5,
        "scale": 0
      },
      "stateless": false,
      "unit": "%",
      "list": false,
      "value": 53.4,
      "lastUpdate": 1632842635863,
      "newValue": 53.4
    },
    {
      "id": "3-112-0-1",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "property": 1,
      "propertyName": "LED: Blink on Motion",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "LED: Blink on Motion",
      "default": 1,
      "stateless": false,
      "min": 0,
      "max": 1,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "Disable",
          "value": 0
        },
        {
          "text": "Enable",
          "value": 1
        }
      ],
      "value": 0,
      "lastUpdate": 1632840330763,
      "newValue": 0
    },
    {
      "id": "3-112-0-2",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "property": 2,
      "propertyName": "Motion Detection",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Motion Detection",
      "default": 1,
      "stateless": false,
      "min": 0,
      "max": 1,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "Disable",
          "value": 0
        },
        {
          "text": "Enable",
          "value": 1
        }
      ],
      "value": 1,
      "lastUpdate": 1632840320102,
      "newValue": 1
    },
    {
      "id": "3-112-0-3",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "property": 3,
      "propertyName": "Motion Sensor: Prevent Re-Trigger While On",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Motion Sensor: Prevent Re-Trigger While On",
      "default": 1,
      "stateless": false,
      "min": 0,
      "max": 1,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "Disable",
          "value": 0
        },
        {
          "text": "Enable",
          "value": 1
        }
      ],
      "value": 1,
      "lastUpdate": 1632840320143,
      "newValue": 1
    },
    {
      "id": "3-112-0-4",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "property": 4,
      "propertyName": "Require Luminance Change for Basic Sets on Motion",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "If enabled, a Basic Set will be set if the ambient light is below the level defined in Parameter 16",
      "label": "Require Luminance Change for Basic Sets on Motion",
      "default": 0,
      "stateless": false,
      "min": 0,
      "max": 1,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "Disable",
          "value": 0
        },
        {
          "text": "Enable",
          "value": 1
        }
      ],
      "value": 0,
      "lastUpdate": 1632840320186,
      "newValue": 0
    },
    {
      "id": "3-112-0-5",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "property": 5,
      "propertyName": "Binary Sensor Report",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Binary Sensor Report",
      "default": 0,
      "stateless": false,
      "min": 0,
      "max": 1,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "Disable",
          "value": 0
        },
        {
          "text": "Enable",
          "value": 1
        }
      ],
      "value": 1,
      "lastUpdate": 1632840320233,
      "newValue": 1
    },
    {
      "id": "3-112-0-6",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "property": 6,
      "propertyName": "Motion Sensor Sensitivity",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Motion Sensor Sensitivity",
      "default": 2,
      "stateless": false,
      "min": 0,
      "max": 15,
      "list": true,
      "allowManualEntry": true,
      "states": [],
      "value": 0,
      "lastUpdate": 1632840320286,
      "newValue": 0
    },
    {
      "id": "3-112-0-7",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "property": 7,
      "propertyName": "Temperature Offset Value",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Temperature Offset Value",
      "default": 0,
      "stateless": false,
      "min": -120,
      "max": 120,
      "unit": "0.1 °C/F",
      "list": true,
      "allowManualEntry": true,
      "states": [],
      "value": 0,
      "lastUpdate": 1632840320327,
      "newValue": 0
    },
    {
      "id": "3-112-0-8",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "property": 8,
      "propertyName": "Humidity Offset Value",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Humidity Offset Value",
      "default": 0,
      "stateless": false,
      "min": -120,
      "max": 120,
      "unit": "0.1 %",
      "list": true,
      "allowManualEntry": true,
      "states": [],
      "value": 1,
      "lastUpdate": 1632840352523,
      "newValue": 1
    },
    {
      "id": "3-112-0-9",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "property": 9,
      "propertyName": "Temperature Change Report Threshold",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Temperature Change Report Threshold",
      "default": 10,
      "stateless": false,
      "min": 0,
      "max": 100,
      "unit": "0.1 °C/F",
      "list": true,
      "allowManualEntry": true,
      "states": [],
      "value": 5,
      "lastUpdate": 1632854818794,
      "newValue": 5
    },
    {
      "id": "3-112-0-10",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "property": 10,
      "propertyName": "Humidity Change Report Threshold",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Humidity Change Report Threshold",
      "default": 20,
      "stateless": false,
      "min": 0,
      "max": 100,
      "unit": "0.1 %",
      "list": true,
      "allowManualEntry": true,
      "states": [],
      "value": 2,
      "lastUpdate": 1632854818838,
      "newValue": 2
    },
    {
      "id": "3-112-0-11",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "property": 11,
      "propertyName": "Luminance Change Report Threshold",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Luminance Change Report Threshold",
      "default": 50,
      "stateless": false,
      "min": 0,
      "max": 120,
      "unit": "lux",
      "list": true,
      "allowManualEntry": true,
      "states": [],
      "value": 100,
      "lastUpdate": 1632840320501,
      "newValue": 100
    },
    {
      "id": "3-112-0-12",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "property": 12,
      "propertyName": "Association Group 2: Basic Set Level",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Association Group 2: Basic Set Level",
      "default": 100,
      "stateless": false,
      "min": 0,
      "max": 100,
      "list": true,
      "allowManualEntry": true,
      "states": [
        {
          "text": "Disable",
          "value": 0
        },
        {
          "text": "Enable",
          "value": 100
        }
      ],
      "value": 30,
      "lastUpdate": 1632840320537,
      "newValue": 30
    },
    {
      "id": "3-112-0-13",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "property": 13,
      "propertyName": "Motion Sensor: Re-trigger Interval",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Must be less than the On/Off Duration",
      "label": "Motion Sensor: Re-trigger Interval",
      "default": 8,
      "stateless": false,
      "min": 1,
      "max": 8,
      "unit": "seconds",
      "list": true,
      "allowManualEntry": true,
      "states": [],
      "value": 30,
      "lastUpdate": 1632840320572,
      "newValue": 30
    },
    {
      "id": "3-112-0-14",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "property": 14,
      "propertyName": "Basic Set Off Delay Time",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Basic Set Off Delay Time",
      "default": 30,
      "stateless": false,
      "min": 0,
      "max": 30000,
      "unit": "seconds",
      "list": true,
      "allowManualEntry": true,
      "states": [],
      "value": 50,
      "lastUpdate": 1632840320610,
      "newValue": 50
    },
    {
      "id": "3-112-0-15",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "property": 15,
      "propertyName": "Motion Clear Time",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Motion Clear Time",
      "default": 30,
      "stateless": false,
      "min": 1,
      "max": 30000,
      "unit": "seconds",
      "list": true,
      "allowManualEntry": true,
      "states": [],
      "value": 180,
      "lastUpdate": 1632840320652,
      "newValue": 180
    },
    {
      "id": "3-112-0-16",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 16,
      "propertyName": "Luminance Threshold for Basic Sets",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Luminance Threshold for Basic Sets",
      "default": 50,
      "stateless": false,
      "min": 0,
      "max": 1000,
      "unit": "lux",
      "list": true,
      "allowManualEntry": true,
      "states": []
    },
    {
      "id": "3-112-0-17",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 17,
      "propertyName": "Sensor Report Interval",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Sensor Report Interval",
      "default": 180,
      "stateless": false,
      "min": 0,
      "max": 30000,
      "unit": "seconds",
      "list": true,
      "allowManualEntry": true,
      "states": []
    },
    {
      "id": "3-112-0-99",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "property": 99,
      "propertyName": "Light Intensity Offset Value",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "See manual for details",
      "label": "Light Intensity Offset Value",
      "default": 5320,
      "stateless": false,
      "min": 1,
      "max": 32767,
      "list": true,
      "allowManualEntry": true,
      "states": [],
      "value": 450,
      "lastUpdate": 1632840320688,
      "newValue": 450
    }
  ],
  "groups": [
    {
      "text": "Lifeline",
      "endpoint": 0,
      "value": 1,
      "maxNodes": 5,
      "isLifeline": true,
      "multiChannel": true
    },
    {
      "text": "Basic Set",
      "endpoint": 0,
      "value": 2,
      "maxNodes": 5,
      "isLifeline": false,
      "multiChannel": true
    }
  ],
  "neighbors": [
    1
  ],
  "ready": true,
  "available": true,
  "hassDevices": {},
  "failed": false,
  "inited": true,
  "hexId": "0x0258-0x0010-0x0720",
  "dbLink": "https://devices.zwave-js.io/?jumpTo=0x0258:0x0010:0x0720:2.6",
  "manufacturerId": 600,
  "productId": 1824,
  "productType": 16,
  "deviceConfig": {
    "filename": "/usr/src/app/store/.config-db/devices/0x0258/nas-pd07z.json",
    "isEmbedded": true,
    "manufacturer": "Shenzhen Neo Electronics Co., Ltd.",
    "manufacturerId": 600,
    "label": "NAS-PD07Z",
    "description": "5 in 1 PIR Motion Sensor",
    "devices": [
      {
        "productType": 16,
        "productId": 1824
      }
    ],
    "firmwareVersion": {
      "min": "0.0",
      "max": "255.255"
    },
    "paramInformation": {
      "_map": {}
    }
  },
  "productLabel": "NAS-PD07Z",
  "productDescription": "5 in 1 PIR Motion Sensor",
  "manufacturer": "Shenzhen Neo Electronics Co., Ltd.",
  "firmwareVersion": "2.6",
  "protocolVersion": 3,
  "zwavePlusVersion": 2,
  "zwavePlusNodeType": 0,
  "zwavePlusRoleType": 6,
  "nodeType": 1,
  "endpointsCount": 0,
  "endpointIndizes": [],
  "isSecure": false,
  "security": "None",
  "supportsSecurity": false,
  "supportsBeaming": true,
  "isControllerNode": false,
  "isListening": false,
  "isFrequentListening": false,
  "isRouting": true,
  "keepAwake": false,
  "maxDataRate": 100000,
  "deviceClass": {
    "basic": 4,
    "generic": 7,
    "specific": 1
  },
  "deviceId": "600-1824-16",
  "status": "Awake",
  "interviewStage": "Complete",
  "lastActive": 1632854818839,
  "batteryLevel": 100,
  "statistics": {
    "commandsTX": 148,
    "commandsRX": 861,
    "commandsDroppedRX": 0,
    "commandsDroppedTX": 0,
    "timeoutResponse": 11
  },
  "_name": "oko-sandra (sandra)"
}

@AlCalzone
Copy link
Member

While You look at this please also help me understand why device is have security set to None

Please make a driver log of a re-interview, loglevel debug or silly and attach it here as a file.

@luzik
Copy link
Author

luzik commented Sep 28, 2021

Not to many debug logs, but here
zwavejs2mqtt_2021-09-28.log

@robertsLando
Copy link
Member

robertsLando commented Sep 29, 2021

Ok I may have found the problem here:

{
      "id": "3-112-0-8",
      "nodeId": 3,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "property": 8,
      "propertyName": "Humidity Offset Value",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Humidity Offset Value",
      "default": 0,
      "stateless": false,
      "min": -120,
      "max": 120,
      "unit": "0.1 %",
      "list": true,
      "allowManualEntry": true,
      "states": [],
      "value": 1,
      "lastUpdate": 1632840352523,
      "newValue": 1
    },

Seems that states are reported as an empty array and this makes me think it's a list value. Let me submit a fix for this

@AlCalzone Just to know, did you changed something that makes zwaveValueMeta return an empty record for states? I noticed this problem too but wasn't working like that

@robertsLando
Copy link
Member

The states problem has been fixed on master, reopening this for the others

@robertsLando robertsLando reopened this Sep 29, 2021
@AlCalzone
Copy link
Member

did you changed something that makes zwaveValueMeta return an empty record for states

Not that I know of - especially not an empty array. TypeScript would shout really loud if I did that.

@robertsLando
Copy link
Member

robertsLando commented Sep 29, 2021

Nope sorry, them are undefined but the key is in the record, some versions before it wasn't there at all in the record as key

@AlCalzone
Copy link
Member

Do you have an example?

@robertsLando
Copy link
Member

Seems to happen only with configuration valueIds BTW not a big deal is fixed now

@AlCalzone
Copy link
Member

Which ones? If this is something on my end, I'd like to fix it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants