FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Arek am 14 Mai 2021, 17:39:38

Titel: Userreading setzen mit Bedingung
Beitrag von: Arek am 14 Mai 2021, 17:39:38
Hallo,

ich möchte, dass ein Userreading eines Temperatursensors gesetzt wird, nur wenn eine Bedingung erfüllt ist. Wenn die Bedingung nicht erfüllt ist, soll der letzte Wert aber bleiben.

userreading temperature {ReadingsVal($name,"getG1","") if (ReadingsVal($name,"logging",'')eq"on")}

Damit ist das Userreading leer, sobald die Bedingung nicht erfüllt ist. Bitte um Hilfe.

Schöne Grüße
Arek
Titel: Antw:Userreading setzen mit Bedingung
Beitrag von: KölnSolar am 14 Mai 2021, 17:53:52
Hallo Arek,

userReadings temperature {if (ReadingsVal($name,"logging",'')eq"on"){ReadingsVal($name,"getG1","")} else {ReadingsVal($name,"temperature","")}}

oder Du bekommst es ggfs. über die Eventeinschränkung temperature:.... und/oder den event-on-Attributen hin.

Grüße Markus
Titel: Antw:Userreading setzen mit Bedingung
Beitrag von: TomLee am 14 Mai 2021, 17:59:11
Den trigger einfach nur auf das on-Event einschränken ?

userreading temperature:logging:.on {ReadingsVal($name,'getG1','')}

Lieg ich damit so daneben ?
Titel: Antw:Userreading setzen mit Bedingung
Beitrag von: Arek am 14 Mai 2021, 18:23:55
Zitat von: KölnSolar am 14 Mai 2021, 17:53:52
userReadings temperature {if (ReadingsVal($name,"logging",'')eq"on"){ReadingsVal($name,"getG1","")} else {ReadingsVal($name,"temperature","")}}

oder Du bekommst es ggfs. über die Eventeinschränkung temperature:.... und/oder den event-on-Attributen hin.
Das funktioniert. Danke
Zitat von: TomLee am 14 Mai 2021, 17:59:11
Den trigger einfach nur auf das on-Event einschränken ?
userreading temperature:logging:.on {ReadingsVal($name,'getG1','')}

Lieg ich damit so daneben ?
Dabei wird nur einmalig beim on-Event das Userreading gesetzt, aber nicht solange die Bedingung wahr ist.
Titel: Antw:Userreading setzen mit Bedingung
Beitrag von: TomLee am 14 Mai 2021, 20:48:24
Die Frage ist doch jetzt ob getG1 das einzige Reading in dem Device ist welches das userreadings (ohne trigger) immer auslöst oder gibts da noch mehr ?

Wenns das einzige ist dann ist die Lösung ohne trigger OK.

Aber wenn nicht, wäre meine nächste Frage wie oft es denn das on-Event gibt ? wirklich nur bei Änderung, oder ist das vlt. eingeschränkt mit event-on-change-reading logging|.* und aktualisiert sich eigentlich zeitgleich mit getG1?

Wenn zeitgleich wäre evtl. event-on-update logging ein Kompromiss das userReadings nicht all zu oft auszuführen, mit meinem Vorschlag.