Parts needed:

  • Sonoff Mini flashed with tasmota (info)
  • Relay with 120/230V (depending on yout mains voltage) coil voltage (e.g.: Schrack RT424730)
  • Mains rated wire

When enabling the dishwasher and not starting a program it will turn itself off after 5 minutes.
I noticed that when you start a program and open the door, it just keeps waiting forever until you close the door again. So I wired a relay in series with the door contact, the Sonoff Mini's output is wired to power the coil of this relay. You can't use the Sonoff's relay directly because it is wired internally to ouput mains voltage.
The Sonoff is configured to always power the relay on startup, this way you can use the dishwasher normally. if you want to delay the program you just close the dishwasher and let the program start, and after that depower the relay. I do this by long pressing a nearby light switch that is connected to our home automation setup (OpenHAB).

Disclaimer: You are dealing with mains voltage, if you do not feel confident in doing this mod try to find someone who has experience in working with mains voltage equipment.
I take no responsibility in anything that happens to the device.

Let's get started.

Disconnect the dishwasher from the mains power.
Take off the front cover and remove the top console by removing the 6 marked screws:

Close the door and take off the console, you will now see this (the wire splices are the ones I made later, forgot to take a before picture):

On the left you can see the power switch, it connects the two red wires to power the machine. The two blue wires power an actuator in the power switch so the dishwasher is able to turn itself off after the program ends (or when the door is opened for 5 minutes before starting the program).

One of the two red wires is connected directly to your mains power plug, you can check this by connecting a multimeter to one contact of the mains plug and probing for continuity to one of the two wires. If no continuity is found, try the other contact of the mains plug.
If you find the connected red wire, splice the other red wire and connect it to one of the power inputs on the sonoff mini. By using this wire the sonoff will only get power when the dishwasher is turned on and turn off together with the dishwasher when the program ends.
This way you can check if the program is done by pinging the sonoff to see if it's still online.

The other contact of the mains plug is connected to one of the two blue wires on the second connector, use the same probe technique to find the correct wire and splice it to the other power input of the sonoff.

The two black wires run to the door switch, cut one of the two wires and connect them to a contact of the relay.

When removing and opening the contol unit I noticed there was plenty of space left in the housing to fit the sonoff and the relay. It almost seems like they made it hack friendly :).
I used jst pigtails for the connections between the wire splices and the sonoff/relay.
Note that I wired both contacts of the relay (DPDT) to a connector, I tried to be clever and also interrupt the connection to the self turn off actuator so the machine couldn't turn itself off, but this didn't work, the display becomes unusable after the 5 minutes standby self turn off function mentioned ealier.

Here you can see the final result.

I used OpenHAB for the brains of the operation using MQTT, it can open the relay to delay the program and close it again when enough solar power is available by reading out the solar inverter.
OpenHAB also pings the sonoff so you can check when the program ends.
You can also check if a normal (non delayed) washing cycle is started by just checking if it is still online after 5 minutes when it first came online, if yes then the dishwasher didn't turn itself off and is doing a washing cycle.

Happy hacking!