Ich hatte schon lange vor zu fragen wie sich das mit dem "Einrücken" in den Rules verhält bzw. wie man es richtig macht.
Bekomme ich Code von irgend wo her belasse ich ihn meist so wie er ist. Bastle ich mir selbst was zusammen mach ich es so das es für mich lesbarer ist...
Vielleicht kann mir das mal jemand anhand meiner Rules erklären. Sie funktioniert so wie sie ist, bis auf die Telegram Benachrichtigung. Deshalb mein Verdacht das es evtl. am Einrücken der Zeilen liegen könnte...
Kurz erklärt: ich verlasse morgens das Haus, der Gigaset G-Tag loggt sich aus, MQTT schaltet das entsprechende ITEM OFF. Die Rules prüft ob die Schalter "URLAUB" oder "MORGENS AUS" ON sind. Wenn nicht, werden zwei Lampen erst in einen weißen Farbton und dann AUS geschaltet. Telegram meldet dann das alles aus ist.
Code: Alles auswählen
val telegramAction = getActions("telegram","telegram:telegramBot:xxxxxx") // Telegram Bot definieren
var Timer morgen_weiss = null
rule "Morgenlicht_Flur_Kueche_AUS"
when
Item KuecheMQTTGeneric_BLEGruenStatus changed to OFF // G-Tag gruen AUSgeloggt
then
if(UHR_morgens.state == ON) { // und es ist werktags zwischen 04:25 und 05:50 Uhr
if(Urlaub.state == ON) { // Urlaub eingeschaltet? Wenn JA -> Abbruch
return;
}
if(Morgen_AUS.state == ON) { // Morgen AUS eingeschaltet? Wenn JA -> Abbruch
return;
}
if(LEDSchrankgross_Eingeschaltet.state == OFF && flur_2_ein_aus.state == OFF){ // Abfrage : ist LED Kuechenschrank UND Flur 2 aus? Wenn ja -> Abbruch
telegramAction.sendTelegram("OH3 - G-Tag gruen -> LED Kueche und Flur 2 waren bereits AUS-geschaltet") // Nachricht an ChatBot
return;
}
LEDSchrankgross_Color.sendCommand("0,0,100") // LED auf weiss schalten
Flur2_Farbe.sendCommand("0,0,100") // Flur_2 weiss schalten
morgen_weiss?.cancel // evtl. laufenden Timer abbrechen
morgen_weiss = createTimer(now.plusSeconds(5), [| // morgen_weiss Timer auf 5 sec setzen
LEDSchrankgross_Eingeschaltet.sendCommand(OFF) // LED AUS
flur_2_ein_aus.sendCommand(OFF) // Flur_2 AUS
morgen_weiss = null
])
telegramAction.sendTelegram("OH3 - G-Tag gruen -> LED Kueche / Flur 2 AUS-geschaltet") // Nachricht an ChatBot
}
end