A local washing machine in Home Assistant with a done notification
No cloud, but status, remaining time and a notification when the laundry is done. Plus a reliable "running" sensor that does not flap between phases.
- Published
- Reading time
- 3 min read
- Level
- Intermediate
- Tested on HA
- 2026.10
Plenty of Wi-Fi washing machines will only pair through the manufacturer's cloud, which does you very little good the moment that cloud goes down or the app gets retired. For older Samsung appliances with the DONGLE_ Wi-Fi module there is a local HACS integration, Samsung Dongle (Local), that talks to the machine directly over a local API on port 8888. It keeps working even with the cloud fully blocked. You get status, programme, progress, remaining time, temperature and spin speed. For a newer Samsung machine you pair through the SmartThings integration instead.
Preparation
- Give the machine a fixed IP address through a DHCP reservation, because the integration binds to that address.
- Leave Smart Control enabled. On many Samsung models the machine drops off the Wi-Fi network otherwise. There is a cost to that: with Smart Control on you cannot always use the control panel by hand. That sits in the machine itself and the integration can do nothing about it.
A reliable "running" sensor
A washing machine's status cycles through washing, rinsing, spinning and sometimes a brief pause. Trigger directly on that status and your notification arrives halfway through the programme, leaving you standing in front of a machine with another quarter of an hour to go. So build a template sensor that is only "on" while a programme is genuinely running:
template:
- binary_sensor:
- name: Wasmachine bezig
unique_id: wasmachine_bezig
device_class: running
state: >
{{ states('sensor.washer_state') not in ['off', 'unavailable', 'unknown', 'finished'] }}
delay_off: '00:02:00'
That two-minute delay_off absorbs the short pauses between phases.
The notification itself
- alias: Wasmachine klaar
triggers:
- trigger: state
entity_id: binary_sensor.wasmachine_bezig
from: 'on'
to: 'off'
actions:
- action: notify.huishouden
data:
title: Wasmachine
message: De was is klaar.
data:
url: /dashboard-thuis/wasmachine # iOS
clickAction: /dashboard-thuis/wasmachine # Android
Start the title with the device, so you can see at a glance what a notification is about in a stack of them. The url makes a tap open the right popup on your dashboard directly.
On your lock screen
The Companion app can show a Live Activity (iOS 17.2+) or a Live Update (Android 16+) while the wash runs, so you see the remaining time without unlocking your phone. Send a notification with live_update: true and a fixed tag, then send that same tag again to update the progress. Close it out once the laundry is done. On iOS this is still a Labs feature, so do not count on it surviving every update.
Dryer and power strips
If your washing machine and dryer share one power strip, a metering plug cannot tell you which of the two is running, because you are measuring the sum. If you want to make the dryer smart too, give each of them its own metering plug.
Frequently asked questions
My washing machine has no Wi-Fi. Can I still do this?
Yes, with a metering plug. Once the power stays under a couple of watts for a few minutes, the laundry is done. Use a template sensor with the same delay_off trick.
Why do I get the notification halfway through the programme?
Then you are probably still triggering on the raw status. Use the "running" sensor with delay_off, so that a short pause between two phases does not count as finished.
Can I have the notification read out loud? You can, but consider a briefing on demand first. An announcement through the house in the middle of the day is rarely welcome.