Hallo,
ich bin nun schon eine ganze Zeit am tüfteln und habe auch schon einiges bewerkstelligt bekommen. Aber ein Problem habe ich noch, das sicherlich Richtung Sommer auf mich zukommen wird.
Ich habe einige Lampen die morgens angehen sollen, aber nur, wenn noch kein Sonnenaufgang (es draussen hell ist) war, bzw. sollen ausgehen, wenn Sonnenaufgang ist.
Hier mal zwei Lampenbeispiele:
Das Sofalicht soll um 6:01 Uhr angehen, wenn noch kein Sonnenaufgang war und soll um 6:40 Uhr wieder ausgehen (nur während der Woche)
define Licht_Sofa_morgens_an at *06:01:00 { fhem("set Licht_Sofa on") if(!$we) }
define Licht_Sofa_morgens_aus at *06:40:00 { fhem("set Licht_Sofa off") if(!$we) }
Das Licht im Flur soll morgens um 6:00 Uhr angehen und bei Sonnenaufgang ausgehen. (Die 10 Sekunden versatz sind erwünscht ;-) )
define Licht_Flur_morgens_an at *06:00:10 set Licht_Flur on
define Licht_Flur_morgens_aus at *{sunrise("REAL",-10)} set Licht_Flur off
Die Programme arbeiten momentan ohne Probleme, die Frage ist eben, was passiert, wenn Sonnenaufgang vor 6 Uhr ist.
bis denne
ZitatDie Programme arbeiten momentan ohne Probleme, die Frage ist eben, was passiert, wenn Sonnenaufgang vor 6 Uhr ist.
du schaltest das licht aus bevor es eingeschaltet wird, und somit bleibt es dann ab 6:00:10 an.
http://www.fhem.de/commandref.html#SUNRISE_EL
Speziell diese Passage:
# Switch lamp1 on at real sunset, not before 18:00 and not after 21:00
define a15 at *{sunset("REAL",0,"18:00","21:00")} set lamp1 on
Bin mir nicht 100% sicher ob man dein spezielles Problem damit lösen kann, da würde ich mich aber zuerst mal mit befassen.
Zitat von: Zrrronggg! am 06 Januar 2014, 13:25:46
# Switch lamp1 on at real sunset, not before 18:00 and not after 21:00
define a15 at *{sunset("REAL",0,"18:00","21:00")} set lamp1 on
danke für die Antworten. Das in der Doku hatte ich auch gefunden und mir mehrfach durchgelesen, aber ich ich weiß nicht, wie ich das in die Prüfung integrieren kann.
Zitat von: juppzupp am 06 Januar 2014, 13:24:48
du schaltest das licht aus bevor es eingeschaltet wird, und somit bleibt es dann ab 6:00:10 an.
ja, das habe ich mir auch schon gedacht, momentan läuft es noch, aber nicht wenn die Sonne zu früh aufgeht.
Wie wäre es damit:
define a15 at *{sunset("REAL",0,"06:00:00","06:00:10")} set lamp1 on
define aus at *{sunset("REAL",0,"06:00:11","10:00:10")} set lamp1 off
Ungetestet
Okay.
Bestehst du auf
{sunrise("REAL",-10)}
? Faktisch wird es ja schon vorher hell.
man könnte sonst "isday" verwenden, das sich aber, wenn ich mich recht erinnere auf sunrise() bezieht.
Dann könnte man folgendes machen:
define Licht_Flur_morgens_an at *06:01:10 {if (!isday()) {fhem("set Licht_Flur on")}}
Macht das Licht um 6.01 Uhr an, aber nur wenn noch nicht Sonnenaufgang (bzw. beginn bürgerlicher Dämmerung) war.
Zitat von: Zrrronggg! am 06 Januar 2014, 19:50:16
Okay.
Bestehst du auf
{sunrise("REAL",-10)}
? Faktisch wird es ja schon vorher hell.
man könnte sonst "isday" verwenden, das sich aber, wenn ich mich recht erinnere auf sunrise() bezieht.
Dann könnte man folgendes machen:
define Licht_Flur_morgens_an at *06:01:10 {if (!isday()) {fhem("set Licht_Flur on")}}
Macht das Licht um 6.01 Uhr an, aber nur wenn noch nicht Sonnenaufgang (bzw. beginn bürgerlicher Dämmerung) war.
genau da bin ich nun bei der Suche auch gelandet und habe die Zeilen mal etwas modifiziert.
define Licht_Flur_morgens_an at *06:00:10 { fhem("set Licht_Flur on") if(!isday()) }
define Licht_Flur_morgens_aus at *{sunrise("REAL",-10)} set Licht_Flur off
define Licht_Sofa_morgens_an at *06:01:00 { fhem("set Licht_Sofa on") if( !isday() && !$we) }
define Licht_Sofa_morgens_aus at *06:40:00 { fhem("set Licht_Sofa off") if(!$we) }
Warum willst du denn statisch um 6 einschalten?
Ich stehe z.b. nicht vor 7 auf, und hab mir darauf hin folgendes gebastelt.:
define Morgenlicht_On at *{sunrise("NAUTIC",0,"00:00","09:29")} { if ($we == 0 && $hour ~~ [7..9]) { fhem("set connair_ku_ambient on") } }
define Morgenlicht_Off at *{sunrise("REAL",300,"00:00","09:30")} { if ($we == 0) { fhem("set connair_ku_ambient off") } }
Zitat von: juppzupp am 06 Januar 2014, 20:11:35
Warum willst du denn statisch um 6 einschalten?
Ich stehe z.b. nicht vor 7 auf, und hab mir darauf hin folgendes gebastelt.:
ich stehe in der Woche immer um 6 Uhr auf (Berufsbedingt) , daher die Uhrzeit ;-)
Der fertige Code sieht jetzt so aus, habe ihn etwas umgeschrieben und angepasst.
define Licht_Flur_morgens_an at *06:00:10 { if( !isday()) { fhem("set Licht_Flur on") }}
define Licht_Flur_morgens_aus at *{sunrise("REAL",-10)} set Licht_Flur off
define Licht_Sofa_morgens_an at *06:01:00 { if( !isday() && !$we) { fhem("set Licht_Sofa on") }}
define Licht_Sofa_morgens_aus at *06:40:00 { if( !$we) { fhem("set Licht_Sofa off") }}
Hallo
zum fertigen Code hätte ich noch eine Frage. Ich versuche gerade meine cfg ein wenig zu entschlacken und
das bringt mich zur nächsten Frage.
Die Lösung ist toll aber ich möchte wenn die Lampe eingeschaltet wird auch dirket den Ausschaltbefehl mitgeben
brauche aber aufgrund des wenigen Verständnis von PERL ein wenig hilfe
Ich dachte so
define Haustuerlampe_morgens_an at *07:00:00 { if( !isday() && !$we) { fhem("set Licht_Sofa on-till sunrise()") }}
oder so
define Haustuerlampe_morgens_an at *07:00:00 { if( !isday() && !$we) { fhem "set Licht_Sofa on-till" .sunrise() }}
kann mir jemand die korrekte Schreibweise erkären ??
Ersteres.