📋 Přehled
🎛️ Sjednocené řízení
🎯 Priority
🧠 Adaptivní
🔋 Optimalizace
⚙️ Původní
📋 Přehled systému
🎯 Tři hlavní režimy řízení:
| Režim | Adaptivní řízení | Automatická optimalizace | Co se automaticky vypne | Popis |
|---|---|---|---|---|
| 🧠 Adaptivní | ZAPNUTO | VYPNUTO | 🔋 Automatická optimalizace | Nejpokročilejší režim - testuje reakci měniče |
| 🔋 Optimalizace | VYPNUTO | ZAPNUTO | 🧠 Adaptivní řízení | Priorita nabíjení baterie, pak topení |
| ⚙️ Původní | VYPNUTO | VYPNUTO | 🧠 Adaptivní + 🔋 Optimalizace | Klasické řízení podle solárního přebytku |
⚠️ DŮLEŽITÉ - Vzájemné vypínání režimů:
• Zapnu-li Adaptivní řízení → automaticky se vypne Automatická optimalizace
• Zapnu-li Automatickou optimalizaci → automaticky se vypne Adaptivní řízení
• Zapnu-li Původní režim → automaticky se vypnou oba pokročilé režimy
🎯 Pravidlo priority: Adaptivní > Optimalizace > Původní
• Zapnu-li Adaptivní řízení → automaticky se vypne Automatická optimalizace
• Zapnu-li Automatickou optimalizaci → automaticky se vypne Adaptivní řízení
• Zapnu-li Původní režim → automaticky se vypnou oba pokročilé režimy
🎯 Pravidlo priority: Adaptivní > Optimalizace > Původní
🎛️ NOVÉ: Sjednocené řízení režimů
Všechny tři režimy nyní můžete ovládat z jednoho místa na stránce /system-modes. Po výběru režimu se dynamicky zobrazí relevantní nastavení pro daný režim.
Všechny tři režimy nyní můžete ovládat z jednoho místa na stránce /system-modes. Po výběru režimu se dynamicky zobrazí relevantní nastavení pro daný režim.
🔄 Společné kroky pro všechny režimy:
- Regulace podle baterie -
RegulacePwmPodleBaterieFunkce() - Regulace podle distributora -
RegulacePwmPodleDistributoraFunkce() - Ochrana před extrémním odběrem -
TestRezim_ApplyExtremeLoadProtection() - Finální úpravy -
FinalniUpravyARegulacePwmFunkce() - Prediktivní řízení -
predictiveLoadControl() - Plynulá regulace PWM -
smoothPwmRegulation()(pokud povoleno)
🎛️ Sjednocené řízení režimů
🎛️ NOVÁ FUNKCIONALITA - ZLEPŠENÉ UX:
Všechny tři režimy řízení nyní můžete ovládat z jednoho místa na stránce /system-modes s vylepšeným uživatelským rozhraním
Všechny tři režimy řízení nyní můžete ovládat z jednoho místa na stránce /system-modes s vylepšeným uživatelským rozhraním
🚀 Jak vylepšené sjednocené řízení funguje:
1️⃣ SELECT BOX VÝBĚR
Uživatel vybere režim z přehledného select boxu
Uživatel vybere režim z přehledného select boxu
↓
2️⃣ OKAMŽITÉ ZOBRAZENÍ
Automaticky se zobrazí informace + nastavení pro vybraný režim
Automaticky se zobrazí informace + nastavení pro vybraný režim
↓
3️⃣ NASTAVENÍ HODNOT
Uživatel vyplní potřebné parametry přímo na stránce
Uživatel vyplní potřebné parametry přímo na stránce
↓
4️⃣ JEDNÍM KLIKEM AKTIVACE
Tlačítko "Aktivovat vybraný režim" uloží vše najednou
Tlačítko "Aktivovat vybraný režim" uloží vše najednou
✨ NOVÉ VYLEPŠENÍ UX:
• Select box místo radio buttonů - přehlednější výběr
• Okamžité zobrazení nastavení - po výběru režimu se hned zobrazí potřebné parametry
• Žádné proklikávání - všechno nastavíte na jedné stránce
• Informativní popis - ke každému režimu se zobrazí krátký popis funkcí
• Select box místo radio buttonů - přehlednější výběr
• Okamžité zobrazení nastavení - po výběru režimu se hned zobrazí potřebné parametry
• Žádné proklikávání - všechno nastavíte na jedné stránce
• Informativní popis - ke každému režimu se zobrazí krátký popis funkcí
📋 Dostupná nastavení pro každý režim:
| Režim | Počet nastavení | Co se vypne | Dostupné parametry |
|---|---|---|---|
| 🧠 Adaptivní | 5 parametrů | 🔋 Automatická optimalizace |
• Interval testování (1000-10000ms) • Testovací krok PWM (1-20%) • Práh reakce (10-200W) • Max přetok (50-1000W) • Typ měniče (Klasický/ECO) |
| 🔋 Optimalizace | 4 parametry | 🧠 Adaptivní řízení |
• Cílový SOC (70-100%) • Kritický SOC (30-80%) • Max výkon (1000-5000W) • Min výkon (100-1000W) |
| ⚙️ Původní | 0 parametrů | 🧠 Adaptivní + 🔋 Optimalizace | Používá základní parametry systému |
🔄 Logika automatického nastavení:
// Když uživatel vybere režim, automaticky se nastaví:
switch(selectedMode) {
case "adaptive":
TestRezim_adaptiveControlEnabled = true;
autoOptimizationEnabled = false; // Automaticky vypnuto
break;
case "optimization":
TestRezim_adaptiveControlEnabled = false; // Automaticky vypnuto
autoOptimizationEnabled = true;
break;
case "original":
TestRezim_adaptiveControlEnabled = false; // Automaticky vypnuto
autoOptimizationEnabled = false; // Automaticky vypnuto
break;
}
🌟 Výhody sjednoceného řízení:
- 🎯 Jednoduché: Jeden výběr místo tří složitých nastavení
- 🛡️ Bezpečné: Automatické vypínání konfliktních režimů
- 📱 Přehledné: Dynamické zobrazení pouze relevantních nastavení
- ⚡ Rychlé: Okamžité nastavení hodnot bez přecházení mezi stránkami
- 🔄 Kompatibilní: Zachovává všechny existující funkce
💡 Přístup k sjednocenému řízení:
• Hlavní menu: Klik na "Režimy"
• Přímý odkaz:
• Ze starých stránek: Žlutý banner s odkazem
• Hlavní menu: Klik na "Režimy"
• Přímý odkaz:
http://[IP-adresa]/system-modes• Ze starých stránek: Žlutý banner s odkazem
⚠️ AUTOMATICKÉ VYPÍNÁNÍ REŽIMŮ:
🧠 Vyberu Adaptivní řízení:
✅ TestRezim_adaptiveControlEnabled = true
❌ autoOptimizationEnabled = false (VYPNE SE)
🔋 Vyberu Automatickou optimalizaci:
❌ TestRezim_adaptiveControlEnabled = false (VYPNE SE)
✅ autoOptimizationEnabled = true
⚙️ Vyberu Původní režim:
❌ TestRezim_adaptiveControlEnabled = false (VYPNE SE)
❌ autoOptimizationEnabled = false (VYPNE SE)
• Nastavení se ukládají do SPIFFS souborů
• Změny se projeví okamžitě po uložení
• Staré stránky (/adaptive, /batteryoptimization) stále fungují
🧠 Vyberu Adaptivní řízení:
✅ TestRezim_adaptiveControlEnabled = true
❌ autoOptimizationEnabled = false (VYPNE SE)
🔋 Vyberu Automatickou optimalizaci:
❌ TestRezim_adaptiveControlEnabled = false (VYPNE SE)
✅ autoOptimizationEnabled = true
⚙️ Vyberu Původní režim:
❌ TestRezim_adaptiveControlEnabled = false (VYPNE SE)
❌ autoOptimizationEnabled = false (VYPNE SE)
• Nastavení se ukládají do SPIFFS souborů
• Změny se projeví okamžitě po uložení
• Staré stránky (/adaptive, /batteryoptimization) stále fungují
🎯 Detailní priority vykonávání
1
🔍 Detekce režimu a základní výpočet
Systém nejprve určí, který režim je aktivní a provede základní výpočty.
VypocetSolarSpotrebaRefactored() - hlavní funkce
→ Inkrementace čítačů
→ Kontrola autoOptimizationEnabled
→ Inkrementace čítačů
→ Kontrola autoOptimizationEnabled
2
⚡ Výpočet PWM podle solárního stavu
Podle dostupnosti solární energie se volá příslušná logika.
Podmínka: Pokud
→ Používá
Jinak: Používá původní
autoOptimizationEnabled == true→ Používá
getOptimizedSolarWMin()Jinak: Používá původní
solarWMin
Při solárním přebytku: LogikaSolarPrebytekFunkce()
Při nedostatku: LogikaGridNeboSolarNedostatekFunkce()
Při nedostatku: LogikaGridNeboSolarNedostatekFunkce()
3
🔋 Regulace podle baterie
Úprava PWM podle stavu baterie a jejích limitů.
RegulacePwmPodleBaterieFunkce(pwmProVypocet)
4
🏭 Regulace podle distributora
Úprava PWM podle nastavení distributora energie.
RegulacePwmPodleDistributoraFunkce(pwmProVypocet)
5
🔋 Automatická optimalizace (podmíněně)
DŮLEŽITÉ: Spouští se pouze pokud je
autoOptimizationEnabled == true
A zároveň TestRezim_adaptiveControlEnabled == false
Podmínka:
if (autoOptimizationEnabled && !TestRezim_adaptiveControlEnabled)
applyBatteryOptimization(pwmProVypocet)
→ Priorita nabíjení baterie
→ Plynulé zvyšování PWM
→ Ochrana před přebíjením
→ Priorita nabíjení baterie
→ Plynulé zvyšování PWM
→ Ochrana před přebíjením
6
⚡ Ochrana před extrémním odběrem
Prediktivní a okamžitá ochrana před nebezpečným odběrem.
TestRezim_ApplyExtremeLoadProtection(pwmProVypocet)
7
🔧 Finální úpravy
Kontrola limitů, ohraničení PWM a finální validace.
FinalniUpravyARegulacePwmFunkce(pwmProVypocet)
8
🔮 Prediktivní řízení
Kompenzace zpoždění SSR relé a predikce chování.
predictiveLoadControl(pwmProVypocet, loadW, solarW)
9
🌊 Plynulá regulace PWM
Aplikace nastavení rychlosti PWM pro plynulé změny (pokud povoleno).
Podmínka:
if (enableSlowPwmMode == true)
smoothPwmRegulation(PWMNastav)
→ Používá pwmSpeed, pwmSmoothing, pwmDelay
→ Zajišťuje plynulé přechody
→ Používá pwmSpeed, pwmSmoothing, pwmDelay
→ Zajišťuje plynulé přechody
⚠️ Kritické poznámky:
• Adaptivní řízení má absolutní prioritu - když je zapnuté, automatická optimalizace se nepoužije
• Plynulá regulace PWM se aplikuje na konečný výsledek ze všech předchozích kroků
• Bezpečnostní funkce (ochrana před extrémním odběrem) nelze vypnout
• Adaptivní řízení má absolutní prioritu - když je zapnuté, automatická optimalizace se nepoužije
• Plynulá regulace PWM se aplikuje na konečný výsledek ze všech předchozích kroků
• Bezpečnostní funkce (ochrana před extrémním odběrem) nelze vypnout
🧠 Adaptivní řízení - nejpokročilejší režim
🎯 Aktivace:
🔄 Priorita: Nejvyšší - potlačuje automatickou optimalizaci
TestRezim_adaptiveControlEnabled = true🔄 Priorita: Nejvyšší - potlačuje automatickou optimalizaci
🎛️ Snadné nastavení:
Adaptivní řízení můžete aktivovat a nastavit na stránce /system-modes. Po výběru se zobrazí všech 5 parametrů pro přizpůsobení vašemu měniči.
Adaptivní řízení můžete aktivovat a nastavit na stránce /system-modes. Po výběru se zobrazí všech 5 parametrů pro přizpůsobení vašemu měniči.
🔍 Jak funguje adaptivní řízení:
🚨 KROK 1: Bezpečnostní kontroly
Okamžité zastavení při přetocích do sítě
Okamžité zastavení při přetocích do sítě
↓
❓ KROK 2: Testovací interval
Čas od posledního testu > nastavený interval?
Čas od posledního testu > nastavený interval?
↓
📈 KROK 3: Testování reakce
Zvýšení PWM o testovací krok
Zvýšení PWM o testovací krok
↓
🔍 KROK 4: Vyhodnocení
Měnič zvýšil výrobu > práh?
Měnič zvýšil výrobu > práh?
↓
🎯 KROK 5: Adaptace
Úprava strategie podle výsledku
Úprava strategie podle výsledku
⚙️ Klíčové parametry:
| Parametr | Účel | Doporučeno ECO | Doporučeno klasický |
|---|---|---|---|
| Test Interval | Jak často testovat reakci měniče | 1500ms | 3000ms |
| Test Step | O kolik % zvýšit PWM při testu | 8-12% | 3-7% |
| Solar Threshold | Minimální nárůst výroby pro "úspěch" | 30W | 50W |
| Max Grid Flow | Maximální přetok do sítě | 300-400W | 200W |
🔄 Integrace s ostatními systémy:
✅ Co adaptivní řízení RESPEKTUJE:
• Regulaci podle baterie
• Regulaci podle distributora
• Ochranu před extrémním odběrem
• Finální úpravy a limity
• Plynulou regulace PWM
• Regulaci podle baterie
• Regulaci podle distributora
• Ochranu před extrémním odběrem
• Finální úpravy a limity
• Plynulou regulace PWM
⚠️ Co adaptivní řízení POTLAČUJE:
• Automatickou optimalizaci baterie (
• Plynulé zvyšování PWM z optimalizace
• Automatickou optimalizaci baterie (
applyBatteryOptimization)• Plynulé zvyšování PWM z optimalizace
// Volání v LogikaSolarPrebytekFunkce():
if (TestRezim_adaptiveControlEnabled) {
// Adaptivní řízení je zapnuté - přeskočíme původní logiku
currentPwm = TestRezim_IntelligentAdaptiveControl(currentPwm, solarW, loadW, cezW);
} else if (autoOptimizationEnabled) {
// Automatická optimalizace
} else {
// Původní logika
}
🎯 Výhody adaptivního řízení:
- 🧠 Inteligentní učení: Systém se učí chování vašeho měniče
- 🚫 Žádné přetoky: Okamžitá reakce na přetok do sítě
- ⚡ Maximální výkon: Využije maximum z dostupné solární energie
- 🔧 ECO podpora: Speciální nastavení pro ECO měniče
- 🛡️ Bezpečnost: Konzervativní přístup s okamžitou ochranou
🔋 Automatická optimalizace
🎯 Aktivace:
🔄 Priorita: Střední - funguje pouze když není zapnuté adaptivní řízení
autoOptimizationEnabled = true A TestRezim_adaptiveControlEnabled = false🔄 Priorita: Střední - funguje pouze když není zapnuté adaptivní řízení
🎛️ Snadné nastavení:
Automatickou optimalizaci můžete aktivovat a nastavit na stránce /system-modes. Po výběru se zobrazí všechny 4 parametry pro optimalizaci baterie.
Automatickou optimalizaci můžete aktivovat a nastavit na stránce /system-modes. Po výběru se zobrazí všechny 4 parametry pro optimalizaci baterie.
🎯 Filosofie automatické optimalizace:
📋 Hlavní princip:
"Nejprve nabij baterii na optimální úroveň, pak použij přebytek na topení"
"Nejprve nabij baterii na optimální úroveň, pak použij přebytek na topení"
🔄 Dvě fáze optimalizace:
1
🔋 Fáze nabíjení baterie
Když je SOC baterie pod optimální úrovní, priorita je na nabíjení.
Podmínka:
Akce: Snížení PWM pro topení → více energie pro baterii
batterySOC < optimalBatterySOCAkce: Snížení PWM pro topení → více energie pro baterii
batteryChargePriority = 2.0 - (batterySOC / optimalBatterySOC)
→ Čím nižší SOC, tím vyšší priorita nabíjení
→ Čím nižší SOC, tím vyšší priorita nabíjení
2
🔥 Fáze topení
Když je baterie dostatečně nabitá, přebytek jde na topení.
Podmínka:
Akce: Plynulé zvyšování PWM pro topení
batterySOC >= optimalBatterySOCAkce: Plynulé zvyšování PWM pro topení
smoothPwmRegulation() s nastavenou rychlostí
→ Používá pwmSpeed, pwmSmoothing, pwmDelay
→ Používá pwmSpeed, pwmSmoothing, pwmDelay
🎛️ Klíčové parametry optimalizace:
| Parametr | Účel | Výchozí hodnota |
|---|---|---|
| optimalBatterySOC | Cílová úroveň nabití baterie | 85% |
| criticalBatterySOC | Kritická úroveň - maximální nabíjení | 70% |
| maxBatteryChargePower | Maximální výkon nabíjení | 3000W |
| batteryChargePriority | Vypočítaný faktor priority | 1.0 - 2.0 |
🧮 Výpočet priority nabíjení:
// Výpočet priority nabíjení baterie
if (batterySOC < optimalBatterySOC) {
batteryChargePriority = 2.0 - (batterySOC / optimalBatterySOC);
// Čím nižší SOC, tím vyšší priorita (max 2.0)
} else {
batteryChargePriority = 1.0;
// Baterie je dostatečně nabitá
}
// Aplikace priority na PWM
if (batteryChargePriority > 1.5) {
// Vysoká priorita nabíjení - snížit topení
optimizedPwm = currentPwm * (2.0 - batteryChargePriority);
} else {
// Normální režim - plynulé zvyšování
optimizedPwm = smoothPwmRegulation(currentPwm);
}
⚠️ Speciální situace:
🌦️ Nepříznivé počasí:
Když je aktivní
Když je aktivní
weatherWarning, systém preferuje nabíjení baterie bez ohledu na aktuální SOC.
🔄 Integrace s plynulou regulací:
Automatická optimalizace využívá
Automatická optimalizace využívá
smoothPwmRegulation() pro plynulé změny PWM, což zajišťuje stabilní chování systému.
📊 Příklad chování:
Scénář 1: SOC = 60%, optimal = 85%
→ batteryChargePriority = 2.0 - (60/85) = 1.29
→ Mírná priorita nabíjení, PWM mírně sníženo
Scénář 2: SOC = 40%, optimal = 85%
→ batteryChargePriority = 2.0 - (40/85) = 1.53
→ Vysoká priorita nabíjení, PWM výrazně sníženo
Scénář 3: SOC = 90%, optimal = 85%
→ batteryChargePriority = 1.0
→ Normální režim, plynulé zvyšování PWM
⚙️ Původní režim - klasické řízení
🎯 Aktivace:
🔄 Priorita: Základní - používá se když jsou ostatní režimy vypnuté
autoOptimizationEnabled = false A TestRezim_adaptiveControlEnabled = false🔄 Priorita: Základní - používá se když jsou ostatní režimy vypnuté
🎛️ Snadné nastavení:
Původní režim můžete aktivovat na stránce /system-modes. Žádná dodatečná nastavení nejsou potřeba - systém používá základní parametry.
Původní režim můžete aktivovat na stránce /system-modes. Žádná dodatečná nastavení nejsou potřeba - systém používá základní parametry.
🎯 Filosofie původního režimu:
📋 Hlavní princip:
"Jednoduché řízení podle dostupnosti solární energie a základních prahových hodnot"
"Jednoduché řízení podle dostupnosti solární energie a základních prahových hodnot"
🔄 Logika původního režimu:
❓ Je dostatek solární energie?
solarW > solarWMin
↓
☀️ ANO: Solární přebytek
Volá se LogikaSolarPrebytekFunkce()
Volá se LogikaSolarPrebytekFunkce()
↓
🏭 NE: Nedostatek energie
Volá se LogikaGridNeboSolarNedostatekFunkce()
Volá se LogikaGridNeboSolarNedostatekFunkce()
📊 Klíčové parametry původního režimu:
| Parametr | Účel | Typ hodnoty |
|---|---|---|
| solarWMin | Minimální solární výkon pro aktivaci topení | Pevně nastavená hodnota |
| loadWMin | Minimální zatížení systému | Pevně nastavená hodnota |
| distributor1 | Stav distributora energie | Stavová proměnná |
🌞 LogikaSolarPrebytekFunkce() - při přebytku:
// Původní logika v LogikaSolarPrebytekFunkce()
if (!autoOptimizationEnabled && !TestRezim_adaptiveControlEnabled) {
// Používá původní algoritmus
// - Jednoduché výpočty podle solárního přebytku
// - Základní regulace podle baterie
// - Bez pokročilých optimalizací
}
✅ Výhody původního režimu:
• Jednoduchá a ověřená logika
• Rychlá odezva
• Minimální složitost
• Spolehlivé chování
• Jednoduchá a ověřená logika
• Rychlá odezva
• Minimální složitost
• Spolehlivé chování
🏭 LogikaGridNeboSolarNedostatekFunkce() - při nedostatku:
// Při nedostatku solární energie
if (solarW <= solarWMin || (loadW + (loadW * loadWMin)) > solarW) {
// Snížení nebo zastavení topení
// Priorita pro základní spotřebu
// Ochrana před přebíráním ze sítě
}
⚠️ Omezení původního režimu:
• Nemá pokročilé učení
• Neoptimalizuje podle stavu baterie
• Nereaguje na specifika ECO měničů
• Méně efektivní využití energie
• Nemá pokročilé učení
• Neoptimalizuje podle stavu baterie
• Nereaguje na specifika ECO měničů
• Méně efektivní využití energie
🔄 Společné kroky s ostatními režimy:
🔧 I původní režim prochází stejnými kroky:
1. Regulace podle baterie
2. Regulace podle distributora
3. Ochrana před extrémním odběrem
4. Finální úpravy
5. Prediktivní řízení
6. Plynulá regulace PWM (pokud povoleno)
1. Regulace podle baterie
2. Regulace podle distributora
3. Ochrana před extrémním odběrem
4. Finální úpravy
5. Prediktivní řízení
6. Plynulá regulace PWM (pokud povoleno)
📈 Kdy použít původní režim:
- 🔧 Testování: Pro ověření základní funkčnosti
- 🏠 Jednoduché systémy: Bez složitých požadavků
- 🛠️ Řešení problémů: Když pokročilé režimy způsobují potíže
- ⚖️ Stabilní prostředí: Kdy není potřeba adaptace
// Aktivace původního režimu v nastavení:
autoOptimizationEnabled = false;
TestRezim_adaptiveControlEnabled = false;
// Systém automaticky použije původní logiku
Serial.println("PUVODNI LOGIKA - pouzivam solarWMin a dalsi puvodni hodnoty");