Změny mezi EaSun 300 a EaSun 302

Právě se nacházíte: Home / vyvoj / 

Změny mezi EaSun 300 a 302

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 espNowLuxAggregateformatSolarApiTestResultHtmlnastaveniPruvodceRegistrujKrok6Routes). 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 kalibraci ssr_eff_min).
  • Při registraci webových endpointů se volá nastaveniPruvodceRegistrujKrok6Routes() (před server.onNotFound).
  • V režimu průvodce (gNastaveniPruvodceRezim): čtení PZEM (napětí, proud, výkon odběru) s ošetřením NaN / nesmyslného napětí, krátký poll MQTT, a pokud gSsrWizardCalibrateLogicalPct >= 0, volá se OvladaniPwmSSR().

 

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 limitu MAX_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 (NaNinf) řetězcem "0", aby se nerozbíjelo JSON.parse v prohlížeči.
  • /api/status: řada numerických polí přepnuta na jsonFinite(...); přidáno pole aiFinalPwm.
  • Odpověď /api/status má hlavičky Cache-Control: no-store, ... a Pragma: no-cache.
  • Na hlavní stránce: hodnota AI PWM v ; JavaScript ji aktualizuje z pole aiFinalPwm (včetně zvýraznění změny).
  • fetch pro 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řes form2down1adown3.
  • Detail seznamu souborů (?showfiles=1): nový layout, stylované mazání souborů, závěr stránky rozšířen o down1a / 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_update a /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: wattswatt_hours_periodwatt_hourswatt_hours_day); lepší styly pro 
     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.

 

Přehled funkcí EaSun S3.0302

Projekt ESP32-Grid-Load-Vypocet302.
Pořadí: spotove_ceny.h → nastaveni.h → teploty-esp-now.h → funkce v .ino (řádky 432–891) → pajo.h → funkce v .ino (2316–2495) → solar_aplikace.h → weather_aplikace.h → weather_solar.h → TestRezim_WiFi_AP.h → vypocet02.h (uvnitř vypocet01.h) → vypocet01.h → funkce v .ino (od řádku 2563).
Soubor testovaci_rezim.h v adresáři není v hlavním sketchi includován.

spotove_ceny.h

  • Spot_isWiFiConnected

    Kontrola WiFi před HTTP voláními pro spot. spotove_ceny.h:295

  • Spot_printError

    Výpis chyby endpointu a HTTP kódu. spotove_ceny.h:300

  • Spot_fetchSpotPrices

    Stažení spotových cen z API. spotove_ceny.h:308

  • Spot_fetchActualPrice

    Aktuální cena. spotove_ceny.h:334

  • Spot_fetchPriceLevel

    Cenové pásmo (např. low/medium/high). spotove_ceny.h:340

  • Spot_fetchPriceLevelNumber

    Pořadí ceny v rámci dne. spotove_ceny.h:346

  • Spot_updateCurrentHourValues

    Aktualizace 24 hodinových hodnot z JSON do globálních polí. spotove_ceny.h:352

  • Spot_updateCurrentQuarterHourValues

    Aktualizace 96 čtvrthodinových intervalů. spotove_ceny.h:424

  • Spot_fetchDailyPrices

    Stažení denního přehledu. spotove_ceny.h:515

  • Spot_parseDailyPrices

    Parsování denních cen (ArduinoJson). spotove_ceny.h:521

  • Spot_findMinMaxPrices

    Min/max z DynamicJsonDocumentspotove_ceny.h:621

  • Spot_sendToArchive

    Odeslání JSON na archivační URL. spotove_ceny.h:820

  • Spot_sendHourlyData

    POST hodinové hodnoty. spotove_ceny.h:890

  • Spot_sendDailyStats

    POST denní statistiky. spotove_ceny.h:936

  • Spot_urlEncode

    URL kódování řetězce. spotove_ceny.h:973

  • Spot_setArchiveEnabled

    Zap/vyp archivace. spotove_ceny.h:1002

  • Spot_setArchivePath

    Cesta archivu. spotove_ceny.h:1008

  • Spot_sendSpotDataToArchive

    Hromadné odeslání spot dat. spotove_ceny.h:1014

  • Spot_sendHourlyDataForToday

    Hodinová data pro dnešek. spotove_ceny.h:1046

  • Spot_sendDailyStatsForToday

    Denní statistiky pro dnešek. spotove_ceny.h:1103

  • Spot_getCurrentDate

    Řetězec data (RTC/čas). spotove_ceny.h:1162

  • Spot_fetchSpotovaelektrinaData

    Fetch záložního zdroje spotovaelektrina. spotove_ceny.h:1259

  • Spot_fetchOTEData

    Stažení OTE (primární zdroj). spotove_ceny.h:1266

  • Spot_switchToBackupSource

    Přepnutí na záložní zdroj. spotove_ceny.h:1496

  • Spot_switchToPrimarySource

    Návrat na OTE. spotove_ceny.h:1504

  • Spot_updateCurrentValues

    Sloučení aktivních cen podle zdroje. spotove_ceny.h:1517

  • Spot_getYesterdayDate

    Datum včera pro API. spotove_ceny.h:1526

  • Spot_getTomorrowDate

    Datum zítra. spotove_ceny.h:1601

  • Spot_parseOTEData

    Parsování OTE JSON pro dnešek. spotove_ceny.h:1704

  • Spot_parseOTEPricesArray

    Parsování hodinového pole OTE. spotove_ceny.h:1881

  • Spot_parseOTEQuarterHourPricesArray

    Parsování 96 bodů. spotove_ceny.h:1940

  • Spot_showSourcesStatus

    Diagnostika zdrojů (Serial). spotove_ceny.h:1983

  • Spot_testBothSources

    Test obou zdrojů. spotove_ceny.h:2011

  • Spot_parseOTEDataTomorrow

    OTE parsování pro zítra. spotove_ceny.h:2022

  • Spot_parseOTEDataFromHttp

    Čtení těla z HTTPClientspotove_ceny.h:2131

  • Spot_oteWriteStringToSPIFFS

    static: zápis řetězce do SPIFFS cache. spotove_ceny.h:2286

  • Spot_oteReadStringFromSPIFFS

    static: čtení řetězce. spotove_ceny.h:2294

  • Spot_saveExchangeRateToCache

    static: uložení EUR/CZK. spotove_ceny.h:2303

  • Spot_loadExchangeRateFromCache

    static: načtení kurzu. spotove_ceny.h:2309

  • Spot_oteSaveFloatArray96

    static: uložení 96 float. spotove_ceny.h:2320

  • Spot_oteLoadFloatArray96

    static: načtení pole. spotove_ceny.h:2331

  • Spot_tryLoadOTECacheToday

    static: cache dneška. spotove_ceny.h:2359

  • Spot_tryLoadOTECacheTomorrow

    static: cache zítřka. spotove_ceny.h:2384

  • Spot_saveOTECacheToday

    static: uložení dnešní cache. spotove_ceny.h:2398

  • Spot_saveOTECacheTomorrow

    static: uložení zítřejší cache. spotove_ceny.h:2410

  • Spot_fetchBothSources

    Koordinace obou zdrojů. spotove_ceny.h:2423

  • Spot_fetchEURCZKRate

    Stažení kurzu EUR/CZK. spotove_ceny.h:2464

  • Spot_getEURCZKRate

    Getter kurzu. spotove_ceny.h:2575

  • Spot_updateExchangeRate

    Periodická aktualizace kurzu. spotove_ceny.h:2582

  • Spot_convertEURtoCZK

    Převod EUR na CZK. spotove_ceny.h:2607

  • Spot_getExchangeRateInfo

    Textový souhrn kurzu. spotove_ceny.h:2615

