Приветствую всех читателей Habr. Сегодня хочу поделиться с вами проектом zigbee smart реле. Это 4-х канальное реле (4 solid-state relay) в одномодульном корпусе для крепления на DIN-рейке. Данный проект задумывался для управления электротермическими сервоприводами, но без проблем может быть использован и для управления освещением, вытяжными вентиляторами, любыми другими нагрузками до 2А.

Почему это реле выше упомянуто как smart? У него есть несколько особенностей которые его отличают от других реле.



Реле может работать с кластером температуры, к данному реле можно привязывать внешние датчики температуры, для прямого обмена данными (может работать без координатора сети). Реализован простой функционал раздельного термостатирования по каждому из 4 каналов, по полученным с внешних датчиков температуры данных. Реле так же работает с кластером времени, реализован ночной эко режим, с возможностью задавать время включения и отключения ночного режима. Еще может оповещать звуковым управляемым сигналом о внештатных ситуациях. Ну и это тихое реле, потому что ssd.



Идея сделать этот проект у меня появилась 2 года назад, мне тогда понадобилось сделать управление отоплением в своем доме. В zigbee сообществе многие знакомы с проектами Modkam, разработчик, который делает эти проекты всем известен под ником Jager. У него я нашел один проект, который мне идеально подходил под мои задачи — Реле на 4 канала с Zigbee.

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

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



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

Технические характеристики:

  • SOC: СС2530 (радиомодуль E18-MS1-IPX)
  • Протокол передачи данных: Zigbee 2.4GHz
  • Входное напряжение: 4.75в — 23в
  • Коммутируемая нагрузка на 1 канал: 220VAC ~ 2А 50/60Hz
  • Корпус: 1DIN

Реле довольно легко собрать самостоятельно. Используются общедоступные компоненты, которые легко можно купить на Али экспресс и/или в локальных магазинах электроники в России. Корпус используемый в проекте российского производства, компания ЗАО «МЕАНДР», модель корпуса 152, это глубокая модернизация корпуса 151 (как заявляет производитель). Корпус действительно хорош.





Лицевая панель устройства имеет 6 индикаторов, индикатор питания, индикатор работы в сети zigbee и индикаторы состояний реле. Для этого проекта я сделал дизайн наклеек. Файл с наклейками находится на гитхаб проекта. Сами наклейки я заказывал на сайте ПринтДирект, виниловые наклейки с высечкой, очень удобно. Все что вам нужно сделать, если решите заказать такие наклейки, это скачать файл на гитхаб и загрузить его в заказ на сайте ПринтДирект.



На лицевой панели корпуса нужно просверлить 6 отверстий, в качестве разметки я использовал одну из наклеек. После сборки лицевой панели, присутствовал небольшой засвет от соседних светодиодов в каждом отверстии. Эту проблему помогла решить трубочка, которая идет в комплекте с кофе в Вкусно и точка. В дальнейшем постараюсь добавить на гитхаб проекта 3д модель отражателя который можно будет распечатать на 3д принтере.



Для питания устройства я использую одномодульный блок питания на DIN рейку напряжением в 5В.
Внутреннее напряжение схемы 3.2-3.5В, его необходимо выставить на понижающем преобразователе Mini360.





В данной статье описывать функционал буду на примере работы в системе умного дома СпрутХаб. Но почему не zigbee2mqtt? На момент подготовки материалов для статьи проект тестировался в системе УД Home Assistant через аддон zigbee2mqtt, в принципе часть текста статьи была уже сделана на примерах работы в zigbee2mqtt, возможно тот вариант я опубликую на другом интернет ресурсе. В 2024 году zigbee2mqtt начал сильно перерабатываться, это затронуло и внешние конвертеры и работу координаторов сети. С написанием конвертера для устройства в новом стиле modernExtend мне очень сильно помог Илья Киров, оунер самого большого ТГ канала Zigbeer по тематике zigbee, помог понять что это такое,… удобно, проще, не поспоришь.

Новый стиль конвертеров конечно не является проблемой, наоборот это упрощает написание новых конвертеров, к этому нужно просто привыкнуть. Проблема связана с найденными багами в прошивках координатора, вследствие чего рекомендовано переходить на новые версии прошивки. Но и новые пока работают не совсем хорошо. Я не обновлял прошивки своих координаторов и с последними апдейтами zigbee2mqtt в системе постоянно сыпятся килобайтами варнинги. Присутствует замедление в работе сети. На данный момент получается и в старом варианте не хорошо и в новом не очень. Например, при попытке привязать датчики температуры к реле Modkam Term я мог получить инфо сообщение от системы что привязка осуществлена, информация передана на устройство, но данные о температуре датчик температуры не отправлял на реле, при подключении сниффера выяснилось что координатор может не отправить сообщение на привязываемый датчик температуры. Конечно все привязки в итоге проходят успешно, но эти все повторы, и постоянные варнинги в веб-интерфейсе о том что координатору плохо, превращают процесс в маленький адок. Конечно можно откатится на более ранние версии zigbee2mqtt, но мне проще будет все описать на примере другой системы УД. А может я просто придираюсь и с з2м все ОК.

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





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

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



Но для меня оно все же термо реле, и далее я опишу процесс настройки системы (реле, датчики темпрературы, конфигурация встроенного функционала). Для привязки датчиков температуры в реле нужны будут датчики температуры которые могут быть привязаны по кластеру температуры. Такие датчики температуры скорее исключение, чем правило, я встречал такие фабричные только раз у Туи, их можно было привязывать к термоголовкам Туя. У меня существует несколько проектов датчиков температуры. поэтому я буду работать с ними.

