WashData thread

HA WashData (v0.1, active development)

Home Assistant custom integration to detect washer cycles from smart plug power, label programs, and estimate time remaining using NumPy shape correlation.

What it does

  • Detects start/finish from power draw with smoothing, off-delay, and ghost-cycle filtering.

  • Learns profiles from past runs; matches live traces via correlation, MAE, and peaks.

  • Provides sensors: state, program, time remaining, cycle progress, current power.

  • Manual program select entity to override/teach the system.

  • Notifications for start/finish and optional pre-completion heads-up.

  • Nightly maintenance to merge fragmented cycles and keep storage lean.

Status

  • Version: 0.1 (early stage, active development).

  • Expect rapid changes; breaking adjustments possible.

  • Feedback on detection stability, matching accuracy, and UI flow is welcome.

Install (HACS, Custom Repository)

  1. In HA, open HACS → Settings → Custom repositories.

  2. Add https://github.com/3dg1luk43/ha_washdata as type Integration.

  3. Install HA WashData from HACS and restart Home Assistant.

Manual fallback: copy custom_components/ha_washdata into your HA custom_components folder and restart.

Configure

  • Go to Settings → Devices & Services → Add Integration → HA WashData.

  • Pick your washer’s power sensor, set min power, name the device.

  • In Configure → Settings, you can Apply Suggestions to preload recommended values, then submit to save.

Known notes and asks

  • Time/progress estimation is tuned for average cycle length; please report erratic jumps with logs.

  • Profile matching prefers consistent power shapes; share traces where it mislabels.

  • Publish-on-change plugs: adjust no_update_active_timeout and watchdog_interval if you see premature endings.

11 Likes

Hello. I am trying out the integration. Read the docs, but am confused about the program entity. I have left all the data stock. Did not create a program name yet. Ran the washer.

Do we need to create at least one program name before starting up the washer? I see the program entity was stuck on detecting state the whole time. I assume the program should correspond to the different cycle washes? I plan to have 3. Normal wash, Gentle wash, dryer only. each will have their different total time cycles. Just need to time each one out to get the total minutes which will be converted to seconds.

Hey, intended usage is that you will record each one and then label them with profile name. After that, every time you ran cycle, integration will try to estimate which one you’re running and assign profile → estimate time to completion. If you dont want to wait for autodetection, you can assign runningprofil to running cycle via dropdown select entity within your device.

Cool integration. Do you think it also would work for a dishwasher?

2 Likes

Wow, this is great! (Idea anyway, I’ve not exercised it yet.) I’ve got a ā€œdumbā€ automation for my dumb washer dryer but I think you’ve taken it up a notch. Thanks!

would also be nice if it could be used for my dumb coffee machine. to be able to let a smart speaker announce the coffee is ready, or the cappucino is ready (depending on the power usage profile)

This is amazing, thank you for all the hard work! I previously used SmartThings but didn’t really want the integration hanging around just for my washer and dryer, so I use smart plugs just to notify me when the cycle are done. This is next level and I’m pumped to implement it.

I also have a dumb dishwasher that I use a temperature sensor on, would be cool if this could be adapted to work with the temp sensor instead of just power sensing as well.

Awesome stuff!

ok. Will do a few runs and save as profiles. Any way to fix the progress state readings? To many digits. Thanks for this integration.

Click the progress row to get the ā€˜More Info’ dialog, then tap on the cog wheel in the upper right, and set the ā€˜Display precision’ to your liking.

1 Like

Thanks. Knew that settings, but forgot it.

Hey, great integration
i just need help, this morning it doesn’t detect well my cycle. A special cycle with a long time warming the water.

Here’s what the smart plug saw:

and Washdata saw:

I think this is because the device remained at 2039w for a very long time without a new measurement point.

Any idea ?

Just load the integration but when trying to load the Status Card it is not found. Any ideas?

is there something similar for this that works with dishwashers?

Welcome to the forum, melikootje :wave:

If you read the description of the GitHub page you will notice below Features that right at the beginning the dev states:

  • Multi-Device Support: Track Washing Machines, Dryers, Dishwashers, or Coffee Machines with device-type tagging.

:wink:

Great tool!
I justr started using it.
I ran into the problem tha a cycle last about 110 minutes, but after the program is finished te machine starts the anti wrinkel program for 2 hours.
Washdata thinks is is till running. How do I select the actual running time?

1 Like

I’ve got this installed, and it’s linked to my washing machine no problem, and profiles are ingesting correctly etc., but I can’t get the ā€˜beautiful’ tile card to show up? It’s only showing me a regular tile card, though the additional options appear to be configuraable?

I’ve tried redownloading within hacs to see if it didn’t pull all the resources down properly, but it still only shows a regular tile.

I’m probably missing something super obvious, but I can’t figure it out if I am. Any tips?

beautiful card in not associated with me, its external development so I would aim your issues to developer of this card. Try hard refreshing frontend tho, that might help.

will be fixed in next version

1 Like

I’m obviously not getting it right.
I created a second profile, started the cycle, and I saw that the new profile was used. But after about 10 minutes it dissapeared.
And now I can’t find any trace of it.
How do I set it up to use a profile or to create one

Ah OK sorry I misunderstood the documentation.

I can’t seem to find a clear answer as to who manages or what even is ā€˜Beautiful Status Card’. I can’t find the hacs repo, or a relevant github for it. I’ve installed multiple things that could be something similar, but none of them have enabled the card.

Could you link me to the repo for the status card it relies on? Or add the link to your documentation that links to the requirement to enable it?

Thanks

2 Likes