Motion sensor hsm100 fail to initialise

What are good values for those? i have 1 battery powered and 1 mains powered, i assume they must have different values.

For this unit, it’s up to you… Really, this will set how often you get temprature and light measurements (assuming we get this working of course ;)).

Generally, I would say to leave polling at 30 minutes and wakeup at 1 hour. Wakeup period defines how often you can send commands TO the device since most devices have other ways of configuring the sending of data FROM the device (except this one ;)).

Mains powered will not have wakeup configuration…

No - everything can have the same value - it won’t synchronise or anything if that’s what you’re worried about.

Anyway… Good news -:

Did you do anything special? Because I still get no reading for temp and lumi

Yes - I had to make another database update. I think this is complete now so I’ll do another binding update later.

ah ok :smile: cool
THANKS!!!

I’ve updated the binding - hopefully you’ll have success with all channels now :slight_smile: .

Sadly no, I have updated the binding and restarted OH2 and let it sit over night, still no temp or lumi.
Do I have to exclude and include the device?

Sorry, br,
Raymond

You will need to delete the things and add them again so that it picks up the new database information.

I excluded and reincluded in the meantime :smile:
That did the trick,
THANKS!!!
Happy Easter!!!

Br,
Raymond

Cool - so everything is working then?

I’ll get your device sent back - I’m not sure I’ll be able to do it for a few days as I’m travelling Tue-Fri. I also dont recall if yo gave me the return address so you might want to ping me an email with that at some stage.

My initial tests shows its working, but those were very, very breef tests.
Just to make sure, could you, before returning the device, do some thorough tests, just to make sure?
It would be a pitty if you send it back and some things aren’t working 100% :smile:
I am swamped with work the next couple of days, so my time is also limited.
Its no problem for me if you keep the device a bit longer.

If i recall correctly i did sent you a email with my return address, but i will send you another one :wink: :smile:
No problem!

Thanks for all your hard work!

br,
Raymond

Ok - I’ll hang on to it for a bit. I’m not sure I’ll be able to do too much more testing on this, but if you find any problems let me know and I’ll take a look.

You’re right - I have the email with your address :slight_smile: .

@Avner, @Hamish,
Maybe you guys can also help test this device with the development binding, so we can make 100% sure it’s working as it is suppose to now that Chris has still the device.
Thanks a lot,

Br,
Raymond

I very much want to test it but I’m in a time crunch. I’ll try in the next few days. it will be great if @chris could keep the device for a bit longer.
Thanks

I tested the HSM 100 device and I think that it is working now.
I installed the zwave development binding (see note1) and verified that I can get motion, temperature, and lux events from the device (note2) as well as see them renderred in basicui (note3)

I’m still not clear about how to set the duration for motion alarm to be turned off (see the xml file in note4)
The device turned once from ON to OFF after ~30 min, but then it turned to ON and never back to OFF

Where would I see the duration parameter or other related parameters (e.g. poll period) in the xml file (see note4) or in PaperUI (see note5)?

---------------------------------------------------

note1 - install the zwave development binding

I followed the instructions in here
uninstalled the zwave binding
cd /usr/share/openhab2/addons
wget http://www.cd-jackson.com/downloads/openhab2/org.openhab.binding.zwave-2.1.0-SNAPSHOT.jar
restarted openhab
After this I’m seeing 2 versions for ZWave Binding

bundle:list -s | grep zwave
...
200 | Active    |  80 | 2.1.0.201704162057    | ZWave Binding                                          | org.openhab.binding.zwave
202 | Installed |  80 | 2.0.0                 | ZWave Binding                                          | org.openhab.binding.zwave

note2 - add the HSM100 device, and verify that events are received from the device

I applied hard reset to the zwave controller and included the HAM100 device. After this I was able to see events in the log file events.log

cat /var/log/openhab2/events.log
2017-04-16 21:56:07.229 [ItemStateChangedEvent     ] - Hsm100Lux changed from NULL to 88
...
2017-04-16 21:56:07.578 [ItemStateChangedEvent     ] - Hsm100Temp changed from NULL to 22.8
...
2017-04-16 21:58:02.702 [ItemStateChangedEvent     ] - Hsm100AlarmMotion changed from NULL to ON
...
2017-04-16 22:17:28.215 [ItemStateChangedEvent     ] - Hsm100AlarmMotion changed from ON to OFF