Процесс привязки (binding) с одной стороны реализован проще в СпрутХаб, с другой не очень удобно. Ниже все расскажу, покажу. Для привязки датчика температуры к реле Modkam нужно перейти в параметры устройства.



Далее нужно открыть вкладку связь, найти строку с кластером температуры, и в открытом выпадающем списке просто выбрать нужный канал температуры в реле Modkam (это удобно).



А вот отвязать датчик температуры от реле просто не получится, ну или я пока не понял как это сделать просто. Для отвязки нужно выбрать очистить, но при этом сбросятся все привязки у датчика по кластеру температуры, после придется заново привязать датчик по кластеру температуры к координатору. что бы датчик продолжал отправлять данные в УД.



После привязки датчик начнет отправлять свои данные о температуре и в УД и в реле Modkam, а реле Modkam в свою очередь так же пересылает эти данные с свои свойства в УД. -100 означает что к каналу не привязан датчик температуры.



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

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



Так как устройство работает с кластером времени (периодически синхронизирует свое время с контроллером уд) есть возможность задать время ночного режима, это режим при котором установки порогов температур понижаются на 2°С (возможно эту настройку в будущем стоит вынести для конфигурирования пользователем).

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

Так же на вкладке основные можно задать интервал отчетов состояний реле и температур на каналах.

Это пожалуй все что касается дополнительной функциональности данного реле. Сейчас мне этих 4 каналов мало, так как в коллекторных группах бывает и больше 4 входов-выходов, и насосами хотелось бы управлять, и ssd реле не могут управлять электротермическими сервоприводами с питанием DC 5в, 12в, 24в, поэтому у данного проекта будет точно продолжение.

Что понравилось в работе с спрутхаб? Очень высокая стабильность передачи данных, это пожалуй главное и это очень радует. С zigbee контроллером разработчики постарались. Что не понравилось? Отсутствие мало мальской истории данных, каких то самых простых графиков, в 2024 году это вызывает очень сильное удивление (мягко говоря). Конечно это можно решить дополнительным сервером с БД, Графаной, но черт побери…

Еще один момент это апдейты системы, я пока столкнулся с одним. Отвалились дескрипшены свойств, то есть пользователю теперь не видны дополнительные подсказки-описания в свойствах. Локальный интерфейс на не обновленной системе и удаленный интерфейс разные. Ощущение что удаленный интерфейс обновили для всех, и тех кто на стабильной версии и тех кто на бете. Плитки с данными устройств разъехались по экрану. Это очень напомнило то как это случается на опенсорсных системах, но эта система на минуточку коммерческая!



Одно понятно, счастья нигде нет, будь то бесплатная опенсорс система или коммерческая за 99тр.



Так датчик выглядит в вэб интерфейсе zigbee2mqtt:







Файлы проекта для заказа плат, BOM файл, схема, прошивка размещены на гитхаб DIYRUZ.

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



Спасибо за внимание, всем добра!..

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


  1. alprk
    06.08.2024 22:41
    +1

    Восхитительно! когда ждать в продаже?


    1. foxyrus
      06.08.2024 22:41

      Китайцы давно все придумали https://aliexpress.ru/item/1005006654223003.html


      1. bdaring
        06.08.2024 22:41
        +1

        Китайцы конечно придумали, но их реле занимает 4 слота, вместо одного у автора.

        А во многих случаях это очень актуально.


        1. tklim
          06.08.2024 22:41
          +1

          Китайцы бы тоже сделали в 1дин, если бы это имело смысл.
          А тут куча картинок про умный дом, автоматизацию, а про сами реле ничего.

          А с реле красота. Пятивольтовая модель требует 4-6В на вход. А тут 3,3 в лучшем случае:

          Рекомендуемый ток через реле 10ма, минимальный - 5. Но у СС2530 только 2 ножки умеют 20ма, остальные расчитаны на 4ма.

          • Коммутируемая нагрузка на 1 канал: 220VAC ~ 2А 50/60Hz

          SSR любят излучать тепло:

          При 4х каналах 2А будет >12Вт. Это все в мелком корпусе без возможности обдува, так себе идея.

          Так что на столе - ок работать будет наверное. Но устанавливать такое в щиток без пониманимая как оно работает - явно не стоит.


          1. ponikrf
            06.08.2024 22:41

            Согласен с некоторой критикой.

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

            По поводу нагрева реле - я бы не стал использовать эти реле напрямую для 220. Лучше бы использовал для управления другими, открытыми полноценными реле.


  1. bdaring
    06.08.2024 22:41

    А скажите, что это за прикольные термоголовки на последней ГИФке?


    1. foxyrus
      06.08.2024 22:41
      +1

      https://aliexpress.ru/item/1005002332016537.html


  1. ColdSUN
    06.08.2024 22:41

    С плитками все норм в режиме без группировки, и в группировке списком. И это интерфейс для бета тестирования. О чем собственного говорит beta в адресе для удалённого веба. beta.spruthub.ru Есть же и релизная ветка и релизный веб интерфейс. web.spruthub.ru


  1. inforus
    06.08.2024 22:41

    Лаконично, просто и со вкусом, молодец, что собрался силами и засунул все в корпус.