openHAB 5 - Waschmaschine fertig
Die meisten Waschmaschinen verfügen noch nicht über ein WLAN Modul und können nicht in die Hausautomatisierung integriert werden. Zumindest zeigen viele Waschmaschinen an, wie lange das gewählte Programm läuft. Aber wer denkt nach zwei Stunden noch daran, dass man die Waschmaschine eingeschaltet hat? Wäre es nicht schön, wenn man benachrichtet wird, sobald das Programm beendet ist? Realisieren lässt sich das über einen Zwischenstecker mit Leistungsmessung. Mit Shelly Produkten habe ich bisher sehr gute Erfahrungen gemacht und nutze für diesen Zweck den Shelly Plug M Gen 3. Ursprünglich wollte ich in der Unterputzdose der Steckdose einen Shelly Mini verbauen. Laut Datenblatt darf dieser aber maximal mit 2000 Watt belastet werden. Meine Waschmaschine ist aber mit 2,1 - 2,4 kW angegeben. Die maximale Belastung beim Shelly Plug M Gen 3 liegt bei 3000 Watt (13 A).Der Shelly Plug M Gen 3 wird in openHAB als Thing mit dem Label Waschmaschine hinzugefügt. Zusätzlich benötige ich noch ein Item, dass mir den aktuellen Stromverbrauch anzeigt. Dieses Item erhält in meiner Umgebung den Namen Waschmaschine_Power_Consumption.
Der Stromverbrauch einer Waschmaschine schwankt von Modell zu Modell. Folgende Annahmen dürften für viele Waschmaschinen passen:
- < 0,2 Watt: Waschmaschine ist ausgeschaltet
- < 8 Watt: Waschmaschine ist eingeschaltet und befindet sich im Standby
- > 10 Watt: Waschprogramm aktiv
Wenn man es genauer wissen möchte, prüft man die Logdatei events.log, die sich üblicherweise im Verzeichnis userdata\logs befindet und filtert den Inhalt nach dem Namen des Items.
Wird die Waschmaschine eingeschaltet, damm befindet sich diese im Standby. Die Waschmaschine wird gefüllt und das passende Programm gestartet. Damit ist die Waschmaschine aktiv (Verbrauch größer als 10 Watt). Fällt die Leistungsaufnahme wieder unter 10 Watt, dann ist das Waschprogramm beendet.
Für die Überwachung der Waschmaschine werden ein Item für den aktuellen Status und eine Regel benötigt, die aufgerufen wird, sobald sich der Stromverbrauch der Waschmaschine ändert.
Unter Items wird ein neues Item angelegt:
- Name: Waschmaschine_Status
- Label: Waschmaschine Status
- Type: Number
- 0: aus (STATUS_AUS)
- 1: Standby (STATUS_STANDBY)
- 2: aktiv (STATUS_AKTIV)
- 3: fertig (STATUS_FERTIG)
In Rules wird eine neue Regel angelegt (rechts unten: blauer Kreis mit weißem Plus-Zeichen):
- Rule UID: WaschmaschinePower
- Label: Waschmaschine Verbrauch prüfen
- Add Trigger: item Waschmaschine_Power_Consumption changed
- Add Action: Inline Script - ECMA Script
const STATUS_STANDBY = 1
const STATUS_AKTIV = 2
const STATUS_FERTIG = 3
if (items.getItem("Waschmaschine_Power_Consumption").numericState < 0.8) items.getItem("Waschmaschine_Status").postUpdate(STATUS_AUS);
else if (items.getItem("Waschmaschine_Power_Consumption").numericState > 10) items.getItem("Waschmaschine_Status").postUpdate(STATUS_AKTIV)
else if (items.getItem("Waschmaschine_Power_Consumption").numericState < 8)
{
if (items.getItem("Waschmaschine_Status").state == STATUS_AUS)
{
items.getItem("Waschmaschine_Status").postUpdate(STATUS_STANDBY)
}
else if (items.getItem("Waschmaschine_Status").state == STATUS_AKTIV)
{
// Benachrichtigung fertig
}
}
Der Code für die Benachrichtigung fertig hängt von den Anforderungen ab. E-Mail? WhatsApp? Sprachausgabe amazon Echo?
In meiner Umgebung nutze ich WhatsApp und Sprachausgabe.
Hinweise:
- Die Namen von Things und Items können individuell variieren. Wichtig ist nur, dass im Script die richtigen Namen benutzt werden
- Das Script zeigt die einfachste Version. Abhängig von der Waschmaschine und den gewählten Programmen sind entsprechend Anpassungen vorzunehmen.
- Analog zu diesem Beispiel können auch weitere Verbraucher wie Spülmaschine, Trockner, usw. in openHAB eingebunden werden