FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: duu75 am 28 Oktober 2014, 17:27:57

Titel: sunrise / sunset innerhalb eines "fhem perl Ausdrucks" Lösung mit DOIF
Beitrag von: duu75 am 28 Oktober 2014, 17:27:57
Stehe irgendwie auf dem Schlauch.
Möchte Aussenbeleuchtung mit 2 AT einschalten bzw. ausschalten.
Das Ganze getriggert durch sunset/sunrise.
Früh und abends möchte ich mit einem AT gleichzeitig erschlagen.
Das 1. AT mit sunrise funktioniert, aber das 2. Einschalten für abends mit sunset (rot markiert) ist von der Syntax irgendwie falsch.

*{sunrise("REAL",1800,"06:30","08:30")} {if (Value("Aussenbeleuchtung_Automatic") eq "ja") {fhem ("set Aussenbeleuchtung on ; define Aussenbeleuchtung_EIN2 at (sunset("REAL",0,"15:30","20:00")) set Aussenbeleuchtung on")}}

Das gleiche gibts für Ausschalten auch und das gleiche Problem mit der 2. Schaltzeit.
Wie macht man so was?

Titel: Antw:sunrise / sunset innerhalb eines "fhem perl Ausdrucks"
Beitrag von: Puschel74 am 28 Oktober 2014, 17:43:15
Hallo,

versuchs doch mit DOIF:
ZitatSchalten bei Sonnenaufgang und Sonnenuntergang:

define di_light DOIF ([{sunset(0,"17:00","21:00")}-{sunset_abs()}]) (set outdoorlight off) DOELSE (set outdoorlight on)
aus der commandref - bitte noch für dich anpassen.

Grüße
Titel: Antw:sunrise / sunset innerhalb eines "fhem perl Ausdrucks"
Beitrag von: duu75 am 28 Oktober 2014, 17:55:11
Jetzt habt ihr mich komplett abgehängt.
Wie muss ich das mit den beiden sunsets verstehen. Werden die subtrahiert?
Kapiere die DOIF Funktion irgendwie gar nicht. Ein IF muss doch immer irgendwas vergleichen. <>= etc.

Ich glaube ich mache mir 4 einzelne Timer mit beiden Auschalt- und beiden EInschaltzeiten.
Dachte ich könnte das irgendwie halbwegs elegant zusammenfassen.

Titel: Antw:sunrise / sunset innerhalb eines "fhem perl Ausdrucks"
Beitrag von: Puschel74 am 28 Oktober 2014, 18:06:31
Hallo,

nur schön gemütlich  ;)
Das DOIF macht eigentlich nichts anderes als zwischen
Zitatsunset(0,"17:00","21:00"
Sonnenuntergang aber nicht vor 17 Uhr und nicht nach 21 Uhr und
Zitatsunset_abs()
hier geh ich davon aus das es
Zitatsunrise_abs()
heissen soll - Sonnenaufgang
das outdoorlight schaltet.

Das kann der at-Befehl mWn so nicht - mit at bleibt dir nur der Weg über 2 at.
Aber auch die Abfrage deiner Automatik lässt sich im DOIF schön mit einbauen.
Ich schubs dich mal zu Damian - der hilft dir besser weiter als ich das kann.

Grüße
Edith1: @Damian - ist da in der commandref nicht ein Fehler mit sunset_abs? Sollte das nicht sunrise_abs heissen?
@duu75: Änder mal den Betreff bitte ab auf sunset/sunrise mit DOIF - dann weiß Damian das er mal vorbeischauen sollte.
Titel: Antw:sunrise / sunset innerhalb eines "fhem perl Ausdrucks" Lösung mit DOIF
Beitrag von: duu75 am 28 Oktober 2014, 18:12:09
Ah ok. jetzt dämmert es mir ein wenig.
Habe mir mal die Commandref genauer zugemüte geführt und einige Beispiele angeschaut.
Aber ich meine auf das da sunrise rein muss.
Titel: Antw:sunrise / sunset innerhalb eines "fhem perl Ausdrucks" Lösung mit DOIF
Beitrag von: Damian am 28 Oktober 2014, 19:42:57
Zitat von: duu75 am 28 Oktober 2014, 18:12:09
Ah ok. jetzt dämmert es mir ein wenig.
Habe mir mal die Commandref genauer zugemüte geführt und einige Beispiele angeschaut.
Aber ich meine auf das da sunrise rein muss.

Ja, es müsste in der commandref von DOIF vielmehr heißen:

define di_light DOIF ([{sunrise_abs()}-{sunset(1800,"17:00","21:00")}]) (set outdoorlight off) DOELSE (set outdoorlight on)

Gruß

Damian
Titel: Antw:sunrise / sunset innerhalb eines "fhem perl Ausdrucks" Lösung mit DOIF
Beitrag von: Puschel74 am 28 Oktober 2014, 19:44:20
Perfekt - danke dir Damian.