Aeotec Doorbell 6 - ZW162


I’m trying to set the tone and volume on this doorbell using the Node config options but can’t grasp what you send to it to get it to change. From what I see in the node management, there’s config parameter 3 which controls Light Effect and Tone Effect for Doorbell 1. The default value there is 33554433 and says to refer to the engineering doc. I found the doc here:

Any help with how to send the right config parameter would be great!


1 Like

I had trouble opening your link, went to the Zwave alliance page for info.

From the spec, page 22:

If you want to use #1 Light Effect, 2s intercepting duration, 3s interval, and 4
times play count, please configure the value of the parameter to be 0x01020304.
Then, if you send Basic Set or Sound Switch Tone Play Set to Endpoint 2, it will
trigger Endpoint 2, actually Chime, to play tone. The tone identifier is based on
the value of the sending Basic Set or Sound Switch Tone Play Set. And the duration
of the tone is intercepted to be 2s. Chime will continuously play the intercepted
tone up to 4 times, with 3s interval between 2 tones. At the same time, Chime
will display #1 Light Effect based on the configuration of Parameter 16.
Tone and light will stop when the tone play count reaches 4 or Endpoint 2 receives
Basic Set (Value=0) or Sound Switch Tone Play Set (Tone Identifier=0).
Here is another example about “Use the last valid configuration value”:
Assume that current value equals to 0x01020304, if you set the value to be
0x02FF00FF, then both Value2 (Intercepting duration of a tone) and Value4 (Tone
Play Count) will use the last valid configuration value, but Value1 (Light Effect
Index) will be update to be 2 and Value3 (Interval between 2 tones) to be 0, that
is, the final value equals to 0x02020004.

You need to understand there are 4 sub parameters that are hex:

Light Value (1-127, 01-7F), Intercepting duration of a tone (0-255, 00-FF), Interval between 2 tones (0-255, 00-FF), and Tone Play Count (0-255, 00-FF).

Once you have the Hex string, convert it to a decimal number using an online tool to get the value to set the parameter.

Note: converting 33445533 to Hex shows on the converter as 2000001, but it is really 02000001 like the spec shows.

Thanks for the reply, still a little fuzzy on this one and I think I see why, the doc on z-wave alliance is different from the one I was looking at.

Here’s the file from another host hopefully which works

or the url to get it:

So in my doc, there are 4 bytes in what I’m trying to do which should be parameter 3 (it’s setting the volume is what I want to achieve).

So was there a firmware upgrade or is my doc wrong?

So weird.

Since the decimal number being 33554433 lines up with the spec on the zwave alliance page (aeotec updates from that document as well), I would follow those.

The example on the document you linked to shows parameter 3 being 34070000 in hex which is 872873984 in decimal.

I would use the manual from the Z-Wave Alliance, which likely was submitted as part of the product certification. That, or a newer version that is provided by Aeotec. I would take a guess that the version you’re referencing is a draft, but you could contact Aotec support to be sure.

Assuming the newer documents are correct, the tone selection and volume are not settable via configuration parameters. You need to use the SoundSwitch Command Class to do so, which is only available in OZW 1.6 (HA uses OZW 1.4). There is a previous discussion here where the author of OZW explains the issues with the doorbell and OZW 1.4.

If you’re familiar with Docker, you could use this open zwave control panel image (or compile it yourself) outside of HA to set the tone and volume. I would think those settings persist when you go back to HA. A bit of a hassle, but there’s no alternative until HA supports OZW 1.6.

Check your firmware version - and contact Aeotec Support to ensure you have the latest. The first few (at least pre-release) versions had a few firmware bugs. Then use the manual on the Aeotec Website (

But as @freshcoast mentions, its not going to work very well with HA currently till they upgrade to OZW to version 1.6

Does anyone have a good working example of a docker run command to get OZWCP running?

I tried the following:

sudo docker run -d --name="ozw-cp" -u 0 -p 8008:8008 --device=/dev/ttyUSB-ZStick-5G -v /home/finity/docker/hass-config/zwcfg_0xecbef344.xml:/home/ozwcp_user/open-zwave-control-panel/zwcfg_0xecbef344.xml openzwave/openzwave-control-panel

and everything seemed to download and run OK but when I tried to open the control panel at port 8008 at the IP address of my Debian machine I get an error:


Am I missing something in that run command? Obviously I am but I’m not sure what it would be. The instructions at the docker hub for that image are a little sparse.

And just to clarify that docker container should contain the version of OZWCP in order to set the parameters of the newer devices (v1.6)?

No reason why you shouldn’t get openzwave frontend when running in docker.

Try running without mapping files to see if you can get frontend. Also, check log for detailed error

Thanks for all the comments. Aeotec support and you guys hit the nail on the head. SoundSwitch is required for tones so will have to wait for the upgrade. I suppose I could upgrade myself but would just rather wait for official support.

Thanks everyone!

Yes, i generally agree with you. Hence, my question.

Nope. Same error.

here is the latest docker run command:

sudo docker run -d --name="ozw-cp" -p 8008:8008 --device=/dev/ttyUSB-ZStick-5G openzwave/openzwave-control-panel

here are the logs:

2019-07-18 04:18:14.341 Error, Cannot find a path to the configuration files at ./config/, Using /etc/openzwave/ instead...
2019-07-18 04:18:14.341 Info, Reading /etc/openzwave/options.xml for Options
2019-07-18 04:18:14.342 Warning, Failed to Parse options.xml: Failed to open file
2019-07-18 04:18:14.342 Info, Options:
2019-07-18 04:18:14.342 Info, 	appendlogfile: false
2019-07-18 04:18:14.342 Info, 	associate: true
2019-07-18 04:18:14.342 Info, 	assumeawake: true
2019-07-18 04:18:14.342 Info, 	autoupdateconfigfile: true
2019-07-18 04:18:14.342 Info, 	configpath: /etc/openzwave/
2019-07-18 04:18:14.342 Info, 	consoleoutput: true
2019-07-18 04:18:14.342 Info, 	customsecuredcc: 0x62,0x4c,0x63
2019-07-18 04:18:14.342 Info, 	drivermaxattempts: 5
2019-07-18 04:18:14.342 Info, 	dumptriggerlevel: 1
2019-07-18 04:18:14.342 Info, 	enablesis: true
2019-07-18 04:18:14.342 Info, 	enforcesecurereception: true
2019-07-18 04:18:14.342 Info, 	exclude: 
2019-07-18 04:18:14.342 Info, 	include: 
2019-07-18 04:18:14.342 Info, 	includeinstancelabel: true
2019-07-18 04:18:14.342 Info, 	interface: 
2019-07-18 04:18:14.342 Info, 	intervalbetweenpolls: false
2019-07-18 04:18:14.342 Info, 	language: 
2019-07-18 04:18:14.342 Info, 	logfilename: OZW_Log.txt
2019-07-18 04:18:14.342 Info, 	logging: true
2019-07-18 04:18:14.342 Info, 	networkkey: 
2019-07-18 04:18:14.342 Info, 	notifyondriverunload: false
2019-07-18 04:18:14.342 Info, 	notifytransactions: false
2019-07-18 04:18:14.342 Info, 	performreturnroutes: false
2019-07-18 04:18:14.342 Info, 	pollinterval: 30000
2019-07-18 04:18:14.342 Info, 	queueloglevel: 9
2019-07-18 04:18:14.342 Info, 	refreshallusercodes: false
2019-07-18 04:18:14.342 Info, 	reloadafterupdate: AWAKE
2019-07-18 04:18:14.342 Info, 	retrytimeout: 10000
2019-07-18 04:18:14.342 Info, 	saveconfiguration: true
2019-07-18 04:18:14.342 Info, 	saveloglevel: 8
2019-07-18 04:18:14.342 Info, 	securitystrategy: SUPPORTED
2019-07-18 04:18:14.342 Info, 	suppressvaluerefresh: false
2019-07-18 04:18:14.342 Info, 	userpath: 
2019-07-18 04:18:14.342 Always, OpenZwave Version 1.6.-1 Starting Up
2019-07-18 04:18:14.350 Info, Loading Localization File /etc/openzwave/Localization.xml
2019-07-18 04:18:14.352 Info, Loaded /etc/openzwave/Localization.xml With Revision 6
2019-07-18 04:18:14.352 Always, Using Language Localization 
2019-07-18 04:18:14.355 Info, Loading NotificationCCTypes File /etc/openzwave/NotificationCCTypes.xml
2019-07-18 04:18:14.355 Info, Loaded /etc/openzwave/NotificationCCTypes.xml With Revision 9
webserver starting port 8008

Seems to be missing the configuration files but that’s my question.


What is needed for the configuration files in the docker command?

I had this same error but cannot remember cause and unable to verify on my server today.

I think maybe caused by folder permission issue but this is long shot guess. Also possible more simple and just need to map /etc/openzwave.

The Dockerfile is a little rough, and it was running the ozwcp binary from the wrong directory. I’ve created a pull request to fix it (maybe it will be accepted). You can build your own image by cloning my fork (or download the files) and running docker build (see pull request for instructions) in the ozw-controlpanel directory.

I’ve never done any docker builds so pardon my questions to clarify…

I create a “ozw-controlpanel” directory in the machine where i want to download the files (in my case it would be “/home/finity/docker/ozw-controlpanel”), cd to it and clone the repo there?

then while still in that directory I run the docker build command?

sudo docker build -t ozwcp

then I can run the docker run command from anywhere or do I still have to be in that same directory?

And I would still need to bind my ozwcfgxxx and options.xml files from HA config to the container, is that correct? If not then how would ozwcp know which info to modify and which security key to use?

Thanks for the help.

Actually, the official docker image is serviceable if you run a bash shell instead of the default ozwcp. That is probably easier than building your own. You’ll need to bind mount the location of your config files and tell ozwcp to use a different directory to read the user files. Assuming $PWD contains your options.xml:

sudo docker run -it --name="ozw-cp" -v $PWD:/config -p 8008:8008 --device=/dev/serial/by-id/usb-0658_0200_E2061B02-4A02-0114-3A06-FD1871291660-if00:/dev/zwave --entrypoint /bin/bash openzwave/openzwave-control-panel

This will start the container in a bash shell, instead of running ozwcp and your options.xml file will be available at /config. You can then start ozwcp manually from the correct directory, with the user path:

[ozwcp_user@b00ec5616e2e ~]$ cd open-zwave-control-panel
[ozwcp_user@b00ec5616e2e open-zwave-control-panel]$ ./ozwcp -p 8008 -u /config
2019-07-18 18:26:43.719 Error, Cannot find a path to the configuration files at ./config/, Using /etc/openzwave/ instead...
2019-07-18 18:26:43.720 Info, Reading /etc/openzwave/options.xml for Options
2019-07-18 18:26:43.720 Warning, Failed to Parse /config/options.xml: Failed to open file
2019-07-18 18:27:04.906 Info, 	userpath: /config/
2019-07-18 18:27:04.906 Always, OpenZwave Version 1.6.-1 Starting Up
2019-07-18 18:27:04.919 Info, Loading Localization File /etc/openzwave/Localization.xml
2019-07-18 18:27:04.921 Info, Loaded /etc/openzwave/Localization.xml With Revision 6
2019-07-18 18:27:04.921 Always, Using Language Localization 
2019-07-18 18:27:04.925 Info, Loading NotificationCCTypes File /etc/openzwave/NotificationCCTypes.xml
2019-07-18 18:27:04.926 Info, Loaded /etc/openzwave/NotificationCCTypes.xml With Revision 9
webserver starting port 8008

ozwcp will write the logs to /config (host’s $PWD) as well as the cache file. Note that the cache file in 1.6 is named ozwcache*.xml instead of zwcfg*.xml. I don’t know if it will try to upgrade from an old cache file so you might have to repopulate it. I also don’t know if the options file is the same between versions, but in the container it looks like there is a default version at /etc/openzwave/options.xml.

Anyone succes with setting the volume ?
I ran the openzwave-control-panel. Thanks to @freshcoast instructions.

But I can’t seem to be able to set anything.
I can see the settings

I see the default is 100 so i’m assuming the volume has to be set between 0 and 100.
But when i submit 50 as the volume to set, i get the following

So not sure what to do here.

I’m also getting a browser error. Not sure if this is the problem

I hope somebody can help because the volume is just way to loud. Not really necessary for neighbours four houses down the road to hear when somebody is at our door :wink:

+1 I’ve looked into the parameters, I’m not sure the “quick fixes” showing all the node entities correspond to the 1st specs provided by Aeotec, or their 2nd version (which seems to incorporate volume)
Also to follow up on Aeotech ZW162 Doorbell
=> seems OZW 1.6 will be the answer when it’s integrated into HA

Did you manage to figure this out?

Waiting for next version zwave. Should take care of most of this

Hi all,

just to let you know that I have changed the volume using Homeseer software on windows. then I plug the stick back to hassio…

hope it helps

1 Like

These are the instructions I used. I unplugged the Z-Wave stick, put it in the PC and ran Z-Wave PC Controller, set the doorbell then put everything back - at least my volume is ok now :slight_smile: (Link to software)

"This is how its done via a another controller via Z wave PC controller software

Mute tamper sound.
Command Classes: “COMMAND_CLASS_MULTI_CHANNEL_V2 (or higher V?)”

Input these Values:
Source End Point: 00 // leave as default
Res: 00 //Don’t touch this, this does nothing.
Destination Endpoint: 02 // Tamper Switch endpoint of Siren or Doorbell 6, you can use this to control sound of your button or other alarm options
· Endpoint 02 - Tamper Alarm sound
Bit address: 00
Command Class: 79 //Sound Switch Command Class
Command: 05 //Sound Switch Configuration Set Command
Parameter: 00 01 //Volume #5 (as 05) Sounds #01 (as 01)

Change door bell sound and volume


Input these Values:
Source End Point: 00 // leave as default
Res: 00 //Don’t touch this, this does nothing.
Destination Endpoint: 03
· Endpoint 03 - Button #1
Bit address: 00
Command Class: 79 //Sound Switch Command Class
Command: 05 //Sound Switch Configuration Set Command
Parameter: 28 01 //Volume 40% (as 28 in hex) Sounds #01 (as 01)
· Volume is a range between 00 - 65 (in hex which is 0 - 100 in decimal or easily seen as 0 - 100%)
Sound can be a range between 00 - 1E (or decimal value of 1 - 30 or sound #1 - 30)."

1 Like