NodeRED: „Die Waschmaschine ist fertig“

NodeRED: Titlebild Benachrichtigung, wenn die Waschmaschine fertig ist

Meist steht die Waschmaschine im Keller und hat keine Möglichkeit den Nutzer zu benachrichtigen. Diese Aufgabe lässt sich mit einem Homematic IP-Aktor lösen, der den Verbrauch oder Stromfluss messen kann. Die Funktion des Ein-/Ausschaltens wird hierfür nicht benötigt, der Aktor bleibt dauerhaft angeschalten. Schön wäre hierfür ein Schalt-Mess-Aktor mit einem bistabilen Relais – Stand heute gibt es soetwas von Homematic IP leider nicht.

Zu beachten ist, dass der Aktor den Einschalt- sowie Betriebsstrom des Geräts verkraftet. Der Schaltstrom sollte bei großen Geräten (Waschmaschine, Trockner, Geschirrspüler) ausreichend hoch dimensioniert sein, meist wird 16A benötigt. Aufgrund induktiver Lasten durch den Hauptmotor ist der Einschaltstrom ein vielfaches höher als der Betriebsstrom.

Nachdem die zu messende Maschine an den Messaktor angeschlossen ist, benötigt man einige Stromverbrauchs- oder Leistungsdaten – je nachdem, was der Messaktor liefert. Der HmIP-Messaktor kann beides, ich nutze daher willkürlich den Strom. Den Verlauf kann man in der CCU* mit der Diagram-Funktion visualisieren (oder auch die Werte loggen lassen). Im einfachsten Fall genügt die Ermittlung folgender Werte – sofern es die Maschine hergibt:

  1. Maschine wird nur zum Be-/Entladen geöffnet – manche Geräte schalten sich dann an, um bspw. die Trommel zu beleuchten: maximaler Stromfluß
  2. Maschine durchläuft einen normalen Zyklus: unterschreitet der Stromfluss in Ruhephasen (bspw. beim Abkühlen) den bei 1. ermittelten Wert?
  3. Schaltet sich die Maschine nach Beendigung ab?

Dieses Beispiel zeigt neben an/aus noch an, ob die Maschine sich im Standby befindet oder fertig, aber nicht aus ist.

Hinweis
Dafür könnte man prima den Kanal „Entscheidungswert“ der Geräte HmIP-FSM16* oder HmIP-PSM* nutzen. Leider kann man diesen Kanal derzeit (Stand April 2021) nicht in einem Programm nutzen, da er nicht zur Auswahl steht.

Ich benutze mittlerweile nur noch meinen Workaround, wie er im Artikel „Benachrichtigung, wenn die Waschmaschine fertig ist – Variante Entscheidungswert“ und verzichte auf eine detaillierte Darstellung des Zustands in der WebUI, den ich mir eher selten anschaue.

HmIP-Aktor mit Strommessung

Als Aktor kommt bspw. der Schalt-Mess-Aktor 16A „HmIP-FSM16“ in Frage. Dieser kann in eine Aufputzdose installiert werden, wie sie in Kellerräumen üblich ist. Der normale Zwischenstecker „HMIP-PSM“ hat nur den Schutzgrad IP20 und ist nur für den Betrieb in trockenen Innenräumen geeignet.

Schalt-Mess-Aktor HmIP-FSM

Als Einstellung empfiehlt sich, dass der Aktor so oft wie nötig und so wenig wie möglich sendet, um nicht den Duty-Cycle der CCU* zu erschöpfen. Das muss man individuell für seine zu messende Maschine ermitteln, welche Werte sinnvoll sind.

Das folgende Bild zeigt ein Beispiel für die Konfiguration des Messwertkanals.

Statusmeldung Messwerkanal

Umsetzung

Am Einfachsten empfinde ich für solche Aufgaben eine State-Machine. Diese kann über den Node finite-state-machine abgebildet werden, in dem man die Übergänge von einem Zustand zum anderen per JSON beschreibt. Um den Status des zu überwachenden Geräts auch in der WebUI anzuzeigen, färbe ich dort ein Icon ein. Die eigentliche Benachrichtigung ist nicht Bestandteil des Beispiels. Sie wird dort angekoppelt, wo der Kommentar „Benachrichtigung“ steht.

Flow mit State-Machine

In meinem Beispiel bekommt die State-Machine den ermittelten Status als Text (msg.topic) übermittelt. Das kann man über ein function-Node realisieren, wie nachstehender Code zeigt.

var current = msg.payload;

if (current <= 0.1) {
    msg.topic = "off";
} else if (current > 0.1 && current < 100.0) {
    msg.topic = "standby";
} else if (current >= 100.0 && current < 200.0) {
    msg.topic = "low";
} else if (current >= 200.0) {
    msg.topic = "full";
}

return msg;

Diesen Umweg über den Function-Node und die State-Machine betreibe ich, weil das zu messende Gerät öfter den Zustand wechselt (bspw. bei mehreren Spülgängen).

Der Beispiel-Workflow verwendet den Node node-red-contrib-finite-statemachine, welchen Du am Besten vor dem Import des Beispiels über die Palette installierst.
Nach dem Import musst Du noch den Ausgang Deines Messaktors verknüpfen sowie ggf. die Benachrichtigung auf der rechten Seite anschließen.

Updates

  • 29.03.2021: Beispiel-Flow ohne HmIP-Aktor
  • 16.04.2021: Hervorhebung Workaround mit Entscheidungswert
  • 05.02.2021: Hinweis „Entscheidungswert“ ergänzt
  • 13.03.2021: Hinweis auf Workaround ergänzt, Flow durch github-Link ersetzt

Hilf durch deine Bewertung mit, diesen Blog zu verbessern!
Abonnieren
Benachrichtige mich bei
3 Kommentare
Älteste
Neueste Beliebteste
Inline Feedbacks
Alle Kommentare