TapHome

Meteosource API počasia

Packet Parser → HTTP
Pridal
Posledná aktualizácia: 03. 2026
Meteosource API počasia

Meteosource je globálny poskytovateľ údajov o počasí, ktorý ponúka aktuálne podmienky, predpovede a historické údaje prostredníctvom REST API. Šablóna TapHome sa pripája k bezplatnému tarifu Meteosource API cez HTTPS a načítava aktuálne počasie a dennú predpoveď pre nakonfigurovanú GPS polohu.

Šablóna poskytuje 8 zariadení iba na čítanie, ktoré pokrývajú typ počasia, rýchlosť a smer vetra, aktuálnu teplotu, denné minimálne a maximálne teploty a zrážky (aktuálne aj denné). Modul dopytuje API každých 5 minút a ukladá celú JSON odpoveď do vyrovnávacej pamäte — jednotlivé senzory potom čítajú z vyrovnávacej pamäte v kratších intervaloch. Bezplatný tarif povoľuje 400 volaní za deň a šablóna využíva približne 288 volaní za deň, čo je bezpečne v rámci limitu.

Konfigurácia

Získanie API kľúča
  1. Zaregistrujte si bezplatný účet na meteosource.com/client/sign-up
  2. Po registrácii je API kľúč dostupný v dashboarde účtu
  3. Skopírujte kľúč — budete ho potrebovať pri importe šablóny v TapHome

Bezplatný tarif poskytuje 400 API volaní za deň s limitom 10 požiadaviek za minútu. Šablóna TapHome dopytuje každých 5 minút (288 volaní/deň), čo ponecháva dostatočnú rezervu. Bezplatný tarif vyžaduje uvedenie a spätný odkaz na Meteosource pri komerčnom použití.

Parametre importu

Pri importe šablóny v TapHome sú vyžadované tri parametre:

ParameterPopisPríklad
latitudeZemepisná šírka lokality v desatinných stupňoch48.1778
longitudeZemepisná dĺžka lokality v desatinných stupňoch17.1426
apiKeyAPI kľúč Meteosource z dashboardu účtuabc123def456...

Pre nájdenie súradníc lokality kliknite pravým tlačidlom na Google Maps a vyberte súradnice z kontextového menu.

Premenné modulu

Po importe šablóny je možné upraviť jednu premennú v nastaveniach modulu:

PremennáPopisPredvolená hodnota
tzČasové pásmo vo formáte tzinfoEurope/Prague

Časové pásmo určuje, ako sa interpretujú časové značky v odpovedi API. Používatelia mimo časového pásma CET/CEST by mali túto hodnotu zmeniť tak, aby zodpovedala ich lokalite (napr. America/New_York, Asia/Tokyo, UTC).

API endpoint

Modul sa pripája na www.meteosource.com cez HTTPS (port 443) a volá:

1
GET /api/v1/free/point?lat={lat}&lon={lon}&sections=current,daily&timezone={tz}&language=en&units=ca&key={apiKey}

Šablóna používa jednotkový systém ca (kanadský): Celsius pre teplotu, km/h pre rýchlosť vetra, mm pre zrážky a hPa pre tlak.

Schopnosti zariadení

Typ počasia

Zariadenie Typ počasia je prepínač s viacerými hodnotami, ktorý mapuje pole Meteosource icon_num (hodnoty 1–36) na 7 kategórií počasia TapHome:

Hodnota prepínačaKategóriaIkony Meteosource (deň)Ikony Meteosource (noc)
0Jasno / Slnečno2, 3, 4, 526, 27, 28
1Oblačno / Zamračené6, 7, 829, 30, 31
2Dážď11, 12, 13, 2532, 34, 35, 36
3Mrholenie / Slabý dážď10
4Búrka14, 1533
5Sneh / Námraza16–24
6Hmla9

Ak je číslo ikony 1 alebo nerozpoznané, prepínač sa nastaví na predvolenú hodnotu 1 (Oblačno). Typ počasia sa dopytuje každých 30 minút.

Teplota

