22. Solar Sim — simulátor FVE v aplikaci
Solar Sim je vestavěná stránka v EaSun Aplikaci pro bezpečný test,
jak se počítá PWM topení z přebytku FVE — bez čekání na slunce.
Přepíše provozní hodnoty (MQTT) a nechá běžet stejný výpočet jako v ostrém provozu
(limity sítě, proud měniče, baterie, AI režimy).
Od FW S3.0913+ je propojená s Promptem pro AI na /logs:
CSV z „Logovat PWM“ se do chatu vloží automaticky.
Výukový emulator — posuvníky, Amax, barvy prahů. MQTT tady neběží (záměr).
http://<IP-ESP>/solar-sim
(položka menu Sim).
Doporučená deska: ESP32-S3 + PSRAM
(Solar Sim zatěžuje heap — klasický Dev Module končí podporu).
Bez ověřeného ID API: trial max 10 min / boot (po restartu znovu).
Obsah kapitoly
- K čemu slouží
- Jak to funguje v aplikaci
- Layout stránky /solar-sim (diagramy)
- Tok dat a limity
- Barevné prahy LIVE
- LOG — Logovat PWM (CSV)
- Prompt pro AI z logů
- Online emulator vs zařízení
- API a SPIFFS
- Související kapitoly
K čemu slouží
- Výuka a podpora — ukázat přebytek FVE → cíl PWM → limity bez reálného slunce.
- Test scénářů — zataženo, mikrovlnka (skok sítě), nabíjení baterie, proud Amax / FF brzda.
- Ověření režimů — Původní / Optimalizace / AI SHADOW · ASSIST · AUTO se stejným stackem jako provoz.
- Bezpečný start — mute pin: počítáte PWM, ale netopíte, dokud nezapnete „Přidávat na topení“.
- Diagnostika + AI chat — „Logovat PWM“ i bez simulace; prompt na
/logs//logs-ai-promptpro Gemini nebo ChatGPT (bez API klíče na ESP).
Ruční /pwm (13a) vypne automatiku úplně.
Solar Sim naopak nechá automatiku běžet a jen podstrčí vstupy.
Jak to funguje v aplikaci (ESP32)
- Zapnutí — checkbox na
/solar-simnastavígSolarSimOn. Ruční webové/pwmse při tom vypne. Bez ID API běží trial max 10 min / boot. - Override MQTT —
applySolarSimOverride()přepíšesolarW(volitelněloadW,cezW,solarV, baterii). Proud FVE A = W ÷ V. - Stejný výpočet — klasická / AI větev (
vypocet01), limitycezWMax, soft/hardsolarAmax+ prediktivní FF brzda (11b /ai-fve-pv), batt cut, teploty SSR, Spot Gate. - Mute / fyzicky — výchozí „Přidávat na topení“ vypnuto: cíl se počítá, pin = 0. Zapnuto = skutečný PWM / odběr.
- heatMaxW — max. odběr @100 % PWM je sdílený s
/teplota(SPIFFSheatMaxW//heatMaxW.ea). Volitelná křivka z kalibrace/heat-pwm-cal.csv→ LIVEheatCurveOk. - Virtuální odběr — při mute
odberWatt ≈ heatMaxW × PWM%(nebo z křivky) pro surplus logiku. - Skok sítě — dočasný
cezJump(mikrovlnka) na N sekund. - Vypnutí sim — PWM ihned 0 + hold ~8 s, ať realita hned nevytáhne simulovaných 100 %.
Layout stránky /solar-sim — diagramy
Dvousloupcové rozhraní: vlevo ovládání (Řízení, Topení, Solar, Distributor, Baterie), vpravo sticky LIVE stav. Dole přes celou šířku box LOG. Schémata níže odpovídají UI ve FW S3.0914+.
Co obsahují jednotlivé boxy
| Box | Co nastavíte / vidíte | Proč |
|---|---|---|
| ŘÍZENÍ | Zap/vyp sim, režim (Původní / Optimalizace / AI), preset rychlosti (domácí, bojler, radiátory…), %/s, delay, slowPWM | Stejné řízení jako /pwm + /system-modes |
| TOPENÍ | heatMaxW (sdílené s /teplota), mute/fyzický výstup, ruční PWM (limity Amax/cez stále platí) |
Mapování W → %; bezpečný test; FF odhad |
| SOLAR | Přepsat FVE W (±10/100, presets 0–10k), napětí V, A = W÷V; nebo nechat MQTT | Simulovat výrobu bez slunce; proud pro Amax |
| DISTRIBUTOR | load, cez, Min/Max (doporučení 800–1500 W Max), skoky odběru 3–15 s | Přebytek = FVE − load; ochrana distributora |
| BATERIE | Přepis W / V / MaxW — test BATT_CHARGE_CUT | Šetřit akumulaci v režimu Optimalizace |
| LIVE | Alerty, tok, cuts, soft/max A, FF Amax (dA_est, dPwmCap, křivka), AI fb→final, reason | Vidět proč PWM roste/klesá; barvy prahů |
| LOG | Logovat PWM (CSV ring podle desky: 60 / 200 / 400) → náhled / stažení / AI prompt | Diagnostika; funguje i bez zapnuté simulace |
Tok dat a limity
- Přebytek — FVE nad
solarWMina nad spotřebou domu → energie pro topení. - Cíl PWM — přebytek / max. výkon tělesa (
heatMaxWnebo křivka) → 0–100 %. - solarAmax — ochrana proudu měniče z
/ai-fve-pv(11b): soft pásmo brzdí, FF cap omezí krok nahoru, nad max škáluje a ubírá (reactive cut + settle). Detail: stručný přehled (vývoj) · plný návod. - cez Max — při odběru ze sítě nad limitem cut PWM (mikrovlnka).
- Vyhlazení — rychlost %/s (stejné nastavení jako na
/pwm; preset z ŘÍZENÍ).
Barevné prahy LIVE (jako v aplikaci)
Buňky LIVE se barví stejně jako ve FW (sim-near / sim-crit):
- žlutá — blízko prahu (např. proud ~soft A, cez ≥ 80 % Max, FVE blízko min).
- červená — nad limitem (A ≥ solarAmax, cez ≥ Max, cut PWM, UNDER_MIN…).
- bez barvy — OK.
Stejné barvy najdete i v online emulatoru: solar-sim-demo.html · Barvy prahů.
LOG — Logovat PWM (CSV)
- RAM ring — kapacita podle desky (sloupec
branch): 60 řádků bez PSRAM · 200 s PSRAM · 400 na N16R8 (8 MB PSRAM). Na stránce vidíteřádků: N / max. - SPIFFS — občasný flush do
/solar-sim-log.csv(max. ~220 řádků kvůli 32 kB; plný ring zůstává v RAM/PSRAM). - Odkazy v boxu — Stáhnout log (celý ring z RAM) · Náhled (
?view=1&tail=80) · AI prompt (.txt) · Smazat / Obnovit náhled.
Sloupce CSV
ms,solarW,solarEff,solarMin,solarA,solarV,loadW,cezW,surplus,pwm,dPwm,slow,spd,krokP,krokM,branch
Legenda branch (nejčastější)
| branch | Význam |
|---|---|
SURPLUS_RAMP | Přebytek — rampa nahoru (krok +) |
AMAX_FF_CAP | Prediktivní brzda: omezený krok PWM (dA_est / dPwmCap) |
AMAX_REACTIVE_CUT | Proud ≥ Amax — cut PWM + settle (amaxHoldMs) |
AMAX_RECOVERY_HOLD | Držení po cutu (latch / hold) |
AMAX_SOFT_LATCH | Soft pásmo / latch po Amax |
CEZ_MAX_CUT | Odběr ze sítě nad Max — cut distributora |
UNDER_MIN_SLOW_DROP / UNDER_MIN_FAST_CUT_0 | FVE pod solarWMin — pomalý drop / rychlé 0 |
BATT_CHARGE_CUT | Šetření nabíjení baterie |
SIM_PWM_MANUAL | Ruční PWM v sim (auto výpočet vypnut) |
ECO_KICK / DEFICIT_no_fast_cut | ECO kick / deficit bez hard cutu |
heatMaxW
(včetně § AI konzultace z logů):
Prediktivní brzda proudu FVE (vývoj)
·
plný návod solar-amax-prediktivni-brzda.html
· lokálně: solar-amax-prediktivni-brzda.html.
Prompt pro AI z logů (rozšíření)
Od FW S3.0913+ aplikace automaticky sestaví textový prompt pro Gemini / ChatGPT v prohlížeči — bez API klíče na ESP32 a bez zapnutého AI Cloud.
/logs nebo /logs-ai-prompt aplikace:
flushne CSV z RAM → vloží ho do promptu → vypne „Logovat PWM“
(kompletní snapshot). Další test = znovu zapnout logování na /solar-sim.
Kde prompt najdete
| Cesta | Účel |
|---|---|
/logs |
Event log — zelený blok Prompt pro AI, tlačítko Kopírovat; auto CSV + stop logování |
/logs-ai-prompt |
Čistý text (.txt) — stejný snapshot (flush + stop) |
/solar-sim → LOG |
Odkazy na AI prompt; tip po testu |
/diag, /reset |
Odkazy na AI prompt v diagnostice |
Doporučený postup
- Na
/solar-simzapněte Logovat PWM, nechte běžet test / provoz. - Otevřete
/logsnebo/logs-ai-prompt— CSV se vloží samo a logování se vypne. - V prohlížeči otevřete Gemini nebo ChatGPT (účet zdarma stačí).
- Vložte text (Ctrl+V) a odešlete — auto-dotazy i
branchjsou v promptu. - Další test: znovu zapněte Logovat PWM na
/solar-sim.
Co je v promptu
| Blok | Obsah |
|---|---|
| Dotazy pro AI | Hlavní dotaz + až ~8 otázek podle stavu, event logu a solar-sim CSV (WDT, MQTT, Amax, heatMaxW, Spot…) |
| Zařízení | FW, IP, MAC, uptime, důvod posledního startu, heap / SPIFFS free |
| # cfg | Snapshot nastavení: AI režim, solarAmax, throttle, heatMaxW, Spot, baterie, cez Max… |
| Mapa menu | Horní menu (nápis jak v aplikaci: FVE·AI, Měření, Sim…) + plná LAN URL http://<IP>/ai-fve-pv + HTML id polí |
| Aktuální stav | solarW / load / cez / PWM / solarA / AI návrh / Spot / SOC / teploty |
| Solar-sim log | Celý RAM/PSRAM ring (60 / 200 / 400 podle desky), pokud stačí heap; jinak zkrácený tail |
| Event log | Poslední warn/error z dneška (SPIFFS) |
| Formát odpovědi | Povinně: nápis horního menu → plná URL s IP (LAN) → název pole → aktuální → doporučení → proč. Ne jen /ai-fve-pv bez IP. Hesla se neposílají. |
Příklad, co má AI vypsat (IP doplní aplikace sama):
- Menu: FVE·AI - Kam: http://192.168.1.50/ai-fve-pv - Pole: «Max solar A» (solarAmax) - Aktualni: 18.0 - Doporucit: 22.0 - Proc: …
Prompt z
/logs = ruční chat v prohlížeči.
AI Cloud na /system-modes = denní plán / soft bias v aplikaci (API klíč).
Online emulator vs zařízení
| Online demo | /solar-sim na ESP | |
|---|---|---|
| MQTT | ne | ano (lze přepsat) |
| Výpočet | zjednodušený surplus | plný FW (SSR, Spot, AI, FF Amax…) |
| Fyzický PWM | ne | volitelně (heatOut) |
| Logovat PWM / AI prompt | ne | ano (/logs) |
| Barvy prahů | ano | ano |
| URL | solar-sim-demo.html | http://IP/solar-sim |
API a SPIFFS
| Cesta | Účel |
|---|---|
/solar-sim | HTML stránka simulátoru (menu Sim) |
/api/solar-sim | JSON stav LIVE (PWM, cuts, aLvl, cezLvl, dA_est, amaxHoldMs…) |
/api/solar-sim-set | Zápis ovládání (on, heatOut, heatMax, solar, cezJump, log…) |
/api/solar-sim-log | CSV průběh; ?view=1&tail=40 náhled; ?clear=1 smazat |
/logs | Event log + blok Prompt pro AI (freeze solar-sim log) |
/logs-ai-prompt | Stejný prompt jako .txt (download / otevření) |
/solar-sim.cfg | SPIFFS konfigurace stránky sim |
/solar-sim-log.csv | Poslední flush CSV z RAM |
heatMaxW / /heatMaxW.ea | Max W @100 % — sdílené s /teplota (easun.cfg) |
Související kapitoly
- 5. MQTT a Solar Assistant — zdroj FVE / load / grid / batt
- 11a. SHADOW / ASSIST / AUTO
- 11b. FVE·AI — U×I odhad + solarAmax
- 13a. Ruční PWM — rozdíl: vypne automatiku
- 15. Záloha, reset, diagnostika — logy / diag
- 21. Cloudové AI Gemini — denní plán ve FW (jiná vrstva než prompt z /logs)
- Prediktivní brzda proudu FVE (vývoj) — plný návod (heatMaxW, FF, settle, § AI prompt)
- Evoluce FW · Solar Sim
- Online emulator