Aeon Labs Multisensor 6in1 config

Hi,

I have an Aeon Labs Multisensor 6in1.
I have everthing up and running with OpenHab except the tamper detection.

This is the info I got from Aeon Labs support team:


"It should send out a Notification report, there is no timeout for this type of trigger so you will need to slprogram in your own timeout to set it to no trigger.

Notification CC tamper report.

The alarm type should have an id number of 0x07 under the notification cc."


I tried:

{zwave=“18:command=sensor_alarm,alarm_type=0,respond_to_basic=true”}

and later

{zwave=“18:command=sensor_alarm,alarm_type=7,respond_to_basic=true”}

Does someone know if the Notification Command Class is supported in OpenHAB?
Isn’t it the same as the Alarm Command Class?

Anyone can help me, please?

The best place to look at what command classes are supported is the node XML file. However, I susecpt that it’s not the sensor_alarm class, but the alarm class. I would give that a try - I would also remove the respond_to_basic unless you know it’s correctly mapped, otherwise you will be getting a LOT of erronous alarms…

So, try…
{zwave="18:command=alarm,alarm_type=7"}

I hav just tried
{zwave=“18:command=alarm,alarm_type=7”}

And it doesn’t work…
I don’t know where to look for info.

Maybe I have to register the controller for Association Group 2 or 3. Right now it is only in Association Group 1.

However, I don’t know which group does what, because Aeon Labs manual is just useless…

Can you post the XML file here - its /etc/zwave/node18.xml.

I am trying…
but it doesn’t show correctly.

I think if you highlight the file, and click on the </> button, it should work (??).

<node> <deviceClass> <basicDeviceClass>ROUTING_SLAVE</basicDeviceClass> <genericDeviceClass>MULTILEVEL_SENSOR</genericDeviceClass> <specificDeviceClass>ROUTING_SENSOR_MULTILEVEL</specificDeviceClass> </deviceClass> <homeId>0x161daa3</homeId> <nodeId>18</nodeId> <version>4</version> <manufacturer>0x86</manufacturer> <deviceId>0x64</deviceId> <deviceType>0x2</deviceType> <listening>true</listening> <frequentlyListening>false</frequentlyListening> <routing>true</routing> <supportedCommandClasses> <entry> <commandClass>ASSOCIATION</commandClass> <associationCommandClass> <version>1</version> <instances>1</instances> <configAssociations> <entry> <int>1</int> <associationGroup> <Index>1</Index> <Nodes> <int>1</int> </Nodes> </associationGroup> </entry> </configAssociations> <maxGroups>1</maxGroups> </associationCommandClass> </entry> <entry> <commandClass>BATTERY</commandClass> <batteryCommandClass> <version>1</version> <instances>1</instances> <batteryLevel>100</batteryLevel> <batteryLow>false</batteryLow> <isGetSupported>true</isGetSupported> </batteryCommandClass> </entry> <entry> <commandClass>SENSOR_BINARY</commandClass> <binarySensorCommandClass> <version>1</version> <instances>1</instances> <isGetSupported>true</isGetSupported> </binarySensorCommandClass> </entry> <entry> <commandClass>VERSION</commandClass> <versionCommandClass> <version>1</version> <instances>1</instances> <libraryType>LIB_SLAVE_ENHANCED</libraryType> <protocolVersion>4.5</protocolVersion> <applicationVersion>1.6</applicationVersion> </versionCommandClass> </entry> <entry> <commandClass>SENSOR_MULTILEVEL</commandClass> <multiLevelSensorCommandClass> <version>5</version> <instances>1</instances> <sensors> <entry> <multilevelSensorType>TANK_CAPACITY</multilevelSensorType> <multilevelSensor> <sensorType>TANK_CAPACITY</sensorType> <initialised>false</initialised> </multilevelSensor> </entry> <entry> <multilevelSensorType>BAROMETRIC_PRESSURE</multilevelSensorType> <multilevelSensor> <sensorType>BAROMETRIC_PRESSURE</sensorType> <initialised>false</initialised> </multilevelSensor> </entry> <entry> <multilevelSensorType>RELATIVE_HUMIDITY</multilevelSensorType> <multilevelSensor> <sensorType>RELATIVE_HUMIDITY</sensorType> <initialised>true</initialised> </multilevelSensor> </entry> <entry> <multilevelSensorType>DEW_POINT</multilevelSensorType> <multilevelSensor> <sensorType>DEW_POINT</sensorType> <initialised>false</initialised> </multilevelSensor> </entry> <entry> <multilevelSensorType>ULTRAVIOLET</multilevelSensorType> <multilevelSensor> <sensorType>ULTRAVIOLET</sensorType> <initialised>true</initialised> </multilevelSensor> </entry> <entry> <multilevelSensorType>TEMPERATURE</multilevelSensorType> <multilevelSensor> <sensorType>TEMPERATURE</sensorType> <initialised>true</initialised> </multilevelSensor> </entry> <entry> <multilevelSensorType>LUMINANCE</multilevelSensorType> <multilevelSensor> <sensorType>LUMINANCE</sensorType> <initialised>true</initialised> </multilevelSensor> </entry> <entry> <multilevelSensorType>MOISTURE</multilevelSensorType> <multilevelSensor> <sensorType>MOISTURE</sensorType> <initialised>false</initialised> </multilevelSensor> </entry> </sensors> <isGetSupported>true</isGetSupported> </multiLevelSensorCommandClass> </entry> <entry> <commandClass>WAKE_UP</commandClass> <WakeUpCommandClass> <version>2</version> <instances>1</instances> <targetNodeId>1</targetNodeId> <interval>240</interval> <minInterval>240</minInterval> <maxInterval>3600</maxInterval> <defaultInterval>3600</defaultInterval> <intervalStep>60</intervalStep> <lastWakeup>2015-11-24 22:24:01.176 UTC</lastWakeup> </WakeUpCommandClass> </entry> <entry> <commandClass>NO_OPERATION</commandClass> <noOperationCommandClass> <version>1</version> <instances>1</instances> </noOperationCommandClass> </entry> <entry> <commandClass>CONFIGURATION</commandClass> <configurationCommandClass> <version>1</version> <instances>1</instances> <configParameters> <entry> <int>2</int> <configurationParameter> <index>2</index> <size>1</size> <value>1</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> <entry> <int>3</int> <configurationParameter> <index>3</index> <size>2</size> <value>15</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> <entry> <int>4</int> <configurationParameter> <index>4</index> <size>1</size> <value>5</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> <entry> <int>5</int> <configurationParameter> <index>5</index> <size>1</size> <value>1</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> <entry> <int>101</int> <configurationParameter> <index>101</index> <size>4</size> <value>96</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> <entry> <int>102</int> <configurationParameter> <index>102</index> <size>4</size> <value>144</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> <entry> <int>39</int> <configurationParameter> <index>39</index> <size>1</size> <value>20</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> <entry> <int>103</int> <configurationParameter> <index>103</index> <size>4</size> <value>1</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> <entry> <int>40</int> <configurationParameter> <index>40</index> <size>1</size> <value>1</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> <entry> <int>41</int> <configurationParameter> <index>41</index> <size>2</size> <value>1</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> <entry> <int>9</int> <configurationParameter> <index>9</index> <size>2</size> <value>0</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> <entry> <int>42</int> <configurationParameter> <index>42</index> <size>1</size> <value>1</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> <entry> <int>43</int> <configurationParameter> <index>43</index> <size>2</size> <value>1</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> <entry> <int>44</int> <configurationParameter> <index>44</index> <size>1</size> <value>1</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> <entry> <int>45</int> <configurationParameter> <index>45</index> <size>1</size> <value>2</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> <entry> <int>46</int> <configurationParameter> <index>46</index> <size>1</size> <value>0</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> <entry> <int>111</int> <configurationParameter> <index>111</index> <size>4</size> <value>30</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> <entry> <int>112</int> <configurationParameter> <index>112</index> <size>4</size> <value>60</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> <entry> <int>113</int> <configurationParameter> <index>113</index> <size>4</size> <value>600</value> <readOnly>false</readOnly> <writeOnly>false</writeOnly> </configurationParameter> </entry> </configParameters> </configurationCommandClass> </entry> <entry> <commandClass>ALARM</commandClass> <alarmCommandClass> <version>1</version> <instances>1</instances> <alarms> <entry> <alarmType>GENERAL</alarmType> <org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveAlarmCommandClass_-Alarm> <alarmType>GENERAL</alarmType> <initialised>true</initialised> <outer-class reference="../../../.."/> </org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveAlarmCommandClass_-Alarm> </entry> </alarms> <isGetSupported>true</isGetSupported> </alarmCommandClass> </entry> <entry> <commandClass>MANUFACTURER_SPECIFIC</commandClass> <manufacturerSpecificCommandClass> <version>1</version> <instances>1</instances> </manufacturerSpecificCommandClass> </entry> <entry> <commandClass>BASIC</commandClass> <basicCommandClass> <version>1</version> <instances>1</instances> <isGetSupported>true</isGetSupported> </basicCommandClass> </entry> </supportedCommandClasses> <nodeNeighbors> <int>1</int> <int>4</int> <int>5</int> <int>12</int> <int>21</int> </nodeNeighbors> <lastSent>2016-01-10 13:57:32.811 UTC</lastSent> <lastReceived>2016-01-10 13:57:33.310 UTC</lastReceived> <applicationUpdateReceived>true</applicationUpdateReceived> </node>

Try -:

{zwave="18:command=alarm,alarm_type=0"}

This is the only alarm that the device is reporting it supports. Alternatively, you could try -:

{zwave="18:command=alarm"}

Tried…

Still nothing.
I think I am going to give up on this, unless someone reports a succesful config.

Thanks anyway.

The tamper/vibration alarm works, and it is

{zwave=“node id:command=alarm”}

Here’s the line from my items file:

Number sensor_1_alarm "Alarm: [%s]" <siren> (MultiSensor, MultiSensor_Sensors) {zwave="4:command=alarm"}

Mine is:

Contact ctTamper {zwave=“18:command=alarm,alarm_type=0”}

Which association groups have you set?

I only have Assoc. Group #1
Could that be the problem?

Contact item types only allow OPEN and CLOSED whereas this alarm fires a 0 every time it is triggered.

I would say that is more likely your issue although I’m relatively new to zwave myself.

Try using a number item.

I have a similar sensor with a Contact item and it works.
I think it is a different problem.

If you don’t want to try that then suit yourself.

The point I’m making is it doesn’t report open or closed or on or off. The payload is a 0 each and every time the alarm is triggered.

If you don’t think the above is relevant could you elaborate on the problem?

I think open/closed should be ok - the converters should convert the 0 (that’s not to say it’s not worth trying as the converters are a bit picky!).

I would suggest looking in the log file (DEBUG) to see what is received when you press the tamper button.

I will try, but I think it is more likely that it is a different thing.

A contact should work. It does for all the sensor I have.

If the device always sends a 0, then I just have to set the item to OPEN and wait for a CLOSED.
I wasn’t expecting the device to send different values.
In fact, the item is uninitialized, but it does not get neither a OPEN or a CLOSED update.

If you can tell how many Association Groups do you have, it would be more useful than a “suit yourself” answer…

Hopefully this is the correct section of the XML…

   <entry>
      <commandClass>ASSOCIATION</commandClass>
      <associationCommandClass>
        <version>1</version>
        <instances>1</instances>
        <configAssociations>
          <entry>
            <int>1</int>
            <associationGroup>
              <Index>1</Index>
              <Nodes>
                <int>1</int>
              </Nodes>
            </associationGroup>
          </entry>
        </configAssociations>
        <maxGroups>1</maxGroups>
      </associationCommandClass>
    </entry>

Node 1 is my Z Stick.

Nothing works…

I have tried all the combinations.
Number, Contact, etc…

In fact, in the last test (I don’t know what else I did change) what I am getting is an alarm (with value 0) when the PIR detects motion!!!, but not from the tamper.

Are you sure you get a tamper/vibration alarm?

I just give up.
Thank you, guys.

Yes, I get an update to my item every time I tap the multisensor. Whereas PIR detection only occurs once every 4 minutes at a minimum for me.

Have you tried running openhab in debug mode and looking through the logs?

As per my question above, what is show up (if anything) in the DEBUG log file when you create the tamper alarm?