TapHome

Forecast.Solar

Packet Parser → HTTP
Autor
Posljednje ažuriranje: 03. 2026
Forecast.Solar

Forecast.Solar je besplatni API u oblaku koji procjenjuje proizvodnju energije solarne elektrane prema lokaciji, orijentaciji panela i instaliranoj snazi. Kombinira podatke o ozračenosti iz EU sustava PVGIS (Photovoltaic Geographical Information System) s vremenskom prognozom kako bi predvidio koliko će energije solarna elektrana proizvesti.

TapHome se na ovu uslugu spaja preko HTTPS-a s pomoću HTTP predloška PacketParser. Predložak jednom na sat šalje upit krajnjoj točki /estimate (unutar besplatnog ograničenja od 12 zahtjeva na sat) i daje šest senzora energije koji se mogu samo čitati: četiri vremenska razdoblja tekućeg dana i dnevne ukupne vrijednosti za danas i sutra. Autentifikacija ni API ključ nisu potrebni.

Konfiguracija

Pri uvozu predloška potrebno je pet parametara. Oni opisuju solarnu elektranu i služe za sastavljanje URL-a API zahtjeva:

  • Latitude: zemljopisna širina lokacije fotonaponskog sustava u decimalnom obliku (npr. 48.1778 za Bratislavu). Raspon: -90 do 90, preciznost do 0,0001 (točnost ~10 m).
  • Longitude: zemljopisna dužina lokacije fotonaponskog sustava u decimalnom obliku (npr. 17.1426 za Bratislavu). Raspon: -180 do 180.
  • PV_declination: kut nagiba panela u stupnjevima. 0 = vodoravno (ravni krov), 90 = okomito (na zidu). Uobičajene vrijednosti za kuće: 20–45.
  • PV_azimuth: orijentacija panela prema stranama svijeta. -180 ili 180 = sjever, -90 = istok, 0 = jug, 90 = zapad. Za panele okrenute prema jugu koristite 0.
  • PV_kWp: ukupna instalirana snaga fotonaponskog sustava u kilovatima vršne snage (npr. 5 za sustav od 5 kWp).

Svih pet parametara sprema se kao varijable modula u TapHome i mogu se promijeniti nakon uvoza bez ponovnog uvoza predloška.

API Forecast.Solar koristi drugačiju konvenciju azimuta od nekih drugih alata. U ovom API-ju 0 = jug, a vrijednosti rastu u smjeru kazaljke na satu (-90 = istok, 90 = zapad, 180/-180 = sjever). Ako prelazite s Home Assistanta (gdje je 180 = jug), od vrijednosti iz HA oduzmite 180.

Koordinate ćete pronaći tako da u Google Maps desnom tipkom miša kliknete na svoju lokaciju i kopirate vrijednosti zemljopisne širine i dužine.

Kako radi

Modul u svakom ciklusu očitavanja šalje jedan HTTP zahtjev:

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

API vraća JSON odgovor s kumulativnim vatsatima za svaki sat (watt_hours), energijom po razdoblju (watt_hours_period), trenutačnom snagom (watts) i dnevnim ukupnim vrijednostima (watt_hours_day). Predložak obrađuje watt_hours i watt_hours_day i iz njih izvodi svih šest vrijednosti uređaja.

Iz metapodataka odgovora čitaju se dva servisna atributa: Lokacija (prepoznati naziv lokacije, npr. „Bratislava, Slovakia”) i Vremenska zona (npr. „Europe/Bratislava”). Vidljivi su u detaljima modula i potvrđuju da je API ispravno prepoznao lokaciju.

Mogućnosti uređaja

Predložak sadrži šest senzora energije koji se mogu samo čitati. Sve su vrijednosti u vatsatima (Wh) i predstavljaju predviđenu proizvodnju solarne elektrane.

Prognoza energije po vremenskim razdobljima

Dan je podijeljen na četiri vremenska razdoblja. Svaki uređaj prikazuje očekivanu proizvodnju energije za to razdoblje:

  • Energija 0–9 h: predviđena proizvodnja od ponoći do 9:00. Čita kumulativnu vrijednost vatsati u 09:00. Na većini lokacija to obuhvaća razdoblje od izlaska sunca do ranog jutra.
  • Energija 9–12 h: predviđena proizvodnja od 9:00 do 12:00. Izračunava se kao razlika kumulativnih vrijednosti u 12:00 i 09:00.
  • Energija 12–15 h: predviđena proizvodnja od 12:00 do 15:00. Izračunava se kao razlika kumulativnih vrijednosti u 15:00 i 12:00. Obično je to razdoblje najveće proizvodnje.
  • Energija 15–0 h: predviđena proizvodnja od 15:00 do kraja dana. Izračunava se kao dnevna ukupna vrijednost umanjena za kumulativnu vrijednost u 15:00. U praksi obuhvaća razdoblje od 15:00 do zalaska sunca, jer proizvodnja nakon mraka pada na nulu.

Zahvaljujući toj podjeli smart rules mogu se vezati uz određene dijelove dana, npr. punjenje baterije u vršnom razdoblju 12–15 h ili odgodu energetski zahtjevnih zadataka na sate s najvećom očekivanom proizvodnjom.

Dnevne ukupne vrijednosti
  • Prognoza solarne energije (danas): ukupna predviđena proizvodnja energije za tekući dan. Izravno čita vrijednost watt_hours_day za današnji datum.
  • Prognoza solarne energije (sutra): ukupna predviđena proizvodnja energije za sljedeći dan. Koristi sutrašnji datum iz istog API odgovora.

Ove ukupne vrijednosti korisne su za dnevno planiranje, npr. za odluku hoće li dizalica topline raditi na solarnu energiju ili na energiju iz mreže, prema očekivanoj solarnoj proizvodnji.

Dodatne mogućnosti

API Forecast.Solar daje i procjene trenutačne snage (vati po razdoblju od 15 minuta), podatke o energiji po razdoblju bez kumulativnog izračuna i vrijeme najveće proizvodnje. Plaćeni paketi dodaju podršku za više orijentacija panela (2–4 plohe), povijesne podatke o proizvodnji, procjene za vedro nebo i faktore prigušenja za korekciju zasjenjenja. Mogu se dodati u budućem ažuriranju predloška.

Primjeri automatizacije

Punjenje baterije prema prognozi

Uređaj Prognoza solarne energije (danas) koristite u smart rule:

  • Uvjet: Prognoza solarne energije (danas) > 15000 (Wh = 15 kWh)
  • Radnja: bateriju prebacite u način „punjenje samo iz solarne elektrane”

Za oblačnih dana, kad je predviđena proizvodnja niska, bateriju umjesto toga prebacite na punjenje iz mreže u satima jeftine tarife.

Planiranje energetski zahtjevnih zadataka

Uređaje za vremenska razdoblja koristite za određivanje najboljeg razdoblja za zadatke s velikom potrošnjom:

  • Uvjet: Energija 12–15 h > 3000 (Wh)
  • Radnja: u 12:00 pokrenite crpku bazena, grijač vode ili punjenje električnog vozila

Rješavanje problema

Svi uređaji prikazuju nulu ili NaN
  1. Provjerite internetsku vezu centralne jedinice TapHome Core: predložak treba izlazni HTTPS pristup na api.forecast.solar
  2. Provjerite odgovara li API: u pregledniku otvorite https://api.forecast.solar/estimate/48.1778/17.1426/45/0/5 (zamijenite svojim parametrima)
  3. Ako greška sadrži statusni kod (npr. „429”), prekoračeno je ograničenje broja zahtjeva. Besplatni paket dopušta 12 zahtjeva na sat: pričekajte da se broj zahtjeva u zadnjih sat vremena smanji
  4. Statusni kod 400 obično znači neispravne koordinate (zemljopisna širina i dužina možda su zamijenjene ili je lokacija na vodi)
Vrijednosti prognoze čine se previsokima ili preniskima
  1. Provjerite odgovara li parametar PV_kWp stvarnoj instaliranoj snazi: izravno skalira sve vrijednosti prognoze
  2. Provjerite PV_declination: vodoravni panel (0) proizvodi manje od optimalno nagnutog panela (30–40 u srednjoj Europi)
  3. Provjerite PV_azimuth: provjerite odgovara li orijentacija stvarnosti. Upamtite: u ovom API-ju 0 = jug
  4. API koristi podatke vremenske prognoze koji možda ne odražavaju lokalne uvjete (obližnje zgrade, drveće, privremeno zasjenjenje). Za korekciju zasjenjenja koristite faktor prigušenja u plaćenom paketu API-ja
Energija 15–0 h prikazuje neočekivano niske vrijednosti

To je očekivano ponašanje. Uređaj „15–0 h” izračunava dnevnu ukupnu vrijednost umanjenu za kumulativnu proizvodnju u 15:00. Budući da proizvodnja solarne elektrane praktički prestaje zalaskom sunca, ova vrijednost predstavlja proizvodnju od 15:00 do zalaska sunca, a ne do ponoći. Zimi, kad sunce rano zalazi, vrijednost može biti vrlo mala.

API Forecast.Solar provodi tromjesečno održavanje 1. dana prvog mjeseca svakog tromjesečja oko ponoći UTC (siječanj, travanj, srpanj, listopad). Tijekom održavanja API vraća HTTP 503, a uređaji privremeno prikazuju greške.

Dostupni uređaji

Forecast.Solar Modul
Servisni atributi
LokacijaNaziv lokacije koji je API odredio iz poslanih koordinata, potvrđuje da je API prepoznao ispravnu lokaciju
Vremenska zonaVremenska zona koju je API odredio za postavljenu lokaciju, služi za ispravno usklađivanje vremenskih oznaka
Prilagođene varijable
Latitude (numeric)Zemljopisna širina solarne elektrane u decimalnim stupnjevima (postavlja se pri uvozu)
Longitude (numeric)Zemljopisna dužina solarne elektrane u decimalnim stupnjevima (postavlja se pri uvozu)
PV_declination (numeric)Kut nagiba fotonaponskih panela u stupnjevima (0 = vodoravno, 90 = okomito)
PV_azimuth (numeric)Orijentacija fotonaponskih panela u stupnjevima (0 = jug, -90 = istok, 90 = zapad, ±180 = sjever)
PV_kWp (numeric)Instalirana vršna snaga fotonaponskog sustava u kilovatima

forecast.solar

Čitanje (modul)
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
Servisni atributi
Place
PARSEJSON(output, "$.message.info.place")
Time zone
PARSEJSON(output, "$.message.info.timezone")
Energija 0–9 h Varijabla Samo za čitanje

Predviđena solarna energija od ponoći do 9:00, kumulativni vatsati u 09:00

numeric Jedinica: Wh json_path

Energija 0–9 h

Čitanje
var date := tostring(NOW(), "yyyy-MM-dd");

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

PARSETEXT(tmp, date + " 09:00:00\":", ",");
Energija 9–12 h Varijabla Samo za čitanje

Predviđena solarna energija od 9:00 do 12:00, razlika kumulativnih vatsati u 12:00 i 09:00

numeric Jedinica: Wh json_path

Energija 9–12 h

Čitanje
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
Energija 12–15 h Varijabla Samo za čitanje

Predviđena solarna energija od 12:00 do 15:00, razlika kumulativnih vatsati u 15:00 i 12:00

numeric Jedinica: Wh json_path

Energija 12–15 h

Čitanje
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
Energija 15–0 h Varijabla Samo za čitanje

Predviđena solarna energija od 15:00 do kraja dana, dnevna ukupna vrijednost umanjena za kumulativne vatsate u 15:00

numeric Jedinica: Wh json_path

Energija 15–0 h

Čitanje
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 solarne energije (danas) Varijabla Samo za čitanje

Ukupna predviđena proizvodnja solarne energije za tekući dan u vatsatima

numeric Jedinica: Wh json_path

Prognoza solarne energije (danas)

Čitanje
var date := tostring(NOW(), "yyyy-MM-dd");

PARSEJSON(output, "$.result.watt_hours_day." + date)
Prognoza solarne energije (sutra) Varijabla Samo za čitanje

Ukupna predviđena proizvodnja solarne energije za sljedeći dan u vatsatima

numeric Jedinica: Wh json_path

Prognoza solarne energije (sutra)

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

PARSEJSON(output, "$.result.watt_hours_day." + date)
Povezivanje: Packet Parser → HTTP
Moguća poboljšanja (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

Izvori

Pronašli ste problem s ovim predloškom uređaja?

Recite nam što ne radi, što nedostaje ili kako bi se predložak trebao ponašati. Vaše povratne informacije pomažu nam da katalog bude točan.

Provjerio TapHome

Želite ovo koristiti u svojoj centralnoj jedinici TapHome Core?

Otvorite ovaj predložak na portalu Customer Portal kako biste ga primijenili na jedan od svojih domova ili predložili poboljšanje i poslali ga natrag u katalog.

Otvorite na portalu