Files
lighthub/documentation/suffixes_reference_v2.md

17 KiB
Raw Blame History

Справочник суффиксов LightHub

Инженерный справочник всех суффиксов MQTT топиков для управления каналами LightHub. Источник: wiki.lazyhome.ru — работа с MQTT


Что такое суффикс?

Суффикс — это завершающая часть MQTT топика, которая определяет какое свойство объекта меняется.

Анатомия полного топика

myhome/in/lamp_bedroom/set
└─────┘ └─┘ └───────────┘ └──┘
  root  bcst  item_name  suffix

Категории суффиксов

1 Основные суффиксы (для всех типов каналов)

Суффикс Вход Выход Назначение Диапазон
/cmd Команда управления (ON, OFF, TOGGLE) Текст (команда)
/set Установка численного значения 0-255 (новый) или 0-100 (OpenHab)
/val Текущее значение (только выход) 0-255
/del Команда с задержкой Текст (команда + время)

2 Цветовые суффиксы (RGB/RGBW/RGBWW)

Суффикс Вход Выход Назначение Диапазон
/hue Оттенок (HSV) 0-365°
/sat Насыщенность (HSV) 0-100%
/hsv Полный цвет (hue,sat,val) H,S,V
/rgb Цвет в RGB/RGBW нотации R,G,B или R,G,B,W

Примеры:

# Установить красный цвет (hue=0)
myhome/in/rgb_light/hue → 0

# Установить насыщенность 50%
myhome/in/rgb_light/sat → 50

# Установить HSV 240,100,200 (синий максимум)
myhome/in/rgb_light/hsv → 240,100,200

# Установить RGB красный
myhome/in/rgb_light/rgb → 255,0,0

# Установить RGBW
myhome/in/rgb_light/rgb → 255,0,0,100

Особенности HSV:

  • — красный
  • 60° — желтый
  • 120° — зеленый
  • 180° — голубой
  • 240° — синий
  • 300° — магента

3 Суффиксы кондиционера (AC)

Суффикс Вход Выход Назначение Значения
/cmd Включить/выключить кондиционер ON, OFF, TOGGLE
/mode Режим работы HEAT, COOL, AUTO, DRY, FAN_ONLY
/set Установленная температура 16-30 (или диапазон устройства)
/fan Скорость вентилятора HIGH, MED, LOW, AUTO
/lock Блокировка ПДУ ON, OFF
/swing Направление воздушного потока ON, OFF
/quiet Режим "тихой работы" ON, OFF

Примеры:

# Включить кондиционер
myhome/in/ac_main/cmd → ON

# Установить режим нагрева
myhome/in/ac_main/mode → HEAT

# Установить температуру 22°C
myhome/in/ac_main/set → 22

# Максимальная скорость вентилятора
myhome/in/ac_main/fan → HIGH

# Включить тихий режим
myhome/in/ac_main/quiet → ON

Логика срабатывания AC:

  • При получении команды на /cmd кондиционер сохраняет последний режим, температуру и скорость вентилятора
  • При выключении (OFF) эти значения восстанавливаются при включении (ON)

4 Суффиксы воздушного отопления (Multivent)

Суффикс Вход Выход Назначение Диапазон
/cmd Включить/выключить ON, OFF, TOGGLE
/set Установленная температура Текущее значение
/fan Скорость вентилятора HIGH, MED, LOW
/mode Режим работы HEAT, AUTO, COOL

Структура многозональной вентиляции:

{
  "items": {
    "multivent": [
      17,
      {
        "bedroom": {"set": "multivent/bedroom/set"},
        "kitchen": {"set": "multivent/kitchen/set"},
        "bathroom": {"set": "multivent/bathroom/set"}
      }
    ]
  }
}

MQTT топики для subitem-ов:

# Спальня — установить T
myhome/in/multivent/bedroom/set → 21

# Кухня — установить T
myhome/in/multivent/kitchen/set → 22

# Ванная — включить вентилятор
myhome/in/multivent/bathroom/fan → HIGH

5 Суффиксы термостата (PID контроллер)

Суффикс Вход Выход Назначение Диапазон
/cmd Включить/выключить регулировку ON, OFF, TOGGLE
/set Установленная температура Температура в °C
/ctrl Управление состоянием ENABLE, DISABLE
/mode Режим (теплые полы) HEAT, AUTO, OFF

Примеры:

# Включить теплые полы
myhome/in/floor/cmd → ON

# Установить температуру 25°C
myhome/in/floor/set → 25

