---
title: "OpenHolidays API"
description: "OpenHolidays API integráció a TapHome-hoz. Ünnepnapok és iskolai szünetek lekérdezése 35+ országra HTTP-n keresztül — fűtés, világítás és riasztási."
url: "https://taphome.com/hu/compatibility/openholidays/"
language: hu
lastmod: 2026-03-28
generator: hugo
ai:
  topics: ["http","other","rest-api","holiday-detection","scheduling"]
  questions: ["Hogyan integrálható az OpenHolidays API a TapHome-mal?","Hogyan ismeri fel a TapHome automatikusan az ünnepnapokat?","Hogyan konfigurálhatók az ország- és régiókódok az OpenHolidays-hoz a TapHome-ban?","Miért mutat helytelen eredményeket az ünnepnap eszköz?","Mi a különbség az IsPublicHoliday és az IsSchoolHoliday között a TapHome-ban?","Képes a TapHome fűtési ütemezéseket módosítani ünnepnapok alapján?"]
---

# OpenHolidays API

Kommunikáció: Packet Parser → HTTP

- [OpenHolidays API weboldal](https://www.openholidaysapi.org)

## Integrációs útmutató

Az OpenHolidays API egy ingyenes, nyílt forráskódú REST API, amely ünnepnapokról és iskolai szünetekről szolgáltat adatokat több mint 35 ország számára. A TapHome HTTPS-en keresztül csatlakozik ehhez a felhőszolgáltatáshoz egy PacketParser HTTP sablon segítségével — nem szükséges hitelesítés vagy API kulcs.

A sablon három csak olvasható logikai eszközt biztosít: egyet az ünnepnapokhoz, egyet az iskolai szünetekhez és egyet a hétvégékhez. Ezek felhasználhatók TapHome smart rules-ban fűtési ütemezések, riasztási módok, világítási jelenetek vagy bármilyen más automatizáció testreszabásához annak alapján, hogy ma munkanap-e vagy sem.

A sablont ToBo, egy közösségi hozzájáruló készítette.

## Konfiguráció

A sablon importálásakor két paraméter szükséges:

- **Country** — ISO 3166-1 alpha-2 országkód (pl. `SK` Szlovákia, `DE` Németország, `CZ` Csehország esetén). A támogatott országok teljes listája a `https://openholidaysapi.org/Countries` címen érhető el.
- **Region** — ISO 3166-2 alegységkód (pl. `SK-BC` a Besztercebányai kerület, `DE-BY` Bajorország esetén). Egy adott ország alegységeinek listája a `https://openholidaysapi.org/Subdivisions?countryIsoCode={CountryCode}` címen érhető el.

Mindkét paraméter Module Variables-ként van tárolva a TapHome-ban, és az importálás után a sablon újraimportálása nélkül módosíthatók.

> [!TIP]
> Sok országban vannak régióspecifikus ünnepnapok. Ha az ünnepnap-felismerés helytelennek tűnik, ellenőrizd, hogy az alegységkód a helyes régiónak felel-e meg — ne csak az országkódot.

## Eszközképességek

### Ünnepnap-felismerés

Az Ünnepnap eszköz óránként lekérdezi a `GET /PublicHolidays` végpontot. Elküldi a mai dátumot a beállított ország- és régiókódokkal együtt. Ha az API ünnepnap-bejegyzést ad vissza az adott dátumra, az eszköz **Yes** értéket mutat; ellenkező esetben **No** értéket.

### Iskolai szünet felismerés

Az Iskolai szünet eszköz ugyanúgy működik, de a `GET /SchoolHolidays` végpontot kérdezi le. Felismeri, hogy a mai nap iskolai szüneti időszakba esik-e a beállított ország és régió szerint.

> [!NOTE]
> Az iskolai szüneti adatok elérhetősége országonként változik. Egyes országoknál korlátozott az alegységek lefedettsége — ellenőrizd az API dokumentációt, hogy a régiód támogatott-e.

### Hétvége-felismerés

A Hétvége eszköz nem hívja meg az API-t. A TapHome helyi `NOW().DAYOFWEEK` függvényét használja annak megállapítására, hogy ma szombat (6. nap) vagy vasárnap (0. nap)-e. Ez az eszköz az API-tól függetlenül működik, és nem igényel internetkapcsolatot.

### További képességek

Az OpenHolidays API emellett végpontokat biztosít ünnepnapok lekérdezéséhez egy adott dátumra az összes országban (`/PublicHolidaysByDate`, `/SchoolHolidaysByDate`), a támogatott országok és regionális alegységek listázásához, valamint az elérhető adattartományokról szóló statisztikák lekéréséhez. Ezek egy jövőbeli sablon-frissítésben adhatók hozzá.

## Hibaelhárítás

### Az ünnepnap-felismerés helytelen eredményeket ad

1. Ellenőrizd, hogy az országkód helyes-e — a `/Countries` végpont segítségével tekintsd meg a támogatott országok listáját
2. Ellenőrizd a régió (alegység) kódját — egyes ünnepnapok régióspecifikusak, és nem jelennek meg helytelen alegységkóddal
3. Ellenőrizd az API-t közvetlenül a böngészőben: `https://openholidaysapi.org/PublicHolidays?countryIsoCode=SK&subdivisionCode=SK-BC&validFrom=2026-01-01&validTo=2026-01-01` — cseréld le a dátumot és kódokat a saját értékeidre
4. Ha az API üres tömböt `[]` ad vissza egy olyan dátumra, amely ünnepnap kellene hogy legyen, az adatok az adott országra vagy évre esetleg még nem állnak rendelkezésre

### Az eszköz hibát mutat (NaN)

Ha az API nem érhető el (hálózati probléma, DNS-hiba vagy API-leállás), a sablon NaN értéket ad vissza a HTTP státuszkóddal a hibaüzenetben. Az OpenHolidays API egy közösségi projekt SLA nélkül — az aktuális elérhetőséget a `https://openpotato.github.io/uptime/` státuszoldalon ellenőrizheted.

> [!WARNING]
> Az OpenHolidays API egy közösség által karbantartott nyílt adatprojekt. Bár megbízhatóan elérhető, nincs rendelkezésre állási garancia. Kritikus fontosságú automatizációkhoz érdemes egy tartalék szabályt hozzáadni, amely elegánsan kezeli a hibás állapotot.

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

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

OpenHolidays Modul

Egyéni változók

`Country` (string) ISO 3166-1 alpha-2 országkód (pl. SK, DE, CZ)

Full list at openholidaysapi.org/Countries

`Region` (string) ISO 3166-2 területi egységkód (pl. SK-BC, DE-BY)

List at openholidaysapi.org/Subdivisions?countryIsoCode={CountryCode}

Ünnepnap Kapcsoló Csak olvasható

Óránként lekérdezi az OpenHolidays API-t — Igen, ha ma ünnepnap a beállított ország és régió szerint, egyébként Nem

boolean json\_path

Értékek / Állapotok: Yes · No

Kapcsoló állapot olvasása

```taphome
var dt := NOW();
var date := dt.YEAR + "-" + dt.MONTH + "-" + dt.DAY;
var req:= "PublicHolidays?countryIsoCode=" + Country + "&subdivisionCode=" + Region + "&validFrom="+date + "&validTo="+date;
var response := SENDHTTPREQUEST(req);

if response.IsSuccess
  var content := response.Content;
  var isHoliday := PARSEJSON( content, "[0].temporalScope", 1);
  if isHoliday != null
    return(1);
  else
    return(0);
  end
else
  adderror(response.StatusCode + " (" + response.ReasonPhrase + ")");
  return(NaN);
end
```

Iskolai szünet Kapcsoló Csak olvasható

Óránként lekérdezi az OpenHolidays API-t — Igen, ha ma iskolai szünetre esik a beállított ország és régió szerint, egyébként Nem

boolean json\_path

Értékek / Állapotok: Yes · No

Kapcsoló állapot olvasása

```taphome
var dt := NOW();
var date := dt.YEAR + "-" + dt.MONTH + "-" + dt.DAY;
var req:= "SchoolHolidays?countryIsoCode=" + Country + "&subdivisionCode=" + Region + "&validFrom="+date + "&validTo="+date;
var response := SENDHTTPREQUEST(req);

if response.IsSuccess
  var content := response.Content;
  var isHoliday := PARSEJSON( content, "[0].temporalScope", 1);
  if isHoliday != null
    return(1);
  else
    return(0);
  end
else
  adderror(response.StatusCode + " (" + response.ReasonPhrase + ")");
  return(NaN);
end
```

Hétvége Kapcsoló Csak olvasható

Helyi számítás — Igen szombaton és vasárnap, Nem hétköznapokon. Nem használja az API-t.

boolean

Értékek / Állapotok: Yes · No

Kapcsoló állapot olvasása

```taphome
var dt := NOW();
return(dt.DAYOFWEEK = 0 or dt.DAYOFWEEK = 6);
```

**Kapcsolat:** Packet Parser → HTTP

Lehetséges fejlesztések (7)

- Public Holidays By Date — Returns all public holidays across all countries for a single date — alternative to country-scoped query
- School Holidays By Date — Returns all school holidays across all countries for a single date
- Supported Countries — List of 35+ supported countries — useful for configuration but not a sensor
- Regional Subdivisions — List of regional divisions for a country — useful for configuration
- Public Holiday Data Range — Date range of available public holiday data for a country
- School Holiday Data Range — Date range of available school holiday data for a country
- Holiday Groups — Non-geographic holiday groupings (language zones, school types) for a country

## Importálási paraméterek

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

| Az alkalmazás kéri | Alapérték |
|--------------------|-----------|
| Country            | `SK`      |
| Region             | `SK-BC`   |

## Források

- OpenHolidays API Reference (OpenAPI)
  
  [openholidaysapi.org](https://openholidaysapi.org/swagger/v1/swagger.json) 2026-03-28
- OpenHolidays API — Website Overview
  
  [www.openholidaysapi.org](https://www.openholidaysapi.org/en/api/) 2026-03-28
- OpenHolidays API — GitHub Repository
  
  [github.com](https://github.com/openpotato/openholidaysapi) 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/)

