Audit integrace VictoriaLogs v Shelly skriptech
Tento dokument mapuje aktuální stav odesílání telemetrie, událostí a chybových stavů do centrálního logovacího a metrického systému VictoriaLogs (http://100.81.155.15:9428/insert/jsonline).
1. Souhrnná statistika
- Celkem skriptů v repozitáři: 33 souborů
*.js - Integrace VictoriaLogs:
- Aktivní integrace: 16 (48 %)
- Bez integrace: 17 (52 %)
- Ochrana proti pádu a zachytávání chyb:
- 🟢 Vysoká (Robustní / Fail-Safe): 18 (55 %) – plné
try/catchkrytí, validaceJSON.parse/parseInt, bezpečné watchdog/fail-safe stavy - 🟡 Střední (Základní ošetření): 10 (30 %) – ošetřené callbacky a null checks, ale chybí
try/catchochrana před nečekanými výjimkami - 🔴 Nízká (Kritické riziko pádu): 5 (15 %) – nechráněný
JSON.parse()na síťové odpovědi; při chybě sítě/API skript spadne a ukončí se
- 🟢 Vysoká (Robustní / Fail-Safe): 18 (55 %) – plné
2. Kompletní přehledová tabulka všech skriptů
Rychlý rozcestník pro rozhodování (Kde co opravit):
- 🚨 Priorita 1 (Obojí – Kritický pád v Try/Catch + Chybí VictoriaLogs):
Regulace-vetyl/1_topeni.js– Centrála topení domu! NechráněnýJSON.parsez Open-Meteo může shodit oběhové čerpadlo.Loznice1p/1_topeni.js– NechráněnýJSON.parsepočasí + chybí telemetrie ekvithermy.
- 🚨 Priorita 2 (Kritická telemetrie do VictoriaLogs – Try/Catch je v pořádku / stabilní):
Kotel_cerpadlo/1_kotel2pm.js– Čerpadlo kotle, ochrana proti varu 88 °C, spaliny.Regulace-vetyl/2_el_dotapeni.js– Teploty AKU, 4 kW a 7.5 kW patrony, blokace spotřebiči.Regulace-vetyl/3_smesovac.js– Poloha servopohonu (0–100 %), náběh, zpátečka.
- ⚠️ Priorita 3 (Opravit pád v Try/Catch – VictoriaLogs je sekundární):
Wall_display_kuchyne_1p/3_chodba_sync.js– 2× nechráněnýJSON.parsez TRV/status.Wall_display_kuchyne_1p/4_chodba_tmp_sync.js– NechráněnýJSON.parsez TRV.Wall_display_kuchyne_1p/5_XTRA.js– 3× nechráněnýJSON.parseze sousední Shelly.
- ℹ️ Priorita 4 (Drobné úpravy / Nízká priorita):
- 🟢 Hotovo / Bez akce:
- 12 skriptů má plně funkční VictoriaLogs a robustní ochranu proti pádu (včetně
Sauna/1_blokace_sauna.jsaXtra-rs485/1_Epever-tracer.js).
- 12 skriptů má plně funkční VictoriaLogs a robustní ochranu proti pádu (včetně
Podrobná srovnávací tabulka skriptů
| Zařízení / Místnost | IP adresa | Soubor skriptu | Logs (VictoriaLogs) | Try/Catch (Pád & Chyby) | Co posílat do Logs | Problém v Try/Catch | Rozhodnutí: Co opravit |
|---|---|---|---|---|---|---|---|
| Eliska_display | 192.168.100.64 | 1_ilumination.js | ❌ NE (Nízká) | 🟡 0× try (Základní) | Intenzita osvětlení (luxy). | Žádné akutní riziko (lokální RPC, null check přítomen). | ℹ️ Nízká priorita (volitelně doplnit VL) |
| Eliska_display | 192.168.100.64 | 3_TRV_sync.js | ✅ ANO (Hotovo) | 🟢 5× try (Robustní) | Teploty, cíl, poloha TRV, fáze boost, kotel. | V pořádku (JSON.parse v try/catch, validace HTTP). | 🟢 Hotovo / Bez akce |
| El-celkove | 192.168.100.251 | 1_blokace3m.js | ✅ ANO (Hotovo) | 🟢 8× try (Robustní) | Proudy L1–L3, celkový kW, blokace 4 kW a 9 kW. | V pořádku (ošetřené timery, timeouty 5 s, null checks). | 🟢 Hotovo / Bez akce |
| El-celkove | 192.168.100.251 | 2_vystrahy.js | ✅ ANO (Hotovo) | 🟢 2× try (Robustní) | ČHMÚ výstrahy, stupeň rizika (0–4), chyby sítě. | V pořádku (bezpečný JSON.parse z ČHMÚ v try/catch). | 🟢 Hotovo / Bez akce |
| Solar_okruh_power | 192.168.100.40 | 1_EM-solarokruh.js | ✅ ANO (Hotovo) | 🟢 1× try (Robustní) | Výkon okruhu, relé FVE/Grid, test přetížení >1500 W. | V pořádku (try/catch u VL, validace EM komponent). | 🟢 Hotovo / Bez akce |
| Solar_okruh_power | 192.168.100.40 | 2_Predikce_FVE.js | ✅ ANO (Hotovo) | 🟢 2× try (Robustní) | Denní osvit Wh/m², špičkový výkon W/m². | V pořádku (Open-Meteo JSON.parse i pole v try/catch). | 🟢 Hotovo / Bez akce |
| Solar_okruh_power | 192.168.100.40 | 3_BMS_Baterie.js | ✅ ANO (Hotovo) | 🟢 3× try (Robustní) | Napětí, min/max článek, delta U, 16 článků. | V pořádku (BMS výpočty v try/catch, null/NaN ochrana). | 🟢 Hotovo / Bez akce |
| Xtra-rs485 | 192.168.100.42 | 1_Epever-tracer.js | ✅ ANO (Hotovo) | 🟢 1× try + safe (Robustní) | Výkon panelů W, proud, napětí, SOC baterie, kWh. | V pořádku (bezpečný parseInt, try/catch u VL, telemetrie po 60 s). | 🟢 Hotovo / Bez akce |
| Eliska-podlaha | 192.168.100.213 | 1_blokace4KW.js | ❌ NE (Střední) | 🟡 0× try (Základní) | Stav relé podlahovky, blokace 4 kW patrony. | Nízké (null-check event.info přítomen, chybí try/catch). | ⚠️ Volitelně doplnit Logs (stačí mít na centrále) |
| Loznice_podlaha | 192.168.100.76 | 1_BlokaceEL4KW.js | ❌ NE (Střední) | 🟡 0× try (Základní) | Stav relé podlahovky, blokace 4 kW patrony. | Nízké (null-check event.info přítomen). | ⚠️ Volitelně doplnit Logs (stačí mít na centrále) |
| ObyvakPodlaha | 192.168.100.222 | 1_blokace4kw.js | ❌ NE (Střední) | 🟡 0× try (Základní) | Stav relé podlahovky, blokace 4 kW patrony. | Nízké (null-check event.info přítomen). | ⚠️ Volitelně doplnit Logs (stačí mít na centrále) |
| Koupelna_podlaha_input | 192.168.100.77 | 1_topeni_universal.js | ✅ ANO (Hotovo) | 🟢 20× try (Referenční) | Teploty, cíle, relé, baterie čidla, Fail-Safe. | Žádné (kompletní try/catch krytí, watchdog, fail-safe). | 🟢 Hotovo / Bez akce |
| Kuchyn0P-2PM | 192.168.100.110 | 1_kuchyn_trv.js | ✅ ANO (Hotovo) | 🟢 20× try (Referenční) | Teploty, cíle, relé, baterie, Fail-Safe události. | Žádné (kompletní try/catch krytí, watchdog). | 🟢 Hotovo / Bez akce |
| Loznice1p | 192.168.100.202 | 1_topeni.js | ❌ NE (VYSOKÁ) | 🔴 0× try (Riziko pádu) | Ekvitermní křivka 1P, venkovní T, TRV požadavky. | Nechráněný JSON.parse (ř. 63) z Open-Meteo. | 🚨 Opravit TryCatch (ř. 63) + Doplnit Logs |
| Loznice_1p_display | 192.168.100.66 | 2_luminace.js | ❌ NE (Nízká) | 🟡 0× try (Základní) | Intenzita osvětlení (luxy). | Nízké (lokální RPC, null check přítomen). | ℹ️ Nízká priorita (volitelně doplnit VL) |
| Loznice_1p_display | 192.168.100.66 | 3_TRV_sync.js | ✅ ANO (Hotovo) | 🟢 5× try (Robustní) | Regulace radiátoru ložnice, polohy ventilů, čerpadlo. | V pořádku (JSON.parse v try/catch, HTTP validace). | 🟢 Hotovo / Bez akce |
| Roleta (Loznice) | 192.168.100.120 | 1_loznice0_trv.js | ✅ ANO (Hotovo) | 🟢 20× try (Referenční) | Regulace radiátoru 0P, baterie čidel, Fail-Safe. | Žádné (kompletní try/catch krytí, watchdog). | 🟢 Hotovo / Bez akce |
| Kuchyne1p-roleta | 192.168.100.223 | 1_WS90-push.js | ❌ NE (Nízká) | 🟡 0× try (Základní) | Teplota WS90 (stačí logovat na centrále v kotelně). | Nízké (má null-check sensor.value). | ℹ️ Bez akce (logování stačí na centrále .31) |
| Obyvak_roleta | 192.168.100.224 | 1_WS90-push.js | ❌ NE (Nízká) | 🟡 0× try (Základní) | Teplota WS90 (stačí logovat na centrále). | Nízké (má null-check). | ℹ️ Bez akce (logování stačí na centrále .31) |
| Wall_display_kuchyne_1p | 192.168.100.34 | 1_IR09.js | ✅ ANO (Hotovo) | 🟢 1× try (Robustní) | Stav z Python serveru, teploty AKU, soláry. | V pořádku (JSON.parse v try/catch, validace kódu 200). | 🟢 Hotovo / Bez akce |
| Wall_display_kuchyne_1p | 192.168.100.34 | 2_TRV_sync.js | ✅ ANO (Hotovo) | 🟢 5× try (Robustní) | Regulace radiátoru obýváku, boost fáze, ventil. | V pořádku (JSON.parse v try/catch, KVS ochrana). | 🟢 Hotovo / Bez akce |
| Wall_display_kuchyne_1p | 192.168.100.34 | 3_chodba_sync.js | ❌ NE (Nízká) | 🔴 0× try (Riziko pádu) | Podružná synchronizace pozice TRV1 → TRV2. | 2× nechráněný JSON.parse (ř. 33 a 60) z TRV. | 🚨 Opravit TryCatch (ř. 33, 60) |
| Wall_display_kuchyne_1p | 192.168.100.34 | 4_chodba_tmp_sync.js | ❌ NE (Nízká) |