#ESPHome Washer Status

56 messages Β· Page 1 of 1 (latest)

hidden bloom
#

For a while I have been wanting a way to check if my washer is done and/or get a notification when it finishes. It doesn't make any sort of sound (other than the solenoid de-energizing to unlock the lid) so it's easy to miss and forget to move the laundry to the dryer.

I considered using a photoresistor or other light sensor for this, but I still wanted to be able to see the lights on the unit directly, and was worried that I might get false readings from the sunlight if the were left exposed, so in the end I decided to tap in to the LEDs power with some optocouplers. Once my t-taps arrive I should be able to move this all inside the housing and it will be completely invisible.

wind tangle
#

Why not use power consumption monitoring with a smart plug?

hidden bloom
#

because this gives me more detail about the status and more reliably

past arrow
#

And this is so much cooler. I've thought about doing this sort of thing a bunch before and so happy to finally see someone doing it

steep pendant
#

What's the display and how is it connected?

hidden bloom
#

that's just my iphone showing the web_server with some custom CSS/JS

#

still deciding how I want it to show up in HA, but this was to test to see that it was reading all of the values correctly

hidden bloom
#

Yeah a bit overkill for this case πŸ˜… but it only took a few minutes to throw together

round sapphire
#

Nice. I'm going to do the same thing to my Dishwasher. The display does have a 5V power supply (hopefully with enough power) but it is floating at mains voltage 😬

solemn stone
#

If your using a full size esp32 why not just use the 8 adc pins on the MCU? From what i can tell on the video your using a full size MCU so should have them. If thats a ESP8266 then never mind πŸ™‚

steep pendant
#

No ESP32 has 8 usable adc pins and that looks like a pico board.

solemn stone
steep pendant
solemn stone
#

lol i just did that to and your right. Starch my question πŸ™‚

solemn stone
steep pendant
#

Supposedly there are 8 pins for adc1, but I'm having trouble finding them all.

solemn stone
steep pendant
#

eww, that one doesn't distinguish between adc1 and adc2

solemn stone
#

most full size esp32 dev boards pins 32 through 39 can be used as adc pins. At least the ones i have do i used 7 of them in a project once

steep pendant
#

Right. The board I was looking at didn't have all those pins available.

#

So yes, there are 8 adc channels available with the right board.

#

But the pico boards won't have that.

solemn stone
steep pendant
#

But the other issue which isn't described here, but came up in another thread is that the LEDs are multiplexed and the adc can't read fast enough to catch that.

#

Even the binary sensor doesn't work well.

solemn stone
#

for this washing machine board? Or in general?

steep pendant
#

For this case.

solemn stone
#

Well that makes sense then. Interesting.

hidden bloom
#

finally did a real test run and it seems to work πŸ˜…

rotund geyser
#

Hi, is there an instruction/wiring diagram to set this up? Mine has a few more leds so i guess I’ll need more optocouplers

steep pendant
#

You only need the status ones though, not the settings.

hidden bloom
#

Yeah I think this will have to be somewhat bespoke for each washer. In my case, the LEDs are matrixed into a 3x2 configuration, which is why only 5 wires come out from the washer's control board.

In general though, you just need to make sure the optocoupler inputs are wired in the correct orientation with the LEDs' power, and add a resistor that provides just enough current to trigger them (so the LEDs are still visible and you don't accidentally burn anything out). On the output side, you just some way to detect that it's active, so you could have INPUT_PULLUP to GND (what I went for), INPUT_PULLDOWN to 3V3, etc. Just need to make sure the orientation is correct there as well.

rotund geyser
rotund geyser
hidden bloom
#

The resistor will depend on whichever optocouplers you get and what the minimum current is needed to get them to trigger. I did some testing and found that 2 mA was enough to reliably trigger the PC817s I had.

This is pretty rough, but my wiring was like this, where orange and green are the two positive inputs and yellow/blue/purple are three negative outputs to be able to address the 6 LEDs, and then the black wire at the bottom is connecting all of the outputs to ground, and then the inputs were each separate GPIO pins.

There's a good chance the wiring for yours will have to be different though. Your safest bet would be to connect wires to both sides of each LED, and then connect those in the right direction to the optocouplers (with a resistor for each in there as well).

steep pendant
#

And what the voltage is at the LEDs.

drowsy scaffold
#

I've solved this problem by using an accelerometer to notice when vibrations go back to baseline.

fathom totem
hidden bloom
#

the very basic version is essentially "if above a certain acceleration/shake threshold, it's running, otherwise it's not"

upbeat quail
hidden bloom
upbeat quail
#

Thanks

hearty remnant
#

Most of washers sold here in europe have the same / similar mainboard (as are by the same company just selled under different brands - AEG, Electrolux, Zanussi, Fors, Husqvarna, Husqvarna Electrolux, John Lewis, Novamatic, Philco, Rex). And I believe there must be some sort of service connector, but nobody hacked that yet... would be nice just o use it instead of such hacky hack πŸ˜„

summer horizon
hidden bloom
#

they even made custom shirts for their talk huh πŸ˜…

summer horizon
#

That's how you can spot the real nerds πŸ˜„

summer horizon
#

Unfortunately I feel an invisible force field around my washing machine and dryer that I better not cross with any tools unless they are already broken, or else I would at least get some very angry looks πŸ˜‚

hearty remnant
hearty remnant
#

finally I have at least power monitoring so I know when it is done πŸ˜„

hearty remnant
#

wondering if there is some ai thing that can automatically detect its washing phases. Claude can do it nicely:

  1. Standby/Idle (17:30-17:42) - ~0.5A: The machine is in standby mode, consuming minimal power.
  2. Initial Fill & Heating (17:42-18:02) - ~8A sustained: This is the main wash phase. The consistent high current draw indicates the heating element is working to heat water to the programmed temperature. The water inlet valve also operates during this time. This 20-minute period represents your longest energy-intensive phase.
  3. Main Wash Agitation (18:02-18:05) - ~1A: After heating, the drum rotates for washing with occasional spikes. The lower baseline suggests mainly motor operation without heating.
  4. Drain/Spin (18:05-18:10) - ~1A with fluctuations: The pump drains water, followed by spinning cycles to extract water from clothes.
  5. Rinse Cycles (18:10-18:20) - varying between 0.5-3A: Multiple rinse fills and spins, with occasional brief heating spikes (the sharp ~3A peaks around 18:15 and 18:18).
  6. Final Spin (18:20-18:25) - ~1-3A with spikes: High-speed spin cycle to extract maximum water. The current spikes likely represent the motor ramping up to maximum RPM.
  7. Completion (18:25+) - drops to ~0.5A: Program finished, returning to standby.
steep pendant
#

The bot thought your comment was spam. 🀣

hearty remnant
#

yup, needed to change it a little bit πŸ˜„

hidden bloom
#

Depending on how much it varies you might just be able to use a simple state machine or pattern recognition