I am slowly migrating my smarthome setup to HomeAssistant which, as with most open-source projects, is pretty unfriendly to start with and takes some learning to use. I have an Aeotec ZStick and an Aeotec Doorbell 6 which work via Z‑Wave and I wanted to customise the tones and reduce the volume a little. You’d think it would be easy right?
The first hurdle to overcome was to realise that Home Assistant has 2 ways to use Z‑Wave. One is built in, and one is built on the “OpenZWave” system / software / docker image (or whatever it actually is!). The built-in system doesn’t support the latest Z‑Wave standards and so couldn’t configure my doorbell, but apparently the alternative OpenZWave 1.6 system will be able to eventually, although it doesn’t seem to do so year. In order to avoid more issues in future the first thing to do is to switch from the built-in Z‑Wave support to the OpenZWave addon. Note that I am using the full “Home Assistant” (which used to be called Hass.io). It is basically an all-in-one install with HassOS, and then both Home Assistant and “Supervisor” running on top of that. Many people run this setup on a Raspberry Pi although I am running on a 4W mini PC with a Pentium 4200 which is a lot like a low powered Intel NUC.
Before you start
Unpair your doorbell from your USB stick if it is already paired as we need to pair it in secure mode
Find your USB stick details
- Supervisor
- System
- “Host System” box
- “Hardware” button
- It should be something like
/dev/serial/by-id/usb-0658_0200-if00
Disable built-in zwave
- Configuration
- Integrations
- ZWave box
- Click configure
- Click “Stop Network”
Install Mosquitto broker
- Supervisor
- Addons Store
- Search for mosquitto broker
Install MQTT
- Configuration
- Integrations
- Search for MQTT
- You should see the mosquitto broker listed. Click configure
Install OpenZWave
- Supervisor
- Addon Store
- Search zwave
Generate a random key for security
- Go to Random.org and generate a random hex code for a security key that you will need in the next step
Configure OpenZWave with your USB details
- Supervisor
- Dashboard
- OpenZWave
- Configuration
- Edit the “device” entry to match the USB path from above, and add the numbers generated in place of the ?? for the security key
- E.g.
- device: /dev/serial/by-id/usb-0658_0200-if00
- network_key: ‘0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??’
- Click save
- Click on “Info” tab
- Click Start
Configure OpenZWave integration
- Configuration
- Integrations
- “OpenZWave (beta)” box
- Click “Configure”
- Click “Confirm Setup”
Reboot!
I found at this point that I had to reboot for the system to start talking to my USB Z‑Stick properly, so I recommend rebooting at this point.
Setting up semi-friendly configuration interface
- Download and install the OpenZWave GUI for windows (scroll to the bottom of the page and look for the link to the windows .msi)
- To use the GUi first go to Supervisor -> OpenZwave -> Configuration and set the host field to 1983 (it is disabled by default unless you enter a value)
- Then in OpenZWave GUI just enter the IP or name of your home assistant. The port should already be correct and no authentication key is required
- Note that your USB device may show as not being Z‑Wave plus, but if any connected devices are showing as Z‑Wave Plus you can safely ignore this, it is misleading.
Configuring the volume
Why on earth the default volume is set so loud it distorts is beyond me. Presumably it is so that Aeotec can put some silly decibel number on the box. However, I don’t actually want my doorbell to damage my ears, or wake my children at night either for that matter, so the first thing I really needed to do was turn it down. You’d think after all the hoops we’ve already had to jump through that might be (finally) easy, but guess again…
Shutdown home assistant
- Shutdown Home Assistant
- Remove the USB Z‑Wave stick
- Connect it to a windows PC
Get Silicon Labs PC software
- Go to the Silicon Labs website downloads page
- Select to download the PC Controller Software
- Click on the “Create an Account” link and register
- Once you have verified your account and logged in, go back to the downloads page
- Download the Z‑Wave SDK First
- Then download the PC Controller software
- Run the ZWaveControllerSetup.msi
- Extract the 2 files in the ZW050x_USB_VCP_PC_Driver folder, then right-click on the extracted INF file and select “install” to install the drivers
- Plug your Z‑Wave dongle into your windows PC
- Run the Z‑Wave PC Controller software
- Click on the gear wheel to select your USB Stick — mine appeared as “UZB” on COM4 and click “Detect”, then click “OK”
- Click on “Network Management”
- Click “add” and then press the pairing button on the doorbell
- You will need the first 5 digits of the DSK code which are printed on the back of the doorbell — the device will then pair in S2 mode
- The device should then appear as a “Sound Switch” in the under “slaves” in the box near the top left.
- Select the device and then click “Node Info”
- A list of subdevices should appear — approximately 8 of them. Each of these represents a different alert
- Select the appropriate sub-device
- In the box below double click on “79 — SOUND_SWITCH”
- In the section to the right, in the dropdown box, select “0×05 — SOUND_SWITCH_CONFIGURATION_SET”
- Set the volume hex as you like (effectively in percentage). I found 60 was about the same as my old doorbell — a classic old electric bell
- Click on the Send button at the bottom
- Repeat the last 5 steps for each of the different alerts you wish to change — I did it for all of them
Restore Home Assistant
- Close the PC Controller Software
- Unplug the Z‑Stick and reconnect it to your Home Assistant system
- Boot home assistant back up
- The pairing with the doorbell, and your new volume settings, should be remembered by the Z‑Stick
“Hi James I realise it has been a long while, but I just checked this on windows 11 (build 23H2)…”