
OpenWeather je pružatelj vremenskih podataka koji preko REST API-ja nudi vremenske informacije za cijeli svijet. Predložak TapHome spaja se preko HTTPS-a na besplatni API OpenWeather v2.5 i za postavljenu lokaciju očitava trenutačne vremenske uvjete, prognozu za 3 sata i prognozu za 24 sata.
Predložak svakih 5 minuta šalje dva poziva API-ju: jedan za trenutačno vrijeme i jedan za prognozu za 5 dana u koracima od 3 sata. Daje 18 uređaja samo za čitanje: temperaturu zraka, osjetnu temperaturu, vlažnost, atmosferski tlak, vidljivost, brzinu vjetra i vremenske uvjete. Sve temperature su u Celzijevim stupnjevima (metričke jedinice), a plaćena pretplata nije potrebna.
Konfiguracija
Dobivanje API ključa
- Registrirajte besplatni korisnički račun na openweathermap.org — kreditna kartica nije potrebna
- Nakon registracije API ključ (APPID) stiže u e-poruci s potvrdom
- Ključ je dostupan i na stranici korisničkog računa, na kartici API key
- Novi ključevi aktiviraju se automatski, obično u roku od 10 minuta do 2 sata
Besplatni paket dopušta 60 poziva u minuti i 1 000 000 poziva mjesečno. Predložak TapHome šalje približno 576 poziva dnevno (2 poziva svakih 5 minuta), što je znatno ispod ograničenja besplatnog paketa.
Parametri uvoza
Pri uvozu predloška u TapHome potrebna su tri parametra:
| Parametar | Opis | Primjer |
|---|---|---|
latitude | Zemljopisna širina lokacije u decimalnim stupnjevima | 48.1778 |
longitude | Zemljopisna dužina lokacije u decimalnim stupnjevima | 17.1426 |
appid | API ključ OpenWeather iz korisničkog računa (dashboard) | a1b2c3d4e5f6... |
Koordinate lokacije pronaći ćete tako da u Google Maps desnom tipkom miša kliknete na mjesto i u kontekstnom izborniku odaberete koordinate.
Krajnje točke API-ja
Modul se spaja na api.openweathermap.org preko HTTPS-a (port 443) i u svakom ciklusu očitavanja poziva dvije krajnje točke:
| |
Prvi zahtjev vraća trenutačne vremenske uvjete. Drugi vraća popis prognoza u kojem je list[0] sljedeći termin od 3 sata, a list[8] termin za +24 sata (8 x 3 h = 24 h).
Mogućnosti uređaja
Predložak daje 18 uređaja samo za čitanje podijeljenih u tri skupine: trenutačno vrijeme (6 uređaja), prognoza za 3 sata (6 uređaja) i prognoza za 24 sata (6 uređaja). Svaka skupina daje istih šest mjerenja.
Temperatura i vlažnost
- Trenutačna temperatura zraka — trenutačna temperatura u Celzijevim stupnjevima s vlažnošću kao drugom vrijednošću (API vraća 0–100 %, a za TapHome se pretvara u omjer 0–1)
- Trenutačna osjetna temperatura — prividna temperatura koja uzima u obzir hlađenje vjetrom i vlažnost. Mjerenje vlažnosti je isključeno (vraća NaN), koristi se samo vrijednost temperature
- Prognoza (+3 h) temperature zraka — temperatura i vlažnost za sljedeći termin prognoze od 3 sata. Uključuje servisni atribut Datum prognoze s vremenskom oznakom podatka
- Prognoza (+3 h) osjetne temperature — osjetna temperatura za sljedeći termin od 3 sata
- Prognoza (+24 h) temperature zraka — temperatura i vlažnost za termin prognoze +24 h. Uključuje servisni atribut Datum prognoze
- Prognoza (+24 h) osjetne temperature — osjetna temperatura za termin +24 h
Atmosferski tlak i vidljivost
- Trenutačni tlak zraka — atmosferski tlak u hPa
- Trenutačna vidljivost — vidljivost u metrima (najviše 10 000 m)
- Prognoza (+3 h) tlaka zraka — atmosferski tlak za sljedeći termin od 3 sata
- Prognoza (+3 h) vidljivosti — vidljivost za prognozu od 3 sata
- Prognoza (+24 h) tlaka zraka — atmosferski tlak za termin +24 h
- Prognoza (+24 h) vidljivosti — vidljivost za prognozu od 24 sata
Uređaji Prognoza (+3 h) vidljivosti i Prognoza (+24 h) vidljivosti u trenutačnoj verziji predloška imaju zamijenjene indekse podataka. Uređaj +3 h čita iz list[8] (položaj za 24 h), a uređaj +24 h čita iz list[0] (položaj za 3 h). Vrijednosti su zamijenjene dok se to ne ispravi u nekom budućem ažuriranju predloška.
Brzina vjetra
- Trenutačna brzina vjetra — brzina vjetra u m/s
- Prognoza (+3 h) brzine vjetra — brzina vjetra za sljedeći termin od 3 sata
- Prognoza (+24 h) brzine vjetra — brzina vjetra za termin +24 h
Vremenski uvjeti
Tri uređaja s prekidačem s više vrijednosti prikazuju kategoriju vremenskih uvjeta:
- Trenutačno vrijeme — trenutačni vremenski uvjeti
- Prognoza (+3 h) vremena — vremenski uvjeti za sljedeći termin od 3 sata
- Prognoza (+24 h) vremena — vremenski uvjeti za termin +24 h
Svaki od tih uređaja preslikava polje API-ja weather[0].main u jednu od 7 kategorija:
| Vrijednost prekidača | Oznaka | Skupine vremenskih uvjeta u API-ju |
|---|---|---|
| 0 | Vedro | Clear |
| 1 | Oblačno | Clouds |
| 2 | Kiša | Rain |
| 3 | Rosulja | Drizzle |
| 4 | Grmljavina | Thunderstorm |
| 5 | Snijeg | Snow |
| 6 | Atmosferske pojave | Mist, Smoke, Haze, Dust, Fog, Sand, Ash, Squall, Tornado |
Ako API vrati nepoznatu skupinu vremenskih uvjeta, prekidač se postavlja na 0 (Vedro). Vrijednosti prekidača 7, 8 i 9 definirane su u konfiguraciji predloška, ali u logici skripte nemaju preslikavanje — to su neiskorištena rezervirana mjesta.
Dodatne mogućnosti
API OpenWeather daje i smjer vjetra, udare vjetra, postotak naoblake, količinu kiše i snijega (1 h) te vrijeme izlaska i zalaska sunca. Vlažnost je dostupna samo kao druga vrijednost na senzorima temperature, a ne kao zaseban uređaj. Mogu se dodati u nekom budućem ažuriranju predloška.
Rješavanje problema
Svi uređaji prikazuju NaN ili nemaju podataka
- Provjerite ima li TapHome Core pristup internetu — predložak zahtijeva odlaznu HTTPS vezu prema
api.openweathermap.org - Provjerite je li API ključ valjan — za test u pregledniku otvorite
https://api.openweathermap.org/data/2.5/weather?lat=48.18&lon=17.14&appid=YOUR_KEY&units=metric - Aktivacija novih API ključeva može potrajati do 2 sata nakon registracije
- Provjerite jesu li zemljopisna širina i dužina ispravne decimalne koordinate (ne stupnjevi/minute/sekunde)
Podaci prognoze čine se netočnima
API za prognozu vraća podatke u koracima od 3 sata. Uređaji +3 h čitaju prvi termin prognoze (list[0]), a to je sljedeći dostupni blok od 3 sata, ne točno 3 sata od sada. Slično tome, uređaji +24 h čitaju list[8] (9. termin), što je otprilike 24 sata unaprijed.
Imajte na umu zamjenu indeksa vidljivosti opisanu u upozorenju iznad — ako se čini da su vrijednosti vidljivosti +3 h i +24 h zamijenjene, riječ je o poznatoj grešci predloška.
Pogreška u nazivu uređaja
Uređaj br. 17 u predlošku nazvan je „Forecast (+24h)Weather” (nedostaje razmak ispred „Weather”). To je kozmetički problem u XML-u predloška i ne utječe na rad. Uređaj se u tablici uređaja TapHome prikazuje ispravno, pod dopunjenim nazivom.
