Zipato NE_NAS-AB02Z Indoor Siren - need to send a NOTIFICATION to it or raw zwave command

Hello,

I just acquired this siren, it supports both playing doorbell music and acting as a siren.

Unfortunately it only present 2 channels, a switch which only activates the siren and the battery level.

So, the question is how do you activate the music? From digging around it seems this device accepts a zwave command class called NOTIFICATION V4 and by sending different values you can control the siren.

It is described here I think??

https://www.vesternet.com/pages/apnt-125-using-the-d-link-zipato-and-philio-multi-sound-sirens-in-vera-ui7 I believe.

Is there any way I can do this in openHAB, ie either transmit via a rule the zwave raw command or better send this NOTIFICATION ?

Thanks!

Check config parameter 6.

If you want to control this through a rule you need to add a config_decimal channel:

to the database

Hi,

I can configure the channels fine, eg. music index, music volume etc. within PaperUI, I don’t need to be able to set these from a rule.

What I cannot do is actually trigger the music.

It seems that you need an association from another device like a door sensor to send a notification directly to the siren for it to sound the music.

As I say I only have 1 channel to control the siren in openhab and that is only for the alarm sound.

So I somehow need to simulate in a rule what a door/window sensor sends via an association.

Hope that’s clearer,

Thanks.

It was already clear before. Please post your xml for this device.

