EaSun · ESP32 Grid-Load · dokumentace vývoje firmwaru

Porovnání firmwaru EaSun ESP32-Grid-Load-Vypocet 601 až 900

Podrobné porovnání větví ESP32-Grid-Load-Vypocet601, 604, 620, 700, 800ESP32-Grid-Load-Vypocet900 (aktuálně S3.0910 / 32.0910): Spot Gate, ESP-NOW, AI Cloud, onboarding V900, diagramy a seznam funkcí. Oficiální návod: easun.eu/navod.

Publikováno: · aktualizace: · autor:

dokument 2026-08 FW řada 06xx → 09xx doporučeno ESP32-S3 + PSRAM mapa návodu Solar Sim demo

Ukončení podpory ESP32 Dev Module

Od větve V900 EaSun oficiálně směřuje na ESP32-S3 (ideálně s PSRAM, např. N16R8). Klasické desky ESP32 Dev Module končí podporu kvůli nedostatku výkonu a vnitřní RAM (těsný heap po WiFi/MQTT, OTA, AI Cloud, Solar Sim, velké HTML stránky).

Podrobnosti: sekce Ukončení podpory ESP32 Dev.

Ukončení podpory desek ESP32 Dev Module

Dual-board build (ESP32 Dev + ESP32-S3) historicky umožňoval stejný kód na obou čipech. Od V800/V900 je zátěž webu, AI, OTA a diagnostiky taková, že klasický ESP32 Dev Module bez PSRAM už není dlouhodobě udržitelný.

  • Proč končí podpora: malý vnitřní heap (~desítky–stovky KB po WiFi), absence PSRAM, pomalejší CPU oproti S3, riziko WDT/OOM při OTA, Solar Sim, AI Cloud a velkých HTML stránkách.
  • Co už V900 dělá: board_ram.h detekuje Dev vs S3/N16R8, na Dev zkracuje buffery, tlačí OTE přes SPIFFS a omezuje HTML cache — to je nouzový režim, ne plný produktový cíl.
  • Doporučená platforma: ESP32-S3, ideálně 16 MB Flash + 8 MB PSRAM (N16R8) — velké HTML a JSON jdou do SPIRAM, OTA je stabilnější.
  • Legacy 32.xxxx: string 32.0910 ještě existuje pro přechod; nové funkce (Solar Sim, AI Cloud, ESP-NOW coop, ZIP/AES) se ladí primárně na S3. Další major větve počítají jen se S3.
  • Migrace: záloha SPIFFS/ZIP ze stejného čipu, flash S3, obnova cfg, stejné ID API. Viz 1b. Obnova SPIFFS · 15. Záloha / OTA.

Shrnutí: nekupujte a neplánujte nová nasazení na ESP32 Dev. Pro stávající Dev desky zvažte upgrade na ESP32-S3 dříve, než přestanou projít OTA nebo dojde paměť při AI / Solar Sim.

Architektonická osa

601 klasická aplikace + lokální AI → 604 Spot Gate podle přebytku FVE + průvodce Provoz → 620 forms-map, odkazy na návod, TSSR přepínač → 700 monolit /easun.cfg (AES) + spolupráce EaSun přes ESP-NOW, pryč weather/solar apps → 800 cloudové AI (Gemini) + Jednoduchý/Expert + ECO → 900 bootstrap jen WiFi + ID API, AI-first setup, PSRAM-aware RAM, odlehčený display.

Uživatelský start ve V900: 1. První spuštění · 1a. AP EASUN a WiFi · 4. ID API klíč.

Mapování složka ↔ string FW

Mapování projektových složek ESP32-Grid-Load-Vypocet na oficiální FW stringy EaSun (S3 / 32).
Složka projektuFW stringŘádky .inoHlavičky .hPoznámka
ESP32-Grid-Load-Vypocet601S3.0603 / 32.0603~13 40014baseline
ESP32-Grid-Load-Vypocet604S3.0620 / 32.0620~14 90015název složky ≠ číslo FW
ESP32-Grid-Load-Vypocet620S3.0626 / 32.0626~16 00016+ forms_map, NAVOD
ESP32-Grid-Load-Vypocet700S3.0703 / 32.0703~16 40015AES cfg + ESP-NOW coop
ESP32-Grid-Load-Vypocet800S3.0812 / 32.0812~17 50019AI Cloud, UI mode
ESP32-Grid-Load-Vypocet900S3.0910 / 32.0910~18 30020aktuální větev

Časová osa vývoje

601 S3.0603

MQTT · Spot cena · lokální AI · teplotní ESP-NOW · weather/solar apps · dlouhý SETUP_KROK

604 S3.0620

Spot Gate FVE surplus · /provoz1–5 · remote AI logy · /diag /logs

620 S3.0626

forms_map API · odkazy na navod · tssrEnabled · remote standby

700 S3.0703

easun.cfg AES · /easun-now · pryč weather/solar · SPIFFS purge

800 S3.0812

Gemini cloud AI · Jednoduchý/Expert · setup1–6 · /eco

900 S3.0910

SETUP_BOOT WiFi+API · AI setup · board_ram · /barva · solar-sim

Diagram: onboarding (V800 vs V900)

V800 míchal WiFi, MQTT, teploty, SSR a AI do jednoho dlouhého zámku. V900 odděluje „musí jít online“ od doladění — viz kap. 1 a kap. 3.

V800 — dlouhý zámek

SETUP_KROK (WiFi→API→MQTT…) teploty · SSR · limity · AI /ui-mode Jednoduchý / Expert /setup1–6 (AI→PWM→T→batt→ECO) plná aplikace + AppSetup zámek riziko: zahlcení uživatele i flash/OTA

V900 — Fáze 0 + brána

SETUP_BOOT: AP EASUN → WiFi /boot-api — ověřené ID API /ui-mode Jednoduchý / Expert Jednoduchý /setup AI→Gemini→MQTT Expert /expert hub plná app — bez AppSetup zámku doladění teplot/SSR až v Expert menu

Diagram: vrstvy řízení a AI

Hard limity teploty a SOC vždy vítězí. Soft bias cloudu je max ±3 % PWM. Detail: 11. Režimy · 11a. SHADOW/ASSIST/AUTO · 21. Cloud AI · T2 pipeline.

