Rules in OH 3 übernehmen?
Verfasst: 9. Feb 2021 23:03
Guten Abend liebe Gemeinde,
ich habe vor zwei Wochen auf OH 3 umgestellt und alle Items neu angelegt, nun habe ich eine Frage, wie ich am Besten die alten Regeln integriere?
Ich habe z.B. eine Heizungssteuerung/Lichtsteuerung für WC die só aussieht....
oder für die Fabwechsel im Wochzimmer und Küche nutze ich das hier...
jetzt die Frage soll ich das über Blockly abbilden oder via DSL einfach nur einlesen...wobei ich dann Sorge habe das DSL in Zukunft aufgegeben wird?
Was mint ihr ist hier der Beste Weg?
Danke vG. Isostar
ich habe vor zwei Wochen auf OH 3 umgestellt und alle Items neu angelegt, nun habe ich eine Frage, wie ich am Besten die alten Regeln integriere?
Ich habe z.B. eine Heizungssteuerung/Lichtsteuerung für WC die só aussieht....
Code: Alles auswählen
var Timer WCBewegungsmelder_timer = null
rule "WC Heizung"
when
Item GF_Toilette_Temperatur changed
or
Item GF_Toilette_Window changed
then
var Heizung = OFF // Falls etwas schief geht, auf jeden Fall abschalten
var Number Temp = null
if (GF_Toilette_Window.state == CLOSED)
if(GF_Toilette_Temperatur.state instanceof Number) { //Gültiger Wert?
Temp = GF_Toilette_Temperatur.state as Number
if(now.getHourOfDay > 08 && now.getHourOfDay < 21) //innerhalb des Zeitfensters?
if(Temp < 19 || (Temp < 20 && GF_Toilette_Heating.state == ON)) Heizung = ON
}
if(GF_Toilette_Heating.state != Heizung) GF_Toilette_Heating.sendCommand(Heizung)
end
rule "WC-Licht Bewegungsmelder"
when
Item GF_Toilette_Motion received update ON
then
if
(GF_Toilette_Motion.state == ON && Elevation.state <-0|° && WCBewegungsmelder_timer === null) {
GF_Toilette_Light_Spiegel.sendCommand(ON)
WCBewegungsmelder_timer = createTimer(now.plusMinutes(3)) [|
GF_Toilette_Light_Spiegel.sendCommand(OFF)
WCBewegungsmelder_timer = null
]}
else if
(GF_Toilette_Motion.state == ON) {
WCBewegungsmelder_timer.reschedule(now.plusMinutes(3))
}
end
Code: Alles auswählen
ule "Farbe in der Küche und Wohnzimmer wechseln"
when
Item GF_Wohn_Esszimmer_Milight_Color changed
then
if(!(GF_Wohn_Esszimmer_Milight_Color.state instanceof HSBType)) return;
GF_Kueche_Color_Unterschrank.sendCommand((GF_Wohn_Esszimmer_Milight_Color.state as HSBType).toString)
GF_Kueche_Color_Fensterbank.sendCommand((GF_Wohn_Esszimmer_Milight_Color.state as HSBType).toString)
GF_Wohn_Esszimmer_Color.sendCommand((GF_Wohn_Esszimmer_Milight_Color.state as HSBType).toString)
GF_Wohn_Esszimmer_LED_Strip_TV_Color.sendCommand((GF_Wohn_Esszimmer_Milight_Color.state as HSBType).toString)
GF_Wohn_Esszimmer_LED_Strip_SideboardColor.sendCommand((GF_Wohn_Esszimmer_Milight_Color.state as HSBType).toString)
GF_Kueche_Color_Arbeitsplatte.sendCommand((GF_Wohn_Esszimmer_Milight_Color.state as HSBType).toString)
end
rule "Helligkeitsanpassung "
when
Item GF_Wohn_Esszimmer_Milight_Brightness changed
then
if(!(GF_Wohn_Esszimmer_Milight_Brightness.state instanceof HSBType)) return;
GF_Kueche_Brightness_Unterschrank.sendCommand((GF_Wohn_Esszimmer_Milight_Brightness.state as HSBType).toString)
GF_Kueche_Brightness_Fensterbank.sendCommand((GF_Wohn_Esszimmer_Milight_Brightness.state as HSBType).toString)
GF_Wohn_Esszimmer_Ambiente.sendCommand((GF_Wohn_Esszimmer_Milight_Brightness.state as HSBType).toString)
GF_Wohn_Esszimmer_LED_Strip_TV_Brightness.sendCommand((GF_Wohn_Esszimmer_Milight_Brightness.state as HSBType).toString)
GF_Wohn_Esszimmer_LED_Strip_SideboradBrightness.sendCommand((GF_Wohn_Esszimmer_Milight_Brightness.state as HSBType).toString)
GF_Kueche_Brightness_Arbeitsplatte.sendCommand((GF_Wohn_Esszimmer_Milight_Brightness.state as HSBType).toString)
end
Was mint ihr ist hier der Beste Weg?
Danke vG. Isostar