# LightHub: Справочник суффиксов и параметров > **Инженерный справочник** суффиксов для обращения к различным параметрам каналов в MQTT и при программном управлении. > Актуально для версии ядра. Источник: [lighthub/item.h](../lighthub/item.h) --- ## Таблица суффиксов | Код | Суффикс | Назв. констаны | Описание | Применяемость | Пример | |-----|---------|---|---------|---------|---------| | **0** | (не используется) | `S_NOTFOUND` | Суффикс не найден или корневой параметр | - | `channel_name` | | **1** | `/cmd` | `S_CMD` | Команда управления (ON, OFF, SET и др.) | Все типы каналов | `lamp/cmd` → ON | | **2** | `/set` | `S_SET` | Установка значения для регулирующих каналов | Регулирующие (DMX, PWM, PID) | `dimmer/set` → 150 | | **3** | `/val` | `S_VAL` | Текущее значение (статус канала) | Все типы каналов | `dimmer/val` → 100 | | **4** | `/del` | `S_DELAYED` | Отложенная команда (выполнится позже) | Логирование | `lamp/del` | | **5** | `/HSV` | `S_HSV` | Цвет в формате HSV (Hue, Saturation, Value) | RGB/RGBW/RGBWW каналы | `lamp/HSV` → 120,255,200 | | **6** | `/RGB` | `S_RGB` | Цвет в формате RGB (Red, Green, Blue) | RGB/RGBW/RGBWW каналы | `lamp/RGB` → 255,128,0 | | **7** | `/fan` | `S_FAN` | Скорость вентилятора | Multivent, Vacom, AC | `ac/fan` → 2 | | **8** | `/mode` | `S_MODE` | Режим работы | AC, Multivent, регуляторы | `ac/mode` → HEAT | | **9** | `/ctrl` | `S_CTRL` | Управление (дублирует функцию /cmd) | Специальные случаи | `channel/ctrl` | | **10** | `/hue` | `S_HUE` | Оттенок (Hue, 0-359°) | RGB/RGBW/RGBWW каналы | `lamp/hue` → 240 | | **11** | `/sat` | `S_SAT` | Насыщенность (Saturation, 0-100%) | RGB/RGBW/RGBWW каналы | `lamp/sat` → 80 | | **12** | `/temp` | `S_TEMP` | Температура цвета (Color Temp, K) | RGB/RGBW/RGBWW каналы | `lamp/temp` → 6500 | | **13** | `/raw` | `S_RAW` | Сырые данные (itemCmd в JSON формате) | Отладка, интеграция | `channel/raw` → {...} | --- ## Примеры использования по типам каналов ### Реле (CH_RELAY - 6) ``` myhome/dev/relay1/cmd ← ON / OFF / TOGGLE myhome/dev/relay1/val ← 0 или 1 (текущее состояние) myhome/dev/relay1/set ← 1 (включить) / 0 (выключить) ``` ### DMX/PWM диммер (CH_DIMMER - 0, CH_PWM - 3) ``` myhome/dev/dimmer/cmd ← ON, OFF, SET myhome/dev/dimmer/val ← 0-255 (текущая яркость) myhome/dev/dimmer/set ← 100 (установить яркость 100/255) myhome/dev/dimmer/set ← 50% (установить яркость 50%) myhome/dev/dimmer/set ← UP / DOWN ``` ### RGB светильник (CH_RGB - 2, CH_RGBW - 1, CH_RGBWW - 17) ``` # Управление цветом (HSV формат) myhome/dev/rgb_lamp/hue ← 240 (0-359°, синий) myhome/dev/rgb_lamp/sat ← 100 (0-100%, насыщенность) myhome/dev/rgb_lamp/val ← 200 (0-255, яркость) # Управление цветом (RGB формат) myhome/dev/rgb_lamp/RGB ← 255,0,0 (красный) myhome/dev/rgb_lamp/RGB ← 0,255,0 (зелёный) myhome/dev/rgb_lamp/RGB ← 0,0,255 (синий) # RGBW (с белым каналом) myhome/dev/rgbw_lamp/RGB ← 255,128,0,100 (RGB + White) # RGBWW (RGB + тёплый + холодный белый) myhome/dev/rgbww_lamp/RGB ← 255,128,0,200,50 (RGB + Warm + Cold) # Температура цвета myhome/dev/rgb_lamp/temp ← 3000 (тёплый, 3000K) myhome/dev/rgb_lamp/temp ← 6500 (дневной, 6500K) ``` ### Термостат (CH_THERMO - 5) ``` myhome/dev/thermo_bath/cmd ← ON / OFF myhome/dev/thermo_bath/val ← 1 или 0 (статус нагрева) myhome/dev/thermo_bath/set ← 25 (установить целевую температуру) ``` ### Группа каналов (CH_GROUP - 7) ``` myhome/dev/lights_all/cmd ← ON (включит ВСЕ люстры в группе) myhome/dev/lights_all/cmd ← OFF (выключит ВСЕ люстры в группе) myhome/dev/lights_all/cmd ← TOGGLE (переключит ВСЕ) ``` ### PID регулятор (CH_PID - 13) ``` myhome/dev/pid_heat/cmd ← ON / OFF / SET myhome/dev/pid_heat/val ← текущее значение выхода (0-255) myhome/dev/pid_heat/set ← требуемое значение процесса ``` ### Кондиционер Haier (CH_AC - 10) ``` myhome/dev/ac/cmd ← ON / OFF myhome/dev/ac/mode ← COOL / HEAT / FAN / DRY / AUTO myhome/dev/ac/fan ← 0, 1, 2, 3 (скорость вентилятора) myhome/dev/ac/val ← текущая температура (в помещении) myhome/dev/ac/set ← 22 (установить целевую T) ``` ### Многозональная вентиляция (CH_MULTIVENT - 18) ``` # Основной контроллер myhome/dev/vents/cmd ← ON / OFF myhome/dev/vents/val ← текущая T (комната) myhome/dev/vents/mode ← режим # Для зоны "спальня" (через subitems) myhome/dev/vents/bedroom/cmd ← управление зоной myhome/dev/vents/bedroom/val ← T в спальне myhome/dev/vents/bedroom/fan ← открытие жалюзи спальни myhome/dev/vents/bedroom/set ← уставка T в спальне ``` ### Счётчик импульсов (CH_COUNTER - 20) ``` myhome/dev/energy_meter/val ← текущее значение (кВт·ч) myhome/dev/gas_meter/val ← текущее значение (м³) ``` --- ## Специальные команды управления ### Основные команды (работают с большинством каналов) | Команда | Код | Описание | |---------|-----|---------| | `ON` | 1 | Включить | | `OFF` | 0 | Выключить | | `TOGGLE` | 2 | Переключить состояние | | `SET` | 4 | Установить значение | ### Команды изменения значения | Команда | Описание | |---------|---------| | `UP` | Увеличить на 1 | | `DOWN` | Уменьшить на 1 | | `INCREASE` | Плавно увеличить | | `DECREASE` | Плавно уменьшить | ### Команды расписания | Команда | Описание | |---------|---------| | `FREEZE` | Заморозить текущее состояние | | `UNFREEZE` | Разморозить | | `HALT` | Остановить (аварийная остановка) | | `RESTORE` | Восстановить последнее состояние | --- ## Форматирование значений в MQTT ### Числовые значения ``` myhome/dev/dimmer/set ← 150 # абсолютное значение (0-255) myhome/dev/dimmer/set ← 50% # процент myhome/dev/dimmer/set ← UP 10 # с модификатором ``` ### Цветовые значения ``` # RGB myhome/dev/lamp/RGB ← 255,0,0 # красный myhome/dev/lamp/RGB ← #FF0000 # красный (hex) # HSV myhome/dev/lamp/HSV ← 0,100,100 # красный (полная насыщенность) myhome/dev/lamp/HSV ← 120,100,100 # зелёный myhome/dev/lamp/HSV ← 240,100,100 # синий ``` ### Текстовые команды ``` myhome/dev/relay/cmd ← ON myhome/dev/relay/cmd ← OFF myhome/dev/relay/cmd ← TOGGLE myhome/dev/ac/mode ← HEAT myhome/dev/ac/mode ← COOL ``` --- ## JSON формат (subitems) Для каналов с подпараметрами используется специальный JSON формат: ```json { "item": "multizone_ac/bedroom", "cmd": "SET", "val": 22, "suffix": "set" } ``` Или через MQTT топик: ``` myhome/dev/multizone_ac/bedroom/set ← 22 ``` --- ## Приоритет суффиксов При обработке команды LightHub проверяет суффиксы в следующем порядке: 1. Явный суффикс в команде (`/cmd`, `/val`, `/set`, etc.) 2. Суффикс по умолчанию для типа канала 3. Корневой параметр (если суффиксов нет) **Пример**: ``` # Команда с явным суффиксом имеет приоритет myhome/dev/lamp/cmd ← ON # выполнится как команда ON # Без суффикса используется суффикс по умолчанию myhome/dev/lamp ← ON # может интерпретироваться как SET ``` --- ## Статус канала (ответ контроллера) Контроллер публикует текущий статус в топик: ``` myhome/s_out// ``` Пример: ``` myhome/s_out/lamp1/val # яркость лампы 1 myhome/s_out/lamp1/cmd # последняя выполненная команда myhome/s_out/rgb_lamp/hue # текущий оттенок myhome/s_out/rgb_lamp/sat # текущая насыщенность myhome/s_out/ac/mode # текущий режим кондиционера ``` --- ## Особенности отдельных типов ### RGB каналы с коррекцией белого (RGBWW) **RGBWW формат**: `R,G,B,WarmWhite,ColdWhite` ``` # Пример: розовый свет (красный + тёплый белый) myhome/dev/led/RGB ← 255,0,0,100,0 # Нейтральный белый (комбинация тёплого и холодного) myhome/dev/led/RGB ← 0,0,0,128,128 # Холодный белый myhome/dev/led/RGB ← 0,0,0,0,255 ``` ### Multivent суффиксы для отдельных зон Для зон используются дополнительные параметры: ``` myhome/dev/multivent/bedroom/fan ← 50 # открытие жалюзи myhome/dev/multivent/bedroom/mode ← HEAT # режим нагрева myhome/dev/multivent/bedroom/set ← 23 # уставка температуры myhome/dev/multivent/bedroom/val ← текущая T в спальне ``` --- ## Отладка через /raw суффикс Для отладки и развёрнутого логирования можно использовать суффикс `/raw`: ``` myhome/dev/lamp/raw ← получить полное описание состояния в JSON ``` Ответ: ```json { "cmd": 1, "val": 150, "type": 0, "arg": [1], "suffix": 0 } ``` --- ## Таблица соответствия суффиксов и типов каналов | Тип | /cmd | /val | /set | /hue | /sat | /temp | /fan | /mode | |-----|:----:|:----:|:----:|:----:|:----:|:-----:|:----:|:-----:| | RELAY (6) | ✓ | ✓ | - | - | - | - | - | - | | DMX (0) | ✓ | ✓ | ✓ | - | - | - | - | - | | PWM (3) | ✓ | ✓ | ✓ | - | - | - | - | - | | RGB (2) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | - | | RGBW (1) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | - | | RGBWW (17) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | - | | THERMO (5) | ✓ | ✓ | ✓ | - | - | - | - | - | | PID (13) | ✓ | ✓ | ✓ | - | - | - | - | - | | AC (10) | ✓ | ✓ | ✓ | - | - | - | ✓ | ✓ | | MULTIVENT (18) | ✓ | ✓ | ✓ | - | - | - | ✓ | ✓ | | GROUP (7) | ✓ | ✓ | - | - | - | - | - | - | | COUNTER (20) | - | ✓ | - | - | - | - | - | - | | MOTOR (12) | ✓ | ✓ | ✓ | - | - | - | - | - | --- ## Примеры реальных MQTT команд ### Включение всех светильников в комнате ``` myhome/dev/lights_hall/cmd ON ``` ### Установка яркости на 50% ``` myhome/dev/dimmer1/set 128 ``` ### Установка цвета RGB лампы на синий с 80% яркостью ``` myhome/dev/lamp_rgb/hue 240 myhome/dev/lamp_rgb/sat 100 myhome/dev/lamp_rgb/val 200 ``` ### Включение кондиционера в режим охлаждения при 22°C ``` myhome/dev/ac/cmd ON myhome/dev/ac/mode COOL myhome/dev/ac/set 22 ``` ### Нагрев в спальне многозональной системы до 23°C ``` myhome/dev/multivent/bedroom/set 23 myhome/dev/multivent/bedroom/mode HEAT ``` --- ## Полезные ссылки - [Справочник типов каналов](channel_types_reference.md) - [Полное описание конфигурации](light_hub_полное_инженерное_описание_json_конфигурации.md) - [Описание модулей](modules_description.md) - [Исходный код item.h](../lighthub/item.h)