We have a couple of the POPP 10 Year Smoke Detectors in our house for a while now. The main reasons why I have chosen those in particular are:
- 10 years of battery life for the smoke detector itself
- detector is from EI Electronics, one of the widely used models also in professional/industrial installations
- no blinking of LED every 30 seconds like many others
The only problem I’ve been facing with these smoke detectors in combination with openHAB over the years, was that with some versions of openHAB the smoke detectors where identified as “Solar Powered Outdoor Sirens” and functionality was quite shaky.
Well, due to a not so decently planned update to openHAB 2.5 Milestone 5, I managed to crash our whole controller last weekend. By then everything was setup manually over time, based on openHABian. Since I do manage all my systems with Ansible in the meanwhile, I decided to reinstall everything again by using a proper Ansible playbook and starting off with a minimal installation of the latest Raspian distribution.
After everything was up an running again, the smoke detectors were again seen as “Solar Powered Outdoor Siren”. Since I finally wanted to have a clean setup, I began searching the openHAB community, which revealed that POPP has shipped a faulty version 1.1 firmware of their 10 Year Smoke Detectors back in 2016, which made themselves identify with the type and id “0004:0002”, which resolves to, what a surprise: Solar Powered Outdoor Siren. The correct type and id should be “0004:0004” instead.
How to fix?
Interestingly it wasn’t hard to find the firmware update itself. You can get the 1.14 version from https://zwave.de/zwave-ota/
But how do you install OTA updated, if you only have an open source controller and all the vendors seem to be a group of paranoids who at the same time think their devices contain the secret path to finding the holy grail?
It took me a few days
and a waste of 15$ (bought a commercial product which did not work at all) (EDIT: In the meanwhile I got a refund) to find the answer to that question. As often: once you know how to do it, it’s easy.
Disclaimer: The following procedure did work for me. It does not mean that it will work the same way or success rate in other setups or combination of devices. Failed firmware updates may brick your device and under no circumstances I can be hold accountable for it, or any other consequence that may arise from the following description.
So, here is what you need:
- a Windows PC
- a copy of Z-Wave PC Controller from Silicon Labs (you can find a free download somewhere on the internet – there is even one on another well known Z-Wave device supplier site. since I cannot verify if that is legally correct I am not going to provide the link to it)
- UZB1 Z-Wave USB dongle (others may work as well)
- srecord for Windows
Covert binary firmware image to a hex firmware image:
srec_cat.exe firmware.bin -binary -output firmware.hex -Intel
Also make sure you know the node IDs of the smoke sensors.
Step 1 – Attach the Z-Wave Dongle to Windows PC
Shutdown you openHAB (or other controller), unplug the the UZB1 dongle and plug it into the Windows PC
Step 2 – Update the Firmware
- Start the Z-Wave PC Controller
- Connect to the UZB1 dongle (serial device)
- Open the OTA Firmware Update function
- Select the Z-Wave node you want to update
- Click on “Get” in the “Current Firmware” section
- Select the hex firmware file in the “Firmware Update” section
- Chose the Firmware Target (the smoke detectors only have one)
- Click on “Update”
- The yellow LED on the smoke detectors start blinking
- Double-click the Z-Wave button on the smoke detectors to confirm the update request
- Wait longer…
- Wait even longer…
- After approximately 3-4 minutes the update has been transferred.
- Repeat the above steps with every node you want to update.
Step 3 – Attach the Z-Wave Dongle to openHAB device
After all nodes have been updated, the Z-Wave dongle can be reattached to the openHAB device and openHAB can be started again.
Step 4 – Include Nodes
After the firmware update is complete, the nodes are seen as new devices and thus must be included in Z-Wave network again. I don’t exactly know if that is expected, but it did not cause any problems for me.
I have not exactly figured out if it is really necessary to reboot (remove battery) the device or not.
After re-inclusion all smoke detectors where correctly identified and the “manufacturerRef” field is set to “0004:0004” and “zwave_version” is 1.14