Přesměrování solárního přebytku: chytrý správce s Home Assistantem

Solární panely generují přebytek, který posíláš zadarmo do sítě, zatímco večer kupuješ stejnou elektřinu zpátky. PV diverting s Home Assistantem a smart metrem řeší tento problém automaticky — přesměruje přebytek do domácích spotřebičů lokálně, bez cloudu.
Solární panely na střeše jsou skvělé, ale víš, co mě vždycky štvalo? Dívat se na dashboard a sledovat, jak posílám kilowatty zadarmo do sítě, zatímco večer si koupím stejnou elektřinu zpátky za plnou cenu. Přesně tenhle problém řeší PV diverting — automatické přesměrování solárního přebytku do spotřebičů dřív, než vůbec opustí dům. A Home Assistant to s chytrým elektroměrem (SMETS2 / smart meter) zvládne lokálně, bez jediného cloudu.

Jak celý princip funguje
Základ je jednoduchý: Home Assistant čte v reálném čase data z chytrého elektroměru — aktuální výkon do sítě (export) a ze sítě (import). Jakmile export překročí nastavenou prahovou hodnotu, automaticky zapne spotřebič, který „zhltne" přebytek. Jakmile přebytek klesne, spotřebič zase vypne nebo sníží výkon.
Klíčový hráč je tady přímé čtení smart meteru v Home Assistantu. SMETS2 metr v ČR i UK vysílá data přes optický port (P1/DSMR) nebo přes Zigbee HAN port. Pro Zigbee HAN port existuje dedikovaný dongle (třeba od Hildebrand Glow) nebo lokální P1 adaptér na ESP32, který data přetlačí rovnou do Home Assistanta jako MQTT nebo REST senzor.
Z toho okamžitě máš například senzor sensor.grid_power — záporná hodnota = exportuješ do sítě, kladná = bereš ze sítě. Na tom pak stavíš celou logiku.
Krok za krokem: automatizace přesměrování přebytku
Pojďme si ukázat konkrétní bastlení. Budu předpokládat, že máš:
- Home Assistant na Raspberry Pi 4 nebo novějším,
- smart meter připojený přes P1 adaptér nebo Zigbee HAN dongle,
- chytrou zásuvku s měřením spotřeby (třeba Tapo P110, Shelly Plug S nebo Sonoff S31 Zigbee — ideálně lokální přístup bez cloudu).
GPIO / zapojení P1 adaptéru na ESP32
Pokud si stavíš vlastní P1 čtečku na ESP32, zapoj to takto:
| ESP32 pin | P1 port | Poznámka |
|---|---|---|
| 3V3 | VCC (pin 1) | Napájení adaptéru |
| GND | GND (pin 3) | Společná zem |
| GPIO16 (RX2) | DATA (pin 5) | Sériová data z metru |
| GPIO4 | RTS (pin 2) | Request-to-send, drž HIGH |
Na ESP32 flashneš ESPHome firmware s UART komponentou — a data tečou rovnou do HA.
YAML automatizace: přesměrování přebytku na bojler nebo topení
Tenhle snippet vychází z reálného nasazení na OpenEnergyMonitor fóru a je upravený pro robustnější chování:
# Pomocný číselník pro hysterezi (0 = vše vypnuto)
input_number:
divert_level:
name: "Divert Level"
min: 0
max: 5
step: 1
initial: 0
# Statistický senzor — průměr exportu za posledních 60 sekund
sensor:
- platform: statistics
name: "grid_export_60s"
entity_id: sensor.grid_power
state_characteristic: mean
max_age:
seconds: 60
automation:
# Pokud průměrný export > 300W po 60s → zapni spotřebič
- alias: "Solar Divert ON"
trigger:
- platform: numeric_state
entity_id: sensor.grid_export_60s
below: -300 # záporná = export do sítě
for:
seconds: 60
condition:
- condition: numeric_state
entity_id: input_number.divert_level
below: 1
action:
- service: switch.turn_on
target:
entity_id: switch.bojler_zasuvka
- service: input_number.set_value
data:
entity_id: input_number.divert_level
value: 1
# Pokud přebytek zmizí → vypni spotřebič (s hysterezí)
- alias: "Solar Divert OFF"
trigger:
- platform: numeric_state
entity_id: sensor.grid_export_60s
above: 50 # malá hystereze 50W
for:
seconds: 90
condition:
- condition: numeric_state
entity_id: input_number.divert_level
above: 0
action:
- service: switch.turn_off
target:
entity_id: switch.bojler_zasuvka
- service: input_number.set_value
data:
entity_id: input_number.divert_level
value: 0
Klíčové jsou dvě věci: statistický senzor s průměrem (zabraňuje chattering efektu při rychlých výkyvech) a hystereze na vypnutí (50 W a 90 sekund čekání). Bez toho by ti relátko cyklicky klikalo každých pár vteřin a spotřebič by se opotřeboval mnohem rychleji.

