Meine Ausgangssituation ist eine Waschmaschine, welche im Keller steht. Keiner möchte mehrmals hinlaufen um festzustellen ob der Waschvorgang abgeschlossen ist.
Was wird benötigt? Im Endeffekt nur eine Schaltsteckdose mit Energiemessfunktion die auch die Leistung der Waschmaschine verträgt. In meinem Fall habe ich nun eine Devolo Home Control Schaltsteckdose/Messsteckdose 2.0 im Einsatz welche bis zu 3000 Watt verträgt. Zunächst wollte ich einen Aeon Smart Switch 6 verwenden, welcher jedoch eine schlechte Funkreichweite und somit leider hinter der Waschmaschine nicht funktioniert hat.
Folgende Items habe ich angelegt:
Switch SD3_on "WaMa Steckdose" {channel="zwave:xxx:switch_binary"} Number SD3_kwh "Verbrauch Gesamt [%.2f kWh]" {channel="zwave:xxx:meter_kwh"} Number SD3_volt "Spannung [%.0f Volt]" {channel="zwave:xxx:meter_voltage"} Number SD3_watt "Leistung [%.1f Watt]" {channel="zwave:xxx:meter_watts"} Number SD3_kwh_akt "Verbrauch aktuell [%.2f kWh]" Number SD3_kwh_save "Verbrauch Speicher [%.2f kWh]"
Da meter_reset aktuell noch nicht implementiert ist habe ich mit mit SD3_kwh_akt und SD3_kwh_save eine Krücke gebaut und speichere beim Einschalten den bisherigen Gesamtverbrauch aus SD3_kwh in die save Variable und berechne bei jeder Änderung von SD3_kwh die akt Variable. Dazu dienen die folgenden Regeln:
rule "WaMa Verbrauchsdaten 1" when Item SD3_on changed from OFF to ON then SD3_kwh_save.postUpdate(SD3_kwh.state) SD3_kwh_akt.postUpdate(0.0) end rule "WaMa Verbrauchsdaten 2" when Item SD3_kwh changed then SD3_kwh_akt.postUpdate((SD3_kwh.state as DecimalType).doubleValue - (SD3_kwh_save.state as DecimalType).doubleValue) end
Für die eigentliche Regel musste ich zunächst den Standby Verbrauch der Waschmaschine ermitteln. Dieser liegt bei mir bei ca. 1,2 Watt, weshalb ich die Schwelle ab der die Waschmaschine als fertig erkannt wird auf 2 Watt festgelegt habe. Die Regel wird natürlich bei jeder Änderung der Wattzahl ausgeführt. Wenn die Steckdose an, der Timer WAMAoff null und die aktuelle Leistung in Watt kleiner als der Schwellwert (2.0 Watt) ist, so wird ein Timer erzeugt. Der Timer läuft 5 Minuten, damit etwaige Pause der Waschmaschine die Benachrichtigung nicht auslösen und auch das Finale freigeben der Tür am Ende des Waschgangs erfolgt ist. Steig der Energieverbrauch wieder an während der Timer noch läuft, so wird der Timer gecancelt und auf den Initialwert null gesetzt.
Sobald der Timer abgelaufen ist wird die Schaltsteckdose ausgeschaltet, die Lautstärke der Sonos auf 40% gestellt und ein Text, welcher auch die benötigte Energie in kWh enthält über die Sonos ausgegeben. Schlussendlich noch eine Push Nachricht auf die Handys, falls gerade niemand die Sprachausgabe hört.
var Timer WAMAoff = null rule "WaMa" when Item SD3_watt changed then if (SD3_on.state == ON && SD3_watt.state < 2.0 && WAMAoff == null) { logWarn("Waschmaschine","Set Timer") WAMAoff = createTimer(now.plusMinutes(5), [| logWarn("Waschmaschine","aus") sendCommand(SD3_on, OFF) sendCommand(SON_volinfo, 40) say("Die Waschmaschine ist fertig und hat" + (SD3_kwh_akt.state as DecimalType).doubleValue.toString.replaceAll("\\.",",") + "Kilowattstunden verbraucht") sendBroadcastNotification("Waschmaschine fertig") ]) } if (SD3_on.state == ON && SD3_watt.state > 2.0 && WAMAoff != null) { logWarn("Waschmaschine","Reset Timer") WAMAoff.cancel WAMAoff = null } end
Nun ist abwarten und Tee trinken angesagt ob sich die Regel auch bewährt.
Funktioniert die Regel noch? Ich habe auch vor mir dies so umzusetzen und würde mich daher gern an deinen Infos bedienen 😉
Ja. Läuft.
Coole Lösung. Das bau ich mir auch.