Automatyzacja energii słonecznej w Home Assistant: Dynamiczne ładowanie nadwyżką

Spis treści
Maksymalizacja wskaźnika autokonsumpcji z domowej instalacji fotowoltaicznej (PV) wymaga synchronizacji w czasie rzeczywistym między produkcją energii słonecznej, podstawowym poborem gospodarstwa domowego a odbiornikami o wysokim zapotrzebowaniu na moc. Gdy nadwyżka energii słonecznej jest oddawana do sieci publicznej po niskich stawkach rozliczeniowych, opłacalność ekonomiczna systemu znacząco spada. Architektura dynamicznego ładowania nadwyżką w systemie Home Assistant opiera się na danych telemetrycznych z protokołów Modbus lub MQTT, pochodzących z falowników hybrydowych, inteligentnych liczników energii i magazynów bateryjnych. Pozwala ona odbiornikom takim jak magazyny energii, stacje ładowania pojazdów elektrycznych (EV) czy pompy ciepła na precyzyjne dostosowywanie poboru mocy do aktualnej nadwyżki produkcji.
1. Architektoniczne zasady obliczania nadwyżki w czasie rzeczywistym
Dynamiczne zarządzanie nadwyżką opiera się na wyliczaniu mocy netto dostępnej w punkcie przyłączenia sieciowego przed uruchomieniem lub modulacją obciążenia. Architektura systemu opiera się na trzech kluczowych filarach:
- Moc eksportowana do sieci (
sensor.grid_export_power): Parametr wyznaczany w czasie rzeczywistym przez dwukierunkowy licznik energii. Wartość dodatnia oznacza niezagospodarowaną nadwyżkę energii słonecznej opuszczającą gospodarstwo domowe. - Dynamiczne progi histerezy: Urządzenia o dużym poborze mocy powinny być uruchamiane wyłącznie wtedy, gdy eksport energii przekracza określony próg przez zdefiniowany czas (np. > 1500 W przez co najmniej 300 sekund), co zapobiega ciągłemu włączaniu i wyłączaniu wywołanemu przez zmienne zachmurzenie.
- Hierarchiczna dystrybucja obciążenia: Dostępna nadwyżka musi być przydzielana wedle ściśle określonych priorytetów: w pierwszej kolejności do domowego magazynu bateryjnego (przez limity prądu ładowania falownika), w drugiej do stacji ładowania EV, a w trzeciej do bojlerów lub grzałek oporowych.
2. Konfiguracja sensora szablonowego (Template Sensor) krok po kroku
Aby dostarczyć stabilny, pozbawiony szumów sygnał dla automatyzacji w Home Assistant, w pliku configuration.yaml należy skonfigurować dedykowany sensor wyliczający dokładną moc nadwyżki netto:
- Definicja sensora szablonowego: Utworzenie encji sensora o nazwie
sensor.solar_surplus_power, która analizuje moc eksportowaną i bezwzględnie ustawia wartości ujemne (pobór z sieci) na wartość zero. - Zastosowanie wygładzania histerezą: Wykorzystanie filtru dolnoprzepustowego lub średniej kroczącej za pomocą integracji Filter w Home Assistant w celu zniwelowania chwilowych skoków mocy wywołanych uruchamianiem drobnego sprzętu AGD.
- Spójność jednostek pomiarowych: Upewnienie się, że wszystkie wartości wyrażone są w watach (W), a konfiguracja zawiera definicje
device_class: powerorazstate_class: measurementzapewniające pełną zgodność z integratorem sumyiemanna.
Produkcyjny kod YAML dla sensora szablonowego
template:
- sensor:
- name: "Solar Surplus Power"
unique_id: "solar_surplus_power_dynamic"
unit_of_measurement: "W"
device_class: "power"
state_class: "measurement"
state: >
{% set export_power = states('sensor.grid_meter_export_power') | float(0) %}
{% set import_power = states('sensor.grid_meter_import_power') | float(0) %}
{% if export_power > import_power %}
{{ (export_power - import_power) | round(0) }}
{% else %}
0
{% endif %}
availability: >
{{ has_value('sensor.grid_meter_export_power') and has_value('sensor.grid_meter_import_power') }}
3. Automatyzacja dynamicznego sterowania obciążeniem krok po kroku
Dysponując stabilnym odczytem nadwyżki, należy wdrożyć automatyzację regulującą natężenie prądu ładowania bez wywoływania oscylacji na przyłączu sieciowym:
- Definicja wyzwalacza: Konfiguracja wyzwalacza typu Numeric State obserwującego stan encji
sensor.solar_surplus_powerprzekraczającej 1500 W przez nieprzerwane 5 minut. - Weryfikacja warunków: Dodanie warunków wymagających, aby poziom naładowania magazynu energii (SoC) był niższy niż 95%, a pojazd elektryczny pozostawał podłączony do stacji ładowania.
- Wykonanie akcji (Dynamiczna regulacja natężenia): Wywołanie usługi dostosowującej prąd ładowania (np. od 6A do 16A na fazę) proporcjonalnie do dostępnej nadwyżki mocy.
- Bezpieczne wyłączanie: Utworzenie drugorzędnej automatyzacji wyłączającej, która wstrzymuje ładowanie, jeśli pobór z sieci publicznej przekracza 300 W przez ponad 120 sekund.
Produkcyjny kod YAML automatyzacji (Aktywacja nadwyżką)
alias: "Solar Surplus: Dynamic Load Engagement"
description: "Aktywuje ładowanie nadwyżką przy stabilnym eksporcie powyżej progu."
trigger:
- platform: numeric_state
entity_id: sensor.solar_surplus_power
above: 1500
for:
minutes: 5
condition:
- condition: numeric_state
entity_id: sensor.battery_state_of_charge
below: 95
action:
- service: number.set_value
target:
entity_id: number.inverter_max_charge_current
data:
value: >
{% set surplus = states('sensor.solar_surplus_power') | float(0) %}
{% set voltage = 50.0 %}
{{ [ ((surplus * 0.9) / voltage) | round(0), 40 ] | min }}
mode: single
4. Podsumowanie i wartość architektoniczna
Co da się osiągnąć dzięki temu poradnikowi: Wdrożenie deterministycznego, zabezpieczonego histerezą systemu zarządzania nadwyżką z fotowoltaiki w Home Assistant przy użyciu dedykowanych sensorów szablonowych oraz automatycznych skryptów modulacji mocy.
Wynikająca z tego wartość: Wskaźnik autokonsumpcji energii słonecznej zostaje zmaksymalizowany, nierzadko przekraczając poziom 80% do 90%. Zależność od drogiego poboru energii z sieci w godzinach szczytu wieczornego ulega radykalnemu obniżeniu dzięki priorytetowemu ładowaniu magazynu energii oraz zasilaniu urządzeń o wysokim poborze w godzinach największego nasłonecznienia. Ponadto mechanizmy histerezy chronią przekaźniki przed zużyciem mechanicznym i zapobiegają oscylacjom poboru z sieci przy zmiennym zachmurzeniu.