Heiman motion sensor hs1ms-z

Hi all!
Does anyone have experience with this z-wave device in hass.io, 2020.12.1, Home Assistant OS ?
All looks good but no events, except device is awake or going to sleep and state of battery, appears in the UI.
Logfile looks good (with integration as secure node or normal node).


2020-12-28 19:58:53.856 Detail, Node046, Query Stage Complete (Session)
2020-12-28 19:58:53.856 Detail, Node046, AdvanceQueries queryPending=0 queryRetries=0 queryStage=Dynamic live=1
2020-12-28 19:58:53.856 Detail, Node046, QueryStage_Dynamic
2020-12-28 19:58:53.856 Detail, Node046, Queuing (Send) BasicCmd_Get (Node=46): 0x01, 0x09, 0x00, 0x13, 0x2e, 0x02, 0x20, 0x02, 0x25, 0x10, 0xde
2020-12-28 19:58:53.856 Detail, Node046, Queuing (Send) SensorBinaryCmd_Get (Node=46): 0x01, 0x09, 0x00, 0x13, 0x2e, 0x02, 0x30, 0x02, 0x25, 0x11, 0xcf
2020-12-28 19:58:53.856 Detail, Node046, Queuing (Send) BatteryCmd_Get (Node=46): 0x01, 0x09, 0x00, 0x13, 0x2e, 0x02, 0x80, 0x02, 0x25, 0x12, 0x7c
2020-12-28 19:58:53.856 Detail, Node046, Queuing (Query) Query Stage Complete (Dynamic)
2020-12-28 19:58:53.856 Detail,
2020-12-28 19:58:53.856 Info, Node046, Sending (Send) message (Callback ID=0x10, Expected Reply=0x04) - BasicCmd_Get (Node=46): 0x01, 0x09, 0x00, 0x13, 0x2e, 0x02, 0x20, 0x02, 0x25, 0x10, 0xde
2020-12-28 19:58:53.864 Detail, Node046,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2020-12-28 19:58:53.864 Detail, Node046,   ZW_SEND_DATA delivered to Z-Wave stack
2020-12-28 19:58:53.882 Detail, Node046,   Received: 0x01, 0x05, 0x00, 0x13, 0x10, 0x00, 0xf9
2020-12-28 19:58:53.882 Detail, Node046,   ZW_SEND_DATA Request with callback ID 0x10 received (expected 0x10)
2020-12-28 19:58:53.882 Info, Node046, Request RTT 25 Average Request RTT 48
2020-12-28 19:58:53.882 Detail,   Expected callbackId was received
2020-12-28 19:58:53.896 Detail, Node046,   Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x2e, 0x03, 0x20, 0x03, 0x00, 0xc7, 0x00, 0x39
2020-12-28 19:58:53.896 Detail,
2020-12-28 19:58:53.896 Info, Node046, Response RTT 39 Average Response RTT 53
2020-12-28 19:58:53.896 Info, Node046, Received Basic report from node 46: level=0
2020-12-28 19:58:53.896 Detail, Node046, Initial read of value
2020-12-28 19:58:53.896 Detail, Node046,   Expected reply and command class was received
2020-12-28 19:58:53.896 Detail, Node046,   Message transaction complete
2020-12-28 19:58:53.897 Detail,
2020-12-28 19:58:53.897 Detail, Node046, Removing current message
2020-12-28 19:58:53.897 Detail, Node046, Notification: ValueChanged
2020-12-28 19:58:53.911 Detail,
2020-12-28 19:58:53.911 Info, Node046, Sending (Send) message (Callback ID=0x11, Expected Reply=0x04) - SensorBinaryCmd_Get (Node=46): 0x01, 0x09, 0x00, 0x13, 0x2e, 0x02, 0x30, 0x02, 0x25, 0x11, 0xcf
2020-12-28 19:58:53.918 Detail, Node046,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2020-12-28 19:58:53.918 Detail, Node046,   ZW_SEND_DATA delivered to Z-Wave stack
2020-12-28 19:58:53.936 Detail, Node046,   Received: 0x01, 0x05, 0x00, 0x13, 0x11, 0x00, 0xf8
2020-12-28 19:58:53.936 Detail, Node046,   ZW_SEND_DATA Request with callback ID 0x11 received (expected 0x11)
2020-12-28 19:58:53.936 Info, Node046, Request RTT 25 Average Request RTT 36
2020-12-28 19:58:53.936 Detail,   Expected callbackId was received
2020-12-28 19:58:53.950 Detail, Node046,   Received: 0x01, 0x0c, 0x00, 0x04, 0x00, 0x2e, 0x04, 0x30, 0x03, 0x00, 0x0c, 0xc7, 0x00, 0x25
2020-12-28 19:58:53.950 Detail,
2020-12-28 19:58:53.950 Info, Node046, Response RTT 39 Average Response RTT 46
2020-12-28 19:58:53.950 Info, Node046, Received SensorBinary report: Sensor:12 State=Off
2020-12-28 19:58:53.950 Detail, Node046, Initial read of value
2020-12-28 19:58:53.950 Detail, Node046,   Expected reply and command class was received
2020-12-28 19:58:53.950 Detail, Node046,   Message transaction complete
2020-12-28 19:58:53.950 Detail,
2020-12-28 19:58:53.950 Detail, Node046, Removing current message
2020-12-28 19:58:53.951 Detail, Node046, Notification: ValueChanged
2020-12-28 19:58:53.971 Detail,
2020-12-28 19:58:53.972 Info, Node046, Sending (Send) message (Callback ID=0x12, Expected Reply=0x04) - BatteryCmd_Get (Node=46): 0x01, 0x09, 0x00, 0x13, 0x2e, 0x02, 0x80, 0x02, 0x25, 0x12, 0x7c
2020-12-28 19:58:53.979 Detail, Node046,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2020-12-28 19:58:53.979 Detail, Node046,   ZW_SEND_DATA delivered to Z-Wave stack
2020-12-28 19:58:53.997 Detail, Node046,   Received: 0x01, 0x05, 0x00, 0x13, 0x12, 0x00, 0xfb
2020-12-28 19:58:53.997 Detail, Node046,   ZW_SEND_DATA Request with callback ID 0x12 received (expected 0x12)
2020-12-28 19:58:53.997 Info, Node046, Request RTT 25 Average Request RTT 30
2020-12-28 19:58:53.997 Detail,   Expected callbackId was received
2020-12-28 19:58:54.012 Detail, Node046,   Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x2e, 0x03, 0x80, 0x03, 0x19, 0xc7, 0x00, 0x80

