FHEM Forum

FHEM => Automatisierung => Thema gestartet von: cocojambo am 15 September 2015, 15:40:40

Titel: Küchenbeleuchtung mit at*, !isday (REAL), sunrise und on-till ein u.ausschalten
Beitrag von: cocojambo am 15 September 2015, 15:40:40
Ich möchte bei uns zu Hause die Küchenbeleuchtung wenn der Sonnenaufgang vor 6:30 Uhr ist, in der Zeit von 6:30-7:40 einschalten und wenn die Sonne in dieser Zeit wieder aufgeht, wieder ausschalten, spätenstens jedoch um 7:40.
Ich habe alles mögliche in Einzelschritten probiert wie zB so etwas in der Art, gedanklich, geht aber garnicht:
define Kuechenstern_morgens_ein at *{!isday("REAL",0,"06:30","07:39")} set Kuechenstern Ein
define Kuechenstern_morgens_aus at *{isday("REAL",0,"06:31","07:40")} set Kuechenstern Aus

geht nicht, weil "REAL" mit Uhrzeitangabe und isday nicht funktioniert.
Das feste Ausschalten habe ich dann einfach so definiert, geht natürlich:
define Kuechenstern_Aus_morgens_fest at *07:40:00 define KST_Aus_morgens_fest at +*{3}00:00:02 set Kuechenstern Aus
Dann habe ich probiert, das ganze zu vereinfachen und zusammen zu fassen:
define Kuechenstern_morgens_ein at *06:30:00 { if( !isday("REAL")) { fhem("set Kuechenstern on-till sunrise("REAL")") }}
Fehlt zwar noch die feste Ausschaltzeit, aber es gibt keine Errormeldungen, aber funktioniert auch nicht. Habe im Board ähnliche Lösungen gefunden, aber nur mit !isday(), funktionieren aber auch nicht.

Wo habe ich da eine Definition falsch gemacht oder Zeichen falsch gesetzt?

Grundsätzlich mal eine Frage, wie kann man solche aut.Funktionen vorab kontrollieren, ohne erst immer auf das Ereigniss warten zu müßen?

Gruß
nobbi aus Köln
Titel: Antw:Küchenbeleuchtung mit at*, !isday (REAL), sunrise und on-till ein u.ausschalten
Beitrag von: Hollo am 15 September 2015, 16:35:48
Zitat von: cocojambo am 15 September 2015, 15:40:40
...wenn der Sonnenaufgang vor 6:30 Uhr ist, in der Zeit von 6:30-7:40 einschalten und wenn die Sonne in dieser Zeit wieder aufgeht, wieder ausschalten, spätenstens jedoch um 7:40...
Diese Formulierung verstehst Du hoffentlich selbst nicht !?  ???
Ich nehme an, Du willst in dieser Zeit Licht haben, sofern es noch dunkel ist !?  ;)

Zitat...Grundsätzlich mal eine Frage, wie kann man solche aut.Funktionen vorab kontrollieren, ohne erst immer auf das Ereigniss warten zu müßen?
Ich würde mir zunächst einen Dummy für sunrise/sunset anlegen, damit Du schon mal die "normalen" Zeiten sehen kannst.
Anschließend Stück für Stück aufbauen...
- wenn dunkel, dann um 6:30 einschalten
- wenn hell (sunrise) zwischen 6:30 und 7:40 , dann ausschalten
- und mit einem festen at um 7:40 ausschalten

Titel: Antw:Küchenbeleuchtung mit at*, !isday (REAL), sunrise und on-till ein u.ausschalten
Beitrag von: moonsorrox am 15 September 2015, 17:02:38
er könnte auch mit twilight arbeiten und schauen welchen Wert dieses hat zu der von ihm bestimmten Uhrzeit.
Ich nutze das auch mit einem DOIF bei mir soll er um 4.55 Uhr einschalten und spätestens um 7 Uhr aus, aber wenn es vorher schon hell wird... brauche ich ja das Licht nicht also frage ich twilight...!  ;) nur so als Anregung
Titel: Antw:Küchenbeleuchtung mit at*, !isday (REAL), sunrise und on-till ein u.ausschalten
Beitrag von: Otto123 am 15 September 2015, 17:35:58
Ich könnte mein DOIF besteuern (DEF)
([06:10-{sunrise_abs("REAL",0,"6:11","10:00")}] or [{sunset("REAL")}-22:00])((set SW01_Sw02,LichtKu.* on)) DOELSE ((set SW01_Sw02,LichtKu.* off))
Ich sehe gerade, ist schon etwas älter - könnte ich  mal überarbeiten. Aber es tut ...
Früh und Abends an bis maximal um 10 wenn dunkel ...

Gruß Otto
Titel: Antw:Küchenbeleuchtung mit at*, !isday (REAL), sunrise und on-till ein u.ausschalten
Beitrag von: cocojambo am 15 September 2015, 19:03:30
@Hollo,
klar du hast recht, heißt natürlich wenn um 6:30 noch nicht Tag ist, also dunkel, dann Licht an, alles andere wäre Quatsch.
Titel: Antw:Küchenbeleuchtung mit at*, !isday (REAL), sunrise und on-till ein u.ausschalten
Beitrag von: cocojambo am 15 September 2015, 19:30:09
Ich habe mal den Vorschlag von Otto123 auf meine Zeiten umgeändert und dann mal sehen was morgen früh passiert.
define Kuechenstern_on_off DOIF ([06:30-{sunrise_abs("REAL",0,"6:31","07:40")}] or [{sunset("REAL")}-23:00])((set Kuechenstern Ein)) DOELSE ((set Kuechenstern Aus))

@moonsorrox
Aber wenn es doch vor 6:30 hell wird, dürfte doch die Beleuchtung nicht mehr angehen, weil um 6:30 festgestellt wird das sunset schon vorher war. Oder interpretiere ich das falsch?.
Deshalb habe ich ja probiert das "!isday" einfügen, weil da der Nachtbereich bis "hell" eindeutig definiert ist.

Gruß
nobbi
Titel: Antw:Küchenbeleuchtung mit at*, !isday (REAL), sunrise und on-till ein u.ausschalten
Beitrag von: rudolfkoenig am 15 September 2015, 20:22:27
define KuechensternAt at *06:30 set Kuechenstern on-till {sunrise(0,'00:00','07:40')}

on-till muss in SetExtensions implementiert sein (d.h. FS20,EnOcean,ZWave,FBDECT,usw), damit kein "on" ausgeloest wird, wenn die aktuelle Uhrzeit nach dem Argument liegt.  CUL_HM implementiert on-till leider selbst, und schaltet bis zum naechsten Tag, d.h. unbrauchbar :)
Titel: Antw:Küchenbeleuchtung mit at*, !isday (REAL), sunrise und on-till ein u.ausschalten
Beitrag von: Puschel74 am 15 September 2015, 20:58:41
Zitat von: rudolfkoenig am 15 September 2015, 20:22:27
CUL_HM implementiert on-till leider selbst, und schaltet bis zum naechsten Tag, d.h. unbrauchbar :)
Also ist der Maintainer gefragt das anzupassen  8) *duckundwech*