FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Superposchi am 17 Juli 2021, 21:40:08

Titel: Syntexkontrolle
Beitrag von: Superposchi am 17 Juli 2021, 21:40:08
Hey, ich wollte kurz mal nachfragen ob die Schreibweise richtig ist, da ich bei einigen Dingen einfach nicht klar komme wie es mit der Klammersetzung aussieht.
([{sunrise(-7200)}-{sunrise(1800)}])

Ist das so richtig geschrieben oder können die eckigen Klammern ganz raus?
Titel: Antw:Syntexkontrolle
Beitrag von: passibe am 18 Juli 2021, 22:45:35
Passt so!
Die eckigen Klammern dürfen nicht fehlen – die kennzeichnen, dass es sich um ein Zeitintervall handelt. Das Zeitintervall "fütterst" du dann über den Perl-Code, der innerhalb der {} steht.
Du kannst das auch einfach als DOIF definieren, dann siehst du ja in den Readings, ob die jeweiligen Timer richtig gesetzt werden oder ob es eben Fehlermeldungen oä. gibt.
Titel: Antw:Syntexkontrolle
Beitrag von: Superposchi am 18 Juli 2021, 22:54:03
Wenn ich die Zeitverschibungen variable durch Eingabe von Minuten in ein Reading gestalten möchte, wie müsste ich es anpassen?

Nach meinem Verständnis müsste ich die Zahl erstmal in {} setzen um es als Berechnung zu kennzeichnen, oder?
In diesen müsste dann das Reading in eckigen Klammern stehen mit einem "* 60" für die Umrechnung in Sekunden, richtig?

Es müsste also i n Etwa so aussehen:
([{sunrise({[Device:Reading]*-60})}-{sunrise(1800)}])

Verstehe ich das richtig?