LightHub: Инженерная документация (Индекс)
Полная инженерная документация системы LightHub
Версия ядра: CH_DIMMER (0) - CH_MERCURY (22)
Дата актуализации: 2025-01-24
📚 Структура документации
Основные документы
- light_hub_полное_инженерное_описание_json_конфигурации_v2.md ⭐ НАЧНИТЕ ОТСЮДА
- Полное описание структуры JSON конфигурации
- Все секции: mqtt, topics, modbus, items, in
- Инженерные принципы конфигурирования
- Полный пример реальной конфигурации
Справочники
🆕 MQTT API и топики:
-
mqtt_api_reference.md — ⭐ ПОЛНЫЙ справочник MQTT API
- Структура MQTT топиков:
root/[id или bcst или out]/item/[subitem]/suffix - Три типа топиков: широковещательные команды, индивидуальные команды, статусные
- Таблица суффиксов с применимостью
- HTTP API endpoints (
/item/<name>,/config.json,/command) - Примеры MQTT команд и HTTP curl запросов
- Восстановление состояния при старте контроллера
- Диагностика MQTT подключения
- Структура MQTT топиков:
-
suffixes_reference_v2.md — ⭐ ИСПРАВЛЕННЫЙ справочник суффиксов
- Правильная структура суффиксов согласно wiki.lazyhome.ru
- 7 категорий: основные, цветовые, AC, Multivent, PID, ШИМ, управление состоянием
- Таблица применимости по типам каналов (CH_DIMMER, CH_RGB, CH_AC и др.)
- Диапазоны значений: 0-100 vs 0-255, /hue 0-365°, /sat 0-100%
- Примеры сценариев для каждого типа канала
Основные справочники:
-
channel_types_reference.md — Справочник типов каналов (0-22)
- Таблица всех типов каналов с кодами
- Текстовые обозначения и английские названия
- Синтаксис конфигурации для каждого типа
- Визуализация иерархии типов
-
suffixes_reference.md — Справочник суффиксов параметров (архив)
- Старая версия справочника (см. suffixes_reference_v2.md)
-
technical_channel_types_table.md — Подробные технические таблицы
- Таблицы параметров для каждого типа
- Значения по умолчанию и ограничения
- Специфика работы каждого типа
Модули и компоненты
-
modules_description.md — Описание модулей
- out_Multivent — многозональная вентиляция
- out_AC — управление кондиционером
- out_PID — PID регулятор
- out_Motor — управление двигателем
- И другие модули...
-
multivent_module_description.md — Многозональная вентиляция (подробно)
-
modules_real_config.md — Реальные конфигурации модулей
🎯 Быстрый старт по задачам
Задача: Управлять LED светом через MQTT
- Откройте mqtt_api_reference.md — чтобы понять структуру топиков
- Выберите тип канала: CH_RGB (10), CH_RGBW (11) или CH_RGBWW (12)
- Найдите примеры в configuration_examples.md
- Используйте MQTT команды из suffixes_reference_v2.md:
myhome/in/rgb_lamp/hue → 240 (установить синий) myhome/in/rgb_lamp/sat → 100 (полная насыщенность) myhome/in/rgb_lamp/set → 200 (яркость 200) - Получите ответы в статусных топиках:
myhome/s_out/rgb_lamp/hue → 240 myhome/s_out/rgb_lamp/sat → 100 myhome/s_out/rgb_lamp/val → 200
Задача: Управлять кондиционером через MQTT
- Откройте mqtt_api_reference.md — раздел "Суффиксы кондиционера (AC)"
- Найдите CH_AC (13) в configuration_examples.md
- Используйте MQTT команды из suffixes_reference_v2.md:
myhome/in/ac_main/cmd → ON (включить) myhome/in/ac_main/mode → HEAT (режим нагрева) myhome/in/ac_main/set → 22 (температура 22°C) myhome/in/ac_main/fan → HIGH (вентилятор на максимум) - Получите ответы в статусных топиках:
myhome/s_out/ac_main/cmd → ON myhome/s_out/ac_main/mode → HEAT myhome/s_out/ac_main/set → 22
Задача: Настроить многозональную вентиляцию
- Прочитайте multivent_module_description.md
- Найдите CH_MULTIVENT (18) в configuration_examples.md
- Добавьте зоны в массив
"зоны": {...} - Настройте PID параметры
[Kp, Ki, Kd, dT] - Привяжите MQTT топики через
"emit"
Задача: Создать систему с входами (кнопки, датчики)
- Прочитайте раздел "Секция
in" в light_hub_полное_инженерное_описание_json_конфигурации_v2.md - Определите GPIO пины входов (37, 38, 39, и т.д.)
- Привяжите их к объектам через
"item": "имя_канала" - Используйте команды
scmd,rcmdдля действий - Используйте
"emit"для публикации событий в MQTT
📖 Таблица типов каналов
| Код | Тип | Применение | Ссылка на пример |
|---|---|---|---|
| 0 | DMX | Диммер через DMX 512 | ⬇️ |
| 1 | DMXRGBW | RGB+White через DMX | ⬇️ |
| 2 | DMXRGB | RGB через DMX | ⬇️ |
| 3 | PWM | GPIO PWM | ⬇️ |
| 4 | MBUSDIM | Modbus AC Dimmer (Legacy) | ⬇️ |
| 5 | THERMO | ON/OFF Термостат | ⬇️ |
| 6 | RELAY | GPIO Реле | ⬇️ |
| 7 | GROUP | Группа каналов | ⬇️ |
| 8 | VCTEMP | Vacom PID Терморегулятор | ⬇️ |
| 9 | MBUSVC | Vacom Мотор | ⬇️ |
| 10 | ACHAIER | Кондиционер Haier | ⬇️ |
| 11 | SPILED | SPI LED Лента | ⬇️ |
| 12 | MOTOR | Шаговый двигатель | ⬇️ |
| 13 | PID | PID Регулятор | ⬇️ |
| 14 | MBUS | Universal Modbus | ⬇️ |
| 15 | UARTBRDG | UART Мост | ⬇️ |
| 16 | RELAYX | Медленный PWM реле | ⬇️ |
| 17 | DMXRGBWW | RGBWW через DMX | ⬇️ |
| 18 | VENTS | Многозональная вентиляция | ⬇️ |
| 19 | ELEVATOR | Лифт | - (TBD) |
| 20 | COUNTER | Счётчик импульсов | ⬇️ |
| 21 | HUM | Увлажнитель | ⬇️ |
| 22 | MERCURY | Счётчик энергии | ⬇️ |
📊 Таблица суффиксов MQTT
| Суффикс | Назначение | Применимо к |
|---|---|---|
/cmd |
Команда управления | Все типы |
/val |
Текущее значение (статус) | Все типы |
/set |
Установка значения | Диммеры, регуляторы |
/hue |
Оттенок (0-359°) | RGB/RGBW/RGBWW |
/sat |
Насыщенность (0-100%) | RGB/RGBW/RGBWW |
/temp |
Температура цвета (K) | RGB/RGBW/RGBWW |
/fan |
Скорость вентилятора | AC, Multivent, Vacom |
/mode |
Режим работы | AC, Multivent |
/raw |
JSON формат (отладка) | Все типы |
🔗 Инструменты и утилиты
JSON Валидаторы
- JSONLint — проверка синтаксиса JSON
- JSON Online Editor — визуализация структуры
Инженерные калькуляторы
- Масштабирование значений:
value_out = (value_in - min_in) / (max_in - min_in) * (max_out - min_out) + min_out - Коэффициенты PID (для запуска):
Kp = 1.0, Ki = 0.05, Kd = 0.02, dT = 5.0
🛠️ Отладка конфигурации
Проверка синтаксиса
# Скопируйте конфигурацию в JSONLint или используйте Python:
python3 -m json.tool config.json
Логирование Modbus
Если Modbus устройство не отвечает:
- Проверьте baudrate (по умолчанию 9600)
- Проверьте адрес устройства
- Проверьте регистры (должны быть доступны для чтения)
- Включите syslog для отладки
MQTT Отладка
# Подпишитесь на все топики
mosquitto_sub -h 192.168.88.2 -t "myhome/#" -v
# Отправьте команду
mosquitto_pub -h 192.168.88.2 -t "myhome/dev/lamp/cmd" -m "ON"
⚡ Инженерные правила
Правило 1: Сначала структура
Modbus шаблон (в "modbus")
↓
Item (в "items")
↓
MQTT привязка (через "emit")
↓
Входы (в "in", опционально)
Правило 2: Минимизируй poll
- DMX: нет опроса (output only)
- RS485 Modbus: не менее 100 мс задержки
- 1-Wire: 500-1000 мс
- GPIO входы: 10-50 мс
Правило 3: Используй GROUP для синхронизации
"lights_all": [7, ["lamp1", "lamp2", "lamp3"]],
// Теперь можно управлять всеми сразу:
// myhome/dev/lights_all/cmd → ON
Правило 4: Подробное имя = легче найти
"lamp_bedroom_ceiling": [0, 1], // ✓ Хорошо
"lamp1": [0, 1] // ✗ Плохо
📞 Получить помощь
- GitHub репозиторий: https://github.com/anklimov/lighthub
- Официальный сайт: https://lazyhome.ru
- Документация Wiki: https://www.lazyhome.ru/dokuwiki/
📝 История версий
| Версия | Дата | Изменения |
|---|---|---|
| 2.0 | 2025-01-24 | Полная актуализация документации для ядра CH_DIMMER (0) - CH_MERCURY (22) |
| 1.0 | 2024-12-16 | Исходная версия |
✅ Чек-лист перед запуском
- JSON синтаксис проверен (JSONLint)
- Все GPIO пины уникальны (нет конфликтов)
- Все Modbus адреса доступны
- MQTT брокер доступен и запущен
- Все типы каналов в диапазоне 0-22
- Содержатся ли необходимые секции (mqtt, items)
- Проверены все MQTT топики
- Запасная копия конфигурации сохранена
📌 Важные замечания
⚠️ БЕЗОПАСНОСТЬ:
- Не сохраняйте пароли MQTT в конфигурации!
- Используйте CLI для установки пароля
⚠️ ПРОИЗВОДИТЕЛЬНОСТЬ:
- Максимум 1000 items рекомендуется для стабильной работы
- Не устанавливайте poll менее 50 мс для RS485
⚠️ СОВМЕСТИМОСТЬ:
- Эта документация актуальна для ядра с типами 0-22
- Убедитесь, что ваша версия LightHub поддерживает нужные типы
Последнее обновление: 24 января 2026 г.
Актуально для: LightHub Core v2.x
Автор: Документация LightHub Project
Лицензия: Apache 2.0