Интеграция с умным домом (Home Assistant, ioBroker, Node-RED)
Контроллер публикует состояние и принимает команды по MQTT в конвенции Wirenboard: базовый топик — для чтения, топик с суффиксом /on — для записи команды. Ни одна из систем ниже не требует какой-то особой настройки на самом контроллере, кроме обычного включения MQTT (см. «Сеть и MQTT»).
Топики устройства
Идентификатор устройства в MQTT — это значение поля Client name из настроек MQTT, приведённое к нижнему регистру. Дальше в примерах используется scalior-slc-xxxx — подставьте своё.
/devices/scalior-slc-xxxx/meta → описание устройства (JSON)
/devices/scalior-slc-xxxx/meta/name → "Scalior SLC"
/devices/scalior-slc-xxxx/meta/driver → "scalior"
/devices/scalior-slc-xxxx/controls/<Control><X> → состояние (read-only)
/devices/scalior-slc-xxxx/controls/<Control><X>/on → команда (write)
<X> — буква/цифра пролёта: M (Master) или 1–4. Что именно публикуется, определяется настройкой Expose topics на панели MQTT контроллера — там же нужно отметить хотя бы один пролёт (или Master), прежде чем настраивать интеграции ниже.
<Control> | Значения | Master (M) | Примечание |
|---|---|---|---|
Switch | 0 / 1 | есть | вкл/выкл подсветки |
Standby | 0 / 1 | есть | дежурный режим |
Sensors | 0 / 1 | есть | вкл/выкл датчиков движения |
Brightness | 0–100 | есть | яркость, % |
UpperSens | 0 / 1 | только если пролёт один | верхний датчик движения |
BottomSens | 0 / 1 | только если пролёт один | нижний датчик движения |
Version | строка | — (общий топик, без <X>) | версия прошивки |
Uptime | число, сек | — (общий топик, без <X>) | время работы, публикуется раз в 60с |
Если пролётов несколько, у
UpperSens/BottomSensнет отдельного Master-топика — галочка "M" в Expose topics в этом случае означает "включить датчики всех пролётов", а не общий топик.
В примерах ниже используется пролёт 1 (Switch1, Brightness1, BottomSens1). Если у вас всего один пролёт — везде вместо 1 будет M (SwitchM, BrightnessM, BottomSensM).
Цель каждого раздела — минимальная тестовая панель из трёх элементов: переключатель (Switch1), слайдер яркости (Brightness1) и индикатор датчика (BottomSens1).
Home Assistant
Предварительно
- В HA настроена интеграция MQTT (Settings → Devices & services → MQTT), подключённая к тому же брокеру, что и контроллер.
Настройка на контроллере
- Network → MQTT → включить MQTT, заполнить Host/Port/Client name/Login/Password.
- В Expose topics отметить нужные пролёты (в т.ч. 1-й).
- Включить тумблер Home Assistant Discovery.
- Connect.
Результат
Обнаружение полностью автоматическое. В Home Assistant: Settings → Devices & services → MQTT → Devices — появится устройство Scalior SLC со всеми выбранными сущностями (Switch, Standby, Sensors, Brightness — как switch/number, UpperSens/BottomSens — как binary_sensor).
Минимальная панель
Открыв устройство (клик по нему в списке Devices), HA уже показывает страницу устройства со всеми его сущностями — этого достаточно для теста. Чтобы вынести три нужных элемента (Switch1, Brightness1, BottomSens1) на постоянную панель:
- Settings → Dashboards → откройте нужный дашборд → Edit Dashboard → + Add Card.
- Выберите карточку Entities (или Area/Tile — на вкус), добавьте туда сущности
switch.scalior_slc_switch1,number.scalior_slc_brightness1,binary_sensor.scalior_slc_bottomsens1(точные ID зависят от имени вашего устройства — начните печатать в поле поиска, HA подскажет). - Сохраните карточку.
Если не работает
- Проверьте статус MQTT на панели контроллера — должно быть "Connected".
- Убедитесь, что тумблер Home Assistant Discovery включён.
- Форсируйте переподключение (тумблер MQTT выкл/вкл на контроллере или перезагрузка) — конфигурация публикуется заново при каждом коннекте.
- Если устройство раньше было в HA и его удалили — тот же способ (форс-реконнект) заново его обнаружит.
ioBroker
Предварительно
Выберите топологию:
- A. ioBroker сам как брокер — адаптер mqtt в режиме Server, контроллер подключается напрямую к IP ioBroker.
- B. Внешний брокер (например Mosquitto) — контроллер и адаптер mqtt (режим Client) оба подключаются к нему.
Установка и настройка адаптера
- Admin → Adapters → найти mqtt → установить.
- Admin → Instances → открыть
mqtt.0(иконка настроек) → указать режим/Host/Port/логин-пароль → Save and close. - Убедиться, что инстанс включён и рядом зелёный индикатор соединения.
Настройка на контроллере
Как в разделе Home Assistant, пункты 1–2, 4 — тумблер Home Assistant Discovery здесь не нужен, на ioBroker не влияет.
Где искать объекты
Objects → mqtt.0 → devices → scalior-slc-xxxx → controls. Каждый контрол — отдельный объект с текущим значением; у писабельных (Switch1, Brightness1 и т.п.) рядом будет дочерний объект on (команда) и meta (описание) — в большинстве версий адаптера они не объединяются автоматически в одно read/write-состояние.
Минимальная панель
Шаг 1 — сделать Switch1 и Brightness1 полноценными read/write объектами через Alias:
- Правой кнопкой по объекту
Switch1→ Create alias (если пункта нет — создайте пустой State вручную в папкеalias.0). - В настройках нового alias-объекта: Read id оставить на
Switch1, Write id переключить на дочернийSwitch1.on(выбрать через браузер объектов, не вписывать руками). - Повторить то же самое для
Brightness1→Brightness1.on.
BottomSens1 трогать не нужно — он изначально read-only, ничего писать в него не требуется.
Шаг 2 — собрать панель:
- Установите адаптер vis-2 (или классический vis), если ещё не установлен.
- Создайте новый View, перетащите на него три виджета: switch (привязать к alias-объекту Switch1), slider (к alias-объекту Brightness1), индикатор/текст (к сырому объекту
BottomSens1). - Сохраните и откройте панель по ссылке адаптера vis.
Если не работает
- Проверьте статус MQTT на панели контроллера.
- Убедитесь, что в настройках инстанса mqtt нет фильтра, отсекающего
/devices/#. - Форсируйте переподключение контроллера — все топики публикуются заново с
retain=true. - Если хочется, чтобы объекты собирались в структуру автоматически (без Alias) — поищите в списке адаптеров ioBroker специализированный адаптер под конвенцию Wirenboard, она у контроллера именно такая; насколько он актуален в вашей версии ioBroker — нужно проверять на месте.
Node-RED
Автообнаружения тут нет в принципе — каждый топик прописывается в узле вручную, зато никакой возни со слиянием read/write не требуется.
Настройка на контроллере
Как в разделе Home Assistant, пункты 1–2, 4 — Discovery-тумблер не нужен.
Сборка минимальной панели
- Установите пакет node-red-dashboard (Menu → Manage palette → Install →
node-red-dashboard), если ещё не установлен. - Добавьте узел mqtt-broker (через настройки любого mqtt-узла → Add new mqtt-broker) — впишите Host/Port/логин-пароль брокера.
- Чтение — 3 узла
mqtt in, каждый подписан на свой топик, выход подключите к соответствующему dashboard-виджету:/devices/scalior-slc-xxxx/controls/Switch1→ виджет switch/devices/scalior-slc-xxxx/controls/Brightness1→ виджет slider (или gauge, если только смотреть)/devices/scalior-slc-xxxx/controls/BottomSens1→ виджет text/led (индикатор)
- Запись — 2 узла
mqtt out, вход от тех же dashboard-виджетов (switch и slider умеют отправлятьmsg.payloadпри взаимодействии):- виджет switch →
mqtt out→ топик/devices/scalior-slc-xxxx/controls/Switch1/on - виджет slider →
mqtt out→ топик/devices/scalior-slc-xxxx/controls/Brightness1/on
- виджет switch →
- Deploy. Панель доступна по адресу
http://<node-red-host>:1880/ui(или/dashboard, в зависимости от версии пакета).
Быстрая разведка топиков
Один узел mqtt in с топиком /devices/scalior-slc-xxxx/controls/# покажет вообще все контролы устройства сразу — удобно для проверки до того, как разводить по отдельным узлам.
Если не работает
- Проверьте, что broker-нода в статусе "connected" (индикатор под узлом на канвасе).
- Сверьте топик посимвольно — опечатка в
/onили в номере пролёта самая частая причина тишины. - Через
debug-узел, подключённый к любомуmqtt in, удобно смотреть, что реально приходит.