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"; }