{"id":424,"date":"2026-05-20T20:17:53","date_gmt":"2026-05-20T18:17:53","guid":{"rendered":"https:\/\/www.coremind.ch\/wordpress\/?p=424"},"modified":"2026-05-20T20:17:53","modified_gmt":"2026-05-20T18:17:53","slug":"waschmaschine-fertig-aqara-vibration-sensor-in-ha","status":"publish","type":"post","link":"https:\/\/www.coremind.ch\/wordpress\/waschmaschine-fertig-aqara-vibration-sensor-in-ha\/","title":{"rendered":"Waschmaschine fertig: Aqara Vibration Sensor in HA"},"content":{"rendered":"<p>Die Waschmaschine steht im Keller. Sie piept dezent dreimal, wenn sie fertig ist \u2013 und niemand h\u00f6rt es. Resultat: Die W\u00e4sche bleibt zw\u00f6lf Stunden im feuchten Trommel-Kerker, am n\u00e4chsten Morgen riecht sie modrig, und der ganze Lauf war f\u00fcr die Katz. Genau f\u00fcr dieses Alltagsproblem habe ich den <strong>Aqara Vibration Sensor<\/strong> (<code>binary_sensor.lumi_lumi_vibration_aq1<\/code>) ins Setup integriert. Klebe ihn auf die Maschine, lass Home Assistant zuh\u00f6ren \u2013 fertig ist eine zuverl\u00e4ssige W\u00e4sche-fertig-Erkennung ohne Energiez\u00e4hler, ohne Stromkreis-Eingriff, ohne Zusatzhardware.<\/p>\n<h2>Problem: Vibration ist kein bin\u00e4res Signal<\/h2>\n<p>Der Aqara Vibration Sensor kennt drei Events: <code>vibration<\/code> (kontinuierliches R\u00fctteln), <code>tilt<\/code> (Kippen) und <code>drop<\/code> (Sturz). F\u00fcr unsere Waschmaschine ist <code>vibration<\/code> relevant \u2013 aber naiv genommen wird der Sensor w\u00e4hrend eines Waschgangs Hunderte von Vibration-Events feuern und dazwischen Ruhepausen zeigen. Eine simple Logik \u00abVibration aus \u2192 fertig\u00bb triggert dann st\u00e4ndig in den Pausen zwischen Schleuderg\u00e4ngen. Wir brauchen eine Logik mit Hysterese: Erst wenn die Vibration f\u00fcr <strong>mindestens 15 Minuten ununterbrochen aus<\/strong> ist, gilt die Maschine als fertig.<\/p>\n<p>Zus\u00e4tzlich nutze ich <code>sensor.lumi_lumi_vibration_aq1_geratetemperatur<\/code> (aktuell 29 \u00b0C) als plausibilisierendes Signal \u2013 eine warmgelaufene Maschine zeigt mehrere Grad \u00fcber Raumtemperatur. Das ist optional, hilft aber gegen Fehlausl\u00f6sungen, wenn jemand zuf\u00e4llig gegen die Maschine st\u00f6sst.<\/p>\n<h2>Schritt 1: Hilfssensor mit Zeitfenster<\/h2>\n<p>Wir bauen einen Template-Sensor, der pr\u00fcft, ob die Vibration \u00abk\u00fcrzlich aktiv\u00bb war:<\/p>\n<pre><code>\ntemplate:\n  - binary_sensor:\n      - name: \"Waschmaschine l\u00e4uft\"\n        unique_id: waschmaschine_laeuft\n        delay_off:\n          minutes: 15\n        state: >\n          {{ is_state('binary_sensor.lumi_lumi_vibration_aq1', 'on') }}\n<\/code><\/pre>\n<p>Der Trick liegt in <code>delay_off<\/code>. Solange der Vibrationssensor irgendwann in den letzten 15 Minuten ausgel\u00f6st hat, gilt die Maschine als laufend. Bleibt der Sensor 15 Minuten still, kippt der Hilfssensor auf <code>off<\/code> \u2013 das ist unser Fertig-Signal.<\/p>\n<h2>Schritt 2: Automation mit HomePod-Benachrichtigung<\/h2>\n<p>Sobald der Hilfssensor von <code>on<\/code> auf <code>off<\/code> wechselt, soll eine TTS-Nachricht \u00fcber den HomePod (<code>media_player.homepod<\/code>) laufen und parallel eine Push-Notification ans Handy gehen:<\/p>\n<pre><code>\nautomation:\n  - alias: \"Waschmaschine fertig \u2013 TTS und Push\"\n    trigger:\n      - platform: state\n        entity_id: binary_sensor.waschmaschine_laeuft\n        from: \"on\"\n        to: \"off\"\n        for: \"00:00:30\"\n    condition:\n      - condition: time\n        after: \"07:00:00\"\n        before: \"22:00:00\"\n    action:\n      - service: script.sound_notification_homepod\n        data:\n          message: >\n            Die Waschmaschine ist fertig.\n            Bitte W\u00e4sche bald aufh\u00e4ngen.\n      - service: notify.mobile_app_iphone\n        data:\n          title: \"Waschmaschine\"\n          message: \"Fertig \u2013 W\u00e4sche bitte aufh\u00e4ngen \ud83e\uddfa\"\n          data:\n            push:\n              sound: \"default\"\n            tag: \"wama-fertig\"\n<\/code><\/pre>\n<p>Das Skript <code>sound_notification_homepod<\/code> schaltet den HomePod via AirPlay aktiv, wartet kurz auf den Aufweck-Zustand, sendet dann den TTS-Text und schaltet die Quelle wieder zur\u00fcck. Die Bedingung <code>time<\/code> verhindert n\u00e4chtliches Aufschrecken \u2013 wer um 23 Uhr noch w\u00e4scht, holt die W\u00e4sche morgens.<\/p>\n<h2>Schritt 3: Wiedervorlage gegen Vergessen<\/h2>\n<p>Falls die W\u00e4sche l\u00e4nger als zwei Stunden in der Trommel bleibt, geht eine zweite, eindringlichere Erinnerung raus:<\/p>\n<pre><code>\n  - alias: \"Waschmaschine \u2013 Reminder nach 2h\"\n    trigger:\n      - platform: state\n        entity_id: binary_sensor.waschmaschine_laeuft\n        from: \"on\"\n        to: \"off\"\n        for: \"02:00:00\"\n    action:\n      - service: notify.mobile_app_iphone\n        data:\n          message: \"W\u00e4sche immer noch in der Maschine \u2013 wird modrig!\"\n          data:\n            push:\n              sound:\n                name: \"alarm.caf\"\n                critical: 1\n                volume: 1.0\n<\/code><\/pre>\n<p>Das <code>critical<\/code>-Flag durchbricht den Stumm-Modus des iPhones \u2013 sinnvoll f\u00fcr eine W\u00e4sche, die sonst zw\u00f6lf Stunden auf Sommertemperatur fermentiert.<\/p>\n<h2>Batterie und Pflege<\/h2>\n<p>Der Vibration Sensor zeigt aktuell <code>sensor.lumi_lumi_vibration_aq1_batterie<\/code> bei 66 %. Erfahrung aus zwei Jahren Betrieb: Bei einer durchschnittlichen Waschmaschinen-Nutzung (drei bis f\u00fcnf L\u00e4ufe pro Woche) h\u00e4lt die CR2032-Knopfzelle etwa 18 bis 24 Monate. Ein Trick: Klebe den Sensor mit doppelseitigem Schaumklebeband auf die obere Stirnseite des Geh\u00e4uses, nicht auf die seitliche Trommelwand. Dort sind die Schwingungen gleichm\u00e4ssiger, die Erkennung wird zuverl\u00e4ssiger und die Batterie h\u00e4lt l\u00e4nger, weil weniger Events anfallen.<\/p>\n<p>Die gleiche Logik funktioniert \u00fcbrigens auch beim Tumbler oder Geschirrsp\u00fcler \u2013 bei letzterem allerdings erg\u00e4nzend zur ohnehin vorhandenen Hausger\u00e4te-Cloud-Integration. Wer sich f\u00fcr komplement\u00e4re L\u00f6sungen interessiert, findet im Artikel \u00fcber die <a href=\"https:\/\/www.coremind.ch\/wordpress\/backofen-pv-ueberschuss\">Backofen-Steuerung mit PV-\u00dcberschuss<\/a> eine vergleichbare Idee mit Smartgrid-Sensoren statt Vibration.<\/p>\n<h2>Fazit<\/h2>\n<p>Ein 25-Franken-Sensor, drei YAML-Schnipsel und das \u00c4rgernis verschimmelter W\u00e4sche ist Geschichte. Die L\u00f6sung ist klassisch HA: ein billiger Sensor, ein cleverer Template-Trigger mit Hysterese, eine saubere Sprach- und Push-Kette. Genau das macht den Reiz aus \u2013 aus einem stumm piepsenden Haushaltsger\u00e4t wird ein integrierter Teil der Hausautomation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Waschmaschine steht im Keller. Sie piept dezent dreimal, wenn sie fertig ist \u2013 und niemand h\u00f6rt es. Resultat: Die W\u00e4sche bleibt zw\u00f6lf Stunden im feuchten Trommel-Kerker, am n\u00e4chsten Morgen riecht sie modrig, und der ganze Lauf war f\u00fcr die Katz. Genau f\u00fcr dieses Alltagsproblem habe ich den Aqara Vibration Sensor (binary_sensor.lumi_lumi_vibration_aq1) ins Setup integriert. &#8230; <a title=\"Waschmaschine fertig: Aqara Vibration Sensor in HA\" class=\"read-more\" href=\"https:\/\/www.coremind.ch\/wordpress\/waschmaschine-fertig-aqara-vibration-sensor-in-ha\/\" aria-label=\"Mehr Informationen \u00fcber Waschmaschine fertig: Aqara Vibration Sensor in HA\">Weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-424","post","type-post","status-publish","format-standard","hentry","category-ha"],"_links":{"self":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/comments?post=424"}],"version-history":[{"count":1,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/424\/revisions"}],"predecessor-version":[{"id":435,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/424\/revisions\/435"}],"wp:attachment":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/media?parent=424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/categories?post=424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/tags?post=424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}