Some hardware links on this page are affiliate links. As an Amazon Associate I earn from qualifying purchases. We may earn a commission if you buy through them, at no extra cost to you. See the affiliate disclosure.
A finished washer that sits wet is a smell, not a notification problem. This workflow watches cycle power (or vibration), pages when a machine actually stopped, respects quiet hours, and — if the dryer has not started after the washer — keeps reminding until someone moves the load.
Entity ids are blueprint inputs. Do not publish a specific laundry-room plug name.
What problem it solves
You want a single “washer is done” push, a matching dryer-done push, and a nag to move clothes if the dryer stays idle — without a page at 1 a.m. and without treating a rinse agitate as a finished cycle.
How it works
- Running vs idle — power plug: watts above a “running” threshold for a start debounce, then below an “idle” threshold for a stop debounce. Vibration: binary sensor
onthenofffor the same kind of debounce. Either method can feed the same helpers. - Cycle done — on idle after a run, fire notify (washer or dryer). A helper records
last_washer_done/last_dryer_done. - Quiet hours — if the stop lands inside a quiet window, skip the push (or delay it until the window ends). Handoff reminders use the same window so overnight wet clothes wait until morning to nag.
- Handoff — when the washer goes idle, set
washer_waiting. If the dryer does not go running within ~30 minutes, notify “move the load,” then repeat on an interval until the dryer starts or you clear the helper from the notify action. - Dryer start clears the nag — dryer watts (or vibration) crossing the running threshold turns
washer_waitingoff. A dryer-only cycle never starts the handoff.
Thresholds are per machine. A heat-pump dryer idles lower than a resistive one; measure a real cycle before you lock numbers in.
Hardware notes
- Power plugs. In-wall or plug-through meters that expose a watts sensor in HA. Match the plug to the load rating; a 240 V dryer usually needs a dedicated energy monitor, not a 120 V travel plug.
- Vibration. A cheap accelerometer / “vibration sensor” on the drum works when you cannot meter the circuit. Mount on the cabinet, not the lid that slams.
- Notify. Companion, Pushover, or any notify service the blueprint input accepts. Actionable notify is what clears
washer_waitingfrom the phone. - Two machines. One detector per appliance. Sharing a single plug on a split receptacle will lie to you.
Snippet
The pack ships a blueprint. Inputs replace real entity ids:
trigger:
- platform: numeric_state
entity_id: !input washer_power
below: !input washer_idle_w
for: "00:02:00"
id: washer_idle
- platform: numeric_state
entity_id: !input dryer_power
above: !input dryer_running_w
for: "00:00:30"
id: dryer_started
condition: []
action:
- choose:
- conditions:
- condition: trigger
id: washer_idle
- condition: state
entity_id: !input washer_was_running
state: "on"
sequence:
- service: input_boolean.turn_on
target:
entity_id: !input washer_waiting
- if:
- condition: not
conditions:
- condition: time
after: !input quiet_start
before: !input quiet_end
then:
- service: notify.notify
data:
message: "Washer is done"
- delay: "00:30:00"
# repeat handoff while washer_waiting: full blueprint in the pack
- conditions:
- condition: trigger
id: dryer_started
sequence:
- service: input_boolean.turn_off
target:
entity_id: !input washer_waiting
Setup outline
- Add watts sensors (or vibration binaries) for washer and dryer. Watch one full cycle and write down running vs idle numbers.
- Create helpers (
washer_was_running,washer_waiting) or use the pack’s. - Import the blueprint, fill
!inputentities, thresholds, quiet hours, and notify service. - Test: run a short cycle (or spoof watts with a lamp on the washer plug). Confirm: cycle done → one notify; quiet hours → silence; no dryer start → handoff repeat; dryer start → repeats stop.
Troubleshooting
- Notify on every rinse. Idle threshold is too high or the stop
foris too short. Use the peak-run helper (washer_was_running) so a pause mid-cycle does not count as done unless it sat idle for the full debounce. - No notify at all. Plug reports kW not W, or the entity is energy (kWh) not power. The blueprint wants instantaneous watts (or a vibration binary).
- Handoff never stops. Dryer running threshold is above what that machine actually draws on tumble, or the dryer plug is on the wrong outlet. Lower the threshold after you watch a start.
- Pings at night. Quiet-hours
after/beforewrapping midnight is easy to invert. The pack uses a time condition that handles a window crossing 00:00; do not replace it with a naiveafteronly.
Credits
Based on the community blueprint LaundryMinder — washer/dryer cycle notifications and handoff reminders. This write-up is an original overview of the power/vibration plus handoff pattern.