A project on the Home Assistant community forum shows a way to make a button-and-LED dishwasher visible to Home Assistant without replacing it. The author’s household kept forgetting to press Start, and the panel has no time display, so nobody could tell how long a wash had left. Their fix was an ESP32 inside the door, written up in the Share your Projects section.
What happened
The author expected the panel buttons to reach the main board as simple contacts. Instead, the panel and board exchange serial messages in both directions. The buttons are messages, not wires. With a cheap logic analyser (about A$10), sigrok and a small decoder they wrote, they mapped the fields by pressing each button and noting what changed.
The ESP32 sits in the line from the panel to the main board and passes every message along with a small delay. When Home Assistant asks for something, the firmware swaps one passing message for a key press. The status line coming back from the board is only listened to. The machine is a SÔLT GGSDW6013X, a budget house brand, and the author suspects the same board appears under other badges, though that is a guess.
Home Assistant gets status, program, minutes left, water temperature, door state, a latched wash-finished flag, a lifetime wash count, and buttons for Start, Pause/Resume, Power On/Off and program select. The author built in rules so it can only do what a finger could: Power Off is refused mid-wash, and Power On is refused if the machine is already on. If the ESP32 fails, the original connection can be rejoined and the dishwasher is factory again. The factory electronics still run the wash and keep every interlock.
On top of that, they built a “Done, not emptied” state and a daily 09:30 auto-start that skips if the door is open, the machine is running or still full, or the bridge is offline.
What it means for an installed system
- It is a one-off, not a product. The custom ESPHome component is not public yet, and the author says it is still the hand-wired version in their own door. Do not plan a job around it today.
- Your machine may differ. The message layout was decoded on one model. Another brand, even with a similar panel, needs its own capture before anything is assumed.
- Wi-Fi only. ESPHome devices are local and need no cloud, but they carry normal Wi-Fi trade-offs. The author chose an external-antenna board because the inside of a dishwasher door is a metal box. Check signal at the door before committing.
- Check for something simpler first. If your dishwasher already has a native Home Assistant integration or Matter support, use that. This approach is for machines with no connectivity at all.
Safety, in the author’s words
This is the part to take seriously. The author reports taking a shock from the door latch switch, which carries mains voltage, while the panel was out of the door. They say to unplug the machine from the wall before opening anything, and they treat the panel’s low-voltage side as potentially live because they could not prove it is isolated from mains. They also warn against plugging USB into the ESP32 while it is wired to the dishwasher, and say to flash it on the bench first and update over the air afterwards. These are one hobbyist’s measurements and experience, not a manufacturer’s instructions, so we are deliberately not repeating wiring details here.
If you are not comfortable working inside a mains appliance, this is not a weekend job. Opening the door panel may also affect your warranty, so check before you start.
Our take
Reading a device’s own control traffic and adding only guarded commands is a sensible pattern, and the refusal rules (no abort mid-cycle) are the right instinct. It also keeps working locally, which fits how we like to build. For now, treat it as a well-documented idea to watch. If you have the same or a similar machine, the author has invited you to reply in the thread to get the component before it is published.
