This is another ESPHome implementation for OpenThermGateway based on @arthurrump's ESPHome OpenTherm and @ihormelnyk's OpenTherm Library
Communication is stable, values will be requested from boiler at initialization, and updated periodically if the thermostat doesn't request them. There is an override for room temperature setpoint, boiler should return it's target temperature but the thermostat will still show the previous temperature requested.
I'm using this hardware DIYLESS OpenTherm Gateway with a ESP32 (WROOM), but it should work with other hardwares.
My boiler is an Atlantic NAEMA 2 MICRO 25 with a Navilink 128 RADIO-CONNECT.
Add to external section this repo :
external_components:
- source: github://gduteil/OpenThermGateway
components: [ openthermgw ]
Alternately you can install the component manually :
external_components:
- source:
type: local
path: my_components
Change the pins to match your hardware
openthermgw:
pin_thermostat_in: 17
pin_thermostat_out: 18
pin_boiler_in: 13
pin_boiler_out: 27
ch_enable: true
dhw_enable: true
cooling_enable: false
otc_active: false
ch2_active: false
Change the pins and address to match your hardware (see https://esphome.io/components/sensor/dallas.html for information on getting the address)
dallas:
- pin: 16
sensor:
# OTGW Temperature sensor
- platform: dallas
address: 0x7dc76a750e64ff28
name: "T°C OTGW"
Example for binary sensors
binary_sensor:
- platform: openthermgw
flame_on:
name: "Flame"
Available binary sensors are :
Example for sensors
sensor:
- platform: openthermgw
t_roomset:
name: "Room setpoint"
Available sensors are :
Text sensors
time_date:
name: "Date"
dhw_present:
name: "DHW Present"
filters:
- substitute:
- "OFF -> Not present"
- "ON -> Present"
control_type:
name: "Control type"
filters:
- substitute:
- "OFF -> Modulating"
- "ON -> On/Off"
cooling_supported:
name: "Cooling Supported"
filters:
- substitute:
- "OFF -> No"
- "ON -> Yes"
dhw_config:
name: "DHW Config"
filters:
- substitute:
- "OFF -> Instantaneous"
- "ON -> Storage tank"
lowoff_pumpcontrol_allowed:
name: "Pump Control"
filters:
- substitute:
- "OFF -> Allowed"
- "ON -> Not allowed"
ch2_present:
name: "CH2"
filters:
- substitute:
- "OFF -> Not present"
- "ON -> Present"
switch:
- platform: openthermgw
ch_enable:
name: "Heater"
dhw_enable:
name: "DHW"
cooling_enable:
name: "Cooling"
otc_active:
name: "OTC"
ch2_active:
name: "CH2"
Number is used for overrides, setting '0' will disable the override.
number:
- platform: openthermgw
t_roomset_override:
name: "Temperature Override"