После выхода статьи «Погодозависимая автоматика для газового котла своими руками. Технологии умного дома.» часто получаю вопросы по поводу интеграции WDA Sensor. Возникает непонимание по поводу практики применения. В данном материале попробую подробно рассказать как настраивать и использовать данную интеграцию.
Сама интеграция очень простая. На основе параметров указанных пользователем, она рассчитывает целевую температуру теплоносителя и предоставляет её в виде сенсора с числовыми показаниями. Самые важные параметры, которые влияют на расчёт, — это номер кривой (от 1 до 200) и сенсор, предоставляющий показания уличной температуры. Это может быть как ваш собственный датчик, так и показания погодного сервиса.
Показания WDA Sensor могут быть использованы для периодической записи в настройки вашего отопительного оборудования (газового или электрического котла). Записывать можно как по событию изменения значения, так и с определённой периодичностью (об этом далее). Возможность записи в произвольное оборудование, конечно же, не поддерживается; этот функционал должен предоставляться другими интеграциями, которые реализуют управление конкретно вашим котлом.
В текущей версии v1.1.0 интеграция предоставляет три сенсора:
Целевая температура теплоносителя
Целевая температура теплоносителя (периодический)
Данные для построения кривой
Далее я опишу все параметры, которые можно настроить:
Название — произвольное название группы сенсоров
Минимальная и максимальная температура теплоносителя — эти параметры нужно устанавливать в соответствии с диапазоном указанным в паспорте вашего котла.
Целевая температура в помещении — укажите ту температуру, которую вы хотите поддерживать в помещении. Напрямую связан с параметрами "Внутренняя температура" и "Коэффициент коррекции по внутренней температуре".
Номер отопительной кривой — от 1 до 200, чем выше значение тем более агрессивное регулирование будет применяться. Подбирается индивидуально опытным путём. Графики привёл ниже.
Интервал обновления — как часто будут рассчитываться показания сенсора. Применяется только для сенсора "Целевая температура теплоносителя (периодический)". Чуть ниже будут подробности.
Наружная температура — здесь необходимо из списка выбрать сенсор, который предоставляет температуру на улице.
Внутренняя температура (опционально) — здесь необходимо из списка выбрать сенсор, который предоставляет температуру внутри помещения. Если параметр будет заполнен, то будет производиться корректировка по внутренней температуре, по следующему правилу: на каждый 1°C разницы между желаемой (п.3) и фактической температурой в помещении (п.7) целевая температура теплоносителя корректируется на ±2°C (по умолчанию). Умолчание можно корректировать, изменяя параметр "Коэффициент коррекции по внутренней температуре".
Скорость ветра (опционально) — здесь необходимо из списка выбрать сенсор, который предоставляет скорость ветра. Если параметр будет заполнен, то будет производиться корректировка по скорости ветра, по следующему правилу: на каждые 5 м/с скорости ветра целевая температура теплоносителя увеличивается на 1°C (по умолчанию). Умолчание можно корректировать, изменяя параметр "Коэффициент коррекции по скорости ветра". Откуда берется 1°C, если в коэффициенте значение 0.2? Из только что описанного правила: 5 * 0.2 = 1. Так работают все коэффициенты.
Влажность снаружи (опционально) — здесь необходимо из списка выбрать сенсор, который предоставляет влажность воздуха на улице. Если параметр будет заполнен, то будет производиться корректировка по влажности, по следующему правилу: на каждые 10% влажности свыше 50% целевая температура теплоносителя увеличивается на 0.5°C (по умолчанию). Умолчание можно корректировать, изменяя параметр "Коэффициент коррекции по влажности".
Коэффициент коррекции по внутренней температуре — диапазон от 0 до 10, по умолчанию 2.
Коэффициент коррекции по скорости ветра — диапазон от 0 до 1, по умолчанию 0.2.
Коэффициент коррекции по влажности — диапазон от 0 до 0.4, по умолчанию 0.05.
Минимальная (по умолчанию 1.2) и максимальная экспонента (по умолчанию 2.2) — определяет форму кривой, вначале более резкий рост, в конце более плавный. Чем меньше минимальное значение, тем более агрессивный рост в начале и чем больше максимальное, тем более плавный рост в конце. Имеет смысл менять, если не удалось подобрать кривую с параметрами по умолчанию.
Диапазон для обоих параметров 0 - 4
Отопительные кривые
Для параметров минимальной и максимальной экспоненты по умолчанию (1.2 - 2.2):

Описание сенсоров
Целевая температура теплоносителя
Предоставляет рассчитанную целевую температуру теплоносителя. Обновляется немедленно, как только изменились показания любого из сенсоров, указанных в настройках. Например, при изменении показаний температуры на улице немедленно изменяются показания и этого сенсора.
Целевая температура теплоносителя (периодический)
Также предоставляет рассчитанную целевую температуру теплоносителя, но обновляется с указанной периодичностью. См. описание параметра "Интервал обновления".
Данный сенсор появился в версии v1.1.0. Применять целесообразно для котлов или адаптеров, которые записывают переданную им температуру в ПЗУ. Как известно ПЗУ обычно имеет фиксированное количество циклов записи-перезаписи.
Представим, что у нас есть датчик внутренней температуры, который передаёт показания каждые 10 секунд, с точностью до двух знаков. Практически каждую передачу значение будет отличаться во втором, а иногда и в первом знаке. Соответственно, сенсор "Целевая температура теплоносителя" тоже будет пересчитывать своё значение, и если автоматизация будет построена на событии изменения этого сенсора, то запись температуры в котёл будет производиться очень часто, что приведёт к износу ПЗУ и выходу его из строя. Периодический сенсор решает данную проблему.
Данные для построения кривой
В качестве значения имеет номер кривой, а также дополнительные атрибуты, которые позволят вывести график кривой на дашборт.
Содержит три дополнительных атрибута:
heating_curve — номер кривой
graph_data_map — значения для графика кривой (в виде карты) в диапазоне от 20 до -25 градусов по уличной температуре (ключ - наружная температура, значение - температура теплоносителя)
graph_data_items — тоже самое, что и graph_data_map, но в виде массива кортежей
Вот как я строю этот график кривой с использованием интеграции apexcharts-card (доступна в HomeAssistant Community Store, далее HACS). Добавляем карточку apexcharts-card на дашборт и указываем yaml в качестве настроек:
type: custom:apexcharts-card
chart_type: line
header:
show: true
title: Отопительная кривая (ТД-11)
series:
- entity: sensor.wda_by_td11_graph
type: line
color: "#0AF"
data_generator: |
const points = Object.entries(entity.attributes.graph_data_map)
.sort(([a], [b]) => parseFloat(a) - parseFloat(b))
.map(([x, y]) => ({x: `${x}`, y: y}));
console.log(points);
return points;
apex_config:
xaxis:
type: numeric
tickAmount: 8
title:
text: Температура снаружи (°C)
labels:
rotate: -90
style:
fontSize: 10px
yaxis:
tickAmount: 8
title:
text: Температура теплоносителя (°C)
tooltip:
x:
formatter: function(value) { return value; }
stroke:
width: 2
Где, sensor.wda_by_td11_graph - это ID этого сенсора.

На выходе получается такой график:

Как установить
Установить можно через HACS. В поиске вбейте "wda", далее провалитесь внутрь и нажмите "Скачать".


После чего нужно перейти в раздел "Настройки", выполнить рестарт. Затем перейти в "Устройства и службы" и нажать "Добавить интеграцию". Вбейте в поиске "wda" и выберите найденную запись. После этого запустится диалог настройки.


Как установить сам HACS подробно описано на официальном сайте.
Сценарий использования совместно с интеграцией для вашего котла
В качестве примера покажу сценарий ПЗА совместно с интеграцией ectoControl Adapter, которая обеспечивает поддержку моего котла.
Для настройки сценария ПЗА нужно перейти в раздел "Настройки -> Автоматизации и сцены", нажать "Создать автоматизацию", далее выбрать "Создать новую автоматизацию".
Нажать "Добавить триггер" и в качестве триггера выбрать "Объект -> Состояние". В качестве объекта выбрать сенсор "Целевая Т. теплоносителя" или "Целевая Т. теплоносителя (периодический)" (см. описание выше).
Нажать "Добавить действие", выбрать "Число -> Установить значение", далее нажать "+ Выбрать объект", в качестве объекта выбрать Целевая Т. теплоносителя, предоставляемого интеграцией ectoControl Adapter (пусть вас не смущает одинаковое название, просто в этой интеграции объект называется так же). В качестве значения указать
{{ states('sensor.wda_by_td11') | int }}, где sensor.wda_by_td11 — идентификатор вашего WDA сенсора.Нажать "Сохранить". Ваш сценарий ПЗА готов.


В качестве заключения
Надеюсь, рассказал достаточно подробно. Вопросы, отзывы и критика приветствуются.
P.S.: Упомянутая интеграция ectoControl Adapter поддерживает достаточно большой перечень газовых котлов. Сами адаптеры в свободной продаже на сайте производителя. Интеграцию разработал совсем недавно, в HACS её еще пока нет. Для тех кто уже глубоко в теме, проблем с установкой не будет (в меню HACS через "Пользовательские репозитории"). В ближайшее время выйдет материал и по этой интеграции тоже.
P.S.S.: В README репозитория HA Brands есть такой текст:

Возможно, среди сообщества есть специалисты по авторскому праву. Насколько данный текст отражает реалии правоприменения в РФ?
Дело в том, что для включения интеграции в HACS предварительно должны быть загружены и приняты брендирующие изображения. Принимаются только оригинальные бренды. В этом есть логика, это сделано для того, чтобы не вводить в заблуждение пользователей. Соответственно, для интеграции ectoControl Adapter, должны быть загружены оригинальные логотипы производителя.
Комментарии (6)

dsprts
02.12.2025 12:27Для умного термостата туя подойдёт сценарий? Заказал один на радиатор взамен обычному механическому

sokoloid Автор
02.12.2025 12:27Для одного радиатора/конвектора не подойдёт. Это работает для единственного отопителя/котла, который работает на весь дом/квартиру. При этом, работа ПЗА не исключает установку термостатов на радиаторы или тёплый пол для локального регулирования.
Kitsok
Не понимаю, для чего нужна внешняя температура, ветер, влажность,...., когда есть ПИД?
AlexHighTower
расскажите, пожалуйста, как использовать пид в связки с газовым котлом управляемым по opentherm
по сути я котлу могу выставить только температуру теплоносителя (сейчас)
использую https://github.com/ScratMan/HASmartThermostat у него по сути только из выходов on/off обогрева и control_output который % воздействия регулятора, который вроде как положения заслонки нужен, но к газовому котлу не прикрутить...
sokoloid Автор
HASmartThermostat реализует логику обычного комнатного термостата. Считай это один из вариантов ПИД - релейное управление по ON/OFF. В длительные периоды OFF, от окон будет веять холодом. Если жилье теплоемкое, то такие периоды точно будут, т.к. понижение на 0.5 градуса может длиться 1-2 часа. Это все субъективно, кому-то пофиг и на разницу в 3-4 градуса, а кто-то уже и 0.5 чувствует.
sokoloid Автор
Регулировать можно только температуру теплоносителя. У обычных котлов диапазон модуляции горелки не сильно большой. Если бы можно было напрямую управлять модуляцией газовой горелки в широком диапазоне, как у конденсационных котлов, то ПИД был бы очень эффективным.
С ectoControl Adapter можно использовать и ПИД для котлов с OpenTherm, которые поддерживают управление модуляцией горелки, но нужно учитывать следующий факт:
Часто изменять модуляцию, это убить ПЗУ адаптера! Редко изменять, ухудшить качество регулирования. Было бы удобно иметь 2 параметра, один с записью в ПЗУ, другой без, но это вопрос к производителю. Пока у них так.