note3 - HSM100 temerature, lux and motion alarm show up in basicui

note4 - HSM100 xml file

cat /var/lib/openhab2/zwave/network_fd7990ea__node_3.xml
<node>
  <homeId>0xfd7990ea</homeId>
  <nodeId>3</nodeId>
  <version>2</version>
  <manufacturer>0x1e</manufacturer>
  <deviceId>0x1</deviceId>
  <deviceType>0x2</deviceType>
  <listening>false</listening>
  <frequentlyListening>false</frequentlyListening>
  <routing>true</routing>
  <security>false</security>
  <beaming>false</beaming>
  <maxBaudRate>40000</maxBaudRate>
  <sleepDelay>1000</sleepDelay>
  <nodeInformationFrame>
    <commandClass>COMMAND_CLASS_MULTI_CHANNEL</commandClass>
    <commandClass>COMMAND_CLASS_SENSOR_MULTILEVEL</commandClass>
    <commandClass>COMMAND_CLASS_CONFIGURATION</commandClass>
    <commandClass>COMMAND_CLASS_WAKE_UP</commandClass>
    <commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
    <commandClass>COMMAND_CLASS_BATTERY</commandClass>
    <commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
    <commandClass>COMMAND_CLASS_NODE_NAMING</commandClass>
    <commandClass>COMMAND_CLASS_VERSION</commandClass>
  </nodeInformationFrame>
  <associationGroups>
    <entry>
      <int>1</int>
      <associationGroup>
        <index>1</index>
        <associations>
          <associationMember>
            <node>1</node>
            <endpoint>0</endpoint>
          </associationMember>
        </associations>
      </associationGroup>
    </entry>
  </associationGroups>
  <endpoints>
    <entry>
      <int>0</int>
      <endPoint>
        <deviceClass>
          <basicDeviceClass>BASIC_TYPE_ROUTING_SLAVE</basicDeviceClass>
          <genericDeviceClass>GENERIC_TYPE_SENSOR_MULTILEVEL</genericDeviceClass>
          <specificDeviceClass>SPECIFIC_TYPE_ROUTING_SENSOR_MULTILEVEL</specificDeviceClass>
        </deviceClass>
        <endpointId>0</endpointId>
        <secureCommandClasses/>
        <supportedCommandClasses>
          <entry>
            <commandClass>COMMAND_CLASS_BATTERY</commandClass>
            <COMMAND__CLASS__BATTERY>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <batteryLevel>100</batteryLevel>
              <batteryLow>false</batteryLow>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__BATTERY>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_BASIC</commandClass>
            <COMMAND__CLASS__BASIC>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__BASIC>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SENSOR_MULTILEVEL</commandClass>
            <COMMAND__CLASS__SENSOR__MULTILEVEL>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <sensors>
                <entry>
                  <multilevelSensorType>GENERAL</multilevelSensorType>
                  <multilevelSensor>
                    <sensorType>GENERAL</sensorType>
                    <initialised>true</initialised>
                  </multilevelSensor>
                </entry>
              </sensors>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__SENSOR__MULTILEVEL>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
            <COMMAND__CLASS__ASSOCIATION>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <maxGroups>1</maxGroups>
            </COMMAND__CLASS__ASSOCIATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_NO_OPERATION</commandClass>
            <COMMAND__CLASS__NO__OPERATION>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__NO__OPERATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_WAKE_UP</commandClass>
            <COMMAND__CLASS__WAKE__UP>
              <version>2</version>
              <instances>1</instances>
              <versionSupported>2</versionSupported>
              <targetNodeId>1</targetNodeId>
              <interval>3600</interval>
              <minInterval>360</minInterval>
              <maxInterval>90000</maxInterval>
              <defaultInterval>3600</defaultInterval>
              <intervalStep>360</intervalStep>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__WAKE__UP>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_VERSION</commandClass>
            <COMMAND__CLASS__VERSION>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <libraryType>LIB_SLAVE_ROUTING</libraryType>
              <protocolVersion>2.40</protocolVersion>
              <applicationVersion>1.12</applicationVersion>
            </COMMAND__CLASS__VERSION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_NODE_NAMING</commandClass>
            <COMMAND__CLASS__NODE__NAMING>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <name></name>
              <location></location>
            </COMMAND__CLASS__NODE__NAMING>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_MULTI_CHANNEL</commandClass>
            <COMMAND__CLASS__MULTI__CHANNEL>
              <version>2</version>
              <instances>1</instances>
              <versionSupported>2</versionSupported>
              <useDestEndpointAsSource>false</useDestEndpointAsSource>
              <endpointsAreTheSameDeviceClass>true</endpointsAreTheSameDeviceClass>
            </COMMAND__CLASS__MULTI__CHANNEL>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_CONFIGURATION</commandClass>
            <COMMAND__CLASS__CONFIGURATION>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <configParameters>
                <entry>
                  <int>1</int>
                  <configurationParameter>
                    <index>1</index>
                    <size>1</size>
                    <value>-56</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>2</int>
                  <configurationParameter>
                    <index>2</index>
                    <size>1</size>
                    <value>20</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>3</int>
                  <configurationParameter>
                    <index>3</index>
                    <size>1</size>
                    <value>-1</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>4</int>
                  <configurationParameter>
                    <index>4</index>
                    <size>1</size>
                    <value>100</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>5</int>
                  <configurationParameter>
                    <index>5</index>
                    <size>1</size>
                    <value>0</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>6</int>
                  <configurationParameter>
                    <index>6</index>
                    <size>1</size>
                    <value>-1</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
              </configParameters>
            </COMMAND__CLASS__CONFIGURATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
            <COMMAND__CLASS__MANUFACTURER__SPECIFIC>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <initSerialNumber>false</initSerialNumber>
              <deviceManufacturer>30</deviceManufacturer>
              <deviceType>2</deviceType>
              <deviceId>1</deviceId>
            </COMMAND__CLASS__MANUFACTURER__SPECIFIC>
          </entry>
        </supportedCommandClasses>
      </endPoint>
    </entry>
    <entry>
      <int>1</int>
      <endPoint>
        <deviceClass>
          <basicDeviceClass>BASIC_TYPE_ROUTING_SLAVE</basicDeviceClass>
          <genericDeviceClass>GENERIC_TYPE_SENSOR_MULTILEVEL</genericDeviceClass>
          <specificDeviceClass>SPECIFIC_TYPE_ROUTING_SENSOR_MULTILEVEL</specificDeviceClass>
        </deviceClass>
        <endpointId>1</endpointId>
        <secureCommandClasses/>
        <supportedCommandClasses>
          <entry>
            <commandClass>COMMAND_CLASS_BASIC</commandClass>
            <COMMAND__CLASS__BASIC>
              <endpoint reference="../../../.."/>
              <version>0</version>
              <instances>0</instances>
              <versionSupported>0</versionSupported>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__BASIC>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SENSOR_MULTILEVEL</commandClass>
            <COMMAND__CLASS__SENSOR__MULTILEVEL>
              <endpoint reference="../../../.."/>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <sensors>
                <entry>
                  <multilevelSensorType>GENERAL</multilevelSensorType>
                  <multilevelSensor>
                    <sensorType>GENERAL</sensorType>
                    <initialised>true</initialised>
                  </multilevelSensor>
                </entry>
              </sensors>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__SENSOR__MULTILEVEL>
          </entry>
        </supportedCommandClasses>
      </endPoint>
    </entry>
    <entry>
      <int>2</int>
      <endPoint>
        <deviceClass>
          <basicDeviceClass>BASIC_TYPE_ROUTING_SLAVE</basicDeviceClass>
          <genericDeviceClass>GENERIC_TYPE_SENSOR_MULTILEVEL</genericDeviceClass>
          <specificDeviceClass>SPECIFIC_TYPE_ROUTING_SENSOR_MULTILEVEL</specificDeviceClass>
        </deviceClass>
        <endpointId>2</endpointId>
        <secureCommandClasses/>
        <supportedCommandClasses>
          <entry>
            <commandClass>COMMAND_CLASS_BASIC</commandClass>
            <COMMAND__CLASS__BASIC>
              <endpoint reference="../../../.."/>
              <version>0</version>
              <instances>0</instances>
              <versionSupported>0</versionSupported>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__BASIC>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SENSOR_MULTILEVEL</commandClass>
            <COMMAND__CLASS__SENSOR__MULTILEVEL>
              <endpoint reference="../../../.."/>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <sensors>
                <entry>
                  <multilevelSensorType>LUMINANCE</multilevelSensorType>
                  <multilevelSensor>
                    <sensorType>LUMINANCE</sensorType>
                    <initialised>true</initialised>
                  </multilevelSensor>
                </entry>
              </sensors>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__SENSOR__MULTILEVEL>
          </entry>
        </supportedCommandClasses>
      </endPoint>
    </entry>
    <entry>
      <int>3</int>
      <endPoint>
        <deviceClass>
          <basicDeviceClass>BASIC_TYPE_ROUTING_SLAVE</basicDeviceClass>
          <genericDeviceClass>GENERIC_TYPE_SENSOR_MULTILEVEL</genericDeviceClass>
          <specificDeviceClass>SPECIFIC_TYPE_ROUTING_SENSOR_MULTILEVEL</specificDeviceClass>
        </deviceClass>
        <endpointId>3</endpointId>
        <secureCommandClasses/>
        <supportedCommandClasses>
          <entry>
            <commandClass>COMMAND_CLASS_BASIC</commandClass>
            <COMMAND__CLASS__BASIC>
              <endpoint reference="../../../.."/>
              <version>0</version>
              <instances>0</instances>
              <versionSupported>0</versionSupported>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__BASIC>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SENSOR_MULTILEVEL</commandClass>
            <COMMAND__CLASS__SENSOR__MULTILEVEL>
              <endpoint reference="../../../.."/>
              <version>1</version>
              <instances>1</instances>
              <versionSupported>1</versionSupported>
              <sensors>
                <entry>
                  <multilevelSensorType>TEMPERATURE</multilevelSensorType>
                  <multilevelSensor>
                    <sensorType>TEMPERATURE</sensorType>
                    <initialised>true</initialised>
                  </multilevelSensor>
                </entry>
              </sensors>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__SENSOR__MULTILEVEL>
          </entry>
        </supportedCommandClasses>
      </endPoint>
    </entry>
  </endpoints>
  <nodeNeighbors>
    <int>1</int>
  </nodeNeighbors>
  <lastReceived>2017-04-17 04:56:07.638 UTC</lastReceived>
