Jura ESPHome component and reverse engineering of Impressa X9

Jura ESPHome component and reverse engineering of Impressa X9

I've followed in the footsteps of giants, porting the cmd2jura into an ESPHome component. I have then almost fully reverse engineered my Jura machine. I used ESPHome to create automations to step through the menu, make changes, dump and compare to baselines of EEPROM and RAM. From the results, I was able to create closed loop automations for my Impressa X9.
I am able to:
- read/re-write the brew counters
- re-map the buttons to different products and add new products
- dedicated decaf product buttons
- double brew of milk based beverages
- edit the recipes and preferences
- change the power on/power off schedules
- change auto power down timers.
- know which lights are on/flashing
- know when beans are out, water is low, trays are removed

all in home assistant - and also of course I can brew coffees and power on/off with a voice assistant.

There is even an EEPROM/RAM explorer web interface that documents/decodes the regions of RAM/EEPROM I've figured out which allows sending the UART commands directly.

I would like to support other machines - alas I don't have other machines or the time. This hyperfocus is also waning. The integration does everything I need at this point.

https://preview.redd.it/2fu6o8wernuh1.png?width=829&format=png&auto=webp&s=5ba95f349b000060dcee6a870b470b2211adcc2d

Here is the github repository
https://github.com/jaymemaurice/jura-esphome

https://preview.redd.it/y1en2clwrnuh1.png?width=999&format=png&auto=webp&s=2b85f5648ef2b9e1aeeb7d77250413cd548fc3df

https://preview.redd.it/qdx6mgj0snuh1.png?width=1004&format=png&auto=webp&s=e04b112062b58303bbfba85f5dca12d2ca34a46f

https://preview.redd.it/ifbk9tc5snuh1.png?width=1006&format=png&auto=webp&s=f5e9c27b8226a5173fb456072052c5ebff759a7f

reddit.com
u/jaymemaurice — 5 days ago

Trouble with hardware vendors?

I’m trying to get a better picture of how well EVSE manufacturers actually support their hardware in Canada after the sale—particularly when the problem involves firmware, configuration, cloud services, OCPP, replacement parts, or engineering-level technical support.

This came up because I’m currently dealing with an Autel MaxiCharger that appears to have a firmware/control issue. I’ve been able to gather fairly detailed diagnostics, and Autel initially escalated the issue to L2 support. After learning that I acquired the charger second-hand, however, their response shifted to warranty eligibility rather than answering the technical questions I was asking.

I’m not trying to turn this into an Autel-only thread, though. I’d like to understand whether this is common across the Canadian EV charging industry.

If you own, operate, install or service EV chargers in Canada, I’d be interested in hearing about your experience with manufacturers such as Autel, FLO, Grizzl-E/United Chargers, ChargePoint, Wallbox, Emporia, ABB, SWTCH-supported equipment, Tesla, Eaton, Siemens, EVBox, Webasto, Bosch, or others.

Useful details would include:

-Manufacturer and model

-Residential or commercial installation

-Approximate age of the equipment

-Whether you were the original purchaser

-Whether it was privately purchased or installed through a rebate/grant/incentive program

-What failed or what assistance you needed

-Whether first-line support could actually troubleshoot the problem

-Whether you were able to reach engineering/L2 support

-Availability of firmware updates or firmware recovery

-Availability of replacement parts

-Whether the charger could be locally configured without the manufacturer's cloud

-OCPP interoperability/support, if applicable

-Whether support continued after the warranty expired

-Whether support continued after ownership of the charger changed

-How long resolution took

-Whether the manufacturer ultimately fixed the problem, replaced the charger, or left it unresolved

Positive experiences are just as useful as negative ones.

I’m particularly interested in cases involving infrastructure that received Canadian public funding or incentives. Canada has spent substantial public money encouraging EV charging deployment, and I’m looking into whether those programs adequately consider the long-term supportability and service life of the equipment, rather than simply whether a charger gets installed.

I may use the overall findings to support questions or submissions to Canadian government agencies about EVSE lifecycle requirements, repairability, firmware support and manufacturer accountability.

If you’re comfortable with your experience being quoted later, please say so. Otherwise I’ll treat comments as background only. Please don’t post serial numbers, addresses, account information, API credentials, or anything else personally identifying.

I’d especially like to hear from installers and commercial charging-site operators who have had to support multiple brands over several years. Which manufacturers are still responsive once the installation is complete—and which ones become difficult to work with?

reddit.com
u/jaymemaurice — 16 days ago
▲ 23 r/Esphome

Jura coffee machine as component

A while ago, I got my jura impressa x9 working by glueing some cmd2jura c code into Esphome and connecting an esp8266 onto the uart. It worked and I left it alone. I could power on the coffee maker and make basic products by Alexa. I couldn’t tell if the coffee maker actually responded to any of my commands as the machine was not fully reverse engineered. One day Esphome deprecated the way I was including my code suggesting I would have to use a new plugin/component format. I’m an integrator, not a programmer. I decided to work with ChatGPT to help me rewrite cmd2jura into an Esphome component and spend some time fully reverse engineering my machines EEPROM and some RAM locations that represent some machine state. I can now select a grinder and know that even if someone pressed the grinder button on the machine, the correct grinder will be selected. I can now batch brew any number of products. Most importantly, I know the machine’s power state deterministically. I plan to release this to my github soon.

u/jaymemaurice — 1 month ago

Answering the important solar questions

Ever want to watch a graph climb slowly? I created a dashboard that tracks the net metering payback including: calculating the net metering under the different options, calculating based on the commodity rate with delivery on import but without delivery on export, subtracting expired credits etc.
Might put it on github later.

u/jaymemaurice — 2 months ago

Wife considered donating

She bought this over 20 years ago in Latvia and it's in near perfect condition. It's just not her style anymore 😭

I've convinced her to at least try selling it on local classifieds.

u/jaymemaurice — 4 months ago