nastaveni.h

  • nastaveniPruvodceUrlEncode

    static: URL encoding průvodce. nastaveni.h:174

  • nastaveniPruvodceEscapujTextDoHtml

    static: escapování do HTML. nastaveni.h:190

  • nastaveniPruvodceOverIdApiProWeb

    static: ověření ID API. nastaveni.h:198

  • provedSmazaniVsechDatSPIFFSAPZEM

    Smazání SPIFFS / tovární data. nastaveni.h:277

  • nastaveniPruvodceEfektivneAktivni

    Je aktivní průvodce (krok v SPIFFS). nastaveni.h:302

  • nastaveniPruvodcePoUlozeniWifiZApUlozKrok

    Po WiFi uložení nastaví krok. nastaveni.h:312

  • nastaveniPruvodceHtmlShellZacatek

    static: začátek HTML šablony. nastaveni.h:332

  • nastaveniPruvodceHtmlShellKonec

    static: konec šablony. nastaveni.h:354

  • nastaveniPruvodcePridejBoxSmazatVse

    static: box Smazat vše. nastaveni.h:361

  • nastaveniPruvodcePridejBoxSmazatVseOdkazyRezim

    static: odkazy režimu mazání. nastaveni.h:376

  • nastaveniPruvodceHtmlVysledekIdApi

    static: HTML výsledek API. nastaveni.h:383

  • nastaveniPruvodceVlozKeyapiDoHtml

    static: vložení key do formuláře. nastaveni.h:417

  • nastaveniPruvodceMqttHodnotaDoAtributu

    static: hodnota SPIFFS do atributu. nastaveni.h:429

  • nastaveniPruvodceVlozMqttHodnotyDoHtml

    static: předvyplnění MQTT polí. nastaveni.h:441

  • nastaveniPruvodceSestavVyberEasunData33

    static: select MQTT zap/vyp. nastaveni.h:454

  • nastaveniPruvodceSestavKrok3MqttHtml

    static: stránka kroku 3 MQTT. nastaveni.h:469

  • nastaveniPruvodceSestavKrok2IdApiHtml

    static: krok 2 ID API. nastaveni.h:560

  • nastaveniPruvodceSestavUvitaciHtml

    static: úvod průvodce. nastaveni.h:596

  • nastaveniPruvodceSestavKrok4TeplotyHtml

    static: krok 4 teploty/DS18B20. nastaveni.h:784

  • nastaveniPruvodceSestavKrok5RezimHtml

    static: krok 5 režim. nastaveni.h:897

  • nastaveniPruvodceSestavKrok6SsrHtml

    static: krok 6 SSR. nastaveni.h:971

  • nastaveniPruvodceJeMqttBaterieSocTema

    static: kontrola tématu SOC. nastaveni.h:1055

  • nastaveniPruvodceUlozVychoziTeplotySolarPoKroku6

    static: výchozí teploty po kroku 6. nastaveni.h:1065

  • nastaveniPruvodceRegistrujKrok6Routes

    HTTP routy kroku 6. nastaveni.h:1080

  • nastaveniPruvodceSestavKrok4EspNowPageHtml

    static: krok 4 ESP-NOW. nastaveni.h:1155

  • nastaveniPruvodceDs18b20DetekujNaEsp32

    static: detekce DS18B20. nastaveni.h:1176

  • nastaveniPruvodceMqttTestReset

    static: reset MQTT testu. nastaveni.h:1224

  • nastaveniPruvodceMqttTestCallback

    static: callback testu MQTT. nastaveni.h:1236

  • nastaveniPruvodceNactiMqttHodnotyProSouhrn

    static: krátké načtení z brokeru. nastaveni.h:1258

  • nastaveniPruvodceObsluhaUlozeniMqtt

    static: uložení/validace MQTT z GET. nastaveni.h:1290

  • nastaveniPruvodceRegistrujOMezenouKonfiguraci

    Registrace /wifi, /mqtt, průvodce. nastaveni.h:1565

teploty-esp-now.h

  • initTempSendersArray

    Inicializace pole vysílačů. teploty-esp-now.h:354

  • macToString

    MAC na řetězec. teploty-esp-now.h:465

  • loadPMKKey

    Načtení PMK ze SPIFFS. teploty-esp-now.h:477

  • savePMKKey

    Uložení PMK. teploty-esp-now.h:500

  • findTempSenderByMAC

    Index podle MAC. teploty-esp-now.h:522

  • isValidMACForESPNow

    Validace MAC pro peer. teploty-esp-now.h:554

  • addTempSender

    Přidání vysílače. teploty-esp-now.h:580

  • addAllTempSendersAsPeers

    Registrace peerů ESP-NOW. teploty-esp-now.h:616

  • resetTemperatureESPNow

    Reset subsystému. teploty-esp-now.h:722

  • deinitTemperatureESPNow

    Deinit ESP-NOW. teploty-esp-now.h:734

  • isTemperatureESPNowWorking

    Stav provozu. teploty-esp-now.h:745

  • debugTempSendersFile

    Diagnostika souboru. teploty-esp-now.h:754

  • initTemperatureESPNow

    Inicializace kanálu, PMK, callbacků. teploty-esp-now.h:782

  • refreshEspNowFormSsrRowsFromSenders

    Řádky formuláře SSR z vysílačů. teploty-esp-now.h:932

  • onTemperatureDataReceive

    Příjem paketů ESP-NOW. teploty-esp-now.h:984

  • initializeTemperatureSensors

    Start měření (ESP-NOW). teploty-esp-now.h:1228

  • aktualizujMereniTeplotDallas

    Aktualizace teplot z mapování. teploty-esp-now.h:1249

  • tempEspNowPeerWifiChannel

    Kanál WiFi pro peer. teploty-esp-now.h:1361

  • tempEspnowModeToString

    Popis režimu. teploty-esp-now.h:1370

  • buildTempEspNowWifiVerifyHtml

    HTML ověření WiFi. teploty-esp-now.h:1380

  • tempPmkKeyToHexString

    PMK hex. teploty-esp-now.h:1453

  • tempPmkKeyToBytesString

    PMK bajty. teploty-esp-now.h:1464

  • tempParseHexStringToPMK

    Parsování hex na PMK. teploty-esp-now.h:1478

  • generateTempSenderList

    HTML seznam vysílačů. teploty-esp-now.h:1513

  • saveTempESPNOWMode

    Uložení režimu. teploty-esp-now.h:1799

  • loadTempESPNOWMode

    Načtení režimu. teploty-esp-now.h:1811

  • updateGlobalTemperaturesFromMapping

    Propagace teplot do globálních proměnných. teploty-esp-now.h:1841

  • saveTempSenders

    Uložení konfigurace vysílačů. teploty-esp-now.h:1871

  • loadTempSenders

    Načtení vysílačů. teploty-esp-now.h:1908

  • updateGlobalTemperaturesFromSSRMapping

    Teploty podle SSR1–3. teploty-esp-now.h:1998

  • addTemperatureSender

    Přidání z webového MAC řetězce. teploty-esp-now.h:2041

  • printTemperatureStats

    Serial statistiky. teploty-esp-now.h:2068

ESP32-Grid-Load-Vypocet302.ino — RGB a spot init

  • initializeSpotSources

    Inicializace zdrojů spotových dat. .ino:432

  • Spot_updateCurrentValuesFromOTE

    Sync do Spot_*_CURRENT z OTE. .ino:471

  • initRGB

    Start NeoPixel. .ino:628

  • setRGBColor

    Barva RGB. .ino:635

  • turnOffRGB

    Zhasnutí. .ino:641

  • setRGBRed

    Předvolba červená. .ino:646

  • setRGBGreen

    Předvolba zelená. .ino:650

  • setRGBBlue

    Předvolba modrá. .ino:654

  • setRGBYellow

    Žlutá. .ino:658

  • setRGBPurple

    Fialová. .ino:662

  • setRGBCyan

    Cyan. .ino:666

  • setRGBWhite

    Bílá. .ino:670

  • setRGBOrange

    Oranžová. .ino:675

  • setRGBLime

    Limetková. .ino:679

  • setRGBPink

    Růžová. .ino:683

  • setRGBTeal

    Teal. .ino:687

  • setRGBMagenta

    Magenta. .ino:691

  • safeDelayWithWDT

    static: delay s krmivem WDT. .ino:696

  • setRGBBlink

    Blikání barvou. .ino:706

  • setRGBAlternate

    Střídání dvou barev. .ino:714

  • setRGBEffect

    Přepínač efektů LED. .ino:722

  • setRGBBrightness

    Jas pixelů. .ino:749

  • updateRGBStatus

    Stav systému na RGB. .ino:755

  • updateRGBStatusWithBrightness

    Status s pevným jasem. .ino:811

  • calculateDynamicBrightness

    Jas podle denní doby. .ino:817

  • updateRGBStatusDynamic

    Status + dynamický jas. .ino:836

  • calculateAdvancedDynamicBrightness

    Rozšířený jas. .ino:843

  • updateRGBStatusAdvanced

    Status pokročilý. .ino:883

  • updateRGBStatusPulsing

    Pulzující indikace. .ino:890

pajo.h

  • hFloat

    Float do HTML řetězce. pajo.h:3

  • hInt

    Int do HTML. pajo.h:12

  • middle

    Vystředění textu na LCD. pajo.h:27

  • httpGETRequest

    HTTP GET požadavek. pajo.h:42

ESP32-Grid-Load-Vypocet302.ino — čas a SPIFFS

  • getEncryptionTypeString

    WiFi šifrování do textu. .ino:2316

  • read_file

    Čtení souboru z FS. .ino:2344

  • write_file

    Zápis souboru, bool úspěch. .ino:2400

  • write_file2

    Alternativní zápis. .ino:2422

  • hour

    Aktuální hodina. .ino:2433

  • getCurrentTimeString

    Řetězec času. .ino:2445

  • getRecommendedBatteryChargePower

    Doporučený nabíjecí výkon. .ino:2495

solar_aplikace.h

  • generateSolarApiUrl

    URL Forecast.Solar. solar_aplikace.h:304

  • validateSolarDataFormat

    Kontrola formátu dat. solar_aplikace.h:320

  • saveDailySolarHistory

    Denní součet Wh. solar_aplikace.h:471

  • saveToPermanentHistory

    Trvalá historie. solar_aplikace.h:518

  • loadPermanentHistory

    Načtení historie. solar_aplikace.h:587

  • checkAndRepairPermanentHistory

    Oprava integrity souborů. solar_aplikace.h:607

  • parseAndStoreSolarData

    CSV řádky do paměti. solar_aplikace.h:796

  • extractHourFromTimestamp

    Hodina z timestamp. solar_aplikace.h:866

  • loadSolarDataFromCSV

    Načtení CSV z SPIFFS. solar_aplikace.h:883

  • calculateDailyTotalFromHourlyWatts

    Součet dne z hodinových W. solar_aplikace.h:1042

  • isFileOlderThanDays

    Stáří souboru podle data v názvu. solar_aplikace.h:1081

  • analyzeSolarForecast

    Analýza předpovědi. solar_aplikace.h:1109

  • detectWeatherWarning

    Varování v CSV. solar_aplikace.h:1331

  • initializeSolarApiTimer

    Časovač API. solar_aplikace.h:1373

  • calculateDailyTotalFromDailyHistory

    Total z denní historie. solar_aplikace.h:1449

  • generateSolarHistoryPage

    HTML historie. solar_aplikace.h:1501

  • cleanupOldSolarHistoryFiles

    Mazání starých souborů. solar_aplikace.h:2168

  • processSolarApiData

    GET a zpracování odpovědi. solar_aplikace.h:2234

  • testSolarApiConnection

    Test připojení API. solar_aplikace.h:2770

  • formatSolarApiTestResultHtml

    HTML výsledek testu. solar_aplikace.h:2852

  • generateSolarWattsGraph

    Wrapper grafu výkonu. solar_aplikace.h:2894

  • loadHistoricalDataForPrediction

    Data pro predikci. solar_aplikace.h:2904

  • convertJsonToCsv

    JSON odpověď na CSV. solar_aplikace.h:3064

  • getOptimizedSolarWMin

    Getter min. výkonu. solar_aplikace.h:3187

  • getOptimizedSolarPMax

    Getter max. výkonu. solar_aplikace.h:3224

  • getOptimizedBatteryChargePower

    Getter nabíjení (solar modul). solar_aplikace.h:3261

  • generateSolarHistoryManagePage

    Správa historie. solar_aplikace.h:3298

  • addToSolarActionLogs

    Log akcí. solar_aplikace.h:3548

  • clearSolarActionLogs

    Vymazání logu. solar_aplikace.h:3578

  • updateSolarGraphCache

    Obnova cache grafu. solar_aplikace.h:3585

  • getSolarWattsGraph

    Výstup grafu z cache. solar_aplikace.h:3602

  • generateSolarWattsGraphInternal

    Generování grafu. solar_aplikace.h:3627

weather_aplikace.h

  • setupWeatherApiHeaders

    Hlavičky HTTP pro OpenWeather. weather_aplikace.h:254

  • setupWeatherApiHeadersSimple

    Zjednodušené hlavičky. weather_aplikace.h:265

  • buildWeatherApiRequestHeaders

    Sestavení hlaviček. weather_aplikace.h:271

  • buildWeatherApiRequestHeadersSimple

    Jednoduché hlavičky. weather_aplikace.h:284

  • loadWeatherDataFromSPIFFS

    Načtení uložené předpovědi. weather_aplikace.h:300

  • checkDailyApiCallLimit

    Denní limit volání. weather_aplikace.h:383

  • incrementApiCallCount

    Počítadlo volání. weather_aplikace.h:439

  • loadWeatherDataOnStartup

    Startovní načtení. weather_aplikace.h:453

  • generateWeatherApiUrl

    URL API. weather_aplikace.h:530

  • parseAndStoreWeatherData

    JSON do proměnných a SPIFFS. weather_aplikace.h:544

  • getOpenWeatherMapErrorMessage

    Chybová zpráva podle HTTP. weather_aplikace.h:817

  • processWeatherApiData

    Kompletní stažení počasí. weather_aplikace.h:877

  • generateWeatherGraph

    HTML graf. weather_aplikace.h:1512

  • generateWeatherPage

    Hlavní stránka počasí. weather_aplikace.h:1579

  • generateWeatherErrorsPage

    Stránka chyb. weather_aplikace.h:1827

  • generateWeatherTestApiPage

    Test API. weather_aplikace.h:1956

  • generateWeatherRawResponsePage

    Surová JSON odpověď. weather_aplikace.h:2039

  • generateTestovaciPage

    Testovací stránka. weather_aplikace.h:2111

weather_solar.h

  • weatherSolarCheckDailyApiCallLimit

    Limit solar weather API. weather_solar.h:130

  • weatherSolarIncrementApiCallCount

    Počítadlo. weather_solar.h:164

  • weatherSolarGenerateApiUrl

    Sestavení URL. weather_solar.h:178

  • weatherSolarGetApiErrorMessage

    Chybová zpráva. weather_solar.h:211

  • weatherSolarProcessApiData

    Stažení a zpracování. weather_solar.h:277

  • weatherSolarParseAndStoreData

    JSON do SPIFFS. weather_solar.h:475

  • weatherSolarGeneratePage

    HTML přehled. weather_solar.h:637

  • weatherSolarGenerateDataPage

    Stránka dat. weather_solar.h:772

  • weatherSolarGenerateUpdatePage

    Aktualizace. weather_solar.h:907

  • weatherSolarGenerateRawPage

    Surová odpověď. weather_solar.h:932

  • weatherSolarGenerateFilesPage

    Soubory na flash. weather_solar.h:952

  • weatherSolarLoadDataOnStartup

    Načtení při bootu. weather_solar.h:978

  • weatherSolarLoadDataFromSPIFFS

    Čtení uložených dat. weather_solar.h:1098

TestRezim_WiFi_AP.h

  • TestRezim_setupWiFiAP

    Konfigurace SoftAP. TestRezim_WiFi_AP.h:15

  • TestRezim_testWebServerAP

    Test serveru na AP. TestRezim_WiFi_AP.h:56

  • TestRezim_checkConnectedClients

    Klienti AP. TestRezim_WiFi_AP.h:118

  • TestRezim_fullWiFiAPTest

    Kompletní test AP. TestRezim_WiFi_AP.h:134

  • TestRezim_QuickInternetTest

    Rychlý internet test. TestRezim_WiFi_AP.h:176

  • TestRezim_QuickDNSTest

    DNS test. TestRezim_WiFi_AP.h:194

  • TestRezim_isInCriticalOperation

    Kritická sekce. TestRezim_WiFi_AP.h:208

  • TestRezim_BackgroundNetworkCheck

    Kontrola na pozadí. TestRezim_WiFi_AP.h:215

  • TestRezim_SmartDataSend

    Odeslání s opakováním. TestRezim_WiFi_AP.h:247

  • TestRezim_AutoRecovery

    Auto obnova. TestRezim_WiFi_AP.h:279

  • TestRezim_SetupDNSFallback

    Fallback DNS. TestRezim_WiFi_AP.h:300

  • TestRezim_NetworkDiagnostics

    Diagnostika. TestRezim_WiFi_AP.h:314

  • TestRezim_CompleteNetworkCheck

    Kompletní kontrola. TestRezim_WiFi_AP.h:332

  • TestRezim_SimpleNetworkTest

    Jednoduchý test (např. z loop). TestRezim_WiFi_AP.h:339

vypocet02.h

  • aiIsFiniteNumber

    inline: konečné číslo. vypocet02.h:218

  • aiSafeNumber

    inline: fallback pro neplatné. vypocet02.h:289

  • aiSafeNonNegative

    inline: nezáporné. vypocet02.h:301

  • aiClampPercent

    inline: ořez PWM %. vypocet02.h:310

  • aiLimitPwmStep

    inline: max. skok PWM. vypocet02.h:322

  • aiBuildEnergy2Query

    inline: query pro energy2. vypocet02.h:342

  • aiParsePwmPayload

    inline: PWM z payloadu. vypocet02.h:362

  • aiComputeLocalTargetPwm

    inline: lokální cíl z AiInputDatavypocet02.h:394

  • aiApplySafetyRules

    inline: bezpečnostní limity. vypocet02.h:615

  • aiResolveFinalPwm

    inline: finální PWM podle režimu. vypocet02.h:684

vypocet01.h

  • EasunEnergyPwm

    PWM z HTTP energy2 podle solarW. vypocet01.h:45

  • EasunEnergy

    Hlavní větev Easun HTTP. vypocet01.h:80

  • OvladaniPwmSSR

    Výstup PWM na SSR. vypocet01.h:157

  • VypocetSolarSpotrebaRefactored

    Refaktorovaný výpočet PWM/spotřeby. vypocet01.h:203

  • LogikaSolarPrebytekFunkce

    Větev solárního přebytku. vypocet01.h:435

  • LogikaGridNeboSolarNedostatekFunkce

    Větev nedostatku. vypocet01.h:504

  • RegulacePwmPodleBaterieFunkce

    Regulace podle baterie. vypocet01.h:551

  • RegulacePwmPodleDistributoraFunkce

    Regulace podle distributora. vypocet01.h:560

  • FinalniUpravyARegulacePwmFunkce

    Závěrečné úpravy PWM. vypocet01.h:611

ESP32-Grid-Load-Vypocet302.ino — web, LCD, MQTT, setup a loop

  • processor

    Šablona pro send_P, placeholdery v HTML. .ino:2563

  • notFound

    Handler 404. .ino:2714

  • buildTeplotaPageAndSettings

    Sestavení stránky teplot. .ino:2720

  • rebuildTeplotaPageHtmlOnly

    Regenerace HTML části. .ino:2984

  • HlaskaRestart

    Stránka s odpočtem restartu. .ino:3028

  • wifiVratStrankuUlozenoAPak

    Odpověď po uložení WiFi. .ino:3139

  • wifiZkontrolujAOdlozenyRestart

    Odložený restart po WiFi. .ino:3151

  • cleanupExistingTimestampedSolarFiles

    Úklid solar souborů. .ino:3175

  • action

    Webové akce a formuláře. .ino:3200

  • resetPageVariables

    Reset stringů stránek. .ino:3271

  • performMemoryCleanup

    Úklid paměti. .ino:3297

  • checkSystemHealth

    Kontrola heap, WiFi. .ino:3331

  • autoCleanupBeforeMainPage

    Auto úklid před hlavní stránkou. .ino:3366

  • quickMemoryDefrag

    Rychlé uvolnění RAM. .ino:3375

  • manageFallbackAPMode

    Záchranný AP režim. .ino:3403

  • setupSoftAPForFallback

    Konfigurace SoftAP. .ino:3513

  • TestWiFi

    Test WiFi signálu. .ino:3662

  • deepSleepIfNight

    Deep sleep v noci. .ino:3815

  • webTeplotaInvalid

    static: validace teploty z webu. .ino:3870

  • generujTeplotniKartu

    HTML karta termostatu: značky S/G, SSR, průměr, data-therm-*.ino:3890

  • generateOTESpotBarsGraph

    Sloupcový graf OTE cen. .ino:3947

  • SkladamHtml

    Skládání hlavního dashboard HTML. .ino:4028

  • StavLCD3Radek

    LCD řádek 3. .ino:4573

  • MqttLCDdata

    MQTT na LCD. .ino:4663

  • StavLCD

    Hlavní stav LCD. .ino:4850

  • onMqttMessage

    Příchozí MQTT zprávy. .ino:4881

  • TeplotaNaLCD

    Teploty na LCD. .ino:4990

  • teplotaMereniPlatne

    static: platnost měření. .ino:5116

  • SSRRele

    Logika SSR relé. .ino:5123

  • ZapninamRelePodleTeploty

    Relé podle teplot. .ino:5286

  • generateResetPageContent

    HTML reset stránky. .ino:5362

  • testRTC

    Test DS1302. .ino:5444

  • initializeRTC

    Inicializace RTC. .ino:5462

  • syncRTCWithNTP

    Sync RTC z NTP. .ino:5483

  • zobrazRTCCasNaDisplejich

    RTC čas na LCD/OLED. .ino:5550

  • Spot_tryGetRTCDate

    Datum z RTC pro spot. .ino:5595

  • zobrazAktualniCasNaDisplejich

    Aktuální čas na displeje. .ino:5608

  • calculateBatteryChargePriority

    Priorita nabíjení (0–1). .ino:5654

  • autoAdjustParameters

    Auto úprava parametrů. .ino:5795

  • optimizeBatteryCharging

    Optimalizace nabíjení. .ino:5921

  • predictiveLoadControl

    Prediktivní PWM. .ino:6017

  • runBatteryOptimization

    Běh optimalizace baterie. .ino:6093

  • generateSpotPricesTable

    Tabulka cen z JSON. .ino:6151

  • generateOTEPricesTable

    Tabulka OTE. .ino:6275

  • generateSpotPricesTableCompact

    Kompaktní tabulka. .ino:6399

  • regenerateTemperatureForm

    Obnova formuláře teplot. .ino:6524

  • vypisStartTestCidelMereni

    static: Serial při testu čidel. .ino:6595

  • setup

    Inicializace celého systému. .ino:6705

  • processHealthBasedRestartPolicy

    Restart podle health. .ino:12924

  • loop

    Hlavní smyčka. .ino:12962