Monoprice zwave Shock / Vibration sensor not working

I purchased two monoprice zwave shock / vibration sensors for a washing machine automation project. https://www.monoprice.com/product?p_id=15269

Inclusion for the sensor worked as expected.
When it’s included there are several new sensors as well as a binary sensor.

Here are the entities:

entities:
  - entity: binary_sensor.vision_security_zs5101_shock_and_vibration_sensor_sensor
  - entity: sensor.vision_security_zs5101_shock_and_vibration_sensor_alarm_level
  - entity: sensor.vision_security_zs5101_shock_and_vibration_sensor_alarm_type
  - entity: sensor.vision_security_zs5101_shock_and_vibration_sensor_burglar
  - entity: sensor.vision_security_zs5101_shock_and_vibration_sensor_emergency
  - entity: sensor.vision_security_zs5101_shock_and_vibration_sensor_homehealth
  - entity: sensor.vision_security_zs5101_shock_and_vibration_sensor_sourcenodeid
type: glance

The only two values that seem to change are alarm_level and alarm_type

Open zwave seems to receive reports of shocks and 10 seconds later the cessation of the shock as expected, the cessation of the shock never shows up in the ui of home assistant.

You can see the logs here: https://pastebin.com/4AFTFPZi

I also cleaned them up a bit to remove things I think are not relevant:

1. 2019-07-28 12:08:26.314 Info, Node041, Received Basic set from node 41: level=0. Treating it as a Basic report.
2. 2019-07-28 12:08:26.314 Detail, Node041, Refreshed Value: old value=255, new value=0, type=byte
3. 2019-07-28 12:08:26.333 Detail, Node041,   Received: 0x01, 0x10, 0x00, 0x04, 0x00, 0x29, 0x0a, 0x71, 0x05, 0x02, 0x00, 0x00, 0xff, 0x07, 0x00, 0x01, 0x02, 0x45
4. 2019-07-28 12:08:26.333 Info, Node041, Received Alarm report: type=2, level=0, sensorSrcID=0, type:Burglar event:0, status=255
5. 2019-07-28 12:08:26.333 Detail, Node041, Refreshed Value: old value=2, new value=2, type=byte
6. 2019-07-28 12:08:26.333 Detail, Node041, Refreshed Value: old value=255, new value=0, type=byte
7. 2019-07-28 12:08:26.333 Detail, Node041, Refreshed Value: old value=0, new value=0, type=byte
8. 2019-07-28 12:08:26.333 Detail, Node041, Refreshed Value: old value=2, new value=0, type=byte
1. 2019-07-28 12:08:37.247 Detail, Node041,   Received: 0x01, 0x09, 0x00, 0x04, 0x00, 0x29, 0x03, 0x20, 0x01, 0xff, 0x06
2. 2019-07-28 12:08:37.247 Info, Node041, Received Basic set from node 41: level=255. Treating it as a Basic report.
3. 2019-07-28 12:08:37.247 Detail, Node041, Refreshed Value: old value=0, new value=255, type=byte
4. 2019-07-28 12:08:37.266 Detail, Node041,   Received: 0x01, 0x0f, 0x00, 0x04, 0x00, 0x29, 0x09, 0x71, 0x05, 0x02, 0xff, 0x00, 0xff, 0x07, 0x02, 0x00, 0xa7
5. 2019-07-28 12:08:37.266 Info, Node041, Received Alarm report: type=2, level=255, sensorSrcID=0, type:Burglar event:2, status=255
6. 2019-07-28 12:08:37.266 Detail, Node041, Refreshed Value: old value=2, new value=2, type=byte
7. 2019-07-28 12:08:37.267 Detail, Node041, Refreshed Value: old value=0, new value=255, type=byte
8. 2019-07-28 12:08:37.267 Detail, Node041, Refreshed Value: old value=0, new value=0, type=byte
9. 2019-07-28 12:08:37.267 Detail, Node041, Refreshed Value: old value=0, new value=2, type=byte

Again, HA sees the initial shock. OZW sees the change from shock to normal state, but HA never changes after seeing one shock and the binary sensor never changes at all.

I can’t find the manual online but it says alarm version 1 for alarm type is 0x02 for vibration detected and 0x03 for tamper switch

Alarm level on is 0xFF
Alarm level off is 0x00

The only entities you should see changing are:

  • sensor.vision_security_zs5101_shock_and_vibration_sensor_alarm_level
  • sensor.vision_security_zs5101_shock_and_vibration_sensor_alarm_type
  • sensor.vision_security_zs5101_shock_and_vibration_sensor_burglar

When there is vibration, alarm_level is 255, alarm_type is 2, and burglar is 2. When vibration stops, alarm_level is 0, alarm_type is 2, and burglar is 0. The logs you pasted show this happening. If OZW is showing the values being refreshed, then HA should be seeing the changes.

but HA never changes after seeing one shock and the binary sensor never changes at all.

What are you referring to when you say HA never changes? You earlier said that alarm_level/type are changing. Do you not see burglar changing either?

None of the other entities, including the binary sensor, will change. I have the same entities for my Monoprice door sensors (also re-branded Vision sensors). There’s nothing in the documentation of the devices that indicates they support any of that functionality.

If you want a binary sensor you need to create one from a template.

Sorry, let me see if I can clarify what the issue seems to be:

If I restart home assistant I have the following settings:

alarm_level: 0
alarm_type: 2
burglar: 0

I tap the shock sensor:
OZW logs immediately show the results at the 12:08:26 timestamp above.

HA interface updates to the following:

alarm_level: 255
alarm_type: 2
burglar: 2

10 seconds later OZW updates with the settings at the 12:08:37 timestamps above.
The HA interface does not update the state stays at:

alarm_level: 255
alarm_type: 2
burglar: 2

Did you ever find a solution to this? I have exactly the same problem; the sensors are stuck at 255, 2 and 2 after vibration.

No, I returned it, I found out that they are just not that sensitive. What I ended up doing was adding a zwave plug for the washer to monitor usage, it’s been rock solid. I might get the aeotec high power plug for the dryer someday too.

Thanks. I’ve found the same thing too. I’m going to replace the washer soon and just get a smart one that I can directly integrate. Still trying to work out what to do with this sensor in the mean time…