DOIF mit IF, Klammern setzen

Begonnen von romakrau, 09 Juli 2026, 07:28:57

Vorheriges Thema - Nächstes Thema

romakrau

Hallo zusammen, ich sehe den Wald vor lauter Klammern mal wieder nicht. Könnte mir jemand helfen das zu verstehn?

([07:22]) (IF ([Gartenventil:heute] eq {strftime("%Y-%m-%d",localtime())}) ({fhem "set DY_Gartenventil ".ReadingsVal("Gartenventil","daily_irrigation_volume",0)}))
Die Fehlermeldung dazu:

2026.07.09 07:28:00 1: PERL WARNING: Odd number of elements in anonymous hash at (eval 6818874) line 1.
2026.07.09 07:28:00 3: eval: {if(ReadingValIf('Gartenventil','heute','') eq {strftime("%Y-%m-%d",localtime())}){fhem "set DY_Gartenventil ".ReadingsVal("Gartenventil","daily_irrigation_volume",0)}}

Damian

Die geschweiften Klammern in der IF-Bedingung sind zu viel.

So etwas löst man allerdings ohne IF:

([07:22] and [?Gartenventil:heute] eq $ymd) ({fhem "set DY_Gartenventil ".ReadingsVal("Gartenventil","daily_irrigation_volume",0)})
in Gartenventil:heute muss dann stehen: jj-mm-tt jeweils als zweistellige Zahl
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF