Hallo zusammen,
ich habe mir eine Lightscene für die Hofbeleuchtung ausgedacht...
Die Frage ist nun ob es möglich ist das alles in ein DOIF zu packen oder ob ich dafür mehrere anlegen muss.
Die Funktion soll ungefähr so sein:
Abends soll die Lampe gedimmt leuchten (40%, Lichtfarbe 4500)
([LuxMeter:brightness] < 5 and $hour < 22 and [FRM_3031_PIN_39] eq "off" ) (set Shelly_E27.1 on pct 40 ct 4500)
Wenn die Lichtschranke Nachts (egal welche Uhrzeit) aktiviert wird, soll die Lampe für 120sec auf 100% gehen
([LuxMeter:brightness] < 5 and [FRM_3031_PIN_39] eq "on" ) (set Shelly_E27.1 on-for-timer 120 pct 100 ct 4500)
Wenn es hell wird, bleibt/geht die Lampe aus
([LuxMeter:brightness] >= 5) (set Shelly_E27.1 off)
FRM_3031_PIN_39 -> ist die Lichtschranke
Hiermit hab ich es probiert, aber es scheint als ob er im ersten Pfad stecken bleibt... trotz do always
Hat jemand eine Idee ?
([LuxMeter:brightness] < 5 and $hour < 22 and [FRM_3031_PIN_39] eq "off" ) (set Shelly_E27.1 on pct 40 ct 4500)
DOELSEIF ([LuxMeter:brightness] < 5 and [FRM_3031_PIN_39] eq "on" ) (set Shelly_E27.1 on-for-timer 120 pct 100 ct 4500)
DOELSEIF ([LuxMeter:brightness] > 5) (set Shelly_E27.1 off)
attr do always
(ich kann grad kein list machen, da ich nicht daheim bin)
Es ist möglich solche Szenarien über ein DOIF zu realisieren, dazu muss man aber es etwas abstrakter ansetzen und den Perl-Modus verwenden: siehe https://wiki.fhem.de/wiki/DOIF/Automatisierung#Licht
Edit: Wenn du nur das eine "Szenario" hast, dann kannst du es einfach in einem DOIF im FHEM-Modus realisieren, allerdings musst du, wie in höheren Programmiersprachen, die Zweige so aufbauen, dass sie sich entweder ausschließen oder die Reihenfolge so nehmen, dass es passt.
Wenn hier also [LuxMeter:brightness] triggert, dann wird zuerst der erste Zweig abgearbeitet und wenn der nicht wahr ist, dann der zweite durchlaufen und so weiter. Wenn aber der erste Zweig wahr ist, dann werden die anderen logischerweise nicht mehr abgearbeitet.