Hallo,
habe in fhem definiert ,dass unser Licht im Haus abends bei Sonnenuntergang angeschaltet wird. Alles Prima.
Bis jetzt, da die Sonne nach 21 Uhr untergeht.
Wir gehen abends manchmal allemann um 21 Uhr zu Bett und mein Problem besteht dann, dass danach das Licht eingeschaltet wird, wenn wir schon schlafen ::)
Eine Lösung ist, über den Sommer das at zu deaktivieren. Find ich aber nicht besonders smart-home like.
Kann ich irgendwie ein if davor bauen, dass einmal geschaut wird, wie spät es ist und dann auf das Schalten verzichtet wird ?
Ja das kannst Du.
Hi,
Mach doch zusätzliches at um 21:00 und deaktiviere/lösche damit die anderen und morgens aktivierst Du wieder. Oder Du baust die at als mittels doif um oder Du benutzt weekdaytimer: https://wiki.fhem.de/wiki/WeekdayTimer#Anwendungsbeispiele
Gruß Arnd
Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
[{twilight("Sonnenstand","sr_civil","06:00","08:00")}]
Ausführen zu Sonnenaufgang, aber nicht vor 6 Uhr und nicht nach 8 Uhr.
Das ganze ist in einem doif.
Gesendet von meinem S3_32 mit Tapatalk
Commandref "at" ...
# Schalte lamp1 zum Sonnenuntergang ein, aber nicht vor 18:00 und nicht nach 21:00
define a15 at *{sunset(0,"18:00","21:00")} set lamp1 on
Kein Doif oder ähnliches nötig. Das "at" hast ja scheinbar schon.
Zitat von: kadettilac89 am 28 Mai 2017, 12:04:43
Commandref "at" ...
# Schalte lamp1 zum Sonnenuntergang ein, aber nicht vor 18:00 und nicht nach 21:00
define a15 at *{sunset(0,"18:00","21:00")} set lamp1 on
Kein Doif oder ähnliches nötig. Das "at" hast ja scheinbar schon.
Dann geht aber das Licht genau um 21.00 an.
So ähnlich ist es schon jetzt definiert. Um 21 Uhr ist es hier so hell dass man nicht mal sieht dass das Licht an ist.
Zitat von: Frank_Huber am 28 Mai 2017, 10:42:28
[{twilight("Sonnenstand","sr_civil","06:00","08:00")}]
Ausführen zu Sonnenaufgang, aber nicht vor 6 Uhr und nicht nach 8 Uhr.
Das ganze ist in einem doif.
Gesendet von meinem S3_32 mit Tapatalk
Das probiere ich mal...
Das wird den gleichen Effekt haben wie der Vorschlag von kadettilac89, nur hast du mit dem twilight Modul mehrere Zeiten zur Auswahl.
Was du wohl brauchst:
Definiere dir das twilight Modul (bei mir "Sonnenstand")
Dann in nem doif
([{twilight("Sonnenstand","ss_civil","17:00","21:00")}] and [Sonnenstand:light] <3) (set Licht on)
Das Light reading ist die Helligkeit draussen von 1 (dunkel) bis 6 (hell)
Gesendet von meinem S3_32 mit Tapatalk
Zitat von: lenn1 am 28 Mai 2017, 13:34:05
Dann geht aber das Licht genau um 21.00 an.
So ähnlich ist es schon jetzt definiert. Um 21 Uhr ist es hier so hell dass man nicht mal sieht dass das Licht an ist.
Dass es um 21 noch hell ist verschuldet aber nicht fhem ;) . Die genannte at Funktion schaltet nicht mehr wenn Sunset nach 21 ist.
Wenn ich deine anforderung nicht verstehe bitte ein anderes Beispiel
Gesendet von meinem SM-G925F mit Tapatalk
Oder einfach {if ($hour < 21) ...
Zitat von: KernSani am 28 Mai 2017, 14:17:40
Oder einfach {if ($hour < 21) ...
Es gibt viele Wege. ...
Zitat von: kadettilac89 am 28 Mai 2017, 14:16:09
Dass es um 21 noch hell ist verschuldet aber nicht fhem ;) . Die genannte at Funktion schaltet nicht mehr wenn Sunset nach 21 ist.
Wenn ich deine anforderung nicht verstehe bitte ein anderes Beispiel
Gesendet von meinem SM-G925F mit Tapatalk
Sunset liefert immer eine Uhrzeit zurück, in diesem Beispiel zur Zeit 21:00 - dann schaltet das AT auch um 21:00.
Zitat von: KernSani am 28 Mai 2017, 14:21:29
Sunset liefert immer eine Uhrzeit zurück, in diesem Beispiel zur Zeit 21:00 - dann schaltet das AT auch um 21:00.
Richtig. Heute z.b 21.03 somit wird nicht geschaltet. Wenn genau 21.00 nicht mehr geschaltet werden soll muss halt 20.59 in die def. Sobald die Sonne wieder vor 21 untergeht wird wieder geschaltet.
Zitat von: kadettilac89 am 28 Mai 2017, 14:36:31
Richtig. Heute z.b 21.03 somit wird nicht geschaltet. Wenn genau 21.00 nicht mehr geschaltet werden soll muss halt 20.59 in die def. Sobald die Sonne wieder vor 21 untergeht wird wieder geschaltet.
Du hast mich falsch verstanden- sunset liefert immer einen Wert zurück, unabhängig davon, ob der Sonnenuntergang nun innerhalb oder außerhalb des Intervals liegt. AT sieht nur diesen Wert und triggert zu diesem Zeitpunkt
Zitat von: KernSani am 28 Mai 2017, 14:45:37
Du hast mich falsch verstanden- sunset liefert immer einen Wert zurück, unabhängig davon, ob der Sonnenuntergang nun innerhalb oder außerhalb des Intervals liegt. AT sieht nur diesen Wert und triggert zu diesem Zeitpunkt
Wenn das AT hier um 21 IMMER schaltet wenn Sunset noch nicht erreicht ist, ist die Commandref irreführend. Dort heißt es nämlich " aber nicht vor 18:00 und nicht nach 21:00". Wenn hier um 21 immer gemeint ist, sollte es "jedoch spätestens" heißen.
Egal, der T-Ersteller hat eine Lösung gefunden.
Zitat von: kadettilac89 am 28 Mai 2017, 14:16:09
Die genannte at Funktion schaltet nicht mehr wenn Sunset nach 21 ist.
Gesendet von meinem SM-G925F mit Tapatalk
Tut sie doch. Wenn sie es nicht tun würde, würde es diesen Thread nicht geben.
Zitat von: KernSani am 28 Mai 2017, 14:17:40
Oder einfach {if ($hour < 21) ...
Ich glaube das ist es.
Das probier ich mal.
wenn du genauere Zeiteinschränkungen definieren willst z.B nicht vor 17:25 und nicht nach 21:15, so kannst du z. B. bei DOIF mit Zeitintervallen arbeiten
[17:25-21:15] and [{sunset(0,"18:00","21:00")}]
*{sunset("HORIZON=+2",0,"15:00","21:00")} {
if($hour <= 20 ) {
fhem("set KuecheSchalterUnten,WohnzimmerDimmer on")
}
}
So sieht es jetzt aus. Mit der Art und Weise wird bis einschl. 20.59 geschaltet.
Danke für den Tipp. das mit $hour $min usw kannte ich nicht.
immer gerne... Schreibst du dann noch [Gelöst] vor das Subject des ersten Posts?
Gewitterige Grüße,
Oli