
OpenWeather to dostawca danych pogodowych oferujący globalne informacje meteorologiczne poprzez REST API. Szablon TapHome łączy się z darmowym OpenWeather API v2.5 przez HTTPS i odczytuje aktualne warunki pogodowe, prognozę 3-godzinną i prognozę 24-godzinną dla skonfigurowanej lokalizacji.
Szablon wykonuje dwa wywołania API co 5 minut — jedno dla aktualnej pogody i jedno dla prognozy 5-dniowej/3-godzinnej. Udostępnia 18 urządzeń tylko do odczytu obejmujących temperaturę powietrza, temperaturę odczuwalną, wilgotność, ciśnienie atmosferyczne, widoczność, prędkość wiatru i warunki pogodowe. Wszystkie temperatury podawane są w stopniach Celsjusza (jednostki metryczne), a płatna subskrypcja nie jest wymagana.
Konfiguracja
Uzyskanie klucza API
- Zarejestruj darmowe konto na openweathermap.org — karta kredytowa nie jest wymagana
- Po rejestracji klucz API (APPID) zostanie wysłany w e-mailu potwierdzającym
- Klucz jest również dostępny na stronie konta w zakładce API key
- Nowe klucze aktywują się automatycznie, zazwyczaj w ciągu od 10 minut do 2 godzin
Darmowy plan pozwala na 60 wywołań na minutę i 1 000 000 wywołań miesięcznie. Szablon TapHome wykonuje około 576 wywołań dziennie (2 wywołania co 5 minut), co mieści się w darmowych limitach.
Parametry importu
Podczas importu szablonu w TapHome wymagane są trzy parametry:
| Parametr | Opis | Przykład |
|---|---|---|
latitude | Szerokość geograficzna lokalizacji w stopniach dziesiętnych | 48.1778 |
longitude | Długość geograficzna lokalizacji w stopniach dziesiętnych | 17.1426 |
appid | Klucz API OpenWeather z dashboardu konta | a1b2c3d4e5f6... |
Aby znaleźć współrzędne lokalizacji, kliknij prawym przyciskiem myszy na Google Maps i wybierz współrzędne z menu kontekstowego.
Punkty końcowe API
Moduł łączy się z api.openweathermap.org przez HTTPS (port 443) i wywołuje dwa punkty końcowe w każdym cyklu:
| |
Pierwsze żądanie zwraca aktualne warunki pogodowe. Drugie zwraca listę prognoz, gdzie list[0] to następny 3-godzinny slot, a list[8] to slot +24 godziny (8 x 3h = 24h).
Możliwości urządzeń
Szablon udostępnia 18 urządzeń tylko do odczytu, zorganizowanych w trzech grupach: aktualna pogoda (6 urządzeń), prognoza 3-godzinna (6 urządzeń) i prognoza 24-godzinna (6 urządzeń). Każda grupa zapewnia te same sześć pomiarów.
Temperatura i wilgotność
- Current Air Temperature — aktualna temperatura w stopniach Celsjusza z wilgotnością jako wartością drugorzędną (API zwraca 0–100%, przeliczone na stosunek 0–1 dla TapHome)
- Current Feels Like Temperature — temperatura odczuwalna uwzględniająca chłodzenie wiatrem i wilgotność. Funkcja wilgotności jest wyłączona (zwraca NaN) — używana jest tylko wartość temperatury
- Forecast (+3h) Air Temperature — temperatura i wilgotność dla następnego 3-godzinnego slotu prognozy. Zawiera atrybut serwisowy Forecast Date pokazujący znacznik czasu punktu danych
- Forecast (+3h) Feels Like Temperature — temperatura odczuwalna dla następnego 3-godzinnego slotu
- Forecast (+24h) Air Temperature — temperatura i wilgotność dla slotu prognozy +24h. Zawiera atrybut serwisowy Forecast Date
- Forecast (+24h) Feels Like Temperature — temperatura odczuwalna dla slotu +24h
Ciśnienie atmosferyczne i widoczność
- Current Air Pressure — ciśnienie atmosferyczne w hPa
- Current Visibility — dystans widoczności w metrach (maksymalnie 10 000 m)
- Forecast (+3h) Air Pressure — ciśnienie atmosferyczne dla następnego 3-godzinnego slotu
- Forecast (+3h) Visibility — widoczność dla prognozy 3-godzinnej
- Forecast (+24h) Air Pressure — ciśnienie atmosferyczne dla slotu +24h
- Forecast (+24h) Visibility — widoczność dla prognozy 24-godzinnej
Urządzenia Forecast (+3h) Visibility i Forecast (+24h) Visibility mają zamienione indeksy danych w obecnej wersji szablonu. Urządzenie +3h odczytuje z list[8] (pozycja 24h), a urządzenie +24h odczytuje z list[0] (pozycja 3h). Wartości są odwrócone do czasu poprawki w przyszłej aktualizacji szablonu.
Prędkość wiatru
- Current Wind Speed — prędkość wiatru w m/s
- Forecast (+3h) Wind Speed — prędkość wiatru dla następnego 3-godzinnego slotu
- Forecast (+24h) Wind Speed — prędkość wiatru dla slotu +24h
Warunki pogodowe
Trzy urządzenia przełącznika wielowartościowego wyświetlają kategorię warunków pogodowych:
- Current Weather — aktualne warunki pogodowe
- Forecast (+3h) Weather — warunki pogodowe dla następnego 3-godzinnego slotu
- Forecast (+24h) Weather — warunki pogodowe dla slotu +24h
Każde urządzenie pogodowe mapuje pole API weather[0].main na jedną z 7 kategorii:
| Wartość przełącznika | Etykieta | Grupy pogodowe API |
|---|---|---|
| 0 | Clear | Clear |
| 1 | Clouds | Clouds |
| 2 | Rain | Rain |
| 3 | Drizzle | Drizzle |
| 4 | Thunderstorm | Thunderstorm |
| 5 | Snow | Snow |
| 6 | Atmosphere | Mist, Smoke, Haze, Dust, Fog, Sand, Ash, Squall, Tornado |
Jeśli API zwróci nierozpoznaną grupę pogodową, przełącznik ustawia się domyślnie na 0 (Clear). Wartości przełącznika 7, 8 i 9 są zdefiniowane w konfiguracji szablonu, ale nie mają mapowania w logice skryptu — są to nieużywane elementy zastępcze.
Dodatkowe możliwości
API OpenWeather dostarcza również dane o kierunku wiatru, porywach wiatru, procentowym zachmurzeniu, objętości opadów deszczu i śniegu (1h) oraz godzinach wschodu/zachodu słońca. Wilgotność jest udostępniana jedynie jako wartość drugorzędna na czujnikach temperatury, nie jako samodzielne urządzenie. Te funkcje mogą zostać dodane w przyszłej aktualizacji szablonu.
Rozwiązywanie problemów
Wszystkie urządzenia pokazują NaN lub brak danych
- Sprawdź, czy TapHome Core ma dostęp do internetu — szablon wymaga wychodzącego połączenia HTTPS do
api.openweathermap.org - Zweryfikuj, czy klucz API jest prawidłowy — otwórz
https://api.openweathermap.org/data/2.5/weather?lat=48.18&lon=17.14&appid=YOUR_KEY&units=metricw przeglądarce w celu testu - Nowe klucze API mogą wymagać do 2 godzin na aktywację po rejestracji
- Potwierdź, że wartości szerokości i długości geograficznej są poprawnymi współrzędnymi dziesiętnymi (nie stopnie/minuty/sekundy)
Dane prognozy wydają się nieprawidłowe
API prognozy zwraca dane w 3-godzinnych interwałach. Urządzenia +3h odczytują pierwszy slot prognozy (list[0]), który jest następnym dostępnym 3-godzinnym blokiem — nie dokładnie 3 godziny od teraz. Podobnie urządzenia +24h odczytują list[8] (9. slot), co odpowiada w przybliżeniu 24 godzinom do przodu.
Zwróć uwagę na zamianę indeksów widoczności opisaną w ostrzeżeniu powyżej — jeśli wartości widoczności +3h i +24h wydają się zamienione, jest to znany błąd szablonu.
Literówka w nazwie urządzenia
Urządzenie nr 17 w szablonie nosi nazwę “Forecast (+24h)Weather” (brak spacji przed “Weather”). Jest to problem kosmetyczny w XML szablonu, który nie wpływa na funkcjonalność. Urządzenie jest wyświetlane poprawnie w tabeli urządzeń TapHome z wykorzystaniem wzbogaconej nazwy.
