Hallo zusammen,
Hier möchte ich euch zeigen, wie ihr eine Waschmaschine mit nur einer Steckdose einfach smart machen könnt und ein solches Ergebnis erzielt:
Achtung: Dieser Leitfaden wird sich weiterentwickeln und einige Screenshots werden im Laufe der Zeit aufgrund möglicher Fehlerbehebungen oder hinzugefügter Funktionen geändert werden ![]()
Der Changelog wird am Ende des Leitfadens verfügbar sein
Ich werde viele Screenshots ohne begleitenden Text einfügen, aber wenn ihr Fragen, Anmerkungen oder Vorschläge habt, zögert nicht ![]()
Ich habe mich stark von dem Tutorial auf Domo-Blog inspirieren lassen, das ihr hier findet:
https://www.domo-blog.fr/comment-connecter-et-monitorer-la-machine-a-laver-sous-la-domotique-home-assistant/
Voraussetzungen:
- MQTT-Integration
- Zigbee2Mqtt-Integration
- Eine Zigbee-Steckdose (In meinem Fall diese hier)
- Die integrierte Zigbee-Steckdose in die Zigbee2Mqtt-Integration
1. Erstellung des Waschmaschinen-Geräts in der MQTT-Integration:
2. Erstellung der Funktionen am MQTT-Waschmaschinen-Gerät:
3. Erstellung des EDF-Geräts in der MQTT-Integration:
1. Erstellung des Geräts, um den letzten Tag des Monats abzurufen:
4. Erstellung der Funktion am MQTT-EDF-Gerät:
5. Erstellung der Szene für EDF, um die Kosten Ihres Abonnements anzuzeigen:
Ihr könnt diese Aufgabe mit dem folgenden Tutorial automatisieren:
https://community.gladysassistant.com/t/tuto-recuperer-le-prix-de-son-abonnement-delectricite-via-le-site-data-gouv-fr/8838
Führt diese Szene einmal manuell aus und die nächsten Male, wenn sich Ihr Tarif ändert, wenn ihr die Automatisierung nicht verwendet ![]()
6. Erstellung der Szene „Waschmaschine in Betrieb“:
7. Erstellung der Szene „Waschmaschine aus“:
8. Erstellung der Szene „Monatswerte zurücksetzen“:
9. Erstellung der Szene „Statische Werte aktualisieren“:
Wenn ihr eure Maschine 48 Stunden lang nicht benutzt, werden einige Werte nicht mehr im Dashboard angezeigt. Dieser Wert ist in den Einstellungen → Gladys-System einstellbar:
Ich habe daher eine Szene erstellt, die die Werte alle 24 Stunden zu einer Zeit aktualisiert, zu der ich weiß, dass meine Maschine nicht läuft ![]()
10. Erstellung der Szene „Jährliche Werte aktualisieren“:
Ein kleiner Hinweis zu dieser Szene: Ihr müsst dieses Datum jedes Jahr ändern
11. Erstellung des Node-Red-Flows, um den letzten Tag des Monats abzurufen:
[
{
"id": "b7191a33c07d23e0",
"type": "tab",
"label": "Letzten Tag des aktuellen Monats überprüfen",
"disabled": false,
"info": "",
"env": []
},
{
"id": "d0e045cb.9f4ef",
"type": "http request",
"z": "b7191a33c07d23e0",
"name": "WorldTime API",
"method": "GET",
"ret": "obj",
"paytoqs": "ignore",
"url": "http://worldtimeapi.org/api/ip",
"tls": "",
"persist": false,
"proxy": "",
"authType": "",
"x": 260,
"y": 200,
"wires": [
[
"91df43f4.81a518"
]
]
},
{
"id": "91df43f4.81a518",
"type": "function",
"z": "b7191a33c07d23e0",
"name": "Monat extrahieren",
"func": "var mois_actuel = msg.payload.datetime.substring(5, 7);\nmsg.mois_actuel = parseInt(mois_actuel);\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 430,
"y": 260,
"wires": [
[
"7894f4e2.dcb4f4"
]
]
},
{
"id": "7894f4e2.dcb4f4",
"type": "function",
"z": "b7191a33c07d23e0",
"name": "Letzten Tag des Monats bestimmen",
"func": "var mois_30_jours = [4, 6, 9, 11];\nvar mois_31_jours = [1, 3, 5, 7, 8, 10, 12];\n\nif (mois_30_jours.includes(msg.mois_actuel)) {\n msg.payload = 30;\n} else if (mois_31_jours.includes(msg.mois_actuel)) {\n msg.payload = 31;\n} else {\n var annee_actuelle = parseInt(msg.payload.datetime.substring(0, 4));\n if ((annee_actuelle % 4 == 0 && annee_actuelle % 100 != 0) || annee_actuelle % 400 == 0) {\n msg.payload = 29; // Schaltjahr\n } else {\n msg.payload = 28;\n }\n}\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"x": 640,
"y": 320,
"wires": [
[
"b55312bdd26f4bda"
]
]
},
{
"id": "fbac43b9673078da",
"type": "mqtt out",
"z": "b7191a33c07d23e0",
"name": "",
"topic": "gladys/master/device/mqtt:datetime/feature/mqtt:dernier-jour-moisencours/text",
"qos": "2",
"retain": "true",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "0ee77e0f90aa9681",
"x": 1220,
"y": 440,
"wires": []
},
{
"id": "b55312bdd26f4bda",
"type": "function",
"z": "b7191a33c07d23e0",
"name": "Tag extrahieren",
"func": "const payload = msg.payload;\nmsg.payload = payload;\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 860,
"y": 380,
"wires": [
[
"fbac43b9673078da"
]
]
},
{
"id": "65287af29bc457b9",
"type": "cronplus",
"z": "b7191a33c07d23e0",
"name": "",
"outputField": "payload",
"timeZone": "",
"storeName": "",
"commandResponseMsgOutput": "output1",
"defaultLocation": "",
"defaultLocationType": "default",
"outputs": 1,
"options": [
{
"name": "schedule1",
"topic": "topic1",
"payloadType": "default",
"payload": "",
"expressionType": "cron",
"expression": "30 00 1 * *",
"location": "",
"offset": "0",
"solarType": "all",
"solarEvents": "sunrise,sunset"
}
],
"x": 100,
"y": 160,
"wires": [
[
"d0e045cb.9f4ef"
]
]
},
{
"id": "0ee77e0f90aa9681",
"type": "mqtt-broker",
"name": "Gladys",
"broker": "mqtt://192.168.0.248",
"port": "1883",
"clientid": "",
"autoConnect": true,
"usetls": false,
"protocolVersion": "4",
"keepalive": "60",
"cleansession": true,
"autoUnsubscribe": true,
"birthTopic": "",
"birthQos": "0",
"birthRetain": "false",
"birthPayload": "",
"birthMsg": {},
"closeTopic": "",
"closeQos": "0",
"closeRetain": "false",
"closePayload": "",
"closeMsg": {},
"willTopic": "",
"willQos": "0",
"willRetain": "false",
"willPayload": "",
"willMsg": {},
"userProps": "",
"sessionExpiry": ""
}
]
12. Erstellung der Szene für das monatliche Kosten-Diagramm, wenn das Monatsende der 30. ist:
13. Erstellung der Szene für das monatliche Kosten-Diagramm, wenn das Monatsende der 31. ist:
14. Diagramm im Dashboard zur monatlichen Verfolgung:
Nur eine kleine Präzisierung zur 2-minütigen Wartezeit in der Szene „Waschmaschine gestoppt“, ich musste dies tun, weil selbst nach 1 Minute meine Waschmaschine die Szene auslöste, da es einen Moment gab, in dem die Waschmaschine auf 0W ging und nach 1 Minute wieder bei 0W war. Jedenfalls erkläre ich es so… ^^
Ich hatte danach keine Probleme mehr, nachdem ich es auf 2 Minuten erhöht hatte
Changelog zu kommen:
- Keine (Ihre Kommentare
)
Edit 10/04/2024:
- Änderung des Auslösewerts (Leistungsaufnahme) zur Berücksichtigung der verzögerten Abfahrt
- Hinzufügen der Berechnung für die Kosten über 1 Monat
Edit 12/04/2024:
- Behebung mehrerer Fehler
Edit 16/04/2024:
- Hinzufügen des Links für die Automatisierung der Stromtarifabfrage
- Fehler erkannt und versucht zu beheben, der die Szene „Waschmaschine gestoppt“ betrifft, die sich mehrmals ausführt, insbesondere am Ende des Zyklus

Edit 21/04/2024:
- Behebung des Fehlers in der Szene „Waschmaschine gestoppt“, die sich am Ende des Zyklus mehrmals ausführte
- Hinzufügen einer Szene, damit die Werte immer im Dashboard angezeigt werden, basierend auf dem Parameter „Verzögerung vor Ablauf eines Status“
- Implementierung der Rundung auf 2 Dezimalstellen für die Kosten + 3 Dezimalstellen für den Verbrauch der letzten Wäsche
- Hinzufügen der Jahreskosten
Edit 22/04/2024:
- Mea culpa, der Fehler war überhaupt nicht behoben, jetzt ist es erledigt

- Optimierung der Szene „Waschmaschine gestoppt"
Edit 03/05/2024:
- Hinzufügen eines Diagramms zur monatlichen Verfolgung der Kosten







































































