mirror of
https://github.com/anklimov/lighthub
synced 2026-10-28 11:15:00 +00:00
sprinkler - dry mode presistence, states initial publishing. Mercury - longer timer, dox
This commit is contained in:
+42
-36
@@ -1,8 +1,8 @@
|
||||
# LightHub: Инженерная документация (Индекс)
|
||||
|
||||
> **Полная инженерная документация системы LightHub**
|
||||
> Версия ядра: CH_DIMMER (0) - CH_MERCURY (22)
|
||||
> Дата актуализации: 2025-01-24
|
||||
> Версия ядра: CH_DIMMER (0) - CH_SPRINKLER (23)
|
||||
> Дата актуализации: 2025-06-17
|
||||
|
||||
---
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
### Основные документы
|
||||
|
||||
1. **[light_hub_полное_инженерное_описание_json_конфигурации_v2.md](light_hub_полное_инженерное_описание_json_конфигурации_v2.md)** ⭐ **НАЧНИТЕ ОТСЮДА**
|
||||
1. **[light\_hub\_полное\_инженерное\_описание\_json\_конфигурации_v2.md](light_hub_полное_инженерное_описание_json_конфигурации_v2.md)** ⭐ **НАЧНИТЕ ОТСЮДА**
|
||||
- Полное описание структуры JSON конфигурации
|
||||
- Все секции: mqtt, topics, modbus, items, in
|
||||
- Инженерные принципы конфигурирования
|
||||
@@ -20,50 +20,50 @@
|
||||
|
||||
**🆕 MQTT API и топики:**
|
||||
|
||||
2. **[mqtt_api_reference.md](mqtt_api_reference.md)** — ⭐ ПОЛНЫЙ справочник MQTT API
|
||||
2. **[mqtt\_api\_reference.md](mqtt_api_reference.md)** — ⭐ ПОЛНЫЙ справочник MQTT API
|
||||
- Структура MQTT топиков: `root/[id или bcst или out]/item/[subitem]/suffix`
|
||||
- Три типа топиков: широковещательные команды, индивидуальные команды, статусные
|
||||
- Таблица суффиксов с применимостью
|
||||
- HTTP API endpoints (`/item/<name>`, `/config.json`, `/command`)
|
||||
- HTTP API endpoints (`/item/<name>`, `/config.json`, `/$command`)
|
||||
- Примеры MQTT команд и HTTP curl запросов
|
||||
- Восстановление состояния при старте контроллера
|
||||
- Диагностика MQTT подключения
|
||||
|
||||
3. **[suffixes_reference_v2.md](suffixes_reference_v2.md)** — ⭐ ИСПРАВЛЕННЫЙ справочник суффиксов
|
||||
3. **[suffixes\_reference\_v2.md](suffixes_reference_v2.md)** — ⭐ ИСПРАВЛЕННЫЙ справочник суффиксов
|
||||
- Правильная структура суффиксов согласно wiki.lazyhome.ru
|
||||
- 7 категорий: основные, цветовые, AC, Multivent, PID, ШИМ, управление состоянием
|
||||
- Таблица применимости по типам каналов (CH_DIMMER, CH_RGB, CH_AC и др.)
|
||||
- Таблица применимости по типам каналов (CH\_DIMMER, CH\_RGB, CH\_AC и др.)
|
||||
- Диапазоны значений: 0-100 vs 0-255, /hue 0-365°, /sat 0-100%
|
||||
- Примеры сценариев для каждого типа канала
|
||||
|
||||
**Основные справочники:**
|
||||
|
||||
4. **[channel_types_reference.md](channel_types_reference.md)** — Справочник типов каналов (0-22)
|
||||
4. **[channel\_types\_reference.md](channel_types_reference.md)** — Справочник типов каналов (0-23)
|
||||
- Таблица всех типов каналов с кодами
|
||||
- Текстовые обозначения и английские названия
|
||||
- Синтаксис конфигурации для каждого типа
|
||||
- Визуализация иерархии типов
|
||||
|
||||
5. **[suffixes_reference.md](suffixes_reference.md)** — Справочник суффиксов параметров (архив)
|
||||
- Старая версия справочника (см. suffixes_reference_v2.md)
|
||||
5. **[suffixes\_reference.md](suffixes_reference_v2.md)** — Справочник суффиксов параметров
|
||||
|
||||
|
||||
6. **[technical_channel_types_table.md](technical_channel_types_table.md)** — Подробные технические таблицы
|
||||
6. **[technical\_channel\_types\_table.md](technical_channel_types_table.md)** — Подробные технические таблицы
|
||||
- Таблицы параметров для каждого типа
|
||||
- Значения по умолчанию и ограничения
|
||||
- Специфика работы каждого типа
|
||||
|
||||
### Модули и компоненты
|
||||
|
||||
7. **[modules_description.md](modules_description.md)** — Описание модулей
|
||||
7. **[modules\_description.md](modules_description.md)** — Описание модулей
|
||||
- out_Multivent — многозональная вентиляция
|
||||
- out_AC — управление кондиционером
|
||||
- out_PID — PID регулятор
|
||||
- out_Motor — управление двигателем
|
||||
- И другие модули...
|
||||
|
||||
8. **[multivent_module_description.md](multivent_module_description.md)** — Многозональная вентиляция (подробно)
|
||||
8. **[multivent\_module\_description.md](multivent_module_description.md)** — Многозональная вентиляция (подробно)
|
||||
|
||||
9. **[modules_real_config.md](modules_real_config.md)** — Реальные конфигурации модулей
|
||||
9. **[modules\_real\_config.md](modules_real_config.md)** — Реальные конфигурации модулей
|
||||
|
||||
---
|
||||
|
||||
@@ -71,10 +71,10 @@
|
||||
|
||||
### Задача: Управлять LED светом через MQTT
|
||||
|
||||
1. Откройте [mqtt_api_reference.md](mqtt_api_reference.md) — чтобы понять структуру топиков
|
||||
1. Откройте [mqtt\_api\_reference.md](mqtt_api_reference.md) — чтобы понять структуру топиков
|
||||
2. Выберите тип канала: CH_RGB (10), CH_RGBW (11) или CH_RGBWW (12)
|
||||
3. Найдите примеры в [configuration_examples.md](configuration_examples.md)
|
||||
4. Используйте MQTT команды из [suffixes_reference_v2.md](suffixes_reference_v2.md):
|
||||
3. Найдите примеры в [configuration\_examples.md](configuration_examples.md)
|
||||
4. Используйте MQTT команды из [suffixes\_reference_v2.md](suffixes_reference_v2.md):
|
||||
```
|
||||
myhome/in/rgb_lamp/hue → 240 (установить синий)
|
||||
myhome/in/rgb_lamp/sat → 100 (полная насыщенность)
|
||||
@@ -89,9 +89,9 @@
|
||||
|
||||
### Задача: Управлять кондиционером через MQTT
|
||||
|
||||
1. Откройте [mqtt_api_reference.md](mqtt_api_reference.md) — раздел "Суффиксы кондиционера (AC)"
|
||||
2. Найдите CH_AC (13) в [configuration_examples.md](configuration_examples.md)
|
||||
3. Используйте MQTT команды из [suffixes_reference_v2.md](suffixes_reference_v2.md):
|
||||
1. Откройте [mqtt\_api\_reference.md](mqtt_api_reference.md) — раздел "Суффиксы кондиционера (AC)"
|
||||
2. Найдите CH_AC (13) в [configuration\_examples.md](configuration_examples.md)
|
||||
3. Используйте MQTT команды из [suffixes\_reference_v2.md](suffixes\_reference_v2.md):
|
||||
```
|
||||
myhome/in/ac_main/cmd → ON (включить)
|
||||
myhome/in/ac_main/mode → HEAT (режим нагрева)
|
||||
@@ -107,15 +107,15 @@
|
||||
|
||||
### Задача: Настроить многозональную вентиляцию
|
||||
|
||||
1. Прочитайте [multivent_module_description.md](multivent_module_description.md)
|
||||
2. Найдите CH_MULTIVENT (18) в [configuration_examples.md](configuration_examples.md)
|
||||
1. Прочитайте [multivent\_module\_description.md](multivent_module_description.md)
|
||||
2. Найдите CH_MULTIVENT (18) в [configuration\_examples.md](configuration_examples.md)
|
||||
3. Добавьте зоны в массив `"зоны": {...}`
|
||||
4. Настройте PID параметры `[Kp, Ki, Kd, dT]`
|
||||
5. Привяжите MQTT топики через `"emit"`
|
||||
|
||||
### Задача: Создать систему с входами (кнопки, датчики)
|
||||
|
||||
1. Прочитайте раздел "Секция `in`" в [light_hub_полное_инженерное_описание_json_конфигурации_v2.md](light_hub_полное_инженерное_описание_json_конфигурации_v2.md)
|
||||
1. Прочитайте раздел "Секция `in`" в [light\_hub\_полное\_инженерное\_описание\_json\_конфигурации\_v2.md](light_hub_полное_инженерное_описание_json_конфигурации_v2.md)
|
||||
2. Определите GPIO пины входов (37, 38, 39, и т.д.)
|
||||
3. Привяжите их к объектам через `"item": "имя_канала"`
|
||||
4. Используйте команды `scmd`, `rcmd` для действий
|
||||
@@ -145,12 +145,12 @@
|
||||
| 15 | UARTBRDG | UART Мост | [⬇️](configuration_examples.md#ch_uartbridge-15---uart-мост) |
|
||||
| 16 | RELAYX | Медленный PWM реле | [⬇️](configuration_examples.md#ch_relayx-16---медленный-pwm-через-реле) |
|
||||
| 17 | DMXRGBWW | RGBWW через DMX | [⬇️](configuration_examples.md#ch_rgbww-17---dmx-rgbww) |
|
||||
| 18 | VENTS | Многозональная вентиляция | [⬇️](configuration_examples.md#ch_multivent-18---многозональная-вентиляция) |
|
||||
| 18 | VENTS | Многозональная вентиляция/кондиционер | [⬇️](configuration_examples.md#ch_multivent-18---многозональная-вентиляция) |
|
||||
| 19 | ELEVATOR | Лифт | - (TBD) |
|
||||
| 20 | COUNTER | Счётчик импульсов | [⬇️](configuration_examples.md#ch_counter-20---счётчик-импульсов) |
|
||||
| 20 | COUNTER | Счётчик импульсов или времени | [⬇️](configuration_examples.md#ch_counter-20---счётчик-импульсов) |
|
||||
| 21 | HUM | Увлажнитель | [⬇️](configuration_examples.md#ch_humidifier-21---управление-увлажнителем) |
|
||||
| 22 | MERCURY | Счётчик энергии | [⬇️](configuration_examples.md#ch_mercury-22---счётчик-энергии-mercury) |
|
||||
|
||||
| 23 | SPRINKLER| многозональная система полива
|
||||
---
|
||||
|
||||
## 📊 Таблица суффиксов MQTT
|
||||
@@ -158,14 +158,14 @@
|
||||
| Суффикс | Назначение | Применимо к |
|
||||
|---------|-----------|-----------|
|
||||
| `/cmd` | Команда управления | Все типы |
|
||||
| `/val` | Текущее значение (статус) | Все типы |
|
||||
| `/val` | Входное значение | THERMO, PID, MBUS, SPRINKLER|
|
||||
| `/set` | Установка значения | Диммеры, регуляторы |
|
||||
| `/hue` | Оттенок (0-359°) | RGB/RGBW/RGBWW |
|
||||
| `/sat` | Насыщенность (0-100%) | RGB/RGBW/RGBWW |
|
||||
| `/temp` | Температура цвета (K) | RGB/RGBW/RGBWW |
|
||||
| `/fan` | Скорость вентилятора | AC, Multivent, Vacom |
|
||||
| `/temp` | Температура цвета (Mirids) | RGB/RGBW/RGBWW |
|
||||
| `/fan` | Скорость вентилятора 0-255| AC, Multivent, Vacom |
|
||||
| `/mode` | Режим работы | AC, Multivent |
|
||||
| `/raw` | JSON формат (отладка) | Все типы |
|
||||
| `/raw` | JSON формат (отладка) | TBD |
|
||||
|
||||
---
|
||||
|
||||
@@ -195,10 +195,12 @@ python3 -m json.tool config.json
|
||||
### Логирование Modbus
|
||||
|
||||
Если Modbus устройство не отвечает:
|
||||
|
||||
1. Проверьте baudrate (по умолчанию 9600)
|
||||
2. Проверьте адрес устройства
|
||||
3. Проверьте регистры (должны быть доступны для чтения)
|
||||
4. Включите syslog для отладки
|
||||
4. Включите уровень логгирование 9 для отладки
|
||||
5. Можно откомпилировать прошивку с ключем, выдающим обмен Modbus в порт консоли в 16-ти ричном виде
|
||||
|
||||
### MQTT Отладка
|
||||
|
||||
@@ -241,11 +243,14 @@ MQTT привязка (через "emit")
|
||||
// myhome/dev/lights_all/cmd → ON
|
||||
```
|
||||
|
||||
### Правило 4: Подробное имя = легче найти
|
||||
### Правило 4: Слишком длинное имя = меньше влезет
|
||||
|
||||
```json
|
||||
"lamp_bedroom_ceiling": [0, 1], // ✓ Хорошо
|
||||
"lamp1": [0, 1] // ✗ Плохо
|
||||
|
||||
"lamp1": [0, 1] // ✗ Плохо, слишком коротко и непонятно
|
||||
"lamp_bedroom_ceiling": [0, 1], // ✗ Плохо, занимает много оперативной памяти, дольше в поиске
|
||||
"lampbedr1": [0, 1], // ✓ Нормально
|
||||
"ledbedr1": [0, 1], // ✓ Нормально
|
||||
```
|
||||
|
||||
---
|
||||
@@ -263,6 +268,7 @@ MQTT привязка (через "emit")
|
||||
| Версия | Дата | Изменения |
|
||||
|--------|------|----------|
|
||||
| 2.0 | 2025-01-24 | Полная актуализация документации для ядра CH_DIMMER (0) - CH_MERCURY (22) |
|
||||
| 2.1 | 2026-06-17 | Добавлен новый тип канала CH_SPRINKLER (23) — система полива |
|
||||
| 1.0 | 2024-12-16 | Исходная версия |
|
||||
|
||||
---
|
||||
@@ -273,7 +279,7 @@ MQTT привязка (через "emit")
|
||||
- [ ] Все GPIO пины уникальны (нет конфликтов)
|
||||
- [ ] Все Modbus адреса доступны
|
||||
- [ ] MQTT брокер доступен и запущен
|
||||
- [ ] Все типы каналов в диапазоне 0-22
|
||||
- [x] Все типы каналов в диапазоне 0-23
|
||||
- [ ] Содержатся ли необходимые секции (mqtt, items)
|
||||
- [ ] Проверены все MQTT топики
|
||||
- [ ] Запасная копия конфигурации сохранена
|
||||
@@ -291,7 +297,7 @@ MQTT привязка (через "emit")
|
||||
- Не устанавливайте poll менее 50 мс для RS485
|
||||
|
||||
⚠️ **СОВМЕСТИМОСТЬ**:
|
||||
- Эта документация актуальна для ядра с типами 0-22
|
||||
- Эта документация актуальна для ядра с типами 0-23
|
||||
- Убедитесь, что ваша версия LightHub поддерживает нужные типы
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user