Aus der Command_Ref. habe ich das Beispiel mit dem :FILTER=STATE!=ON erfolgreich nachgebaut, um bei einem zyklisch sendenden Sensor mehrfaches Schalten zu vermeiden. Das funktioniert bei einem fhem_set("Switch_Pumpe:FILTER=STATE!=ON ON") perfekt.
Bei einem anderen Device ist der Set-Befehl dreigliedrig und ich kann nicht den Status verweneden. Deswegen dachte ichfhem_set("Switch_Heizkeller output Brenner:FILTER=Brenner!=ON ON"
hätte ich richtig interpretiert. Gesendet werden soll fhem_set("Switch_Heizkeller output Brenner ON")
wenn das Reading im Device mit dem Status des Schalters Brenner heißt. Auch fhem_set("Switch_Heizkeller Brenner output:FILTER=Switch_Heizkeller:Brenner!=ON ON)
funktioniert nicht.
Eigentlich fand ich die Methode im Vergleich zu einem if-Konstrukt sehr elegant, aber offenbar habe ich sie noch nicht richtig verstanden.
Hat jemand einen hilfreichen Tipp?
Danke im Voraus
Christian
"on" oder "ON"?
Zitat von: amenomade am 06 Oktober 2019, 19:20:02
"on" oder "ON"?
Danke, habe die Ungenauigkeit korrigiert, es hat auch bei meinen Versuchen ON geheißen.
Was funktioniert oder was nicht, würde ich in der Kommandozeile per set-Befehl testen. Beim Filter habe ich keine Karten im Spiel.
Wenn es in der Kommandozeile per set-Befehl funktioniert, dann sollte es auch per fhem_set funktionieren.
Ah, danke, Damian, ist also eine von mir übersehene Grundfunktionalität im FHEM und keine Spezialität von DOIF.
Da arbeite ich mal die 16 Fundstellen in der Command_Ref durch.
Und damit ist klar: Der Filterausdruck gehört hinter das Device, dann funktioniert es:
set Switch_Heizkeller:FILTER=Brenner=ON output F OFF
Christian