---
title: "Forecast.Solar"
description: "Integracja Forecast.Solar z TapHome. Uzyskaj prognozy produkcji energii słonecznej PV przez HTTP — planuj ładowanie baterii, sterowanie pompą ciepła i."
url: "https://taphome.com/pl/compatibility/forecast-solar/"
language: pl
lastmod: 2026-03-28
generator: hugo
ai:
  topics: ["http","data-service","solar-forecast","energy-management","cloud-api"]
  questions: ["Jak zintegrować Forecast.Solar z TapHome?","Jak TapHome prognozuje produkcję energii z paneli słonecznych?","Jakie parametry są potrzebne do importu Forecast.Solar w TapHome?","Dlaczego urządzenie Forecast.Solar pokazuje zero lub brak danych?","Jak wykorzystać dane prognozy solarnej do automatyzacji ładowania baterii?","Jaka jest różnica między urządzeniami okien czasowych w Forecast.Solar?"]
---

# Forecast.Solar

Komunikacja: Packet Parser → HTTP

- [Strona Forecast.Solar](https://forecast.solar)

## Poradnik integracji

Forecast.Solar to darmowe API chmurowe, które dostarcza szacunki produkcji energii słonecznej PV na podstawie lokalizacji, orientacji paneli i zainstalowanej mocy. Łączy dane o nasłonecznieniu z EU Photovoltaic Geographical Information System (PVGIS) z prognozami pogody, aby przewidzieć, ile energii wyprodukuje instalacja solarna.

TapHome łączy się z tą usługą przez HTTPS za pomocą szablonu PacketParser HTTP. Szablon odpytuje endpoint `/estimate` raz na godzinę (w ramach limitu darmowego planu 12 zapytań na godzinę) i udostępnia sześć czujników energii tylko do odczytu: cztery okna czasowe bieżącego dnia oraz sumy dzienne na dziś i jutro. Nie jest wymagane uwierzytelnianie ani klucz API.

## Konfiguracja

Podczas importu szablonu wymaganych jest pięć parametrów. Definiują one instalację solarną i służą do budowy URL zapytania API:

- **Latitude** — dziesiętna szerokość geograficzna lokalizacji systemu PV (np. `48.1778` dla Bratysławy). Zakres: od -90 do 90, dokładność do 0,0001 (~10 m).
- **Longitude** — dziesiętna długość geograficzna lokalizacji systemu PV (np. `17.1426` dla Bratysławy). Zakres: od -180 do 180.
- **PV_declination** — kąt nachylenia paneli w stopniach. `0` = poziomo (dach płaski), `90` = pionowo (montaż ścienny). Typowe wartości mieszkaniowe: 20–45.
- **PV_azimuth** — orientacja paneli względem stron świata. `-180` lub `180` = północ, `-90` = wschód, `0` = południe, `90` = zachód. Dla paneli skierowanych na południe użyj `0`.
- **PV_kWp** — całkowita zainstalowana moc PV w kilowatach szczytowych (np. `5` dla systemu 5 kWp).

Wszystkie pięć parametrów jest przechowywanych jako zmienne modułu w TapHome i można je zmienić po imporcie bez ponownego importowania szablonu.

> [!WARNING]
> API Forecast.Solar używa innej konwencji azymutu niż niektóre inne narzędzia. W tym API **0 = południe**, a wartości rosną zgodnie z ruchem wskazówek zegara (-90 = wschód, 90 = zachód, 180/-180 = północ). Jeśli przechodzisz z Home Assistant (gdzie 180 = południe), odejmij 180 od wartości HA.

> [!TIP]
> Aby znaleźć swoje współrzędne, kliknij prawym przyciskiem na swoją lokalizację w Google Maps i skopiuj wartości szerokości/długości geograficznej.

## Jak to działa

Moduł wysyła jedno żądanie HTTP na cykl odpytywania:

```
GET /estimate/{Latitude}/{Longitude}/{PV_declination}/{PV_azimuth}/{PV_kWp}
Accept: application/json
```

API zwraca odpowiedź JSON zawierającą skumulowane watogodziny w każdej godzinie (`watt_hours`), energię za okres (`watt_hours_period`), moc chwilową (`watts`) i sumy dzienne (`watt_hours_day`). Szablon analizuje `watt_hours` i `watt_hours_day`, aby uzyskać wszystkie sześć wartości urządzeń.

Dwa atrybuty usługi są odczytywane z metadanych odpowiedzi: **Place** (rozpoznana nazwa lokalizacji, np. „Bratislava, Slovakia") i **Time zone** (np. „Europe/Bratislava"). Są widoczne w widoku szczegółów modułu i potwierdzają, że API prawidłowo zidentyfikowało lokalizację.

## Możliwości urządzeń

Szablon udostępnia sześć czujników energii tylko do odczytu. Wszystkie wartości podane są w watogodzinach (Wh) i reprezentują prognozowaną produkcję energii PV.

### Prognoza energii w oknach czasowych

Dzień jest podzielony na cztery okna czasowe. Każde urządzenie pokazuje oczekiwaną produkcję energii w danym okresie:

- **Energy 0–9h** — prognozowana produkcja od północy do 9:00. Odczytuje skumulowaną wartość watogodzin przy znaczniku czasu 09:00. W większości lokalizacji obejmuje wschód słońca do wczesnego ranka.
- **Energy 9–12h** — prognozowana produkcja od 9:00 do 12:00. Obliczana jako różnica między wartościami skumulowanymi o 12:00 i 09:00.
- **Energy 12–15h** — prognozowana produkcja od 12:00 do 15:00. Obliczana jako różnica między wartościami skumulowanymi o 15:00 i 12:00. Zwykle okres o najwyższej produkcji.
- **Energy 15–0h** — prognozowana produkcja od 15:00 do końca dnia. Obliczana jako suma dzienna minus wartość skumulowana o 15:00. W praktyce obejmuje od 15:00 do zachodu słońca, ponieważ produkcja po zmroku spada do zera.

Ten podział pozwala smart rules celować w konkretne części dnia — na przykład zaplanować ładowanie baterii podczas szczytu 12–15h lub odłożyć energochłonne zadania na godziny z najwyższą oczekiwaną produkcją.

### Sumy dzienne

- **PV Energy Forecast (Today)** — całkowita prognozowana produkcja energii na bieżący dzień. Odczytuje bezpośrednio wartość `watt_hours_day` dla dzisiejszej daty.
- **PV Energy Forecast (Tomorrow)** — całkowita prognozowana produkcja energii na następny dzień. Używa jutrzejszej daty z tej samej odpowiedzi API.

Te sumy są przydatne do planowania dziennego — na przykład decyzji, czy uruchomić pompę ciepła na energii PV czy z sieci na podstawie oczekiwanej produkcji solarnej.

### Dodatkowe możliwości

API Forecast.Solar dostarcza również szacunki mocy chwilowej (waty na okresy 15-minutowe), dane energetyczne za okres bez obliczeń kumulacyjnych oraz identyfikację czasu szczytowej produkcji. Płatne plany dodają obsługę wielu orientacji paneli (2–4 płaszczyzny), historyczne dane produkcji, szacunki przy bezchmurnym niebie i współczynniki tłumienia do korekcji zacienienia. Można je dodać w przyszłej aktualizacji szablonu.

## Przykłady automatyzacji

### Ładowanie baterii na podstawie prognozy

Użyj urządzenia **PV Energy Forecast (Today)** w smart rule:

- Warunek: PV Energy Forecast (Today) > 15000 (Wh = 15 kWh)
- Akcja: ustawić baterię w tryb „ładuj tylko z PV"

W pochmurne dni z niską prognozą przełącz na ładowanie z sieci w godzinach taniej taryfy.

### Planowanie energochłonnych zadań

Użyj urządzeń okien czasowych do identyfikacji najlepszego okresu dla zadań o dużym zużyciu:

- Warunek: Energy 12–15h > 3000 (Wh)
- Akcja: uruchomić pompę basenową, podgrzewacz wody lub ładowanie EV o 12:00

## Rozwiązywanie problemów

### Wszystkie urządzenia pokazują zero lub NaN

1. Sprawdź połączenie internetowe TapHome Core — szablon wymaga wychodzącego dostępu HTTPS do `api.forecast.solar`
2. Sprawdź, czy API odpowiada — otwórz `https://api.forecast.solar/estimate/48.1778/17.1426/45/0/5` w przeglądarce (zamień na swoje parametry)
3. Jeśli błąd zawiera kod statusu (np. „429"), limit zapytań został przekroczony. Darmowy plan pozwala na 12 zapytań na godzinę — poczekaj na reset okna kroczącego
4. Kod statusu 400 zazwyczaj oznacza nieprawidłowe współrzędne (szerokość/długość geograficzna mogą być zamienione lub lokalizacja jest nad wodą)

### Wartości prognozy wydają się zbyt wysokie lub niskie

1. Sprawdź, czy parametr **PV_kWp** odpowiada rzeczywistej zainstalowanej mocy — bezpośrednio skaluje wszystkie wartości prognozy
2. Sprawdź **PV_declination** — panel poziomy (0) produkuje mniej niż optymalnie nachylony panel (30–40 w Europie Środkowej)
3. Sprawdź **PV_azimuth** — upewnij się, że orientacja odpowiada rzeczywistości. Pamiętaj: 0 = południe w tym API
4. API używa danych prognozy pogody, które mogą nie odzwierciedlać warunków lokalnych (pobliskie budynki, drzewa, tymczasowe zacienienie). Użyj współczynnika tłumienia w płatnym planie API do korekcji zacienienia

### Energy 15–0h pokazuje niespodziewanie niskie wartości

To oczekiwane zachowanie. Urządzenie „15–0h" oblicza sumę dzienną minus skumulowaną produkcję o 15:00. Ponieważ produkcja PV efektywnie ustaje o zachodzie słońca, wartość ta reprezentuje produkcję od 15:00 do zachodu — nie do północy. W miesiącach zimowych z wczesnym zachodem wartość ta może być bardzo mała.

> [!NOTE]
> API Forecast.Solar przeprowadza konserwację kwartalną 1. dnia każdego miesiąca kwartału około północy UTC (styczeń, kwiecień, lipiec, październik). Podczas konserwacji API zwraca HTTP 503, a urządzenia będą tymczasowo wyświetlać błędy.

## Dostępne urządzenia 6

Te urządzenia pojawią się w TapHome po imporcie.

Forecast.Solar Moduł

Atrybuty serwisowe

|                |                                                                                                                               |
|----------------|-------------------------------------------------------------------------------------------------------------------------------|
| Lokalizacja    | Nazwa lokalizacji rozwiązana przez API z przesłanych współrzędnych — potwierdza, że API poprawnie zidentyfikowało lokalizację |
| Strefa czasowa | Strefa czasowa określona przez API dla skonfigurowanej lokalizacji — używana do prawidłowego wyrównania znaczników czasu      |

Zmienne niestandardowe

|                            |                                                                                           |
|----------------------------|-------------------------------------------------------------------------------------------|
| `Latitude` (numeric)       | Szerokość geograficzna instalacji PV w stopniach dziesiętnych (ustawiona podczas importu) |
| `Longitude` (numeric)      | Długość geograficzna instalacji PV w stopniach dziesiętnych (ustawiona podczas importu)   |
| `PV_declination` (numeric) | Kąt nachylenia paneli PV w stopniach (0 = poziomo, 90 = pionowo)                          |
| `PV_azimuth` (numeric)     | Orientacja paneli PV w stopniach (0 = południe, -90 = wschód, 90 = zachód, ±180 = północ) |
| `PV_kWp` (numeric)         | Zainstalowana moc szczytowa systemu PV w kilowatach                                       |

Odczyt (moduł)

```taphome
VAR response := SENDHTTPREQUEST("/estimate/" + Latitude + "/" + Longitude + "/" + PV_declination + "/" + PV_azimuth + "/" + PV_kWp, "GET", "", "Accept: application/json");
IF response.IsSuccess
    output := response.Content;
ELSE
    ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
END
```

Atrybuty serwisowe

Place

```taphome
PARSEJSON(output, "$.message.info.place")
```

Time zone

```taphome
PARSEJSON(output, "$.message.info.timezone")
```

Energia 0–9h Zmienna Tylko do odczytu

Prognozowana energia PV od północy do 9:00 — skumulowane watogodziny przy znaczniku czasu 09:00

numeric Jednostka: Wh json\_path

Odczyt

```taphome
var date := tostring(NOW(), "yyyy-MM-dd");

var tmp := PARSEJSON(output,"$.result.watt_hours");

PARSETEXT(tmp, date + " 09:00:00\":", ",");
```

Energia 9–12h Zmienna Tylko do odczytu

Prognozowana energia PV od 9:00 do 12:00 — różnica skumulowanych watogodzin między 12:00 a 09:00

numeric Jednostka: Wh json\_path

Odczyt

```taphome
var date := tostring(NOW(), "yyyy-MM-dd");

var tmp := PARSEJSON(output,"$.result.watt_hours");

var h9 := PARSETEXT(tmp, date + " 09:00:00\":", ",");
var h12 := PARSETEXT(tmp, date + " 12:00:00\":", ",");

h12 - h9
```

Energia 12–15h Zmienna Tylko do odczytu

Prognozowana energia PV od 12:00 do 15:00 — różnica skumulowanych watogodzin między 15:00 a 12:00

numeric Jednostka: Wh json\_path

Odczyt

```taphome
var date := tostring(NOW(), "yyyy-MM-dd");

var tmp := PARSEJSON(output,"$.result.watt_hours");

var h12 := PARSETEXT(tmp, date + " 12:00:00\":", ",");
var h15 := PARSETEXT(tmp, date + " 15:00:00\":", ",");

h15 - h12
```

Energia 15–0h Zmienna Tylko do odczytu

Prognozowana energia PV od 15:00 do końca dnia — suma dzienna minus skumulowane watogodziny o 15:00

numeric Jednostka: Wh json\_path

Odczyt

```taphome
var date := tostring(NOW(), "yyyy-MM-dd");

var tmp := PARSEJSON(output,"$.result.watt_hours");

var last := PARSEJSON(output, "$.result.watt_hours_day." + date);

var h15 := PARSETEXT(tmp, date + " 15:00:00\":", ",");

last - h15
```

Prognoza energii PV (dziś) Zmienna Tylko do odczytu

Całkowita prognozowana produkcja energii słonecznej na bieżący dzień w watogodzinach

numeric Jednostka: Wh json\_path

Odczyt

```taphome
var date := tostring(NOW(), "yyyy-MM-dd");

PARSEJSON(output, "$.result.watt_hours_day." + date)
```

Prognoza energii PV (jutro) Zmienna Tylko do odczytu

Całkowita prognozowana produkcja energii słonecznej na następny dzień w watogodzinach

numeric Jednostka: Wh json\_path

Odczyt

```taphome
var date := tostring(DATETIMEADD(NOW(), 0, 0, 1), "yyyy-MM-dd");

PARSEJSON(output, "$.result.watt_hours_day." + date)
```

**Połączenie:** Packet Parser → HTTP

Możliwe ulepszenia (9)

- Instantaneous Power (watts) — Power average (W) per 15-min period — HA integration exposes this as 'Estimated Power Production — Now'
- Energy per Period (watt\_hours\_period) — Energy produced in each 15-min period — alternative to cumulative watt\_hours with delta calculation
- Remaining Energy Today — Daily total minus current cumulative — HA exposes this, template could compute from existing data
- Peak Production Time — Timestamp of highest watts value — requires iterating watts object, not trivially extractable with PARSEJSON
- Multi-Plane Support (2-4 planes) — Paid tiers support 2-4 panel orientations per request — requires API key import parameter
- Historic Production Data — Past production data for comparison — requires paid API key
- Clear Sky Estimate — Theoretical maximum production without clouds — requires Professional tier API key
- Damping Factor (shadow adjustment) — Adjusts morning/evening predictions for shadows, trees, buildings — could be added as import parameter
- Inverter Power Limit — Limits peak prediction to inverter capacity — could be added as import parameter

## Parametry importu

Te wartości podajesz podczas importu pliku XML.

| Pytanie w aplikacji                                                | Domyślnie |
|--------------------------------------------------------------------|-----------|
| latitude: zemepisná šírka v desiatkovej sústave                    | `48.1778` |
| longitude: zemepisná dĺžka v desiatkovej sústave                   | `17.1426` |
| PV\_declination: sklon PV systému (0 = vodorovne, 90 = vertikálne) | `45`      |
| PV\_azimuth: orientácia PV voči severu (0 = sever, 180 = juh)      | `0`       |
| PV\_kWp: výkon inštalovaných panelov v kilowatoch                  | `5`       |

## Źródła

- Forecast.Solar API — /estimate Endpoint
  
  [doc.forecast.solar](https://doc.forecast.solar/api:estimate) 2026-03-28
- Forecast.Solar API — General Documentation
  
  [doc.forecast.solar](https://doc.forecast.solar/api) 2026-03-28
- Forecast.Solar — Home Assistant Integration
  
  [www.home-assistant.io](https://www.home-assistant.io/integrations/forecast_solar/) 2026-03-28
- Forecast.Solar — Python Client Library (GitHub)
  
  [github.com](https://github.com/home-assistant-libs/forecast_solar) 2026-03-28

## Powiązana dokumentacja

- [Integracja Packet Parser](https://taphome.com/pl/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/pl/docs/integration/packet-parser/)
- [Funkcje Packet parser](https://taphome.com/pl/docs/script/packet-parser/)
- [Funkcje parsowania](https://taphome.com/pl/docs/script/parsing-functions/)

