Die Waschmaschine meldet sich — wenn man sie lässt
Programm, Temperatur und Schleuderdrehzahl aufs Telefon, lokal und ohne Herstellerkonto. Und warum dieselbe Marke in Meran gar nicht anbindbar war.
Inhalt
Der Nutzen ist denkbar klein und trotzdem spürbar: Ich gehe nicht mehr nachsehen, ob die Wäsche durch ist. Stattdessen kommt eine Mitteilung mit Programm, Temperatur und Schleuderdrehzahl.
Das Bemerkenswerte daran ist nicht die Meldung. Es ist, dass sie lokal entsteht — ohne Herstellerkonto, ohne Cloud, ohne App im Hintergrund. Und dass dieselbe Marke in meiner zweiten Wohnung überhaupt nicht anbindbar war.
Ein Punkt vorweg, weil er den ganzen Artikel einfärbt: Die Doku führt den ersten echten Waschgang mit eingeschaltetem WLAN noch als offenen Punkt. Die Textbausteine sind geprüft, eine Testnachricht ist zugestellt worden — der Ernstfall steht aus.
Gefunden wurde sie nicht, wo man sucht
Die Maschine antwortet nicht auf ping. Ein Netzscan findet sie nicht. Sie
tauchte in der Clientliste eines WLAN-Satelliten auf, unter dem nichtssagenden
Namen espressif — dem Chiphersteller. Offen war genau ein Port: 80.
Der Beweis kam über den Endpunkt selbst:
/http-read.json?encrypted=0 HTTP 200 {"response":"BAD REQUEST"}
/http-read.json?encrypted=1 HTTP 200 1264 Hex-Zeichen
Ein beliebiges Gerät liefert dort 404. Hier antwortet der Endpunkt — und die verschlüsselte Variante gibt die Statusdaten als Hex zurück.
Die Reihenfolge ist die Falle. Wer nur encrypted=0 probiert und
„BAD REQUEST“ liest, hält das Gerät für stumm und hört auf. Die funktionierende
Abfrage ist die zweite.
Neun Werte, kein Konto
Die verwendete Integration ist eine Zusatzintegration, kein eingebauter Bestandteil, und arbeitet rein lokal. Zur Einrichtung braucht sie nur die IP-Adresse der Maschine. Was ankommt:
| Wert | Beispiel |
|---|---|
| Zustand | Idle |
| Programm | 2 |
| Temperatur | 40 °C |
| Schleuderdrehzahl | 1400 U/min |
| Restzeit | 0 min |
| Füllstand | 0 % |
| Startvorwahl | 0 h |
| Fehlercode | 0 |
| Fernbedienbar | ja |
Damit lassen sich „läuft“, „fertig“ und „Fehler“ ableiten — ohne Zwischenstecker und ohne Cloud.
Zwei Fallen im Zustandsautomaten
Nachgelesen im Quelltext der Integration, nicht geraten.
Erste Falle: Zwei Codes heißen beide „Finished“. Der Automat kennt die
Zustände 7 und 8, und beide kommen in Home Assistant als derselbe Text an. Wer
nach einem Unterschied sucht, sucht vergebens — ein Auslöser auf Finished fängt
von selbst beide.
Zweite Falle, die wichtigere: „Off“ ist erfunden. Die Integration setzt
diesen Zustand, wenn das Gerät nicht erreichbar ist und zuletzt Finished
oder Idle stand — damit die Sensoren etwas anzeigen statt „nicht verfügbar“.
Wer daraus eine Warnung „Waschmaschine offline“ baut, baut eine Warnung, die bei jeder schlafenden Maschine losgeht.
Am selben Abend bestätigt: Nach einem Neustart stand die Maschine auf Off, drei
Zusatzfelder waren unknown beziehungsweise unavailable — und der Port war
tatsächlich zu. Die Maschine schlief.
Praktische Folge: Eine Fehlerüberwachung auf den Fehlercode-Sensor hätte mit
unknown zu kämpfen. Die Automatisierung löst deshalb auf den Maschinenzustand
Error aus, nicht auf den Fehlercode. Das war beim Bauen eine Vermutung — jetzt
ist es gemessen.
Die Eigenschaft, die alles bestimmt
Diese Maschine hängt nicht dauerhaft im WLAN. Sie muss aktiv darauf geschaltet werden und meldet sich nicht von selbst an. Ist sie aus, ist sie aus — es gibt keinen Bereitschaftsbetrieb, in dem noch etwas abzufragen wäre.
Off ist hier also der Normalzustand, nicht die Ausnahme:
| Lage | Was Home Assistant sieht |
|---|---|
| Maschine aus | Off |
| an, WLAN nicht eingeschaltet | Off |
| an, WLAN eingeschaltet | echte Werte |
Und damit die unbequeme Konsequenz: Die Fertigmeldung kommt nur, wenn das WLAN während des Waschgangs eingeschaltet war. Wer ohne WLAN wäscht, bekommt nichts. Daran lässt sich nichts bauen, das ist die Bauart des Geräts.
Warum der Auslöser Running → Finished lauten muss
Die erste Fassung ließ jeden Vorzustand zu. Das war zu lasch, und zwar genau wegen der Eigenschaft oben.
Wer das WLAN erst einschaltet, nachdem eine Wäsche durch ist, lässt die
Entität von Off direkt auf Finished springen — und bekäme eine Fertigmeldung
für etwas, das längst erledigt ist. Bei einem Gerät, das man von Hand ins Netz
holt, ist das kein Sonderfall, sondern der Regelfall.
Running → Finished ist der einzige Übergang, der wirklich heißt: gerade eben
fertig geworden. Bei 60 Sekunden Abfragetakt und einer Stunde Waschzeit wird
Running garantiert gesehen.
Nebenbei erledigt dieselbe Bedingung einen zweiten Fall: Nach einem Neustart von Home Assistant gibt es keinen Vorzustand — auch das fällt durch.
Eine Lücke, die absichtlich offen bleibt
Reißt das WLAN genau am Programmende ab, sieht Home Assistant den Übergang nie, und die Meldung entfällt.
Der naheliegende Ausweg wäre, zusätzlich auf Running → Idle auszulösen. Das
fängt den Fall — meldet aber auch einen abgebrochenen Waschgang als „fertig“.
Abgebrochen und fertig sehen von außen gleich aus.
Eine falsche Fertigmeldung ist schlechter als eine fehlende. Auf die fehlende wartet niemand; die falsche schickt jemanden zur Maschine.
Deshalb bleibt es beim eindeutigen Auslöser. Das ist für mich die wichtigste Regel beim Bauen von Meldungen überhaupt, und sie gilt weit über Waschmaschinen hinaus.
Dieselbe Marke, zweite Wohnung, gar nichts
In Meran steht eine Maschine desselben Konzerns. Dort war die Anbindung von vornherein unmöglich — sie hat NFC statt WLAN. Man hält das Handy an die Blende. Es gibt kein Funkmodul im Netz, folglich auch nichts anzubinden.
Das wurde nicht vermutet, sondern ausgeschlossen: Das gesamte Subnetz wurde abgesucht, im Tiefschlaf und mit eingeschalteter Maschine. Gefunden wurden nur Fehlantworten des Routers und einer Türschloss-Bridge. Keine Schnittstelle.
Der Ersatz war schon da: ein Zwischenstecker mit Leistungsmessung. Aus dem Verbrauchsverlauf lässt sich „läuft“ und „fertig“ ableiten — gröber als der echte Programmstatus, aber es trägt.
Und dort verdient sich die Maschine ihren Platz noch auf eine zweite Art: Sie ist Stufe 1 beim Lastabwurf. Die Wohnung hat eine begrenzte Anschlussleistung; wenn es eng wird, fliegt zuerst die Waschmaschine. Der Grund ist gut: Sie nimmt ihr Programm nach einer Unterbrechung selbst wieder auf. Eine abgeschaltete Klimaanlage ist bei 29 Grad sofort spürbar — eine kurz unterbrochene Wäsche nicht.
Und was heißt das?
Was tatsächlich entfällt: der Gang ins Bad, um nachzusehen. Mehr nicht. Es ist eine der kleinsten Automationen im ganzen Haus und eine der am häufigsten nützlichen.
Was ich beim Kauf anders machen würde: Vor dem Kauf prüfen, ob das Gerät eine lokale Schnittstelle hat, nicht nur „App-Steuerung“. NFC an der Blende ist Marketing-seitig eine Funktion und für Hausautomation wertlos. Und ein Gerät, das sich selbst ins WLAN einbucht, ist deutlich mehr wert als eines, das man jedes Mal dazu überreden muss.
Der günstige Ausweg bleibt der Zwischenstecker. Er kostet unter 20 Euro, funktioniert an jeder Maschine jeden Alters und braucht keine Schnittstelle. Er sagt dir nicht, bei welcher Temperatur gewaschen wurde — aber er sagt dir, dass es vorbei ist. Und das ist der Teil, auf den man wartet.
Wenn du das verfolgen willst: nimm RSS
Kein Newsletter. Du gibst mir keine Adresse, ich führe keine Liste, und niemand muss einer Einwilligung zustimmen, um zu erfahren, dass ein Artikel fertig ist. RSS ist die ältere und für beide Seiten ehrlichere Lösung.
Wie das geht, und warum kein Newsletter
- 1Hol dir einen Feed-Leser. Ohne Konto geht das mit einer App am Telefon oder einer Erweiterung im Browser; wer mag, nimmt einen Dienst mit Konto.
- 2Trag die Adresse von oben dort ein.
- 3Fertig. Neue Artikel erscheinen von selbst in deinem Leser — ungelesen bleibt ungelesen, und nichts landet zwischen Rechnungen und Werbung im Postfach.
Warum das besser ist: Dein Leser holt die Datei ab. Ich bekomme keine Adresse und kann nicht sehen, wer liest oder ob jemand geöffnet hat. Abbestellen heißt, den Eintrag zu löschen — ohne Link, ohne Bestätigungsmail, ohne mich.
