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:
856
documentation/configuration_examples.md
Normal file
856
documentation/configuration_examples.md
Normal file
@@ -0,0 +1,856 @@
|
||||
# LightHub: Примеры конфигурации для всех типов каналов (0-22)
|
||||
|
||||
> **Практический справочник** с готовыми примерами JSON конфигурации для каждого типа канала.
|
||||
> Каждый пример показывает полный синтаксис, включая MQTT топики и все параметры.
|
||||
|
||||
---
|
||||
|
||||
## Содержание
|
||||
|
||||
- [CH_DIMMER (0)](#ch_dimmer-0---dmx-диммер)
|
||||
- [CH_RGBW (1)](#ch_rgbw-1---dmx-rgbwhite)
|
||||
- [CH_RGB (2)](#ch_rgb-2---dmx-rgb)
|
||||
- [CH_PWM (3)](#ch_pwm-3---gpio-pwm)
|
||||
- [CH_MODBUS (4)](#ch_modbus-4---modbus-ac-dimmer-legacy)
|
||||
- [CH_THERMO (5)](#ch_thermo-5---onoff-термостат)
|
||||
- [CH_RELAY (6)](#ch_relay-6---gpio-реле)
|
||||
- [CH_GROUP (7)](#ch_group-7---группа-каналов)
|
||||
- [CH_VCTEMP (8)](#ch_vctemp-8---vacom-pid-терморегулятор)
|
||||
- [CH_VC (9)](#ch_vc-9---vacom-мотор-регулятор)
|
||||
- [CH_AC (10)](#ch_ac-10---кондиционер-haier)
|
||||
- [CH_SPILED (11)](#ch_spiled-11---spi-led-лента)
|
||||
- [CH_MOTOR (12)](#ch_motor-12---шаговый-двигатель)
|
||||
- [CH_PID (13)](#ch_pid-13---pid-регулятор)
|
||||
- [CH_MBUS (14)](#ch_mbus-14---universal-modbus)
|
||||
- [CH_UARTBRIDGE (15)](#ch_uartbridge-15---uart-мост)
|
||||
- [CH_RELAYX (16)](#ch_relayx-16---медленный-pwm-через-реле)
|
||||
- [CH_RGBWW (17)](#ch_rgbww-17---dmx-rgbww)
|
||||
- [CH_MULTIVENT (18)](#ch_multivent-18---многозональная-вентиляция)
|
||||
- [CH_ELEVATOR (19)](#ch_elevator-19---управление-лифтом)
|
||||
- [CH_COUNTER (20)](#ch_counter-20---счётчик-импульсов)
|
||||
- [CH_HUMIDIFIER (21)](#ch_humidifier-21---управление-увлажнителем)
|
||||
- [CH_MERCURY (22)](#ch_mercury-22---счётчик-энергии-mercury)
|
||||
|
||||
---
|
||||
|
||||
## CH_DIMMER (0) - DMX диммер
|
||||
|
||||
**Назначение**: Регулировка яркости одного или нескольких DMX каналов
|
||||
|
||||
### Синтаксис
|
||||
|
||||
```json
|
||||
"dimmer_name": [0, дмx_канал_или_массив]
|
||||
```
|
||||
|
||||
### Примеры
|
||||
|
||||
```json
|
||||
{
|
||||
"items": {
|
||||
"lamp_bedroom": [0, 1],
|
||||
"lamp_kitchen": [0, 2],
|
||||
"lamp_hall": [0, [3, 4, 5]],
|
||||
"lamp_stage": [0, 10, 255, 1]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### MQTT команды
|
||||
|
||||
```
|
||||
myhome/dev/lamp_bedroom/cmd ← ON, OFF, TOGGLE, SET
|
||||
myhome/dev/lamp_bedroom/set ← 150 (яркость 0-255)
|
||||
myhome/dev/lamp_bedroom/val ← текущая яркость
|
||||
myhome/s_out/lamp_bedroom/val → опубликованная яркость
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_RGBW (1) - DMX RGBW
|
||||
|
||||
**Назначение**: Управление RGB + White каналом через DMX (4 канала DMX)
|
||||
|
||||
### Синтаксис
|
||||
|
||||
```json
|
||||
"rgb_name": [1, стартовый_dmx_канал]
|
||||
```
|
||||
|
||||
### Пример
|
||||
|
||||
```json
|
||||
{
|
||||
"mqtt": ["lighthub", "192.168.88.2"],
|
||||
"dmx": [512],
|
||||
"items": {
|
||||
"rgb_light": [1, 10], // RGB+W на DMX 10-13
|
||||
"rgb_light2": [1, 20, 255, 0] // с начальной яркостью 255
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### MQTT команды
|
||||
|
||||
```
|
||||
myhome/dev/rgb_light/hue ← 240 (0-359°)
|
||||
myhome/dev/rgb_light/sat ← 100 (0-100%)
|
||||
myhome/dev/rgb_light/val ← 200 (0-255)
|
||||
myhome/dev/rgb_light/temp ← 6500 (температура цвета, K)
|
||||
myhome/dev/rgb_light/RGB ← 255,0,0 (красный)
|
||||
myhome/dev/rgb_light/RGB ← 255,0,0,100 (RGB+White)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_RGB (2) - DMX RGB
|
||||
|
||||
**Назначение**: Управление RGB каналом через DMX (3 канала DMX)
|
||||
|
||||
### Пример
|
||||
|
||||
```json
|
||||
{
|
||||
"items": {
|
||||
"mood_light": [2, 15] // RGB на DMX 15-17
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### MQTT команды
|
||||
|
||||
```
|
||||
myhome/dev/mood_light/RGB ← 0,255,0 (зелёный)
|
||||
myhome/dev/mood_light/HSV ← 120,100,100 (зелёный в HSV)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_PWM (3) - GPIO PWM
|
||||
|
||||
**Назначение**: PWM выход через GPIO пины (для плат Arduino, ESP)
|
||||
|
||||
### Синтаксис
|
||||
|
||||
```json
|
||||
"pwm_name": [3, gpio_пин_или_массив]
|
||||
```
|
||||
|
||||
### Примеры
|
||||
|
||||
```json
|
||||
{
|
||||
"items": {
|
||||
"pwm_dim": [3, 9], // PWM на GPIO D9
|
||||
"pwm_4ch": [3, [11, 12, 13, 14]], // 4-х канальный PWM
|
||||
"led_pwm": [3, 5, 255, 1] // с начальным значением
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### MQTT команды
|
||||
|
||||
```
|
||||
myhome/dev/pwm_dim/set ← 128
|
||||
myhome/dev/pwm_dim/val ← текущее значение
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_MODBUS (4) - Modbus AC Dimmer (Legacy)
|
||||
|
||||
**Назначение**: Управление AC-диммером через Modbus RTU (устаревший тип, использовать CH_MBUS (14))
|
||||
|
||||
### Синтаксис
|
||||
|
||||
```json
|
||||
"mbus_dim": [4, [адрес, регистр, маска, макс_значение]]
|
||||
```
|
||||
|
||||
### Пример
|
||||
|
||||
```json
|
||||
{
|
||||
"items": {
|
||||
"ac_dimmer": [4, [96, 0, 0, 255]]
|
||||
// Адрес: 96 (0x60)
|
||||
// Регистр: 0
|
||||
// Маска: 0 (LSB)
|
||||
// Макс значение: 255
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
⚠️ **Примечание**: Для новых проектов используйте CH_MBUS (14) вместо этого
|
||||
|
||||
---
|
||||
|
||||
## CH_THERMO (5) - ON/OFF Термостат
|
||||
|
||||
**Назначение**: Простой ON/OFF термостат с гистерезисом
|
||||
|
||||
### Синтаксис
|
||||
|
||||
```json
|
||||
"thermo_name": [5, gpio_пин, целевая_температура°C]
|
||||
```
|
||||
|
||||
### Примеры
|
||||
|
||||
```json
|
||||
{
|
||||
"items": {
|
||||
"thermo_bath": [5, 24, 33], // GPIO 24, уставка 33°C
|
||||
"thermo_bedroom": [5, 25, 22], // GPIO 25, уставка 22°C
|
||||
"floor_heating": [5, 26, 28, 1, 1] // с начальным значением
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### MQTT команды
|
||||
|
||||
```
|
||||
myhome/dev/thermo_bath/set ← 35 (установить целевую T)
|
||||
myhome/dev/thermo_bath/val ← 1 (нагревается) или 0
|
||||
myhome/dev/thermo_bath/cmd ← ON, OFF
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_RELAY (6) - GPIO Реле
|
||||
|
||||
**Назначение**: Простое электромагнитное реле ON/OFF
|
||||
|
||||
### Синтаксис
|
||||
|
||||
```json
|
||||
"relay_name": [6, gpio_пин]
|
||||
"relay_name": ["RELAY", gpio_пин, [начальное_значение, [начальная_команда]]]
|
||||
```
|
||||
|
||||
### Примеры
|
||||
|
||||
```json
|
||||
{
|
||||
"items": {
|
||||
"relay_water": [6, 23], // Реле на GPIO 23
|
||||
"relay_pump": [6, 24, 0, 0], // начально OFF
|
||||
"relay_heat": ["RELAY", 28, 1, 1] // начально ON, команда ON
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### MQTT команды
|
||||
|
||||
```
|
||||
myhome/dev/relay_water/cmd ← ON, OFF, TOGGLE
|
||||
myhome/dev/relay_water/val ← 1 (включено) или 0 (выключено)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_GROUP (7) - Группа каналов
|
||||
|
||||
**Назначение**: Логическая группа для синхронного управления несколькими каналами
|
||||
|
||||
### Синтаксис
|
||||
|
||||
```json
|
||||
"group_name": [7, [канал1, канал2, канал3, ...]]
|
||||
```
|
||||
|
||||
### Примеры
|
||||
|
||||
```json
|
||||
{
|
||||
"items": {
|
||||
"lamps": [0, 1],
|
||||
"lamps2": [0, 2],
|
||||
"rgb1": [1, 10],
|
||||
|
||||
"lights_all": [7, [
|
||||
"lamps",
|
||||
"lamps2",
|
||||
"rgb1"
|
||||
]],
|
||||
|
||||
"lights_bedroom": [7, ["lamps"]],
|
||||
"lights_common": [7, ["lamps", "lamps2"]]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### MQTT команды
|
||||
|
||||
```
|
||||
myhome/dev/lights_all/cmd ← ON (включит ВСЕ в группе)
|
||||
myhome/dev/lights_all/cmd ← OFF (выключит ВСЕ в группе)
|
||||
myhome/dev/lights_all/cmd ← SET 100 (установит яркость для диммеров)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_VCTEMP (8) - Vacom PID Терморегулятор
|
||||
|
||||
**Назначение**: PID регулятор температуры для систем вентиляции Vacom
|
||||
|
||||
### Синтаксис
|
||||
|
||||
```json
|
||||
"vacom_heat": [8, [modbus_адрес, экземпляр]]
|
||||
```
|
||||
|
||||
### Пример
|
||||
|
||||
```json
|
||||
{
|
||||
"modbus": {
|
||||
"vacom_10": {
|
||||
"baud": 9600,
|
||||
"serial": "8N1",
|
||||
"poll": {"regs": [[0, 50]], "delay": 1000}
|
||||
}
|
||||
},
|
||||
"items": {
|
||||
"fan_heat": [8, [96, 0]], // Vacom адрес 96, экземпляр 0
|
||||
"fan_cool": [8, [96, 1]] // Vacom адрес 96, экземпляр 1
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_VC (9) - Vacom Мотор-регулятор
|
||||
|
||||
**Назначение**: Управление мотор-регулятором вентилятора Vacom
|
||||
|
||||
### Пример
|
||||
|
||||
```json
|
||||
{
|
||||
"items": {
|
||||
"vent_motor": [9, [96, {
|
||||
"mode": {"emit": "vent/mode"},
|
||||
"speed": {"emit": "vent/speed"}
|
||||
}]]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_AC (10) - Кондиционер Haier
|
||||
|
||||
**Назначение**: Управление кондиционером Haier через Modbus/RS485
|
||||
|
||||
### Полный пример
|
||||
|
||||
```json
|
||||
{
|
||||
"mqtt": ["lighthub", "192.168.88.2"],
|
||||
"modbus": {
|
||||
"haier_ac": {
|
||||
"baud": 9600,
|
||||
"serial": "8N1",
|
||||
"poll": {
|
||||
"regs": [[1, 30]],
|
||||
"delay": 1000
|
||||
},
|
||||
"par": {
|
||||
"power": {
|
||||
"reg": 1,
|
||||
"type": "u16",
|
||||
"map": {"cmd": [["OFF", 0], ["ON", 1]]}
|
||||
},
|
||||
"mode": {
|
||||
"reg": 2,
|
||||
"type": "u16",
|
||||
"map": {"cmd": [["COOL", 0], ["HEAT", 1], ["DRY", 2], ["FAN", 3]]}
|
||||
},
|
||||
"temperature": {
|
||||
"reg": 3,
|
||||
"type": "i16",
|
||||
"scale": 0.1
|
||||
},
|
||||
"fan_speed": {
|
||||
"reg": 4,
|
||||
"type": "u16"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"items": {
|
||||
"ac_hall": [10, [1, {
|
||||
"power": {"emit": "ac/power"},
|
||||
"mode": {"emit": "ac/mode"},
|
||||
"temperature": {"emit": "ac/temp"},
|
||||
"fan_speed": {"emit": "ac/fan"}
|
||||
}]]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### MQTT команды
|
||||
|
||||
```
|
||||
myhome/dev/ac_hall/cmd ← ON, OFF
|
||||
myhome/dev/ac_hall/mode ← COOL, HEAT, DRY, FAN
|
||||
myhome/dev/ac_hall/set ← 22 (температура)
|
||||
myhome/dev/ac_hall/fan ← 0, 1, 2, 3 (скорость)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_SPILED (11) - SPI LED Лента
|
||||
|
||||
**Назначение**: Управление адресуемой SPI LED лентой (WS2812B, APA102)
|
||||
|
||||
### Синтаксис
|
||||
|
||||
```json
|
||||
"led_name": [11, [clk_pin, data_pin]]
|
||||
```
|
||||
|
||||
### Пример
|
||||
|
||||
```json
|
||||
{
|
||||
"items": {
|
||||
"led_strip": [11, [7, 8]], // CLK=GPIO7, DATA=GPIO8
|
||||
"led_bar": [11, [10, 11]]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_MOTOR (12) - Шаговый двигатель
|
||||
|
||||
**Назначение**: Управление шаговым двигателем с обратной связью (для задвижек, жалюзи)
|
||||
|
||||
### Синтаксис
|
||||
|
||||
```json
|
||||
"motor_name": [12, [pwm_pin, open_pin, close_pin, feedback_off_val, feedback_on_val, max_time_ms]]
|
||||
```
|
||||
|
||||
### Пример
|
||||
|
||||
```json
|
||||
{
|
||||
"items": {
|
||||
"gate_motor": [12, [9, 10, 11, 0, 255, 30000]],
|
||||
// PWM pin: 9
|
||||
// Open pin: 10
|
||||
// Close pin: 11
|
||||
// Feedback off: 0
|
||||
// Feedback on: 255
|
||||
// Max time: 30 сек
|
||||
|
||||
"blinds": [12, [5, 6, 7, 100, 900, 20000]]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### MQTT команды
|
||||
|
||||
```
|
||||
myhome/dev/gate_motor/cmd ← ON (открыть), OFF (закрыть)
|
||||
myhome/dev/gate_motor/val ← текущая позиция обратной связи
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_PID (13) - PID Регулятор
|
||||
|
||||
**Назначение**: Универсальный PID контроллер для процессов
|
||||
|
||||
### Синтаксис
|
||||
|
||||
```json
|
||||
"pid_name": [13, [
|
||||
[Kp, Ki, Kd, dT, timeout, alarm_val, min_out, max_out],
|
||||
{выходной_execObj},
|
||||
{каскадный_execObj}
|
||||
]]
|
||||
```
|
||||
|
||||
### Пример
|
||||
|
||||
```json
|
||||
{
|
||||
"items": {
|
||||
"pid_heater": [13, [
|
||||
[1.0, 0.05, 0.02, 5.0, 3600, 50, 0, 255],
|
||||
{"emit": "heater/output"},
|
||||
{"emit": "heater/cascade"}
|
||||
]],
|
||||
|
||||
"pid_cooler": [13, [
|
||||
[0.8, 0.03, 0.01, 5.0, 1800, 100, 0, 200],
|
||||
{"item": "fan_speed/set"},
|
||||
null
|
||||
]]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Параметры
|
||||
|
||||
| Параметр | Описание |
|
||||
|--|--|
|
||||
| `Kp` | Коэффициент пропорциональности |
|
||||
| `Ki` | Коэффициент интеграла |
|
||||
| `Kd` | Коэффициент дифференциала |
|
||||
| `dT` | Интервал расчёта (секунды) |
|
||||
| `timeout` | Время срабатывания аварии (сек) |
|
||||
| `alarm_val` | Значение аварии |
|
||||
| `min_out`, `max_out` | Диапазон выхода |
|
||||
|
||||
---
|
||||
|
||||
## CH_MBUS (14) - Universal Modbus
|
||||
|
||||
**Назначение**: Универсальный Modbus канал с полной поддержкой шаблонизации
|
||||
|
||||
### Полный пример
|
||||
|
||||
```json
|
||||
{
|
||||
"mqtt": ["lighthub", "192.168.88.2"],
|
||||
"modbus": {
|
||||
"temperature_sensor": {
|
||||
"baud": 9600,
|
||||
"serial": "8N1",
|
||||
"poll": {
|
||||
"regs": [[0, 10]],
|
||||
"delay": 2000
|
||||
},
|
||||
"par": {
|
||||
"temperature": {
|
||||
"reg": 0,
|
||||
"type": "i16",
|
||||
"scale": 0.1
|
||||
},
|
||||
"humidity": {
|
||||
"reg": 1,
|
||||
"type": "u16",
|
||||
"scale": 0.01
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"items": {
|
||||
"sensor_outdoor": [14, ["temperature_sensor", {
|
||||
"temperature": {"emit": "sensors/outdoor/temp"},
|
||||
"humidity": {"emit": "sensors/outdoor/humidity"}
|
||||
}]],
|
||||
|
||||
"sensor_indoor": [14, ["temperature_sensor", {
|
||||
"temperature": {"item": "thermo_room/set"},
|
||||
"humidity": {"emit": "sensors/indoor/humidity"}
|
||||
}]]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_UARTBRIDGE (15) - UART Мост
|
||||
|
||||
**Назначение**: Мост между двумя UART портами с отладкой через UDP
|
||||
|
||||
### Пример
|
||||
|
||||
```json
|
||||
{
|
||||
"items": {
|
||||
"uart_debug": [15, {
|
||||
"port1": 1,
|
||||
"port2": 0
|
||||
}]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_RELAYX (16) - Медленный PWM через реле
|
||||
|
||||
**Назначение**: Медленный PWM через реле для инертных систем (тепловые системы, комплексы)
|
||||
|
||||
### Синтаксис
|
||||
|
||||
```json
|
||||
"relay_pwm": [16, [gpio_pin, период_цикла_сек]]
|
||||
```
|
||||
|
||||
### Пример
|
||||
|
||||
```json
|
||||
{
|
||||
"items": {
|
||||
"floor_heating": [16, [22, 60]], // GPIO 22, период 60 сек
|
||||
"radiator": [16, [23, 120]], // GPIO 23, период 120 сек
|
||||
"underfloor": [16, [24, 300, 128]] // с начальным PWM 128
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### MQTT команды
|
||||
|
||||
```
|
||||
myhome/dev/floor_heating/set ← 200 (PWM 0-255)
|
||||
myhome/dev/floor_heating/val ← текущий PWM
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_RGBWW (17) - DMX RGBWW
|
||||
|
||||
**Назначение**: DMX управление RGB + тёплый белый + холодный белый (6 каналов)
|
||||
|
||||
### Пример
|
||||
|
||||
```json
|
||||
{
|
||||
"dmx": [512],
|
||||
"items": {
|
||||
"led_tunable_white": [17, 30] // RGB+W+W на DMX 30-35
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### MQTT команды
|
||||
|
||||
```
|
||||
myhome/dev/led_tunable_white/RGB ← 255,128,0,200,50
|
||||
// R, G, B, Warm White, Cold White
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_MULTIVENT (18) - Многозональная вентиляция
|
||||
|
||||
**Назначение**: Каскадная система вентиляции с независимым регулированием по зонам
|
||||
|
||||
### Полный пример
|
||||
|
||||
```json
|
||||
{
|
||||
"mqtt": ["lighthub", "192.168.88.2"],
|
||||
"items": {
|
||||
"multivent_main": [18, [96, {
|
||||
"": {
|
||||
"val": {"emit": "vents/main/temp"},
|
||||
"mode": {"emit": "vents/main/mode"}
|
||||
},
|
||||
"bedroom": {
|
||||
"val": {"emit": "vents/bedroom/temp"},
|
||||
"fan": {"emit": "vents/bedroom/fan"},
|
||||
"set": {"emit": "vents/bedroom/setpoint"},
|
||||
"V": 40,
|
||||
"pid": [1.0, 0.05, 0.02, 5.0]
|
||||
},
|
||||
"living_room": {
|
||||
"val": {"emit": "vents/living/temp"},
|
||||
"set": 21,
|
||||
"V": 60
|
||||
},
|
||||
"kitchen": {
|
||||
"val": {"emit": "vents/kitchen/temp"},
|
||||
"set": 20,
|
||||
"V": 30
|
||||
}
|
||||
}]]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### MQTT команды
|
||||
|
||||
```
|
||||
myhome/dev/multivent_main/bedroom/set ← 22 (уставка T)
|
||||
myhome/dev/multivent_main/bedroom/fan ← 50 (открытие жалюзи)
|
||||
myhome/dev/multivent_main/bedroom/mode ← HEAT, COOL, FAN
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_ELEVATOR (19) - Управление лифтом
|
||||
|
||||
**Назначение**: Управление лифтом (зарезервировано для будущего использования)
|
||||
|
||||
**Статус**: TBD (To Be Determined)
|
||||
|
||||
---
|
||||
|
||||
## CH_COUNTER (20) - Счётчик импульсов
|
||||
|
||||
**Назначение**: Счётчик импульсов (электроэнергия, газ, вода)
|
||||
|
||||
### Синтаксис
|
||||
|
||||
```json
|
||||
"counter_name": [20, [коэффициент, масштаб]]
|
||||
"counter_name": [20, коэффициент]
|
||||
```
|
||||
|
||||
### Примеры
|
||||
|
||||
```json
|
||||
{
|
||||
"items": {
|
||||
"energy_meter": [20, [0.02, 1.2]], // коэфф 0.02, масштаб 1.2
|
||||
"gas_meter": [20, 0.001], // коэфф 0.001
|
||||
"water_meter": [20, 0.01, 0, 0] // с начальным значением 0
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### MQTT команды
|
||||
|
||||
```
|
||||
myhome/dev/energy_meter/val ← текущее значение (кВт·ч)
|
||||
myhome/dev/gas_meter/val ← текущее значение (м³)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_HUMIDIFIER (21) - Управление увлажнителем
|
||||
|
||||
**Назначение**: Управление увлажнителем воздуха
|
||||
|
||||
### Пример
|
||||
|
||||
```json
|
||||
{
|
||||
"items": {
|
||||
"humidifier_room": [21, {
|
||||
"humidity": {"emit": "humidifier/setpoint"},
|
||||
"mode": {"emit": "humidifier/mode"},
|
||||
"power": {"emit": "humidifier/power"}
|
||||
}]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### MQTT команды
|
||||
|
||||
```
|
||||
myhome/dev/humidifier_room/set ← 60 (целевая влажность %)
|
||||
myhome/dev/humidifier_room/cmd ← ON, OFF
|
||||
myhome/dev/humidifier_room/mode ← режим
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CH_MERCURY (22) - Счётчик энергии Mercury
|
||||
|
||||
**Назначение**: Счётчик энергии Mercury по RS485/Modbus
|
||||
|
||||
### Синтаксис
|
||||
|
||||
```json
|
||||
"mercury": [22, [адрес, baudrate, формат, сдвиг, флаги, timeout]]
|
||||
```
|
||||
|
||||
### Пример
|
||||
|
||||
```json
|
||||
{
|
||||
"items": {
|
||||
"energy_mercury": [22, [1, 9600, "8N1", 2, [2,2,2,2,2,2], 10000]]
|
||||
// Адрес: 1
|
||||
// Baudrate: 9600
|
||||
// Формат: 8N1
|
||||
// Сдвиг: 2
|
||||
// Флаги: [2,2,2,2,2,2]
|
||||
// Timeout: 10000 мс
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### MQTT команды
|
||||
|
||||
```
|
||||
myhome/dev/energy_mercury/val ← текущие показания энергии
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Полная реальная конфигурация (интеграция всех типов)
|
||||
|
||||
```json
|
||||
{
|
||||
"mqtt": ["lh-smart-home", "192.168.88.2", 1883, "mqtt_user", "mqtt_pass"],
|
||||
"topics": {"root": "myhome", "out": "s_out"},
|
||||
"syslog": ["192.168.88.2", 514],
|
||||
"dmx": [512],
|
||||
|
||||
"modbus": {
|
||||
"haier_ac": {
|
||||
"baud": 9600,
|
||||
"serial": "8N1",
|
||||
"poll": {"regs": [[1, 30]], "delay": 1000},
|
||||
"par": {
|
||||
"power": {"reg": 1, "type": "u16"},
|
||||
"mode": {"reg": 2, "type": "u16"},
|
||||
"temperature": {"reg": 3, "type": "i16", "scale": 0.1}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"items": {
|
||||
"lights_all": [7, ["lamp1", "lamp2", "rgb1", "rgb2"]],
|
||||
|
||||
"lamp1": [0, 1],
|
||||
"lamp2": [0, 2],
|
||||
"rgb1": [1, 10],
|
||||
"rgb2": [1, 20],
|
||||
|
||||
"relay_water": [6, 23],
|
||||
"relay_pump": [6, 24],
|
||||
"relay_heat": [6, 25],
|
||||
|
||||
"pwm_fan": [3, 9],
|
||||
|
||||
"thermo_bath": [5, 26, 33],
|
||||
"thermo_hall": [5, 27, 22],
|
||||
|
||||
"ac_main": [14, ["haier_ac", {
|
||||
"power": {"emit": "ac/power"},
|
||||
"mode": {"emit": "ac/mode"},
|
||||
"temperature": {"emit": "ac/temp"}
|
||||
}]],
|
||||
|
||||
"energy_counter": [20, [0.02, 1.2]],
|
||||
|
||||
"multivent": [18, [96, {
|
||||
"": {"val": {"emit": "vent/main"}},
|
||||
"bedroom": {"val": {"emit": "vent/bedroom"}, "V": 40},
|
||||
"kitchen": {"val": {"emit": "vent/kitchen"}, "V": 60}
|
||||
}]]
|
||||
},
|
||||
|
||||
"in": {
|
||||
"37": {"item": "lights_all", "scmd": "TOGGLE"},
|
||||
"38": {"item": "relay_water", "scmd": "OFF"},
|
||||
"39": {"emit": "/status/water_leak"}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Полезные ссылки
|
||||
|
||||
- [Справочник типов каналов](channel_types_reference.md) — типы 0-22
|
||||
- [Справочник суффиксов](suffixes_reference.md) — /cmd, /val, /set, /hue, /sat, /temp
|
||||
- [Полное описание конфигурации](light_hub_полное_инженерное_описание_json_конфигурации_v2.md)
|
||||
- [Исходный код item.h](../lighthub/item.h)
|
||||
|
||||
---
|
||||
|
||||
**Версия документа**: 1.0
|
||||
**Дата обновления**: 2025-01-24
|
||||
Reference in New Issue
Block a user