Tri teplotné zariadenia poskytujú aktuálne údaje a údaje z predpovede:

  • Temperature — aktuálna teplota vzduchu vo výške 2 m v stupňoch Celzia. Používa dedikovaný typ zariadenia teplotného senzora s hlásením chýb, ak je odpoveď API nedostupná
  • Temperature Max — dnešná predpovedaná maximálna teplota v stupňoch Celzia, načítaná zo sekcie dennej predpovede (daily.data[0])
  • Temperature Min — dnešná predpovedaná minimálna teplota v stupňoch Celzia, načítaná zo sekcie dennej predpovede (daily.data[0])
Vietor
  • Wind Speed — aktuálna rýchlosť vetra vo výške 10 m v km/h (pomocou jednotkového systému ca). Hlási chybu, ak je uložená odpoveď nedostupná
  • Wind Direction — smer vetra v stupňoch (0–360, kde 0/360 = sever, 90 = východ, 180 = juh, 270 = západ). Toto je najrýchlejšie dopytované zariadenie s intervalom 15 sekúnd, čítajúce z uloženej odpovede
Zrážky
  • Precipitation (1-hour) — aktuálne množstvo zrážok v mm. Hlási chybu, ak je uložená odpoveď nedostupná
  • Precipitation (Daily) — dnešné celkové denné predpovedané zrážky v mm, načítané zo sekcie dennej predpovede
Ďalšie schopnosti

Meteosource API tiež poskytuje pocitovú teplotu, nárazy vetra, oblačnosť, atmosférický tlak, vlhkosť, viditeľnosť, UV index, rosný bod, pocit chladu, typ zrážok a textový súhrn počasia pre aktuálne podmienky. Endpoint kvality ovzdušia s PM10, PM2.5, NO2, CO, O3 a AQI je dostupný samostatne. Tieto údaje je možné pridať v budúcej aktualizácii šablóny.

Riešenie problémov

Všetky zariadenia zobrazujú NaN alebo žiadne údaje
  1. Overte, že TapHome Core má prístup na internet — šablóna vyžaduje odchádzajúce HTTPS pripojenie na www.meteosource.com
  2. Skontrolujte, či je API kľúč platný a nebol pregenerovaný
  3. Potvrďte, že hodnoty zemepisnej šírky a dĺžky sú správne desatinné súradnice
  4. Nové API kľúče môžu vyžadovať niekoľko minút na aktiváciu po registrácii
Zastarané alebo oneskorené údaje

Modul dopytuje Meteosource API každých 5 minút a ukladá odpoveď do premennej vyrovnávacej pamäte. Jednotlivé senzory čítajú z tejto vyrovnávacej pamäte v kratších intervaloch (15 sekúnd až 1 minúta). Ak volanie API zlyhá, všetky senzory pokračujú vo vrátení posledných uložených hodnôt až do ďalšieho úspešného dopytu.

Meteosource API je cloudová služba, ktorá vyžaduje aktívne internetové pripojenie na TapHome Core. Počas výpadkov internetu alebo API nedostupnosti šablóna nebude prijímať aktualizované údaje o počasí. Predvolené časové pásmo je Europe/Prague — používatelia v iných regiónoch musia zmeniť premennú modulu tz pre správne lokálne časové značky.

Dostupné zariadenia

Meteosource Modul
Vlastné premenné
apiKey (string)Meteosource API key for authentication (obtain from meteosource.com dashboard)
lat (string)Geographic latitude of the weather location in decimal degrees (set during import)
lon (string)Geographic longitude of the weather location in decimal degrees (set during import)
tz (string) = Europe/PragueIANA timezone identifier for timestamp conversion (e.g. Europe/Prague, America/New_York)

Meteosource

Čítanie (modul)
VAR request := HTTPREQUEST(
	"/api/v1/free/point?lat=" + lat + "&lon=" + lon + "&sections=current,daily&timezone=" + tz + "&language=en&units=ca&key=" + apiKey,
	"GET" 
);
VAR response := SENDHTTPREQUEST(request);
VAR responseHeaders := response.Headers;
IF response.IsSuccess  
  responseJson := response.Content;
END
Typ počasia Viacstavový prepínač Len na čítanie

Stav počasia ako prepínač s viacerými hodnotami — Jasno, Oblačno, Dážď, Mrholenie, Búrka, Sneh, Hmla

