The Problem: Overthinking Garage Door Status

My client initially approached me with a common smart home challenge: how to reliably track their garage door’s status – open, closed, and moving. Their first thought was to leverage their existing Frigate AI setup, which already handled object detection and motion sensing through a Coral TPU. While Frigate is excellent for detecting general motion or specific objects like cars, using it to definitively determine ‘open’ versus ‘closed’ when the door is stationary, or even its exact movement phase, proved surprisingly complex. The standard detection model lacked a ‘garage door’ label, meaning it couldn’t inherently distinguish between an open door and a closed door if both were static.

Diagnosing: Uncovering Hidden Assets

The initial assessment revealed that while Frigate could easily detect ‘moving’ via a motion zone, it wasn’t the right tool for precise ‘open/closed’ states. My recommendation leaned towards physical sensors. That’s when the client revealed a crucial detail: they already possessed several Zigbee door contact sensors and vibration sensors, though the latter weren’t yet paired. A quick, read-only scan of their Home Assistant environment confirmed four existing Zigbee door contact sensors, already linked and operational, assigned to an office door and the garage door itself. However, no vibration sensors were yet integrated into their Zigbee2MQTT (Z2M) setup.

The Fix: A Hybrid Sensor Solution

With the existing sensors, the path became clear: a hybrid approach combining a contact sensor for ‘open/closed’ and a vibration sensor for ‘moving’. This bypasses the complexities of camera AI for these specific states entirely. The vibration sensor needed to be paired into the Z2M network, a quick physical task for the client. Once paired, the strategy for a sectional garage door involved precise sensor placement:

Contact Sensor (Open/Closed): The magnet was mounted on the inside bottom edge of the lowest garage door panel. The reed contact was placed on the wall directly opposite, ensuring contact when the door was fully closed. This setup is ideal for sectional doors because the bottom panel moves vertically first, reliably breaking contact as soon as the door begins to open.

Vibration Sensor (Moving): This sensor was firmly attached to the inside of a middle panel, below the rail height. This position allowed it to effectively detect the subtle vibrations from the motor and rails during opening or closing, without interfering with the door’s movement or getting struck by the ceiling track.

Finally, a Home Assistant template cover entity was planned. This entity would intelligently combine the ‘contact’ and ‘vibration’ states into a single, intuitive ‘Garage Door’ entity, capable of reporting ‘open’, ‘closed’, ‘opening’, or ‘closing’ – a far more robust and reliable solution than relying on camera vision alone.

What I Learned: Simplicity and Specificity Triumph

This project reinforced several key lessons in smart home design. Firstly, the simplest solution is often the most reliable. While camera AI is powerful, purpose-built physical sensors provide unparalleled accuracy for binary states like ‘open’ or ‘closed’. Secondly, understanding the mechanics of the device being automated (in this case, a sectional garage door) is crucial for optimal sensor placement. A tilt sensor might be better for a tilt-up door, but a contact sensor at the bottom edge is perfect for a sectional door. Lastly, Home Assistant’s templating capabilities are incredibly powerful for synthesizing data from multiple sources into a single, coherent, and actionable entity, elevating raw sensor data into meaningful smart home states.