Home Assistant Sommer Pro+ / Base+ Garage Door Opener

Home Assistant Sommer Pro+ / Base+ Garage Door Opener

This is my version of the excellent garage_pi project by Daniel that uses a WeMos D1 mini instead of a Raspberry Pi Zero.

The project is available here:https://github.com/jampez77/garage_door_sensor/releases

Prerequisites

Software

  • Arduino IDE - I’m using v1.8.12
  • Arduino JSON - v6.15.1
  • PubSubClient - v2.7.0
  • ESP8266WiFi
  • ArduinoOTA

Hardware

Setup

Flashing project to the WeMos

Once you have setup your software, you first need to download this project, by clicking clone -> Download ZIP.

Unzip the file and navigate to the contents. you should see a file named My_Helper_sample.h, go ahead and rename it to My_Helper.h.

Now open garage_door_sensor.ino. Doing so should open it in the Arduino IDE.

You do not need to make any changes to the garage_door_sensor script itself!

Click on the My_Helper.h tab, that is where you will add your WiFi credentials for your home network & your MQTT details.

Wiring

You will need to solder a wire to G and A0 on the bottom of the D1 Mini. Plug these into the GND and OUT pins on the Output OC PCB respectively.

Connect the relay to the Sommer Conex PCB. The NO terminal should connect to T1 on the Conex, NC to T2, with COM terminal connecting to the centre pin.

Finally the USB power Adapter needs to be plugged into the 24v and Ground of the Sommer circuit board.

Upload

The next step, once you’re happy with the details is to upload the project to the Wemos D1 Mini.

To do that you select Tools from the top menu within the IDE.

Then you need to set the upload parameters to the following;

The next step is to simply plug your device in the computer, Go to Tools -> Port and select it.

For me this usually says something dev/usbserial...

You will only need the device plugged in on your first upload, after that you should see your devices name and it’s IP address in the port list.

Now you just click on the upload button in the top left corner of the IDE, it’s the right-facing arrow.

After a bit of time compiling, the script should be uploaded to the device and begin scanning for the car.

You can see what the device is doing by going to Tools -> Serial Monitor

If the upload doesn’t work the most likely cause is that you forgot to rename the My_Helper_sample.h file or import the above libraries.

Integrating with Home Assistant

The simplest way to integrate with Home Assistant is to turn on MQTT discovery. With this activated the device will be added automatically.

Alternatively you can add a new cover to the configuration.yaml like this:

    cover:
    - platform: mqtt
      name: Garage Door
      command_topic: "garage/door/output"
      state_topic: "garage/door"
      state_open: "open"
      state_opening: "opening"
      state_closed: "closed"
      state_closing: "closing"
      payload_open: "OPEN"
      payload_close: "CLOSE"
      qos: 1
      optimistic: true
      device_class: garage

Here is what the final project looks like for me now:


4 Likes

Hi, sounds cool!
Are you getting the 24V from the Sommer and stepping down to 5V to power the D1 Mini and relay?
I am about to implement your project, any advice after 2+ years of operation?

If i recall correctly I’m getting 24V from Sommer and powering the D1 Mini from separate USB power source.

To be honest my only real advice is not to expect perfect reliability. I find that it’s mostly fine but on occasion it goes through phases of being offline/online.

This however could be because of my network setup. I have a detached garage out of range of my Wifi network. So it’s connected via a TP Link powerline adapter / wifi ap. This doesn;t have the best record of reliability itself.

I used the connex with a zooz zen17 and it works great. Simple to set up and no real issues once you get everything defined.

Remember to set dip switch 2 on sommer board to ON to make output oc work. Also, I had to init D1 pin on wemos as OUTPUT_OPEN_DRAIN

I have no knowledge in IDE or WEMO.
I have installed everything like your instructions said. MQTT works. I get updates from the status open/close, but I can’t open or close with HA. It’s a hardware thing. The relay doesn’t work. In an answer there is been spoken to put the pin in OUTPUT_OPEN_DRAIN. Is this something I have to do in IDE?

I changed it here: garage_door_sensor/garage_door_sensor.ino at ebf4d582ba74275acb2f02a65cf32a1c16cf110f · jampez77/garage_door_sensor · GitHub

Thanks for your answer. But there is somenthing I’m doing wrong. It seems the relay doesn’t get 5V. I mesure 5V on the + and -, but the led on relay doesn’t light on. When I put a jumper from 5V to S from the relay, the led alight.



Sorry for the delay, I am not receiving notifications unless mentioned. That is strange, could it be that you are not providing enough power to the wemos board? I am powering it with 5v on the pins in parallel to the relay with a step down