Motion sensor hsm100 fail to initialise


I have a zwave motion sensor hsm100, which constantly fails to initialize.
It does start the initialization (when I wake it up by pressing a button on the device, and press the “Reinitialize node button” in habmin).
I can see messages in zwave.log, and habmin populates some fields (such as setting the name adjacent to the node to “EZmotion Express Wireless 3-in-1 Sensor”).
But the initialization always times out and the node xml file is never created in etc/zwave.
I was advised in Motion Sensor HSM100 does not show properly in habmin to

  • keep a close distance between the zwave controller and the device
  • revert to an older version of openhab (1.8.0)
  • try to initialize multiple times
  • exclude, and reinclude the device
  • set Association Groups -> Association Group -> Node 1 -> Member

I tried every one of these suggestions but nothing helped.
This device showed the temperature at some point, so I think the the device is not faulty
The zwave log file is in (relevant device is node 31, and node 32 after exclusion and reinclusion)
Please help.


p.s. I’m thinking to do a factory reset of the controller (Aeon Labs ZWave ZSTICK-S2). How do I do it with openhab?
(I added zwave:softReset=true to openhab.cfg and did a heal, but I can still see nodes on the controller)

Using openhab 1.8.3, zwave binding 1.9.0

I’m still working on it…
I moved to OpenHAB2 (I’m new to it) hoping that the new platform will make things better

In Habmin, I added the zwave controller to the Association Group and it sticks ok (snapshot1), and added the linked items (snapshot2). The device shows online (green v).

In /opt/openhab2/userdata/zwave there is only node1.xml for the controller but none is created for the hsm100 device. As I understand, this is expected (since instead the information is stored in a database?)

The log still shows warnings and errors (log). For example

2016-11-17 01:33:40.618 [WARN ] [ocol.ZWaveController$ZWaveSendThread] - NODE 32: Too many retries. Discarding message: Message: class=SendData[0x13], type=Request[0x00], priority=Config, dest=32, callback=210, payload=20 06 60 0D 01 01 85 05 
2016-11-17 01:45:49.042 [WARN ] [ding.zwave.handler.ZWaveThingHandler] - NODE 32: Command for unknown channel zwave:device:1586c2e7f25:node32:battery-level with DecimalType

If the xml file is not expected to show up, and the device has green online indication, does this mean that the device is initialized?
The user interface looks good except for the empty sensor fields in openhab Control (snapshot3) and the zwave (node 32) warnings/errors.
Moreover, I can change the value of e.g. the temperature to some bogus value (snapshot4) and it shows up. How is this possible?
Is there a clear indication anywhere that the device finished initialisation?

Someone reported here that if the device is too far or close this can lead to errors suzh as I am seeing (messages like: “Got an error while sending data. Resending message.”). The hsm100 was initially 30 cm from the controller, so I moved it to another room. This still didn’t solve the problem…

Sometimes the indication of the device is red but once I press the device, the indication changes to online, so I know that the device is communicating with the controller. Here are the attributes in Habmin and here
are the configuration parameters, if it helps.


In HABmin, if the device is still initialising, it will say the initialisation stage at the bottom of the thing in the list of things (not sure if that makes sense :wink: ) - it’s the list that shows if the thing is online.

If there’s no XML, this is also a good indicator that it’s not completed initialisation. If I remember correctly, this is a battery device, so you need to wake it up at least once or twice to allow the initialisation to complete. If it’s not completing, then you should get a full debug log and use the online viewer to see what is happening.

Unfortunately I can’t see the images, so can’t comment on them at the moment…

@chris, it is a battery device and it is awake, since I press the button on the device. I checked that the attached snapshots and log can be viewed. Can you now see them?
The device shows the “awake” status in the online log viewer (thanks for putting this tool - it greatly simplifies the reading).
Since I pressed the device numerous times, and tried in both openhab1, and openhab2, I need help with what to do next. Can you help me with that?

I’m versed with programming, so if debugging e.g. in Eclipse, would shed more light, I’m ready to do that, but I will need some directions on how to start and what to look for.


It looks like at least a big part of the problem is because the device is reporting that it is a listening device -:

This causes the binding to think that the device is always awake so the binding sends lots of messages when it’s not awake - these obviously time out.

This is great help.

The configuration parameters show that “Stay awake” is set to 0, which should put the device to not-listening, but the attributes indeed show that the device is listening (although not “Frequently listening”).
According to the manual,

Setting Stay Awake to a non-zero value will cause EZMotion+ to always be awake. NOTE: this mode should NOT be used when EZMotion+ is battery powered! Batteries will only last a few days in this mode.

I guess I could put the device to listening mode temporarily, until the one-time initialisation is complete and then turn it to non-listening? I will try it tonight when I get back home.

Regardless of the initialisation, is it an expected behaviour that the sensor values (e.g. the temperature) in openhab Control can be edited?

Listening, and Frequently Listening are totally different. Listening means the device is on all the time (ie listening all the time) where frequently listening means it wakes up about every 100ms or every 1s and listens.

I’ve not been able to view the images - sorry - so I don’t know what you refer to.

I’m referring to the “223.0 C” that I was able to edit manually into the “Temperature” field (as well as the “99” in the "Battery Level"field)

Ok - I guess the channel doesn’t have the read-only attribute. Clearly you can’t change the temperature (well, not unless you get in the oven at 223 deg :slight_smile: ).

There is inconsistency in the device where the configuration parameters show “stay awake” as 0, i.e. not listening
but the attributes show that the device is listening

I tried resetting the “stay awake” parameter (via habmin -> Configuration-> Things) but whatever I place in doesn’t stick. The configuration parameter always shows 0, after navigating away and coming back.

How do I set the parameter such that the value persist? (and once I can set it, should I set “stay awake” to option 1 or option 2?)

  • option 1
    Set the “stay awake” parameter to non 0 (e.g. 1?) (listening) temporarily for a one time initialisation.
    this way, the device will always listen, which will allow the initialisation to complete.

  • option 2
    Set the “stay awake” parameter to 0 (not listening).
    this is the advised configuration for a battery device
    I will then have to press the device several times to wake it up until the initialisation completes

I’m not sure this is linked. The LISTENING flag is a protocol level flag that I’m suspect won’t change within the life of the node since it gets cached in the controller. It’s not linked to the state of the device.

Not sure I understand this - it should be persisted in the device once it’s transferred to the device. If HABmin says PENDING then it’s not transferred. If it times out (as a lot of transfers were on this device in your previous log) then it might also not transfer.

So shall I just ignore the value of the LISTENING status in the attributes?

Ok, I set it to non 0 (3) and restarted openhab and the value persisted. So “Stay awake” now shows 3 in the configuration parameters
So now it is effectively set to option2 (“Stay awake” = non 0 - i,e. listening).
But I still don’t see any reading from the device in the Control (see the attached image), and the log shows that device is a sleep at some point (although the device is now set to always listen?)

I don’t know - this comes from the low level protocol. I would be surprised if it can change, but I don’t know that for sure, but these flags are normally low level attributes of the device.

I don’t seem to be able to download it as it wants me to log in :frowning: .

I updated the post Motion sensor hsm100 fail to initialise.
Here is the log

I excluded and re-included the device. The “Stay awake” is back to 0 (not listening) :frowning: . The log file also indicates that the device is going to sleep, and I have to wake it up by pressing the button. This apparently is not sufficient as was pointed in here.
I’m out of ideas how to get over the initialisation hurdle…

I want to debug openhab2 using eclipse, with habmin. I followed the instructions in
Habmin is not in the list of the installed files.

avner@i7Machine:~$ find /home/avner/openhab2-master3 -name "*habmin*"

I downloaded the jar file org.openhab.ui.habmin_0.1.6.jar. How do I add it to the project?


You can import other projects that aren’t in the workspace using the file import menu.

I right-click File -> Import, (or launch [openhab-distro master] -> Import)
I’m asked for a wizard. Which wizard should I choose?

I think it’s Archive File, but I’m not 100% sure as it’s been ages since I’ve done this.

I’m hoping to debug the initialisation stage and workaround any timeouts to make sure that the initialisation process goes all the way to the end (with my help pressing the device as much as needed to make it work). Do you think this is a good approach?