/GARAGE

Primary LanguageC++

#Openhab Integration to Hoermann Garage Door Opener#

I'm a proud owner of a gararage with a electric door powered by a ProMatic opener from hoermann. The device can be used with external switch, but only as a open-->stop-->close-->stop toggle button. My first try to integrate this to my home automation was a Wemo Maker and an additional reed contact to check if the door is closed or opened.

With the Wemos app this solution is fairly good. For integration into a home automation i do have one additional requirement: I want to have specific buttons for opening and closing.

In theory i could acchive that with some logic for the Maker; it reality i do have a stupid issue: the sensor needs to be polled. A better solution was needed. picture alt

Hardware##

The Hoermann Switch is nonnected to the closing contact of the relais, the reed contact between D3 and GND.

Software

The actual formware for the wemos can be found here. The "rest" of the files are actually aretefacts form PlatformIO. Arduino IDE would do too.

The Firmwre is equipped with OTA update.

The Logic behind

The Firmware implements a Status Network to compile the information from the reed contact with the assumption about what the door is doing. This quite simple task can become nasty:

picture alt

The status is maintained in the firmware and updated into a openhab http item via REST call. Triggers to open/close come vrom the outside via url calls as well.

OpenHAB config

Item (http binding)

String Hoermann "Garagentor [MAP(garage.map):%s]" <garagedoor> {http=">[DOOPEN:GET:http://192.168.178.47/open] >[DOCLOSE:GET:http://192.168.178.47/close]"}

Garage.map

OPEN=Tor Offen
DOOPEN=Sende Öffnen
CLOSING=Tor Schliesst
RETRY=Neuer Schliessversuch
ERROR=Fehler Torsteuerung
CLOSED=Tor Geschlossen
OPENING=Tor Öffnet
DOCLOSE=Sende Schliessen

Sitemap

  Switch item=Hoermann  mappings=[DOOPEN="/\\", DOCLOSE="\\/"]
  Text item=Hoermann

Re-Usage

if you want to copy this - have fun :-). You would need to adapt the url for updating the item and the ip of the wemos...