My idea is, that is a problem with the xml-device file in open-zwave 1.4 integration.
Although this device isn’t very common.

… this z-wave integration drives me crazy. :stuck_out_tongue_winking_eye:

Just added an HS1MS-Z myself and had the same issue…

I ended up using the events for ready/sleeping to trigger two automations which worked fine, so I could at least use the sensor.

First automation was when the sensor changed to the ready state to turn on the lamp.
Second automation was when the sensor stayed sleeping for 2 minutes then switch off the lamp.

Feels like a work around, but like I mentioned before, at least I can use the sensor. :+1:

I’ve been playing around a bit more with the device and I see the events ok now.

<<"zwave.node_event">> from <<"zwave.heiman_technology_co_ltd_motion_sensor_hs1ms_z">>
#{<<"context">> =>
      #{<<"id">> => <<"952e..............d32">>,
        <<"parent_id">> => null,<<"user_id">> => null},
  <<"data">> =>
      #{<<"basic_level">> => 255,
        <<"entity_id">> =>
            <<"zwave.heiman_technology_co_ltd_motion_sensor_hs1ms_z">>,
        <<"node_id">> => 72},
  <<"event_type">> => <<"zwave.node_event">>,<<"origin">> => <<"LOCAL">>,
  <<"time_fired">> => <<"2021-02-10T14:06:07.728998+00:00">>}

Seems like “255” indicates motion, and “0” is no motion. However the “0” will only appear 2 minutes after no motion has been detected.

Also another alternative is to use the binary sensor.

By default, the binary sensor is always “off” regardless of motion, but after I add the controller (1) to associaton group 3, then the “on” state is received.

Just like with the event, the “off” state is received ok, but it appears to only comes after 2 minutes of no motion. I can’t see that it’s possible to adjust the 2 minutes though from the options.

Good job Alan :+1: Yes, when I played around I also got once a binary.sensor signal. But I wasn’t able to get there after I set it to factory defaults. I have no hope with unsteady devices.
Which Z-Wave integration do you use? https://www.home-assistant.io/integrations/#search/z-wave

Yeah I guess if you reset to factory settings then you need to add the the controller (1) to associaton group 3 (Binary Sensor) to get the binary sensor notifications again.

I’m running Home Assistant Core as my backend and receive the zwave events to my own erlang based software, which is why the my output above looks a bit unusual (I decode the json body and log the even in erlang maps). The Z-wave integration is the deprecated one, rather than the zwave_js.

I think I orginally said it was 2 minutes of activity, but testing tonight it actually seems to be 1 minute.

I see this in the OZW_Log.txt for the binary Sensor when motion is detected:

2021-02-11 01:19:33.299 Info, Node072, Received SensorBinary report: Sensor:12 State=On
2021-02-11 01:19:33.299 Detail, Node072, Refreshed Value: old value=false, new value=true, type=bool

and the related event:

2021-02-11 01:19:33.238 Info, Node072, Received Basic set from node 72: level=255.  Sending event notification.
2021-02-11 01:19:33.238 Detail, Node072, Notification: NodeEvent

and this 1 minute later when no motion occurs:

2021-02-11 01:20:39.494 Info, Node072, Received SensorBinary report: Sensor:12 State=Off
2021-02-11 01:20:39.494 Detail, Node072, Refreshed Value: old value=true, new value=false, type=bool

and the related event:

2021-02-11 01:20:39.433 Info, Node072, Received Basic set from node 72: level=0.  Sending event notification.
2021-02-11 01:20:39.433 Detail, Node072, Notification: NodeEvent

Now that I’ve set it up, it seems pretty stable, although it would be nice if it was possible to configure the timer for no motion. But I suppose I could just use the on event and automate the timer accordingly.

Thx for sharing … I think I will first change from z-wave ozw (deprecated) to z-wave_js. Due to your examinations I will give the hs1ms-z a second try. Look’s like the hardware ans PIR sensivity is ok.

@honikos Yeah, I must also look to migrate to the z-wave_js, hopefully its a smooth transition :slight_smile:

I’m really sorry for reviving this old topic, but I’ve spent several hours trying to configure the association group for my HS1MS-Z. I think I must configure it manually in Z-Wave JS, but I do not know what parameter and bitmask to use. Could one of you please share how to add the controller to association group 3, if you know?

I think I’d have to set it like this, but I do not know the values:

service: zwave_js.set_config_parameter
target:
  entity_id: [entity name]
data:
  parameter: ??
  bitmask: ??
  value: ??

I put the HS1MS into the waste … Got never a clean inclusion.
To be honest … maybe I find this trouble - z-wave - senor somewhere in a corner. :sweat_smile:

I have the same problem… but the thing is, it has worked for a while. It stoped working a few months ago. I just thought the battery was empty, but is isn’t. So it must have been an update!

Wrapping up my revival of this old topic: It works now. My problem was not association group, but a physical issue with the sensor: The button at the back of the device was not pressed when inserting it in the wall bracket. A released button activates the intrusion detection alarm feature (i.e. “sensor is removed from bracket”). This alarm prevents the motion sensor from detecting motion.

It works flawlessly now. No special setup was needed. I’ll buy some more of these, as they are quite cheap.