mirror of
https://github.com/anklimov/lighthub
synced 2026-03-13 21:06:31 +03:00
9.7 KiB
9.7 KiB
Шпаргалка 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" |
Дополнительно:
- Полный справочник: mqtt_api_reference.md
- Справочник суффиксов: suffixes_reference_v2.md
- Примеры конфигураций: configuration_examples.md