Přeskočit na hlavní obsah

Zasuvka_vjezd_8a (192.168.100.252)

Shelly Pro / Plug venku u vjezdu (Venek) přijímající data o stavu solární elektrárny a baterie z Python serveru XTRA.


Seznam skriptů​

  1. 1_XTRA.js – Stahování solárních a bateriových dat z Python serveru do virtuálních komponent

1. 1_XTRA.js​

Funkce a účel​

  • Vyčítání FVE dat z Python serveru:
    • Každých 10 sekund (POLL_INTERVAL: 10000) stahuje stav regulátoru EPEver XTRA z Python služby http://100.81.155.15:8081/.
    • Zapisuje získané parametry do 9 virtuálních komponent v této Shelly:
      • number:200: Kapacita baterie SOC (%)
      • number:201: Napětí baterie (V)
      • number:202: Nabíjecí proud baterie (A)
      • number:203: Teplota baterie (°C)
      • number:204: Teplota měniče/regulátoru (°C)
      • number:205: Proud ze solárních panelů (A)
      • number:206: Napětí solárních panelů (V)
      • number:207: Dnešní celková výroba FVE (kWh)
      • text:200: Čas poslední aktualizace (last_updated)
  • Umožňuje využít tyto solární parametry v lokálních Shelly Scénách (např. automatické spínání venkovního nabíjení či ohřevu pouze při přebytcích nebo vysokém SOC baterie).

Ochrany při výpadku a nedostupnosti​

  • Výpadek Python serveru nebo sítě:
    • Skript ověřuje error_code !== 0 a HTTP status kód response.code === 200.
    • Pokud server neodpovídá nebo je spojení přerušeno, skript pouze zaloguje chybu a nezamrzne.
    • Virtuální komponenty si uchovávají poslední známé hodnoty (nedochází k jejich vymazání na nulu).
  • Ochrana proti poškozenému JSON:
    • Zpracování odpovědi probíhá v bloku try / catch. Při syntaktické chybě v JSON skript nespadne.
  • Bezpečný zápis přes Virtual Handle:
    • Používá Virtual.getHandle(), ověřuje existenci komponenty i nenulovost hodnoty (val !== null && val !== undefined).