ich habe einen Kühlschrank dem ich gerne einen Eco Modus zuweisen möchte
von abends 21:00 bis morgens 09:00 soll jeweils zwischen viertel nach und halb geschaut werden ob die aktuelle Leitung des Kühlschrankes
unter einem bestimmten Wert ist. In diesem Fall läuft der Kompressor nicht.
Dann soll der Kühlschrank einfach abgeschaltet werden.
Jeweils zur vollen Stunde wird er wieder eingeschaltet und läuft dann mindestens 15min.
Um viertel nach soll die Regel wieder greifen.
Meine Fragen:
- Die Variable aktuelle_zeit enthält nie einen Wert, was mache ich falsch
- würde diese Regel überhaupt so funktionieren?
Code: Alles auswählen
rule "Kühlschrank AUS Mo-DO & SO"
when
Time cron "0 15 21 ? * MON,TUE,WED,THU,SUN *" or
Time cron "0 15 22 ? * MON,TUE,WED,THU,SUN *" or
Time cron "0 15 23 ? * MON,TUE,WED,THU,SUN *" or
Time cron "0 15 0 ? * MON,TUE,WED,THU,SUN *" or
Time cron "0 15 1 ? * MON,TUE,WED,THU,SUN *" or
Time cron "0 15 2 ? * MON,TUE,WED,THU,SUN *" or
Time cron "0 15 3 ? * MON,TUE,WED,THU,SUN *" or
Time cron "0 15 4 ? * MON,TUE,WED,THU,SUN *" or
Time cron "0 15 5 ? * MON,TUE,WED,THU,SUN *" or
Time cron "0 15 6 ? * MON,TUE,WED,THU,SUN *" or
Time cron "0 15 7 ? * MON,TUE,WED,THU,SUN *" or
Time cron "0 15 8 ? * MON,TUE,WED,THU,SUN *" or
Time cron "0 15 9 ? * MON,TUE,WED,THU,SUN *"
then
var Integer iTime = 0
if(KuehlModus.state instanceof Number) {
iTime = (KuehlModus.state as Number).intValue
}
if(iTime == 2){
var aktuelle_zeit = regel_startzeit.getHour() * 60 + regel_startzeit.getMinute()
if (aktuelle_zeit >= 9*60+15 && aktuelle_zeit <= 9*60+30){
if ((Steckdose_Leistung.state as Number).doubleValue < 50){
SteckdoseKuehl_Betrieb.sendCommand(OFF)
}
}
}
end