flowchart TB subgraph Hard["Hard limity ESP32"] T["Min/Max teplota SSR"] SOC["Min SOC baterie"] DIST["Distributor Ne/Ano/MinMax"] end subgraph Local["Lokální AI od V601"] OFF["OFF — klasické řízení"] SH["SHADOW — jen návrh"] AS["ASSIST — mix PWM"] AU["AUTO — AI řídí"] end subgraph Cloud["Cloud AI od V800"] G["Gemini plán 1–2×/den"] B["soft bias ±3 % PWM"] end subgraph Spot["Spot Gate od V604"] C["cena OTE / pásma"] F["FVE surplus vs LOAD"] end MQTT["MQTT FVE / load / grid / batt"] --> Local MQTT --> Spot Spot --> Local Cloud -.->|"ASSIST / AUTO"| Local Local --> Hard Hard --> PWM["PWM / SSR / TSSR"]

Diagram: vznik modulů podle verzí

timeline title Moduly EaSun Grid-Load V601 : teploty-esp-now · spotove_ceny · vypocet01/02 · weather/solar V604 : provoz_pruvodce · Spot FVE surplus V620 : forms_map · NAVOD_* odkazy · tssrEnabled V700 : config_store · easun_esp_now · − weather/solar V800 : ai_cloud · ui_mode · setup_pruvodce · /eco V900 : boot_setup · setup_ai · board_ram · − setup_pruvodce · − U8g2

V601 — baseline (S3.0603)

  • Dual board ESP32 / ESP32-S3 (compile-time piny, RGB na S3).
  • Klasický stack: MQTT, Spot (OTE), PWM/SSR, teploty, LCD + OLED/U8g2.
  • Lokální AI zdarma: OFF / SHADOW / ASSIST / AUTO — stránky /system-modes, /ai-live.
  • Spot Gate jen cenová — bez prahu FVE přebytku.
  • ESP-NOW jen teplotní vysílače (teploty-esp-now.h), ne EaSun↔EaSun.
  • Weather + Solar API aplikace (weather_*.h, solar_aplikace.h).
  • Nastavení jako fyzické soubory *.ea ve SPIFFS.
  • OTA .bin z /reset/firmware-update; ZIP záloha SPIFFS.
  • Dlouhý onboarding SETUP_KROK / /nastaveni-krok*.

V604 — Spot Gate + provoz (S3.0620)

  • provoz_pruvodce.h: tenký průvodce /provoz/provoz5 (profil Spot / Distr / FVE).
  • Spot Gate + FVE surplus: Spot_fveSurplusMin (−1 = jen cena; ≥0 = zákaz sítě při přebytku).
  • Event log SPIFFS + důvod resetu.
  • AI provozní logy na vzdálený server (/ai-run-log, /ai-shadow-log).
  • Diagnostika: /diag, /logs, /logs-clear, /mereni-help.
  • Stále weather/solar stack a oddělené *.ea.

V620 — forms / NAVOD / TSSR (S3.0626)

  • forms_map.h + API /api/forms-map, /api/config-values (sync s Analýzou).
  • Systematické odkazy NAVOD_* → kapitoly na easun.eu/navod.
  • TSSR: tssrEnabled — zap/vyp bez mazání peer URL; normalizace na /tssr.
  • Vzdálená pohotovost: /remote-resume, /remote-status.
  • Sync nastavení zařízení na server (api_device_settings_sync.php).

V700 — config AES + ESP-NOW coop (S3.0703)

  • config_store.h: jedno šifrované /easun.cfg (AES-128-CBC vázané na MAC); logické cesty *.ea.
  • easun_esp_now.h: spolupráce EaSun↔EaSun (discover, status, most, primary/secondary) — UI /easun-now*.
  • Odstraněno: solar_aplikace.h, weather_aplikace.h, weather_solar.h.
  • SPIFFS purge odpadu; ZIP export streamovaný (méně WDT).
  • Silnější WDT diagnostika; AI logy jen remote (SPIFFS AI logy legacy mazány).

V800 — AI Cloud + UI režimy (S3.0812)

  • ai_cloud.h: cloudové AI (Gemini proxy) — denní plán, soft bias ±3 % PWM; LITE na klasickém ESP32.
  • ui_mode.h: Jednoduchý / Expert — /ui-mode, /expert.
  • setup_pruvodce.h: jednoduchý setup /setup/setup6 (AI → PWM → teploty → baterie → FVE/ECO).
  • Po dokončení dlouhého SETUP_KROK → výběr UI režimu.
  • ECO Load-Following: stránka /eco.
  • /weather jen jako minimální stub (ne plné weather API).
  • Oddělená menu Expert vs Jednoduchý; OTA-fit ořez flash na klasickém ESP32.

V900 — boot WiFi+API (S3.0910)

  • boot_setup.h: Fáze 0 = jen WiFi + ID API (SETUP_BOOT 0/1/2); zámek webu → /wifi, /boot-api.
  • Místo setup_pruvodce: setup_ai.h/setup/setup4 (AI → Gemini → MQTT volitelně → hotovo).
  • board_ram.h: runtime profil Flash/PSRAM, bezpečné alokace velkých bufferů (OTA).
  • Dlouhý wizard nastaveni-krok* pryč; SETUP_KROK jen legacy migrace.
  • Po BOOT=2 → /ui-mode (Jednoduchý → AI setup; Expert → hub). Bez AppSetup zámku V800.
  • /barva nahrazuje OLED nastavení; /oled → redirect. Odstraněny SSD1306/U8g2.
  • Nové: /solar-sim + API simulace FVE/PWM; důraz na lokální TSSR.
  • Platforma: doporučen ESP32-S3 (+PSRAM); ESP32 Dev Module — ukončení podpory (výkon/RAM). Viz EOL Dev.
  • Zachováno: AI Cloud, ESP-NOW coop, config_store, provoz, Spot FVE Gate.

Solar Sim — emulátor provozu v aplikaci (/solar-sim)

Od V900 má EaSun vestavěnou stránku /solar-sim (menu Sim). Slouží k testu PWM podle režimu řízení bez závislosti na reálném slunci: přepíše provozní hodnoty FVE (volitelně load / síť / baterie) a nechá běžet stejný výpočet jako v ostrém provozu.

Interaktivní emulátor (bez MQTT, bez ESP32): https://easun.eu/navod/solar-sim-demo.html — zjednodušená surplus logika pro výuku. Na zařízení běží plný stack (SSR, AI, Spot Gate, Amax…).

Jak to funguje v aplikaci (ESP32)

  1. Zapnutí simulace — checkbox na /solar-sim nastaví gSolarSimOn. Ruční webové /pwm se při tom vypne.
  2. Override MQTTapplySolarSimOverride() přepíše solarW (a volitelně loadW, cezW, solarV, baterii). Proud FVE = W÷V.
  3. Stejný výpočet PWM — běží klasická / AI větev (vypocet01 / AI), limity cezWMax, soft/hard Amax, batt cut, teploty SSR.
  4. Bez topení (výchozí) — „Přidávat na topení“ vypnuto: cíl PWM se počítá, ale pin = 0 (žádný odběr od distributora). Zapnuto = fyzický PWM / spotřeba.
  5. Virtuální odběr — při mute režimu odberWatt ≈ heatMaxW × PWM% pro surplus logiku domu.
  6. Skoky sítě — dočasný cezJump (mikrovlnka) na N sekund, pak návrat na základ.
  7. Vypnutí sim — PWM ihned na 0 a ~8 s hold, ať realita hned nevytáhne simulovaných 100 %.
  8. API/api/solar-sim (stav), /api/solar-sim-set (zápis), /api/solar-sim-log (CSV). Konfigurace: SPIFFS /solar-sim.cfg.

Co stránka v aplikaci obsahuje

  • ŘÍZENÍ — zap/vyp sim, režim (Původní / Optimalizace / AI SHADOW·ASSIST·AUTO), rychlost PWM (stejné jako /pwm).
  • SOLAR — posuvník FVE W, napětí V, přepsat / nechat MQTT.
  • DISTRIBUTOR — load, cez, Min/Max limity, skoky odběru.
  • TOPENÍ — max W při 100 %, odhad W/A, mute vs fyzický výstup, ruční PWM.
  • BATERIE — test BATT_CHARGE_CUT (W / V / MaxW).
  • LIVE — PWM cíl/výstup, cuts, surplus, AI fb→návrh→final, alerty limitů.
  • LOG — volitelný CSV průběh PWM v RAM → stažení.

Schématické náhledy rozhraní v aplikaci

Ilustrace layoutu /solar-sim (dvousloupcové ovládání + LIVE). Pro živé hraní otevřete prohlížečové demo.

EaSun · /solar-sim · Simulace FVE — test PWM ŘÍZENÍ ☑ Zapnout simulaci FVE Režim: AI ASSIST ▾ Rychlost 2.0 %/s · delay 1000 ms 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) Max odběr @100 %: 2000 W Odhad teď: 860 W / 3.7 A @ 230 V Ruční PWM OFF — řídí automatika / AI
Schéma: levý sloupec aplikace — ŘÍZENÍ, SOLAR, TOPENÍ (mute výchozí).
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 % → vyhlazený 70 % · cut distributor 0 % Sit 0 W (min 200 / max 1000) · U 350 V / I 6.3 A AI fb→návrh→final: 68→75→70 % · mix ASSIST SURPLUS 1400 W / heatMax 2000 → 70% branch=SURPLUS · heatOut=0 (mute pin)
Schéma: pravý sloupec LIVE — karty FVE/dům/přebytek/PWM, gauge a větev důvodu.
posuvníky override solar/load/cez vypocet01 + AI / limity PWM Tok v aplikaci /solar-sim API: /api/solar-sim · /api/solar-sim-set · /api/solar-sim-log cfg: /solar-sim.cfg · po vypnutí: PWM=0 + hold ~8 s Na ESP32 Dev: Solar Sim zatěžuje heap — preferujte ESP32-S3
Tok: ovládání → override MQTT hodnot → stejný výpočet jako v provozu → PWM (mute/fyzicky).
Demo v prohlížeči solar-sim-demo.html bez MQTT · bez ESP výukový surplus model hned ve webu Aplikace na ESP /solar-sim na zařízení plný vypocet + AI + SSR může topit (heatOut) doporučeno S3+PSRAM Dvě vrstvy: demo ↔ zařízení
Rozdíl: webové demo vs reálné /solar-sim na ESP32-S3.

Vyzkoušet hned: https://easun.eu/navod/solar-sim-demo.html · na zařízení po nastavení WiFi otevřete http://<IP>/solar-sim.

Matice funkcí napříč verzemi

Přítomnost klíčových funkcí EaSun Grid-Load ve větvích 601–900.
Funkce 601604620700800900
Lokální AI OFF/SHADOW/ASSIST/AUTOanoanoanoanoanoano
Spot Gate — cenaanoanoanoanoanoano
Spot Gate — FVE surplusneanoanoanoanoano
Průvodce /provozneanoanoanoanoano
forms_map / Analýza syncneneanoanoanoano
tssrEnabled přepínačneneanoanoanoano
easun.cfg AESneneneanoanoano
ESP-NOW EaSun coopneneneanoanoano
Weather / Solar appsanoanoanonestubstub
AI Cloud Geminineneneneanoano
Jednoduchý / Expert UIneneneneanoano
SETUP_BOOT (WiFi+API)neneneneneano
board_ram / PSRAM profilneneneneneano
OLED / U8g2anoanoanoanoanone
/solar-sim (emulátor FVE/PWM)neneneneneano
Doporučená deska ESP32-S3 (+PSRAM)oběoběoběoběS3 prefer.S3 · Dev EOL

Průřezová témata

AI

Spot · MQTT · Topení

ESP-NOW

  • 601–620: jen teplotní TX
  • 700+: EaSun most / priorita topení — kap. 6a
  • Max. 10 teplotních TX; stejná FW řada v PMK (0900)

Solar Sim · platforma

Významná odstranění

CoOd verzePoznámka
Plné Weather API + Solar forecast700soubory weather_*, solar_aplikace
Fyzické stovky *.ea souborů700nahrazeno /easun.cfg
Dlouhý setup_pruvodce (6 kroků)900nahrazeno AI+MQTT setupem
Dlouhý /nastaveni-krok*900jen boot WiFi+API
OLED / U8g2 stack900/oled/barva; LCD zůstává
Staré cloud PWM odesílání900UI: důraz na lokální TSSR
Oficiální podpora ESP32 Dev Module900+ukončeno / dosluhuje — málo RAM a výkonu; cíl = ESP32-S3 + PSRAM. Viz EOL.

Důležité URL podle prvního výskytu

Od 601

/ · /teplota · /batt · /oled · /mqtt · /wifi · /web · /pwm · /key · /system-modes · /ai-live · /spot · /tssr · /spiffs-* · /firmware-update · /api/status

Od 604

/provoz…5 · /ai-run-log · /ai-shadow-log · /diag · /logs · /mereni-help

Od 620

/api/forms-map · /api/config-values · /remote-resume · /remote-status

Od 700

/easun-now · /easun-now-pair · /easun-now-save · /spiffs-purge

Od 800

/ui-mode · /expert · /setup…6 · /eco · AI Cloud endpoints

Od 900

/boot-api · /boot-getkey · /setup…4 · /barva · /solar-sim · /api/solar-sim* · /api/solar-sim-set · /api/solar-sim-log

Kompletní mapa cest: T1. Přehled URL a SPIFFS. FAQ: 19. FAQ. Demo Solar Sim: solar-sim-demo.html.

Časté otázky (FAQ)

Nejčastější otázky k vývoji firmwaru EaSun Grid-Load — vhodné i při výběru verze k instalaci.

Jaký je nejnovější firmware EaSun Grid-Load?

Aktuální větev je ESP32-Grid-Load-Vypocet900 se stringem S3.0910 (ESP32-S3, doporučeno). String 32.0910 pro klasický ESP32 Dev je legacy — podpora Dev se ukončuje. Start: 1. První spuštění.

Čím se liší onboarding V900 od V800?

V900 má SETUP_BOOT jen s WiFi a ID API. Po restartu volíte Jednoduchý / Expert na /ui-mode a krátký AI setup. V800 míchal WiFi, MQTT, teploty, SSR a AI do jednoho dlouhého zámku — viz kap. 3.

Od které verze je Spot Gate podle přebytku FVE?

Od větve V604 (FW S3.0620) — práh FVE surplus a průvodce /provoz. Detail: Spot Gate — přebytek FVE · kap. 12.

Kdy přibyla spolupráce EaSun přes ESP-NOW?

Od V700 (S3.0703) — modul easun_esp_now.h a stránky /easun-now. Návod: 6a. ESP-NOW spolupráce.

Od které verze je cloudové AI Gemini?

Od V800 (S3.0812) — ai_cloud.h, denní plán a soft bias max ±3 % PWM v ASSIST/AUTO. Ve V900 zůstává. Viz 21. Cloudové AI · 11a. AI režimy.

Co je /solar-sim a k čemu slouží?

Stránka v aplikaci V900 pro test PWM: přepíše FVE (a volitelně load/síť/baterii) a nechá běžet stejný výpočet jako v provozu. Výchozí režim netopí (mute pin). Popis: Solar Sim. Prohlížečové demo bez ESP: solar-sim-demo.html.

Proč končí podpora ESP32 Dev Module?

Kvůli nedostatku výkonu a vnitřní paměti (heap po WiFi/MQTT/OTA/AI). Oficiální směr je ESP32-S3 s PSRAM. Podrobně: Ukončení podpory ESP32 Dev.

Seznam funkcí — ESP32-Grid-Load-Vypocet900 (S3.0910 / 32.0910)

Extrahováno ze zdrojových .ino a .h v kořeni projektu (bez složky build/). Počet: 662 definic. Řádek = přibližný začátek signatury.

Technická mapa URL/SPIFFS: T1. Přehled URL a SPIFFS · AI pipeline: T2 · Formuláře: T3