# Включить автоматический режим
myhome/in/floor/mode → AUTO

# Разрешить управление (если было запрещено)
myhome/in/floor/ctrl → ENABLE

Состояние-зависимые команды:

Для сложного сценария можно использовать subitem как условие — контроллер только выполнит команду, если item находится в этом состоянии.

# Включить режим HEAT только если установлен режим HEAT
myhome/in/floor/HEAT/cmd → ON

# Выключить режим OFF только если уже в режиме OFF
myhome/in/floor/OFF/cmd → OFF

6 Суффиксы для импульсных каналов и ШИМ

Суффикс Вход Выход Назначение Диапазон
/cmd Включить/выключить (импульсный выход) ON, OFF, TOGGLE
/set Скважность ШИМ 0-255
/del через какое время выполнить ON ВРЕМЯ_МС

Примеры:

# Импульс реле (включить на 3 сек, потом выключить)
myhome/in/gate/cmd → "ON 3000"

# ШИМ вентилятор 50%
myhome/in/fan/set → 128

# Активировать сирену через 5 сек 
myhome/in/siren/del → "ON 5000"

7 Суффиксы для управления состоянием

Суффикс Использование Назначение Примеры
/ctrl Все Специальное управление состоянием ENABLE, DISABLE, FREEZE, UNFREEZE
Условный subitem Строки состояния Выполнить команду при условии /AUTO, /OFF, /ON, /HEAT, /COOL

Примеры управления:

# Заморозить (запретить изменения, но не выключать)
myhome/in/light/ctrl → FREEZE

# Разморозить
myhome/in/light/ctrl → UNFREEZE

# Выполнить включение только если в режиме OFF
myhome/in/device/OFF/cmd → ON
# (не выполнится, если device уже ON)

# Выполнить команду только в режиме HEAT (для AC)
myhome/in/ac/HEAT/set → 25
# (установит 25°C только если AC в режиме HEAT)

Таблица применимости суффиксов по типам каналов

По типам из конфигурации

Тип канала Суффиксы Примеры
0 — CH_DIMMER /cmd, /set, /val Лампа, светодиод
1 — CH_RELAY /cmd, /set, /val, /del Реле, розетка
2 — CH_TRIGGER /cmd, /del Кнопка, импульс
10 — CH_RGB /cmd, /set, /hue, /sat, /hsv, /rgb RGB лента, LED
11 — CH_RGBW /cmd, /set, /hue, /sat, /hsv, /rgb RGBW люстра
12 — CH_RGBWW /cmd, /set, /hue, /sat, /hsv, /rgb Теплый+холодный RGB
13 — CH_AC /cmd, /set, /mode, /fan, /lock, /swing, /quiet Кондиционер
15 — CH_PID /cmd, /set, /ctrl, /mode PID регулятор, теплые полы
17 — CH_MULTIVENT /cmd, /set, /fan, /mode + subitem-ы Многозональная вентиляция
2 — CH_GPIO /cmd, /set GPIO контроль
3 — CH_PWM /cmd, /set, /val PWM вывод

Примеры сценариев

Сценарий 1: Управление RGB лампой

Конфигурация:

"items": {
  "rgb_lamp": [10, 1]
}

Команды:

# Включить белый (полная насыщенность)
myhome/in/rgb_lamp/sat → 0

# Установить красный цвет
myhome/in/rgb_lamp/hue → 0

# Установить желтый на 80% яркости
myhome/in/rgb_lamp/hsv → 60,100,200

# Выключить
myhome/in/rgb_lamp/cmd → OFF

Сценарий 2: Система управления кондиционером

Конфигурация:

"items": {
  "ac_hallway": [13, {
    "mode": {"emit": "ac/mode"},
    "temp": {"emit": "ac/temp"}
  }]
}

Команды:

# Включить, установить HEAT, 22°C, вентилятор на максимум
myhome/in/ac_hallway/cmd → ON
myhome/in/ac_hallway/mode → HEAT
myhome/in/ac_hallway/set → 22
myhome/in/ac_hallway/fan → HIGH

# Выключить
myhome/in/ac_hallway/cmd → OFF

# Ответы от контроллера
myhome/s_out/ac_hallway/cmd → ON
myhome/s_out/ac_hallway/mode → HEAT
myhome/s_out/ac_hallway/set → 22
myhome/s_out/ac_hallway/fan → HIGH

Сценарий 3: Управление теплыми полами (PID)

Конфигурация:

"items": {
  "floor_heating": [15, 4]
}

Команды:

