22. Solar Sim — simulátor FVE v aplikaci

Kapitola 22 · menu Sim · /solar-sim · FW S3.0914+ (větev V900) · online emulator: solar-sim-demo.html

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.

Vyzkoušet hned v prohlížeči (bez ESP32):
Výukový emulator — posuvníky, Amax, barvy prahů. MQTT tady neběží (záměr).
Otevřít online emulator Popis boxů dema Prediktivní brzda Amax
V900 · S3.0914 Na zařízení: po WiFi otevřete 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).
Zapnutá simulace přepíše MQTT hodnoty FVE (volitelně load / síť / baterii). Výchozí režim je bez fyzického topení (pin PWM = 0, jen se počítá cíl). Po testu simulaci vypněte — PWM jde ihned na 0 a ~8 s drží 0.

Obsah 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-prompt pro 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)

  1. Zapnutí — checkbox na /solar-sim nastaví gSolarSimOn. Ruční webové /pwm se při tom vypne. Bez ID API běží trial max 10 min / boot.
  2. Override MQTTapplySolarSimOverride() přepíše solarW (volitelně loadW, cezW, solarV, baterii). Proud FVE A = W ÷ V.
  3. Stejný výpočet — klasická / AI větev (vypocet01), limity cezWMax, soft/hard solarAmax + prediktivní FF brzda (11b /ai-fve-pv), batt cut, teploty SSR, Spot Gate.
  4. Mute / fyzicky — výchozí „Přidávat na topení“ vypnuto: cíl se počítá, pin = 0. Zapnuto = skutečný PWM / odběr.
  5. heatMaxW — max. odběr @100 % PWM je sdílený s /teplota (SPIFFS heatMaxW / /heatMaxW.ea). Volitelná křivka z kalibrace /heat-pwm-cal.csv → LIVE heatCurveOk.
  6. Virtuální odběr — při mute odberWatt ≈ heatMaxW × PWM% (nebo z křivky) pro surplus logiku.
  7. Skok sítě — dočasný cezJump (mikrovlnka) na N sekund.
  8. 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+.

EaSun · /solar-sim · Simulace FVE — test PWM ŘÍZENÍ ☑ Zapnout simulaci FVE Režim: AI ASSIST ▾ Preset: Domácí topení · 2.0 %/s Větev: SURPLUS · slowPWM ON SOLAR ☑ Přepsat FVE (W) 2200 W · 350 V → 6.3 A TOPENÍ ☐ Přidávat na topení (výchozí = mute pin) heatMaxW @100 %: 2000 W (/teplota) Odhad teď: 860 W / 3.7 A @ 230 V Ruční PWM OFF — řídí automatika / AI
Levý sloupec: ŘÍZENÍ, SOLAR, TOPENÍ (mute výchozí; heatMaxW = /teplota).
LIVE · stav výpočtu PWM Limity OK · přebytek +1400 W FVE 2200 W DŮM 800 W PŘEBYTEK +1400 W PWM 70 % PWM cíl 72 % → výstup 70 % · cut distributor 0 % FF Amax: dA_est / dPwmCap · soft/max A · křivka cal AI fb→návrh→final: 68→75→70 % · mix ASSIST SURPLUS_RAMP · heatOut=0 (mute pin) branch → CSV Logovat PWM → /logs AI prompt
Pravý sloupec LIVE: tok, FF Amax, AI a větev důvodu (branch).

Co obsahují jednotlivé boxy

BoxCo nastavíte / vidíteProč
ŘÍ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
Struktura /solar-sim (2 sloupce + LOG) LEVÝ — ovládání ŘÍZENÍ (+ preset rychlosti) TOPENÍ · heatMaxW SOLAR + A (W÷V) DISTRIBUTOR + skoky BATERIE PRAVÝ — LIVE (sticky) Alerty + barvy prahů FF Amax · soft/max A PWM cut · AI fb→final branch / reason AMAX · CEZ · SURPLUS LOG (celá šířka) — Logovat PWM → /logs · /logs-ai-prompt CSV RAM ring · i bez simulace (ostrý provoz)
Mapa boxů: vlevo vstupy, vpravo telemetrie, dole LOG napojený na AI prompt.
Tok výpočtu v aplikaci MQTT nebo override surplus FVE − load cíl % ÷ heatMax Amax FF + cez PWM Hard limity + větev branch (CSV) FF Amax → reactive cut → cez Max · settle amaxHoldMs AI SHADOW = jen návrh · ASSIST/AUTO = mix / řízení + limity heatOut OFF → pin=0 · ON → fyzický odběr Logovat PWM → /logs-ai-prompt (freeze snapshot)
Od MQTT/override přes surplus a limity až k PWM a AI promptu.

