Automatyzacja falownika hybrydowego w Home Assistant na podstawie prognozy słonecznej Solcast

Mark
Autor
Automatyzacja falownika hybrydowego w Home Assistant na podstawie prognozy słonecznej Solcast

Podoba Ci się ten artykuł?

Tworzenie poradników zajmuje dużo czasu, a na stronie nie chce reklam. Jeśli pomogłem i masz na to ochotę — postaw mi kawę . To motywuje do dalszego pisania!

Automatyzacja falownika hybrydowego w Home Assistant na podstawie prognozy słonecznej Solcast
Home Assistant + Solcast PV Solar + Modbus — przykład na Foxess H3

Problem ze stałym harmonogramem

Masz fotowoltaikę, falownik hybrydowy i magazyn energii. Ustawiłeś prostą automatyzację w Home Assistant: rano eksportujesz do sieci, w południe ładujesz magazyn. Działa. Ale czy działa optymalnie? Jeśli zastanawiasz się czy fotowoltaika z magazynem w ogóle się opłaca — ten artykuł pokaże jak wycisnąć z niej więcej bez dodatkowych kosztów.
Problem pojawia się gdy całkowicie zachmurzone niebo sprawia, że instalacja przez cały dzień produkuje śladowe ilości energii. Eksportujesz rano (prawie nic), a magazyn nie zdąży się naładować do wieczora. Efekt: kupujesz prąd z sieci po stałej stawce zamiast korzystać z własnego magazynu.
Rozwiązaniem jest automatyzacja falownika oparta na prognozie produkcji PV z serwisu Solcast — Home Assistant sam decyduje każdego wieczoru jaki tryb ustawić na następny dzień.

Strategia — dwa scenariusze dnia

Kluczowa zasada: nie ładujemy magazynu z sieci i nie eksportujemy z magazynu. Magazyn ma cykle o określonej wartości — eksport z baterii do sieci po niskiej cenie nie ma sensu ekonomicznego.
Na podstawie prognozy Solcast definiujemy dwa scenariusze:
 Dzień słoneczny (prognoza ≥ 10 kWh)
06:00 – 11:00
Feed-in First
eksport nadwyżek do sieci
11:00 – zmrok
Self Use
ładowanie magazynu z PV
 Dzień pochmurny (prognoza < 10 kWh)
Cały dzień
Self Use
ładowanie magazynu od rana z dostępnej produkcji PV
Dlaczego 11:00? Przy 5 kWp szczyt produkcji przypada na godziny 10–14. Przełączenie o 11:00 daje godzinę eksportu nadwyżek rano, a następnie kilka godzin szczytu trafia bezpośrednio do magazynu. Dostosuj godzinę do swojej instalacji i orientacji paneli.

Setup — przykład na Foxess H3

Artykuł opisuje konkretny przykład z falownikiem Foxess H3 sterowanym przez Modbus. Zasada działania jest jednak uniwersalna — ten sam schemat zadziała z każdym falownikiem który ma integrację z Home Assistant i pozwala przełączać tryby pracy przez serwis HA.
Jeśli dopiero integrujesz falownik z Home Assistant przez RS485, zajrzyj najpierw do tych artykułów: Home Assistant Modbus RS485 — integracja falownika krok po kroku oraz Foxess w Home Assistant przez Modbus RS485.
Falownik
Foxess H3 (przez Foxess Modbus w HACS)
Panele
10 × 500W = 5 kWp
Magazyn energii
5 kWh
Rozliczenie
Eksport po cenach RCE, zakup po stałej stawce G11
Platforma
Home Assistant + Foxess Modbus
Kluczowa zasada: nie eksportujemy z magazynu — to drogie urządzenie, cykle mają wartość. Eksportujemy tylko bezpośrednią nadwyżkę z paneli.

Krok 1 — Solcast, prognoza produkcji PV

