Změny mezi ESP32-Grid-Load-Vypočet300.ino a ESP32-Grid-Load-Vypočet302.ino
Přehled významných úprav v jednom souboru .ino (řádkový rozsah cca 13 476 → 13 674).
Část chování může záviset i na hlavičkách / modulech (např. implementace espNowLuxAggregate, formatSolarApiTestResultHtml, nastaveniPruvodceRegistrujKrok6Routes). Tento dokument popisuje změny zjištěné přímo v porovnání obou .ino souborů.
1. Verze firmwaru
- Řetězec verze:
S3.0300→S3.0302(firmwareV).
2. Průvodce nastavením – kalibrace SSR (krok 6)
- Nová globální proměnná
volatile int gSsrWizardCalibrateLogicalPct(fixní „logické“ PWM při kalibracissr_eff_min). - Při registraci webových endpointů se volá
nastaveniPruvodceRegistrujKrok6Routes()(předserver.onNotFound). - V režimu průvodce (
gNastaveniPruvodceRezim): čtení PZEM (napětí, proud, výkon odběru) s ošetřenímNaN/ nesmyslného napětí, krátký poll MQTT, a pokudgSsrWizardCalibrateLogicalPct >= 0, volá seOvladaniPwmSSR().
3. ESP-NOW LUX a stránka AI Live
- Nová pomocná funkce
aiLiveLuxSenderCountPhrase(int n)– gramaticky správné vyjádření počtu vysílačů pro texty v UI. - LUX se nebere jen z „nejnovějšího“ vysílače v cyklu, ale agreguje se funkcí
espNowLuxAggregate(...)(průměr z čerstvých vysílačů, konzistentně s AI a exportem). - Na
/ai-live: podrobnější řádky o průměru, stáří paketu, okně čerstvosti (ESPNOW_LUX_MAX_AGE_MS) a limituMAX_TEMP_SENDERS; doplněn vysvětlující řádek o vztahu LUX ↔ řízení. - Řádek „Poslední AI akce“ je v HTML zakomentován.
- Nápověda pod tabulkou je přepsána z jednoduché tabulky na strukturovaný text (MQTT, průměr LUX z více vysílačů, forecast, historie/server, fallback, chování u režimu Distr.Ne).
- Drobné CSS: třídy
.ailive-navod,.ailive-muted.
4. Horní navigace (webové menu)
- Přeskupení odkazů: např. WiFi je v jiné pozici vůči Web a Režimy; v 302 odpadá duplicitní řádek s odkazem WiFi v původním bloku.
- V 302 zůstává zakomentovaný odkaz RTC; blok s AI Live v menu zůstává v komentáři (jako ve 300).
5. Šablony a proměnné Solar
- V processoru šablon přibyla větev pro
solar_last_update(čtení/solar_last_update.ea, fallback text typu „zatím bez záznamu“). - Stránka Solar využívá placeholder
%solar_last_update%v informačním boxu.
6. JSON API a hlavní stránka
- Nová funkce
jsonFinite(float v, int decimals)– pro JSON nahrazuje neplatné float hodnoty (NaN,inf) řetězcem"0", aby se nerozbíjeloJSON.parsev prohlížeči. /api/status: řada numerických polí přepnuta najsonFinite(...); přidáno poleaiFinalPwm.- Odpověď
/api/statusmá hlavičkyCache-Control: no-store, ...aPragma: no-cache. - Na hlavní stránce: hodnota AI PWM v
<span data-ai-final-pwm>; JavaScript ji aktualizuje z poleaiFinalPwm(včetně zvýraznění změny). fetchpro stav používá cache-busting query?t=' + Date.now()a{ cache: 'no-store' }.
7. Stránka Reset a SPIFFS
- Hlavní reset stránka: přechod na
css_minimal, společnéodkazy, formulář na/action, výraznější varovný box a přehlednější sekce SPIFFS s tlačítky pro navigaci (Hlavní, WiFi, Restart); patička přesform2,down1a,down3. - Detail seznamu souborů (
?showfiles=1): nový layout, stylované mazání souborů, závěr stránky rozšířen odown1a/down3.
8. Solar – formulář, potvrzení uložení, data, test, aktualizace
- Formulář /getsolar: rozšířený vzhled (boxy, typografie, inline styly u tabulky a vstupů), sekce „Rychlé odkazy“ včetně
/solar_updatea/solar_history_manage, graf v rámečku. - Po uložení (redirect HTML): escapování uživatelských řetězců pro bezpečné vložení do HTML; tabulka uložených hodnot; zobrazení odvozené URL API; sjednocení stylu s ostatními stránkami.
- /solar_data: escapování dynamických textů; nová struktura stránky (shrnutí cache, tabulka stavu, vysvětlení typů řádků CSV:
watts,watt_hours_period,watt_hours,watt_hours_day); lepší styly pro<pre>a hlášky při chybějícím souboru; navigace dole. - /solar_test: barevné shrnutí výsledku podle obsahu výsledku testu; tělo zpracováno přes
formatSolarApiTestResultHtml(testResult); odkazy včetně/solar_data. - /solar_update: oprava logiky – dříve se používal pevný text bez slova o úspěchu a stránka mohla falešně ukazovat chybu; nyní se správně řadí asynchronní úloha do smyčky, zobrazí se informativní „zelená“ stránka s vysvětlením čekání; ukládání denní historie je přesunuto do dokončení stahování v
processSolarApiData()(komentář v kódu).
9. Potvrzení změny režimu systému (BatOpt / system-modes)
- Při neplatném režimu se název režimu před vložením do HTML escapuje (
smSafe). - Stránka potvrzení převedena z jednoduché tabulky na layout s boxy (úspěch / chyba), žlutý box s návodem, spodní navigační tlačítka, doplněn
down1a.
16 zobrazení
Diskuze
Zatím žádný příspěvek. Buďte první, kdo se k článku vyjádří.