docs review

This commit is contained in:
2026-10-11 01:27:15 +03:00
parent e460ca647c
commit f787a16270
77 changed files with 1408 additions and 957 deletions
+53 -53
View File
@@ -9,27 +9,27 @@
| Type | Модуль | Класс | Описание |
|------|--------|-------|---------|
| 0 | DMX | out_dmx | DMX512 управление освещением |
| 3 | PWM | out_pwm | Широтно-импульсная модуляция |
| 4 | Modbus Dimmer | out_Modbus | AC-диммер через Modbus RTU (legacy) |
| 6 | Реле | out_relay | Управление электромагнитным реле |
| 10 | AC | out_AC | Управление кондиционером (Haier, UART) |
| 11 | SPI LED | out_SPILed | Адресуемые светодиоды WS2812/APA102 |
| 12 | Мотор | out_Motor | Управление моторами с обратной связью |
| 13 | PID | out_pid | PID-регулятор |
| 14 | Modbus | out_Modbus | Modbus устройства (general) |
| 15 | UART Bridge | out_UARTbridge | UART-мост между портами |
| 16 | RELAYX | out_relay | Медленный PWM через реле |
| 18 | Multivent | out_Multivent | Многозональная вентиляция |
| 19 | Лифт | out_Elevator | Управление лифтом (UART) |
| 20 | Счётчик | out_counter | Счётчик импульсов |
| 21 | Увлажнитель | out_humidifier | Форсуночное увлажнение |
| 22 | Меркурий | out_Mercury | Счётчик электроэнергии Меркурий |
| 23 | Полив | out_sprinkler | Система полива |
| 0 | DMX | out\_dmx | DMX512 управление освещением |
| 3 | PWM | out\_pwm | Широтно-импульсная модуляция |
| 4 | Modbus Dimmer | out\_Modbus | AC-диммер через Modbus RTU (legacy) |
| 6 | Реле | out\_relay | Управление электромагнитным реле |
| 10 | AC | out\_AC | Управление кондиционером (Haier, UART) |
| 11 | SPI LED | out\_SPILed | Адресуемые светодиоды WS2812/APA102 |
| 12 | Мотор | out\_Motor | Управление моторами с обратной связью |
| 13 | PID | out\_pid | PID-регулятор |
| 14 | Modbus | out\_Modbus | Modbus устройства (general) |
| 15 | UART Bridge | out\_UARTbridge | UART-мост между портами |
| 16 | RELAYX | out\_relay | Медленный PWM через реле |
| 18 | Multivent | out\_Multivent | Многозональная вентиляция |
| 19 | Лифт | out\_Elevator | Управление лифтом (UART) |
| 20 | Счётчик | out\_counter | Счётчик импульсов |
| 21 | Увлажнитель | out\_humidifier | Форсуночное увлажнение |
| 22 | Меркурий | out\_Mercury | Счётчик электроэнергии Меркурий |
| 23 | Полив | out\_sprinkler | Система полива |
---
## 1. out_counter — Счётчик импульсов
## 1. out\_counter — Счётчик импульсов
### Конфигурация (Type 20)
@@ -47,9 +47,9 @@
### Логика работы
1. Модуль ждёт команду (S_SET или любой CMD)
1. Модуль ждёт команду (S\_SET или любой CMD)
2. При получении команды с процентом > 0 запускается таймер
3. По истечении периода [1] добавляется значение [0] * TENS_BASE
3. По истечении периода [1] добавляется значение [0] * TENS\_BASE
4. Считанное значение публикуется в MQTT
### Пример использования
@@ -65,7 +65,7 @@
---
## 2. out_relay — Электромагнитное реле (Type 6)
## 2. out\_relay — Электромагнитное реле (Type 6)
### Конфигурация
@@ -96,7 +96,7 @@
---
## 3. out_Motor — Управление моторами (Type 12)
## 3. out\_Motor — Управление моторами (Type 12)
### Конфигурация
@@ -118,11 +118,11 @@
### Логика работы
1. Модуль сравнивает **targetPos** (из команды 0-255) с **curPos** (из обратной связи)
2. Если разница > POS_ERR (10):
2. Если разница > POS\_ERR (10):
- Если targetPos < curPos → движение вниз (pinDown)
- Если targetPos > curPos → движение вверх (pinUp)
3. При достижении targetPos или maxOnTime мотор останавливается
4. Защита от перегрузки: одновременно работают макс. MOTOR_QUOTE моторов (обычно 2)
4. Защита от перегрузки: одновременно работают макс. MOTOR\_QUOTE моторов (обычно 2)
### Примеры
@@ -141,7 +141,7 @@
---
## 4. out_PID — PID-регулятор (Type 13)
## 4. out\_PID — PID-регулятор (Type 13)
### Конфигурация
@@ -189,7 +189,7 @@
---
## 5. out_PWM — ШИМ управление (Type 3)
## 5. out\_PWM — ШИМ управление (Type 3)
### Конфигурация
@@ -215,7 +215,7 @@
---
## 6. out_relay (Type 6) — детально
## 6. out\_relay (Type 6) — детально
### Загружаемые параметры (getConfig)
@@ -233,7 +233,7 @@ if (!period) period = 5000UL; // по умолчанию 5 сек
---
## 7. out_counter (Type 20) — детально
## 7. out\_counter (Type 20) — детально
### Загружаемые параметры (Poll)
@@ -250,7 +250,7 @@ uint32_t period = item->getFloatArg(1) * 1000.0; // [1] в мс
---
## 8. out_Motor (Type 12) — детально
## 8. out\_Motor (Type 12) — детально
### Загружаемые параметры (getConfig)
@@ -278,7 +278,7 @@ if (pinDown < 0) {
---
## 9. out_PID (Type 13) — детально
## 9. out\_PID (Type 13) — детально
### Загружаемые параметры (getConfig)
@@ -308,7 +308,7 @@ store->setpoint = item->itemVal->valuefloat; // Установка из JSON va
---
## 11. out_humidifier (Type 21) — Форсуночное увлажнение
## 11. out\_humidifier (Type 21) — Форсуночное увлажнение
### Конфигурация
@@ -380,30 +380,30 @@ MAX_OPERATION_PRESSURE = 600 // максимальное рабочее д
| Состояние | Код | Описание |
|-----------|-----|---------|
| H_UNKNOWN | 0 | Неизвестное состояние |
| H_READY | 1 | Готов к работе |
| H_PREPARE_FOR_START | 2 | Подготовка к пуску |
| H_PREPARE_VALVES | 3 | Открытие форсунок |
| H_MOTOR_ON | 4 | Включение насоса |
| H_OPERATE | 5 | В режиме увлажнения |
| H_MOTOR_PAUSE | 6 | Пауза насоса |
| H_MOTOR_OFF | 7 | Выключение насоса |
| H_MOTOR_OFF_OK | 10 | Насос остановлен |
| H_FLUSH | 8 | Промывка системы |
| H_IDLE | 9 | Ожидание |
| H_FAULT_PRESSURE | -1 | Ошибка давления |
| H_FAULT_PRESSURE_KEEP | -2 | Потеря давления во время работы |
| H_FAULT_OVERPRESSURE | -3 | Перепад давления |
| H_FAULT_MOTOR_OFF | -4 | Отказ насоса |
| H\_UNKNOWN | 0 | Неизвестное состояние |
| H\_READY | 1 | Готов к работе |
| H\_PREPARE\_FOR\_START | 2 | Подготовка к пуску |
| H\_PREPARE\_VALVES | 3 | Открытие форсунок |
| H\_MOTOR\_ON | 4 | Включение насоса |
| H\_OPERATE | 5 | В режиме увлажнения |
| H\_MOTOR\_PAUSE | 6 | Пауза насоса |
| H\_MOTOR\_OFF | 7 | Выключение насоса |
| H\_MOTOR\_OFF\_OK | 10 | Насос остановлен |
| H\_FLUSH | 8 | Промывка системы |
| H\_IDLE | 9 | Ожидание |
| H\_FAULT\_PRESSURE | -1 | Ошибка давления |
| H\_FAULT\_PRESSURE\_KEEP | -2 | Потеря давления во время работы |
| H\_FAULT\_OVERPRESSURE | -3 | Перепад давления |
| H\_FAULT\_MOTOR\_OFF | -4 | Отказ насоса |
### Логика работы
1. **Инициализация**: модуль ждёт команду включения или когда уровень влажности > startLevel
2. **Подготовка**: открывает клапаны форсунок, ждёт достижения давления
3. **Работа**: включает насос, поддерживает давление в диапазоне [MIN_OPERATION_PRESSURE, MAX_OPERATION_PRESSURE]
3. **Работа**: включает насос, поддерживает давление в диапазоне [MIN\_OPERATION\_PRESSURE, MAX\_OPERATION\_PRESSURE]
4. **Балансировка**: одновременно открыто не более `capacity` форсунок из группы `N`
5. **Очистка**: периодическая промывка при давлении FLUSH_PRESSURE
6. **Контроль**: отключение при падении давления ниже MIN_OPERATION_PRESSURE
5. **Очистка**: периодическая промывка при давлении FLUSH\_PRESSURE
6. **Контроль**: отключение при падении давления ниже MIN\_OPERATION\_PRESSURE
### Примеры конфигурации
@@ -453,7 +453,7 @@ MAX_OPERATION_PRESSURE = 600 // максимальное рабочее д
---
## 12. out_Mercury (Type 22) — Счётчик электроэнергии
## 12. out\_Mercury (Type 22) — Счётчик электроэнергии
### Конфигурация
@@ -497,7 +497,7 @@ MAX_OPERATION_PRESSURE = 600 // максимальное рабочее д
---
## 13. out_AC (Type 10) — Управление кондиционером
## 13. out\_AC (Type 10) — Управление кондиционером
### Конфигурация
@@ -535,7 +535,7 @@ portNum = item->getArg(0); // 0=Serial, 1=Serial1, 2=Serial2, 3=Serial3
---
## 14. out_Modbus (тип MBUS) — Modbus устройства
## 14. out\_Modbus (тип MBUS) — Modbus устройства
### Конфигурация общая
@@ -625,7 +625,7 @@ pollingInterval = delayObj->valueint; // по умолчанию 1000 мс
---
## 15. out_Multivent (Type 18) — Многозональная вентиляция
## 15. out\_Multivent (Type 18) — Многозональная вентиляция
### Конфигурация