Add configuration examples for various devices and functionalities

- Introduced multivent ventilation configuration for managing multiple zones.
- Added PID heating batteries configuration for temperature control.
- Created relay GPIO switch configuration for controlling relays.
- Implemented RGBW LED strip configuration for lighting control.
- Added Modbus CO2 sensor configuration for environmental monitoring.
- Introduced Sonoff S26 humidity controller example for humidity management.
- Created sprinkler irrigation configuration for garden management.
- Added thermostat on/off relay configuration for heating and cooling control.
- Implemented ventilation fan monitoring configuration for performance tracking.
- Added core concepts documentation for LightHub, detailing items, commands, and execution objects.
This commit is contained in:
2026-10-15 19:11:34 +03:00
parent 8bc4525d66
commit f496e30600
40 changed files with 2770 additions and 292 deletions
+73 -16
View File
@@ -27,7 +27,7 @@
- [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\_COUNTER (20)](#ch_counter-20---счётчик)
- [CH\_HUMIDIFIER (21)](#ch_humidifier-21---управление-увлажнителем)
- [CH\_MERCURY (22)](#ch_mercury-22---счётчик-энергии-mercury)
- [CH\_SPRINKLER (23)](#ch_sprinkler-23---система-полива)
@@ -678,34 +678,91 @@ myhome/dev/multivent_main/bedroom/mode ← HEAT, COOL, FAN
---
## CH\_COUNTER (20) - Счётчик импульсов
## CH\_COUNTER (20) - Счётчик
**Назначение**: Счётчик импульсов (электроэнергия, газ, вода)
**Назначение**: накопление показаний — вода, газ, электроэнергия,
моторчасы оборудования. GPIO не используется: значение хранится в самих
данных канала (I\_VAL) и переживает перезагрузку. Работает в двух
режимах.
### Синтаксис
### Режим 1: внешние импульсы (вода, газ)
```json
"counter_name": [20, [коэффициент, период_автосуммирования_сек]]
"counter_name": [20, коэффициент]
```
### Примеры
Канал просто **держит накопленное значение**, а вход контроллера
(геркон водосчётчика, контакт газосчётчика) инкрементирует его
относительной командой `%X`, где `X` — вес одного импульса в единицах
измерения.
```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
"waterctr": [20, 0], // 0 — автосуммирования нет
"gasctr": [20, 0],
"fillctr": [20, 0.01, 0] // с начальным значением 0
},
"in": {
"41": { "item": "waterctr/set", "scmd": "%0.01", "rcmd": "" },
"39": { "item": "gasctr/set", "scmd": "%0.1", "rcmd": "" }
}
}
```
### MQTT команды
Каждое срабатывание геркона (передний фронт) отправляет в `/set`
команду `%0.01` — значение растёт на 0.01 м³. Показание читается из
статусного топика `/set`.
```
myhome/dev/energy_meter/val ← текущее значение (кВт·ч)
myhome/dev/gas_meter/val ← текущее значение (м³)
myhome/dev/waterctr/set ← 123.45 (текущее показание, м³)
```
### Режим 2: автоинкремент старт-стоп (моторчасы)
Если задан массив `[импульс, период_сек]`, канал превращается в
**счётчик времени работы**: по команде `ON` (также HEAT/COOL/AUTO/FAN/
DRY/HEATCOOL) стартует таймер, и каждые `период` секунд к значению
добавляется `импульс`. Команда `OFF` останавливает счёт. Установка
ненулевого значения в `/set` также запускает счёт, нулевое —
останавливает.
```json
{
"items": {
"pumpctr": [20, [0.02, 1.2]] // каждые 1.2 сек добавляет 0.02
}
}
```
Запуск/остановка обычно привязываются к управляемому оборудованию
через execObj. Например, счётчик наработки насоса увлажнителя (тип 21
вызывает свой `motorExecObj` с командой `ON` при включении насоса и
`OFF` при выключении):
```json
{
"items": {
"hum": [21, [
[22, 23, 54, 200, 600, 11, 20, 50],
{ "bedroom": { "N": 1, "pin": 25 } },
{ "item": "pumpctr" }
]],
"pumpctr": [20, [0.02, 1.2]]
}
}
```
С 0.02 за 1.2 секунды канал набирает 1 «минуту» за минуту реального
времени работы насоса — показание в `/set` и есть наработка в минутах.
```
myhome/dev/pumpctr/set ← 1523.6 (наработка, мин)
```
### Синтаксис
```json
"counter_name": [20] // режим 1, без аргументов
"counter_name": [20, вес_импульса] // режим 1 (вес для справки)
"counter_name": [20, [импульс, период_сек]] // режим 2: автоинкремент
"counter_name": [20, ..., начальное_значение] // + стартовое показание (I_VAL)
```
---