TapHome

Meteosource Időjárás API

Packet Parser → HTTP
Beküldő
Utoljára frissítve: 03. 2026
Meteosource Időjárás API

A Meteosource egy globális időjárási adatszolgáltató, amely aktuális körülményeket, előrejelzéseket és történeti adatokat kínál REST API-n keresztül. A TapHome sablon a Meteosource ingyenes tarifájú API-jához csatlakozik HTTPS-en, és beolvassa az aktuális időjárást és a napi előrejelzést egy beállított GPS-helyre.

A sablon 8 csak olvasható eszközt biztosít, amelyek lefedik az időjárástípust, a szélsebességet és -irányt, az aktuális hőmérsékletet, a napi minimális és maximális hőmérsékleteket, valamint a csapadékot (aktuális és napi). A modul 5 percenként kérdezi le az API-t, és a teljes JSON-választ gyorsítótárban tárolja — az egyes szenzorok ezután rövidebb időközönként olvassák a gyorsítótárat. Az ingyenes tarifa napi 400 hívást engedélyez, és a sablon körülbelül napi 288 hívást használ, ami bőven a korláton belül van.

Beállítás

API-kulcs beszerzése
  1. Regisztrálj egy ingyenes fiókot a meteosource.com/client/sign-up oldalon
  2. Regisztráció után az API-kulcs elérhető a fiók kezelőfelületén
  3. Másold ki a kulcsot — szükség lesz rá a sablon TapHome-ba történő importálásakor

Az ingyenes tarifa napi 400 API-hívást biztosít, percenként 10 kérés korláttal. A TapHome sablon 5 percenként kérdez le (288 hívás/nap), ami kényelmes tartalékot hagy. Az ingyenes tarifa kereskedelmi használat esetén a Meteosource megemlítését és visszahivatkozást igényel.

Import paraméterek

A sablon TapHome-ba történő importálásakor három paraméter szükséges:

ParaméterLeírásPélda
latitudeHely szélességi foka tizedes fokban48.1778
longitudeHely hosszúsági foka tizedes fokban17.1426
apiKeyMeteosource API-kulcs a fiók kezelőfelületérőlabc123def456...

A hely koordinátáinak megkereséséhez kattints jobb gombbal a Google Maps oldalon, és válaszd ki a koordinátákat a helyi menüből.

Modulváltozók

A sablon importálása után egy változó állítható be a modul beállításaiban:

VáltozóLeírásAlapértelmezett
tzIdőzóna tzinfo formátumbanEurope/Prague

Az időzóna határozza meg, hogyan értelmezi a rendszer az API-válaszban lévő időbélyegeket. A CET/CEST időzónán kívüli felhasználóknak ezt az értéket a saját helyüknek megfelelőre kell módosítaniuk (pl. America/New_York, Asia/Tokyo, UTC).

API-végpont

A modul a www.meteosource.com szerverhez csatlakozik HTTPS-en (443-as port) és a következőt hívja:

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

A sablon a ca (kanadai) mértékegységrendszert használja: Celsius hőmérséklethez, km/h szélsebességhez, mm csapadékhoz és hPa nyomáshoz.

Eszközképességek

Időjárástípus

Az Időjárástípus eszköz egy többértékű kapcsoló, amely a Meteosource icon_num mezőjét (1–36 értékek) 7 TapHome időjáráskategóriára képezi le:

KapcsolóértékKategóriaMeteosource ikonok (nappal)Meteosource ikonok (éjszaka)
0Derült / Napos2, 3, 4, 526, 27, 28
1Felhős / Borult6, 7, 829, 30, 31
2Eső11, 12, 13, 2532, 34, 35, 36
3Szitálás / Enyhe eső10
4Zivatar14, 1533
5Hó / Fagyás16–24
6Köd9

Ha az ikonszám 1 vagy ismeretlen, a kapcsoló az alapértelmezett 1 (Felhős) értékre áll. Az időjárástípus 30 percenként frissül.

Hőmérséklet

Három hőmérséklet-eszköz biztosít aktuális és előrejelzési adatokat:

  • Temperature — aktuális léghőmérséklet 2 m magasságban, Celsiusban. Dedikált hőmérsékletszenzor eszköztípust használ hibajelentéssel, ha az API-válasz nem elérhető
  • Temperature Max — a mai előrejelzett maximális hőmérséklet Celsiusban, a napi előrejelzési szekcióból (daily.data[0])
  • Temperature Min — a mai előrejelzett minimális hőmérséklet Celsiusban, a napi előrejelzési szekcióból (daily.data[0])
Szél
  • Wind Speed — aktuális szélsebesség 10 m magasságban km/h-ban (a ca mértékegységrendszer használatával). Hibát jelent, ha a gyorsítótárazott válasz nem elérhető
  • Wind Direction — szélirány fokban (0–360, ahol 0/360 = észak, 90 = kelet, 180 = dél, 270 = nyugat). Ez a leggyakrabban lekérdezett eszköz 15 másodperces időközönként, a gyorsítótárazott válaszból olvas
