Dishwasher Uplift
We opted for a kitchen from IKEA because it's easily designed (their online tool is a serious advantage in the kitchen design space) and readily available. Considering the amount of money that we'd have to cash out for the whole kitchen (appliances and units) and the aesthetic choices (which of them are integrated and which of them are not), the available space (it's not a big kitchen) and immovable items (combi boiler, plumbing), the tradeoffs had to be made.
We'll have a dream kitchen one day, but right now we're doing the best we can with what we have. And we're doing it great! For instance, I mentioned the trouble of getting the tiles done and how we opted to do them ourselves in the end. We arranged the warm and cool tile patterns for where the fridge or an oven are. What I'd really like is a fiber optic cable running below the tiles or the tile pattern spilling into the living room floor instead of a sharp delineation, but it will have to wait for another place.

Some of the big appliances are freestanding (the fridge and the washing machine) and most of them are integrated (oven, induction stove top, dishwasher, extractor fan) or hidden in a cupboard (combi boiler).
Some of them are smart (washing machine, oven, induction stovetop, combi boiler via thermostat), and some are dumb (fridge, dishwasher, extractor fan, faucet (can you imagine it's possible to have that one smart as well?)).
We have an LED strip installed below the top elements to illuminate the worktop. It's a sound reactive WLED capable contraption powered by a QuinLED board that I installed myself. I resorted to WAGO connectors so I don't have to solder and it works great. As in the previous apartment, I put the motion sensor under the top elements so the lights turn on when there's motion in the kitchen. I also use them for visual notifications. When doors open, when some of the appliances finish their program, etc. I'll have to explain the visual notification interface one day.

My OCD tendencies kick in more often than not and I'd really like to have all of the appliances smart, but I can't complain about the first world problems. It is what it is.
The smart appliances are powered by Home Connect. We wanted the connected extractor fan, but it wouldn't look nice if it's not built in and I don't see the option right now. We also wanted a Bosch dishwasher, an integrated unit, but IKEA doesn't have the standard doors or slot for it. Even if you get an adapter for your unit, which you can, anecdotal evidence says that the IKEA cabinet doors for the integrated unit are too heavy and wreck the dishwasher eventually. This is one of the tradeoffs we had to go with. We wanted an integrated dishwasher so a unit from IKEA is what we have right now. It is as dumb as they come, but it works.
Until we dare to get an integrated smart one (or give up for the freestanding one), I was thinking about how to get the basic information of the dishwasher status.
Looking at the smart washing machine that even shows the impeller state for the water pump and has an auto dosing mechanism for the detergents (my parents would say it's science fiction), the dishwasher pales in comparison. I would be happy to have the dishwasher at least show the state when it's running. I don't need to remotely start it, but when I'm away in a different room and waiting for the dishes to be ready so I can start preparing lunch, it would be great if we could be notified.
Unfortunately, it doesn't even beep when it's done.
I was initially thinking to have an NFC tag. With the companion app, scan it with your phone and it will set the state as running in the Home Assistant. Countdown for a certain amount of time switch it to idle. This would mostly work for the fixed times of the programs if nothing goes wrong and I'd be happy with it. We had the NFC powered solution for the dumb washing machine in the old apartment after all. The dishwasher has an automatic program and can stop when it thinks it's done so the time is variable. I wanted to avail of that capability and had to continue workshopping the solution.
Fortunately, it opens the door when it's done.
This gives me an additional parameter I can work with. The dishwasher door has a gap deep enough to fit a narrow open/close PARASOLL Ikea sensor and it's not visible. Connecting it to the door was the first step, but I had to know if it's consuming power.

As a side-note, there are solutions that use the vibration sensor to see when it's running, but I am not optimistic about that one. The dishwasher would have to be vibrating reliably for that.
A little too late I saw that IKEA has INSPELNING line of energy monitoring plugs that is frequently out of stock due to a high demand. It's Zigbee, the same as the PARASOLL and it needs the Zigbee hub. We have the official Home Assistant dongle for this so it's not a problem. The solution is almost identical to the one I set up so whichever hardware someone wants to go with, it's a possibility.
Some time ago, we ordered the Tapo P110 smart plug and it arrived, but it was stuck in the drawer until I got around to figure this out. It's WiFi and doesn't need a hub, but the sensors it exposes are pretty much the same ones as the INSPELNING. The only difference is that it initially has to get paired through the app with a phone.
While the plug can be used to remotely enable the power flow, the dishwasher can't be started that way. I didn't need that capability. I still need to load it up and I can set the delay, but the nature of the energy monitoring plug is such that it would give me the status on the energy usage of the appliance in real-time. This is good.
On a side-note, I'm running low on space on the phone so I had to clean up some old photos and consolidate them. I have to work on backing it up properly, too. The phone is due an upgrade as well, but it works so far. I had to free up the storage first because the app that can pair the plug is heavy and takes up valuable space.
Anyway, after the plug got paired and subsequently added to the local WiFi network using the app, I made the IP of the plug static, as usual, and then added the Home Assistant integration for TP-Link devices. I named the plug appropriately, added it to the adequate room and then I had to do some thinking.
The plug is shown as a device with several entities. The one that interests me is the current_consumption sensor. Regarding the open/close sensor, it is the second part of the puzzle.

I had the dishwasher run normally with the plug monitoring the energy usage so I can inspect the historical data. The insights I got were this:
- On the automatic program that it says up to 2:50, it finished within 2:30 in that run.
- When it idles, then the consumption shows between 0 and 0.4W.
- When the display is active, but the door still opened, it fluctuates between 2.6W and 2.9W,
- When it's running there are several states
- it can climb to an around 2000W if the heater is on,
- or lower in 7W to 70W ballpark if the pump is on or possibly the spinners,
- or even lower to 2W to 3W if it's just steaming the plates.
If the dishwasher doors are closed and it has the power consumption of over 3W for at least a minute, then I consider it running. This happens immediately after the program starts running.
It's not ideal and I can expect false positives. At one point, the usage drops below 3W. By that logic, it would mean that the dishwasher stopped, but it didn't really. To compensate, if the status has been set to running, and the door is still closed, it remains as running, despite the usage dip.
That's why that open/close sensor is important in this case. While I can figure out the high consumption state, it's not important to me. I need to know if it's running or not. I differentiate two idle states. One is when the doors are open, the other when they're not. This is important for the automation later on.
When the program is done, the dishwasher will open automatically, but it will still consume approximately 2.7W because the display is still on counting down for approximately fifteen minutes until the plates cool off. The light below the dishwasher door is also on.
After the countdown finishes, everything turns off and the consumption goes to 0W to 0.4W again.
It can be interacted with immediately when the doors open so it's good enough for me to get a peeler out or something simple.
Ultimately, I ended up with a template sensor defined in the configuration.yaml because it can define the icons dynamically:
template: - sensor: - name: "Dishwasher" unique_id: dishwasher state: > {% set power = states('sensor.dishwasher_current_consumption') | float(0) %} {% set door = states('binary_sensor.ikea_of_sweden_parasoll_door_window_sensor_opening_2') %} {% set duration = 60 %} {% if door == 'on' %} Idle (door open) {% elif power >= 3 and door == 'off' %} Running {% elif is_state('sensor.dishwasher', 'Running') and door == 'off' %} Running {% elif power < 3 %} Idle (standby) {% else %} Unknown {% endif %} icon: > {% if is_state('sensor.dishwasher', 'Running') %} mdi:dishwasher {% else %} mdi:dishwasher-off {% endif %}
Now I needed to get the sensor connected to an automation. This was simple enough through the visual interface, but yaml config looks similar to this:
alias: Dishwasher Finished description: "" triggers: - entity_id: - sensor.dishwasher trigger: state from: Running to: Idle (door open) conditions: [] actions: - action: notify.mobile_app_fp3 data: message: Dishwasher finished! Time to unload it. title: Dishwasher Finished mode: single
After the appliance finishes, I send a notification. What I didn't show is a whole set of different notifications to simplify things, but there's the visual one that will blink those WLED lights.
I can also add the plug to the energy monitoring dashboard, but since I didn't wire up the whole apartment to it, there is not a lot of use for that. Maybe if the power starts acting up, I can make a notification that something's wrong with the machine, but that is a potential problem for a future me, if at all.