Hörmann Garagentoröffnung über WLAN / FHEM / MQTT

Hörmann Garagentoröffnung über WLAN / FHEM / MQTT

8. Januar 2019 4 Von inside

benötigt wird:

  • Hörmann Supramatik Garagentor Antrieb
  • ESP8266 WIFI 5V Relais Modul (LC Technology)
  • DC-DC Converter (step down Schaltregler LM2596)
  • Feuchtraumdose, kleine Platine, Sicherung+Halter (100mA), Leiterbahnanschluss, Kabel, Lötkenntnisse

Schritte:

  • ESP Modul mit aktueller Tasmota Firmware flashen (kann ggf. auch später erfolgen im eingebauten Zustand)
  • Relais spezifische Anpassungen in Tasmota durchführen
  • Platine löten (Sicherung 100mA)
  • WICHTIG! Das ESP Modul arbeitet mit 5Volt DC. Der Hörmann Garagentorantrieb gibt aber 24Volt DC heraus. Deshalb muss der Step-Down Konverter erst auf 5Volt Ausgangsspannung eingestellt werden, bevor man den ESP verbindet!

Anschluss:

  • Schaltkontakte vom Antrieb an „COM“ und „NO“ am ESP Modul
  • 24V vom Antrieb auf die Sicherung (100mA), dann auf den Eingang „IN+“ des Step-Down Konverters, vom Ausgang „OUT+“ dann an „IN+“ am ESP Modul
  • 0V vom Antrieb auf den Eingang „IN-“ des Step-Down Konverters, vom Ausgang „OUT-“ dann an „IN-“ am ESP Modul

Relais spezifische Anpassungen in Tasmota:

Rule1 on System#Boot do Baudrate 9600 endon on Power1#State=1 do SerialSend5 A00101A2 endon on Power1#State=0 do SerialSend5 A00100A1 endon on switch2#state do publish cmnd/custom-topic/SWITCH %value% endon
Rule1 1

Dann kann man bequem über MQTT das Modul in seine bestehende FHEM Automation integrieren.
Der folgende FHEM Code integriert das MQTT Device und erstellt einen „Taster“, der für eine Sekunde das Signal an das Relais sendet.

define GaragenTor MQTT_DEVICE
attr GaragenTor DbLogInclude state
attr GaragenTor IODev Mosquitto
attr GaragenTor alias GaragenTor
attr GaragenTor event-on-change-reading state
attr GaragenTor eventMap ON:on OFF:off
attr GaragenTor publishSet on off toggle /Smarthome/Garage/tor/cmnd/power
attr GaragenTor room Garage
attr GaragenTor stateFormat state
attr GaragenTor subscribeReading_state /Smarthome/Garage/tor/POWER
attr GaragenTor webCmd on:off
define GaragenTorTaster dummy
attr GaragenTorTaster room Garage
attr GaragenTorTaster setList on
attr GaragenTorTaster webCmd on
define notify_GaragenTor notify GaragenTorTaster:on { fhem("set GaragenTor on ;; define GaragenTorOff at +00:00:01 set GaragenTor off")}
attr notify_GaragenTor room Garage

Neue Version mit Hörmann Universalplatine UAP1:

Das bestehende ESP Modul wurde um einen MCP23017 per I2C Bus erweitert. Die Ausgänge des MCP werden auf ein 4fach Relaismodul geführt, um die Eingänge des UAP potenzialfrei zu schalten. Die Eingänge des MCP gehen an die Relais des UAP. Eingebunden über MQTT2 in FHEM

Möglich ist nun:
– Licht des Antriebes einschalten
– Tor öffnen
– Tor schliessen
– Tor stop
– Tor toggle

Zustände des Tor sind auch direkt verfügbar:
– Tor geschlossen
– Tor geöffnet / halb geöffnet

Insgesamt geht jetzt nur noch ein Buskabel vom Antrieb in die neue Verteilerbox. Über den Bus kommen auch 24Volt, welche für die eigenen Komponenten verwendet werden können.

define MQTT2_DVES_6F090D MQTT2_DEVICE DVES_6F090D
setuuid MQTT2_DVES_6F090D 5e146e73-f33f-2a3a-8631-fb7a8622f3da74f3
attr MQTT2_DVES_6F090D DbLogInclude MCP230XX_INT_D9
attr MQTT2_DVES_6F090D IODev MQTT2_FHEM_Server
attr MQTT2_DVES_6F090D alias GaragenTorMCP
attr MQTT2_DVES_6F090D devStateIcon 0:fts_garage_door_100@green 1:fts_garage_door_10@red
attr MQTT2_DVES_6F090D event-on-change-reading MCP230XX_INT_D8,MCP230XX_INT_D9,MCP230XX_INT_D10
attr MQTT2_DVES_6F090D readingList DVES_6F090D:/Smarthome/Garage/Tor/LWT:.* LWT\
DVES_6F090D:/Smarthome/Garage/Tor/cmnd/POWER:.* POWER\
DVES_6F090D:/Smarthome/Garage/Tor/INFO1:.* { json2nameValue($EVENT) }\
DVES_6F090D:/Smarthome/Garage/Tor/INFO2:.* { json2nameValue($EVENT) }\
DVES_6F090D:/Smarthome/Garage/Tor/INFO3:.* { json2nameValue($EVENT) }\
DVES_6F090D:/Smarthome/Garage/Tor/RESULT:.* { json2nameValue($EVENT) }\
DVES_6F090D:/Smarthome/Garage/Tor/POWER:.* POWER\
DVES_6F090D:/Smarthome/Garage/Tor/STATE:.* { json2nameValue($EVENT) }\
DVES_6F090D:/Smarthome/Garage/Tor/SENSOR:.* { json2nameValue($EVENT) }\
DVES_6F090D:stat/DVES_6F090D_fb/RESULT:.* { json2nameValue($EVENT) }\
DVES_6F090D:stat/DVES_6F090D_fb/POWER:.* POWER
attr MQTT2_DVES_6F090D room Anwesenheit,Garage,MQTT2_DEVICE
attr MQTT2_DVES_6F090D setList buzzer cmnd/DVES_6F090D_fb/sensor29 7,\
out1 cmnd/DVES_6F090D_fb/sensor29 6,\
out2 cmnd/DVES_6F090D_fb/sensor29 5,\
out3 cmnd/DVES_6F090D_fb/sensor29 4,\
out4 cmnd/DVES_6F090D_fb/sensor29 3,\
relais cmnd/DVES_6F090D_fb/Power1\

attr MQTT2_DVES_6F090D stateFormat MCP230XX_INT_D9
define FileLog_MQTT2_DVES_6F090D FileLog ./log/MQTT2_DVES_6F090D-%Y.log MQTT2_DVES_6F090D
setuuid FileLog_MQTT2_DVES_6F090D 5e146e73-f33f-2a3a-8e87-7a6debf7e3ca7726
attr FileLog_MQTT2_DVES_6F090D logtype text
attr FileLog_MQTT2_DVES_6F090D room MQTT2_DEVICE