После выхода статьи "Погодозависимая автоматика для газового котла своими руками. Технологии умного дома." часто получаю вопросы по поводу интеграции WDA Sensor. Возникает непонимание по поводу практики применения. В данном материале попробую подробно рассказать как настраивать и использовать данную интеграцию.

Сама интеграция очень простая. На основе параметров указанных пользователем, она рассчитывает целевую температуру теплоносителя и предоставляет её в виде сенсора с числовыми показаниями. Самые важные параметры, которые влияют на расчёт, — это номер кривой (от 1 до 200) и сенсор, предоставляющий показания уличной температуры. Это может быть как ваш собственный датчик, так и показания погодного сервиса.

Показания WDA Sensor могут быть использованы для периодической записи в настройки вашего отопительного оборудования (газового или электрического котла). Записывать можно как по событию изменения значения, так и с определённой периодичностью (об этом далее). Возможность записи в произвольное оборудование, конечно же, не поддерживается; этот функционал должен предоставляться другими интеграциями, которые реализуют управление конкретно вашим котлом.

В текущей версии v1.1.0 интеграция предоставляет три сенсора:

  1. Целевая температура теплоносителя

  2. Целевая температура теплоносителя (периодический)

  3. Данные для построения кривой

Далее я опишу все параметры, которые можно настроить:

  1. Название — произвольное название группы сенсоров

  2. Минимальная и максимальная температура теплоносителя — эти параметры нужно устанавливать в соответствии с диапазоном указанным в паспорте вашего котла.

  3. Целевая температура в помещении — укажите ту температуру, которую вы хотите поддерживать в помещении. Напрямую связан с параметрами "Внутренняя температура" и "Коэффициент коррекции по внутренней температуре".

  4. Номер отопительной кривой — от 1 до 200, чем выше значение тем более агрессивное регулирование будет применяться. Подбирается индивидуально опытным путём. Графики привёл ниже.

  5. Интервал обновления — как часто будут рассчитываться показания сенсора. Применяется только для сенсора "Целевая температура теплоносителя (периодический)". Чуть ниже будут подробности.

  6. Наружная температура — здесь необходимо из списка выбрать сенсор, который предоставляет температуру на улице.

  7. Внутренняя температура (опционально) — здесь необходимо из списка выбрать сенсор, который предоставляет температуру внутри помещения. Если параметр будет заполнен, то будет производиться корректировка по внутренней температуре, по следующему правилу: на каждый 1°C разницы между желаемой (п.3) и фактической температурой в помещении (п.7) целевая температура теплоносителя корректируется на ±2°C (по умолчанию). Умолчание можно корректировать, изменяя параметр "Коэффициент коррекции по внутренней температуре".

  8. Скорость ветра (опционально) — здесь необходимо из списка выбрать сенсор, который предоставляет скорость ветра. Если параметр будет заполнен, то будет производиться корректировка по скорости ветра, по следующему правилу: на каждые 5 м/с скорости ветра целевая температура теплоносителя увеличивается на 1°C (по умолчанию). Умолчание можно корректировать, изменяя параметр "Коэффициент коррекции по скорости ветра". Откуда берется 1°C, если в коэффициенте значение 0.2? Из только что описанного правила: 5 * 0.2 = 1. Так работают все коэффициенты.

  9. Влажность снаружи (опционально) — здесь необходимо из списка выбрать сенсор, который предоставляет влажность воздуха на улице. Если параметр будет заполнен, то будет производиться корректировка по влажности, по следующему правилу: на каждые 10% влажности свыше 50% целевая температура теплоносителя увеличивается на 0.5°C (по умолчанию). Умолчание можно корректировать, изменяя параметр "Коэффициент коррекции по влажности".

  10. Коэффициент коррекции по внутренней температуре диапазон от 0 до 10, по умолчанию 2.

  11. Коэффициент коррекции по скорости ветра — диапазон от 0 до 1, по умолчанию 0.2.

  12. Коэффициент коррекции по влажности — диапазон от 0 до 0.4, по умолчанию 0.05.

  13. Минимальная (по умолчанию 1.2) и максимальная экспонента (по умолчанию 2.2) — определяет форму кривой, вначале более резкий рост, в конце более плавный. Чем меньше минимальное значение, тем более агрессивный рост в начале и чем больше максимальное, тем более плавный рост в конце. Имеет смысл менять, если не удалось подобрать кривую с параметрами по умолчанию.
    Диапазон для обоих параметров 0 - 4

Отопительные кривые

Для параметров минимальной и максимальной экспоненты по умолчанию (1.2 - 2.2):

Отопительные кривые от 1 до 200 с шагом 20. Показывают зависимость температуры теплоносителя от наружной температуры воздуха.
Отопительные кривые от 1 до 200 с шагом 20. Показывают зависимость температуры теплоносителя от наружной температуры воздуха.

Описание сенсоров

Целевая температура теплоносителя

Предоставляет рассчитанную целевую температуру теплоносителя. Обновляется немедленно, как только изменились показания любого из сенсоров, указанных в настройках. Например, при изменении показаний температуры на улице немедленно изменяются показания и этого сенсора.

Целевая температура теплоносителя (периодический)

Также предоставляет рассчитанную целевую температуру теплоносителя, но обновляется с указанной периодичностью. См. описание параметра "Интервал обновления".

Данный сенсор появился в версии v1.1.0. Применять целесообразно для котлов или адаптеров, которые записывают переданную им температуру в ПЗУ. Как известно ПЗУ обычно имеет фиксированное количество циклов записи-перезаписи.

Представим, что у нас есть датчик внутренней температуры, который передаёт показания каждые 10 секунд, с точностью до двух знаков. Практически каждую передачу значение будет отличаться во втором, а иногда и в первом знаке. Соответственно, сенсор "Целевая температура теплоносителя" тоже будет пересчитывать своё значение, и если автоматизация будет построена на событии изменения этого сенсора, то запись температуры в котёл будет производиться очень часто, что приведёт к износу ПЗУ и выходу его из строя. Периодический сенсор решает данную проблему.

Данные для построения кривой

В качестве значения имеет номер кривой, а также дополнительные атрибуты, которые позволят вывести график кривой на дашборт.

Содержит три дополнительных атрибута:

  1. heating_curve — номер кривой

  2. graph_data_map — значения для графика кривой (в виде карты) в диапазоне от 20 до -25 градусов по уличной температуре (ключ - наружная температура, значение - температура теплоносителя)

  3. 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 этого сенсора.

Тут можно посмотреть ID сенсора
Тут можно посмотреть ID сенсора

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

Отопительная кривая на дашборте
Отопительная кривая на дашборте

Как установить

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

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

Как установить сам HACS подробно описано на официальном сайте.

Сценарий использования совместно с интеграцией для вашего котла

В качестве примера покажу сценарий ПЗА совместно с интеграцией ectoControl Adapter, которая обеспечивает поддержку моего котла.

  1. Для настройки сценария ПЗА нужно перейти в раздел "Настройки -> Автоматизации и сцены", нажать "Создать автоматизацию", далее выбрать "Создать новую автоматизацию".

  2. Нажать "Добавить триггер" и в качестве триггера выбрать "Объект -> Состояние". В качестве объекта выбрать сенсор "Целевая Т. теплоносителя" или "Целевая Т. теплоносителя (периодический)" (см. описание выше).

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

  4. Нажать "Сохранить". Ваш сценарий ПЗА готов.

В качестве заключения

Надеюсь, рассказал достаточно подробно. Вопросы, отзывы и критика приветствуются.

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

P.S.S.: В README репозитория HA Brands есть такой текст:

Возможно, среди сообщества есть специалисты по авторскому праву. Насколько данный текст отражает реалии правоприменения в РФ?

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

Комментарии (0)