Sprinkler improvement

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
2026-05-24 22:54:21 +03:00
parent 898dca260c
commit fd23dc3567
3 changed files with 112 additions and 59 deletions

View File

@@ -91,11 +91,24 @@ DREN\_OPERATE|таймаут 2000 сек |FAULT_DREN|выключить rDren -
Для сброса счетчиков можно использовать как непосредственную установку значения параметра "val" для каждой зоны так и команду RESET, отправленную в нужную зону или в объект sprinkler через суффикс /cmd.
В последнем случае, контроллер итерационно сбросит счетчики в значение 0 для каждой зоны полива.
А также, отключит систему полива, чтобы программа не стартовала в момент сброса счетчиков (например, в полночь)
**Пример:** ```root/name/sprinkler/cmd -> RESET```
В последнем случае, контроллер итерационно сбросит счетчики в значение 0 для каждой зоны полива.
Это инициирует старт программы полива, если система находится в состоянии ON
Команда RESET не отработает если обьект полива находится в состоянии DISABLE или FREEZE
Также, в этих режимах, в принципе, не отработает запуск полива какой-либо зоны (команды set/RESET), если для нее задано время/обьем полива.
Если обьем полива не задан (set==0) - это например водяная розетка для мытья машины, то такая зона запустится даже в режиме DISABLE
Если в процессе полива придет команда DISABLE (начался дождь) - полив прекратится, программа полива возобновится после ENABLE
## Управление
@@ -110,7 +123,9 @@ DREN\_OPERATE|таймаут 2000 сек |FAULT_DREN|выключить rDren -
### Включение/выключение цикла полива:
**Включить** ```root/name/sprinkler/cmd -> ON```
Система начнет или продолжит цикл полива, переходя от зоны к зоне по мере завершения работы с каждой предыдущей зоной. После завершения работы со всеми зонами, sprinkler перейдет в состояние OFF
Система начнет или продолжит цикл полива, переходя от зоны к зоне по мере завершения работы с каждой предыдущей зоной. После завершения работы со всеми зонами, sprinkler НЕ перейдет в состояние OFF автоматически, но полив прекратится для тех зон, где показатель val достиг параметра set
Если не будет ни одной активной зоны - насос обесточится.
Перед включением полива, система убедится что бак наполнен или до-наполнит его до максимума из водопровода.
@@ -162,6 +177,19 @@ root/name/sprinkler/val -> -1 //система перейдет в режим FR
```
Так как команда FREEZE блокирует запуск каких либо насосов и открытие клапанов, это делает невозможным слив системы в процессе подготовки к зиме
Когда требуется слить систему, необходимо отключить дренажный насос, перекрыть водопроводный кран
Данный режим реализован при помощи команды DRY
Дополнительно к перекрытию поступления воды в бак (заблокирован автомат пополнения бака из дренажного насоса и водопровода) данная команда включает помпу.
Далее, требуется слить бак включением выбранных зон полива или через водяные розетки.
Только после осушения бака (насос выключится) - систему необходимо перевести в режим FREEZE
Перевод в этот редим сбрасывает режим DRY (а также, состояния ошибки автомата наполнения бака)
### Передача статусных значений
@@ -225,16 +253,16 @@ sensor:
state_topic: "edem/s_out/sprinkler/trees/val"
- name: "Поливаем юг"
state_topic: "edem/s_out/sprinkler/south/$state"
state_topic: "root/s_out/sprinkler/south/$state"
- name: "Поливаем север"
state_topic: "edem/s_out/sprinkler/nord/$state"
state_topic: "root/s_out/sprinkler/nord/$state"
- name: "Поливаем капельно"
state_topic: "edem/s_out/sprinkler/trees/$state"
state_topic: "root/s_out/sprinkler/trees/$state"
- name: "Полив розетка статус"
state_topic: "edem/s_out/sprinkler/outlets/$state"
state_topic: "root/s_out/sprinkler/outlets/$state"
- name: "Полив блокировки"
state_topic: "root/s_out/sprinkler/ctrl"