LZW60 4-1 Sensors Report Thresholds Not Working

Hi,

I recently picked up four LZW60 4-1 Sensors and have started testing them out in Home Assistant.

The reporting intervals [101-103] that I am using on all the sensors are:

  • [101 = 300] Temperature Reporting Interval every 5 minutes
  • [102 = 600] Humidity Reporting Interval every 10 minutes
  • [103 = 900] Luminance Reporting Interval every 15 minutes

The features that I was unable to figure out or make work was the threshold settings and their corresponding values.

  • [110] Report Only When Thresholds Are Met
  • [111] Temperature Report Threshold
  • [112] Humidity Report Threshold
  • [113] Luminance Report Threshold

It seems that no matter what I set these parameters to, the sensor would report according to the reporting intervals set in [101-103] regardless of whether [110] is enabled [=1] or not [=0].

These are the settings I’ve tried to use in various combinations. I understand that the sensor will only check these values on the reporting interval and only send the report if the threshold is crossed. I’ve also made sure that these settings are saved to the sensor by waking up the device with 3-clicks.

  • [110 = 0/1] to enable β€œReport Only When Thresholds Are Met”
  • [111 = 10/20/100] expecting the sensor to update every 1/2/10 degrees C.
  • [112 = 5/10/20] expecting the sensor to update every 5/10/20 % humidity.
  • [113 = 50/100/500] expecting the sensor to report every 50/100/500 lux.

But no matter what values I have in parameters [110-113], the sensor would report temperature in 0.1C increments, humidity in 1% increments and luminance in 1 lux increments according to the reporting intervals. The sensor would also send reports on the reporting interval even if the value does not change. Note that these increments are more granular than the default values for [111-113] so I suspect the [110] parameter is not being enforced.

Any help appreciated.

I recently found a bug in zwavejs that might be causing the issue.

Essentially, zwavejs may be telling the device to go back to sleep before it sends all the queued commands.

If you havent already, try waking the device (with 3x button press) multiple times after updating parameters on battery-powered devices (wait about 15 seconds each time), in the hope all the queued commands get sent while the device is still awake.

I am not sure if this is the actual root cause of your issue, but it is certainly a possibility.

1 Like

Thanks @jtronicus.

I just read your ticket and tried a few things, is this what you are experiencing too? These are the logs from the ZWaveJS2MQTT debug console.

3x Click to wake up LZW60. Seems it goes back to sleep within 1ms. This is the 1st battery powered device on my network so I’m not sure what standard behavior is. However, I’ve read other sensor documentation to see some sensors can be configured to stay awake for ~10 minutes.

2021-06-09 09:29:28.108 INFO ZWAVE: Node 21 is now awake
2021-06-09 09:29:29.161 INFO ZWAVE: Node 21 is now asleep

Then, here is the log for trying to update the parameter value. Is the result: undefined part what your bug is about?

2021-06-09 09:29:35.689 INFO ZWAVE: Calling api writeValue with args: [
{ nodeId: 21, commandClass: 112, endpoint: 0, property: 110 },
1,
[length]: 2
]
2021-06-09 09:29:35.694 INFO ZWAVE: Writing 1 to 21-112-0-110
2021-06-09 09:29:37.638 INFO ZWAVE: Node 21 is now awake
2021-06-09 09:29:37.693 INFO ZWAVE: Success zwave api call writeValue { success: true, message: 'Success zwave api call', result: undefined }
2021-06-09 09:29:38.741 INFO ZWAVE: Node 21 is now asleep

After that, as per your suggestion, I wake the device again after a few seconds, and these are the logs:

2021-06-09 09:29:41.702 INFO ZWAVE: Node 21 is now awake
2021-06-09 09:29:42.701 INFO ZWAVE: Node 21: value updated: 112-0-110 0 => 1
2021-06-09 09:29:43.788 INFO ZWAVE: Node 21 is now asleep

I also tried to update the [110-113] parameters to try to get them to register. It does not seem to have made a difference.

Based on your description, the bug would have affected my ability to update other parameters such as the reporting intervals [101-103] , but I was just able to set all of them to 1 minute (60s) during the testng and was able to update all values with a single wake (3x click) on the sensor.

I think I figured it out… when you disable (turn off) the intervals, the thresholds start working. Disable Luminance by making Luminance Reporting Interval [103] = 0. Then set your threshold and watch it work in the logs.