FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Fredi69 am 22 November 2015, 17:32:50

Titel: Beleuchtung bei Anwesenheit nach Sonnenuntergang einschalten (gelöst)
Beitrag 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
Titel: Antw:Beleuchtung bei Anwesenheit nach Sonnenuntergang einschalten
Beitrag 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")}}
Titel: Antw:Beleuchtung bei Anwesenheit nach Sonnenuntergang einschalten
Beitrag von: Fredi69 am 22 November 2015, 17:51:45
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.
Titel: Antw:Beleuchtung bei Anwesenheit nach Sonnenuntergang einschalten
Beitrag von: Brice am 22 November 2015, 18:13:04
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

Titel: Antw:Beleuchtung bei Anwesenheit nach Sonnenuntergang einschalten
Beitrag von: jnewton957 am 22 November 2015, 18:20:08
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
Titel: Antw:Beleuchtung bei Anwesenheit nach Sonnenuntergang einschalten
Beitrag von: Fredi69 am 22 November 2015, 19:01:18
Vielen Dank für die Antworten, leider haben Sie nur bedingt mit meiner Frage zu tun.
Kann mir jemand konkret helfen?
Titel: Antw:Beleuchtung bei Anwesenheit nach Sonnenuntergang einschalten
Beitrag von: Damian am 22 November 2015, 19:08:41
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
Titel: Antw:Beleuchtung bei Anwesenheit nach Sonnenuntergang einschalten
Beitrag von: Fredi69 am 22 November 2015, 19:22:36
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?
Titel: Antw:Beleuchtung bei Anwesenheit nach Sonnenuntergang einschalten
Beitrag von: Damian am 22 November 2015, 19:35:07
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
Titel: Antw:Beleuchtung bei Anwesenheit nach Sonnenuntergang einschalten
Beitrag von: Fredi69 am 22 November 2015, 20:05:50
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