Hi *,
ich habe bisher mit der MainUI nur sehr einfache Rules "geklickt".
Jetzt habe ich einen Präsenz-Melder und ich möchte abhängig der Tageszeit meine Hue-Leuchten mit unterschiedlichen Color/Brightness anschalten.
Also einfach formuliert sowas:
If (now) is:
08:00 - 11:59
* Color = .. ; Brightness ..
12:00 - 14:59
* Color = .. ; Brightness ..
15:00 - 20:59:
* Color = .. ; Brightness ..
default:
* Color = .. ; Brightness ..
Wie packt man das jetzt an? OH3 verwirrt mich leider mit sehr vielen Ansätzen. (Rules, Scirpts, EcmaScript; Blockly. )
Wir "rechne" ich mit Zeiten bzw. mit "NOW" und welche Sprache (EcmaScript, Java, etc.) sollte ich nehmen?
Mein Ansatz wäre, das ich in der Präsenz-Rule einfach ein Script ausführen lassen, das die o.g. Logik abbildet/implementiert.
Wie würdet ihr das machen?
danke für eure hinweise
twh
Rules / Scripts mit DateTime / Tageszeiten
-
- Beiträge: 20
- Registriert: 26. Jan 2021 15:26
-
- Beiträge: 1173
- Registriert: 4. Nov 2019 22:08
Re: Rules / Scripts mit DateTime / Tageszeiten
Hallo twh
eine Idee (ohne den Trigger zu kennen, evtl. ist dies die Erkennung einer Präsenz?)
VG
int5749
eine Idee (ohne den Trigger zu kennen, evtl. ist dies die Erkennung einer Präsenz?)
Code: Alles auswählen
rule "Colour by time"
when
"Ich brauche einen Trigger"
then
if ((now.toLocalTime.getHour >= 8) && (now.toLocalTime.getHour <= 11)) {
* Color = .. ; Brightness ..
} else if ((now.toLocalTime.getHour >= 12) && (now.toLocalTime.getHour <= 14)) {
* Color = .. ; Brightness ..
} else if ((now.toLocalTime.getHour >= 15) && (now.toLocalTime.getHour <= 21)) {
* Color = .. ; Brightness ..
} else {
* Color = .. ; Brightness ..
}
end
int5749
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3
-
- Beiträge: 20
- Registriert: 26. Jan 2021 15:26
Re: Rules / Scripts mit DateTime / Tageszeiten
Hi,
d.h. in den Code Abschnitt von der Rule könne ich die Logik entsprechend hinterlegen?
Mein Trigger ist "When ITEM-PRESENCE has changed from CLOSED TO OPEN". (Also der Zigbee Bewgungsmelder) .> Das funktioniert alles prima. Nur frage ich mich wie und wo ich meine Zeit-Logik hinterlegen kann und wie man überhaupt Zeit-Logik programmiert. Mir ist das Programmier-Sprachen Modell leider nicht klar.
d.h. in den Code Abschnitt von der Rule könne ich die Logik entsprechend hinterlegen?
Mein Trigger ist "When ITEM-PRESENCE has changed from CLOSED TO OPEN". (Also der Zigbee Bewgungsmelder) .> Das funktioniert alles prima. Nur frage ich mich wie und wo ich meine Zeit-Logik hinterlegen kann und wie man überhaupt Zeit-Logik programmiert. Mir ist das Programmier-Sprachen Modell leider nicht klar.
-
- Beiträge: 1173
- Registriert: 4. Nov 2019 22:08
Re: Rules / Scripts mit DateTime / Tageszeiten
Ja,
Du brauchst dann eigentlich nur noch * Color = .. ; Brightness .. durch den Befehl für die Wunschfarbe tauschen.
Mit Deinem Trigger-Item sollte es wie folgt ausschauen:
Du brauchst dann eigentlich nur noch * Color = .. ; Brightness .. durch den Befehl für die Wunschfarbe tauschen.
Mit Deinem Trigger-Item sollte es wie folgt ausschauen:
Code: Alles auswählen
rule "Colour by time"
when
Item ITEM-PRESENCE changed to OPEN
then
if ((now.toLocalTime.getHour >= 8) && (now.toLocalTime.getHour <= 11)) {
* Color = .. ; Brightness ..
} else if ((now.toLocalTime.getHour >= 12) && (now.toLocalTime.getHour <= 14)) {
* Color = .. ; Brightness ..
} else if ((now.toLocalTime.getHour >= 15) && (now.toLocalTime.getHour <= 21)) {
* Color = .. ; Brightness ..
} else {
* Color = .. ; Brightness ..
}
end
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3
- udo1toni
- Beiträge: 15265
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Rules / Scripts mit DateTime / Tageszeiten
Alternativ kannst Du auch einfach zu den Zeitpunkten, zu denen der HSB-Wert geändert werden soll, jeweils eune Rule starten, die den Sollwert in ein Color Item speichert.
In der Presence Rule kopierst Du dann den Wert des Items in das Item der Lampe.
In der Presence Rule kopierst Du dann den Wert des Items in das Item der Lampe.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet