Seite 2 von 3

Re: Funklichtschalter Rückmeldung an Openhab

Verfasst: 28. Okt 2020 20:12
von peter-pan
Ich weiss nicht, ob das zielführend ist, aber hast du es schon mit einer Rule probiert, die ein "postUpdate" auf das Schalter-Item macht, wenn sich der Shelly-Status ändert ?

Re: Funklichtschalter Rückmeldung an Openhab

Verfasst: 28. Okt 2020 21:06
von Chri1983
Erstmal danke für deine Hilfe.
Nein hab ich noch nicht, bin noch ein ziemlicher Anfänger in der Openhab Szene.
Wie könnte so eine Rule aussehen?

Re: Funklichtschalter Rückmeldung an Openhab

Verfasst: 28. Okt 2020 21:38
von peter-pan
Hab das nicht getestet. Ich hoffe dass das kein Dauerläufer wird.

Code: Alles auswählen

rule "Livolo Spielzimmer"
 when 
  Item status_Shelly_SZ changed
 then 
  logInfo("Schaltzustand", "Rule wird ausgeführt")  // für Test
  if (status_Shelly_SZ.state == "true") {
      Light_State.postUpdate(ON)
   }
   else if (status_Shelly_SZ.state == "false") {
      Light_State.postUpdate(OFF)   
   }
   else {
      logInfo("Schaltzustand", "Nichts ist passiert")
   }
  end
Sollte die Rule sich immer wieder selber aufrufen, einfach einen Fehler mit dem Editor einbauen und speichern, dann wird die Rule beendet und als fehlerhaft gemeldet.

Re: Funklichtschalter Rückmeldung an Openhab

Verfasst: 28. Okt 2020 22:10
von Chri1983
Vielen Herzlichen Dank....
Es funktioniert genau so wie soll

Re: Funklichtschalter Rückmeldung an Openhab

Verfasst: 28. Okt 2020 22:31
von peter-pan
Gerne. Freut mich, dass es geklappt hat :)

Re: Funklichtschalter Rückmeldung an Openhab

Verfasst: 29. Okt 2020 07:43
von PeterA
So habe ich auch den Status meiner ShellyPlugS in OpenHab verfügbar gemacht.
Allerdings über eine URL-Action die der Shelly senden kann.
(Ziehmlich Oldschool aber ich bin zu faul die über Mqtt anzubinden) :)

Re: Funklichtschalter Rückmeldung an Openhab

Verfasst: 29. Okt 2020 09:47
von peter-pan
PeterA hat geschrieben: 29. Okt 2020 07:43 Ziehmlich Oldschool
Wieso OldSchool ? Kannst du deine Rule mal posten ? Rein lernmässig !!! Da ich keinen Shelly habe war das von mir auch nur eine Vermutung.

Den "postUpdate" deshalb, weil er nur den Status des Items verändert und nichts an den Channel weiterleitet, wie "sendCommand". Siehe Doku

Gruss
Peter

Re: Funklichtschalter Rückmeldung an Openhab

Verfasst: 29. Okt 2020 17:21
von PeterA
Ich hatte das in einen anderen Post schon mal beschrieben.
Die Shellys können mit dem Binding, Mqtt und auch über direkte Http Kommandos angesprochen werden.
Das Shelly Biding nutze ich nicht da es zu meinem Einstieg in die Shelly Welt dieses noch nicht gab.
Mqtt nutze ich sehr wohl für meine ganzen Rollladen (Shelly 2.5). Das funktioniert ausgesprochen dauerhaft Stabil!!!
Nun habe ich auch einige ShellyPlugS Zwischenstecker. Diese wollte ich auch in openHab abbilden.
Wenn man aber Mqtt aktiviert, geht die zugegeben sehr komfortable Cloud von Shelly nicht mehr.
Wenn man aber direkte Http Kommandos nutzt bleib die Cloud funktionalität erhalten.

Also habe ich folgendes Item erstellt:

Code: Alles auswählen

Group            gShellys
//ShellyPlugS_02: 192.168.X.XX id: XXXXX DG_Wohnzimmer_Nord: TV+BD
Switch           ShellyPlugS_02          "Shelly TV u. DB"              <poweroutlet>                    {http=">[ON:POST:http://192.168.X.XX/relay/0?turn=on] >[OFF:POST:http://192.168.X.XX/relay/0?turn=off]"}
Switch           ShellyPlugS_02_Proxy                                                      (gShellys)
Im Shelly kann man dann wiederum eine Http Action konfigurieren die beim Schalten des Relais zurück an openHab gesendet wird:

"OUTPUT SWITCHED ON URL:"

Code: Alles auswählen

http://raspiIP:8080/classicui/CMD?ShellyPlugS_02_Proxy=ON
"OUTPUT SWITCHED OFF URL:"

Code: Alles auswählen

http://raspiIP:8080/classicui/CMD?ShellyPlugS_02_Proxy=OFF
Und die Rule dazu:

Code: Alles auswählen

rule "EG Wohnzimmer Nord TV+BD" 
    when Item ShellyPlugS_02_Proxy received command 
then
    if (receivedCommand==ON)
{
    ShellyPlugS_02.postUpdate(ON) //ShellyPlugS_02: 192.168.X.XX id: XXXXX DG_Wohnzimmer_Nord: TV+BD
    }
    else if (receivedCommand==OFF)
{
    ShellyPlugS_02.postUpdate(OFF)
}
end
Funktioniert sehr schön.

Re: Funklichtschalter Rückmeldung an Openhab

Verfasst: 29. Okt 2020 17:57
von peter-pan
PeterA hat geschrieben: 29. Okt 2020 17:21 Wenn man aber direkte Http Kommandos nutzt bleib die Cloud funktionalität erhalten.
Hallo Peter, Danke für die ausführliche Info, Super.

Re: Funklichtschalter Rückmeldung an Openhab

Verfasst: 30. Okt 2020 10:44
von PeterA
Und wenn man jetzt noch das ganze um zwei weitere DateTime Items erweitert kann man sich in der Sitemap anzeigen lassen
wann Ein und Aus geschaltet wurde. Wenn man möchte :)

item:

Code: Alles auswählen

DateTime         ShellyPlugS_02_Proxy_Ein_LUD    "Shelly TV u. BD Ein [%1$ta, %1$td.%1$tm.%1$ty, %1$tH:%1$tM Uhr]"         <time>             (gShellys)
DateTime         ShellyPlugS_02_Proxy_Aus_LUD    "Shelly TV u. BD Aus [%1$ta, %1$td.%1$tm.%1$ty, %1$tH:%1$tM Uhr]"         <time>             (gShellys)
Und die Rule dazu:

Code: Alles auswählen

rule "Record Last Update Shellys EIN"
when
  Member of gShellys changed to ON
then
// post an update to the item with the same name and _Ein_LUD suffix
  sendCommand(triggeringItem.name+"_Ein_LUD", now.toString)
end

rule "Record Last Update Shellys AUS"
when
  Member of gShellys changed to OFF
then
// post an update to the item with the same name and _Ein_LUD suffix
  sendCommand(triggeringItem.name+"_Aus_LUD", now.toString)
end