---
title: "OpenWeather"
description: "OpenWeather API integráció a TapHome-hoz — aktuális időjárás, 3 és 24 órás előrejelzés: hőmérséklet, páratartalom, légnyomás, látótávolság, szél."
url: "https://taphome.com/hu/compatibility/openweather/"
language: hu
lastmod: 2026-03-28
generator: hugo
ai:
  topics: ["http","data-service","cloud-api","weather","packet-parser"]
  questions: ["Hogyan integrálhatom az OpenWeathert a TapHome-mal?","Mit nyújt az OpenWeather TapHome sablon?","Hogyan szerezhetek ingyenes OpenWeather API kulcsot a TapHome-hoz?","Milyen időjárási adatokat olvas a TapHome az OpenWeatherből?","Hogyan működik az időjárási körülmények többértékű kapcsolója a TapHome-ban?","Ingyenesen használható az OpenWeather API a TapHome-mal?"]
---

# OpenWeather

Kommunikáció: Packet Parser → HTTP

- [OpenWeather hivatalos weboldal](https://openweathermap.org/)

## Integrációs útmutató

Az OpenWeather egy időjárási adatszolgáltató, amely REST API-n keresztül kínál globális időjárási információkat. A TapHome sablon a ingyenes OpenWeather API v2.5-höz csatlakozik HTTPS-en keresztül, és az aktuális időjárási körülményeket, 3 órás előrejelzést és 24 órás előrejelzést olvassa be egy beállított helyszínre.

A sablon 5 percenként két API hívást végez — egyet az aktuális időjáráshoz és egyet az 5 napos/3 órás előrejelzéshez. 18 csak olvasható eszközt biztosít, amelyek lefedik a léghőmérsékletet, hőérzetet, páratartalmat, légköri nyomást, látótávolságot, szélsebességet és időjárási körülményeket. Minden hőmérséklet Celsius-fokban van (metrikus mértékegységek), és nincs szükség fizetős előfizetésre.

## Konfiguráció

### API kulcs beszerzése

1. Regisztrálj ingyenes fiókot az [openweathermap.org](https://home.openweathermap.org/users/sign_up) oldalon — bankkártya nem szükséges
2. A regisztráció után az API kulcsot (APPID) megerősítő e-mailben küldik el
3. A kulcs a fiók oldalon az **API key** fülön is elérhető
4. Az új kulcsok automatikusan aktiválódnak, jellemzően 10 percen belül, de legfeljebb 2 óra alatt

> [!TIP]
> Az ingyenes szint percenként 60, havonta 1 000 000 hívást engedélyez. A TapHome sablon naponta körülbelül 576 hívást végez (5 percenként 2 hívás), ami bőven az ingyenes limiten belül van.

### Import paraméterek

A sablon TapHome-ba való importálásakor három paraméter szükséges:

| Paraméter | Leírás | Példa |
|-----------|--------|-------|
| `latitude` | A helyszín szélességi foka tizedes fokban | `48.1778` |
| `longitude` | A helyszín hosszúsági foka tizedes fokban | `17.1426` |
| `appid` | OpenWeather API kulcs a fiók dashboardjáról | `a1b2c3d4e5f6...` |

A helyszín koordinátáinak megtalálásához kattints jobb gombbal a [Google Maps](https://maps.google.com) térképen, és válaszd ki a koordinátákat a helyi menüből.

### API végpontok

A modul az `api.openweathermap.org` szerverhez csatlakozik HTTPS-en (443-as port) keresztül, és lekérdezési ciklusonként két végpontot hív meg:

```
GET /data/2.5/weather?units=metric&lat={latitude}&lon={longitude}&appid={AppId}
GET /data/2.5/forecast?units=metric&lat={latitude}&lon={longitude}&appid={AppId}&cnt=9
```

Az első kérés az aktuális időjárási körülményeket adja vissza. A második egy előrejelzési listát, ahol a `list[0]` a következő 3 órás slot, a `list[8]` pedig a +24 órás slot (8 x 3h = 24h).

## Eszközképességek

A sablon 18 csak olvasható eszközt tesz elérhetővé, három csoportba rendezve: aktuális időjárás (6 eszköz), 3 órás előrejelzés (6 eszköz) és 24 órás előrejelzés (6 eszköz). Minden csoport ugyanazt a hat mérést biztosítja.

### Hőmérséklet és páratartalom

- **Current Air Temperature** — aktuális hőmérséklet Celsius-fokban, páratartalommal mint másodlagos értékkel (az API 0–100%-ot ad vissza, a TapHome számára 0–1 arányra konvertálva)
- **Current Feels Like Temperature** — hőérzet, amely figyelembe veszi a szélhűtést és a páratartalmat. A páratartalom képesség ki van kapcsolva (NaN-t ad vissza) — csak a hőmérséklet értéke használt
- **Forecast (+3h) Air Temperature** — hőmérséklet és páratartalom a következő 3 órás előrejelzési slotra. Tartalmaz egy **Forecast Date** szervizattribútumot az adatpont időbélyegével
- **Forecast (+3h) Feels Like Temperature** — hőérzet a következő 3 órás slotra
- **Forecast (+24h) Air Temperature** — hőmérséklet és páratartalom a +24 órás előrejelzési slotra. Tartalmaz egy **Forecast Date** szervizattribútumot
- **Forecast (+24h) Feels Like Temperature** — hőérzet a +24 órás slotra

### Légköri nyomás és látótávolság

- **Current Air Pressure** — légköri nyomás hPa-ban
- **Current Visibility** — látótávolság méterben (maximum 10 000 m)
- **Forecast (+3h) Air Pressure** — légköri nyomás a következő 3 órás slotra
- **Forecast (+3h) Visibility** — látótávolság a 3 órás előrejelzéshez
- **Forecast (+24h) Air Pressure** — légköri nyomás a +24 órás slotra
- **Forecast (+24h) Visibility** — látótávolság a 24 órás előrejelzéshez

> [!WARNING]
> A Forecast (+3h) Visibility és a Forecast (+24h) Visibility eszközök adatindexei a sablon jelenlegi verziójában fel vannak cserélve. A +3h eszköz a list[8]-ból olvas (24 órás pozíció), a +24h eszköz pedig a list[0]-ból (3 órás pozíció). Az értékek fordítva jelennek meg, amíg ezt egy jövőbeli sablonfrissítés nem javítja.

### Szélsebesség

- **Current Wind Speed** — szélsebesség m/s-ban
- **Forecast (+3h) Wind Speed** — szélsebesség a következő 3 órás slotra
- **Forecast (+24h) Wind Speed** — szélsebesség a +24 órás slotra

### Időjárási körülmények

Három többértékű kapcsoló eszköz jeleníti meg az időjárási körülmény kategóriáját:

- **Current Weather** — aktuális időjárási körülmény
- **Forecast (+3h) Weather** — időjárási körülmény a következő 3 órás slotra
- **Forecast (+24h) Weather** — időjárási körülmény a +24 órás slotra

Minden időjárási eszköz az API `weather[0].main` mezőjét képezi le a 7 kategória egyikére:

| Kapcsoló értéke | Címke | API időjárási csoportok |
|-----------------|-------|-------------------------|
| 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 |

Ha az API nem felismert időjárási csoportot ad vissza, a kapcsoló alapértelmezetten 0-ra (Clear) áll. A 7, 8 és 9 kapcsolóértékek a sablon konfigurációjában definiáltak, de a szkriptlogikában nincs hozzárendelésük — nem használt helykitöltők.

### További képességek

Az OpenWeather API emellett biztosít szélirány-, széllökés-, felhőzöttségi százalék-, eső- és hómennyiség (1h), valamint napkelte/napnyugta adatokat is. A páratartalom csak másodlagos értékként érhető el a hőmérséklet-érzékelőkön, nem önálló eszközként. 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 az `api.openweathermap.org` felé
2. Ellenőrizd, hogy az API kulcs érvényes-e — nyisd meg a `https://api.openweathermap.org/data/2.5/weather?lat=48.18&lon=17.14&appid=YOUR_KEY&units=metric` címet a böngészőben teszteléshez
3. Az új API kulcsok aktiválása a regisztrációt követően akár 2 órát is igénybe vehet
4. Győződj meg arról, hogy a szélességi és hosszúsági értékek helyes tizedes koordináták (nem fok/perc/másodperc)

### Az előrejelzési adatok helytelenek

Az előrejelzési API 3 órás intervallumokban adja vissza az adatokat. A +3h eszközök az első előrejelzési slotot olvassák (`list[0]`), ami a következő elérhető 3 órás blokk — nem pontosan 3 órával későbbi. Hasonlóan, a +24h eszközök a `list[8]`-at olvassák (9. slot), ami körülbelül 24 órával előre mutat.

Figyeld meg a fenti figyelmeztetésben leírt látótávolság indexcserét — ha a +3h és +24h látótávolság értékek felcseréltnek tűnnek, ez az ismert sablonhiba.

### Elírás az eszköznévben

A sablon 17. eszközének neve "Forecast (+24h)Weather" (hiányzik a szóköz a "Weather" előtt). Ez egy kozmetikai probléma a sablon XML-ben, és nem befolyásolja a működést. Az eszköz a TapHome eszköztáblázatban helyesen jelenik meg a gazdagított nevével.

## Elérhető eszközök 18

Ezek az eszközök az importálás után jelennek meg a TapHome-ban.

OpenWeather Modul

Egyéni változók

|                      |                                                                                                           |
|----------------------|-----------------------------------------------------------------------------------------------------------|
| `longitude` (string) | Az időjárás-állomás helyének földrajzi hosszúsága tizedes fokokban (importáláskor kerül beállításra)      |
| `latitude` (string)  | Az időjárás-állomás helyének földrajzi szélességi foka tizedes fokokban (importáláskor kerül beállításra) |
| `AppId` (string)     | OpenWeather API-kulcs (ingyenes kulcs szerezhető itt: openweathermap.org/api)                             |

Olvasás (modul)

```taphome
responseJson := "error";
Daily := "error";

VAR path := "data/2.5/weather?units=metric&lat=" + latitude + "&lon=" + longitude + "&appid=" + AppId;
VAR response := SENDHTTPREQUEST(path);

IF response.IsSuccess
    responseJson := response.Content;
ELSE
    VAR contentJson := response.Content;
    VAR errCode := response.StatusCode;
    VAR message := PARSEJSON(contentJson, "message");
    #ADDERROR("Failed to read data - (" + errCode + ") " + message);
END

path := "data/2.5/forecast?units=metric&lat=" + latitude + "&lon=" + longitude + "&appid=" + AppId + "&cnt=9";
response := SENDHTTPREQUEST(path);

IF response.IsSuccess
    Daily := response.Content;
ELSE
    contentJson := response.Content;
    errCode := response.StatusCode;
    message := PARSEJSON(contentJson, "message");
    #ADDERROR("Failed to read data - (" + errCode + ") " + message);
END
```

Aktuális légnyomás Változó Csak olvasható

numeric Egység: hPa json\_path

Olvasás

```taphome
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"main.pressure"))
```

Olvasás (modul)

```taphome
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
```

Aktuális léghőmérséklet Hőmérséklet-érzékelő Csak olvasható

Aktuális hőmérséklet és páratartalom — a páratartalom 100-zal osztva (API 0–100%-ot ad, TapHome 0–1 arányt vár)

numeric Egység: °C json\_path

Páratartalom olvasása

```taphome
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"main.humidity") / 100)
```

Olvasás (modul)

```taphome
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
```

Hőmérséklet olvasása

```taphome
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"main.temp"))
```

Aktuális hőérzet Hőmérséklet-érzékelő Csak olvasható

Érzékelt hőmérséklet szélhűtés és páratartalom figyelembevételével — páratartalom funkció kikapcsolva (NaN-t ad)

numeric Egység: °C json\_path

Páratartalom olvasása

```taphome
NaN
```

Olvasás (modul)

```taphome
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
```

Hőmérséklet olvasása

```taphome
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"main.feels_like"))
```

Aktuális látótávolság Változó Csak olvasható

Látótávolság méterben (maximum 10 000 m)

numeric Egység: m json\_path

Olvasás

```taphome
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"visibility"))
```

Olvasás (modul)

```taphome
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
```

Aktuális időjárás Többértékű kapcsoló Csak olvasható

Időjárási állapot többértékű kapcsolóként — derült, felhős, eső, szitálás, vihar, havazás, légköri jelenség

string multi\_value\_switch

Értékek / Állapotok: Clear · Clouds · Rain · Drizzle · Thunderstorm · Snow · Atmosphere

Kapcsoló állapot olvasása

```taphome
IF(ISNULL(responseJson) | responseJson = "error")
    return(NaN);
END

VAR weather := PARSEJSON(responseJson, "weather[0].main");
SWITCH(weather, "Clear", 0, "Clouds", 1, "Rain", 2, "Drizzle", 3, "Thunderstorm", 4, "Snow", 5, "Mist", 6, "Smoke", 6, "Haze", 6, "Dust", 6, "Fog", 6, "Sand", 6, "Ash", 6, "Squall", 6, "Tornado", 6, 0);
```

Olvasás (modul)

```taphome
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
```

Aktuális szélsebesség Változó Csak olvasható

numeric Egység: m/s json\_path

Olvasás

```taphome
IF(ISNULL(responseJson) | responseJson = "error", NaN, PARSEJSON(responseJson,"wind.speed"))
```

Olvasás (modul)

```taphome
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
```

Előrejelzés (+3h) Légnyomás Változó Csak olvasható

numeric Egység: hPa json\_path

Olvasás

```taphome
IF(ISNULL(Daily) | Daily = "error", NaN, PARSEJSON(Daily,"$.list[0].main.pressure"))
```

Olvasás (modul)

```taphome
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
```

Előrejelzés (+3h) Léghőmérséklet Hőmérséklet-érzékelő Csak olvasható

Hőmérséklet és páratartalom a következő 3 órás előrejelzési slotra — tartalmazza az Előrejelzés dátuma szervizattribútumot

numeric Egység: °C json\_path

Szerviz attribútumok

|                    |                                                                |
|--------------------|----------------------------------------------------------------|
| Előrejelzés dátuma | Az előrejelzési adatpont időbélyege (dt\_txt az API válaszból) |

Páratartalom olvasása

```taphome
IF(ISNULL(Daily) | Daily = "error", NaN, PARSEJSON(Daily,"$.list[0].main.humidity") / 100)
```

Olvasás (modul)

```taphome
IF(ISNULL(Daily) | Daily = "error", ADDERROR("Failed to read data "));
```

Hőmérséklet olvasása

```taphome
IF(ISNULL(Daily) | Daily = "error", NaN, PARSEJSON(Daily,"$.list[0].main.temp"))
```

Szerviz attribútumok

Forecast Date

```taphome
IF(ISNULL(Daily) | Daily = "error", NaN, PARSEJSON(Daily,"$.list[0].dt_txt"))
```

Előrejelzés (+3h) Hőérzet Hőmérséklet-érzékelő Csak olvasható

Érzékelt hőmérséklet a következő 3 órás előrejelzési slotra — páratartalom funkció kikapcsolva (NaN-t ad)

numeric Egység: °C json\_path

Páratartalom olvasása

```taphome
NaN
```

Olvasás (modul)

```taphome
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
```

Hőmérséklet olvasása

```taphome
IF(ISNULL(Daily) | Daily = "error", NaN, PARSEJSON(Daily,"$.list[0].main.feels_like"))
```

Előrejelzés (+3h) Látótávolság Változó Csak olvasható

Ismert probléma: list\[8]-ból olvas list\[0] helyett — a látótávolság értékek fel vannak cserélve az Előrejelzés (+24h)-val

numeric Egység: m json\_path

Olvasás

```taphome
IF(ISNULL(Daily) | Daily = "error", NaN, PARSEJSON(Daily,"$.list[8].visibility"))
```

Olvasás (modul)

```taphome
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
```

Előrejelzés (+3h) Időjárás Többértékű kapcsoló Csak olvasható

Időjárási állapot a következő 3 órás előrejelzési slotra — azonos 7 kategóriás leképezés mint az Aktuális időjárás

string multi\_value\_switch

Értékek / Állapotok: Clear · Clouds · Rain · Drizzle · Thunderstorm · Snow · Atmosphere

Kapcsoló állapot olvasása

```taphome
IF(ISNULL(Daily) | Daily = "error")
    return(NaN);
END

VAR weather := PARSEJSON(Daily, "$.list[0].weather[0].main");
SWITCH(weather, "Clear", 0, "Clouds", 1, "Rain", 2, "Drizzle", 3, "Thunderstorm", 4, "Snow", 5, "Mist", 6, "Smoke", 6, "Haze", 6, "Dust", 6, "Fog", 6, "Sand", 6, "Ash", 6, "Squall", 6, "Tornado", 6, 0);
```

Olvasás (modul)

```taphome
IF(ISNULL(Daily) | Daily = "error", ADDERROR("Failed to read data "));
```

Előrejelzés (+3h) Szélsebesség Változó Csak olvasható

numeric Egység: m/s json\_path

Olvasás

```taphome
IF(ISNULL(Daily) | Daily = "error", NaN, PARSEJSON(Daily,"$.list[0].wind.speed"))
```

Olvasás (modul)

```taphome
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
```

Előrejelzés (+24h) Légnyomás Változó Csak olvasható

numeric Egység: hPa json\_path

Olvasás

```taphome
IF(ISNULL(Daily) | Daily = "error", NaN, PARSEJSON(Daily,"$.list[8].main.pressure"))
```

Olvasás (modul)

```taphome
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
```

Előrejelzés (+24h) Léghőmérséklet Hőmérséklet-érzékelő Csak olvasható

Hőmérséklet és páratartalom a +24 órás előrejelzési slotra — tartalmazza az Előrejelzés dátuma szervizattribútumot

numeric Egység: °C json\_path

Szerviz attribútumok

|                    |                                                                |
|--------------------|----------------------------------------------------------------|
| Előrejelzés dátuma | Az előrejelzési adatpont időbélyege (dt\_txt az API válaszból) |

Páratartalom olvasása

```taphome
IF(ISNULL(Daily) | Daily = "error", NaN, PARSEJSON(Daily,"$.list[8].main.humidity") / 100)
```

Olvasás (modul)

```taphome
IF(ISNULL(Daily) | Daily = "error", ADDERROR("Failed to read data "));
```

Hőmérséklet olvasása

```taphome
IF(ISNULL(Daily) | Daily = "error", NaN, PARSEJSON(Daily,"$.list[8].main.temp"))
```

Szerviz attribútumok

Forecast Date

```taphome
IF(ISNULL(Daily) | Daily = "error", NaN, PARSEJSON(Daily,"$.list[8].dt_txt"))
```

Előrejelzés (+24h) Hőérzet Hőmérséklet-érzékelő Csak olvasható

Érzékelt hőmérséklet a +24 órás előrejelzési slotra — páratartalom funkció kikapcsolva (NaN-t ad)

numeric Egység: °C json\_path

Páratartalom olvasása

```taphome
NaN
```

Olvasás (modul)

```taphome
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
```

Hőmérséklet olvasása

```taphome
IF(ISNULL(Daily) | Daily = "error", NaN, PARSEJSON(Daily,"$.list[8].main.feels_like"))
```

Előrejelzés (+24h) Látótávolság Változó Csak olvasható

Ismert probléma: list\[0]-ból olvas list\[8] helyett — a látótávolság értékek fel vannak cserélve az Előrejelzés (+3h)-val

numeric Egység: m json\_path

Olvasás

```taphome
IF(ISNULL(Daily) | Daily = "error", NaN, PARSEJSON(Daily,"$.list[0].visibility"))
```

Olvasás (modul)

```taphome
IF(ISNULL(responseJson) | responseJson = "error", ADDERROR("Failed to read data "));
```

Előrejelzés (+24h) Szélsebesség Változó Csak olvasható

numeric Egység: m/s json\_path

Olvasás

```taphome
IF(ISNULL(Daily) | Daily = "error", NaN, PARSEJSON(Daily,"$.list[8].wind.speed"))
```

Előrejelzés (+24h) Időjárás Többértékű kapcsoló Csak olvasható

Időjárási állapot a +24 órás előrejelzési slotra — azonos 7 kategóriás leképezés mint az Aktuális időjárás

string multi\_value\_switch

Értékek / Állapotok: Clear · Clouds · Rain · Drizzle · Thunderstorm · Snow · Atmosphere

Kapcsoló állapot olvasása

```taphome
IF(ISNULL(Daily) | Daily = "error")
    return(NaN);
END

VAR weather := PARSEJSON(Daily, "$.list[8].weather[0].main");
SWITCH(weather, "Clear", 0, "Clouds", 1, "Rain", 2, "Drizzle", 3, "Thunderstorm", 4, "Snow", 5, "Mist", 6, "Smoke", 6, "Haze", 6, "Dust", 6, "Fog", 6, "Sand", 6, "Ash", 6, "Squall", 6, "Tornado", 6, 0);
```

**Kapcsolat:** Packet Parser → HTTP

Lehetséges fejlesztések (7)

- Current Humidity (standalone) — Humidity is only exposed as secondary value on temperature sensors, not as standalone device
- Wind Direction — Wind direction in degrees available in API but not implemented in template
- Wind Gust — Wind gust speed available in API but not implemented in template
- Cloudiness — Cloudiness percentage available in API but not implemented
- Rain Volume (1h) — Rain volume for last 1 hour in mm, available in API
- Snow Volume (1h) — Snow volume for last 1 hour in mm, available in API
- Sunrise / Sunset — Unix timestamps for sunrise and sunset available in API

## Importálási paraméterek

Ezeket az értékeket az XML importálásakor adja meg.

| Az alkalmazás kéri         | Alapérték |
|----------------------------|-----------|
| latitude                   | `48.1778` |
| longitude                  | `17.1426` |
| OpenWeather application id | `appid`   |

## Források

- Current Weather Data API 2.5
  
  [openweathermap.org](https://openweathermap.org/current) 2026-03-28
- 5 Day / 3 Hour Forecast API
  
  [openweathermap.org](https://openweathermap.org/forecast5) 2026-03-28
- Weather Condition Codes
  
  [openweathermap.org](https://openweathermap.org/weather-conditions) 2026-03-28
- API Key Setup Guide
  
  [openweathermap.org](https://openweathermap.org/appid) 2026-03-28

## Kapcsolódó dokumentáció

- [Packet Parser integráció](https://taphome.com/hu/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/hu/docs/integration/packet-parser/)
- [Packet parser függvények](https://taphome.com/hu/docs/script/packet-parser/)
- [Elemző függvények](https://taphome.com/hu/docs/script/parsing-functions/)

