Home - alco28/Jura-F7-ESPHOME GitHub Wiki
home
Welcome to the Jura Coffee Machine Integration Wiki!
This repository provides tools and configurations to integrate Jura coffee machines, especially the Impreza F-series with ESPHome for smart home automation. By leveraging custom components and ESPHome YAML configurations, you can monitor and control your coffee machine seamlessly.
Quick setup links:
DISCLAIMER: By proceeding with the actions described below, you agree to assume full risk. The author of this documentation hereby expressly disclaims any liability for damage, loss of data, or other problems that may arise as a result of following these instructions. These actions may also void the product's manufacturer's warranty.
Setup Guide
Hardware Requirements
- Jura coffee machine (tested with Jura Impressa F7 2016)
- ESP8266 (e.g., Wemos D1 Mini)
- UART connectivity
Steps
-
Prepare the Hardware:
- Connect your Jura machine to the ESP8266 via UART,look at the Hardware installation page for more details
- Ensure GPIO pins
D1
andD2
are connected for TX and RX, respectively.
-
Install ESPHome:
- Install ESPHome on your microcontroller following ESPHome documentation.
-
Upload Configuration:
- Use the provided
jura-01.yaml
file to configure ESPHome. - Include
jura_coffee.h
as a custom component.
- Use the provided
Configuration Details
Key Features
- Real-time monitoring of coffee counters (e.g., espresso, ristretto).
- Text sensors for tray and water tank status.
- Full integration with Home Assistant.
Configuration Parameters
Substitutions
Parameter | Description | Example |
---|---|---|
devicename |
Device name for ESPHome | jura |
uart_tx_pin |
TX pin for UART communication | D1 |
uart_rx_pin |
RX pin for UART communication | D2 |
baud_rate |
UART baud rate | 9600 |
Sensors
Sensor ID | Description |
---|---|
num_single_espresso |
Counts single espresso servings |
num_clean |
Counts cleanings performed |
Custom Component
The custom component (jura_coffee.h
) handles UART communication with the Jura coffee machine, processes EEPROM and IC data, and publishes sensor states to ESPHome.
Key Methods
fetchData(command)
: Sends a command via UART and retrieves the response.processEEPROMData(data)
: Extracts sensor data from EEPROM response.processICData(data)
: Processes the tray and tank status.
Customization
You can modify the fetchData
and processEEPROMData
methods to add new functionalities.
Troubleshooting
Common Issues
-
No Data from Sensors:
- Check UART connections and ensure TX/RX pins are correctly configured.
- Verify the baud rate is set to
9600
.
-
Timeout Errors:
- Increase the timeout threshold in
fetchData
.
- Increase the timeout threshold in
Debugging
Enable debug logs in logger
:
logger:
level: DEBUG
Contributing
We welcome contributions to improve this project. Please follow the contribution guidelines to submit issues or pull requests.
Let me know if you'd like these pages in Markdown format or need further customization.