Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt
Moderator: seppy
-
- Beiträge: 28
- Registriert: 28. Mär 2021 10:02
Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt
Ich habe einen Shelly 2.5, nicht Tasmota geflasht, aber ihn via der Shelly GUI "MQTT" enabled.
Edit: Als Schalter dient ein normaler "2 Tasten Schalter", den ich über die Settings in der Shelly GUI auch entsprechend konfiguriert habe.
Mir geht´s ja jetzt um die Anzeige in der OH UI: da wird mir die Rollade als "close" angezeigt, obwohl sie ja im Status "open" sein müsste.
Edit: Als Schalter dient ein normaler "2 Tasten Schalter", den ich über die Settings in der Shelly GUI auch entsprechend konfiguriert habe.
Mir geht´s ja jetzt um die Anzeige in der OH UI: da wird mir die Rollade als "close" angezeigt, obwohl sie ja im Status "open" sein müsste.
- PeterA
- Beiträge: 1052
- Registriert: 8. Feb 2019 12:12
Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt
Den Shelly ausbauen und umklemmen. So ists mir mit meinem ersten Shelly auch ergangen.
Dann wird er zwar in der Shelly APP umgekehrt angezeigt aber ich möchte es ja in OpenHab richtig haben.
Dann wird er zwar in der Shelly APP umgekehrt angezeigt aber ich möchte es ja in OpenHab richtig haben.
- OpenHab 2.4
#PWRUP
#PWRUP
-
- Beiträge: 28
- Registriert: 28. Mär 2021 10:02
Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt
Habe deinen Vorschlag, PeterA, mal versucht über die Settings in der Shelly UI umzusetzen (und dort unter "Reverse Directions" die Aktivierung entfernt). Dadurch wurde in der Shelly UI die Position der Rollade "verkehrt" und in OH "richtig" angezeigt.
Eigentlich sollte es das ja dann gewesen sein, aber da ich in den Shelly Settings unter "Weekly schedule" ein paar Routinen vorhanden habe (bspw. das die Rollade 30min nach Sonnenuntergang runtergeht), funktionierten die nicht mehr.
OK.. "Regeln in der Shelly UI entfernen und neue in OH erstellen"... (für mich - derzeit - leichter gesagt, als getan).
Astro Binding ist bereits installiert und eine erste Regel hatte ich auch schon über die OH UI erstellt (schaltet eine Hue Go Lampe bei Sonnenuntergang ein...jedoch bin ich noch nicht dahinter gekommen, wie ich eine gewünschte Farbe/Helligkeit in der Regel "unterbringe").
Bei den Regeln für die Rollladen (wochentags rauf um xUhr, am Wochenende y Uhr, bei Sonnenuntergang +30m runter & und Lampe X an), die ich gerne alle in VSC anlegen würde, komme ich nicht zurecht.
Wenn du/jemand hier einen Tipp hast/habt, wie das umgesetzt werden kann, wäre das Klasse.
@ udo1toni: Zu deiner Bemerkung hier:
Mit meinen Gosund Steckdosen hatte das prima geklappt. Jedoch bin ich mir bei dem Shelly unsicher, ob ich damit die "Positionsproblematik" beseitigt bekomme, da der Tasmota default status ja auch 100= oben und 0=unten hat.
Wie müssten denn die entsprechende(n) Zeile(n) in der things Datei lauten?
Bisher habe ich den folgenden "Channel":
Wenn ich dich richtig verstanden habe, müsste die command Zeile muss noch "mit etwas" ergänzt werden. Aber mit was?
Danke im Voraus.
Eigentlich sollte es das ja dann gewesen sein, aber da ich in den Shelly Settings unter "Weekly schedule" ein paar Routinen vorhanden habe (bspw. das die Rollade 30min nach Sonnenuntergang runtergeht), funktionierten die nicht mehr.
OK.. "Regeln in der Shelly UI entfernen und neue in OH erstellen"... (für mich - derzeit - leichter gesagt, als getan).
Astro Binding ist bereits installiert und eine erste Regel hatte ich auch schon über die OH UI erstellt (schaltet eine Hue Go Lampe bei Sonnenuntergang ein...jedoch bin ich noch nicht dahinter gekommen, wie ich eine gewünschte Farbe/Helligkeit in der Regel "unterbringe").
Bei den Regeln für die Rollladen (wochentags rauf um xUhr, am Wochenende y Uhr, bei Sonnenuntergang +30m runter & und Lampe X an), die ich gerne alle in VSC anlegen würde, komme ich nicht zurecht.
Wenn du/jemand hier einen Tipp hast/habt, wie das umgesetzt werden kann, wäre das Klasse.
@ udo1toni: Zu deiner Bemerkung hier:
Den Shelly mit Tasmota zu flashen, kam mir auch schon mal in den Sinn. Das scheint ja bei dem auch via OTA zu funktionieren (link).
Mit meinen Gosund Steckdosen hatte das prima geklappt. Jedoch bin ich mir bei dem Shelly unsicher, ob ich damit die "Positionsproblematik" beseitigt bekomme, da der Tasmota default status ja auch 100= oben und 0=unten hat.
Wie müssten denn die entsprechende(n) Zeile(n) in der things Datei lauten?
Bisher habe ich den folgenden "Channel":
Code: Alles auswählen
Type rollershutter : roller "Rollade Straße" [ stateTopic="shellies/shellyswitch25-blabbla/roller/0/pos", commandTopic="shellies/shellyswitch25-blabla/roller/0/command/pos" ]
Danke im Voraus.
- udo1toni
- Beiträge: 13986
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt
Die Shelly Topics sind halt leicht anders, aber ähnlich. Die Frage ist, ob Dir ein Topic reicht, um sowohl mit UP/DOWN/STOP als auch mit 0 - 100 zu steuern. Die Rückmeldung kommt ja eh als Wert 0 - 100.
In Tasmota gibt es eine Option, um die Meldung für offen/geschlossen umzukehren. Gewöhnlich ist es in Tasmota falsch (also 100 = offen und 0 = geschlossen), aber mit ShutterInvert 1 liefert Tasmota korrekt 0 = offen und 100 = geschlossen. Das gilt dann natürlich auch für die absolute Positionierung.
Steuerung per Astro Binding:
Wenn Du das Astro Binding einfach einrichtest, gibt es anschließend in der Inbox ein Thing für sun und eines für moon, welche sich ihre Werte (Positionsdaten) aus den System Settings auslesen. Die heißen dann astro:sun:local und astrolocal.
In einer Rule für den Sonnenaufgang triggerst Du dann einfach auf 'astro:sun:local:civilDawn#event' triggered START:
civilDawn und civilDusk triggern bei einer Elevation von -6°, da beginnt die Morgendämmerung bzw. endet die Abenddämmerung. Diese beiden Zeitpunkte sind erfahrungsgemäß sehr gut geeignet für das Öffnen und Schließen der Läden.
Du kannst selbstverständlich die Zeitpunkte noch relativ verschieben, indem Du einen Offset von +/- x Minuten setzt und genauso kannst Du auch ein Zeitfenster einstellen (mittels earliest und latest). Es läuft dann so, dass der Laden frühestens bei earliest gefahren wird, sollte der eigentliche Trigger (unter Berücksichtigung des Offset) später stattfinden, fährt der Laden später, spätestens aber zum Zeitpunkt latest.
Innerhalb der Rule musst Du nur dort, wo ich den Kommentar eingefügt habe, die Anweisung(en) zum Verfahren der Läden angeben.
In Tasmota gibt es eine Option, um die Meldung für offen/geschlossen umzukehren. Gewöhnlich ist es in Tasmota falsch (also 100 = offen und 0 = geschlossen), aber mit ShutterInvert 1 liefert Tasmota korrekt 0 = offen und 100 = geschlossen. Das gilt dann natürlich auch für die absolute Positionierung.
Steuerung per Astro Binding:
Wenn Du das Astro Binding einfach einrichtest, gibt es anschließend in der Inbox ein Thing für sun und eines für moon, welche sich ihre Werte (Positionsdaten) aus den System Settings auslesen. Die heißen dann astro:sun:local und astrolocal.
In einer Rule für den Sonnenaufgang triggerst Du dann einfach auf 'astro:sun:local:civilDawn#event' triggered START:
Code: Alles auswählen
rule "bei Sonnenaufgang"
when
Channel 'astro:sun:local:civilDawn#event' triggered START
then
// Rollläden hoch
end
rule "bei Sonnenuntergang"
when
Channel 'astro:sun:local:civilDusk#event' triggered START
then
// Rollläden runter
end
Du kannst selbstverständlich die Zeitpunkte noch relativ verschieben, indem Du einen Offset von +/- x Minuten setzt und genauso kannst Du auch ein Zeitfenster einstellen (mittels earliest und latest). Es läuft dann so, dass der Laden frühestens bei earliest gefahren wird, sollte der eigentliche Trigger (unter Berücksichtigung des Offset) später stattfinden, fährt der Laden später, spätestens aber zum Zeitpunkt latest.
Innerhalb der Rule musst Du nur dort, wo ich den Kommentar eingefügt habe, die Anweisung(en) zum Verfahren der Läden angeben.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 28
- Registriert: 28. Mär 2021 10:02
Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt
Merci Udo!!
Ich überlege mir das mit dem Flashen nochmal. Bin mir noch nicht ganz sicher, ob es einen "Mehrwert" zu der bereits aktivierten MQTT Option in der Shelly UI.
Bzgl. der Rules...habe auch noch ein wenig "recherchiert" und eben folgende Regel für die Rollade erstellt:
Das entsprechende Thing lautet:
Mal gucken, ob das nachher so funktioniert
Bin jetzt noch dabei 2 Regeln zu erstellen, bei denen das Rollo "wochentags um 6:45" und am "Wochenende um 7:30" hochgeht.
Müsste dafür das NTP Bindung "herhalten"?
Ich überlege mir das mit dem Flashen nochmal. Bin mir noch nicht ganz sicher, ob es einen "Mehrwert" zu der bereits aktivierten MQTT Option in der Shelly UI.
Bzgl. der Rules...habe auch noch ein wenig "recherchiert" und eben folgende Regel für die Rollade erstellt:
Code: Alles auswählen
rule "Rollo Straße sunset +30"
when
Channel "astro:sun:home_offset:set#event" triggered START
then
logInfo("Astro", "Sunset with offset is trigged")
roller.sendCommand(0); // Rollade Straße geht 30min nach sunset runter
end
Code: Alles auswählen
Thing astro:sun:home_offset [ geolocation="x,y", interval=300 ] {
Channels:
Type rangeevent : set#event [
offset=30
]
}
Bin jetzt noch dabei 2 Regeln zu erstellen, bei denen das Rollo "wochentags um 6:45" und am "Wochenende um 7:30" hochgeht.
Müsste dafür das NTP Bindung "herhalten"?
Zuletzt geändert von UnterStrom am 26. Apr 2021 08:38, insgesamt 1-mal geändert.
- udo1toni
- Beiträge: 13986
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt
Dafür brauchst Du kein NTP Binding. Time cron (das ist der entsprechende Trigger) nutzt die Systemzeit.
Das NTP Binding ist tatsächlich nur dazu da, die Zeit (und das Datum) für andere Geräte bereitzustellen. Beispielsweise ist es in knx üblich, dass Raumtemperaturregler eine Wochenschaltuhr implementiert haben. Wäre jetzt doof, wenn man die von Hand stellen müsste. Nun kann man für (sehr viel) Geld einen DCF-Empfänger mit knx Ausgang einbauen (knx Wetterstationen haben das auch meist an Bord), oder man speist eben die Datentelegramme aus openHAB ein (für 0 EUR Zusatzkosten)
Das NTP Binding ist tatsächlich nur dazu da, die Zeit (und das Datum) für andere Geräte bereitzustellen. Beispielsweise ist es in knx üblich, dass Raumtemperaturregler eine Wochenschaltuhr implementiert haben. Wäre jetzt doof, wenn man die von Hand stellen müsste. Nun kann man für (sehr viel) Geld einen DCF-Empfänger mit knx Ausgang einbauen (knx Wetterstationen haben das auch meist an Bord), oder man speist eben die Datentelegramme aus openHAB ein (für 0 EUR Zusatzkosten)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 28
- Registriert: 28. Mär 2021 10:02
Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt
OK...ich guck mal, wie das mit dem Time Cron funktioniert.
Hatte eben mal versucht, die Regel über die OH UI zu erstellen, aber wenn ich die Tage Mo-FR auswähle, kann ich irgendwie noch nicht die Zeit auf 6:45 festlegen...
Hatte eben mal versucht, die Regel über die OH UI zu erstellen, aber wenn ich die Tage Mo-FR auswähle, kann ich irgendwie noch nicht die Zeit auf 6:45 festlegen...
- PeterA
- Beiträge: 1052
- Registriert: 8. Feb 2019 12:12
Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt
- OpenHab 2.4
#PWRUP
#PWRUP
-
- Beiträge: 28
- Registriert: 28. Mär 2021 10:02
Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt
Danke Peter!
Wenn ich das dann richtig verstehe, wäre der entsprechende "Cron" => 0 45 6 ? * MON,TUE,WED,THU,FRI *
Oder?
EDIT:
Tipp..topp..funktioniert
Wenn ich das dann richtig verstehe, wäre der entsprechende "Cron" => 0 45 6 ? * MON,TUE,WED,THU,FRI *
Oder?
EDIT:
Tipp..topp..funktioniert
Code: Alles auswählen
rule "Rollo Straße Wochenende"
when
Time cron "0 30 7 ? * SAT,SUN *"
then
logInfo("Time cron", "Rollo Str morgens Wochenende")
roller.sendCommand(100); // Rollade Str geht am WE um 7:30 hoch
end
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von UnterStrom am 26. Apr 2021 08:31, insgesamt 2-mal geändert.
-
- Beiträge: 28
- Registriert: 28. Mär 2021 10:02
Re: Items und Things für Openhab 2.4 mit Shelly 2.5 via Mqtt
UnterStrom hat geschrieben: ↑24. Apr 2021 17:35 Merci Udo!!
Ich überlege mir das mit dem Flashen nochmal. Bin mir noch nicht ganz sicher, ob es einen "Mehrwert" zu der bereits aktivierten MQTT Option in der Shelly UI.
Bzgl. der Rules...habe auch noch ein wenig "recherchiert" und eben folgende Regel für die Rollade erstellt:
Das entsprechende Thing lautet:Code: Alles auswählen
rule "Rollo Straße sunset +30" when Channel "astro:sun:home_offset:set#event" triggered START then logInfo("Astro", "Sunset with offset is trigged") roller.sendCommand(0); // Rollade Straße geht 30min nach sunset runter end
Mal gucken, ob das nachher so funktioniertCode: Alles auswählen
Thing astro:sun:home_offset [ geolocation="x,y", interval=300 ] { Channels: Type rangeevent : set#event [ offset=30 ] }
Bin jetzt noch dabei 2 Regeln zu erstellen, bei denen das Rollo "wochentags um 6:45" und am "Wochenende um 7:30" hochgeht.
Müsste dafür das NTP Bindung "herhalten"?
Hmm...Teilerfolg....Rollade ging zwar runter, aber genau zur "sunset" Zeit (und nicht 30min später).
Hatte dann gedacht, es läge an dem falsch geschriebenen rangeevent (und änderte es in rangeEvent, aber die Rollade blieb oben (hatte sie - nachdem sie zur sunset Time runterging - wieder hochgefahren und erwartet, dass die Offset time von 30min nach wie vor "greift").
Hmm..woran kann es liegen? Muss ich evtl. im Channel anstelle des
Code: Alles auswählen
Type rangeEvent
Code: Alles auswählen
Type start
Edit:
Ich vermute es lag an meiner Channel Definiton in der Rule, da ich "astro:sun...." anstelle von 'astro:sun....' geschrieben hatte.
Ich versuche es jetzt mal hiermit:
Code: Alles auswählen
rule "Rollo Straße Civil dusk +25"
when
Channel 'astro:sun:home:civilDusk#event' triggered START
then
logInfo("Astro", "Civil Dusk with offset is trigged")
roller.sendCommand(0); // Rollade Straße geht 25min nach Beginn der Abenddämmerung runter
end
Code: Alles auswählen
Thing astro:sun:home [ geolocation="x,y", interval=60 ] {
Channels:
Type rangeEvent : civilDusk#event [
offset=25
]
}
Zuletzt geändert von UnterStrom am 26. Apr 2021 08:41, insgesamt 2-mal geändert.