OpenGarage - open-source Wifi garage opener

So I didn’t adjust the power on my access point but I did recently upgrade my, perhaps that had some affect on this… but now it seems to be working okay. Gonna keep an eye on it, but I think it is okay now.

I worked one up and printed it. I can throw it on thingiverse if anyone else wants it but it’s pretty specific to my application since I used a protoboard.

1 Like

Is there any specifig wiring description available? I guess I’ve got another version of the node-mcu 'cause the description does’nt match the other pictures here in the thread.

edit: forget about what i wrote :smiley: it’s a v2 board so it’s exactly what @swbradshaw showed. :smiley:

I’m about to DIY this too, anyone bought something off the shelf which is roughly the right size and may need some cutting to accommodate the distance sensor?

Another question (I’m still waiting for all the parts), how do we connect the DIY opengarage in this thread with the garage door opener unit? Want to make sure I’ve order all the parts, and it’s not specifically mentioned in the parts list in this thread?

You connect the relay via wires to the contacts on your opener. It’s where the contacts for the button are.

1 Like

Got it thanks, I think I have some wire left-over from the opener installation which should do the trick!

I used cheap old speaker wire if you have any of that laying around.

My current OpenGarage setup…

I’m going to layout a PCB to clean that mess up :smiley:

Found my issue, Needed the CP2102 Driver.

Hi all,

Firstly thanks for the informative thread.

I’ve recently built my own:

In my case, opting for:

  • Reed magnetic switch instead of ultrasonic sensor
  • Garage door remote wired into 3.3v, and button press into relay
  • DHT22 for Garage Temp. Still not working as I haven’t gotten a version of opengarage working with this integrated yet :frowning:

This evening I managed to get Home Assistant also working with it:


I thought it would be useful to post an example configuration from my configuration.yaml:

#Garage door sensor status
  - platform: template
        friendly_name: 'Garage Door Status'
        value_template: '{% if states.cover.Garage %}
            {% if states.cover.Garage.attributes["door_state"] == "open" %}
            {% elif states.cover.Garage.attributes["door_state"] == "closed" %}
            {% elif states.cover.Garage.attributes["door_state"] == "opening" %}
            {% elif states.cover.Garage.attributes["door_state"] == "closing" %}
            {% else %}
            {% endif %}
            {% else %}
            {% endif %}'

  platform: opengarage
        device_key: verysecretkey
        name:  Garage

    name: Garage
      - cover.Garage
      - sensor.garage_status

So this is all working, however I’m currently stuck on one other problem - Control via Apple Homekit.

The Garage button has appeared in homekit, however turning it off or on does not do anything.

I see the following hass logs:

2018-02-13 09:11:33 INFO (MainThread) [homeassistant.components.http] Serving /api/services/homeassistant/turn_on to (auth: True)
2018-02-13 09:11:33 INFO (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: service=turn_on, service_call_id=1976775024-28, domain=homeassistant, service_data=entity_id=group.garage>
2018-02-13 09:11:33 INFO (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: service=turn_on, service_call_id=1976775024-29, domain=sensor, service_data=entity_id=['sensor.garage_status']>
2018-02-13 09:11:33 INFO (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: service=turn_on, service_call_id=1976775024-30, domain=cover, service_data=entity_id=['cover.garage']>
2018-02-13 09:11:33 WARNING (MainThread) [homeassistant.core] Unable to find service sensor/turn_on
2018-02-13 09:11:33 WARNING (MainThread) [homeassistant.core] Unable to find service cover/turn_on

Is there something more I need to do to also get it working in homebridge?



I’m not sure if homekit detects the device correctly, because it is provided as cover, so the command should not be “turn on”. Do you have other covers integrated in hassio? Maybe it has to be a command like “turn up/down”. I will check that later when I’m back home if it’s working for me.

Currently you’re seeing the Garage group being passed through to Homebridge. Groups are modeled as turn on/turn off entities in Homebridge, so when you click on it it’s trying to turn the group members (in this case a sensor and a cover) on and off, but neither of the entities in the group support on or off commands.

You probably haven’t, but need to, set the homebridge_cover_type parameter in configuration.yaml under customize (or in customize.yaml itself if your config is of a new enough vintage) like so:

    homebridge_cover_type: garage_door

Restart Home Assistant, restart Homebridge, and the Garage should get pulled into the Home app.

Also, not trying to steal any users from OpenGarage, but given that you mentioned the DHT22, you could check out my project at Check the dev branch, there’s code in the sketch that processes and publishes data from a DHT11 or 22.


Awesome thanks @marthocoo!

That was exactly what I needed :slight_smile:

And yes, you helped me compile garHAge a week ago :wink: I’ve got that on another ESP I’m playing with :+1:

OK, silly question and not really HA related - I’ve received all the parts, and built the Opengarage across two breadboards. The only problem now is I can’t even get the NodeMCU to respond. I plug it into my PC via USB and don’t even receive any feedback i.e. no LED’s light up (even briefly). In addition, I can’t see it as a COM port, despite installing the CP210x_Universal_Windows_Driver. I’ve tried this both as standalone (i.e. NodeMCU only) and also connected to the relay, etc.

Any suggestions or is it just a dead NodeMCU?

Try a different USB port. Perhaps the port it’s plugged into isn’t providing enough power.

If that doesn’t work, try removing variables such as the relay and see if you can get it to power up.

Thanks! I’ve tried different ports and also different cables. I might try a different PC though. Should it power up without anything connected i.e. simply with the NodeMCU connected directly to USB?

edit no go with another PC

Is the Nodemcu detected as COM port? Without any sketch the module will do nothing except a short led flash at the start.

Nope, not even detected as a COM port, and no flash at the beginning when I initially plug in either.

Sounds like the NodeMCU is dead. I would try using a micro USB power supply to see if that works (same as for a raspberry pi). If that fails, you could try powering via the VIN and GND pins (if that works, would mean something has happened to the USB port of the MCU).