TapHome

Meteosource Időjárás API

Packet Parser → HTTP
Beküldő
Utoljára frissítve: 04. 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 kulcs a hitelesítéshez (a meteosource.com dashboardon szerezhető be)
lat (string)Az időjárás-helyszín földrajzi szélessége tizedes fokban (importáláskor kerül beállításra)
lon (string)Az időjárás-helyszín földrajzi hosszúsága tizedes fokban (importáláskor kerül beállításra)
tz (string) = Europe/PragueIANA időzóna-azonosító az időbélyegek konvertálásához (pl. 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