1 Like
  node>
  <homeId>0xd5894206</homeId>
  <nodeId>14</nodeId>
  <version>4</version>
  <manufacturer>0x131</manufacturer>
  <deviceId>0x1083</deviceId>
  <deviceType>0x3</deviceType>
  <listening>false</listening>
  <frequentlyListening>true</frequentlyListening>
  <routing>true</routing>
  <security>false</security>
  <beaming>true</beaming>
  <maxBaudRate>40000</maxBaudRate>
  <sleepDelay>1000</sleepDelay>
  <nodeInformationFrame>
    <commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>
    <commandClass>COMMAND_CLASS_SECURITY_2</commandClass>
    <commandClass>COMMAND_CLASS_TRANSPORT_SERVICE</commandClass>
    <commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>
    <commandClass>COMMAND_CLASS_VERSION</commandClass>
    <commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
    <commandClass>COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION</commandClass>
    <commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
    <commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
    <commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
    <commandClass>COMMAND_CLASS_SWITCH_BINARY</commandClass>
    <commandClass>COMMAND_CLASS_ALARM</commandClass>
    <commandClass>COMMAND_CLASS_INDICATOR</commandClass>
    <commandClass>COMMAND_CLASS_CONFIGURATION</commandClass>
    <commandClass>COMMAND_CLASS_BATTERY</commandClass>
    <commandClass>COMMAND_CLASS_SUPERVISION</commandClass>
  </nodeInformationFrame>
  <associationGroups class="concurrent-hash-map">
    <entry>
      <int>1</int>
      <associationGroup>
        <index>1</index>
        <maxNodes>0</maxNodes>
        <associations>
          <associationMember>
            <node>1</node>
          </associationMember>
        </associations>
      </associationGroup>
    </entry>
  </associationGroups>
  <endpoints class="concurrent-hash-map">
    <entry>
      <int>0</int>
      <endPoint>
        <deviceClass>
          <basicDeviceClass>BASIC_TYPE_ROUTING_SLAVE</basicDeviceClass>
          <genericDeviceClass>GENERIC_TYPE_SWITCH_BINARY</genericDeviceClass>
          <specificDeviceClass>SPECIFIC_TYPE_SIREN</specificDeviceClass>
        </deviceClass>
        <endpointId>0</endpointId>
        <secureCommandClasses/>
        <supportedCommandClasses class="concurrent-hash-map">
          <entry>
            <commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>
            <COMMAND__CLASS__POWERLEVEL>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
              <powerLevel>0</powerLevel>
              <powerTimeout>0</powerTimeout>
            </COMMAND__CLASS__POWERLEVEL>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION</commandClass>
            <COMMAND__CLASS__MULTI__CHANNEL__ASSOCIATION>
              <version>3</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>3</versionSupported>
              <maxGroups>1</maxGroups>
            </COMMAND__CLASS__MULTI__CHANNEL__ASSOCIATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
            <COMMAND__CLASS__ASSOCIATION__GRP__INFO>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
              <autoSubscribeGroups/>
            </COMMAND__CLASS__ASSOCIATION__GRP__INFO>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>
            <COMMAND__CLASS__ZWAVEPLUS__INFO>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>2</versionSupported>
              <zwPlusVersion>1</zwPlusVersion>
              <zwPlusRole>ROLE_TYPE_SLAVE_SLEEPING_LISTENING</zwPlusRole>
              <zwPlusNodeType>NODE_TYPE_ZWAVEPLUS_NODE</zwPlusNodeType>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__ZWAVEPLUS__INFO>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ALARM</commandClass>
            <COMMAND__CLASS__ALARM>
              <version>8</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>8</versionSupported>
              <alarms>
                <entry>
                  <alarmType>SIREN</alarmType>
                  <alarmState>
                    <alarmType>SIREN</alarmType>
                    <reportedEvents/>
                    <outer-class reference="../../../.."/>
                  </alarmState>
                </entry>
              </alarms>
              <v1Supported>true</v1Supported>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__ALARM>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_BASIC</commandClass>
            <COMMAND__CLASS__BASIC>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>2</versionSupported>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__BASIC>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
            <COMMAND__CLASS__MANUFACTURER__SPECIFIC>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>2</versionSupported>
              <initSerialNumber>false</initSerialNumber>
              <deviceManufacturer>305</deviceManufacturer>
              <deviceType>3</deviceType>
              <deviceId>4227</deviceId>
            </COMMAND__CLASS__MANUFACTURER__SPECIFIC>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_BATTERY</commandClass>
            <COMMAND__CLASS__BATTERY>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
              <batteryLevel>100</batteryLevel>
              <batteryLow>false</batteryLow>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__BATTERY>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
            <COMMAND__CLASS__ASSOCIATION>
              <version>2</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>2</versionSupported>
              <maxGroups>1</maxGroups>
            </COMMAND__CLASS__ASSOCIATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_CONFIGURATION</commandClass>
            <COMMAND__CLASS__CONFIGURATION>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
              <configParameters>
                <entry>
                  <int>1</int>
                  <configurationParameter>
                    <index>1</index>
                    <size>1</size>
                    <value>3</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>2</int>
                  <configurationParameter>
                    <index>2</index>
                    <size>1</size>
                    <value>2</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>1</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>5</int>
                  <configurationParameter>
                    <index>5</index>
                    <size>1</size>
                    <value>10</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
                <entry>
                  <int>6</int>
                  <configurationParameter>
                    <index>6</index>
                    <size>1</size>
                    <value>9</value>
                    <readOnly>false</readOnly>
                    <writeOnly>false</writeOnly>
                  </configurationParameter>
                </entry>
              </configParameters>
            </COMMAND__CLASS__CONFIGURATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_INDICATOR</commandClass>
            <COMMAND__CLASS__INDICATOR>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
              <isGetSupported>true</isGetSupported>
              <supportedIndicatorsInitialised>true</supportedIndicatorsInitialised>
              <supportedIndicators/>
            </COMMAND__CLASS__INDICATOR>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
            <COMMAND__CLASS__DEVICE__RESET__LOCALLY>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__DEVICE__RESET__LOCALLY>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SWITCH_BINARY</commandClass>
            <COMMAND__CLASS__SWITCH__BINARY>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__SWITCH__BINARY>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_NO_OPERATION</commandClass>
            <COMMAND__CLASS__NO__OPERATION>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__NO__OPERATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_VERSION</commandClass>
            <COMMAND__CLASS__VERSION>
              <version>2</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>3</versionSupported>
              <libraryType>LIB_SLAVE_ROUTING</libraryType>
              <protocolVersion>6.2</protocolVersion>
              <applicationVersion>2.17</applicationVersion>
              <hardwareVersion>96</hardwareVersion>
            </COMMAND__CLASS__VERSION>
          </entry>
        </supportedCommandClasses>
      </endPoint>
    </entry>
  </endpoints>
  <nodeNeighbors/>
  <lastReceived>2020-09-04 15:05:26.374 UTC</lastReceived>

Hope that’s what you needed? Please let me know anything else to help.

I was hoping to find a missing channel in the database from your xml, but unfortunately this is not the case. Also I can’t find a notification command class and I am not sure if we just can add that to the database if the xml does not report this.
Maybe @chris has time to take a look.

I think we need to add a new channel to be able to send ALARMS to the device. This isn’t a very common feature but I found a discussion about it from a few years ago when this was implemented -:

The notification command class is the same as ALARM. For some reason ZWave renamed ALARM to NOTIFICATION at V2 - so they have formally ALARM_V1, ALARM_V2, then NOTIFICATION_V3 etc…

The binding can’t use two different names for the same thing, so I continued to use ALARM, but it’s the same.

1 Like

I gave it a try, please review:

1 Like

Thanks @sihui

It seems there are only 2 events in the siren event type -:

        SIREN__NONE("SIREN", 0),
        SIREN__ACTIVE("SIREN", 1),

… so, I think that all that is needed is event0=SIREN:0;event1=SIREN:1. (note: I think - I’m not 100% sure so we’ll have to give this a try :slight_smile: ).

I had to remind myself how this works by looking in the code :sunglasses:, and from looking at the XML for this device above, it only seems to report SIREN, so I think that would be right.

Okay, convinced :grinning:
The bad thing: I edited my database edit and this was not possible: the changes don’t get saved. Maybe it needs to be approved before?

1 Like

It shouldn’t be, but you’re right, something is wrong here. I’ll take a look at this now…

It was a bug in the code updating the database - should be sorted now and I’ve approved the changes…

Thanks.

1 Like

I’m a bit lost, has a new channel been added I can try? Do I just need to exclude the siren from the controller then include to pickup the changes?

Thanks.

Yes, a new channel was added. You will need to use the latest SNAPSHOT binding, and you will need to delete the thing and re-add it so that your system picks up the latest definition (there’s no need to exclude/include the device though).

OK thanks.

I run openHABian, I switched from Stable to latest SNAPSHOT 2.5.9 S217-1, deleted the device via Paper UI then added it back in but I still only see 2 channels.

Should I remove the xml for it also ?

The new channel is available:

You will need the latest zwave binding version from here:

https://ci.openhab.org/view/Integration%20Builds%20(2.5.x)/job/openHAB2.5.x-ZWave/

There is no need to upgrade your openHAB installation, only an update for your zwave binding is needed.
Either drop the jar in your addons folder or use this script:

Thanks for the help.

So, I dropped the jar into addons and rebooted, deleted the siren and readded but no change.

From the karaf console list -s|grep zwave was reporting 2 zwave bindings, 2.5.8 and 2.5.9.xxxx

So from paperui I uninstalled zwave 2.5.8. Then I had an error about serial transport, so looking at the link I ran feature:install openhab-transport-serial which seems to have resolved that.

Reboot again, console only reports:

openhab> list -s|grep zwave
243 │ Active │  80 │ 2.5.9.202009070336      │ org.openhab.binding.zwave

Deleted the siren, added again but still only 2 channels.

Sorry this is all new to me, anything else I need to do ?

No, updating the zwave binding to the latest snapshot and deleting the thing and re-adding it is all what is needed.
I have no idea why you are still not seeing that new channel, sorry.

Ok never mind, thanks for trying