FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Superposchi am 22 April 2024, 23:20:22

Titel: [Gelöst] Fehler in Funktion des DOIF
Beitrag von: Superposchi am 22 April 2024, 23:20:22
Ich habe ein DOIF mit dessen Hilfe eine Lampengruppe zu mehreren Zeiten geschaltet werden soll.
Dazu wird an den Zeitschaltpunkten der Szenename in ein Reading 'sollwert' geschrieben und wenn die Lampen eingeschaltet sind die Szene aktiviert.

([04:00])
    (setreading HUEGroup22 sollwert Fernsehlicht, IF ([HUEDevice16:onoff] >= 1) (set HUEGroup22 scene [HUEGroup22:sollwert]))
DOELSEIF ([10:00])
    (setreading HUEGroup22 sollwert Tageslicht, IF ([HUEDevice16:onoff] >= 1) (set HUEGroup22 scene [HUEGroup22:sollwert]))
DOELSEIF ([20:15])
    (setreading HUEGroup22 sollwert Fernsehlicht, IF ([HUEDevice16:onoff] >= 1) (set HUEGroup22 scene [HUEGroup22:sollwert]))
DOELSEIF ([22:30])
    (setreading HUEGroup22 sollwert Nachtlicht, IF ([HUEDevice16:onoff] >= 1) (set HUEGroup22 scene [HUEGroup22:sollwert]))

Das setzen des Readings klappt, aber die IF-Abfrage im Ausführungsteil wird nicht ausgeführt.

Ich habe im CommandRef und in verschieden Beispielen hier im Forum den Code gefunden und wie oben angepasst. Aber irgendwie hat sich ein Fehler eingeschlichen.

Kann mal bitte jemand den Code gegenlesen?
Titel: Aw: Fehler in Funktion des DOIF
Beitrag von: Per am 23 April 2024, 08:17:43
Hat vielleicht mit Selftrigger zu tun.
Funktioniert es denn. Wenn du statt des Readings den Wert direkt angibst?
Titel: Aw: Fehler in Funktion des DOIF
Beitrag von: Superposchi am 23 April 2024, 08:49:23
Hab ich gerade ausprobiert, macht keinen Unterschied.
DOELSEIF ([22:30])
(setreading HUEGroup22 sollwert Nachtlicht, IF ([HUEDevice16:onoff] = 1) (set HUEGroup22 scene Nachtlicht))
Zusätzlich auch mal das GrößerGleich gegen ein reines Gleich ausgetauscht - funktioniert aber auch nicht.

Es ist das If, das Probleme macht. Hab es auch schon mit verschiedenen Readings im Bedingungsteil probiert, der Teilzweig wird komplett ignoriert.

Ist die Schreibweise denn korrekt?
Titel: Aw: Fehler in Funktion des DOIF
Beitrag von: Per am 23 April 2024, 09:24:25
= ist zumindest falsch, == wird in Perl erwartet.
Titel: Aw: Fehler in Funktion des DOIF
Beitrag von: Superposchi am 23 April 2024, 11:21:01
Das DOIF ist nicht im Perl-Modus, muss es trotzdem in Perl geschrieben werden?

Ich verstehe auch nicht wodurch der Unterschied der beiden Modi erkannt wird.
Titel: Aw: Fehler in Funktion des DOIF
Beitrag von: Superposchi am 23 April 2024, 11:46:54
Wow, ganz dummer Fehler.
Da hat sich ein Rechtschreibfehler im Szenennamen eingeschlichen.

So eine gottverdammte Kleinigkeit mit riesigen Auswirkungen.