---
title: "OpenHolidays API"
description: "Integrace OpenHolidays API pro TapHome. Zjišťování státních svátků a školních prázdnin pro 35+ zemí přes HTTP — automatizace vytápění, osvětlení a alarmů."
url: "https://taphome.com/cs/compatibility/openholidays/"
language: cs
lastmod: 2026-03-28
generator: hugo
ai:
  topics: ["http","other","rest-api","holiday-detection","scheduling"]
  questions: ["Jak integrovat OpenHolidays API s TapHome?","Jak TapHome automaticky detekuje státní svátky?","Jak nakonfigurovat kódy země a regionu pro OpenHolidays v TapHome?","Proč zařízení státních svátků zobrazuje nesprávné výsledky?","Jaký je rozdíl mezi IsPublicHoliday a IsSchoolHoliday v TapHome?","Dokáže TapHome přizpůsobit harmonogram vytápění podle svátků?"]
---

# OpenHolidays API

Komunikace: Packet Parser → HTTP

- [Webové stránky OpenHolidays API](https://www.openholidaysapi.org)

OpenHolidays API je bezplatné open-source REST API, které poskytuje údaje o státních svátcích a školních prázdninách pro více než 35 zemí. TapHome se připojuje k této cloudové službě přes HTTPS pomocí PacketParser HTTP šablony — není potřeba žádná autentizace ani API klíč.

Šablona poskytuje tři zařízení s booleovským stavem (pouze čtení): jedno pro státní svátky, jedno pro školní prázdniny a jedno pro víkendy. Tato zařízení lze využít ve smart rules k přizpůsobení harmonogramu vytápění, režimů alarmu, světelných scén nebo jakékoli jiné automatizace podle toho, zda je dnes pracovní den nebo ne.

Šablonu vytvořil ToBo, komunitní přispěvatel.

## Konfigurace

Při importu šablony jsou vyžadovány dva parametry:

- **Country** — ISO 3166-1 alpha-2 kód země (např. `SK` pro Slovensko, `DE` pro Německo, `CZ` pro Česko). Kompletní seznam podporovaných zemí je dostupný na `https://openholidaysapi.org/Countries`.
- **Region** — ISO 3166-2 kód subdivize (např. `SK-BC` pro Banskobystrický kraj, `DE-BY` pro Bavorsko). Seznam subdivizí pro danou zemi je dostupný na `https://openholidaysapi.org/Subdivisions?countryIsoCode={CountryCode}`.

Oba parametry jsou uloženy jako Module Variables v TapHome a lze je změnit po importu bez nutnosti opětovného importu šablony.

> [!TIP]
> Mnohé země mají regionálně specifické svátky. Pokud detekce svátků vypadá nesprávně, ověřte, že kód subdivize odpovídá správnému regionu — nejen kódu země.

## Schopnosti zařízení

### Detekce státních svátků

Zařízení Státní svátek dotazuje endpoint `GET /PublicHolidays` jednou za hodinu. Odešle dnešní datum spolu s nakonfigurovanými kódy země a regionu. Pokud API vrátí záznam o svátku pro dané datum, zařízení zobrazí **Yes**; jinak zobrazí **No**.

### Detekce školních prázdnin

Zařízení Školní prázdniny funguje stejně, ale dotazuje endpoint `GET /SchoolHolidays`. Detekuje, zda dnešní den spadá do období školních prázdnin pro nakonfigurovanou zemi a region.

> [!NOTE]
> Dostupnost údajů o školních prázdninách se liší podle země. Některé země mají omezené pokrytí subdivizí — zkontrolujte dokumentaci API a ověřte, že váš region je podporovaný.

### Detekce víkendů

Zařízení Víkend nevolá API. Používá lokální funkci TapHome `NOW().DAYOFWEEK` k určení, zda je dnes sobota (den 6) nebo neděle (den 0). Toto zařízení funguje nezávisle na API a nepotřebuje internetové připojení.

### Další schopnosti

OpenHolidays API rovněž poskytuje endpointy pro dotazování svátků podle konkrétního data napříč všemi zeměmi (`/PublicHolidaysByDate`, `/SchoolHolidaysByDate`), výpis podporovaných zemí a regionálních subdivizí a získávání statistik o dostupných datových rozsazích. Tyto mohou být doplněny v budoucí aktualizaci šablony.

## Řešení problémů

### Detekce svátků vrací nesprávné výsledky

1. Ověřte, že kód země je správný — ke kontrole seznamu podporovaných zemí použijte endpoint `/Countries`
2. Ověřte kód regionu (subdivize) — některé státní svátky jsou regionálně specifické a nezobrazí se s nesprávným kódem subdivize
3. Zkontrolujte API přímo v prohlížeči: `https://openholidaysapi.org/PublicHolidays?countryIsoCode=SK&subdivisionCode=SK-BC&validFrom=2026-01-01&validTo=2026-01-01` — nahraďte datum a kódy vašimi hodnotami
4. Pokud API vrátí prázdné pole `[]` pro datum, které by mělo být svátkem, údaje pro danou zemi nebo rok ještě nemusí být dostupné

### Zařízení zobrazuje chybu (NaN)

Pokud je API nedostupné (problém se sítí, selhání DNS nebo výpadek API), šablona vrátí NaN s HTTP stavovým kódem v chybové zprávě. OpenHolidays API je komunitní projekt bez SLA — aktuální dostupnost zkontrolujte na stránce stavu na `https://openpotato.github.io/uptime/`.

> [!WARNING]
> OpenHolidays API je komunitně udržovaný open data projekt. Přestože je spolehlivě dostupný, neexistuje žádná garance dostupnosti. Pro kritické automatizace zvažte přidání záložního pravidla, které elegantně zpracuje chybový stav.

## Dostupná zařízení

OpenHolidays Modul

Vlastní proměnné

`Country` (string) Kód země dle ISO 3166-1 alpha-2 (např. SK, DE, CZ)

Full list at openholidaysapi.org/Countries

`Region` (string) Kód regionu dle ISO 3166-2 (např. SK-BC, DE-BY)

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

Státní svátek Přepínač Pouze ke čtení

Dotazuje OpenHolidays API jednou za hodinu — Ano, pokud je dnes státní svátek pro nakonfigurovanou zemi a region, jinak Ne

boolean json\_path

Hodnoty / Stavy: Yes · No

Školní prázdniny Přepínač Pouze ke čtení

Dotazuje OpenHolidays API jednou za hodinu — Ano, pokud dnes spadá do období školních prázdnin pro nakonfigurovanou zemi a region, jinak Ne

boolean json\_path

Hodnoty / Stavy: Yes · No

Víkend Přepínač Pouze ke čtení

Lokální výpočet — Ano v sobotu a neděli, Ne v pracovní dny. Nepoužívá API.

boolean

Hodnoty / Stavy: Yes · No

**Připojení:** Packet Parser → HTTP

Možná vylepšení (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

## Zdroje

- 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

## Související dokumentace

- [Integrace Packet Parser](https://taphome.com/cs/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/cs/docs/integration/packet-parser/)
- [Funkce Packet parser](https://taphome.com/cs/docs/script/packet-parser/)
- [Funkce pro parsování](https://taphome.com/cs/docs/script/parsing-functions/)

