Hauptmenü

DOIF- Frage zu Klammern

Begonnen von chq, 25 August 2018, 14:43:37

Vorheriges Thema - Nächstes Thema

chq

Hallo,

machen die beiden zusätzlichen Klammern im zweiten Beispiel Sinn? Ich frage deshalb, weil ich gestern unter Readings -> timer_01_c01 eine Fehlermeldung ausgegeben bekam (dummerweise weiss ich nicht mehr welche), ich daraufhin die beiden zusätzlichen Klammern setzte und im Anschluss der Fehler nicht mehr auftauchte. Heute kann ich die Klammern reinmachen, oder auch weglassen und die Fehlermeldung wird in beiden Fällen nicht mehr ausgegeben.

DOIF ([{sunset("HORIZON=-3",0,"17:00","22:00")}] and ([HM_markise:state] eq "closed" and [HM_rolloEsszimmer:state] > "68")) (set HM_rolloEsszimmer pct 59)

DOIF ([{sunset("HORIZON=-3",0,"17:00","22:00")}] and ([HM_markise:state] eq "closed" and ([HM_rolloEsszimmer:state] > "68"))) (set HM_rolloEsszimmer pct 59)

Gruß Chris
So einfach wie möglich, so kompliziert wie nötig

chq

Das Problem ist offensichtlich wohl doch noch nicht gelöst, ich habe aber mittlerweile eine Vermutung, warum es (verständlicherweise) zu Problemen kommt.

Aufgrund von attr substitute bei HM_rolloEsszimmer..

LEVEL!#0-0:closed,#100-100:open;DIRECTION!0:none,1:up,2:down,3:undefined;WORKING!(0|false):no,(1|true):yes

..kann es vorkommen, dass HM_rolloEsszimmer state den Wert "open" hat. Da "open" keine Dezimalzahl ist, kann nicht mit > "68" verglichen werden und es kommt zu einer Fehlermeldung.

Das substitute möchte ich jedoch nicht rausnehmen, da mir ja ansonsten "open" und "closed" nicht mehr in der FHEM-Übersicht (Everything) dargestellt werden würde (siehe angehängtes Bild).

Ist es daher sinnvoller anstatt des Readings state lieber das Reading control abzufragen, da dort z.B. der Wert "100" anstatt "open" ausgegeben wird?

Gruß Chris
So einfach wie möglich, so kompliziert wie nötig