Tok dat a limity

  • Přebytek — FVE nad solarWMin a nad spotřebou domu → energie pro topení.
  • Cíl PWM — přebytek / max. výkon tělesa (heatMaxW nebo 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)

S3.0913+ Checkbox Logovat PWM běží i když je simulace vypnutá (ostrý provoz / ladění). Zapisuje se jen při změně PWM / FVE / sítě (min. ~350–800 ms).
  • 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ší)

branchVýznam
SURPLUS_RAMPPřebytek — rampa nahoru (krok +)
AMAX_FF_CAPPrediktivní brzda: omezený krok PWM (dA_est / dPwmCap)
AMAX_REACTIVE_CUTProud ≥ Amax — cut PWM + settle (amaxHoldMs)
AMAX_RECOVERY_HOLDDržení po cutu (latch / hold)
AMAX_SOFT_LATCHSoft pásmo / latch po Amax
CEZ_MAX_CUTOdběr ze sítě nad Max — cut distributora
UNDER_MIN_SLOW_DROP / UNDER_MIN_FAST_CUT_0FVE pod solarWMin — pomalý drop / rychlé 0
BATT_CHARGE_CUTŠetření nabíjení baterie
SIM_PWM_MANUALRuční PWM v sim (auto výpočet vypnut)
ECO_KICK / DEFICIT_no_fast_cutECO kick / deficit bez hard cutu
Detail prediktivní brzdy Amax a kalibrace 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.

Nemusíte nic z /solar-sim ručně kopírovat. Při otevření /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

  1. Na /solar-sim zapněte Logovat PWM, nechte běžet test / provoz.
  2. Otevřete /logs nebo /logs-ai-prompt — CSV se vloží samo a logování se vypne.
  3. V prohlížeči otevřete Gemini nebo ChatGPT (účet zdarma stačí).
  4. Vložte text (Ctrl+V) a odešlete — auto-dotazy i branch jsou v promptu.
  5. Další test: znovu zapněte Logovat PWM na /solar-sim.

Co je v promptu

BlokObsah
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: …
Bez zapnutého „Logovat PWM“ obsahuje prompt jen snapshot stavu a event log — pro analýzu sekvence cutů po sekundách zapněte logování před testem Amax.
Rozdíl oproti AI Cloud (Gemini ve FW):
Prompt z /logs = ruční chat v prohlížeči. AI Cloud na /system-modes = denní plán / soft bias v aplikaci (API klíč).
Kap. 21 · Cloud AI Amax · § AI prompt Amax · přehled

Online emulator vs zařízení

Online emulator easun.eu/…/solar-sim-demo bez MQTT · bez ESP výukový surplus + Amax hned ve webu Aplikace na ESP /solar-sim + /logs-ai-prompt plný vypocet + AI + SSR CSV log + AI chat prompt doporučeno S3+PSRAM Dvě vrstvy: demo ↔ zařízení
Demo učí princip; na ESP běží ostrý stack + AI prompt z logu.
Online demo/solar-sim na ESP
MQTTneano (lze přepsat)
Výpočetzjednodušený surplusplný FW (SSR, Spot, AI, FF Amax…)
Fyzický PWMnevolitelně (heatOut)
Logovat PWM / AI promptneano (/logs)
Barvy prahůanoano
URLsolar-sim-demo.htmlhttp://IP/solar-sim

Emulator: https://easun.eu/navod/solar-sim-demo.html

API a SPIFFS

CestaÚčel
/solar-simHTML stránka simulátoru (menu Sim)
/api/solar-simJSON stav LIVE (PWM, cuts, aLvl, cezLvl, dA_est, amaxHoldMs…)
/api/solar-sim-setZápis ovládání (on, heatOut, heatMax, solar, cezJump, log…)
/api/solar-sim-logCSV průběh; ?view=1&tail=40 náhled; ?clear=1 smazat
/logsEvent log + blok Prompt pro AI (freeze solar-sim log)
/logs-ai-promptStejný prompt jako .txt (download / otevření)
/solar-sim.cfgSPIFFS konfigurace stránky sim
/solar-sim-log.csvPoslední flush CSV z RAM
heatMaxW / /heatMaxW.eaMax W @100 % — sdílené s /teplota (easun.cfg)

Související kapitoly

Spustit výukový emulator: https://easun.eu/navod/solar-sim-demo.html