Making a washing machine smart
A minor annoyance, but one that plagues me: when you put a wash on, forget about it finishing, only to discover the damp washing hours later festering in the washing machine. There’s only one thing to it - a massively overengineered smart home solution!
This is a smart device that can be had from Chinese online retailers for ~$9 - bargain. In it there’s a wifi microcontroller, the venerable ESP8266, a mains relay and a current/voltage sensor to measure power usage. It’s the power monitoring functionality this hack uses.
First, you need to solder on a header onto the POW in the usual place, and flash custom firmware onto it (I’ve documented this process in the past, and there’s good docs [here](https://github.com/arendst/Sonoff-Tasmota/wiki /Hardware-Preparation)). The firmware I used was Tasmota - it’s a great piece of fully featured custom firmware for the ESP8266 which includes wifi setup, mqtt reporting, etc among others.
The rest of the wiring is dead simple - simply slice a single plug extension socket halfway along the flex, and wire this into the Sonoff POW.
Then plug your washing machine into this and log into Tasmota to configure the wifi connection and MQTT settings.
The rest of the process involves hooking this into your favourite home automation system.
I’ve left this as a choice to the reader, below is how it works with my home automation system gohome, but it’d work equally well with popular systems like Home Assistant.
I have gohome alerting me when the washing machine starts (which is triggered by it detecting the power usage rising), and then 65 minutes later (the hour cycle is a generous hour!), a following alert to say the washing is done. You could alert after the power usage drops instead of doing it on a fixed time - but that gets a bit more complicated to avoid false alerts on mid-cycle pauses the machine does. A simply timer has worked well, as we only ever use the 1 hour program.
This was all done through a gohome bot that messages me through telegram.
Problem solved - so long as I see the alert on my phone!