Víc spotřebičů, dynamické řazení
Jakmile ti základní logika funguje, přijde ta záživnější část — kaskádové zapínání více spotřebičů podle dostupného přebytku. Představ si, že máš bojler (2 kW), myčku (1,2 kW) a dobíjecí stanici na kolo (0,5 kW). Chceš je zapínat postupně od největšího přebytku dolů.
Princip popsaný v Home Assistant komunitě používá input_number jako schodišťový číselník a každé přírůstkové zapnutí spouští jinou scénu nebo skupinu přepínačů. Výpočet dostupného výkonu pak vypadá takto:
variables:
available_power: >-
{{ (states('sensor.solar_production') | float
- states('sensor.house_consumption') | float) | round(0) }}
A podle hodnoty available_power volíš, co zapnout. Elegantní a přitom čistě lokální — žádný cloud, žádná API klíče navíc.
Pro ještě jemnější řízení (třeba u tepelného čerpadla nebo ohřevu vody s regulovatelným výkonem) se hodí Shelly Pro EM nebo ShellyEM v kombinaci s třífázovým měřením — ty dokáží výkon opravdu plynule škálovat přes PWM nebo přepínání stupňů. Firmware Shelly podporuje lokální MQTT nativně, takže integrace do HA je přímočará.
Monitoring a doladění: co sledovat po spuštění
Po nasazení doporučuju v HA Energy dashboardu správně namapovat senzory — výroba, import, export, spotřeba přesměrovaných zátěží. Přidej do Logbook nebo Historii graf sensor.grid_export_60s a uvidíš, jak dobře automatizace reaguje.
Typické chyby při prvním bastlení:
- Příliš krátká průměrovací okna (pod 30 s) → chattering, zbytečné přepínání,
- Chybějící hystereze → nestabilní chování při slabém slunci nebo mráčcích,
- Ignorování vlastní spotřeby měřicí zásuvky → malá chyba, ale při malých přebytcích (pod 100 W) může rozhodit logiku.

Celé řešení běží stoprocentně lokálně na Raspberry Pi — žádná data neopustí dům, žádný předplatitelský poplatek, žádná závislost na tom, jestli někde v Americe nebo Asii funguje cloud server výrobce. A pořizovací náklady? ESP32 čtečka P1 portů vyjde na stokorunu, chytrá zásuvka Sonoff S31 Zigbee na dvě stovky. To je celý základ systému, který ušetří reálné peníze každý slunečný den.
Zajímá tě posunout automatizaci ještě dál — třeba integrovat solární předpověď přes Solcast a přesměrovávat přebytek prediktivně, ještě než přijde? Napiš do komentářů, jestli o tom mám napsat pokračování!
Zdroje
- 01Home Assistant for Solar PV: 2026 Setup Guide | Spectrum
- 02Control Your Solar Power Directly From Home Assistant!
- 03Automating climate control with Solar PV output? - Configuration - Home Assistant Community
- 04PV diverting control from Home Assistant (or other system) - Integrations - OpenEnergyMonitor Community
- 05Help by creating an automation for using Solar excess electricity - Configuration - Home Assistant Community
- 06Monitor your solar PV system in Home Assistant - Share your Projects! - Home Assistant Community
- 07Integrating your solar panels - Home Assistant
- 083 Great Solar Automations in Home Assistant - Home Automation - Power Forum - Renewable Energy Discussion
Přehled techu jednou týdně
Každé pondělí ráno souhrn nového z Robotaria — přímo do schránky. Jeden e-mail týdně, kdykoli se odhlásíte.
Komentáře
Zatím žádné komentáře — buďte první.