Seite 1 von 3
Änderungen bei services/rules (Telegram) zwischen openHAB 2.x und 3.x?
Verfasst: 28. Mai 2022 15:36
von tsch
Habe meine telgram-rule und -service von meinem bisherigen (2.x) auf den neuen (3.x) openHAB Server kopiert und ebenso die items-Datei.
Ich lasse mir eine Info schicken, wenn der Fenstersensor im Bad (Homematic) ein geöffnetes Fenster anzeigt.
Homematic-Thing ist auf altem wie neuen Server vorhanden und wird auch auf dem neuen als "open" angezeigt, sobald das Fenster geöffnet wird jedoch verschickt bisher nur der alte Server pe rule eine Message per Telegram.
Habe ich noch etwas vergessen oder gibt es Änderungen zwischen openHAB 2.x und 3.x?
Vielen Dank.
Re: Änderungen bei services/rules (Telegram) zwischen openHAB 2.x und 3.x?
Verfasst: 28. Mai 2022 19:48
von udo1toni
Das Einfachste wäre ja, die konkreten Rules mal anzuhängen

Re: Änderungen bei services/rules (Telegram) zwischen openHAB 2.x und 3.x?
Verfasst: 28. Mai 2022 20:37
von tsch
Nichts einfacher als das.
homematic.items:
Code: Alles auswählen
Contact EG_Bad_SW_Fenster "Fensterkontakt Bad" { channel="homematic:HM-Sec-SCo:asdfsadf22425:REQ0815:1#STATE" }
telegram.rules:
Code: Alles auswählen
rule "Telegram wenn Fensterkontakt schaltet"
when
Item EG_Bad_SW_Fenster changed to OPEN
then
sendTelegram("xxx-bot", "Das Fenster im Bad wurde geöffnet!")
end
Re: Änderungen bei services/rules (Telegram) zwischen openHAB 2.x und 3.x?
Verfasst: 29. Mai 2022 01:11
von udo1toni
Ah. Unter openHAB2 hast Du den Telegram Bot über eine Datei telegram.cfg konfiguriert.
Unter openHAB3 musst Du stattdessen ein Thing für den Bot anlegen.
Das Telegram Binding bringt auch die Actions mit, die Du in der DSL verwenden willst. Die Actions müssen vorbereitet werden, das sieht in einer Rule dann so aus:
Code: Alles auswählen
val telegramAction = getActions("telegram","telegram:telegramBot:<uid>")
telegram:telegramBot:<uid> ist dabei die UID des Thing, in dem der Bot angelegt wird.
Anschließend kannst Du die Action so verwenden:
Ein Blick in die offizielle Doku hilft übrigens dabei

Re: Änderungen bei services/rules (Telegram) zwischen openHAB 2.x und 3.x?
Verfasst: 29. Mai 2022 08:43
von tsch
Danke Dir.
Komme mit der openHAB-Doku leider nicht wirklich klar, schaue ich mir aber auf jeden Fall mal genauer an.
Re: Änderungen bei services/rules (Telegram) zwischen openHAB 2.x und 3.x?
Verfasst: 29. Mai 2022 13:20
von udo1toni
tsch hat geschrieben: ↑29. Mai 2022 08:43Komme mit der openHAB-Doku leider nicht wirklich klar, schaue ich mir aber auf jeden Fall mal genauer an.
Kannst Du das an etwas Bestimmtem festmachen?
Re: Änderungen bei services/rules (Telegram) zwischen openHAB 2.x und 3.x?
Verfasst: 29. Mai 2022 14:03
von tsch
Die ist eher für Programmierer geeignet, die sich mit der Materie auskennen, als für Leute, die mit dem Thema Programmierung so gar nichts am Hut haben (wie mich).
Re: Änderungen bei services/rules (Telegram) zwischen openHAB 2.x und 3.x?
Verfasst: 29. Mai 2022 14:20
von udo1toni
Also, das kann ich wirklich nicht nachvollziehen. Vergleiche die Doku mal z.B. mit der Doku von Oracle Java, die ist nur für Hartgesottene.
Gerade für den Telegram Bot ist es sogar so, dass konkreter Beispielcode gezeigt wird

Re: Änderungen bei services/rules (Telegram) zwischen openHAB 2.x und 3.x?
Verfasst: 29. Mai 2022 17:49
von tsch
Ich fange gerade, so wie ich es damals mit 2.x gemacht habe nochmal bei Gettings Started an, da sich doch Einiges geändert hat.
Evtl. steige ich mit 3.x komplett auf UI- statt wie bisher Datei-basierter Konfiguration um.
Re: Änderungen bei services/rules (Telegram) zwischen openHAB 2.x und 3.x?
Verfasst: 19. Jun 2022 12:39
von tsch
Habe inzwischen in die Doku gesehen, komme aber leider nicht klar.
Das Telegram-Binding habe ich problemlos installiert und auch API-Token und Chat-ID eingetragen, sodass ich nun ein Telegram-Bot Thing habe, dass Online ist.
Da ich inzwischen einen Docker-Container mit lokalen Verzeichnissen, statt Volumes nutze, kann ich auch wieder problemlos per Visual Studio Code auf die Konfig-Verzeichnisse von openHAB 3.x zugreifen.
Welche Schritte/Dateien genau fehlen nun noch, damit ich per Telegram-Rule eine Info per Telegram erhalte, wenn der Homematic-Fensteröffner geöffnet wird wie im o.g. Beispiel beschrieben?
Eine Datei telegram.rules habe ich im Ordner rules abgelegt mit folgendem Inhalt:
Code: Alles auswählen
val telegramAction = getActions("telegram","telegram:telegramBot:1234567")