Learn how to monitor your garage door with Home Assistant. In this guide I will use a simple tilt sensor placed on the garage door. I will show you all the necessary configuration.
Table of Contents
Introduction
Most of us know the feeling of thinking: “Did I close the garage door?”, but you have no way of knowing. You want to know whether you left it open, or if it’s actually closed. Maybe you just want to be able to create an automation based on the garage door being open or closed? Either way, I’ll show you how to do it step by step in this guide.
There are 2 different ways to do this, that I could think of. The first is using a tilt sensor, while the other way includes using a door/window sensor.
I have chosen the tilt sensor for this guide, therefore I will only be showing configuration for that type of sensor. If you are using a form of contact sensor or anything else, the way of configuring in Home Assistant should not differ much.
What you need
Here are some examples of sensors that I know works.
Feel free to choose any sensor of your liking, as long as it supports integration into Home Assistant.
Affiliate Disclosure: The links below are affiliate links. If you buy through them, I may earn a small commission at no extra cost to you.
Tilt sensor
(I’m using) Aqara Zigbee Vibration Sensor: https://amzn.to/40CcVNY
THIRDREALITY Zigbee Smart Garage Door Tilt Sensor: https://amzn.to/4m8exI1
Door/Window sensor (This guide won’t cover all)
Aqara Zigbee Door and Windows Sensor: https://amzn.to/4fbSTjk
Step by Step
1. Mounting your sensor
Mounting the Tilt sensor (vibration sensor in this case)
You want to mount the sensor on a rigid part of the garage door, preferably near its top edge, so that when the garage door swings open the sensor “tilts” noticeably.
Make sure to clean the area before mounting; this will ensure the adhesive holds for years.
Here is a picture of how I have mounted my tilt sensor:

Mounting the Contact / Door sensor
This one is very simple. You mount one half on the garage door, and the other half on the frame of the garage door.
Again remember to clean the area properly before mounting the sensor.
2. Join your devices with Zigbee or the specific protocol for your device
Join your device like you would with any other Zigbee device (or the specific protocol of your device).
Make sure the signal strength is strong enough to receive all updates, since a garage door is a safety‑critical application, reliable connectivity is essential.
3. Test your sensor in Home Assistant
Test your tilt sensor
You can test your tilt sensor by simply opening the garage door, and observe the degrees change on the z axis. In the case of the Aqara Vibration Sensor, I’m using the “Angle z” sensor:

I observed that when the garage door is closed, the sensor sits around 17°, but when the door opens, the sensor shows around -90°.
4. Create a Home Assistant template for the Open/Close sensor
For more information about Home Assistant templates: Template – Home Assistant
Open Home Assistant -> Settings -> Devices & Services -> Helpers -> Create Helper
Find the Template helper on the list and click it, then choose “Template as a binary sensor”
First give it a name – Next insert the following “code” into the “State template field”:
{% if states('sensor.port1_status_angle_z') | float < 0 %}
on
{% else %}
off
{% endif %}
It should now look like this:

Now click submit.
You can also change the entity icon:

5. Display the Garage Door status on your dashboard and enable Open/Close function
I created a configuration you can use. I chose to hide the state field since the card changes color when the door is open. Here is my take on a configuration:

Also here in YAML:
type: tile
entity: binary_sensor.garage_door
features_position: bottom
vertical: true
hide_state: true
show_entity_picture: false
tap_action:
action: perform-action
perform_action: switch.toggle
target:
entity_id: switch.port1_switch_0
Conclusion
Now you know how to monitor you garage door with Home Assistant. If you have any questions regarding the setup, don’t hesitate to comment on this post, or contact me directly.