-
-
Notifications
You must be signed in to change notification settings - Fork 0
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.
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.
- Jura coffee machine (tested with Jura Impressa F7 2016)
- ESP8266 (e.g., Wemos D1 Mini)
- UART connectivity
-
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
- Real-time monitoring of coffee counters (e.g., espresso, ristretto).
- Text sensors for tray and water tank status.
- Full integration with Home Assistant.
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 |
Sensor ID | Description |
---|---|
num_single_espresso |
Counts single espresso servings |
num_clean |
Counts cleanings performed |
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.
-
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.
You can modify the fetchData
and processEEPROMData
methods to add new functionalities.
-
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
Enable debug logs in logger
:
logger:
level: DEBUG
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.