[gelöst] Rolladensteuerung am WE

Begonnen von Nighthawk, 06 November 2017, 07:57:28

Vorheriges Thema - Nächstes Thema

Nighthawk

Hier ist schon mal das erste Problem mit der Abfrage im Ausführungsteil:

folgendes DOIF
([{sunrise("REAL",0,"09:00","10:30")}|7] or ([?06:30-09:00|8] and [Helligkeitssensor_Aussen:brightness] > 60))
(if ([EG_Jalousie_WC] !~ "auf" and [EG_Jalousie_WC] !~ "off")  (set EG_Jalousie_WC auf))
DOELSEIF
(
[Fenster_Bad_unten] eq "open"
and
(([?18:00-22:30|7] or [?18:00-22:30|8]) and [Helligkeitssensor_Aussen:brightness] < 5 and [SensorBadezimmer_unten:humidity] < 62)
)
(if ([EG_Jalousie_WC] !~ "zu" and [EG_Jalousie_WC] !~ "on") (set EG_Jalousie_WC zu))
DOELSEIF
(
[Fenster_Bad_unten] eq "closed"
and
(([?18:00-22:30|7] or [?18:00-22:30|8]) and [Helligkeitssensor_Aussen:brightness] < 5 and [SensorBadezimmer_unten:humidity] < 62)
)
(if ([EG_Jalousie_WC] !~ "zu" and [EG_Jalousie_WC] !~ "on")set (EG_Jalousie_WC zu))
DOELSEIF
(
[Fenster_Bad_unten] eq "tilted"
and
(([?18:00-22:30|7] or [?18:00-22:30|8]) and [Helligkeitssensor_Aussen:brightness] < 5)
)
(if ([EG_Jalousie_WC] !~ "zu" and [EG_Jalousie_WC] !~ "on") (set EG_Jalousie_WC 50))


führt zu dieser Fehlermeldung:

if (auf !~ "zu" and auf !~ "on") (set EG_Jalousie_WC zu): Bareword "auf" not allowed while "strict subs" in use at (eval 32362) line 1. Bareword "auf" not allowed while "strict subs" in use at (eval 32362) line 1.

Brockmann

Der Unterschied zwischen IF und if ist Dir klar?

Per

Bei if müssen die [Devices] nochmal in Anführungszeichen "[Device]", da DOIF die bereits ermittelten Werte "nach unten" übergibt (if selbst könnte mit [DEVICE] ohnehin nix anfangen). IF hingegen verwendet die gleiche Syntax wie DOIF (da gleicher Autor), die "sprechen sich ab" ;).

Nighthawk


Nighthawk

Hier die abschließende Meldung:

Beide Varianten funktionieren, wobei die Variante  mit DOIF ([0:01]) am einfachsten eingesteztz werden kann, die Variante mit der Abfrage im Ausführungsteil ist aber, denke ich, die Programmiertechnisch elegantere.

Damit Vielen Dank an alle Beteiligten!