Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
работа_с_mqtt [2019/06/15 23:42] admin |
работа_с_mqtt [2020/04/15 14:01] 192.168.88.1 [Пример настройки MQTT в JSON конфигурации:] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | MQTT является, | + | MQTT является, |
- | Работа контроллера LightHub полностью управляется при помощи данного | + | Работа контроллера LightHub полностью управляется при помощи данного |
Поподробнее про MQTT можно прочитать [[https:// | Поподробнее про MQTT можно прочитать [[https:// | ||
- | Теперь о том, как | + | Теперь о том, как |
- | Имеются два типа топиков - командные и статусные | + | В общем виде, формат топика выглядит следующим образом: |
- | По командным - обьекты контроллера | + | |
- | Также, в статусные топики направляется информация если состояние обьекта контроллера изменилось в связи с локальными процессами (например, | + | < |
+ | root/ | ||
+ | </ | ||
+ | |||
+ | * **root**: это значение имеет смысл, если один брокер обслуживает много абсолютно независимых систем или пользователей. По умолчанию - myhome | ||
+ | |||
+ | * **id-устройства** - индивидуальное Имя контроллера, задаваемое в его конфигурации (к одному брокеру может быть подключен только один контроллер | ||
+ | |||
+ | * **bcst** - групповое (широковещательное) имя контроллера. Может быть одинаковое у многих контроллеров, | ||
+ | |||
+ | * **item** - устройство или группа устройств, | ||
+ | |||
+ | * **subitem** - значение, | ||
+ | Для адресной светодиодной ленты: 10-20 будет значить, | ||
+ | Также, если в качестве subitem указать значения из набора ON, | ||
+ | |||
+ | * **suffix** - Может быть одним из стандартного набора cmd,set (см ниже) или значением, | ||
+ | |||
+ | Имеются три типа топиков - командные, | ||
+ | |||
+ | По командным - объекты контроллера получают инструкции извне, интерпретируют их, выполняют и изменившийся статус направляют в статусные топики. | ||
+ | |||
+ | Программы удаленного доступа используют статусные топики для отображения актуального текущего состояния устройств в своем интерфейсе, | ||
+ | |||
+ | Также, в статусные топики направляется информация если состояние объекта контроллера изменилось в связи с локальными процессами (например, | ||
+ | |||
+ | Служебные топики используются для нужд, напрямую не связанных с управлением устройствами. Предназначены для удаленного управления контроллером, | ||
+ | |||
+ | ===== Пример настройки MQTT в JSON конфигурации: | ||
- | Пример настройки MQTT в JSON конфигурации: | ||
< | < | ||
" | " | ||
Строка 18: | Строка 44: | ||
Настройка mqtt задает (в порядке следования): | Настройка mqtt задает (в порядке следования): | ||
- | * Имя контроллера (к одному брокеру может быть подключен только один контроллер с конкретным именем. Если подключается второй с тем же именем - первый отключается) | + | * Имя контроллера (к одному брокеру может быть подключен только один контроллер с конкретным именем. Если подключается второй с тем же именем - первый отключается). В данном примере, |
* IP или доменное имя брокера | * IP или доменное имя брокера | ||
* Порт (по умолчанию, | * Порт (по умолчанию, | ||
* Имя пользователя и пароль (по умолчанию, | * Имя пользователя и пароль (по умолчанию, | ||
- | Настройка topics позволяет определить как формируются MQTT топики у данного контроллера | + | ===== MQTT топики ===== |
+ | |||
+ | Настройка topics | ||
В данном примере: | В данном примере: | ||
- | * Командные топики: myhome/ | + | **Командные топики |
- | * Статусный топик: myhome/ | + | |
- | (Именно это соответствует настройкам по-умолчанию) | + | * myhome/ |
- | Зачем два командных топика: | + | * myhome/ |
- | Через индивидуальный, | + | |
+ | * myhome/ | ||
+ | |||
+ | |||
+ | **Командные топики (индивидуальные): | ||
+ | |||
+ | * myhome/ | ||
+ | |||
+ | * myhome/ | ||
+ | |||
+ | * myhome/ | ||
+ | |||
+ | |||
+ | **Статусные топики: | ||
+ | |||
+ | * myhome/ | ||
+ | |||
+ | * myhome/ | ||
+ | |||
+ | * myhome/ | ||
+ | |||
+ | |||
+ | (Именно это соответствует настройкам по-умолчанию, | ||
+ | |||
+ | Зачем два типа командных топиков: | ||
+ | Через индивидуальный, | ||
+ | |||
+ | В старой версии контроллера, | ||
+ | В данный //совмещенный// топик можно отправлять как команды ON OFF HALT REST и прочие (см. ниже), так и установки канала (яркость, | ||
+ | Отличительная особенность - запись в такой совмещенный топик ненулевого значения включает канал, запись нулевого - выключает канал; | ||
+ | Топики данного типа используются для интеграции с системой OpenHab | ||
+ | |||
+ | В последних версиях, | ||
+ | Это позволяет полностью разнести логику подачи команд каналу и логику установки параметров канала | ||
+ | Например, | ||
+ | |||
+ | |||
+ | Кроме окончаний /cmd и /set возможны окончания, | ||
+ | например, | ||
+ | |||
+ | /fan (значения HIGH, MEDIUM, LOW) | ||
+ | |||
+ | /mode | ||
+ | |||
+ | /lock (ON,OFF) | ||
+ | |||
+ | /swing (ON,OFF) | ||
+ | |||
+ | / | ||
+ | |||
+ | |||
+ | для канала управления кондиционером | ||
LightHub (во многом) руководствуется конвенцией [[https:// | LightHub (во многом) руководствуется конвенцией [[https:// | ||
Строка 45: | Строка 124: | ||
Например, | Например, | ||
+ | |||
+ | ===== Команды и инструкции, | ||
Базовый набор команд (совместим с OpenHab): | Базовый набор команд (совместим с OpenHab): | ||
- | * ON - Turn channel ON. If some previous channel state is stored | + | * ON - Включить канал. Если сохранились предыдущие значения |
- | * OFF - just turn channel off | + | * OFF - Выключить канал |
- | * <Numeric value 0..100> - Volume for Dimmer/PWM/ | + | * <Numeric value 0..100> - Задает яркость для света (с сохранением цвета), |
* <Numeric 0..365>,< | * <Numeric 0..365>,< | ||
+ | * <Numeric 0..365>,< | ||
- | Расширенный набор комманд (также, | + | Расширенный набор команд (также, |
* HALT - выключить канал(группу) | * HALT - выключить канал(группу) | ||
Строка 62: | Строка 144: | ||
* TOGGLE: Переключать из состояния ON в OFF. Если применяется для группы - то принимается что если хоть один канал, входящий в группу включен - она активна и при получении TOGGLE произойдет выключение того, что включено. Последующая команда TOGGLE включит все каналы, | * TOGGLE: Переключать из состояния ON в OFF. Если применяется для группы - то принимается что если хоть один канал, входящий в группу включен - она активна и при получении TOGGLE произойдет выключение того, что включено. Последующая команда TOGGLE включит все каналы, | ||
* #AABBCC: Color notation in RGB - Home Remote app color picker compatible | * #AABBCC: Color notation in RGB - Home Remote app color picker compatible | ||
+ | * %-N : Уменьшить значение (яркость, | ||
+ | * %+N : Увеличить значение (яркость, | ||
+ | |||
+ | Команды, | ||
+ | |||
+ | * AUTO | ||
+ | |||
+ | * HEAT | ||
+ | |||
+ | * COOL | ||
+ | |||
+ | * FAN_ONLY | ||
+ | |||
+ | * DRY | ||
+ | |||
+ | |||
+ | |||
+ | |||