Seite 1 von 2
Rollladen-Schalter via ESPHome device in openHAB
Verfasst: 3. Jun 2024 16:42
von starbright
Hab mir voriges Jahr einen Tuya Roll-Ladenschalter (MOES) gekauft. Nach ersten Versuche den zu ent-clouden hatte ich es aufgegeben.
Inzwischen habe ich ein Profil von dem Gerät erstellen lassen (nach einem Dump der Firmware via Lightleak) und auch ESPHome geflasht (tuya-cloudcutter).
Inzwischen reagiert das Teil auch auf die Tasten

Jetzt stehen eine Reihe weiterer Herausforderungen an:
- ein ESPHome ins openHAB zu integrieren
- Uhrzeit holen
- eine Art Zeitsteuerung zu integrieren die dann auch einen automatisierten Offline Betrieb ermöglicht
Ich hab hier im Forum gegoogelt, aber nicht wirklich eine Anleitung/Hilfe gefunden.
Am ehesten noch hier in English
https://community.openhab.org/t/esphome/71765/13
Aber ich finde nicht, wie ich das in openHAB integriere.
Derzeit sieht mein device.yaml so aus, da ist noch nicht mal mqtt drin - ich dachte das wäre Standard bei espHome !?!
Code: Alles auswählen
esphome:
name: kickstart-bk7231n
bk72xx:
board: generic-bk7231n-qfn32-tuya
logger:
web_server:
captive_portal:
mdns:
api:
password: ""
ota:
password: ""
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
button:
- platform: restart
name: Restart
debug:
update_interval: 30s
text_sensor:
- platform: debug
reset_reason:
name: Reset Reason
- platform: libretiny
version:
name: LibreTiny Version
sensor:
- platform: uptime
name: Uptime
output:
- platform: gpio
id: output_led_1
pin: P14
- platform: gpio
id: output_led_3
pin: P23
light:
- platform: binary
id: light_switch_1
output: output_led_1
- platform: binary
id: light_switch_3
output: output_led_3
binary_sensor:
- platform: gpio
id: binary_switch_1
pin:
number: P24
inverted: true
mode: INPUT_PULLUP
on_press:
then:
- switch.toggle: switch_1
- platform: gpio
id: binary_switch_3
pin:
number: P7
inverted: true
mode: INPUT_PULLUP
on_press:
then:
- switch.toggle: switch_3
switch:
- platform: gpio
id: switch_1
name: Relay 1
pin: P6
on_turn_on:
- light.turn_on: light_switch_1
on_turn_off:
- light.turn_off: light_switch_1
- platform: gpio
id: switch_3
name: Relay 3
pin: P9
on_turn_on:
- light.turn_on: light_switch_3
on_turn_off:
- light.turn_off: light_switch_3
status_led:
pin: P26
Geht das dann alles über Generic MQTT Thing?
Re: ESPHome device in openHAB
Verfasst: 3. Jun 2024 18:14
von Harka
Moin,
Mqtt wird nicht automatisch vor eingerichtet. Von Haus aus will ESPHome mit HA über die API sprechen. Du brauchst also mindestens einen Eintrag mit mqtt: und broker: IP
https://esphome.io/components/mqtt.html
Kommentier die api Parameter ab besten gleich noch mit Rauten # aus.
Ja, weiter geht es dann mit Generic MQTT Thing
Ich habe nur Sensoren und die erreiche ich über die Namen. Das sollte dann bei Dir z.B.
kickstart-bk7231n/sensor/uptime/state für das Feld MQTT_State_Topic sein. Da mußt Du ggf. noch mal einem Mqtt-Tool wie dem MQTT-Explorer schauen.
Re: ESPHome device in openHAB
Verfasst: 3. Jun 2024 19:12
von starbright
Merci, dann schau ich mir das mal an.
Zeit bekomme ich inzwischen und auch ein Ein/Aus für Mo-Fr und Sa/So hab ich programmiert.
Stellt sich nur noch die Frage wie man das später per openHAB programmierbar/änderbar macht.
Ich denke an/aus per openHAB ist wahrscheinlich kein großes Ding. Aber die Zeiteingaben?!?
Ist das bei den Rolladenschaltern nicht so, dass die dann nach einer Zeit (1.. 2min) ihre Schaltausgänge wieder zurücksetzen?
Sonst bleib ja auch die LED hinter dem Schalter an. Mhhhh.
Re: ESPHome device in openHAB
Verfasst: 3. Jun 2024 19:52
von udo1toni
Mit ESPhome kenne ich mich nicht aus (ich habe nur ein Gerät, welches auf ESPhome basiert)
Bei mir sind alle Geräte mit Tasmota geflasht.
Dort kann man jedem mindestens 2-kanaligen Schaltaktor per Konfiguration mitteilen, dass es ein Rollladenaktor ist. Danach stehen diverse zusätzliche Parameter zur Verfügung, wie Betriebsart (wie wird der Motor angesteuert), Fahrzeit (getrennt pro Richtung), Invertierung (100 = geschlossen) usw.
Die Zeitsteuerung kann man natürlich auch im Aktor selbst programmieren, ich mache das aber nicht. stattdessen sendet openHAB zum jeweiligen Zeitpunkt einfach den passenden Schaltbefehl.
Ich gehe davon aus, dass man in ESPhome sicher sehr ähnliche Optionen hat. Du trägst also die Laufzeiten für den Motor ein und der Aktor schaltet automatisch an und aus und meldet nach einer Fahrt die errechnete Position zurück.
Re: ESPHome device in openHAB
Verfasst: 4. Jun 2024 08:40
von starbright
Ich versuche es mal der Reihe nach und bleibe erst mal bei dem Template von meinem Gerät.
Spannend: Ich muss nur
zur yaml Datei hinzufügen und schon wird in openHAB das Gerät erkannt und ich kann es als Thing hinzufügen.
Das überrascht mich, ich dachte ich muss noch für die Switches usw extra Zeilen hinzufügen für das Empfangen von Befehlen und Senden von Status-Infos.
Wie komme ich von da zu einem (verknüpftem) Rollershutter Cell in meiner Overview-Page?
Ich muss aus dem Thing noch ein Model oder Items machen, oder? Irgendwie sollen die beiden Schalter ja noch ein eine Cell kommen.
Am Ende sind es die beiden Relays deren Status ich kennen und die zu bedienen sind.
Re: ESPHome device in openHAB
Verfasst: 4. Jun 2024 16:35
von Harka
starbright hat geschrieben: ↑4. Jun 2024 08:40Wie komme ich von da zu einem (verknüpftem) Rollershutter Cell in meiner Overview-Page?
Ich muss aus dem Thing noch ein Model oder Items machen, oder?
Ja, imho am einfachsten geht das in der Modellansicht. Dort den Raum auswählen (ggf. vorher mit Add_Location erstellen). Anschließend mit Create_Equimpment_from_Thing das Gerät und die Channels auswählen und anpassen. Jetzt sollte das Gerät schon in den Page für Standort, Geräte und Eigenschaften zu finden sein. Für die Übersicht ist noch etwas Arbeit nötig.
PS: ich habe diese automatische MQTT-homeassistant-Einbindung irgend wie in schlechter Erinnerung. Du solltest mit dem ESPHome-Dings fertig sein. Meiner Erinnerung nach hatte ich nach spätere Änderungen/Ergänzungen Probleme. Kann mich aber auch irren ...
Achso, wie Udo schon schrieb, mach die Automationen lieber alle über openHAB. Wenn Du später was ändern willst und nicht mehr sicher bist was Du wo eingestellt hast ...
Re: ESPHome device in openHAB
Verfasst: 5. Jun 2024 10:07
von starbright
Vielleicht muss ich es von der anderen Seite aufrollen und schauen was mir openHAB (3.x) bietet.
Ich bin also in der Page-Ansicht und da in Overview (ich hab nicht so viel als dass ich das noch gruppieren müsste).
Dort kann ich auswählen wie mein Schalter dargestellt werden soll: Theoretisch zur Auswahl wäre ein Knob oder Slider oder Rollershutter. Allen gemeinsam ist, es gibt nur ein Item!
Ich hab wahrscheinlich das Konzept dahinter nicht richtig verstanden und auf der Device-Seite praktisch 3 MQTT commands umgesetzt: up/down/stop.
Naiv wahr ich davon ausgegangen dass ich den 3 Knöpfen im Rollershutter diese Befehle zuweisen kann, aber ich weiß nicht mehr ob und wie.
Allerdings:
Wenn ich später mal genauer steuern will: öffne 10% oder 90%, dann wäre wahrscheinlich EIN Befehl mit einer %-Angabe als Parameter eh besser. Bevor ich mein Gerät entsprechend umbaue - würde sich das auf der Page-Seite abbilden lassen? Dann wahrscheinlich am besten als Slider?
Also der finale Plan für einen genialen Schalter wäre:
- Rollershutter der sich per Hand bedienen läßt (über die Tasten)
- der ein Zeitprogramm haben kann (das auch offline funktioniert!)
- das Zeitprogramm soll sich per Hand (lange Stop drücken z.B.) aktivieren/deaktivieren lassen - den Zustand muss man durch LEDs signalisieren
Bis hierher waren es die bisherigen Eigenschaften meiner Zeitgesteuerten Schalters (nur dass ich da ein Display hatte und die Zeiten manuell ändern konnte. Nun muss das natürlich eingebunden werden ins openHAB und dazu:
- es muss via MQTT (für die Einbindung in openHAB bzw einfach universell bedienbar sein.
- MQTT command zum öffnen in %
- MQTT command zur "kalibrierung" (wahrscheinlich muss man die Laufzeit hoch/runter angeben, denn das Device bekommt nicht mit ob/wann die Endlage erreicht ist, soweit ich weiß).
Für Fortgeschrittete wäre da noch (da hab ich nich gar keinen Plan wie das gehen soll und in openHAB einbindbar wäre):
- MQTT command zur Änderung der Zeitsteuerung
Für die (offline-Zeitsteuerung) wäre meines Erachtens nötig:
- morgens Mo-Fr
- morgens Sa-So
- tagsüber
- nachts
und für diese 4 jeweils x Uhr Aktion: öffne in y%
So könnte man also morgens z.B. ganz hochfahren, nachmittags halb schliessen (Sonne!), nachts zu machen.
Hab schon eine Weile gesucht, aber noch nichts dergleichen gefunden, dass mit jedem Device (esphome läuft im Gegensatz zu Tasmota auch auf inzwischen sehr üblichen Beken Chips) funtionieren würde
Re: Rollladen-Schalter via ESPHome device in openHAB
Verfasst: 5. Jun 2024 10:47
von udo1toni
openHAB bildet in der Oberfläche gewöhnlich die Items ab, die es selbst für die Funktion bietet.
Für Rollershutter wäre das - Trommelwirbel - ein Rollershutter Item.
Ein Rollershutter Item kennt die Befehle UP/DOWN/STOP sowie 0 - 100 (%)
Weiterhin kennt das Rollershutter Item die Zustände 0 - 100 (% - 0 % = vollständig offen, 100 % = vollständig geschlossen)
Im Idealfall kannst Du dieses eine Item mit exakt einem Channel verknüpfen, der exakt die oben aufgeführten Befehle und Status kennt (Tasmota z.B.). Kann das angebundene System die Befehle/Status nur über unterschiedliche Channel anbieten, dann bleibt Dir nichts anderes übrig, als über eine oder mehrere Rules die unterschiedlichen Channel in dem einen Item zusammenzuführen.
Alternativ kannst Du natürlich auch eigene Widgets bauen, um an der openHAB Funktionalität vorbei zu arbeiten - ob das der Weisheit letzter Schluss ist?
Was die Anforderungen betrifft, so ist das meines Erachtens alles mit Tasmota erfüllbar. Ja, Tasmota hat als Hardware Voraussetzung ESP8266 oder ESP32. Die Chips sind günstig (um nicht zu sagen billig) und extrem weit verbreitet. Falls sich der Markt an dieser Stelle wandelt und ein anderer - inkompatibler - Chip zukünftig den Markt dominieren sollte, wird Theo Ahrends mit hoher Wahrscheinlichkeit auch eine Unterstützung dafür implementieren. Mein Tipp an dieser Stelle wäre, mal freundlich im Forum nachzufragen, ob es da schon Bestrebungen gibt.
Re: Rollladen-Schalter via ESPHome device in openHAB
Verfasst: 5. Jun 2024 13:10
von starbright
Ich stelle euch hier mit meinem Fragen sicher auf die Geduldsprobe. Aber so ist das nun mal beim Basteln... Danke dafür!
Ja, Tasmota ist sicher am besten, aber ich hab keine Lust an 12 Geräten die Chips zu tauschen. Aber ich werde mal schauen, ob sich da in Sachen Beken-Unterstützung was tut, der läuft ja (von der Menge) den ESPs langsam den Rang ab.
Habe ich dich richtig verstanden:
Es gibt für den Rollershutter 1 (in Worten ein) item, auf das kann man dann 0...100 (integer?) oder up/down/stop (string?) senden?
Aber kann so ein Item nicht nur ein Typ sein? (man kann natürlich auch eine Zahl als String senden).
Das war dann mein Missverständnis dass es 3 Kanäle geben muss.
Und noch was, das Rollershutter-Icon hat 3 Schaltflachen, eine 0..100% Angaben ist damit nicht möglich. Dann besser einen Slider (wenn man bei den vorgefertigten Cells bleiben will, oder?
Dann mach ich mich mal ans Umarbeiten meines esphome yamls.
Re: Rollladen-Schalter via ESPHome device in openHAB
Verfasst: 5. Jun 2024 16:37
von Harka
das sollte sich eigentlich auch mit ESPHome regeln lassen. Du kannst, wenn ich das richtig sehe, die 3 Switch für öffnen/schließen/stopp zu einem Cover-Item zusammenführen. Schau mal hier ->
https://esphome.io/components/cover/