integer → mapped Jednotka: category JSON parsejson()
Hodnoty / Stavy: ${weather_clear} · ${weather_clouds} · ${weather_rain} · ${weather_drizzle} · ${weather_thunderstorm} · ${weather_snow} · ${weather_fog}

Typ počasia

Čítanie stavu prepínača
IF(ISNULL(responseJson) | responseJson = "error")
    return(NaN);
END 

VAR weather := PARSEJSON(responseJson, "current.icon_num");
SWITCH(weather, 
2, 0, 3, 0, 4, 0,26,0, 27,0,28,0,
5, 0, 6, 1, 7, 1, 8,1,29,1,30,1,31,1, 
	11,2,12,2,13,2,25,2,32,2,34,2,35,2,36,2,
10,3,
	16,5,17,5,18,5,19,5,20,5,21,5,22,5,23,5,24,5,
14,4,15,4,33,4,
9,6, 
1);
Rýchlosť vetra Premenná Len na čítanie
numeric Jednotka: km/h JSON parsejson()

Rýchlosť vetra

Čítanie
IF(
	ISNULL(responseJson) | responseJson = "error", 
	NaN,
	TODOUBLE(PARSEJSON(responseJson,
		"current.wind.speed"))
);
Čítanie (modul)
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
Smer vetra Premenná Len na čítanie

Smer vetra v stupňoch — 0/360 = sever, 90 = východ, 180 = juh, 270 = západ

numeric Jednotka: ° JSON parsejson()

Smer vetra

Čítanie
IF(
	ISNULL(responseJson) | responseJson = "error", 
	NaN,
	TODOUBLE(PARSEJSON(responseJson,
		"current.wind.angle"))
)
Teplota Teplotný senzor Len na čítanie
numeric Jednotka: °C JSON parsejson()

Teplota

Čítanie (modul)
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
Čítanie teploty
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"current.temperature")))
Teplota max Premenná Len na čítanie

Dnešná predpovedaná maximálna teplota zo sekcie dennej predpovede

numeric Jednotka: °C JSON parsejson()

Teplota max

Čítanie
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"daily.data[0].all_day.temperature_max")))
Teplota min Premenná Len na čítanie

Dnešná predpovedaná minimálna teplota zo sekcie dennej predpovede

numeric Jednotka: °C JSON parsejson()

Teplota min

Čítanie
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"daily.data[0].all_day.temperature_min")))
Zrážky (1 hodina) Premenná Len na čítanie
numeric Jednotka: mm JSON parsejson()

Zrážky (1 hodina)

Čítanie
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"current.precipitation.total")))
Čítanie (modul)
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
Zrážky (denné) Premenná Len na čítanie

Dnešné celkové denné predpovedané zrážky zo sekcie dennej predpovede

numeric Jednotka: mm JSON parsejson()

Zrážky (denné)

Čítanie
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"daily.data[0].all_day.precipitation.total")))
Pripojenie: Packet Parser → HTTP
Možné vylepšenia (12)
  • Feels Like Temperature — Perceived temperature accounting for wind chill and humidity. Float, Celsius with ca units
  • Wind Gusts — Peak wind gust speed at 10m. Float, km/h with ca units
  • Cloud Cover — Total cloud cover percentage. Integer, 0–100%
  • Atmospheric Pressure — Sea level atmospheric pressure. Float, hPa with ca units
  • Relative Humidity — Relative humidity. Integer, 0–100%
  • Visibility — Visibility distance. Float, km with ca units
  • UV Index — UV radiation index. Float, 0–11+ scale
  • Dew Point — Dew point temperature. Float, Celsius with ca units
  • Wind Chill — Wind chill temperature. Float, Celsius with ca units
  • Precipitation Type — Type of precipitation — none, rain, snow, rain_snow, ice_pellets, frozen_rain. String value
  • Weather Summary — Human-readable text description of current weather. Translated per language parameter
  • Air Quality Index — Requires separate /air_quality endpoint. Includes PM10, PM2.5, NO2, CO, O3, AQI (1–6 scale). Not available via Point endpoint

Zdroje