Astro Binding: daylight (Channelabhängigkeiten)

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Oekel
Beiträge: 201
Answers: 0
Registriert: 28. Aug 2021 10:34

Astro Binding: daylight (Channelabhängigkeiten)

Beitrag von Oekel »

Moin,

ich habe noch mal eine Frage zur Umsetzung des Bindings.
(Habe zwar schon mal eine Teilantwort von Udo bekommen, finde aber leider den Thread nicht mehr)

Ganz konkret, kann ich ja in den Channels (configure Channel) eine Verschiebung konfigurieren:
astro:sun:_sundata:daylight#start (DateTime)
astro:sun:_sundata:daylight#end (DateTime)
astro:sun:_sundata:daylight#event (Trigger)

Nun habe ich es so verstanden, dass die Verschiebung innerhalb des #event den kompletten "Block" (also inkl. event#START und event#END) verschiebt.
Möchte ich also eine kürze Lichtphase haben, muss ich bei daylight#start z.B. ein -60 und bei daylight#end ein +60 eintragen.

Bei den Regeln kann ich ja aber immer nur den Trigger verwenden. Daher möchte ich wissen, ob die Konfigurationen in den ersten beiden Channels irgendeine Auswirkung auf den dritten haben?

Falls die Antwort NEIN lauten sollte, hätte ich gerne gewusst, wie man möglichst einfach einen (sagen wir Schalter) "Tageslicht" entsprechend mit diesen BEIDEN Verschiebungen "triggert".

Grüße David

Benutzeravatar
udo1toni
Beiträge: 15246
Answers: 242
Registriert: 11. Apr 2018 18:05
Wohnort: Darmstadt

Re: Astro Binding: daylight (Channelabhängigkeiten)

Beitrag von udo1toni »

Die Antwort lautet nein :)
Es führt für den betreffenden Channel zu einer Verschiebung, nicht für andere Channel.

daylight#event ist leider nicht mit einer Werterklärung dokumentiert.

Die meisten anderen Trigger sind über den Namen eindeutig, aber wie ist Tageslicht definiert? Sonnenaufgang bis Sonnenuntergang?

Nach Blick ins Log: Ja. Es treten immer zwei Trigger zeitgleich auf (sofern man die Trigger nicht verschoben hat).

Code: Alles auswählen

daylight#event | rise#event | set#event
         START |       END  |  
          END  |            |     START
Du kannst also für den Sonnenaufgang Channel '...:rise#event' triggered END und für den Sonnenuntergang Channel '...:set#event' triggered START verwenden und die Verschiebung in diesem beiden Events unabhängig voneinander vornehmen.

EDIT: Das geht auch innerhalb einer Rule, wenn Du also bisher mit when Channel triggered gearbeitet, und innerhalb der Rule über if(receivedEvent == 'END') bzw. if(receivedEvent == 'START') unterschieden hast, geht das auch, nun halt über if(trigeringChannel.contains('rise')) bzw. if(trigeringChannel.contains('set')), wobei ich es tatsächlich bevorzuge, hier voneinander unabhängige Rule zu verwenden.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten