Hello together,
i have tried everythin what i can do, and for me it is not possible to connect to my Jura E8 (EB)
Normaly it is very easy installation when i see the pictures. I use an Wemos D1 mini and use external power. I have only soldered 3 wires, GND, D1 and D2. and use this esphome yaml.
Can anyone help me.
substitutions:
devicename: jura-e8
friendly_name: Jura E8
device_description: Jura Kaffeemaschine in der Küche
esphome:
name: $devicename
comment: ${device_description}
platform: ESP8266
board: d1_mini
platformio_options:
upload_speed: 115200
includes:
- jura_coffee.h
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: “${friendly_name} Fallback AP"
password: xxxxxxxxxxxxxxxxxxxx
captive_portal:
logger:
level: DEBUG
# Enable Home Assistant API
api:
encryption:
key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
ota:
password: "xxxxxxxxxxxxxxxxxxxxxxxxxx"
uart:
tx_pin: D1
rx_pin: D2
baud_rate: 9600
id: uart_bus
# UART bytes below have been generated with generate_esphome_jura_yaml.py
# Tested with a Jura Impressa J6
switch:
- platform: template
name: 'Kaffeemaschine'
icon: "mdi:coffee-maker"
id: jura_on_off_switch
turn_on_action:
- uart.write: [0xDF, 0xDB, 0xDB, 0xDF] ## 'A'
- delay: 8ms
- uart.write: [0xFB, 0xFF, 0xDB, 0xDF] ## 'N'
- delay: 8ms
- uart.write: [0xFB, 0xFB, 0xFF, 0xDB] ## ':'
- delay: 8ms
- uart.write: [0xDB, 0xDB, 0xFF, 0xDB] ## '0'
- delay: 8ms
- uart.write: [0xDF, 0xDB, 0xFF, 0xDB] ## '1'
- delay: 8ms
- uart.write: [0xDF, 0xFF, 0xDB, 0xDB] ## '\r'
- delay: 8ms
- uart.write: [0xFB, 0xFB, 0xDB, 0xDB] ## '\n'
turn_off_action:
- uart.write: [0xDF, 0xDB, 0xDB, 0xDF] ## 'A'
- delay: 8ms
- uart.write: [0xFB, 0xFF, 0xDB, 0xDF] ## 'N'
- delay: 8ms
- uart.write: [0xFB, 0xFB, 0xFF, 0xDB] ## ':'
- delay: 8ms
- uart.write: [0xDB, 0xDB, 0xFF, 0xDB] ## '0'
- delay: 8ms
- uart.write: [0xFB, 0xDB, 0xFF, 0xDB] ## '2'
- delay: 8ms
- uart.write: [0xDF, 0xFF, 0xDB, 0xDB] ## '\r'
- delay: 8ms
- uart.write: [0xFB, 0xFB, 0xDB, 0xDB] ## '\n'
optimistic: true
assumed_state: true
- platform: template
name: 'Heißes Wasser ausgeben'
icon: "mdi:cup-water"
id: jura_make_hot_water
turn_on_action:
- uart.write: [0xFB, 0xDF, 0xDB, 0xDF] ## 'F'
- delay: 8ms
- uart.write: [0xDF, 0xDB, 0xDB, 0xDF] ## 'A'
- delay: 8ms
- uart.write: [0xFB, 0xFB, 0xFF, 0xDB] ## ':'
- delay: 8ms
- uart.write: [0xDB, 0xDB, 0xFF, 0xDB] ## '0'
- delay: 8ms
- uart.write: [0xFB, 0xDF, 0xFF, 0xDB] ## '6'
- delay: 8ms
- uart.write: [0xDF, 0xFF, 0xDB, 0xDB] ## '\r'
- delay: 8ms
- uart.write: [0xFB, 0xFB, 0xDB, 0xDB] ## '\n'
- platform: template
name: 'Kaffee machen'
icon: "mdi:coffee"
id: jura_make_coffee
turn_on_action:
- uart.write: [0xFB, 0xDF, 0xDB, 0xDF] ## 'F'
- delay: 8ms
- uart.write: [0xDF, 0xDB, 0xDB, 0xDF] ## 'A'
- delay: 8ms
- uart.write: [0xFB, 0xFB, 0xFF, 0xDB] ## ':'
- delay: 8ms
- uart.write: [0xDB, 0xDB, 0xFF, 0xDB] ## '0'
- delay: 8ms
- uart.write: [0xDF, 0xFB, 0xFF, 0xDB] ## '9'
- delay: 8ms
- uart.write: [0xDF, 0xFF, 0xDB, 0xDB] ## '\r'
- delay: 8ms
- uart.write: [0xFB, 0xFB, 0xDB, 0xDB] ## '\n'
sensor:
- platform: uptime
name: "${friendly_name} Uptime"
- platform: wifi_signal
name: "${friendly_name} WiFi Signal"
update_interval: 60s
- platform: template
id: num_single_espresso
name: "Espresso zähler"
accuracy_decimals: 0
lambda: "return {};"
- platform: template
id: num_double_espresso
name: "Doppelter Espresso zähler"
accuracy_decimals: 0
lambda: "return {};"
- platform: template
id: num_coffee
name: "Kaffee zähler"
accuracy_decimals: 0
lambda: "return {};"
- platform: template
id: num_double_coffee
name: "Doppelter Kaffee zähler"
accuracy_decimals: 0
lambda: "return {};"
- platform: template
id: num_clean
name: "Reinigungsvorgänge"
accuracy_decimals: 0
lambda: "return {};"
text_sensor:
- platform: version
name: "${friendly_name} ESPHome version"
- platform: template
id: tray_status
name: "Kaffeesatzbehälter"
lambda: "return {};"
- platform: template
id: tank_status
name: "Wassertank Status"
lambda: "return {};"
binary_sensor:
- platform: status
name: "${friendly_name} Status"
# Custom component to poll coffee machine counters & status
custom_component:
- lambda: |-
auto my_jura = new JuraCoffee(id(uart_bus),id(num_single_espresso),id(num_double_espresso),id(num_coffee),id(num_double_coffee),id(num_clean),id(tray_status),id(tank_status));
App.register_component(my_jura);
return {my_jura};