Hello everyone, i’m using two esphome thermostats on a nodemcu v3 (esp8266) to control a central heating system. The system works like this:
The wood burner has a boiler and when the water reaches a temperature (in my case 57-60C) a pump must start to circulate the hot water into a bigger tank. For this i use one thermostat with a DS18B20 sensor. When the water in the bigger tank reaches 45C, it starts another pump, which circulates the water into the underfloor pipes. The second pump works with a second thermostat from the same nodemcu, with a second DS18B20 sensor. Everything works great, but i have a big fat concern, the power off button of the thermostat, if by accident someone turns off the thermostat, there is a risk that the water will reach very high temperatures. There are safety pressure release valves installed, but i would like to avoid that scenario.
Is there a way to have the thermostat always on?
My current code is this (there are two supplementary switches, ignore them):
esphome:
name: controller-centrala-caldura
esp8266:
board: nodemcuv2
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
password: "mypass"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
i2c:
sda: GPIO4
scl: GPIO5
display:
- platform: lcd_pcf8574
dimensions: 16x2
address: 0x3F
lambda: |-
it.printf(0, 0, "C:%.1f [%s]", id(senzor_t_cazan).state, id(action_cazan).state ? "ON" : "OFF");
it.printf(0, 1, "P:%.1f [%s]", id(senzor_t_puffer).state, id(action_puffer).state ? "ON" : "OFF");
dallas:
- pin: GPIO4
sensor:
- platform: dallas
address: 0xcd3c01d607a71c28
name: "Temperatura Cazan"
id: senzor_t_cazan
on_value_range:
- above: 70
then:
- switch.turn_on: action_cazan
- below: 50
then:
- switch.turn_off: action_cazan
- platform: dallas
address: 0x013c01d607f71f28
name: "Temperatura Puffer"
id: senzor_t_puffer
on_value_range:
- above: 60
then:
- switch.turn_on: action_puffer
- below: 30
then:
- switch.turn_off: action_puffer
switch:
- platform: gpio
pin: GPIO12
#D6
inverted: true
name: "Hidrofor"
id: action_hidrofor
- platform: gpio
pin: GPIO13
#D7
inverted: true
name: "Boiler"
id: action_boiler
- platform: gpio
pin: GPIO14
#D5
inverted: true
name: "Pompa Cazan"
id: action_cazan
internal: true
- platform: gpio
pin: GPIO2
#D8
inverted: true
name: "Pompa Puffer"
id: action_puffer
internal: true
climate:
- platform: thermostat
name: "Termostat Cazan"
sensor: senzor_t_cazan
default_target_temperature_high: 57 °C
min_cooling_off_time: 15s
min_cooling_run_time: 15s
min_idle_time: 15s
default_mode: cool
cool_action:
- switch.turn_on: action_cazan
idle_action:
- switch.turn_off: action_cazan
visual:
min_temperature: 50
max_temperature: 70
temperature_step: 0.5
preset:
# Standard Preset
- name: home
default_target_temperature_high: 57
mode: cool
- name: away
default_target_temperature_high: 57
mode: cool
- platform: thermostat
name: "Termostat Puffer"
sensor: senzor_t_puffer
default_target_temperature_high: 45 °C
min_cooling_off_time: 15s
min_cooling_run_time: 15s
min_idle_time: 15s
default_mode: cool
cool_action:
- switch.turn_on: action_puffer
idle_action:
- switch.turn_off: action_puffer
visual:
min_temperature: 30
max_temperature: 55
temperature_step: 0.5
preset:
# Standard Preset
- name: home
default_target_temperature_high: 45
mode: cool
- name: away
default_target_temperature_high: 55
mode: cool
Thank you very much!