🚀 v26.2.12 — Power Loss & HealthMon Reliability Fix
Sürüm Tipi: Critical Bug Fix
Odak: Elektrik kesintisi sonrası bildirim güvenilirliği
Elektrik kesintisi yaşandıktan sonra router yeniden açıldığında WAN UP bildirimi gelmiyor, güncelleme kontrolü hatalı çalışıyor ve HealthMon'un init scripti network hazır olmadan başlatılıyordu.
Bu sürüm bu sorunların tamamını kökünden düzeltiyor.
✅ Düzeltmeler
-
WAN UP bildirimi artık elektrik kesintisinden sonra da geliyor
wanmon.statedosyası mevcut değilken varsayılan değerUPolarak atanıyordu. Bu nedenle DOWN→UP geçişi hiçbir zaman algılanamıyor ve bildirim gönderilmiyordu. Varsayılan değerDOWNolarak düzeltildi. -
HealthMon init scripti (
S99zkm_healthmon) tamamen yeniden yazıldı
Network hazır olmadan daemon başlatılıyordu. Init script artık başlatmadan önce internet erişimi sağlanana kadar bekliyor (maks. 120 sn), önceki boot'tan kalan sahte PID/lock dosyalarını temizliyor ve başlangıç doğrulaması yapıyor. Tüm init adımları/tmp/healthmon_init.logdosyasına kaydediliyor. -
WAN monitoring ve güncelleme kontrolü network bekleme bloğundan sonra çalışıyor
healthmon_loop()içinde WAN tick ve versiyon kontrolü, network hazır olmadan çalışıyordu. Sıralama düzeltildi. -
"Güncelleme kontrolü başarısız" bildirimi artık gönderilmiyor
GitHub'a ulaşılamadığında gereksiz hata bildirimi Telegram'a gönderiliyordu. Artık yalnızca log'a yazılıyor ve bir sonraki cycle'da yeniden deneniyor. -
Güncelleme kontrolü timestamp'i her boot'ta sıfırlanmıyordu
healthmon_updatecheck.tsstartup cleanup sırasında siliniyordu. Bu durum network hazır olmadan her boot'ta GitHub'a bağlanma denemesine yol açıyordu. Artık yalnızca script versiyonu değiştiğinde sıfırlanıyor. -
Yazılım güncel olduğunda bildirim eklendi
Güncelleme kontrolü çalıştığında yeni versiyon yoksa herhangi bir bildirim gönderilmiyordu. Artık "Güncel ✅" bildirimi Telegram'a iletiliyor.
⚙️ Notlar
- PPPoE disconnect/reconnect senaryosu etkilenmez, önceki gibi çalışmaya devam eder.
- Mevcut kurulumlar güvenle güncellenebilir.
- Güncelleme sonrası HealthMon'u disable → enable yaparak init script'in yenilenmesi önerilir.
🚀 v26.2.12 — Power Loss & HealthMon Reliability Fix
Release Type: Critical Bug Fix
Focus: Notification reliability after power outage
After a power outage, when the router came back online, the WAN UP notification was not delivered, update checks were failing, and the HealthMon init script was starting before the network was ready.
This release addresses all of these issues at the root level.
✅ Fixes
-
WAN UP notification now works after a power outage
Whenwanmon.statedid not exist, the default state was incorrectly set toUP, so the DOWN→UP transition was never detected and no notification was sent. Default is now correctly set toDOWN. -
HealthMon init script (
S99zkm_healthmon) fully rewritten
The daemon was being launched before the network was ready. The init script now waits until internet connectivity is confirmed (max 120s), cleans up stale PID/lock files from the previous hard shutdown, and verifies successful startup. All init steps are logged to/tmp/healthmon_init.log. -
WAN monitoring and update check now run after the network wait block
Insidehealthmon_loop(), the WAN tick and version check were running before the network was ready. Execution order corrected. -
Suppressed unnecessary "update check failed" Telegram notification
When GitHub was unreachable, an unnecessary failure notification was sent to Telegram. It now only writes to the log and retries on the next cycle. -
Update check timestamp no longer reset on every boot
healthmon_updatecheck.tswas being deleted during startup cleanup, causing an immediate GitHub API call before the network was stable on every boot. It is now only reset when the script version changes. -
Added "up to date" notification when no update is available
When the update check ran and no new version was found, no notification was sent. A "Up to date ✅" message is now delivered to Telegram.
⚙️ Notes
- PPPoE disconnect/reconnect behavior is unaffected and works as before.
- Safe to update from previous versions.
- After updating, it is recommended to disable → enable HealthMon so the init script is refreshed.