Labelling Zigbee battery powered devices

Labelling Zigbee battery powered devices
💡
A short post about the importance of physically labelling battery powered Zigbee devices (more correctly: an End Device).

I invested quite a lot in Zigbee hardware over the years, resulting in all my lights being smart lights and having accompanying Zigbee remote controllers on the wall. Since I prefer a similar look and feel I have quite a lot of copies of the same model like IKEA's Strybar remote.

List of IKEA Strybar devices in Zigbee2MQTT
List of IKEA Strybar devices in Zigbee2MQTT

Once their battery dies, instead of instantly replacing the battery, I tend to resort to automations (like automatic presence lighting when entering a room), or switching the light on with the Home Assistant app, thus leaving the depleted device on the wall for a longer time.

It's only when a handful of them are depleted that I take them all upstairs to my desk, plug the rechargeable batteries into the charger and swap in new coin cell batteries. But this comes with a downfall. Here's how it looks after all batteries are refreshed. Have fun guessing where each remote went in the corresponding room:

4 Strybar remotes looking exactly the same

In theory I could go to the room, press every remote until I find the right one, to the annoyance of my wife seeing lights magically turn on or off in random rooms she might be in. Or I might even change my habit of saving them up for a big battery reload/replace and do that adhoc when a battery dies.

But changing habits is hard and I resorted to a much simpler route: a Dymo label maker. Smack a label on it and never have to guess the device again! Two words of caution here though:

  1. Use something unique that is bound to the device. Don't just print the room the device is in on the label. Once you repurpose the device for another room or use beyond a room it no longer corresponds and you'll have to swap the label again
  2. I thought the network address was a short label (e.g 0x2B84) but this resets if you ever have to pair the device again. I opted for the IEEE Address which is the equivalent of a MAC address in Zigbee networking and is unique to the device without changing after a re-pair.
4 labeled Strybar remotes
Four neatly labeled devices. Sorry for the inconsistent label placement

Now the only parameter I should adjust over time is the device friendly name in Zigbee2MQTT / Home Assistant. If I enter the last four characters of the label in Zigbee2MQTT I'm immediately able to see where the device should go after a battery swap:

Search in Zigbee2MQTT showing the device looked up by physical label
🌟
Conclusion: I thought this was a really nice example of how the dumb aspect of a sticker with text can have a nice impact in a smart home driven house and avoid annoyance, maintenance & habit change.