ESP32-Grid-Load-Vypocet900.ino 283
  • aiLiveLuxIconPrefix:1547
  • aiLiveLuxSenderCountPhrase:1560
  • aiRunLogAppendEvent:10284
  • aiRunLogAppendLine:10299
  • aiRunLogAppendStateLine:8758
  • aiRunLogBuildCfgText:9967
  • aiRunLogDownloadFilename:9952
  • aiRunLogEnqueueSessionHeader:10109
  • aiRunLogEnsureDay:10170
  • aiRunLogFlushPending:10260
  • aiRunLogIsActive:9886
  • aiRunLogModeLabel:9894
  • aiRunLogNowHms:8684
  • aiRunLogQueueDropOldest:8699
  • aiRunLogQueuePush:8704
  • aiRunLogQueueRestoreFront:8733
  • aiRunLogQueueTakeBatch:8716
  • aiRunLogRemoteBuildUrl:8836
  • aiRunLogRemoteIsConfigured:8809
  • aiRunLogRemoteMarkUnreachable:9799
  • aiRunLogRemoteNormalizeHost:8816
  • aiRunLogRemotePeriodicCheck:9871
  • aiRunLogRemotePostBatch:10181
  • aiRunLogRemoteProbe:9808
  • aiRunLogRemoteWanted:8802
  • aiRunLogSendDownload:8772
  • aiRunLogStartNewSession:10136
  • aiRunLogSyncFile:10159
  • aiShadowLogAppendLine:10345
  • aiShadowLogIsActive:10329
  • aiShadowLogSyncFile:10336
  • appendHtmlFooterNavod:1806
  • appendMereniSubnav:1857
  • applyEcoNavVisibility:6183
  • applyOriginalModeSideEffects:9928
  • applySolarSimOverride:6949
  • applySystemModeByName:7393
  • applyWebUrlSettingsToRam:2855
  • apSestavPrivitaciHtmlProApRezim:5079
  • apSestavWifiFormHtml:5112
  • autoAdjustParameters:10757
  • autoCleanupBeforeMainPage:4967
  • batteryOptimizationTask:11101
  • buildTeplotaPageAndSettings:4091
  • buildWebSettingsHtml:2897
  • calculateAdvancedDynamicBrightness:1367
  • calculateBatteryChargePriority:10626
  • calculateDynamicBrightness:1341
  • clearEventLogs:8522
  • collectSpiffsZipEntries:3167
  • createSpiffsZipSnapshot:3202
  • currentSystemModeId:7435
  • deepSleepIfNight:5475
  • deviceDiagBuildStatusJson:9480
  • deviceDiagJsonEsc:9474
  • deviceEventRemoteEnqueue:8912
  • deviceEventRemoteFlushPending:8936
  • deviceEventRemoteSend:8861
  • deviceEventsRemoteBuildUrl:8854
  • deviceRemoteApplyOutputsOff:9434
  • deviceRemoteCmdTick:9782
  • deviceRemoteEnterStandby:9448
  • deviceRemoteLoadFromSpiffs:9463
  • deviceRemotePullAndApply:9714
  • deviceRemoteReportStatus:9654
  • deviceRemoteResume:9457
  • deviceSettingsAckPush:9330
  • deviceSettingsApplyFieldToRam:9140
  • deviceSettingsApplySectionsJson:9240
  • deviceSettingsPullAndApply:9355
  • deviceSettingsPullTick:9417
  • deviceSettingsShowUserInfo:9123
  • deviceSettingsSyncBuildUrl:8845
  • deviceSettingsSyncFlushNow:9095
  • deviceSettingsSyncPostSnapshot:9037
  • deviceSettingsSyncRequest:9033
  • deviceSettingsSyncTick:9109
  • diagRamLine:6178
  • enforceSystemModeExclusivity:9898
  • enforceTempDoMinOdPlusOne:3756
  • esp_task_wdt_isr_user_handler:1215
  • espNowActiveTxNamesList:11522
  • espNowTxDisplayName:11491
  • espNowTxNameForSsrRow:11503
  • eventLogDateFromName:8397
  • eventLogEnsureToday:8514
  • eventLogMaintain:8508
  • eventLogNowTimeStr:8379
  • eventLogPathForToday:8378
  • eventLogPruneRetention:8467
  • eventLogRollBySpiffsPct:8416
  • eventLogSpiffsUsedPct:8405
  • eventLogTodayKey:8362
  • forEach:2158
  • formatValue:12643
  • formsMapBuildConfigValuesJson:8956
  • FPSTR:5108
  • freeMereniHtmlCachesForOte:4528
  • freeWebPageHtmlCaches:4542
  • generateLogsPageContent:10346
  • generateOTEPricesTable:11245
  • generateOTESpotBarsGraph:5781
  • generateResetPageContent:7991
  • generateSpotPricesTable:11121
  • generateSpotPricesTableCompact:11369
  • generujLuxKartyHome:5599
  • generujSpotKartuHome:5866
  • generujTeplotniKartu:5539
  • getCurrentTimeString:3654
  • getEncryptionTypeString:2503
  • getRecommendedBatteryChargePower:3690
  • handleSpiffsZipExport:3448
  • handleWebUrlSave:2924
  • HlaskaRestart:4580
  • hodnoty:9470
  • hour:3642
  • checkSystemHealth:4928
  • importSpiffsFromZipFile:3487
  • initializeRTC:8180
  • initializeSpotSources:778
  • initRGB:1044
  • jsonFinite:5532
  • logEvent:8550
  • loop:18914
  • manageFallbackAPMode:5006
  • Max:3752
  • media:1638
  • mqttApplyClientTimeouts:6888
  • mqttApplySnapshotToGlobals:6923
  • mqttConnectAndSubscribeRuntime:7519
  • mqttCore0Task:7537
  • mqttDelayWithPoll:7509
  • MqttLCDdata:6619
  • mqttLoadTopicsFromSpiffs:6845
  • mqttRuntimePoll:7451
  • mqttServiceFromLoop:7500
  • mqttSnapSeedFromGlobals:6904
  • mqttSubscribeAllTopics:6861
  • mqttTryStartCore0Worker:7582
  • mqttUpdateRgbFromMode:6893
  • mqttWorkerOwnsClient:6879
  • normalizeTempMinMaxParam:3749
  • normalizeTssrBaseUrl:2782
  • normalizeZipName:3159
  • notFound:4075
  • onMqttMessage:7587
  • optimizeBatteryCharging:10876
  • performMemoryCleanup:4905
  • pohotovost:16135
  • predictiveLoadControl:10969
  • prepareNextLocalHeader:3350
  • prepareZipDirectoryStructures:3311
  • processHealthBasedRestartPolicy:18876
  • processor:3850
  • promennych:1543
  • pwmWebApplyOutputNow:3836
  • pwmWebLoadFromSpiffs:3810
  • pwmWebSaveState:3824
  • quickMemoryDefrag:4979
  • read_file:2535
  • readTempMinMaxOrZero:3740
  • rebuildBarvaPageHtmlOnly:4451
  • rebuildBattPageHtmlOnly:4440
  • rebuildMqttPageHtmlOnly:4464
  • rebuildSerialPageHtmlOnly:4502
  • rebuildTeplotaPageHtmlOnly:4418
  • rebuildWebPageHtmlOnly:4515
  • rebuildWifiPageHtmlOnly:4489
  • refreshTssrExportCode:2844
  • regenerateTemperatureForm:11536
  • requestGetParamValue:2708
  • resetPageVariables:4881
  • resetReasonFromCode:8341
  • resetReasonHumanDetail:8305
  • resetReasonHumanDetailFromCode:8360
  • resetReasonHumanTitle:8288
  • resetReasonHumanTitleFromCode:8356
  • resetReasonToStr:8272
  • roby:3707
  • RTC:8159
  • runBatteryOptimization:11047
  • safeDelayWithWDT:1115
  • safeZipToSpiffsPath:3479
  • send:6175
  • sendHtmlChunkedFromOutput3:6198
  • sendHtmlPageChunked:6242
  • sendHtmlTemplateChunked:6251
  • setRGBAlternate:1231
  • setRGBBlink:1223
  • setRGBBlue:1074
  • setRGBBrightness:1269
  • setRGBColor:1053
  • setRGBCyan:1088
  • setRGBEffect:1242
  • setRGBGreen:1072
  • setRGBLime:1101
  • setRGBMagenta:1113
  • setRGBOrange:1094
  • setRGBPink:1103
  • setRGBPurple:1084
  • setRGBRed:1065
  • setRGBTeal:1109
  • setRGBWhite:1092
  • setRGBYellow:1078
  • setup:11766
  • setupSoftAPForFallback:5124
  • showFirmwareUpdateOnDisplays:1452
  • SkladamHtml:6331
  • solarSimAbortToReal:7349
  • solarSimEnforceHoldIfNeeded:7378
  • solarSimGridVEff:7015
  • solarSimHeatAEst:7036
  • solarSimHeatWEst:7028
  • solarSimLoadCfg:7090
  • solarSimLogAppendLine:7191
  • solarSimLogClear:7184
  • solarSimLogDumpCsv:7201
  • solarSimLogDumpTail:7215
  • solarSimLogFlushToSpiffs:7239
  • solarSimLogTick:7248
  • solarSimMuteHeatIfNeeded:7046
  • solarSimSaveCfg:7052
  • solarSimSaveCfgIfDirty:7087
  • spiffsCleanupNonSettingsJunk:2603
  • spiffsCountFiles:2670
  • spiffsEnsureFreeForSettings:2690
  • spiffsFileCRC32:3145
  • spiffsFreeBytes:2592
  • spiffsZkontrolujAOdlozenyRestart:3626
  • Spot_tryGetRTCDate:10577
  • Spot_updateCurrentValuesFromOTE:840
  • spotOteAppendCompactTableRows:5748
  • spotOteChartMinMax:5740
  • spotOteSeriesMinMax:5722
  • SSRRele:7747
  • StavLCD:6813
  • StavLCD3Radek:6557
  • streamSpiffsZip:3373
  • String:5529
  • swapTemperatures:13573
  • syncRTCWithNTP:8201
  • teplEnsureDefaultGridSolarSpiffs:3783
  • teplotaMereniPlatne:7740
  • TeplotaNaLCD:7699
  • teplSpiffsUnset:3776
  • testRTC:8162
  • TestWiFi:5348
  • tivosti:1265
  • topnavThemeCss:2727
  • touchWebActivity:4535
  • tssrPeerConfigured:2828
  • tssrTrackingOn:2832
  • turnOffRGB:1063
  • updateRGBStatus:1276
  • updateRGBStatusAdvanced:1403
  • updateRGBStatusDynamic:1356
  • updateRGBStatusPulsing:1414
  • updateRGBStatusWithBrightness:1335
  • vypisStartTestCidelMereni:11629
  • wdtBcCopy:1140
  • wdtBreadcrumb:1156
  • wdtBreadcrumbClear:1172
  • wdtBreadcrumbReport:1174
  • webDisplayOrEmpty:2884
  • webDisplayTeplota:5522
  • webHtmlCachesIdleTick:4571
  • webHtmlEscape:2878
  • webTeplotaInvalid:5519
  • wifiVratStrankuUlozenoAPak:4712
  • wifiZkontrolujAOdlozenyRestart:4721
  • write_file:3022
  • write_file2:3064
  • ZapninamRelePodleTeploty:7922
  • zipAppendU16:3100
  • zipAppendU32:3106
  • zipCrc32Update:3091
  • zipReadU16:3131
  • zipReadU32:3135
  • zipWriteU16:3115
  • zipWriteU32:3120
  • zobrazAktualniCasNaDisplejich:10590
  • zobrazRTCCasNaDisplejich:10538
  • zu:9963
boot_setup.h 19
  • bootSetupAktivni:277
  • bootSetupCilUrl:290
  • bootSetupDoplnSafeDefaults:184
  • bootSetupHtmlKonec:337
  • bootSetupHtmlShell:316
  • bootSetupInitMigrace:238
  • bootSetupMaOverenyKlic:162
  • bootSetupMaWifiUdaje:155
  • bootSetupNactiStav:137
  • bootSetupOverIdApi:344
  • bootSetupPoUlozeniWifi:295
  • bootSetupPridejTopnavCss:308
  • bootSetupRegistrujOmezenouKonfiguraci:440
  • bootSetupSestavIdApiHtml:411
  • bootSetupSouborChybi:167
  • bootSetupUlozStav:145
  • bootSetupUrlEncode:111
  • bootSetupVykresliLcd:301
  • bootSetupZapisDefault:176
ui_mode.h 8
  • appendOdkazy:86
  • uiModeInstallFirstPickGate:111
  • uiModeIsSimple:49
  • uiModeLoadFromSpiffs:57
  • uiModeNeedsFirstPick:56
  • uiModePageShell:118
  • uiModeRegistrujRoutes:144
  • uiModeSave:76
setup_ai.h 12
  • off:855
  • SAJS:165
  • setupAiApplyMode:215
  • setupAiAttr:303
  • setupAiCurrentModeValue:277
  • setupAiModeLabel:263
  • setupAiMqttConfigured:315
  • setupAiReadEa:285
  • setupAiRegistrujRoutes:391
  • setupAiShellEnd:381
  • setupAiShellStart:339
  • setupAiWriteParam:325
ai_cloud.h 40
  • aiCloudApplyPlanJson:731
  • aiCloudBiasActive:222
  • aiCloudBiasLogFragment:332
  • aiCloudBuildPayload:641
  • aiCloudBuildPlanUrl:603
  • aiCloudClearSnapKeepStatus:517
  • aiCloudComputeImportCostToday:164
  • aiCloudCopyTrunc:135
  • aiCloudDeviceApiKey:633
  • aiCloudEffectiveHeatBias:229
  • aiCloudEffectiveChargeBias:235
  • aiCloudEmitG4Day:357
  • aiCloudG4Seg:325
  • aiCloudHasBattery:152
  • aiCloudHasGeminiKey:153
  • aiCloudHtmlEscape:1188
  • aiCloudHtmlFullBlock:1205
  • aiCloudHtmlHomeBadge:1359
  • aiCloudHtmlModesStatus:1374
  • aiCloudHtmlOneLine:1329
  • aiCloudHtmlQuota429Help:293
  • aiCloudImportTick:422
  • aiCloudJsonEscape:611
  • aiCloudLoadSettings:522
  • aiCloudMaskKey:186
  • aiCloudNowInHhMmWindow:241
  • aiCloudPlanFresh:473
  • aiCloudPollOnce:845
  • aiCloudRefreshStatusFromSnap:498
  • aiCloudSaveSnap:575
  • aiCloudSoftPwmDelta:264
  • aiCloudStatusColor:208
  • aiCloudStatusLabel:196
  • aiCloudTestGeminiAtGoogle:1030
  • aiCloudTestKeyNow:1117
  • aiCloudTick:1165
  • aiCloudTruncateInPlace:124
  • dne:362
  • millis:1142
  • okno:267
board_ram.h 16
  • boardCriticalHeap:97
  • boardFree:65
  • boardFreePsram:40
  • boardHasPsram:36
  • boardHtmlCacheIdleMs:117
  • boardHtmlCopyExtra:101
  • boardIsDev:111
  • boardMallocLarge:52
  • boardMinHealthyHeap:93
  • boardOteHeapMargin:103
  • boardPreferOteSpiffs:107
  • boardRamDetect:125
  • boardRamDiagLine:235
  • boardRamId:121
  • boardRamPrint:205
  • reallocate:77