# Включить отопление
myhome/in/floor_heating/cmd → ON

# Установить температуру 24°C
myhome/in/floor_heating/set → 24

# Установить режим AUTO (включить, если T < установленной)
myhome/in/floor_heating/mode → AUTO

# Заморозить (не менять значение)
myhome/in/floor_heating/ctrl → FREEZE

# Разморозить
myhome/in/floor_heating/ctrl → UNFREEZE

Сценарий 4: Многозональная вентиляция

Конфигурация:

"items": {
  "multivent": [17, {
    "bedroom": {"set": "multivent/bedroom/set"},
    "kitchen": {"set": "multivent/kitchen/set"}
  }]
}

Команды:

# Спальня: установить 21°C
myhome/in/multivent/bedroom/set → 21

# Кухня: установить 20°C
myhome/in/multivent/kitchen/set → 20

# Оба: включить вентилятор на максимум
myhome/in/multivent/cmd → ON
myhome/in/multivent/fan → HIGH

# Ответы
myhome/s_out/multivent/bedroom/val → 21.5
myhome/s_out/multivent/kitchen/val → 20.2

Диапазоны значений и конвертация

Различие между /cmd и /set

Параметр /cmd /set
Тип данных Текст (команда) Число (значение)
Диапазон (новый) Команды 0-255
Диапазон (OpenHab) Команды 0-100
Примеры ON, OFF, TOGGLE 128, 255
Когда использовать Нужна команда (ON/OFF) Нужно установить значение

Автоматическая нормализация

Контроллер автоматически конвертирует:

/set → 0-100 → 0-255 при отправке на устройство
/set → 0-255 → 0-100 при отправке в OpenHab совместимость

Специальные диапазоны

Суффикс Диапазон Особенность
/set 0-255 или 0-100 Зависит от конфигурации
/hue 0-365 Градусы в цветовом круге (0=красный)
/sat 0-100 Проценты (0=белый, 100=полная насыщенность)
/fan HIGH, MED, LOW Текстовые значения
/mode HEAT, COOL, AUTO... Текстовые команды

Связь между суффиксами

Синергия RGB суффиксов

Команда          Результат
────────────────────────────────────────
/cmd → ON        Включить, восстановить последний цвет
/cmd → OFF       Выключить
/hue → 240       Поменять оттенок на синий
/sat → 50        Поменять насыщенность
/hsv → 240,100,255  Установить полный цвет (синий максимум)
/rgb → 0,0,255   Установить синий RGB

Публикуемые значения:

myhome/s_out/rgb_lamp/hue → 240
myhome/s_out/rgb_lamp/sat → 100
myhome/s_out/rgb_lamp/val → 255
myhome/s_out/rgb_lamp/cmd → ON

Синергия AC суффиксов

Команда                    Состояние
────────────────────────────────────────
/cmd → ON                  Включить (восстановить режим/T)
/mode → HEAT               Установить режим нагрева
/set → 22                  Установить 22°C
/fan → HIGH                Максимальная скорость вентилятора
/lock → ON                 Заблокировать ПДУ (только кондиционер)
/swing → ON                Включить направление воздуха
/quiet → ON                Тихий режим

Видео-примеры и интеграции

Home Assistant интеграция

switch:
  - platform: mqtt
    name: "Лампа спальня"
    command_topic: "myhome/in/lamp_bedroom/cmd"
    state_topic: "myhome/s_out/lamp_bedroom/cmd"
    payload_on: "ON"
    payload_off: "OFF"
    
light:
  - platform: mqtt
    name: "RGB лампа"
    command_topic: "myhome/in/rgb_lamp/cmd"
    brightness_command_topic: "myhome/in/rgb_lamp/set"
    brightness_state_topic: "myhome/s_out/rgb_lamp/val"
    hs_command_topic: "myhome/in/rgb_lamp/hsv"
    hs_state_topic: "myhome/s_out/rgb_lamp/hsv"
    payload_on: "ON"
    payload_off: "OFF"

Иных систем управления

Большинство MQTT систем (OpenHAB, Home Assistant, Node-Red и др.) поддерживают:

  • /cmd — переключатели (ON/OFF)
  • /set — диммеры (0-100 или 0-255)
  • /val — датчики (показания)
  • Цветовые суффиксы /hue, /sat

Версия документа: 2.0 (обновлено для соответствия wiki.lazyhome.ru)
Последнее обновление: 2024
Источник: https://www.lazyhome.ru/dokuwiki/doku.php?id=%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_mqtt