Re: Bewegungsmelder - Lampen - automatisch ausschalten
Verfasst: 6. Mär 2022 15:02
Nein, da gibt es noch grundsätzliches Missverstehen.
Der Channel astro:sun:local:civilDusk#start enthält Datum und Uhrzeit. Er wird einmal am Tag einen anderen Wert erhalten, aber keinesfalls zu dem Zeitpunkt, der in diesem Channel steht, sondern eher so um 00:00:00 Uhr...
Du benötigst stattdessen Channel vom Typ RangeEvent. Wenn Du in der GUI die Channel des Thing sun:local anschaust, wirst Du diese Channel auch finden, allerdings wirst Du auch feststellen, dass es nicht möglich ist, diese Channel mit einem Item zu verlinken.
Warum ist das so? Nun, ein Item hält immer einen Status. Dieser Channel hat aber 86399,998 Sekunden am Tag den Status NULL.
Lediglich zwei Millisekunden am Tag gibt es andere Status, nämlich einmal den Status START, eben zu Beginn der einsetzenden bürgerlichen Dämmerung und END zum Ende der einsetzenden bürgerlichen Dämmerung.
Und NEIN, END bedeutet nicht, dass dann die Sonne aufgeht. Die bürgerliche Dämmerung ist der Moment, wenn die Sonne unter die -6 ° Höhenlinie wandert (nautisch -12 °, astronomisch -18 °). Da die Sonne einen relativ großen Durchmesser hat, gibt es einen Zeitpunkt, bei dem sie beginnt, die Höhenlinie zu berühren, und einen Zeitpunkt, bei dem sie aufhört, die Höhenlinie zu berühren.
Deshalb muss die Rule zwingend auf Channel triggered auslösen, keinesfalls auf irgendwelche Items.
Es gibt pro Event vier Channel, Start, End, Duration und Range Event. Die ersten beiden enthalten den passenden Zeitstempel, der dritte Channel beschreibt den zeitlichen Abstand zwischen Start und End, der vierte Channel triggert die Rules.
Und noch ein Detail, weil auch darüber gerne gestolpert wird... Bis auf Duration kann jeder dieser Channel noch konfiguriert werden, und zwar mit einem Offset und Ober- wie Untergrenze. Damit kann man also z.B. dafür sorgen, dass die Rollläden immer zwischen 6:00 Uhr und 8:00 Uhr aufgehen, gewöhnlich 10 Minuten nach Sonnenaufgang, es sei denn, damit wird eine der Grenzzeiten überschritten. Man kann diese Einstellungen in allen drei Channels unabhängig setzen, evtl möchte man eine Anzeige in der Oberfläche, wann der Laden fährt, dann müssen die Werte identisch gesetzt werden. Vielleicht möchte man aber auch den tatsächlichen Zeitpunkt angezeigt bekommen, dann darf der DateTime Channel nicht konfiguriert werden. Für den Trigger muss immer der RangeEvent Channel konfiguriert werden.
Der Channel astro:sun:local:civilDusk#start enthält Datum und Uhrzeit. Er wird einmal am Tag einen anderen Wert erhalten, aber keinesfalls zu dem Zeitpunkt, der in diesem Channel steht, sondern eher so um 00:00:00 Uhr...

Du benötigst stattdessen Channel vom Typ RangeEvent. Wenn Du in der GUI die Channel des Thing sun:local anschaust, wirst Du diese Channel auch finden, allerdings wirst Du auch feststellen, dass es nicht möglich ist, diese Channel mit einem Item zu verlinken.
Warum ist das so? Nun, ein Item hält immer einen Status. Dieser Channel hat aber 86399,998 Sekunden am Tag den Status NULL.
Lediglich zwei Millisekunden am Tag gibt es andere Status, nämlich einmal den Status START, eben zu Beginn der einsetzenden bürgerlichen Dämmerung und END zum Ende der einsetzenden bürgerlichen Dämmerung.
Und NEIN, END bedeutet nicht, dass dann die Sonne aufgeht. Die bürgerliche Dämmerung ist der Moment, wenn die Sonne unter die -6 ° Höhenlinie wandert (nautisch -12 °, astronomisch -18 °). Da die Sonne einen relativ großen Durchmesser hat, gibt es einen Zeitpunkt, bei dem sie beginnt, die Höhenlinie zu berühren, und einen Zeitpunkt, bei dem sie aufhört, die Höhenlinie zu berühren.
Deshalb muss die Rule zwingend auf Channel triggered auslösen, keinesfalls auf irgendwelche Items.
Es gibt pro Event vier Channel, Start, End, Duration und Range Event. Die ersten beiden enthalten den passenden Zeitstempel, der dritte Channel beschreibt den zeitlichen Abstand zwischen Start und End, der vierte Channel triggert die Rules.
Und noch ein Detail, weil auch darüber gerne gestolpert wird... Bis auf Duration kann jeder dieser Channel noch konfiguriert werden, und zwar mit einem Offset und Ober- wie Untergrenze. Damit kann man also z.B. dafür sorgen, dass die Rollläden immer zwischen 6:00 Uhr und 8:00 Uhr aufgehen, gewöhnlich 10 Minuten nach Sonnenaufgang, es sei denn, damit wird eine der Grenzzeiten überschritten. Man kann diese Einstellungen in allen drei Channels unabhängig setzen, evtl möchte man eine Anzeige in der Oberfläche, wann der Laden fährt, dann müssen die Werte identisch gesetzt werden. Vielleicht möchte man aber auch den tatsächlichen Zeitpunkt angezeigt bekommen, dann darf der DateTime Channel nicht konfiguriert werden. Für den Trigger muss immer der RangeEvent Channel konfiguriert werden.