Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
- name: modbus_hub
type: rtuovertcp
host: 192.168.20.33
port: 502
sensors:
- name: HDG_Puffer1_oben_modbus
unit_of_measurement: °C
slave: 10
address: 210
input_type: input
- name: HDG_Puffer1_oben_mitte_modbus
unit_of_measurement: °C
slave: 10
address: 211
input_type: input
- name: HDG_Puffer1_mitte_modbus
unit_of_measurement: °C
slave: 10
address: 212
input_type: input
- name: HDG_Puffer1_unten_mitte_modbus
unit_of_measurement: °C
slave: 10
address: 213
input_type: input
Pymodbus: modbus_hub: Error: device: 10 address: 210 -> Modbus Error: [Connection] Not connected[AsyncModbusTcpClient 192.168.20.33:502
- name: modbushub
type: tcp
host: 192.168.30.115
port: 502
sensors:
- name: Kesselwarnungen_modbus
slave: 1
address: 10
input_type: holding
data_type: uint16
- name: Betriebsmeldung_Kessel_modbus
slave: 1
address: 30
input_type: holding
data_type: uint16
- name: Betriebsphase_Kessel_modbus
slave: 1
address: 71
input_type: holding
data_type: uint16
- name: Restsauerstoff_Kessel_modbus
unit_of_measurement: "%"
slave: 1
address: 91
input_type: holding
data_type: uint32
- name: Kesseltemperatur_modbus
unit_of_measurement: "°C"
slave: 1
address: 103
input_type: holding
data_type: uint16
- name: Puffer_1_oben_modbus
unit_of_measurement: "°C"
slave: 1
address: 210
input_type: holding
data_type: uint16
- name: Puffer_1_mitte_modbus
unit_of_measurement: "°C"
slave: 1
address: 212
input_type: holding
data_type: uint16
- name: Puffer_1_unten_modbus
unit_of_measurement: "°C"
slave: 1
address: 214
input_type: holding
data_type: uint16
- name: Puffer_2_oben_modbus
unit_of_measurement: "°C"
slave: 1
address: 235
input_type: holding
data_type: uint16
- name: Puffer_2_mitte_modbus
unit_of_measurement: "°C"
slave: 1
address: 237
input_type: holding
data_type: uint16
- name: Puffer_2_unten_modbus
unit_of_measurement: "°C"
slave: 1
address: 239
input_type: holding
data_type: uint16
- name: Oelbrenner_betrieb_modbus
slave: 1
address: 251
input_type: holding
data_type: uint16
- name: Heizkreis_Vorlauf_modbus
unit_of_measurement: "°C"
slave: 1
address: 286
input_type: holding
data_type: uint16
- name: Brauchwasser_temp_modbus
unit_of_measurement: "°C"
slave: 1
address: 485
input_type: holding
data_type: uint16
- name: Statuswort_484
slave: 1
address: 484
input_type: holding
data_type: uint16
esphome:
name: hdg_euro_30
esp32:
board: seeed_xiao_esp32c3
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
password: "xxx"
ota:
- platform: esphome
password: "xxx"
wifi:
networks:
- ssid: "xxx"
password: "xxx"
- ssid: xxx
password: xxx
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Hdg Euro 30 Fallback Hotspot"
password: "xxx"
captive_portal:
#Konfiguration für Modbus-UART
uart:
tx_pin: GPIO21
rx_pin: GPIO20
baud_rate: 19200
modbus:
id: modbus1
send_wait_time: 100ms
modbus_controller:
- id: modbus_device
address: 0x1
modbus_id: modbus1
update_interval: 60s
command_throttle: 50ms
setup_priority: -10
sensor:
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Puffer 1 oben"
register_type: holding
address: 210
unit_of_measurement: "°C"
value_type: S_WORD
device_class: temperature
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Puffer 1 mitte"
register_type: holding
address: 212
unit_of_measurement: "°C"
value_type: S_WORD
device_class: temperature
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Puffer 1 unten"
register_type: holding
address: 214
unit_of_measurement: "°C"
value_type: S_WORD
device_class: temperature
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Pufferladegrad 1"
register_type: holding
address: 215
unit_of_measurement: "%"
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Puffer 2 oben"
register_type: holding
address: 235
unit_of_measurement: "°C"
value_type: S_WORD
device_class: temperature
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Puffer 2 mitte"
register_type: holding
address: 237
unit_of_measurement: "°C"
value_type: S_WORD
device_class: temperature
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Puffer 2 unten"
register_type: holding
address: 239
unit_of_measurement: "°C"
value_type: S_WORD
device_class: temperature
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Kesselvorlauf"
register_type: holding
address: 103
unit_of_measurement: "°C"
value_type: S_WORD
device_class: temperature
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Kesselrucklauf"
register_type: holding
address: 105
unit_of_measurement: "°C"
value_type: S_WORD
device_class: temperature
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Abgastemperatur"
register_type: holding
address: 97
unit_of_measurement: "°C"
value_type: S_WORD
device_class: temperature
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Restsauerstoff"
icon: 'mdi:percent'
register_type: holding
address: 91
unit_of_measurement: "%"
value_type: S_WORD
accuracy_decimals: 1
filters:
multiply: 0.1
lambda: !lambda |-
if((x > 200.0)||(x < -200)){
return 200.0;
}
else{
return x;
}
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Betriebsphase"
register_type: holding
address: 71
unit_of_measurement: ""
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Wartungsmeldung"
register_type: holding
address: 20
unit_of_measurement: ""
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Restlaufzeit bis Wartung"
register_type: holding
address: 21
unit_of_measurement: "h"
value_type: S_WORD
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Freilufttemperatur"
register_type: holding
address: 40
unit_of_measurement: "°C"
value_type: S_WORD
device_class: temperature
state_class: measurement
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Heizkreis 1 Vorlauf"
register_type: holding
address: 286
unit_of_measurement: "°C"
value_type: S_WORD
device_class: temperature
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Heizkreis 2 Vorlauf"
register_type: holding
address: 311
unit_of_measurement: "°C"
value_type: S_WORD
device_class: temperature
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Brauchwasser oben"
register_type: holding
address: 485
unit_of_measurement: "°C"
value_type: S_WORD
device_class: temperature
binary_sensor:
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Heizkreispumpe 1"
register_type: holding
address: 284
bitmask: 0x2000
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Heizkreispumpe 2"
register_type: holding
address: 309
bitmask: 0x2000
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Netzpumpe"
register_type: holding
address: 434
bitmask: 0x2000
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Brauchwasserpumpe"
register_type: holding
address: 484
bitmask: 0x2000
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Kesselpumpe"
register_type: holding
address: 79
bitmask: 0x2000
- platform: modbus_controller
modbus_controller_id: modbus_device
name: "Restsauerstoff"
icon: 'mdi:percent'
register_type: holding
address: 91
unit_of_measurement: "%"
value_type: S_WORD
accuracy_decimals: 1
filters:
multiply: 0.1
lambda: !lambda |-
if((x > 200.0)||(x < -200)){
return 200.0;
}
else{
return x;
}
{{ [float(states('sensor.restsauerstoff')), 0.0] | max}}