Ich habe meine Weihnachtsbeleuchtung die durch den Schalter "Aussenlichterkette" geschaltet wird, funktioniniert soweit auch alles gut.
Da ich noch ganz am Anfang meiner FHEM Karriere stehe gelingt es mir aber nicht hier mittels at eine schöne Automatik zubauen.
Anforderung ist folgende:
automatisch ein morgens um 6:00 und bei sunrise aus
automatisch abends ein bei sun set und um 22:30 aus
Dafür habe ich AussenlichterketteAuto1An und AussenlichterketteAuto2An angelegt:
CFGFN
COMMAND set Aussenlichterkette on-till 23:00
DEF *{sunset(0)} set Aussenlichterkette on-till 23:00
NAME AussenlichterketteAuto1An
NR 38152
NTM 17:05:18
PERIODIC yes
RELATIVE no
REP -1
STATE Next: 17:05:18
TIMESPEC {sunset(0)}
TRIGGERTIME 1481299518
TRIGGERTIME_FMT 2016-12-09 17:05:18
TYPE at
CFGFN
COMMAND set Aussenlichterkette on-till {sunrise(0)}
DEF *06:00 set Aussenlichterkette on-till {sunrise(0)}
NAME AussenlichterketteAuto2An
NR 38172
PERIODIC yes
RELATIVE no
REP -1
STATE Next: 06:00:00
TIMESPEC 06:00
TRIGGERTIME 1481346000
TRIGGERTIME_FMT 2016-12-10 06:00:00
TYPE at
Ich kann gerne den ganzen Kram hier abreissen und das sauber neu bauen. Wer kann mir helfen?
Gruß
J
Aus dem commandref:
Zitaton-till-overnight <timedet>
Like on-till, but wont compare the current time with the timespec, so following will work:
define nightLight at *{sunset()} set Lamp on-till-overnight 01:00
Gilt dann, wenn das Modul SetExtensions verwendet, manche Module wie CUL_HM tun das nicht.
Die Weihnachtszeit geht vorüber, aber leider bin ich hier immer noch nicht richtig weiter gekommen.
Manuell schaltet die Lichterkette problemlos.
Ich habe 4 automatische Schaltzeitpunkte definiert
1. Fix "ein" um 6:00 Uhr [AussenlichterketteAuto1An]
2. Variabel "aus" bei Sonnenaufgang [AussenlichterketteAuto1Aus]
3. Variabel "ein" bei Sonnenuntergang [AussenlichterketteAuto2An]
4. Fix "aus" um 23:00 Uhr [AussenlichterketteAuto2Aus]
Probleme macht hier immer nur der 3. Schaltzeitpunkt
Die entsprechenden Definitionen lauten wie folgt:
AussenlichterketteAuto1An
*06:00:00 {fhem "set Aussenlichterkette on"}
AussenlichterketteAuto1Aus
*{sunrise("HORIZON=0",0,"06:15","09:00")} set Aussenlichterkette off
AussenlichterketteAuto2An
*{sunset("HORIZON=0",0,"16:00","21:00")} set Aussenlichterkette on
AussenlichterketteAuto2Aus
*23:00:00 {fhem "set Aussenlichterkette off"}
Auch die Variante:
AussenlichterketteAuto2An
*{sunset(-900,"16:00","21:00")} set Aussenlichterkette on
hat nicht funktioniert.
Der Schaltzeitpunkt wird auch in FHEM richtig angezeigt, ändert sich im Laufe der Tage in kleinen Abständen - wie sich eben der Zeitpunkt des Sonnenuntergangs ändert. Aber es wird nicht geschaltet.
Mittlerweile glaube ich das der nach dem Schaltzeitpunkt 2 "AussenlichterketteAuto1Aus" FHEM irgendwie aus dem Tritt kommt und nicht mehr schalten will.
Hat noch irgendjemand eine Idee?
Gruß
Jan
Zitat von: stratege-0815 am 26 Januar 2017, 09:34:02
Die Weihnachtszeit geht vorüber, aber leider bin ich hier immer noch nicht richtig weiter gekommen.
Hat noch irgendjemand eine Idee?
Hallo Jan,
bei mir habe ich das mit
zwei "at" gelöst.
define Fensterlicht_morgens at *06:00 set Fensterlicht on-till {sunrise(+900)}
define Fensterlicht_abends at +*{sunset_rel(-1800,"15:00","22:00")} set Fensterlicht on-till 23:25
Die Zeiten kannst du ja nach deinen Wünschen anpassen.
Gruß Friedrich
Mal über ein DOIF nachgedacht. Könnte auch helfen und ist für manche einfacher bzw. verständlicher. Wobei bei dieser Aussage jetzt manche wieder auf die Barrikaden gehen und sich aufregen :D
Wollte auch grade DOIF ins spiel bringen.
Meine schaltet zB so:
define di_Weihnachtsbeleuchtung DOIF ([05:00-22:00] and [Umweltsensor_Aussen:luminosity] < AttrVal("Umweltsensor_Aussen","Dämmerung",undef) and Advent==1) (set Weihnachtsbeleuchtung on)
DOELSEIF ([05:00-22:00] and [Umweltsensor_Aussen:luminosity] > AttrVal("Umweltsensor_Aussen","Dämmerung",undef)+5 and Advent==1) (set Weihnachtsbeleuchtung off)
DOELSEIF ([22:00]) (set Weihnachtsbeleuchtung off)
Läuft somit von 05:00 bis 22:00. Vorausgesetzt die Helligkeit ist niedriger als in dem userattr "Dämmerung" festgelegt.
Ausserdem fließt noch meine Advent()-Funktion mit ein, welche in der 99_myUtils liegt.
Funktioniert einwandfrei, habe mich vergangenen Advent um nichts kümmern brauchen.
Achja, "Weihnachtsbeleuchtung" ist eine structure, in der alle Aktoren zusammengefasst sind.
lg, Stefan
Zitat von: Icinger am 26 Januar 2017, 12:26:31
Funktioniert einwandfrei, habe mich vergangenen Advent um nichts kümmern brauchen.
Hallo Stefan,
mein Schwager hat auch seinen Weihnachtsbaum aus Lichtschlauch das ganze Jahr an der Garagen-Südseite hängen lassen.
Leider ist dem die UV-Strahlung im Sommer nicht gut bekommen. War ein einmaliges Leuchterlebnis. ;)
Gruß Friedrich
Na, Auf- und Abbau mache ich schon.....Aber ich mach die Lichterkette halt schon Ende Oktober, wenns noch halbwegs "warm" ist, steck alles an usw....
Und ab 1. Adventsamstag läuft dann halt alles automatisch.
lg, Stefan