FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: mkraus81 am 10 Mai 2024, 16:40:47

Titel: UserReading nur schreiben wenn Value nicht Leer
Beitrag von: mkraus81 am 10 Mai 2024, 16:40:47
Hi,

ich bin vermutlich gerade mal wieder zu doof...
Ich möchte ein UserReading haben... habe es folgendermaßen definiert

Wasserverbrauch {sprintf("%.4f",ReadingsVal("watermeter","value","???"))}
aktuell habe ich das Problem, dass value auch mal "leer" ist...
was muss ich einstellen, damit er im UserReading "Wasserverbrauch" nur was ändert, wenn Value != Leer ist?
bzw... vielleicht auch hilfreich... wenn Value = "LEER" dann den Wert vom Reading "pre" zu verwenden (wenn dieser auch ungleich leer/0 ist)
Titel: Aw: UserReading nur schreiben wenn Value nicht Leer
Beitrag von: betateilchen am 10 Mai 2024, 17:56:39
Erstens fehlt da ein vernünftiger Trigger und zweitens ist diese Frage schon mehrfach im Forum beantwortet.

{my $v=ReadingsNum('watermeter','value',-1,4); return ($v>=0)?$v:undef}
Anstatt undef kannst Du auch irgendwas anderes zurückgeben, wenn Du dafür einen sinnvollen Wert hast.
undef sorgt einfach dafür, dass das userReading überhaupt nicht verändert wird.
Titel: Aw: UserReading nur schreiben wenn Value nicht Leer
Beitrag von: mkraus81 am 12 Mai 2024, 21:30:33
danke, ich habe wohl mit den falschen Suchbegriffen gesucht