There is an existing thread related to Jura coffee machines, but, the integration methods have gone stale with newer updates to firmware. I thought to just start a new thread to document probing and seeing what can be done to help automate a few things.
I’ve already designed a replacement lid for the water tank that allows for installing a float valve to keep the tank filled.
My next “to do” is to get a smart switch implanted to control power.
I tore down the wife’s Z10 and found it’s pretty simple to do. There are two of the “special” Jura screws on the back, but a pair of needle nose pliers did the trick to get them out.
I measured 5VDC where the white switch plugs into the control board. This appears to be an NC circuit as I see the voltage drop to 0 when pressing the button.
Probing the black microswitch connections on the PCB shows 120v across the legs when first plugged in, but no voltage once the power button is pressed, even when shutting down. Power isn’t restored until the main power cord is removed and plugged back in.
Ok…we have control of on/off from HA. I added a Shelly 1 Plus (important since you need dry contacts). I replaced the black microswitch with the Shelly. The Shelly itself is powered by tapping into the power block on the back of the machine where the main power line comes in. Some additional findings:
The main power relay for the machine will stay energized unless you:
A. Unplug the machine.
B. Hold down the power button (really from holding down the white switch).
The white microswitch is for signaling power down/power up when the circuit state changes. This is the 5V circuit mentioned in the first post.
When turned off, after some period of time, the main relay will power down.
With the Shelly in place of the black switch:
You can turn on the machine when fully powered down. You cannot turn off the machine (we’ll just rely on the auto-off feature here).
For disassembly:
Remove the front tray and remove the four screws. These are all T-15 torx.
Remove the side panels by pulling them back. If you’re facing the back of the machine, remove the left panel first and then the right.
Underneath the button is a cover with a single screw. This one is a T-10 torx. The cover has two tabs holding it on. Pry the backside tabs first and then the front side tab. The cover can be removed with the top in place, but will require a little shimmying.
I forgot to grab a picture but will grab one later
The two switches can be removed by pulling them away from the mounting bracket.
Remove both wires from the black switch and connect them to the input/output of a dry contact switch. I wanted to easily undo anything I’ve done so I opted to use a short jumper wire with female spade connectors plugged into the existing male connectors on the PCB. This way, I could tuck the microswitch along with the factory wiring away to be able to easily undo the mod. If using the Shelly, just connect the line and neutral to the existing wiring block in the back of the machine to power the shelly. It’s tight but I was able to get the wires in even using 14 ga solid core wire.
I’d highly suggest triple checking your connections and then testing everything at this point. Plug the machine back up (did I mention to triple check your connections). Toggle the relay from the Shelly web interface, HA, etc. and the machine should power on.
Store the black switch away somewhere and put the white switch back in place. Reassemble.
There is no indication I opened the machine, aside from some minor scratch marks on the “Jura” screws (which can be touched up with some nail polish if needed) and everything can be quickly reverse with no evidence that the machine had been touched.
Housekeeping:
Set the Shelly to default to “on” when powered up.
Set your automation to toggle the Shelly off and back on to turn on the machine
On the software front, I was able to do a MITM attack to capture and decrypt traffic from the J.O.E. app while connecting to the machine and running two cycles of 25 ml hot water. The packet capture can be grabbed from here if anyone else wants to take a gander.
So, a little premature with only needing the one relay. You will need two. The main relay is de-energized at some point after the machine is switched off. Once that happens, the 120v black switch does need to be toggled.
I’ll be installing another relay to replace the black switch. I already have a script to handle the toggle for the 5v switch, so it’ll just be an extra line in there.
Ryan. You’re my hero with this thread. Eagerly watching your progress. I’m waiting for my Z10 to arrive, we’re upgrading from a Breville Dual Boiler machine - I had a basic bit of automation with that using a Tasmota smart plug with power draw to read the state of the machine, I set a helper input to either off, warming or ready based on the power. To actually switch the device on and off I was about to do some sort of internal low voltage relay like you, but in the end I just stuck a SwitchBot which actuates the physical power switch. That integrates super nicely with HA via a bluetooth dongle. Tied it all together with a Mushroom template button that kicks off the switch then shows the state, and I push a notification to my watch when it’s heated.
I can fully appreciate the desire to go internal relay but I have to say the SwitchBot whilst less elegant has “just worked”.
Also have a Jura cup warmer on the way, my plan is put another SwitchBot on that and get it going half an hour before I typically want a coffee as don’t like the idea of running a 60W heater 24/7.
But VERY interested to see if there’s a way of bypassing the Joe app which looks pretty rubbish and be able to fire off orders direct from HA.
The dream would obviously be to have a milk based coffee just sitting waiting for me when I wake up, but by the sounds of it it’s impossible to dodge the various rinse cycles on power up so hard to imagine you could just leave a cup under the machine before you go to bed and automate the rest.
I suppose at the very least we could make an iOS automation that fires when the Joe app is launched that runs a HA script to check if the Z10 is on, and if not, fires the relay/SwitchBot. Reading around it seems like the Joe app alone isn’t capable of bringing the machine out of standby.
Our Z10 arrived; sadly the SwitchBot motor isn’t strong enough to fully depress the Z10 power switch so your internal relay option looks like the best way to handle remote start.
I went to add the second relay yesterday. I’m not sure why, but the relay I put on the 5V circuit was no longer causing the circuit to ground out (which is what the button does to signal on/off).
On the upside, with the realization that the main relay de-energizes after a period of time anyways, I ended up only replacing the 120V switch (black switch) with the Shelly. It’s working flawlessly so far. The downside is that this only gives you “turn on” capabilities from HA, but I suspect that will fit the bill for most cases.
Did I understand correctly that the new model of the coffee machine has updated the protocol? Did you manage to decrypt the protocol? It’s interesting to watch your topic. It will be great if you manage to reverse engineer this model of coffee machine.
Definitely not …I just managed to decrypt the “app to dongle” IP connectivity (which includes some traffic to the Jura cloud service), but there’s still the higher level obfuscation/encryption being used. I haven’t done much past that.
If I do, that would definitely be a surprise to me . I’ve been in PC/server/network engineering/network security roles my entire working career, but never dabbled in device firmware coding or anything of the sort. I would not hold your breath .
If you have patience, perseverance and a strong desire, you can achieve results, and then maybe they will help you. I also started with difficulty and then, when I deciphered almost everything, there was a person who helped me with the code and wrote the complete control of the coffee machine. I’m still grateful to him for that. It’s just a gift of fate. Automatic control of the coffee machine is cool. Getting up in the morning, hot coffee is waiting for you and you do not need to stand and wait for the coffee machine to make coffee. I wish you good luck and success and will follow your topic.
Just for reference, maybe this will be useful to someone. Not long ago there was an integration for controlling a Jura coffee machine via bluetooth. Read all the details here