</node>

note5 - device parameters in PaperUI

I’m also not sure - I don’t think I saw the device report an OFF - only ON. There was a config parameter (param 1 I think) that stated it set the off time, but I’m not convinced it did anything. I know I was configuring the device as I could turn the LED off on the front.

Maybe this is something for you all to look at while I still have the device - I don’t think there’s a lot I can do about this but best to try now if possible.

Although I got some motion alarm events, I don’t think the device is useful in its current state. It didn’t issue any motion alarms besides the ones I reported, even after several hours of activity.
The device LED is blinking when there is motion near it indicating that it is sensitive to the motion but this is not shown in openhab2 :disappointed:

I’ll have to leave this to you to resolve I’m afraid - if the device doesn’t issue alarms, then the binding can’t do anything…

I would check the configuration - if you don’t think the binding is doing something right then let me know and I’ll take a look.

The device that I’m using is the Ezmotion+ According to the manual here the parameter that is responsible for the duration between ON and OFF commands is parameter 2 (see note1), which is indeed set to its default value (20 min) in PaperUI.
I’ll test the device more tonight to check why it is not sending ON / OFF commands reliably.

@chris, is the + version supported now? I do see only one version for ezmotion in the device list (in here) and I think it is for the NON + one

note1 - parameter 2 dictates the duration between ON and OFF

Yes - I suspect we need to split the two devices into separate database entries if they are different (ie parameters or command classes are different). From what I’ve seen, they could be different, but I can’t find any logs or XML files from your device any more (all the dropbox links don’t work).