Ich habe in dem Dummy "Sonnenuntergang" die Zeit des aktuellen Sonnenuntergang gespeichert.
In einem anderen Dummy "Anwesenheitsstatus" ist der Anwesenheitszustand hinterlegt.
Jetzt möchte ich mit einem DOIF die Beleuchtung bei Anwesenheit nach Sonnenuntergang einschalten.
define BeleuchtungEinBeiAnwesenheit_DI DOIF (($hms > Sonnenuntergang) && ([Anwesenheitsstatus] eq "anwesend")) (set Beleuchtung on) DOELSE (set Beleuchtung off)
Wo liegt mein Fehler, da es nicht funktioniert?
BeleuchtungEinBeiAnwesenheit_DI: perl error in condition
Vielen Dank
Bei mir läuft soetwas seit Jahren ohne DOIF
define LED_an_Sunset at *{sunset(-2500)} {if (Value ("Alle_Anwesend") ne "present") {fhem("set LED on")}}
Zitat von: Brice am 22 November 2015, 17:46:18
Bei mir läuft soetwas seit Jahren ohne DOIF
define LED_an_Sunset at *{sunset(-2500)} {if (Value ("Alle_Anwesend") ne "present") {fhem("set LED on")}}
Was ergibt sunset(-2500) ?
Wird auch dann eingeschaltet wenn du nach Sonnenuntergang nach Hause kommst?
Wenn mir noch jemand einen Hinweis geben würde was in meinem Code falsch ist, wäre es toll.
Mein Code ergibt, dass
- 2500 Sekunden = 41,66 Minuten vor Sonnenuntergang (krumme Zeitangabe, da bei Sunset mehrere Aktionen ausgelöst werden und ich bei FS20 auf die 1% Regel achte bzw nicht möchte, dass alle Aktionen zum gleichen Zeitpunkt stattfinden)
- Licht eingeschaltet wird
- wenn niemand zuhause ist (ne "present")
Es wird eingeschaltet, wenn niemand zuhause ist.
Das kann natürlich optimiert werden (sunset_real, sunset_absolut, on-till etc).
Ich frage mich immer, warum für so eine einfache Anforderung ein DOIF notwendig sein sollte. ok, ich habe mich mit DOIF nur am Rande beschäftigt und festgestellt, dass ich es nicht benötige
Andere Möglichkeit ohne eine An-/Abwesenheitserkennung
#Zeitschaltuhr abhängig von Sonnenaufgang und -untergang
#define Garten_Licht_an at *{sunset(0,"18:30","22:30")} set Garten_Lampe on
#define Garten_Licht_an at *{sunset(0,"18:30","22:30")} set Garten_Lampe on-for-timer 3600
#define Garten_Licht_aus at *{sunrise(0,"06:30","08:30")} set Garten_Lampe off
Grüße
Jörg
Vielen Dank für die Antworten, leider haben Sie nur bedingt mit meiner Frage zu tun.
Kann mir jemand konkret helfen?
Zitat von: Fredi69 am 22 November 2015, 17:32:50
Ich habe in dem Dummy "Sonnenuntergang" die Zeit des aktuellen Sonnenuntergang gespeichert.
In einem anderen Dummy "Anwesenheitsstatus" ist der Anwesenheitszustand hinterlegt.
Jetzt möchte ich mit einem DOIF die Beleuchtung bei Anwesenheit nach Sonnenuntergang einschalten.
define BeleuchtungEinBeiAnwesenheit_DI DOIF (($hms > Sonnenuntergang) && ([Anwesenheitsstatus] eq "anwesend")) (set Beleuchtung on) DOELSE (set Beleuchtung off)
Wo liegt mein Fehler, da es nicht funktioniert?
BeleuchtungEinBeiAnwesenheit_DI: perl error in condition
Vielen Dank
z. B.
define BeleuchtungEinBeiAnwesenheit_DI DOIF ([[Sonnenuntergang]-04:00] and [Anwesenheitsstatus] eq "anwesend") (set Beleuchtung on) DOELSE (set Beleuchtung off)
Gruß
Damian
Zitat von: Damian am 22 November 2015, 19:08:41
z. B.
define BeleuchtungEinBeiAnwesenheit_DI DOIF ([[Sonnenuntergang]-04:00] and [Anwesenheitsstatus] eq "anwesend") (set Beleuchtung on) DOELSE (set Beleuchtung off)
Gruß
Damian
Warum -04:00 ?
Schaltet dieses DOIF auch noch wenn man nach z.B. 2 Stunden nach Sonnenuntegang nach Hause kommt, oder prüft es nur genau bei Sonnenuntergang?
Zitat von: Fredi69 am 22 November 2015, 19:22:36
Warum -04:00 ?
Deine Angabe
$hms > Sonnenuntergang
ist auch nur ein Zeitintervall, überlege mal wann es endet.
Zitat
Schaltet dieses DOIF auch noch wenn man nach z.B. 2 Stunden nach Sonnenuntegang nach Hause kommt, oder prüft es nur genau bei Sonnenuntergang?
Sowohl als auch. ;)
Gruß
Damian
Zitat von: Damian am 22 November 2015, 19:35:07
Deine Angabe $hms > Sonnenuntergang
ist auch nur ein Zeitintervall, überlege mal wann es endet.
Sowohl als auch. ;)
Gruß
Damian
Super Damian, verstanden.
Vielen Dank