config_store.h 25
  • configAesCbcCrypt:300
  • configBeginBatch:510
  • configBuildPlaintext:321
  • configClearRam:248
  • configDecryptBlob:381
  • configDeriveAesKey:259
  • configEndBatch:512
  • configEscapeValue:212
  • configFindKeyIndex:243
  • configGetByPath:500
  • configHasPath:494
  • configKeyCount:257
  • configKeyFromPath:205
  • configLoadFromSpiffs:435
  • configParsePlaintext:331
  • configPathIsEa:197
  • configPkcs7Pad:283
  • configPkcs7Unpad:291
  • configPurgeLegacyEaFiles:565
  • configRemoveByPath:559
  • configRetainOnlyKeys:521
  • configSaveToSpiffs:411
  • configSetByPath:540
  • configUnescapeValue:222
  • configWriteEncryptedBlob:351
easun_esp_now.h 50
  • easunLuxAvgForControl:253
  • easunLuxIsCollecting:279
  • easunNowAfterEspNowInit:508
  • easunNowAllocPeer:377
  • easunNowApplyPowerFromPeers:947
  • easunNowApplyPriorityToTssr:998
  • easunNowApplyStandbyFromPeers:979
  • easunNowApplyTempsFromPeers:891
  • easunNowBridgeFormSsrRows:1136
  • easunNowBridgeLuxTxAvg:232
  • easunNowBridgeLuxTxCount:220
  • easunNowBridgeLuxTxFresh:217
  • easunNowBridgeLuxTxGet:222
  • easunNowBridgeLuxTxSourceName:286
  • easunNowBridgeTempsFresh:1131
  • easunNowBridgeTempsStatusHtml:1149
  • easunNowBuildPageHtml:1205
  • easunNowEnsureBroadcastPeer:486
  • easunNowEnsureUnicastPeer:473
  • easunNowFillPacket:543
  • easunNowFindPeer:369
  • easunNowIAmPrimary:519
  • easunNowImportRelayed:749
  • easunNowInfoTempsCardHtml:1200
  • easunNowLoadPeers:416
  • easunNowLoadSettings:436
  • easunNowLocalSsrCode:513
  • easunNowMacCmp:354
  • easunNowMacStr:358
  • easunNowMyMac:347
  • easunNowPacketHasName:332
  • easunNowPackTempX10:537
  • easunNowParseMac:363
  • easunNowPeerCountFresh:1120
  • easunNowPingMac:726
  • easunNowPmkFp:337
  • easunNowPmkFpMatch:342
  • easunNowPriorityFresh:1068
  • easunNowSavePeers:404
  • easunNowSaveSettings:456
  • easunNowSendAll:731
  • easunNowSendTo:716
  • easunNowShowNeighborInfoBox:1138
  • easunNowSlotHasData:288
  • easunNowStaChannel:463
  • easunNowStartPairing:1116
  • easunNowStoreBridgeLuxTx:293
  • easunNowTick:1072
  • easunNowTryHandle:797
  • lx:562
teploty-esp-now.h 39
  • addAllTempSendersAsPeers:569
  • addTemperatureSender:2001
  • addTempSender:529
  • aktualizujMereniTeplotDallas:1216
  • buildTempEspNowWifiVerifyHtml:1344
  • debugTempSendersFile:707
  • deinitTemperatureESPNow:687
  • espNowLuxAggregate:342
  • findTempSenderByMAC:473
  • generateTempSenderList:1480
  • initializeTemperatureSensors:1193
  • initTemperatureESPNow:732
  • initTempSendersArray:310
  • isTemperatureESPNowWorking:698
  • isValidMACForESPNow:505
  • loadPMKKey:432
  • loadTempESPNOWMode:1778
  • loadTempSenders:1870
  • LUX12:1309
  • macToString:424
  • mappingToLabel:306
  • NOW:671
  • onTemperatureDataReceive:942
  • printTemperatureStats:2028
  • refreshEspNowFormSsrRowsFromSenders:879
  • resetTemperatureESPNow:675
  • resolveSenderMappedTemperature:287
  • savePMKKey:450
  • saveTempESPNOWMode:1772
  • saveTempSenders:1835
  • setTimeout:147
  • tempEspnowModeToString:1333
  • tempEspNowPeerIfidx:1312
  • tempEspNowPeerWifiChannel:1328
  • tempParseHexStringToPMK:1441
  • tempPmkKeyToBytesString:1428
  • tempPmkKeyToHexString:1420
  • updateGlobalTemperaturesFromMapping:1802
  • updateGlobalTemperaturesFromSSRMapping:1958
spotove_ceny.h 72
  • applyCezWMaxPwmLimit:295
  • applySolarAmaxPwmLimit:253
  • begin:1450
  • cz:1499
  • getEffectiveSolarW:230
  • Spot_convertEURtoCZK:3184
  • Spot_fetchActualPrice:485
  • Spot_fetchBothSources:2871
  • Spot_fetchDailyPrices:669
  • Spot_fetchEURCZKRate:2918
  • Spot_fetchOTEData:1503
  • Spot_fetchPriceLevel:494
  • Spot_fetchPriceLevelNumber:497
  • Spot_fetchSpotovaelektrinaData:1413
  • Spot_fetchSpotPrices:458
  • Spot_findMinMaxPrices:775
  • Spot_getCnbDateDDMMYYYY:2724
  • Spot_getCurrentDate:1312
  • Spot_getCurrentPriceCzkPerMWh:3198
  • Spot_getEURCZKRate:3101
  • Spot_getExchangeRateInfo:3293
  • Spot_getFveSurplusW:3220
  • Spot_getTomorrowDate:1792
  • Spot_getUserPriceBand:3282
  • Spot_getYesterdayDate:1721
  • Spot_isFveSurplusAllowingGridHeat:3230
  • Spot_isGridHeatAllowed:3256
  • Spot_isWiFiConnected:445
  • Spot_levelStringToCode:59
  • Spot_loadExchangeRateFromCache:2691
  • Spot_oteBuildChartUrl:1422
  • Spot_oteGraphTitleMatchesDate:1432
  • Spot_oteHttpsGet:1453
  • Spot_oteLoadFloatArray96:2775
  • Spot_oteReadStreamFully:2313
  • Spot_oteReadStringFromSPIFFS:2664
  • Spot_oteRemoveOtePriceCacheFilesOnce:2639
  • Spot_oteSaveFloatArray96:2762
  • Spot_oteStreamBodyToSpiffs:2347
  • Spot_oteWriteStringToSPIFFS:2652
  • Spot_parseDailyPrices:675
  • Spot_parseOTEData_applyFromDoc:1899
  • Spot_parseOTEData:2050
  • Spot_parseOTEDataFromHttp:2434
  • Spot_parseOTEDataTomorrow_applyFromDoc:2207
  • Spot_parseOTEDataTomorrow:2295
  • Spot_parseOTEPricesArray:2066
  • Spot_parseOTEQuarterHourPricesArray:2128
  • Spot_printError:446
  • Spot_saveExchangeRateToCache:2678
  • Spot_saveManualEURCZKRate:2736
  • Spot_saveOTECacheToday:2842
  • Spot_saveOTECacheTomorrow:2855
  • Spot_sendDailyStats:1086
  • Spot_sendDailyStatsForToday:1257
  • Spot_sendHourlyData:1040
  • Spot_sendHourlyDataForToday:1200
  • Spot_sendSpotDataToArchive:1168
  • Spot_sendToArchive:974
  • Spot_setArchiveEnabled:1156
  • Spot_setArchivePath:1162
  • Spot_showSourcesStatus:2168
  • Spot_switchToBackupSource:1688
  • Spot_switchToPrimarySource:1699
  • Spot_testBothSources:2196
  • Spot_tryLoadOTECacheToday:2801
  • Spot_tryLoadOTECacheTomorrow:2829
  • Spot_updateCurrentHourValues:506
  • Spot_updateCurrentQuarterHourValues:578
  • Spot_updateCurrentValues:1709
  • Spot_updateExchangeRate:3111
  • Spot_urlEncode:1127
provoz_pruvodce.h 21
  • PCJS:95
  • provozAppendMiniDiag:219
  • provozApplyProfile:441
  • provozGetParamFloat:467
  • provozGetParamInt:460
  • provozNeedsDistr:143
  • provozNeedsFve:145
  • provozNeedsSpot:144
  • provozNextAfter:147
  • provozPrevBefore:161
  • provozProfileHint:133
  • provozProfileTitle:131
  • provozPruvodceRegistrujRoutes:474
  • provozReadProfile:120
  • provozSaveDistr:403
  • provozSaveFve:432
  • provozSaveSpotPrices:418
  • provozSendPage:472
  • provozShellEnd:211
  • provozShellStart:175
  • provozWriteProfile:127
vypocet01.h 16
  • ceil:85
  • constrain:982
  • EasunEnergy:161
  • EasunEnergyPwm:150
  • FinalniUpravyARegulacePwmFunkce:1121
  • limit:348
  • LogikaGridNeboSolarNedostatekFunkce:948
  • LogikaSolarPrebytekFunkce:861
  • OvladaniPwmSSR:170
  • pwmCfgClampStep:113
  • pwmCfgKrokMax:82
  • pwmCfgMaxStepPerCycle:95
  • RegulacePwmPodleBaterieFunkce:1005
  • RegulacePwmPodleDistributoraFunkce:1057
  • solarSurplusOkNow:117
  • VypocetSolarSpotrebaRefactored:294
vypocet02.h 9
  • aiApplySafetyRules:534
  • aiClampPercent:344
  • aiComputeLocalTargetPwm:428
  • aiIsFiniteNumber:218
  • aiIsKeyPowerDataFresh:241
  • aiLimitPwmStep:356
  • aiParsePwmPayload:396
  • aiSafeNonNegative:335
  • aiSafeNumber:323
forms_map.h 1
  • formsMapBuildJson:135
nastaveni.h 3
  • nastaveniPruvodcePoUlozeniWifiZApUlozKrok:90
  • provedSmazaniProvoznichNastaveniKeepWifi:51
  • provedSmazaniVsechDatSPIFFSAPZEM:41
pajo.h 4
  • hFloat:1
  • hInt:11
  • httpGETRequest:42
  • middle:27
TestRezim_WiFi_AP.h 15
  • internetu:172
  • TestRezim_AutoRecovery:279
  • TestRezim_BackgroundNetworkCheck:215
  • TestRezim_CompleteNetworkCheck:329
  • TestRezim_fullWiFiAPTest:130
  • TestRezim_checkConnectedClients:115
  • TestRezim_isInCriticalOperation:204
  • TestRezim_NetworkDiagnostics:311
  • TestRezim_QuickDNSTest:194
  • TestRezim_QuickInternetTest:176
  • TestRezim_SetupDNSFallback:300
  • TestRezim_setupWiFiAP:15
  • TestRezim_SimpleNetworkTest:339
  • TestRezim_SmartDataSend:247
  • TestRezim_testWebServerAP:56
testovaci_rezim.h 29
  • loadStaticConfig:668
  • startTest:845
  • TestRezim_AplikujManualniData:163
  • TestRezim_EasunEnergyPwm:904
  • TestRezim_FinalniUpravyARegulacePwmFunkce:1075
  • TestRezim_GenerateHtmlPage:450
  • TestRezim_Init:146
  • TestRezim_JeAktivni:444
  • TestRezim_LogikaGridNeboSolarNedostatekFunkce:988
  • TestRezim_LogikaSolarPrebytekFunkce:908
  • TestRezim_LogujData:219
  • TestRezim_LogujDoSouboru:346
  • TestRezim_NastavBatterySOC:416
  • TestRezim_NastavBatterySOCMin:426
  • TestRezim_NastavBatteryW:409
  • TestRezim_NastavCezW:438
  • TestRezim_NastavLoadW:430
  • TestRezim_NastavOdberWatt:402
  • TestRezim_NastavSolarW:395
  • TestRezim_NastavVychoziHodnoty:138
  • TestRezim_OvladaniPwmSSR:1144
  • TestRezim_RegulacePwmPodleBaterieFunkce:1025
  • TestRezim_RegulacePwmPodleDistributoraFunkce:1043
  • TestRezim_Reset:376
  • TestRezim_Start:361
  • TestRezim_Stop:372
  • TestRezim_Timer:202
  • TestRezim_VypocetSolarSpotrebaRefactored:1104
  • TestRezim_ZmenRychlost:391