firecrest/firmware/components/climate.yaml

55 lines
1.7 KiB
YAML

climate:
- platform: thermostat
name: "Thermostat"
id: main_thermostat
sensor: bme280_temperature
min_idle_time: 30s
min_heating_off_time: 300s
min_heating_run_time: 300s
min_cooling_off_time: 300s
min_cooling_run_time: 300s
heat_deadband: 0.5
cool_deadband: 0.5
default_preset: home
preset:
- name: home
default_target_temperature_low: 20 °C
default_target_temperature_high: 24 °C
- name: away
default_target_temperature_low: 16 °C
default_target_temperature_high: 28 °C
heat_action:
- switch.turn_on: relay_fan
- switch.turn_on: relay_heat1
heat_mode:
- switch.turn_off: relay_cool1
- switch.turn_off: relay_cool2
cool_action:
- switch.turn_on: relay_fan
- switch.turn_on: relay_cool1
cool_mode:
- switch.turn_off: relay_heat1
- switch.turn_off: relay_heat2
idle_action:
- switch.turn_off: relay_fan
- switch.turn_off: relay_heat1
- switch.turn_off: relay_heat2
- switch.turn_off: relay_cool1
- switch.turn_off: relay_cool2
off_mode:
- switch.turn_off: relay_fan
- switch.turn_off: relay_heat1
- switch.turn_off: relay_heat2
- switch.turn_off: relay_cool1
- switch.turn_off: relay_cool2
on_state:
then:
- lvgl.label.update:
id: home_mode_label
text: !lambda |-
switch (id(main_thermostat).mode) {
case climate::CLIMATE_MODE_HEAT: return "Mode: Heat";
case climate::CLIMATE_MODE_COOL: return "Mode: Cool";
case climate::CLIMATE_MODE_OFF: return "Mode: Off";
default: return "Mode: Idle";
}