mirror of
https://github.com/anklimov/lighthub
synced 2026-10-28 11:15:00 +00:00
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:
@@ -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)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user