Waschmaschine Rule Problem
Verfasst: 20. Mai 2017 18:32
Hallo Leute,
ich hab zwei unterschiedliche Probleme und werde die mal in zwei Themen packken zwecks der Überischtlichkeit.
Ich bastel seit längerem an einer Rule für meine Waschmaschine, hier hängt eine Homematic Steckdose dazwischen die Strom, Leistung, etc misst. Die Rule hab ich mir teilweise so zusammenkopiert und angepasst (ich weiß also schon auch was da passiert). Problem bei der Sache ist, dass ich mehrere Meldungen bekomme das die Waschmaschine fertig ist, ich habe bisher nicht herausgefunden wie ich sinnvoll ein Delay einfüge bzw. eine Bedingung aufstelle das sich der Strom in einem gewissen Bereich bewegen muss bevor eine erneute Meldung kommt.
Hier erstmal die Rule:
Die Rule startet sobald sich der Strom ändert, wenn die Leistung jetzt unter 2 Watt sinkt startet sich einen Timer von 3 min., ist dieser abgelaufen bekomme ich eine Mail und eine Hue Lampe schaltet sich auf grün (sollte zumindest, zweites Problem ^^). Den Thread::sleep habe ich jetzt gesetzt, da sich die Leistung in einem geringen Bereich trotzdem logischerweise nach fertigstellung noch ändert. Sonst würde ich alle 3 min eine Mail bekomme und das Licht ein- und ausschalten. Zufrieden bin ich damit jedoch nicht, teilweise funktioniert das nicht und nach 30 min gehts von vorne los.
Geht es bzw. wie könnte ich sagen, dass das ganze erst von vorne los geht wenn der Strom/die Leistung einen gewissen Bereich überschritten hat?
ich hab zwei unterschiedliche Probleme und werde die mal in zwei Themen packken zwecks der Überischtlichkeit.
Ich bastel seit längerem an einer Rule für meine Waschmaschine, hier hängt eine Homematic Steckdose dazwischen die Strom, Leistung, etc misst. Die Rule hab ich mir teilweise so zusammenkopiert und angepasst (ich weiß also schon auch was da passiert). Problem bei der Sache ist, dass ich mehrere Meldungen bekomme das die Waschmaschine fertig ist, ich habe bisher nicht herausgefunden wie ich sinnvoll ein Delay einfüge bzw. eine Bedingung aufstelle das sich der Strom in einem gewissen Bereich bewegen muss bevor eine erneute Meldung kommt.
Hier erstmal die Rule:
Code: Alles auswählen
import org.openhab.core.library.types.*
import org.openhab.model.script.actions.*
var Timer timer
rule "Waschmaschinenstatus"
when
Item Leistungssteckdose_2_Current changed
then
val Leistungssteckdose_2_Power = (Leistungssteckdose_2_Power.state as DecimalType).intValue
if (Leistungssteckdose_2_Power < 2) {
timer = createTimer(now.plusMinutes(3)) [|
sendCommand(Kugel_Color, HSBType::GREEN)
sendMail("email@gmx.de", "Betreff", "Text")]
Thread::sleep(1800000) // 30 min. Delay
} else {
if (timer != null) timer.cancel
}
end
Geht es bzw. wie könnte ich sagen, dass das ganze erst von vorne los geht wenn der Strom/die Leistung einen gewissen Bereich überschritten hat?