Garage Car Presence Sensor & Button Recommendation

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

Hi @SteveZed
I wanted to ask if at all possible, do you have any issues with the readings of your system, not working. I have mine setup on my garage roof, very similar to yours and I am having a strange issue. When my car is in the garage the reading from device to car roof is between 98cm and 118cm (not sure why it hops around) , then today when I left I checked the logs and I saw one reading of 212cm, which is correct as there is no car in the garage. then about 2 minutes later the reading went to 98cm and says the car is present and has stayed that way, but the car is not in the garage???
These are my readings in an empty garage over +_8 min

level 104.84 DEVICE 2020-07-07 15:32:41.061 SAST
level 97.83 DEVICE 2020-07-07 15:32:32.696 SAST
level 104.84 DEVICE 2020-07-07 15:31:35.617 SAST
level 97.75 DEVICE 2020-07-07 15:30:30.778 SAST
level 92.04 DEVICE 2020-07-07 15:29:26.106 SAST
level 95.20 DEVICE 2020-07-07 15:28:21.486 SAST
level 125.92 DEVICE 2020-07-07 15:27:35.006 SAST
level 95.88 DEVICE 2020-07-07 15:27:16.749 SAST
level 103.75 DEVICE 2020-07-07 15:26:12.055 SAST
level 99.93 DEVICE 2020-07-07 15:25:07.506 SAST

Mine does jump periodically, but for just one cycle of readings. I am using mine for a condition, not a trigger so it's not much of an issue for me although I was wondering what the root cause is. Could be a component quality issue as people use these types of sensors for robotics and they would have to be more accurate than this. It may also be that the Wemos runs at 3.3v and the sensor at 5v; I am going to try putting a signal level shifter in to see if it helps.

1 Like