Software apps and online services
I've wanted my coffee machine to come on in the morning automatically for so long so the Shelly competition was the kick I needed to get it completed. Here are the steps I used to add a Shelly 1 WiFi switch inside my Breville BES870 (XL) Espresso Machine to allow it to be control by Home Assistant.Parts List:
- 1 x Shelly 1 WiFi switch (must be the Shelly 1 as it's the only one with an isolated relay!).
- 30cm mains cable.
- 2 x mains connectors
- 10cm twin JST cable assy.
- 1 x 3M sticky pad
I haven't done detailed a disassembly procedure for the actual Espresso machine as this differs for every model but there are tons of 'disassembly' videos on YouTube.
After you've remove the top and part of the back panel, remove the two screws holding the front electronics panel on as shown below.
Route the wiring away from the catches and pull the front panel up and roll it over.
Remove the power button PCB and solder your 2-pin JST connector (or similar) to the two locations shown.
Route the JST connector out of the plastic housing and screw into back into the front panel. Align the LED's if these have been bumped.
Once all back together, attach the JST cable assy to the relay output and your 30cm mains cable to the mains input. No switch input is required.
Using your 3M sticky, attach the Shelly 1 to the inside of your machine away from the grinder.
Route the mains wiring along the same path as the blue/orange grinder sensor wiring and down the right-hand-side of the white power module.
Remove the mains twisters and connect the Live and Neutral wires from the Shelly to the corresponding wires on the incoming mains leads.
Here's a quick video of the project and then a follow-up video of the mod in action! Woohoo.
And lastly, here is the code I used in a Home Assistant package to get it working. The only problem at the moment is that Home Assistant does not know whether the coffee machine is on or off so I'll be adding another Shelly; this time a Shelly 1PM to monitor the power being used by the machine. This will allow me to use the current drawn for my template switch instead of the input_boolean. Enjoy!