Reading CR2032 Voltage Curves: Why a Zigbee Sensor Reports 100% Until the Week It Dies
October 24, 2026A Zigbee door sensor can report 100% battery for three years and then stop transmitting. That is not a bug in the sensor. It is what happens when a firmware-computed percentage is treated as a fuel gauge instead of what it is: a lossy, device-specific conversion of a voltage reading that sits on the flat top of a lithium coin cell’s discharge curve. This article is about the diagnostic path I use when a battery-powered Zigbee device dies with a healthy-looking percentage, and the repeatable procedure that replaces percentage-based alerting with voltage-trend alerting and availability monitoring. It assumes a local-first…
When to Update Zigbee Coordinator Firmware and When to Leave It Alone: An EZSP Version Decision Tree
The question behind the question Most “should I update my coordinator firmware?” threads start with a symptom, not a version number. Someone’s network drops a sensor every few days, or Zigbee2MQTT won’t start after a host upgrade, and the first…
Putting Home Assistant Configuration Under Git: What to Commit, What to Keep in secrets.yaml, and How to Diff a Broken Automation
Version control for a Home Assistant configuration is not a backup strategy. It is a review tool. The two get conflated constantly, and the conflation is why people either skip Git entirely or commit a folder full of tokens and…
The Composition Notebook Shirt: A Printed Cover, a Ghost, and the Difference Between a Costume and a Label
The artwork is a rectangle. Black-and-white speckled ground, a dark binding strip down the left edge, and a white ruled label headed COMPOSITION. Inside that label, an outlined ghost and an outlined pumpkin. That is the whole design. It is…
Naming Entities So a Re-Pair Doesn’t Orphan Your Automations: unique_id Conventions That Survive Device Replacement
The failure mode: the automation still exists, the entity doesn’t An automation references binary_sensor.kitchen_door. The contact sensor dies, you buy a replacement, pair it, and the automation keeps running — except the trigger never fires, because the entity it points…
The ‘There Is Motion at Your Front Door’ Shirt: A Notification, a Cat, and the Difference Between an Alert and a Diagnosis
The shirt shows a white rounded notification banner with a bell icon. The banner reads There is motion at your front door. Below it, inside a circular, green-tinted frame, an orange tabby stares wide-eyed into the lens, so close that…
The ‘meh.’ Shirt: Small Type, Low Stakes, and the Difference Between a Mood and a Message
The native garment preview shows very small, centered lowercase meh. lettering on a dark shirt. No animal illustration is present. That is the whole design, and the scale is the first thing worth noticing: the word is set small enough…
Recovering Local Control When a Vendor Cloud Goes Away: A Tuya Device Case Study
This is a recovery procedure for Tuya devices that are already installed. It is not a report of a specific vendor shutdown. The sources I can point to document how local control works, what it requires, and where it breaks.…
The ‘I Had Potential’ Shirt: A Ramp, a Ball, and the Difference Between Energy and Output
The shirt shows four words in white capitals — I HAD POTENTIAL — above a white curved ramp that descends from left to right. At the upper left ledge sits a dashed empty circle. At the lower right flat ledge…
The ‘Let’s Root for Each Other’ Shirt and the Difference Between Support and a Growth Target
The artwork reads LET’S ROOT FOR EACH OTHER AND WATCH EACH OTHER GROW, set in a ring around four smiling root vegetables — a carrot, a radish, a beet, and an onion — each drawn with its roots visible in…
Does Matter Actually Run Locally? Blocking WAN Access to a Matter Fabric and Logging Every Failed Command
Matter is designed for local control. Home Assistant’s documentation says so plainly: “Matter products run locally and always allow local control, with device control done without the need for any internet connection or cloud services” (Home Assistant Matter integration docs).…