How to send command to Doorbell/Siren via URL?

For Z-Wave related questions in Domoticz

Moderator: leecollings

Post Reply
ZachariahVance
Posts: 5
Joined: Tuesday 27 April 2021 2:19
Target OS: Windows
Domoticz version:
Contact:

How to send command to Doorbell/Siren via URL?

Post by ZachariahVance »

Hi,

I have a AEON Labs (Aeotec) ZW056 Doorbell Gen5+.

I'd like to ring the selected ringtone using a Blocky script.
I saw somewhere (don't remember where exactly) that there's a way to do this by executing a URL command.

I'd like to know how do we find out how to format this URL?

Here's some clues I've found out until now:
Setup: Hardware: Z-Wave: Setup: Control Panel: Select the Doorbell: Current Values: Play Ringtone:
There I enter 1 or 2 or 3 or etc and hit "Submit" and it plays the selected ringtone.
I've used Google Chrome right-click "Inspect" to see the code. Here's the code for the Submit button:

Code: Select all

<button type="submit" onclick="return DoValue('14-CONFIGURATION-user-byte-1-6');">Submit</button>
Also found the "ToolTips":

Code: Select all

Select a ringtone to play.
Value=0, stop playing.
Value=1-100, play the specified ringtone.
Value=255, play the default ringtone.
Value=other, ignore.
I've also downloaded the full z-wave config as an XML. Here is the node of my Door bell:
Spoiler: show
<Node id="14" name="" location="" basic="4" generic="16" specific="5" roletype="5" devicetype="3840" nodetype="0" type="Siren" listening="true" frequentListening="false" beaming="true" routing="true" max_baud_rate="100000" version="4" configrevision="5" query_stage="Complete">
<Neighbors>57,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</Neighbors>
<Manufacturer id="86" name="AEON Labs">
<Product type="104" id="38" name="ZW056 Doorbell Gen5">
<MetaData>
<MetaDataItem name="OzwInfoPage">http://www.openzwave.com/device-databas ... taDataItem>
<MetaDataItem name="ProductPic">images/aeotec/zw056.png</MetaDataItem>
<MetaDataItem name="Description">Aeon Labs Doorbell supports playing MP3 music files with a press of this doorbell. It has a 128MB flash memory that can store up to 800 ringtones. The volume can be adjusted manually via short press on the Volume Button, also you can switch the doorbell sound to the next via long press on the Volume Button. You may change/update your doorbell ringtone at any point in time you want by connecting your Doorbell to your PC to update the sound track on your Doorbell’s flash memory. There is a small Wireless Button, which can trigger the doorbell on the other side of the wall to play the selected doorbell music when pressed. It also act as a repeater that forward Z-Wave command messages to destination nodes if the originating controller is out of range from the destination node. By taking advantage of the Z-Wave mesh network, commands can be routed to their destination via intermediary “listening” Z-Wave products. Products that are Z-Wave certified can be used and communicate with other Z-Wave certified devices. Also a tool that can be programmed, scheduled, controlled and communicated with from anywhere in the world.</MetaDataItem>
<MetaDataItem name="ProductManual">https://Products.Z-WaveAlliance.org/Pro ... /1583/Aeon Labs Doorbell Gen5 manual.pdf</MetaDataItem>
<MetaDataItem name="InclusionDescription">Turn the primary controller of Z-Wave network into inclusion mode, short press the product’s Action button that you can find on the product's housing.</MetaDataItem>
<MetaDataItem name="ExclusionDescription">Turn the primary controller of Z-Wave network into exclusion mode, short press the product’s Action button that you can find on the product's housing.</MetaDataItem>
<MetaDataItem name="ResetDescription">Press and hold the Action button that you can find on the product's housing for 20 seconds and then release. This procedure should only be used when the primary controller is missing or inoperable.</MetaDataItem>
<MetaDataItem name="WakeupDescription">N/A</MetaDataItem>
<MetaDataItem name="Name">Doorbell Gen5</MetaDataItem>
<ChangeLog>
<Entry author="Justin Hammond - [email protected]" date="08 May 2019" revision="3">Initial Metadata Import from Z-Wave Alliance Database - https://products.z-wavealliance.org/pro ... xml</Entry>
<Entry author="Justin Hammond - [email protected]" date="23 May 2019" revision="4">Updated Metadata Import from Z-Wave Alliance Database - https://products.z-wavealliance.org/pro ... xml</Entry>
<Entry author="Justin Hammond - [email protected]" date="23 May 2019" revision="5">Updated Metadata Import from Z-Wave Alliance Database - https://products.z-wavealliance.org/pro ... xml</Entry>
</ChangeLog>
</MetaData>
</Product>
</Manufacturer>
<CommandClasses>
<CommandClass id="32" name="COMMAND_CLASS_BASIC">
<Compatibility>
<Mapping>37</Mapping>
</Compatibility>
<State>
<CCVersion>1</CCVersion>
</State>
<Instance index="1"/>
</CommandClass>
<CommandClass id="37" name="COMMAND_CLASS_SWITCH_BINARY">
<Compatibility/>
<State>
<CCVersion>1</CCVersion>
<InNif>true</InNif>
</State>
<Instance index="1"/>
<Value type="bool" genre="user" instance="1" index="0" label="Switch" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False">
<Help>Turn On/Off Device</Help>
</Value>
</CommandClass>
<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY">
<Compatibility/>
<State>
<CCVersion>1</CCVersion>
<InNif>true</InNif>
<StaticRequests>4</StaticRequests>
</State>
<Instance index="1"/>
</CommandClass>
<CommandClass id="94" name="COMMAND_CLASS_ZWAVEPLUS_INFO">
<Compatibility/>
<State>
<CCVersion>1</CCVersion>
<InNif>true</InNif>
<StaticRequests>6</StaticRequests>
</State>
<Instance index="1"/>
<Value type="byte" genre="system" instance="1" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="1">
<Help>ZWave+ Version Supported on the Device</Help>
</Value>
<Value type="short" genre="system" instance="1" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="3840">
<Help>Icon File to use for the Installer Application</Help>
</Value>
<Value type="short" genre="system" instance="1" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="3840">
<Help>Icon File to use for the User Application</Help>
</Value>
</CommandClass>
<CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION">
<Compatibility/>
<State>
<CCVersion>1</CCVersion>
<InNif>true</InNif>
<StaticRequests>4</StaticRequests>
</State>
<Instance index="1"/>
<Value type="byte" genre="config" instance="1" index="2" label="doorbell ringtone repetitions" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="1" max="255" value="1">
<Help> Set the repetitions for playing doorbell ringtone. Value=1 to 255, the range of repetition is 1 to 100. Note: If the time of playing doorbell ringtone is more than 20s, the volume of ringtone will reduce to silence no matter how many repetitions of doorbell ringtone are set. </Help>
</Value>
<Value type="byte" genre="config" instance="1" index="5" label="Default Doorbell Ringtone" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="1" max="100" value="3">
<Help> Set the default doorbell ringtone. Value=1-100, Specify the ringtone as default. </Help>
</Value>
<Value type="byte" genre="user" instance="1" index="6" label="Play Ringtone" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="255" value="0">
<Help> Select a ringtone to play. Value=0, stop playing. Value=1-100, play the specified ringtone. Value=255, play the default ringtone. Value=other, ignore. </Help>
</Value>
<Value type="list" genre="user" instance="1" index="7" label="Control" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="1" size="1">
<Help>Playback Control</Help>
<Item label="Play" value="1"/>
<Item label="Stop" value="2"/>
<Item label="Pause" value="3"/>
<Item label="Next" value="4"/>
<Item label="Previous" value="5"/>
</Value>
<Value type="byte" genre="config" instance="1" index="8" label="Volume" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="10" value="1">
<Help>Set the volume of ringtone</Help>
</Value>
<Value type="list" genre="config" instance="1" index="10" label="Swap Buttons" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="0" size="1">
<Help> Define functions of "Button -" and "Button+". Button - is previous, Button+ is next. </Help>
<Item label="Standard" value="0"/>
<Item label="Reversed" value="1"/>
</Value>
<Value type="list" genre="config" instance="1" index="11" label="Button Short/Long Press Function" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="0" size="1">
<Help> Define functions of "Button -" and "Button+" when short pressing and long pressing it. </Help>
<Item label="Short Press - Volume, Long Press - RingTone" value="0"/>
<Item label="Short Press - RingTone, Long Press - Volume" value="1"/>
</Value>
<Value type="list" genre="config" instance="1" index="42" label="Wireless Button Status" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
<Help>Get Wireless Button Battery Status</Help>
<Item label="Normal Battery Level" value="0"/>
<Item label="Low Battery Level" value="255"/>
</Value>
<Value type="list" genre="config" instance="1" index="80" label="Notification status" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="2" vindex="2" size="1">
<Help>Defines the automated status notification of an associated device when status changes</Help>
<Item label="Nothing" value="0"/>
<Item label="Hail" value="1"/>
<Item label="Basic" value="2"/>
</Value>
<Value type="list" genre="config" instance="1" index="81" label="Low Battery Notification status" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="1" size="1">
<Help>Defines the automated status notification of an associated device when the wireless button battery level changes</Help>
<Item label="Nothing" value="0"/>
<Item label="Configuration Paramater 42" value="1"/>
</Value>
<Value type="list" genre="config" instance="1" index="241" label="Pair Wireless Button" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="4">
<Help> Pair the Wireless Button with Doorbell. Value=0x55555555, Start the Wireless Button pairing mode and the blue Led will blink slowly, short press the Wireless Button once, if the blue Led change to be solid, which means the pairing is successful. Otherwise, repeat the steps. It will automatically exit the pairing mode after 8s if there is no pressing action of the Wireless Button. Note: You can send this configuration Get CC to ask the pairing result: If configuration report value=0x00000000, which means the pairing is failed. If configuration report value =0xFFFFFFFF, which means the pairing is successful. </Help>
<Item label="Not Pairing/Unpaired" value="0"/>
<Item label="Not Pairing/Unpaired" value="0"/>
</Value>
<Value type="list" genre="config" instance="1" index="252" label="Configuration Locked" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="0" size="1">
<Help>Enable/disable Configuration Locked</Help>
<Item label="Disable" value="0"/>
<Item label="Enable" value="1"/>
</Value>
<Value type="list" genre="config" instance="1" index="255" label="Reset To Factory Defaults" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="1" size="4">
<Help>Reset to factory defaults</Help>
<Item label="Reset to factory default setting" value="0"/>
<Item label="Normal" value="1"/>
<Item label="Reset to factory default setting and removed from the z-wave network" value="1431655765"/>
</Value>
</CommandClass>
<CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC">
<Compatibility/>
<State>
<CCVersion>2</CCVersion>
<InNif>true</InNif>
<StaticRequests>0</StaticRequests>
</State>
<Instance index="1"/>
<Value type="int" genre="system" instance="1" index="0" label="Loaded Config Revision" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="5">
<Help>Revision of the Config file currently loaded</Help>
</Value>
<Value type="int" genre="system" instance="1" index="1" label="Config File Revision" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="5">
<Help>Revision of the Config file on the File System</Help>
</Value>
<Value type="int" genre="system" instance="1" index="2" label="Latest Available Config File Revision" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0">
<Help>Latest Revision of the Config file available for download</Help>
</Value>
<Value type="string" genre="system" instance="1" index="4" label="Serial Number" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0a000100010107020500000106030300000000">
<Help>Device Serial Number</Help>
</Value>
</CommandClass>
<CommandClass id="115" name="COMMAND_CLASS_POWERLEVEL">
<Compatibility/>
<State>
<CCVersion>1</CCVersion>
<InNif>true</InNif>
<StaticRequests>4</StaticRequests>
</State>
<Instance index="1"/>
<Value type="list" genre="system" instance="1" index="0" label="Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
<Help>Output RF PowerLevel</Help>
<Item label="Normal" value="0"/>
<Item label="-1dB" value="1"/>
<Item label="-2dB" value="2"/>
<Item label="-3dB" value="3"/>
<Item label="-4dB" value="4"/>
<Item label="-5dB" value="5"/>
<Item label="-6dB" value="6"/>
<Item label="-7dB" value="7"/>
<Item label="-8dB" value="8"/>
<Item label="-9dB" value="9"/>
</Value>
<Value type="byte" genre="system" instance="1" index="1" label="Timeout" units="seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0">
<Help>Timeout till the PowerLevel is reset to Normal</Help>
</Value>
<Value type="button" genre="system" instance="1" index="2" label="Set Powerlevel" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0">
<Help>Apply the Output PowerLevel and Timeout Values</Help>
</Value>
<Value type="byte" genre="system" instance="1" index="3" label="Test Node" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0">
<Help>Node to Perform a test against</Help>
</Value>
<Value type="list" genre="system" instance="1" index="4" label="Test Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
<Help>PowerLevel to use for the Test</Help>
<Item label="Normal" value="0"/>
<Item label="-1dB" value="1"/>
<Item label="-2dB" value="2"/>
<Item label="-3dB" value="3"/>
<Item label="-4dB" value="4"/>
<Item label="-5dB" value="5"/>
<Item label="-6dB" value="6"/>
<Item label="-7dB" value="7"/>
<Item label="-8dB" value="8"/>
<Item label="-9dB" value="9"/>
</Value>
<Value type="short" genre="system" instance="1" index="5" label="Frame Count" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0">
<Help>How Many Messages to send to the Node for the Test</Help>
</Value>
<Value type="button" genre="system" instance="1" index="6" label="Test" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0">
<Help>Perform a PowerLevel Test against the a Node</Help>
</Value>
<Value type="button" genre="system" instance="1" index="7" label="Report" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0">
<Help>Get the results of the latest PowerLevel Test against a Node</Help>
</Value>
<Value type="list" genre="system" instance="1" index="8" label="Test Status" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
<Help>The Current Status of the last PowerNode Test Executed</Help>
<Item label="Failed" value="0"/>
<Item label="Success" value="1"/>
<Item label="In Progress" value="2"/>
</Value>
<Value type="short" genre="system" instance="1" index="9" label="Acked Frames" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0">
<Help>Number of Messages successfully Acked by the Target Node</Help>
</Value>
</CommandClass>
<CommandClass id="130" name="COMMAND_CLASS_HAIL">
<Compatibility/>
<State>
<AfterMark>true</AfterMark>
<CCVersion>1</CCVersion>
<InNif>true</InNif>
<StaticRequests>4</StaticRequests>
</State>
<Instance index="1"/>
</CommandClass>
<CommandClass id="133" name="COMMAND_CLASS_ASSOCIATION">
<Compatibility/>
<State>
<CCVersion>1</CCVersion>
<InNif>true</InNif>
<StaticRequests>4</StaticRequests>
</State>
<Instance index="1"/>
<Associations num_groups="2">
<Group index="1" max_associations="5" label="Lifeline" auto="true">
<Node id="1"/>
</Group>
<Group index="2" max_associations="5" label="Transmit" auto="false"/>
</Associations>
</CommandClass>
<CommandClass id="134" name="COMMAND_CLASS_VERSION">
<Compatibility/>
<State>
<CCVersion>1</CCVersion>
<InNif>true</InNif>
<StaticRequests>4</StaticRequests>
</State>
<Instance index="1"/>
<Value type="string" genre="system" instance="1" index="0" label="Library Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="3">
<Help>Z-Wave Library Version</Help>
</Value>
<Value type="string" genre="system" instance="1" index="1" label="Protocol Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="3.92">
<Help>Z-Wave Protocol Version</Help>
</Value>
<Value type="string" genre="system" instance="1" index="2" label="Application Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="1.12">
<Help>Application Version</Help>
</Value>
</CommandClass>
</CommandClasses>
</Node>
I think the part that interests us is this:

Code: Select all

<Value type="byte" genre="user" instance="1" index="6" label="Play Ringtone" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="255" value="0">
 <Help> Select a ringtone to play. Value=0, stop playing. Value=1-100, play the specified ringtone. Value=255, play the default ringtone. Value=other, ignore. </Help>
 </Value>
For reference, the engineering sheet for the ZW056 Doorbell Gen5+ is here: Engineering Sheet.

Does someone here knows how to construct that URL that sends the command to Domoticz to play the ringtone on the doorbell?
ZachariahVance
Posts: 5
Joined: Tuesday 27 April 2021 2:19
Target OS: Windows
Domoticz version:
Contact:

Re: How to send command to Doorbell/Siren via URL?

Post by ZachariahVance »

I've found the URL myself:
http://192.168.200.239:8080/json.htm?ty ... elist=6_Mw

Where "Mw" is Base64 encoded and means "3". It's the selected ringtone. Just use https://www.base64encode.org/ to encode/decode.

Example:
1 is MQ
2 is Mg
3 is Mw
4 is NA
5 is NQ
6 is Ng
7 is Nw

I'll post more details later.
Barry
Posts: 14
Joined: Thursday 16 May 2019 12:47
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Netherlands
Contact:

Re: How to send command to Doorbell/Siren via URL?

Post by Barry »

Hi ZachariahVance, which idx number are you using from the device ? I am also trying for a while to have the Doorbell/Sirene v6 play with a command from Domoticz but without luck so far. The current values screen for my setup is grayed out and does not have a play ringtone option.
Could you share some screenshots from your setup in order to allow me to see if it is similar for a Indoor Sirene 6?
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest