В моей квартире установлен газовый котёл индивидуального автономного отопления. Это очень удобно с точки зрения управления климатом и контролем потребления ресурсов. Я могу греть квартиру так, как хочу и тогда, когда хочу. Отопительный сезон начинается и заканчивается тогда, когда я решу.
В одной из статей уже рассказывал, как сделал дешевый и функциональный термостат для такого газового котла.
Я несколько модернизировал его в итоге. В частности, у меня в квартире накопилось приличное количество датчиков и встал вопрос, по какому из этих датчиков сверять температуру, потому что показания различались. Решил, что хотел бы иметь возможность в интерфейсе выбирать необходимый датчик, для этого создал в начале выпадающий список температурных датчиков.
input_select:
target_temp:
name: "Целевая температура"
options:
- "Комната"
- "Кухня"
- "Ванная"
- "Коридор термостат"
- "Ванная термостат"
- "Среднее значение"
А далее создал виртуальных сенсор температуры на платформе шаблонов, который будет отображать температуру именно выбранного датчика из списка.
sensor:
- platform: template
sensors:
target_temperature_template:
friendly_name: Target temp
value_template: >-
{% if is_state('input_select.target_temp', 'Комната') %}
{{ states('sensor.0x00158d000408d1a1_temperature') }}
{% elif is_state('input_select.target_temp', 'Ванная') %}
{{ states('sensor.0x00158d000408d100_temperature') }}
{% elif is_state('input_select.target_temp', 'Кухня') %}
{{ states('sensor.gasboiler_kitchen_temp') }}
{% elif is_state('input_select.target_temp', 'Коридор термостат') %}
{{ states('sensor.thermostat_hall_temperature') }}
{% elif is_state('input_select.target_temp', 'Ванная термостат') %}
{{ states('sensor.thermostat_bath_temperature') }}
{% elif is_state('input_select.target_temp', 'Среднее значение') %}
{{ states('sensor.temperature_mean') }}
{% else %}
{{ states('sensor.temperature_mean') }}
{% endif %}
В качестве среднего значения я использовал сенсор на платформе min_max, в котором указал все сенсоры температуры.
sensor:
- platform: min_max
name: temperature_mean
type: mean
round_digits: 1
entity_ids:
- sensor.gasboiler_kitchen_temp
- sensor.0x00158d000408d1a1_temperature
- sensor.0x00158d000408d100_temperature
- sensor.thermostat_bath_temperature
- sensor.thermostat_hall_temperature
Далее я изменил термостат следующим образом, добавив туда именно виртуальный сенсор температуры, вместо реального.
climate:
# Термостат для управления котлом с выбором датчика из input select
- platform: generic_thermostat
name: Gasboiler
heater: switch.gas_boiler
target_sensor: sensor.target_temperature_template
target_temp: 24
away_temp: 19
min_temp: 15
max_temp: 28
ac_mode: false
cold_tolerance: 0.2
hot_tolerance: 0.1
min_cycle_duration:
minutes: 3
Для обображения термостата я использую карточку simple thermostat.
Так теперь все выглядит:
В результате мне подошло именно управление по средней температуре в квартире.
Подписывайтесь на мой канал и страницу в инстаграм @smart.home53, чтобы не пропустить новые статьи.
#умный дом #smart home #home assistant #отопление #климат #технологии #интернет вещей #умный термостат