Справочник MQTT
Базовый топик
/devices/{client-name}/
Где {client-name} — значение поля Client name из настроек MQTT (Сеть → MQTT), в нижнем регистре. Например, при имени Scalior-SLC-BAA5 — /devices/scalior-slc-baa5/.
Контроллер использует конвенцию Wirenboard: базовый топик контрола — read-only состояние, суффикс /on — топик команды.
/devices/{client-name}/controls/<Control><X> → состояние, публикуется контроллером
/devices/{client-name}/controls/<Control><X>/on → команда, контроллер на неё подписан
<X> — пролёт: M (Master) или 1–4.
Какие топики публикуются
Определяется настройкой Expose topics (Сеть → MQTT): отмеченные там пролёты (и/или "M") получают свои топики, остальные — нет.
<Control> | Направление | Значения | Есть у Master (M) |
|---|---|---|---|
Switch | pub / sub | 0 / 1 | да |
Standby | pub / sub | 0 / 1 | да |
Sensors | pub / sub | 0 / 1 | да |
Brightness | pub / sub | 0–100 | да |
UpperSens | pub / sub | 0 / 1 | только если пролёт один |
BottomSens | pub / sub | 0 / 1 | только если пролёт один |
Если пролётов несколько, отдельного
UpperSensM/BottomSensMне существует. Галочка "M" в Expose topics в этом случае означает "публиковать датчики всех пролётов", а не общий топик — состояние датчика всегда приходит от конкретного пролёта (UpperSens1,UpperSens2, ...).
Помимо пер-пролётных, без привязки к <X> и настройке Expose topics всегда публикуются:
| Топик | Значения | Описание |
|---|---|---|
controls/Version | строка | Актуальная версия прошивки (из манифеста OTA) |
controls/Uptime | число, сек | Время работы, обновляется раз в 60 секунд |
controls/Illuminance | 0–255 | Показания датчика освещённости (если включён) |
controls/LightSensorState | 0 / 1 / 2 | 0=выключен, 1=светло, 2=темно |
Примеры команд
Включить пролёт 1
Topic: /devices/scalior-slc-baa5/controls/Switch1/on
Payload: 1
Установить яркость Master на 75%
(доступно, только если у вас один пролёт — тогда используется M)
Topic: /devices/scalior-slc-baa5/controls/BrightnessM/on
Payload: 75
Включить дежурный режим пролёта 2
Topic: /devices/scalior-slc-baa5/controls/Standby2/on
Payload: 1
Выключить датчики движения пролёта 1
Topic: /devices/scalior-slc-baa5/controls/Sensors1/on
Payload: 0
Команду нужно публиковать именно в топик с
/on— базовый топик (без/on) read-only, запись в него контроллер не обрабатывает.
Метаданные (Wirenboard-конвенция, retained)
/devices/{client-name}/meta → описание устройства
/devices/{client-name}/meta/name → "Scalior SLC"
/devices/{client-name}/meta/driver → "scalior"
/devices/{client-name}/controls/<Control><X>/meta → описание конкретного контрола
Эти топики нужны, в частности, хабам вроде ioBroker — см. «Интеграция с умным домом».
Home Assistant MQTT Discovery
При включённом тумблере Home Assistant Discovery контроллер сам публикует конфигурацию сущностей в homeassistant/<type>/<uid>/config при каждом подключении к брокеру — добавлять что-либо в configuration.yaml вручную не требуется. Пошагово — в «Интеграция с умным домом».
Качество сервиса (QoS) и retain
| QoS | Retain | |
|---|---|---|
| Все топики, кроме Uptime | 1 | да |
controls/Uptime | 0 | да |
Подписки на командные (/on) топики также оформлены с QoS 1.