ich habe eine Rule gebaut, die die Stromzufuhr zu meinem Computer & allen anhängenden Geräten kappt, sobald dieser ausgeschaltet wird (mit einem Timer als Puffer zur Sicherheit). Das "Ausschalten" definiere ich anhand der abgezapften Leistung der Steckdose und setze über einen Schwellwert eine Variable auf ON und OFF. Das funktioniert alles meistens auch ganz gut. Manchmal kommt es aber zu gewissen Leistungsschwankungen nachdem der Computer ausgeschaltet wurde. Das bewirkt dann, dass der Timer zwischenzeitlich noch einmal abgebrochen wird. Das Problem ist jetzt, dass er dann beim nächsten Unterschreiten des Schwellwertes zwar wieder in die Regel geht, aber den Timer nicht mehr startet und daher die Stromzufuhr an bleibt.
Hier meine Regel:
Code: Alles auswählen
rule "Computer Statuswechsel Aktionen"
when
Item Computer_Status changed
then
if (Computer_Status.state == MODE_OFF) {
// Starte Timer für Computer Ausschalten
logInfo("COMPUTER", "Computer Schalter wird in 1 min ausgeschaltet!")
if (computerShutdownTimer === null || computerShutdownTimer.hasTerminated) {
logInfo("COMPUTER", "Timer wird gestartet!")
computerShutdownTimer = createTimer(now.plusMinutes(1), [|
if (Computer_Status.state == MODE_OFF) {
// Wenn Computer immer noch aus --> Strom trennen und Licht aus
logInfo("COMPUTER", "Computer Schalter wird jetzt ausgeschaltet!")
//Hue_Play_Computer_Schalter.sendCommand(OFF)
//Hue_Play_Computer_Dimmer.sendCommand(0)
Computer_Schalter.sendCommand(OFF)
} else {
logInfo("COMPUTER", "Computer Schalter wird nicht ausgeschaltet!")
}
computerShutdownTimer = null
])
}
} else {
if (computerShutdownTimer !== null) {
logInfo("COMPUTER", "Ausschalt-Timer wird abgebrochen!")
computerShutdownTimer.cancel()
}
}
end
Code: Alles auswählen
2020-06-24 20:57:24.934 [vent.ItemStateChangedEvent] - Computer_Leistung_w changed from 116.9 to 37.9
2020-06-24 20:57:24.958 [INFO ] [ipse.smarthome.model.script.COMPUTER] - Die Leistung ist zu niedrig, Status wird geändert zu: 0
2020-06-24 20:57:24.970 [vent.ItemStateChangedEvent] - Computer_Status changed from 1 to 0
2020-06-24 20:57:24.986 [INFO ] [ipse.smarthome.model.script.COMPUTER] - Computer Schalter wird in 1 min ausgeschaltet!
2020-06-24 20:57:30.931 [vent.ItemStateChangedEvent] - Computer_Leistung_w changed from 37.9 to 40.2
2020-06-24 20:57:30.946 [INFO ] [ipse.smarthome.model.script.COMPUTER] - Status wird geändert zu: 1
2020-06-24 20:57:30.961 [vent.ItemStateChangedEvent] - Computer_Status changed from 0 to 1
2020-06-24 20:57:30.976 [INFO ] [ipse.smarthome.model.script.COMPUTER] - Ausschalt-Timer wird abgebrochen!
2020-06-24 20:57:37.931 [vent.ItemStateChangedEvent] - Computer_Leistung_w changed from 40.2 to 19.4
2020-06-24 20:57:37.965 [INFO ] [ipse.smarthome.model.script.COMPUTER] - Die Leistung ist zu niedrig, Status wird geändert zu: 0
2020-06-24 20:57:37.990 [vent.ItemStateChangedEvent] - Computer_Status changed from 1 to 0
2020-06-24 20:57:37.995 [INFO ] [ipse.smarthome.model.script.COMPUTER] - Computer Schalter wird in 1 min ausgeschaltet!
Vielen Dank im Voraus!