Solcast to australijski serwis specjalizujący się w prognozowaniu produkcji energii słonecznej. W odróżnieniu od ogólnych serwisów pogodowych, Solcast nie mówi tylko „będzie zachmurzenie” — on przelicza dane meteorologiczne bezpośrednio na kilowatogodziny dla Twojej konkretnej instalacji.
Do konfiguracji podajesz dane techniczne swojej instalacji:
Lokalizacja
szerokość i długość geograficzna
Moc AC / DC
moc falownika i paneli w kW
Azymut
kierunek paneli — 180° to południe
Kąt nachylenia
w stopniach
Sprawność
domyślnie 94%
Na tej podstawie serwis buduje model Twojej instalacji i codziennie generuje prognozę godzinową uwzględniającą zachmurzenie, kąt padania promieni i sezonowość. Prognoza dostępna jest z wyprzedzeniem do 7 dni. Darmowy plan oferuje 10 zapytań API dziennie — w zupełności wystarczy dla automatyzacji domowej.
Rejestracja i konfiguracja instalacji
Nr
Krok
1
Zakładamy konto na solcast.com
2
Dodajemy nową instalację typu Rooftop Site
3
Uzupełniamy dane techniczne instalacji
4
Kopiujemy Resource ID oraz klucz API — będą potrzebne w Home Assistant
Warto sprawdzić: wykres prognozy na stronie po konfiguracji — krzywa powinna przypominać dzwon z szczytem w południe, nie płaską linię.
Instalacja w Home Assistant
Integrację instalujemy przez HACS — szukamy Solcast PV Solar (autor: BJReplay).
Po instalacji przechodzimy do Ustawienia → Urządzenia i usługi → Dodaj integrację → Solcast PV Solar i konfigurujemy:
Klucz API — z konta solcast.com
Limit API — wpisujemy 10 (lub tyle ile mamy w planie)
Automatyczna aktualizacja — wybieramy „przez 24 godziny”
Uwaga: Opcja „od wschodu do zachodu słońca” nie pobierze danych przed świtem. Przy trybie „przez 24 godziny” Solcast odpytuje API równomiernie przez całą dobę — o 22:00 zawsze mamy świeżą prognozę na jutro.
Kluczowe encje po instalacji
sensor.solcast_pv_forecast_prognoza_na_dzisiaj → np. 27.5 kWh
sensor.solcast_pv_forecast_prognoza_na_jutro → np. 18.2 kWh
sensor.solcast_pv_forecast_szczytowa_moc_dzisiaj → np. 4800 W
sensor.solcast_pv_forecast_aktualna_moc → aktualna prognozowana moc
Encja prognoza_na_jutro jest tym czego szukamy — stabilna wartość dostępna wieczorem, idealna do podejmowania decyzji o trybie falownika na następny dzień.
Pełne słońce (lato)
20–28 kWh
Częściowe zachmurzenie
10–18 kWh
Pochmurno
2–6 kWh

Krok 2 — Helper: flaga „jutro słonecznie”

Cztery automatyzacje muszą się ze sobą komunikować — automatyzacja wieczorna podejmuje decyzję, a pozostałe ją wykonują. Do przekazania informacji między nimi używamy prostego przełącznika (toggle helper).
Tworzymy helper w Ustawienia → Automatyzacje i sceny → Helpers → Utwórz helper → Przełącznik i nazywamy go Jutro słonecznie. Alternatywnie dodajemy do configuration.yaml:
input_boolean:
  jutro_slonecznie:
    name: "Jutro słonecznie"
Encja input_boolean.jutro_slonecznie działa jak karteczka: wieczorem automatyzacja zapisuje na niej „słonecznie / pochmurno”, a rano dwie kolejne automatyzacje ją odczytują.

Krok 3 — Cztery automatyzacje

System składa się z czterech automatyzacji które działają razem. Automatyzacja 1 podejmuje decyzję i zapisuje ją w helperze — pozostałe trzy ją wykonują.

Automatyzacja 1 — decyzja wieczorna (22:00 + restart HA)
Uruchamia się o 22:00 oraz przy każdym starcie Home Assistant. Sprawdza prognozę Solcast na jutro, ustawia helper i wysyła powiadomienie. Próg 10 kWh = pojemność magazynu (5 kWh) + ~5 kWh pokrycie dziennego zużycia (10 kWh × 0,4 — tyle przypada na godziny produkcji PV). Dostosuj do swojej instalacji.
alias: Foxess - prognoza wieczorna Solcast
description: Ustawia helper na podstawie prognozy — o 22:00 i przy każdym starcie HA
triggers:
  - at: "22:00:00"
    trigger: time
  - trigger: homeassistant
    event: start
actions:
  - if:
      - condition: numeric_state
        entity_id: sensor.solcast_pv_forecast_prognoza_na_jutro
        above: 10
    then:
      - action: input_boolean.turn_on
        target:
          entity_id: input_boolean.jutro_slonecznie
      - action: notify.TWOJ_SERWIS_POWIADOMIEN
        data:
          title: Foxess - jutro słonecznie
          message: >
            Prognoza: {{ states('sensor.solcast_pv_forecast_prognoza_na_jutro') }} kWh
            06:00 Feed-in First → 11:00 Self Use
    else:
      - action: input_boolean.turn_off
        target:
          entity_id: input_boolean.jutro_slonecznie
      - action: notify.TWOJ_SERWIS_POWIADOMIEN
        data:
          title:  Foxess - jutro pochmurno
          message: >
            Prognoza: {{ states('sensor.solcast_pv_forecast_prognoza_na_jutro') }} kWh
            Cały dzień Self Use — ładowanie magazynu
mode: single

Automatyzacja 2 — tryb poranny (06:00)
Odczytuje helper i ustawia odpowiedni tryb na falowniku. W słoneczny dzień startuje eksport nadwyżek PV do sieci, w pochmurny — od razu ładowanie magazynu.
alias: Foxess - tryb poranny
description: "06:00 — Feed-in First (słonecznie) lub Self Use (pochmurno)"
triggers:
  - at: "06:00:00"
    trigger: time
actions:
  - if:
      - condition: state
        entity_id: input_boolean.jutro_slonecznie
        state: "on"
    then:
      - action: select.select_option
        target:
          entity_id: select.TWOJ_FALOWNIK_work_mode
        data:
          option: Feed-in First
    else:
      - action: select.select_option
        target:
          entity_id: select.TWOJ_FALOWNIK_work_mode
        data:
          option: Self Use
mode: single

Automatyzacja 3 — ładowanie magazynu (11:00)
Uruchamia się tylko w słoneczny dzień. Bezwarunkowo przełącza na Self Use — od tej godziny cała produkcja PV ze szczytu idzie do magazynu.
alias: Foxess - ładowanie magazynu od 11:00
description: "11:00 — tylko słoneczny dzień: przełącz na Self Use"
triggers:
  - at: "11:00:00"
    trigger: time
conditions:
  - condition: state
    entity_id: input_boolean.jutro_slonecznie
    state: "on"
actions:
  - action: select.select_option
    target:
      entity_id: select.TWOJ_FALOWNIK_work_mode
    data:
      option: Self Use
  - action: notify.TWOJ_SERWIS_POWIADOMIEN
    data:
      title:  Foxess - ładowanie magazynu
      message: "11:00 — przełączono na Self Use, ładowanie magazynu z PV"
mode: single

Automatyzacja 4 — przywróć tryb po restarcie HA
Jeśli Home Assistant padnie i wstanie w ciągu dnia, ta automatyzacja sprawdza aktualną godzinę i ustawia właściwy tryb na falowniku. Dzięki temu awaria HA nie zostawia falownika w złym trybie na resztę dnia.
alias: Foxess - przywróć tryb po restarcie HA
description: Przy starcie HA ustawia właściwy tryb zależnie od godziny i helpera
triggers:
  - trigger: homeassistant
    event: start
actions:
  - delay: "00:00:30"
  - if:
      - condition: time
        after: "06:00:00"
        before: "11:00:00"
      - condition: state
        entity_id: input_boolean.jutro_slonecznie
        state: "on"
    then:
      - action: select.select_option
        target:
          entity_id: select.TWOJ_FALOWNIK_work_mode
        data:
          option: Feed-in First
  - if:
      - condition: time
        after: "11:00:00"
        before: "23:59:59"
    then:
      - action: select.select_option
        target:
          entity_id: select.TWOJ_FALOWNIK_work_mode
        data:
          option: Self Use
  - if:
      - condition: time
        after: "00:00:00"
        before: "06:00:00"
    then:
      - action: select.select_option
        target:
          entity_id: select.TWOJ_FALOWNIK_work_mode
        data:
          option: Self Use
mode: single
Zamień select.TWOJ_FALOWNIK_work_mode na encję trybu pracy swojego falownika. Dla Foxess Modbus jest to select.foxess_modbus_work_mode.
Dostępne tryby Foxess H3: Self Use, Feed-in First, Back-up, Peak Shaving, Force Charge, Force Discharge. Nazwy są wrażliwe na wielkość liter i format — sprawdź je w Developer Tools → Stany wpisując work_mode.
Zamień notify.TWOJ_SERWIS_POWIADOMIEN na swój serwis powiadomień — Telegram, mobile app lub inny. Znajdziesz go w Developer Tools → Akcje wpisując notify.

Pułapki które napotkałem

Nazwy trybów falownika są wrażliwe na format
Każda integracja ma własne nazwy trybów — i muszą się zgadzać co do znaku. Dla Foxess Modbus tryb eksportu to Feed-in First z myślnikiem i małą literą i. Właściwe opcje znajdziesz w Developer Tools → Stany, wyszukując encję work_mode swojego falownika.
Prognoza dziś vs jutro
Dane godzinowe detailedForecast dla bieżącego dnia są snapshotem z momentu ostatniego pobrania. Znacznie bardziej wiarygodne jest sprawdzanie prognoza_na_jutro wieczorem — Solcast ma już wtedy kompletną prognozę na następny dzień.
Helper musi być ustawiony przed 06:00
Automatyzacja 1 działa o 22:00 — jest więc gotowa z odpowiednim wyprzedzeniem. Gdybyś chciał zmienić godzinę decyzji, upewnij się że zawsze wyprzedza automatyzację poranną o kilka godzin.
Solcast niedostępny
Jeśli encja prognoza_na_jutro zwróci unknown lub unavailable, warunek above: 10 nie zadziała i helper zostanie ustawiony na OFF — czyli tryb pochmurny (Self Use). To bezpieczny fallback: magazyn będzie się ładować zamiast eksportować nic do sieci.

Wyniki

Scenariusz
Przed
Po
Pochmurny dzień
Eksport ~0 kWh rano, pusty magazyn wieczorem
Self Use od rana, magazyn naładowany z dostępnej produkcji
Słoneczny dzień
Eksport przez cały dzień lub stały harmonogram
Eksport do 11:00, potem pełne ładowanie magazynu ze szczytu PV
Zmienne zachmurzenie
Losowo
Decyzja na podstawie prognozy, powiadomienie o 22:00
Co wieczór o 22:00 przychodzi powiadomienie z prognozą i ustawionym trybem — wiesz z wyprzedzeniem jak jutro będzie działać instalacja. O 11:00 dodatkowe powiadomienie potwierdza przełączenie na ładowanie.

Co jeszcze można zautomatyzować

Przy tym setupie wycisnęliśmy maksimum z dostępnych danych. Kolejne kroki które mogłyby przynieść zysk:
Taryfa G12 — tańsza energia w nocy umożliwiłaby doładowywanie magazynu z sieci gdy jutro pochmurno
Taryfa dynamiczna — RCE po stronie zakupu — automatyzacja mogłaby optymalizować godziny zakupu. Więcej o rozliczeniu net billing i automatyzacji znajdziesz w artykule Fotowoltaika net billing — jak nie oddawać prądu za darmo
Grzanie wody nadwyżkami — zamiast eksportować nadwyżki po niskiej cenie, można je skierować na bojler. Opisałem to dokładnie w artykule Jak wykorzystać nadwyżki z fotowoltaiki do grzania wody
Ochrona magazynu zimą — ograniczenie ładowania gdy temperatura baterii spada poniżej progu (masz do tego gotowy sensor w integracji Modbus)

Podsumowanie

Cztery automatyzacje oparte na prognozie Solcast rozwiązują problem kompleksowo: w pochmurne dni magazyn ładuje się od rana, w słoneczne eksportujesz rano i ładujesz magazyn ze szczytu PV od 11:00, a awaria Home Assistant nie pozostawia falownika w złym trybie — po restarcie system sam się przywraca.
Koszt wdrożenia: zero złotych, kilka godzin konfiguracji. Masz pytania lub inny falownik niż Foxess? Napisz w komentarzu — chętnie pomogę dostosować automatyzację do Twojego setupu.

Społeczność MarkLabs

Dyskutuj na forum

Pytania, doświadczenia i rozwiązania do tego artykułu publikujemy teraz na forum MarkLabs.

Otwórz dyskusję na forum

Wymagane jest bezpłatne konto MarkLabs. Dotychczasowe komentarze bloga nie są przenoszone.

buycoffee.to