From 143e67a859d4173ebc3a8448c6509384afa00a62 Mon Sep 17 00:00:00 2001
From: Sergey
Date: Tue, 19 May 2026 11:23:08 +0700
Subject: [PATCH] =?UTF-8?q?fix:=20=D1=83=D0=B2=D0=B5=D0=B4=D0=BE=D0=BC?=
=?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BE=D0=B1=20=D0=BE=D1=88?=
=?UTF-8?q?=D0=B8=D0=B1=D0=BA=D0=B5=20MikroTik=20=D1=82=D0=BE=D0=BB=D1=8C?=
=?UTF-8?q?=D0=BA=D0=BE=20=D0=BE=D0=B4=D0=B8=D0=BD=20=D1=80=D0=B0=D0=B7=20?=
=?UTF-8?q?+=20=D0=B2=D0=BE=D1=81=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2?=
=?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
monitor.py | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/monitor.py b/monitor.py
index f5d6852..8a168c3 100644
--- a/monitor.py
+++ b/monitor.py
@@ -425,6 +425,7 @@ def main() -> None:
threading.Thread(target=start_web_server, daemon=True).start()
startup_notified = False
+ mikrotik_error_notified = False # флаг: уже уведомили об ошибке подключения
while True:
pool = None
@@ -439,6 +440,14 @@ def main() -> None:
api = pool.get_api()
log.info("Подключено к MikroTik")
+ # Если до этого была ошибка — уведомить о восстановлении
+ if mikrotik_error_notified:
+ mikrotik_error_notified = False
+ notify(
+ f"✅ Подключение к MikroTik восстановлено\n"
+ f"🔧 Роутер: {router_identity} ({MIKROTIK_HOST})"
+ )
+
ip_list = fetch_address_list(api)
if not startup_notified:
@@ -532,11 +541,13 @@ def main() -> None:
except Exception as exc:
log.error("Ошибка: %s", exc)
- notify(
- f"⚠️ Ошибка подключения к MikroTik\n"
- f"🔧 Роутер: {router_identity} ({MIKROTIK_HOST})\n"
- f"{exc}"
- )
+ if not mikrotik_error_notified:
+ mikrotik_error_notified = True
+ notify(
+ f"⚠️ Ошибка подключения к MikroTik\n"
+ f"🔧 Роутер: {router_identity} ({MIKROTIK_HOST})\n"
+ f"{exc}"
+ )
finally:
if pool:
try: