Weihnachtsbeleuchtung mit at klappt nicht

Begonnen von stratege-0815, 09 Dezember 2016, 10:59:21

Vorheriges Thema - Nächstes Thema

stratege-0815

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

rudolfkoenig

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.

stratege-0815

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

Omega-5

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

RaspberryPi2, nanoCUL, 3x DS18B20, FS20: 4x Funk-Schalter ST-4, LaCrosseGW,
HomeMatic: HMLAN, HM-WDS10-TH-O, HM_MYS_RelaisBoard,
I2C: HYT221 über modifiziertes Modul I2_I2C_SHT21.pm (Q&D),

Amenophis86

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
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Icinger

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
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Omega-5

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
RaspberryPi2, nanoCUL, 3x DS18B20, FS20: 4x Funk-Schalter ST-4, LaCrosseGW,
HomeMatic: HMLAN, HM-WDS10-TH-O, HM_MYS_RelaisBoard,
I2C: HYT221 über modifiziertes Modul I2_I2C_SHT21.pm (Q&D),

Icinger

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
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho