fireplex
(fireplex)
September 4, 2020, 3:50pm
1
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!
sihui
(SiHui)
September 4, 2020, 4:40pm
2
Check config parameter 6.
If you want to control this through a rule you need to add a config_decimal channel:
It doesn’t look like anyone has updated the database, but it’s perfectly doable by adding a channel linked to the respective parameter. The channel type is config_decimal, and it needs a configuration option of “parameter=” and the parameter ID…
to the database
fireplex
(fireplex)
September 4, 2020, 4:46pm
3
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.
sihui
(SiHui)
September 4, 2020, 4:49pm
4
fireplex:
Hope that’s clearer,
It was already clear before. Please post your xml for this device.
1 Like
fireplex
(fireplex)
September 4, 2020, 5:24pm
5
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>
fireplex
(fireplex)
September 4, 2020, 8:54pm
6
Hope that’s what you needed? Please let me know anything else to help.
sihui
(SiHui)
September 5, 2020, 2:38pm
7
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.
chris
(Chris Jackson)
September 5, 2020, 3:27pm
8
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 -:
Yes…[quote=“shorty707, post:16, topic:14360”]
which class?
[/quote]
To the ALARM class.
You will need some config with that. What the converter does, is appends the value of the state to the work event, and then looks this up in the config setting. The state must currently be a number, so -:
event1=SMOKE:1
will send NOTIFICATION type SMOKE, event 1 when the command value is 1. Multiple events can be separated by a comma.
Check here for the (untested!) siren command setting.
I need to…
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
sihui
(SiHui)
September 5, 2020, 3:52pm
9
chris:
I think we need to add a new channel to be able to send ALARMS to the device.
I gave it a try, please review:
1 Like
chris
(Chris Jackson)
September 5, 2020, 4:16pm
10
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 ).
I had to remind myself how this works by looking in the code , and from looking at the XML for this device above, it only seems to report SIREN, so I think that would be right.
sihui
(SiHui)
September 5, 2020, 4:38pm
11
chris:
I think that all that is needed is event0=SIREN:0;event1=SIREN:1
Okay, convinced
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
chris
(Chris Jackson)
September 5, 2020, 4:41pm
12
It shouldn’t be, but you’re right, something is wrong here. I’ll take a look at this now…
chris
(Chris Jackson)
September 5, 2020, 4:54pm
13
It was a bug in the code updating the database - should be sorted now and I’ve approved the changes…
Thanks.
1 Like
fireplex
(fireplex)
September 6, 2020, 4:00pm
14
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.
chris
(Chris Jackson)
September 6, 2020, 4:42pm
15
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).
fireplex
(fireplex)
September 6, 2020, 8:39pm
16
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 ?
sihui
(SiHui)
September 7, 2020, 6:17am
17
The new channel is available:
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="zwave"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0
https://openhab.org/schemas/thing-description/v1.0.0">
<thing-type id="zipato_pse02_00_000" listed="false">
<label>AB02Z_PSE02 Indoor Siren</label>
<description><![CDATA[
Indoor Siren<br /><h1>Overview</h1><p>The Zipato indoor siren is an intelligent device that can be controlled remotely by Z-wave network. The indoor siren is battery powered, small and easily installed. When the siren is triggered, LED light will flash, and there will be an alarm sound at the same time. The sound level is at least 115 dB.</p> <br /><h2>Inclusion Information</h2><p>The indoor siren can be included to the Z-Wave network by pressing the code button.</p> <ol><li>Disassemble the siren and insert the battery into the siren. Make sure the device is located withinthe direct range of the controller.</li> <li>Set the controller into the inclusion mode (see main controller’s operating manual).</li> <li>Quickly triple click the code button, LED light will flash red for 5 times.</li> <li>The Indoor siren will be detected and includedin the Z-Wave network.</li> <li>Wait for the main controller to configure the siren.</li> </ol><br /><h2>Exclusion Information</h2><ol><li>Make sure the siren is connected to power source. 2) Set the main controller into the exclusion mode (see main controller’s operating manual).</li> <li>Quickly triple click the code button, LED light will flash red for 5 times</li> <li>Wait for the main controller to remove the sensor. </li> </ol>
]]></description>
<category>Siren</category>
<!-- CHANNEL DEFINITIONS -->
<channels>
<channel id="switch_binary" typeId="switch_binary">
<label>Switch</label>
<properties>
<property name="binding:*:OnOffType">COMMAND_CLASS_SWITCH_BINARY,COMMAND_CLASS_BASIC</property>
This file has been truncated. show original
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:
A number of people have run into trouble performing manual installs of the Zigbee and Z-Wave bindings. A manual install (dropping the jar into addons) is rarely needed, but some people prefer a manual install over apt-get, or want to use a stable OH release with a recent Zigbee or Z-Wave binding. Here is a script that will hopefully make it easier to install, upgrade, and uninstall these bindings, and prevent some of the common issues.
Who would benefit from this script:
Anyone wanting to tes…
fireplex
(fireplex)
September 7, 2020, 12:14pm
18
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 ?
sihui
(SiHui)
September 7, 2020, 5:53pm
19
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.
fireplex
(fireplex)
September 8, 2020, 7:09pm
20
Ok never mind, thanks for trying