From 4c760e943fae5e875713135db0b08420175d189f Mon Sep 17 00:00:00 2001 From: Vitali Date: Fri, 7 Aug 2026 14:59:57 +0700 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=BE=D0=BA=D1=83=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20?= =?UTF-8?q?=D0=B4=D0=B2=D0=B0=20=D0=BF=D1=80=D0=B8=D0=BD=D1=8F=D1=82=D1=8B?= =?UTF-8?q?=D1=85=20=D0=BE=D0=B3=D1=80=D0=B0=D0=BD=D0=B8=D1=87=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Отсутствие ретраев webhook — сознательное решение: автономная работа без отправки событий это штатный режим. Пауза мониторинга до 2 минут при старте без сохранённой сети (блокирующий портал WiFiManager в setup()) — принята как есть, с указанием способа лечения, если понадобится. Co-Authored-By: Claude Opus 5 --- pump_controller_8_2_OLED_DONE/README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pump_controller_8_2_OLED_DONE/README.md b/pump_controller_8_2_OLED_DONE/README.md index c501e44..360a7b2 100644 --- a/pump_controller_8_2_OLED_DONE/README.md +++ b/pump_controller_8_2_OLED_DONE/README.md @@ -267,6 +267,18 @@ STATUS: OK * События, произошедшие без Wi-Fi или при неудачной отправке, не буферизуются и не повторяются — webhook теряется, флаги `mainAlarmSent` / `emergencyActiveSent` выставляются независимо от результата POST. + Ретраи и очередь сознательно не реализованы: контроллер рассчитан на работу + и без отправки событий, автономность — штатный режим, а не отказ. +* **Пауза мониторинга при старте без сохранённой сети.** `wm.autoConnect()` + поднимает портал настройки и блокирует `setup()` в цикле ожидания до + истечения `setConfigPortalTimeout(120)`. Пока `setup()` не завершён, `loop()` + не выполняется: дребезг не считается, аварии не формируются, выходы не + переключаются (они остаются в безопасном `LOW`, выставленном до Wi-Fi). + В установке, где сеть не настраивается никогда, эти 2 минуты повторяются + при каждом включении питания. Принято как есть; при необходимости лечится + `wm.setConfigPortalBlocking(false)` + `wm.process()` в `loop()` — с оговоркой, + что в неблокирующем режиме `setConfigPortalTimeout` не применяется и гасить + портал придётся своим таймером. * Логика аварии — «оба стоят»: остановка одного насоса штатной ситуацией не считается и никак не сигнализируется. * Webhook URL хранится в EEPROM в открытом виде и отдаётся веб-панелью всем,