Controlling a Jura coffee machine with ESPHome using the service port

Disclosure: This post contains affiliate links. If you click through and make a purchase, I will earn a commission, at no additional cost to you. Read my full disclosure here.

An illustration of a high-tech coffee machine in a modern kitchen.

Picture this: you wake up to a cosy, simulated sunrise courtesy of your connected lightbulbs. As you stumble out of bed and into the kitchen, you're greeted by the delightful aroma of freshly brewed coffee. Your Jura coffee machine has already been turned on, heated up, and is ready to pour you a cup of the good stuff – all thanks to an ESPHome node hooked up to its service port!

No challenge is too big for hardware hackers

Unfortunately, Jura coffee machines don’t integrate directly with Home Assistant. But they do have a service port that hackers have been able to use with microcontrollers such as the Wi-Fi enabled ESP8266 and ESP32. GitHub-user ryanalden has made their ESPHome code and wiring schematics for the Jura Impressa J6 publicly available.

Another project, which does the same for a Jura Impressa S95, has also been shared in the Home Assistant community. It has however not been converted to work with ESPHome yet.

How to make a dumb Jura coffee machine smart

The Jura machine service port is a versatile connection intended for use by the manufacturer. It can be used to read and analyse data such as how many cups have been made, or to power on the machine and start the coffee-making process. It is designed for professional use, not for consumers.

The service port on a Jura coffee machine which can be accessed using ESPHome

However, with a few simple modifications, consumers can also take advantage of this port. By connecting a few jumper wires to the service port and adding a logic level converter (since the Jura Impressa J6 uses 5V signals, while ESP8266 requires 3.3V signals), you can easily use this service port in your ESPHome project without voiding your warranty. This opens up exciting possibilities, allowing you to control your coffee machine without having to modify it in any way!

esphome-jura-coffee-machine-03
On the Jura Impressa J6, the service port has seven pins, four of which have to be wired up to the ESP8266. As the service port uses 5V signals and the ESP8266 uses 3.3V signals, you will have to place a logic level converter between the two.

How the ESPHome code for the Jura coffee machine works

Controlling a Jura coffee machine in Home Assistant

The ESPHome YAML file includes a header file (jura_coffee.h) which will also have to be downloaded into your ESPHome directory for everything to work. The contents of that file will read the status of the coffee machine's sensors. The ESPHome script gives you three switches (turn on/off, make coffee, and make hot water) and seven sensors:

  • Single espressos made
  • Double espressos made
  • Coffees made
  • Double coffees made
  • Cleanings performed
  • Tray status
  • Water tank status

There are a few sensors which haven't been implemented yet (fill beans, need cleaning, and need flushing). These could be added by someone who knows how to code. There is also no guarantee, that what is given will work with your Jura Impress J6. The code in the GitHub repository was tested with the Impressa J6 software TY: PIM V01.01, TL: LOADER V3.0.

Making any Jura coffee machine smart

The commands for Jura coffee machines may vary between models. The code given might work with your machine, even if it isn't an Impressa J6, but it is unlikely to be successful. If you are familiar with programming, the creator of the code has provided a Python script that can be used to generate commands for other machines.

A portrait photo oif Liam Alexander Colman, the author, creator, and owner of Home Assistant Guide wearing a suit.

About Liam Alexander Colman

is an experienced Home Assistant user who has been utilizing the platform for a variety of projects over an extended period. His journey began with a Raspberry Pi, which quickly grew to three Raspberry Pis and eventually a full-fledged server. Liam's current operating system of choice is Unraid, with Home Assistant comfortably running in a Docker container.
With a deep understanding of the intricacies of Home Assistant, Liam has an impressive setup, consisting of various Zigbee devices, and seamless integrations with existing products such as his Android TV box. For those interested in learning more about Liam's experience with Home Assistant, he shares his insights on how he first started using the platform and his subsequent journey.

Leave a comment

Share to...