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_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žbyhttp://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)
- Každých 10 sekund (
- 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 !== 0a HTTP status kódresponse.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).
- Skript ověřuje
- Ochrana proti poškozenému JSON:
- Zpracování odpovědi probíhá v bloku
try / catch. Při syntaktické chybě v JSON skript nespadne.
- Zpracování odpovědi probíhá v bloku
- Bezpečný zápis přes Virtual Handle:
- Používá
Virtual.getHandle(), ověřuje existenci komponenty i nenulovost hodnoty (val !== null && val !== undefined).
- Používá