mirror of
https://github.com/anklimov/lighthub
synced 2026-03-14 05:16:31 +03:00
Multi - AC (betta) and some AI generated docs (not fully verefied)
This commit is contained in:
292
documentation/mqtt_quick_reference.md
Normal file
292
documentation/mqtt_quick_reference.md
Normal file
@@ -0,0 +1,292 @@
|
||||
# Шпаргалка 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` (ответ контроллера) |
|
||||
|
||||
---
|
||||
|
||||
## Базовые команды управления
|
||||
|
||||
### Включение/выключение
|
||||
|
||||
```bash
|
||||
# Включить лампу (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"
|
||||
```
|
||||
|
||||
### Установка яркости
|
||||
|
||||
```bash
|
||||
# Установить яркость 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)
|
||||
|
||||
```bash
|
||||
# Оттенок (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
|
||||
|
||||
```bash
|
||||
# Красный 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"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Управление кондиционером
|
||||
|
||||
```bash
|
||||
# Включить кондиционер
|
||||
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)
|
||||
|
||||
```bash
|
||||
# Включить
|
||||
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"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Многозональная вентиляция
|
||||
|
||||
```bash
|
||||
# Установить температуру в спальне
|
||||
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"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Команды с задержкой
|
||||
|
||||
```bash
|
||||
# Включить на 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"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Расширенные команды
|
||||
|
||||
```bash
|
||||
# Перевести в режим 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"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Подписка на статусные топики
|
||||
|
||||
```bash
|
||||
# Подписаться на все топики контроллера
|
||||
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)
|
||||
|
||||
```bash
|
||||
# Включить лампу через 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](mqtt_api_reference.md)
|
||||
- Справочник суффиксов: [suffixes_reference_v2.md](suffixes_reference_v2.md)
|
||||
- Примеры конфигураций: [configuration_examples.md](configuration_examples.md)
|
||||
Reference in New Issue
Block a user