Files
lighthub/documentation/core/mqtt_quick_reference.md
2026-10-11 01:27:15 +03:00

11 KiB
Raw Permalink Blame History

Шпаргалка MQTT LightHub

Быстрая справка часто используемых MQTT команд для LightHub


Структура топика

root / [id или bcst или out] / item_name / [subitem/] suffix
└──────┴─────────────────────────┴──────────────────────────┘
  мyhome       /в/       /lamp1/   /cmd

Пример для дома myhome, устройства in, лампы lamp1, команды включения:

myhome/in/lamp1/cmd

Три типа топиков

Тип Направление Пример
Команда (broadcast) вход myhome/in/lamp1/cmd (выполнить на всех)
Команда (индивидуальная) вход myhome/lighthub01/lamp1/cmd (на конкретном)
Статус выход myhome/s_out/lamp1/set (0-255) + общий myhome/s_out/lamp1 (0-100)

Базовые команды управления

Включение/выключение

# Включить лампу (ON)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/lamp1/cmd" -m "ON"

# Выключить лампу (OFF)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/lamp1/cmd" -m "OFF"

# Переключить (TOGGLE)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/lamp1/cmd" -m "TOGGLE"

Установка яркости

# Установить яркость 50 из 255
mosquitto_pub -h 192.168.1.100 -t "myhome/in/lamp1/set" -m "50"

# Установить яркость 150 (0-255)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/lamp1/set" -m "150"

# Увеличить на 10 пунктов
mosquitto_pub -h 192.168.1.100 -t "myhome/in/lamp1/cmd" -m "INCREASE 10"

# Уменьшить на 10 пунктов
mosquitto_pub -h 192.168.1.100 -t "myhome/in/lamp1/cmd" -m "DECREASE 10"

Управление RGB светом

Цвет по HSV (Hue, Saturation, Value)

# Оттенок (0-365°):
#   0° = красный      60° = желтый    120° = зеленый
#   180° = голубой    240° = синий    300° = магента

# Установить красный цвет
mosquitto_pub -h 192.168.1.100 -t "myhome/in/rgb/hue" -m "0"

# Установить зеленый
mosquitto_pub -h 192.168.1.100 -t "myhome/in/rgb/hue" -m "120"

# Установить синий
mosquitto_pub -h 192.168.1.100 -t "myhome/in/rgb/hue" -m "240"

# Установить насыщенность 0% = белый, 100% = полный цвет
mosquitto_pub -h 192.168.1.100 -t "myhome/in/rgb/sat" -m "100"

# Установить яркость 200 (0-255)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/rgb/set" -m "200"

# Установить полный HSV одной командой (hue,sat,value), суффикс ЗАГЛАВНЫЙ
mosquitto_pub -h 192.168.1.100 -t "myhome/in/rgb/HSV" -m "240,100,200"

Цвет по RGB (не поддерживается)

Суффикс /rgb не поддерживается в текущей сборке (S_RGB не обрабатывается). Цвет задаётся через /HSV или строкой «h,s,v[,ct]» в общем топике без суффикса.

# Красный (HSV: hue=0, sat=100, val=255)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/rgb/HSV" -m "0,100,255"

# Зеленый (hue=120)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/rgb/HSV" -m "120,100,255"

# Общий топик: строка «h,s,v[,ct]» трактуется как HSV(+colorTemp), не RGBW
mosquitto_pub -h 192.168.1.100 -t "myhome/in/rgb" -m "240,100,200"

Управление кондиционером

# Включить кондиционер
mosquitto_pub -h 192.168.1.100 -t "myhome/in/ac_main/cmd" -m "ON"

# Выключить
mosquitto_pub -h 192.168.1.100 -t "myhome/in/ac_main/cmd" -m "OFF"

# Режим нагрева (текстовые режимы HEAT, COOL, AUTO, DRY, FAN_ONLY — в /cmd; /mode — число 0-4)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/ac_main/cmd" -m "HEAT"

# Температура
mosquitto_pub -h 192.168.1.100 -t "myhome/in/ac_main/set" -m "22"

# Скорость вентилятора (LOW, MEDIUM, HIGH, OFF или число)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/ac_main/fan" -m "HIGH"

# Направление воздуха (ON, OFF)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/ac_main/swing" -m "ON"

# Тихий режим (legacy «queit» также принимается; статус — /quiet)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/ac_main/quiet" -m "ON"

# Блокировка ПДУ
mosquitto_pub -h 192.168.1.100 -t "myhome/in/ac_main/lock" -m "ON"

Управление теплыми полами (PID)

# Включить
mosquitto_pub -h 192.168.1.100 -t "myhome/in/floor/cmd" -m "ON"

# Выключить
mosquitto_pub -h 192.168.1.100 -t "myhome/in/floor/cmd" -m "OFF"

# Установить температуру 24°C
mosquitto_pub -h 192.168.1.100 -t "myhome/in/floor/set" -m "24"

# Режим AUTO (включить, если T < установленной) — режим: команда в /cmd
mosquitto_pub -h 192.168.1.100 -t "myhome/in/floor/cmd" -m "AUTO"

# Заморозить (игнорировать команды)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/floor/ctrl" -m "FREEZE"

# Разморозить
mosquitto_pub -h 192.168.1.100 -t "myhome/in/floor/ctrl" -m "UNFREEZE"

Многозональная вентиляция

# Установить температуру в спальне
mosquitto_pub -h 192.168.1.100 -t "myhome/in/multivent/bedroom/set" -m "21"

# Установить температуру на кухне
mosquitto_pub -h 192.168.1.100 -t "myhome/in/multivent/kitchen/set" -m "22"

# Скорость вентилятора
mosquitto_pub -h 192.168.1.100 -t "myhome/in/multivent/fan" -m "HIGH"

# Режим зоны (HEAT, AUTO, COOL) — команда в zone/cmd (zone/mode не обрабатывается)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/multivent/bedroom/cmd" -m "AUTO"

Команды с задержкой

# Включить на 3 секунды, потом выключить
mosquitto_pub -h 192.168.1.100 -t "myhome/in/lamp1/cmd" -m "ON 3000"

# Включить через 5 сек 
mosquitto_pub -h 192.168.1.100 -t "myhome/in/lamp1/del" -m "ON 5000"

# Импульс гаража на 3 сек
mosquitto_pub -h 192.168.1.100 -t "myhome/in/gate/cmd" -m "ON 3000"

Расширенные команды

# Перевести в режим HALT (запомнить состояние и выключить)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/lamp1/cmd" -m "HALT"

# Восстановить с HALT
mosquitto_pub -h 192.168.1.100 -t "myhome/in/lamp1/cmd" -m "REST"

# Включить (если не DISABLE)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/lamp1/cmd" -m "XON"

# Выключить (если был включен XON)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/lamp1/cmd" -m "XOFF"

# Разрешить управление (если было DISABLE)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/lamp1/ctrl" -m "ENABLE"

# Запретить управление
mosquitto_pub -h 192.168.1.100 -t "myhome/in/lamp1/ctrl" -m "DISABLE"

Подписка на статусные топики

# Подписаться на все топики контроллера
mosquitto_sub -h 192.168.1.100 -t "myhome/#" -v

# Только статусные топики (ответы)
mosquitto_sub -h 192.168.1.100 -t "myhome/s_out/#" -v

# Статус конкретной лампы
mosquitto_sub -h 192.168.1.100 -t "myhome/s_out/lamp1/#" -v

# Служебная статистика
mosquitto_sub -h 192.168.1.100 -t "myhome/lighthub01/\$stats" -v

HTTP API (альтернатива MQTT)

# Включить лампу: /item/<item>[/subitem][/suffix] (GET/POST)
curl -X POST http://192.168.1.10/item/lamp1/cmd -d "ON"

# Установить яркость
curl -X POST http://192.168.1.10/item/lamp1/set -d "150"

# Прочитать статус item (GET)
curl -X GET http://192.168.1.10/item/lamp1

# Передать вход сенсора (текущую температуру)
curl -X POST http://192.168.1.10/item/thermostat/val -d "21.5"

# AC: установить режим (командой) и температуру
curl -X POST http://192.168.1.10/item/ac_main/cmd -d "HEAT"
curl -X POST http://192.168.1.10/item/ac_main/set -d "22"

# CLI-команда: /command/<cmd>
curl -X POST http://192.168.1.10/command/reboot

# Конфигурация (GET/POST) и дамп RAM
curl http://192.168.1.10/config.json
curl http://192.168.1.10/ram/lamp1

Типичные ошибки

Ошибка Причина Решение
Команда не выполняется Неправильный топик Проверьте структуру: root/bcst/item/suffix
Статус не приходит Неправильный out параметр Использовать myhome/s_out/...
Яркость не меняется Используется /cmd вместо /set Используйте /set для значений (0-255)
RGB не меняет цвет Насыщенность 0% (белый) Установите /sat на 100 для цвета
Нет ответа от MQTT Контроллер не подключен Проверьте MQTT конфигурацию в config.json

Таблица суффиксов (краткая)

Суффикс Использование Примеры
/cmd Команды ON, OFF, TOGGLE, HALT, REST
/set Значения 0-255, температура
/val Вход сенсора (THERMO/PID/VENT/SPRINKLER) Число (T/значение)
/hue Оттенок RGB 0-365°
/sat Насыщенность RGB 0-100%
/HSV Полный HSV (ЗАГЛАВНЫЙ) hue,sat,value
/rgb Не поддерживается (S_RGB не обрабатывается) —
/fan Вентилятор LOW, MEDIUM, HIGH, OFF или число
/mode Режим работы — число 0-4 (AC); текстовые режимы — через /cmd 0-4
/ctrl Управление ENABLE, DISABLE, FREEZE, UNFREEZE
/del Задержка "ON 5000"

Дополнительно: