Files
lighthub/documentation/mqtt_quick_reference.md

9.7 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/val (ответ контроллера)

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

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

# Включить лампу (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% (0-100)
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(255, 0, 0)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/rgb/rgb" -m "255,0,0"

# Зеленый
mosquitto_pub -h 192.168.1.100 -t "myhome/in/rgb/rgb" -m "0,255,0"

# RGBW с белым
mosquitto_pub -h 192.168.1.100 -t "myhome/in/rgb/rgb" -m "255,0,0,100"

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

# Включить кондиционер
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)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/ac_main/mode" -m "HEAT"

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

# Скорость вентилятора (HIGH, MED, LOW, AUTO)
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"

# Тихий режим
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 < установленной)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/floor/mode" -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)
mosquitto_pub -h 192.168.1.100 -t "myhome/in/multivent/mode" -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)

# Включить лампу через HTTP
curl -X POST http://192.168.1.10/lamp1/cmd -d "ON"

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

# Установить RGB цвет
curl -X POST http://192.168.1.10/rgb/set -d "255,0,0"

# Передать текущую температуру
curl -X GET http://192.168.1.10/thermostat/val -d "150"

# AC: установить режим и температуру
curl -X POST http://192.168.1.10/ac_main/mode -d "HEAT"
curl -X POST http://192.168.1.10/ac_main/set -d "22"

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

Ошибка Причина Решение
Команда не выполняется Неправильный топик Проверьте структуру: 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 Текущее значение
/hue Оттенок RGB 0-365°
/sat Насыщенность RGB 0-100%
/hsv Полный HSV hue,sat,value
/rgb RGB цвет r,g,b или r,g,b,w
/fan Вентилятор HIGH, MED, LOW, AUTO, OFF или число
/mode Режим работы HEAT, COOL, AUTO, DRY
/ctrl Управление ENABLE, DISABLE, FREEZE, UNFREEZE
/del Задержка "ON 5000"

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