Перейти к основному содержимому

Справочник 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) или 14.


Какие топики публикуются

Определяется настройкой Expose topics (Сеть → MQTT): отмеченные там пролёты (и/или "M") получают свои топики, остальные — нет.

<Control>НаправлениеЗначенияЕсть у Master (M)
Switchpub / sub0 / 1да
Standbypub / sub0 / 1да
Sensorspub / sub0 / 1да
Brightnesspub / sub0100да
UpperSenspub / sub0 / 1только если пролёт один
BottomSenspub / sub0 / 1только если пролёт один

Если пролётов несколько, отдельного UpperSensM/BottomSensM не существует. Галочка "M" в Expose topics в этом случае означает "публиковать датчики всех пролётов", а не общий топик — состояние датчика всегда приходит от конкретного пролёта (UpperSens1, UpperSens2, ...).

Помимо пер-пролётных, без привязки к <X> и настройке Expose topics всегда публикуются:

ТопикЗначенияОписание
controls/VersionстрокаАктуальная версия прошивки (из манифеста OTA)
controls/Uptimeчисло, секВремя работы, обновляется раз в 60 секунд
controls/Illuminance0255Показания датчика освещённости (если включён)
controls/LightSensorState0 / 1 / 20=выключен, 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

QoSRetain
Все топики, кроме Uptime1да
controls/Uptime0да

Подписки на командные (/on) топики также оформлены с QoS 1.