Seite 1 von 1
Sommer- / Winterzeit
Verfasst: 9. Nov 2021 20:17
von nw378
Für z. B. die Rollo- und Außenlichtsteuerung habe ich Regeln angelegt, die unterschiedlich getriggert werden sollen, abhängig davon, ob gerade Sommer- oder Winterzeit ist.
Dafür habe ich folgende Regel angelegt:
Code: Alles auswählen
rule "Sommerzeit?"
when
Time cron "0 0 5 * * ? *"
then
if (now.dayOfYear < 90 || now.dayOfYear > 304)
Sommerzeit.sendCommand(OFF)
else Sommerzeit.sendCommand(ON)
end
Wenn der Tag im Jahr vor ca. Ende März oder nach ca. Ende Oktober ist, ist Winterzeit (sonst Sommer).
Das ist natürlich eben nur circa.
Genauer würd's gehen, wenn man diese Excel-Formel "übersetzt": =DATUM(<Jahr>;3;31)-(WOCHENTAG(DATUM(<Jahr>;3;31))-1).
Oder Ansatz 2: Delta zur Weltzeit UTC: getTimezoneOffset() - klappt aber irgendwie nicht.
An beidem verzweifel ich gerade. Fall jemand Tipps hat...

Re: Sommer- / Winterzeit
Verfasst: 9. Nov 2021 20:57
von nw378
Update: so könnt's gehen, wirkt aber irgendwie umständlich:
Code: Alles auswählen
rule "Sommerzeit?"
when
Time cron "0 51 20 * * ? *"
then
var offset_txt = OffsetDateTime.now().toString().replace("+","#").split("#").get(1)
if (offset_txt == "01:00")
Sommerzeit.sendCommand(OFF)
else Sommerzeit.sendCommand(ON)
end
Re: Sommer- / Winterzeit
Verfasst: 9. Nov 2021 21:29
von sihui
nw378 hat geschrieben: ↑9. Nov 2021 20:17
Für z. B. die Rollo- und Außenlichtsteuerung habe ich Regeln angelegt, die unterschiedlich getriggert werden sollen, abhängig davon, ob gerade Sommer- oder Winterzeit ist.
Warum nimmst du nicht einfach das Astro Binding? Das passt deine Schaltzeiten sogar an das Umgebungslicht an ...
Man will ja schließlich das Licht erst anmachen/die Rollläden erst schließen wenn es fast dunkel ist.
Auch Offsets sind mit dem Binding möglich.
https://www.openhab.org/addons/bindings/astro/
Re: Sommer- / Winterzeit
Verfasst: 10. Nov 2021 17:53
von nw378
sihui hat geschrieben: ↑9. Nov 2021 21:29
Warum nimmst du nicht einfach das Astro Binding? Das passt deine Schaltzeiten sogar an das Umgebungslicht an ...
Man will ja schließlich das Licht erst anmachen/die Rollläden erst schließen wenn es fast dunkel ist.
Auch Offsets sind mit dem Binding möglich.
Das habe ich sogar in der Tat im Einsatz. Ich möchte aber z.B. die Rollos zur (beleuchteten) Terrasse im Winter um 21:00 herunterfahren und im Sommer um 22:15 - unabhängig davon, wann die Sonne untergeht.
Für die Regeln habe ich mir den o. g. Schalter gebastelt, der über "but only if" abgefragt wird.
Du hast mich aber auf eine Idee gebracht: ist ja auch prima, die Rollos runterzufahren, wenn das Licht (manuell) angeschaltet wird und es draußen bereits dunkel wird; da hilft die Wetterstation:
Code: Alles auswählen
rule "Beschattung Bad nachts"
when Item Licht_OG_Bad received update
then if (Licht_OG_Bad.state > 0)
if (Lux_west.state < 1000) {
Shutter_OG_Bad.sendCommand(80)
logInfo("Rolloautomatik Bad: ", "draußen dunkel + Licht an") }
end