Интеграция приточной вентиляции Ventmachine c Home Assistant по Modbus

04 июня 2020, 18:45

Хотел бы рассказать о довольно простой интеграции приточной вентиляции от компании Ventmachine c Home Assistant (далее HA). Сначала давайте разберемся с устройствами - что к чему и как подключаем, а также как работает.

В приточной вентиляции есть собственная автоматика, которая пытается поддерживать заданную температуру подаваемого в помещение воздуха

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

Неизменным остается одно - управляете вы двумя параметрами: скорость вентилятора и заданная температура. Если температура на улице больше заданной, то в помещение подается воздух уличной температуры.

На самом деле, мы подключаем к нашему умному дому не саму приточку, а ее блок управления. Таким образом, абсолютно всё равно какой у нас тип приточки (Satellite, Колибри, ПВУ и т.п.), а важна фирма-производитель блока управления. 

Фирмы-производители блоков управления:

  1. GTC
  2. Zentec

Способы подключения:

  1. Modbus - подключение осуществляется напрямую из блока приточки двумя проводами к устройству, на котором установлен HA, через RS485 переходник (можно заказать на алишке).
  2. Modbus-TCP - подключение осуществляется от небольшой платы в приточке (уточняйте ее наличие у продавца) в вашу локальную сеть через витую пару и rj45 разъемы. Я бы советовал именно этот вариант подключения, т.к. не нужно кидать дополнительные провода по дому/квартире.

Пример реализации

Действующие лица:

  • Home Assistant 0.110.х (Hass.io на raspberry pi 3 b).
  • Ventmachine Satellite.
  • Блок управления GTC (Modbus-TCP).

Цель: Регулировать температуру входящего воздуха и скорость вентилятора с телефона, в удобном графическом интерфейсе.
Долгосрочная цель: объединить кондиционеры и приточку в единый термостат и задавать только целевую температуру. 

Подключение

Для начала нам нужно зафиксировать ip адрес приточки в локальной сети.

Далее прописываем в configuration.yaml следующую информацию:

  • адрес и порт (502) приточки;
  • регистры, которые хотим считывать;
  • два объекта типа input_number для дальнейшей регулировки температуры и скорости;
  • бинарный сенсор пинга для отслеживания доступности.

Список регистров надо запросить у установщиков или напрямую в фирме-производителе блока управления. Также есть особенности: фактические регистры и регистры в документации отличаются на единицу (у GTC это  "-1").

Соответствующий код выложен в разделе фрагмент кода.

Автоматизации

Добавляем в automations.yaml триггеры, которые будут записывать в регистры новые данные из объектов input_number, а также нам надо изменять эти объекты, если поменяли их на пульте управления. Надо учитывать, что температура хранится в х10 формате, т.е. не "25.4", а "254".
Можно ещё добавить триггер на старт HA, чтобы обновлять input_number, если кто-то поменял значения с пульта, пока рестартовал HA. Это редкий сценарий, и я не стал с этим заморачиваться.

Соответствующий код выложен в разделе фрагмент кода.

Интерфейс

Теперь, когда все подготовительные работы завершены и новые объекты видны в HA, надо всё это прописать в ui-lovelace.yaml.

На общей вкладке, где сводка по всем помещениям, я вывел следующую информацию (плагин multiple-entity-row).


На отдельной вкладке под приточку я вывел управление (плагины vertical-stack-in-carddual-gauge-cardbutton-card).
Значения current могут отставать от target ввиду того, что опрос приточки происходит раз в 30 секунд.

График потребления выводится на основании зигби розетки от xiaomi и плагина mini-graph-card.

Соответствующий код выложен в разделе фрагмент кода.

На этом пока всё. Если есть спецы, которые помогут с чтением и записью 16-битовых регистров, то смогу также включать и выключать приточку.

Если у кого-то есть вопросы - задавайте.


Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @Soprut

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. (eugene120)
    (eugene120) месяц назад

    GTC 5 версии? У меня пока версия 3, тут один модбас rtu, в котором пульт - мастер, то есть надо выбирать, что подключать, все вместе не работает. Пока только пульт.

    Регистры 16 бит научился разбирать и пересобирать на node red нодами bitunloader и bitreloader, между которыми простая функция, перезаписывающая один из элементов разобранного 16-битного слова на массив.

    • Роман Громов (GRS)
      Роман Громов (GRS) отредактировано месяц назад

      Да, у меня 5я версия ПО. 

      Я подключаюсь через вот такой модуль . Надо уточнить, возможна ли установка на вашу версию.

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

  2. (Kuroxtyan)
    (Kuroxtyan) отредактировано месяц назад

    Скоро контроллеры Simens по profibus будем интегрировать)))

  3. Роман Беляев (Exclus)
    Роман Беляев (Exclus) месяц назад

    Вот мануал по modbus в home assistant https://www.home-assistant.io/...

  4. (eugene120)
    (eugene120) месяц назад

    На самом деле для включения и выключения (во всяком случае в моей версии 3) holding регистр 2 имеет самый простой вариант, в нем ничего нет помимо включения и выключения:

    0x03 (03)

    unsigned int

    Power_Dev – Включение и выключение установки

    Bit 0 – Включение установки (1) / выключение установки (0)

    Bit 1…Bit 15– резерв

    То есть нам надо записать туда int 32768 для включения и int 0 для отключения.

    • Роман Громов (GRS)
      Роман Громов (GRS) месяц назад

      Спасибо, регистры у меня такие же. Попробую сделать

      • (eugene120)
        (eugene120) 26 дней назад

        Доехал мой WB, пока отложил штатный монитор GTC и экспериментирую управлением с WB.

        Оказалось, что " Bit 1…Bit 15– резерв " означает, что эти биты в слове у них не нули, а в принципе отсутствуют. То есть весь этот регистр - один бит.

        В итоге отправляем туда "1" - приточка стартует, "0" - глохнет.

        Ну и самое интересное, значение этого регистра никак не меняется и всегда остается 0, вне зависимости от того, что туда послать или в каком состоянии прибор.

        • Роман Громов (GRS)
          Роман Громов (GRS) 26 дней назад

          А получилось считать работает приточка или нет? Это уже лежит в 16 битовом регистре

          • (eugene120)
            (eugene120) 26 дней назад

            Следующим этапом это. У меня там в рабочем состоянии пока 321 во втором input регистре. Буду ковырять, что это может значить и как это разобрать.

            • (eugene120)
              (eugene120) отредактировано 26 дней назад

              Все оказалось интереснее. Видимо в связи с отсутствием программерского образования (впрочем, как показал опрос, это не решает в данном случае) я недопонял, что биты они перечиаляют справа налево. То есть мое предыдущее предложение кидать в регистр включения/выключения 1 связан не с тем, что они исключают биты, которые считают зарезервированными, а просто старший у них справа, и отправка единицы работает только потому, что 1 десятичная = 00000000 00000001 бинарному слову.

              В общем, это все тянет на отдельную статью.

              С учетом этого знания я убедился, что состояние приточки 321 вполне достоверно раскладывается по битам без всяких исключений. "Резерв" в этом случае забит нулями.

К списку статей

Устройства в материале

Socket

Производитель: Xiaomi
Заказать на:

Raspberry Pi 3 Model B

Производитель: Raspberry Pi

Скидки для сообщества

Wiren Board

+7 495 150-66-19
Промокод:
SPRUTDELIVERY
Размер скидки:
0%
Вы получите бесплатную доставку.

Разумный дом

+7 487 223-51-50
Промокод:
71
Размер скидки:
20%
Указывать в письме или комментарии к заказу

УЮТНЫЙ ДОМ

+7 495 797-21-74
Промокод:
SPRUT
Размер скидки:
5%

Z-Wave Ukraine

+380 68 641 9670
Промокод:
Sprut-UA
Размер скидки:
15%

Тематические чаты

Похожие статьи

17 декабря 2019, 17:49
Универсальный привод для автоматического удаленного открытия окон с простой интеграцией в умные дома.
15 ноября 2018, 09:42
Способы автоматизации механических ворот
27 октября 2018, 12:20
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
24 августа 2018, 12:18
Пошаговая установка HomeAssistant
20 октября 2018, 22:57
Теоретические основы протокола MQTT и описание того, как он работает и для чего используется
02 июля 2020, 07:24
Я хочу поделиться своей разработкой: "умным открывателем пластикового окна". В статье вы найдете все необходимое, чтобы повторить проект и изготовить собственный привод для открывания окна с использованием штатной фурнитуры окна.
27 августа 2018, 10:14
Интегрируем ХА в HomeKit
03 октября 2018, 22:03
Как собрать и настроить Hyperion Ambilight - адаптивную подсветку ТВ.
01 ноября 2018, 09:27
Настройка Deconz USB стика ConBee от Dresden Elektronik в Hass.io и некоторые особенности эксплуатации
29 октября 2019, 07:59
Умный домофон на базе nodeMCU с прошивкой ESPHome.