Code: Alles auswählen
var Timer tLucaHeizung = null
var Timer tNellyHeizung = null
var Timer tSchlafzimmerHeizung = null
var Timer tBadezimmerHeizung = null
var Timer tUnteresbadetimmerHeizung = null
var Timer tPartyraumHeizung = null
var Timer tTreppenhausHeizung = null
var Timer toffline = null
rule "Solltemp abwesend"
when
Item Heizungsschalter_Alle_Heizungen changed to ON or
Item onlineLuca changed to ON or
Item onlineNelly changed to ON or
Item onlineSilvia changed to ON or
Item onlineDaniel changed to ON or
then
if (Heizungsschalter_Alle_Heizungen.state == ON) {
if (onlineLuca.state == OFF && onlineNelly.state == OFF && onlineSilvia.state == OFF && onlineDaniel.state == OFF) {
toffline = createTimer(now.plusMinutes(10) [|
// Alle Telefone sind offline
// Heizungen auf 18 Grad absenken
tLucaHeizung = createTimer(now.plusSeconds(10), [|
HeizungLucaZimmer_Solltemperatur.sendCommand(18)
HeizungLucaZimmer_Solltemperatur_Fensterkontakt.sendCommand(18)
])
tNellyHeizung = createTimer(now.plusSeconds(20), [|
HeizungNellyZimmer_Solltemperatur.sendCommand(18)
HeizungNellyZimmer_Solltemperatur_Fensterkontakt.sendCommand(18)
])
tSchlafzimmerHeizung = createTimer(now.plusSeconds(30), [|
HeizungSchlafzimmer_Solltemperatur.sendCommand(18)
HeizungSchlafzimmer_Solltemperatur_Fensterkontakt.sendCommand(18)
])
tBadezimmerHeizung = createTimer(now.plusSeconds(40), [|
HeizungBadezimmer_Solltemperatur.sendCommand(18)
HeizungBadezimmer_Solltemperatur_Fensterkontakt.sendCommand(18)
])
tUnteresbadetimmerHeizung = createTimer(now.plusSeconds(50), [|
HeizungUnteresBadezimmer_Solltemperatur.sendCommand(18)
])
tPartyraumHeizung = createTimer(now.plusSeconds(60), [|
HeizungPartyraum_Solltemperatur.sendCommand(18)
HeizungPartyraum_Solltemperatur_Fensterkontakt.sendCommand(18)
])
tTreppenhausHeizung = createTimer(now.plusSeconds(70), [|
HeizungTreppenhaus_Solltemperatur.sendCommand(18)
HeizungTreppenhaus_Solltemperatur_Fensterkontakt.sendCommand(18)
])
])
}
} else {
// Mindestens ein Telefon ist online
// Heizungen auf 21 Grad setzen
tLucaHeizung = createTimer(now.plusSeconds(10), [|
HeizungLucaZimmer_Solltemperatur.sendCommand(21)
HeizungLucaZimmer_Solltemperatur_Fensterkontakt.sendCommand(21)
])
tNellyHeizung = createTimer(now.plusSeconds(20), [|
HeizungNellyZimmer_Solltemperatur.sendCommand(21)
HeizungNellyZimmer_Solltemperatur_Fensterkontakt.sendCommand(21)
])
tSchlafzimmerHeizung = createTimer(now.plusSeconds(30), [|
HeizungSchlafzimmer_Solltemperatur.sendCommand(21)
HeizungSchlafzimmer_Solltemperatur_Fensterkontakt.sendCommand(21)
])
tBadezimmerHeizung = createTimer(now.plusSeconds(40), [|
HeizungBadezimmer_Solltemperatur.sendCommand(21)
HeizungBadezimmer_Solltemperatur_Fensterkontakt.sendCommand(21)
])
tUnteresbadetimmerHeizung = createTimer(now.plusSeconds(50), [|
HeizungUnteresBadezimmer_Solltemperatur.sendCommand(21)
])
tPartyraumHeizung = createTimer(now.plusSeconds(60), [|
HeizungPartyraum_Solltemperatur.sendCommand(21)
HeizungPartyraum_Solltemperatur_Fensterkontakt.sendCommand(21)
])
tTreppenhausHeizung = createTimer(now.plusSeconds(70), [|
HeizungTreppenhaus_Solltemperatur.sendCommand(21)
HeizungTreppenhaus_Solltemperatur_Fensterkontakt.sendCommand(21)
])
}
}
end