Csapadék
  • Precipitation (1-hour) — aktuális csapadékmennyiség mm-ben. Hibát jelent, ha a gyorsítótárazott válasz nem elérhető
  • Precipitation (Daily) — a mai teljes napi előrejelzett csapadék mm-ben, a napi előrejelzési szekcióból
További képességek

A Meteosource API emellett biztosít hőérzetet, széllökéseket, felhőborítottságot, légnyomást, páratartalmat, látótávolságot, UV-indexet, harmatpontot, szélhűlést, csapadéktípust és szöveges időjárás-összefoglalót az aktuális körülményekhez. Egy légszennyezettségi végpont PM10, PM2.5, NO2, CO, O3 és AQI értékekkel külön elérhető. Ezek egy jövőbeli sablonfrissítésben adhatók hozzá.

Hibaelhárítás

Minden eszköz NaN-t vagy semmilyen adatot nem mutat
  1. Ellenőrizd, hogy a TapHome Core rendelkezik internet-hozzáféréssel — a sablon kimenő HTTPS-kapcsolatot igényel a www.meteosource.com felé
  2. Ellenőrizd, hogy az API-kulcs érvényes és nem lett újragenerálva
  3. Győződj meg róla, hogy a szélességi és hosszúsági fok értékek helyes tizedes koordináták
  4. Az új API-kulcsok regisztráció után néhány percet igényelhetnek az aktiváláshoz
Elavult vagy késleltetett értékek

A modul 5 percenként kérdezi le a Meteosource API-t, és a választ egy gyorsítótár-változóban tárolja. Az egyes szenzorok rövidebb időközönként (15 másodperc – 1 perc) olvasnak ebből a gyorsítótárból. Ha az API-hívás sikertelen, minden szenzor az utolsó gyorsítótárazott értékeit adja vissza a következő sikeres lekérdezésig.

A Meteosource API egy felhőszolgáltatás, amely aktív internetkapcsolatot igényel a TapHome Core-on. Internetkimaradás vagy API-leállás esetén a sablon nem kap frissített időjárási adatokat. Az alapértelmezett időzóna Europe/Prague — a más régiókban lévő felhasználóknak módosítaniuk kell a tz modulváltozót a helyes helyi időbélyegekhez.

Elérhető eszközök

Meteosource Modul
Egyéni változók
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

Olvasás (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
Időjárástípus Többértékű kapcsoló Csak olvasható

Időjárási állapot multi-value switchként — Derült, Felhős, Eső, Szitálás, Zivatar, Hó, Köd

integer → mapped Egység: category JSON parsejson()
Értékek / Állapotok: ${weather_clear} · ${weather_clouds} · ${weather_rain} · ${weather_drizzle} · ${weather_thunderstorm} · ${weather_snow} · ${weather_fog}

Időjárástípus

Kapcsoló állapot olvasása
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);
Szélsebesség Változó Csak olvasható
numeric Egység: km/h JSON parsejson()

Szélsebesség

Olvasás
IF(
	ISNULL(responseJson) | responseJson = "error", 
	NaN,
	TODOUBLE(PARSEJSON(responseJson,
		"current.wind.speed"))
);
Olvasás (modul)
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
Szélirány Változó Csak olvasható

Szélirány fokban — 0/360 = észak, 90 = kelet, 180 = dél, 270 = nyugat

numeric Egység: ° JSON parsejson()

Szélirány

Olvasás
IF(
	ISNULL(responseJson) | responseJson = "error", 
	NaN,
	TODOUBLE(PARSEJSON(responseJson,
		"current.wind.angle"))
)
Hőmérséklet Hőmérséklet-érzékelő Csak olvasható
numeric Egység: °C JSON parsejson()

Hőmérséklet

Olvasás (modul)
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
Hőmérséklet olvasása
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"current.temperature")))
Hőmérséklet max Változó Csak olvasható

Mai előrejelzett maximális hőmérséklet a napi előrejelzés szekcióból

numeric Egység: °C JSON parsejson()

Hőmérséklet max

Olvasás
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"daily.data[0].all_day.temperature_max")))
Hőmérséklet min Változó Csak olvasható

Mai előrejelzett minimális hőmérséklet a napi előrejelzés szekcióból

numeric Egység: °C JSON parsejson()

Hőmérséklet min

Olvasás
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"daily.data[0].all_day.temperature_min")))
Csapadék (1 óra) Változó Csak olvasható
numeric Egység: mm JSON parsejson()

Csapadék (1 óra)

Olvasás
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"current.precipitation.total")))
Olvasás (modul)
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
Csapadék (napi) Változó Csak olvasható

Mai teljes napi előrejelzett csapadék a napi előrejelzés szekcióból

numeric Egység: mm JSON parsejson()

Csapadék (napi)

Olvasás
IF(ISNULL(responseJson) | responseJson = "error", NaN, TODOUBLE(PARSEJSON(responseJson,"daily.data[0].all_day.precipitation.total")))
Kapcsolat: Packet Parser → HTTP
Lehetséges fejlesztések (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

Források