Poznámka

Optimalizace místo pravidel

Když má dům fotovoltaiku, baterii, elektroauto a spotový tarif, začne to obvykle sadou automatizací. Když je cena záporná, nabíjej. Když svítí slunce a baterie je plná, pusť auto. Když je večer drahá elektřina, vybíjej baterii.

Každé pravidlo samo o sobě dává smysl. Problém je, že spolu soupeří o stejné zdroje a nevidí do budoucnosti.

Kde pravidla narazí

Formulace jako optimalizační úloha

Místo pravidel popíšu systém: co platí fyzikálně a co chci minimalizovat. Horizont rozdělím na časové sloty a pro každý slot hledám, kolik energie jde kam.

Celočíselné proměnné (proto MILP, ne jen LP) se hodí tam, kde je realita nespojitá: baterie nemá současně nabíjet i vybíjet, wallbox má minimální nabíjecí proud a pod ním nejede vůbec.

Co to přináší

Rozhodnutí vychází z celého horizontu najednou, takže konflikty mezi spotřebiči řeší solver, ne pořadí automatizací. Nový požadavek je nové omezení, ne další větev podmínek. A když se plán nepovede, dá se zpětně podívat, z jakých vstupů vznikl.

Home Assistant v tomhle uspořádání slouží jako zdroj dat a vykonavatel plánu. Rozhodování je jinde a je explicitní.

Kde je to těžší

Model je jen tak dobrý jako vstupy. Předpověď výroby se mýlí, spotřeba domu je šum a auto přijede jindy, než měl plán. Proto se plán průběžně přepočítává a skutečné řízení (třeba proud wallboxů) běží v rychlejší smyčce na ESP32, které reaguje na aktuální stav a hlásí odchylky zpátky.

← Všechny poznámky