I am trying to connect to a KWB Easyfire boiler. I have added a RS485 TTL board onto the ESP32 and use the yaml (relevant part below). (the ESP32 also has 2 dallas temp sensors to monitor boiler water pipe and buffer tank).
The 485 is connected to the boiler modbus via a twisted pair, with a 150ohm resistor (spec is 121 - this is the nearest I had to hand).
All other examples require the boiler rs485 to ethernet board which I don’t have.
have looked for sample ESPHome yaml for the KWB, but can’t find anything.
the yaml is:
uart:
id: modbus_uart
tx_pin: GPIO16
rx_pin: GPIO17
baud_rate: 9600
data_bits: 8
parity: NONE
stop_bits: 1
modbus:
uart_id: modbus_uart
id: modbus_client
modbus_controller:
id: modbus_device
modbus_id: modbus_client
address: 0x2 # assume the RCU on the front of the boiler is 1
update_interval: 60s
sensor:
- platform: modbus_controller
modbus_controller_id: modbus_device
name: Operating Hours
# # Betriebsstunden
# # 0x982
address: 2337
unit_of_measurement: "h"
state_class: measurement
value_type: U_WORD
register_type: read
I get a log message of
...
[14:42:40.266][I][safe_mode:042]: Boot seems successful; resetting boot loop counter
[14:42:40.267][D][esp32.preferences:149]: Writing 1 items: 0 cached, 1 written, 0 failed
[14:42:45.054][D][dallas.temp.sensor:054]: 'tank-t1': Got Temperature=63.6°C
[14:42:45.063][D][sensor:135]: 'tank-t1': Sending state 63.62500 °C with 1 decimals of accuracy
[14:42:45.093][D][dallas.temp.sensor:054]: 'boiler-pipe': Got Temperature=42.2°C
[14:42:45.123][D][sensor:135]: 'boiler-pipe': Sending state 42.25000 °C with 1 decimals of accuracy
[14:42:45.629][D][modbus_controller:039]: Modbus command to device=2 register=0x921 no response received - removed from send queue
I don’t know if I need to register this with the KWB system as an extra peripheral, or whether I just need a different controller address, or whether the KWB is non-standard and the modbus controller will never work. Has anyone else had any success with a RS485-TTL board on one of these boilers?