Garage Car Presence Sensor & Button Recommendation

Recently setup a ZEN16 to provide some smarts around my garage door, it’s working great. However at the same time my traditional garage door opener remote has started to become inconsistent and frequently stops working. I figured I could just stick to using the ZEN16, but it turns out it’s kind of a pain to pull out my phone each time I arrive home to open the door. I could use the presence on my phone to automatically open the door, but I really only would want that triggering if my car wasn’t in the garage.

So two part question.

  • Are there any suggestions on how to detect the presence of a car parked in a garage?
  • Any recommendations on a button device of some sort that I’d just be able to leave in my car? (I’m not sure what the impact is of a device leaving the mesh and whether it would start freaking out once out of range.)

I do this on my cars.
Plug an Xbee3 into your cars usb so it is only powered on when the car is running.
Acts like a Smartthings arrival sensor but with longer range.
This way it only opens your garage if the car is running. Opens the garage as I arrive and also acts as a safety feature so the garage doors open if your car is inside running.
If you just want to know if the car is home you could just throw a Smartthings arrival sensor in the glove box.
But for security I only use the Xbee3 for opening and closing the door since it only works when the car is running.


For a button you could look at

It's z-wave through so presence detection is out just as a button.

@april.brandt are you still looking for a outdoor "doorbell" button? They make a single button version too, could be 'the one'. :laughing:


I should mention.
You can do the exact same thing just using a SmartThings arrival sensor just take the battery out and cut and end off a usb cable and solder the red and black power wires to the battery contacts.
Then Plug the SmartThings arrival sensor into the car's usb.
I did this prior to the Xbee3.
But you just will not have very good range.
You could even use your phone as a presence device with wifi detection or Life360 but I still didn't like them for security to open my garage doors.
Physically powering off a device is the best to prevent it from accidentally triggering.

@NoWon The Xbee definitely looks like an interesting option.. so does the xbee and dev board snap together and that’s what ends up plugging in via USB in the car? Or does the xbee itself have its own USB port?

@TechMedX thanks for the button suggestion, likely will end up grabbing one.

1 Like

I actually just watched this this morning. Know it's home assistant / wifi based, but was thinking something similar with a tasmota firmware and could then intergrate into HE. I will probably be using this for arming my house when we leave because geo location won't work in my situation, so an extra WiFi trigger device should help.

the Xbee3 snaps together with dev board and the usb power is off the dev board.

1 Like

There are two sources of information on putting this together:


The physical construction is very simple. The setup takes a bit of reading as you have to program the xbee3 to make it work with a normal Zigbee network, but each of the above threads discusses how to do that in the first post of each thread.

1 Like

I detect the presence of a car in the garage with an ultrasonic distance sensor (controlled with Hubduino) mounted to the ceiling and pointed down. It measures the distance to the roof of the car, and I wrote an HE driver that determines that the car is present if the recorded distance is less than a certain amount.

1 Like

why not use your phone as the presence device?

I only want it to open when I’m returning with my car. If I’m coming back from say a walk, I don’t want the presence detection on my phone triggering the garage to open. Would just result in an unnecessary open/close of the door.

1 Like

That sounds pretty interesting @SteveZed! Sounds like something worthy of a write up!

1 Like

trouble with phones is if they take an update or reboot or just lose connection and reconnect they could open your garage door in the middle of the night.
Powering a device off until you need it is more secure.

1 Like

Basically, I took one of these and mounted it in a box connected to one of these and mounted it to the ceiling above the car (note that the opener is plugged into a Zwave module which shuts off the opener at night or when we are away):

I did it that way instead of measuring from the front of the car to the back wall so that the sensor wouldn't get crushed if someone pulled in to far, or get a wrong reading is someone leaned something against the sensor. A close up view of the sensor :

I used the Hubduino ultrasonic sensor code for the Wemos, but changed the HE child driver so that it just showed the distance to the car (the original driver calculated how many gallons are in a tank by the height of the liquid inside.) I added a variable for the maximum distance to detect the car since we change cars every so often:


Hi @SteveZed
I am going to try this setup you have, I have never worked with or on any Arduino hardware or software before so could be interesting. Do you have any tips or links I could follow to get this working. Also what Hubitat drivers did you use to integrate this. Sorry very green with all this.


Okay, have managed to add the D1 mini and ultrasonic sensor to the Hubitat, @SteveZed please could I ask you for the HE child driver you modified as mine also shows the number of liters and I just want it to do what yours does with the distance in centimetres if possible. I would be very grateful.

Check out my reply to your other post in the HubDuino thread. The built in HubDuino Child Presence driver will allow for a numeric ‘level’/‘distance’ value to trigger a presence status change.

As an update I ended up getting both the Nanomote and an Xbee. Nanomote works well and the Xbee setup as an arrival sensor is even better. Appreciate the suggestions!

Now I just need to find some sort of box to put the Xbee in, it’s just in a plastic bag, in my center console, at the moment, and that’s not ideal.

If there’s a suggestion on an appropriately sized project box for those that are using an Xbee I’ll take that feedback as well. (@NoWon @rsjaffe)

In my post (link follows) I describe the project box I used and the drilling pattern:

1 Like

I have included my modifications below.
(How do you get a preview of a hyperlink to show?)
I actually altered the Arduino code to show the distance in inches, but that's not necessary and forks too any different pieces of code. The distance in this driver is in CM.

1 Like