---
title: "ČNB CZK Směnné kurzy"
description: "Oficiální denní kurzy CZK České národní banky pro 30 měn z veřejného API ČNB, každá měna jako senzor v TapHome. Bez API klíče a bez registrace."
url: "https://taphome.com/cs/compatibility/cnb-czk/"
language: cs
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["http","data-service","exchange-rates","currency","cloud-api","packet-parser"]
  questions: ["Jak integrovat směnné kurzy ČNB s TapHome?","Jaké měny podporuje šablona směnných kurzů CNB CZK?","Jak automatizovat akce na základě směnných kurzů v TapHome?","Jak často se aktualizují kurzy ČNB?","Jak sledovat kurz EUR/CZK nebo USD/CZK v TapHome?"]
---

# ČNB CZK Směnné kurzy

Komunikace: Packet Parser → HTTP

- [Česká národní banka](https://www.cnb.cz/en/)

## Návod na integraci

Česká národní banka (ČNB) publikuje oficiální směnné kurzy CZK denně pro 30 zahraničních měn. Tyto kurzy jsou oficiální fixingové kurzy používané jako reference v celém českém finančním systému.

Šablona TapHome načítá všech 30 směnných kurzů z veřejného REST API ČNB (`api.cnb.cz`) přes HTTP Packet Parser. Každá měna je zobrazena jako samostatný senzor s aktuálním kurzem vůči CZK. API je plně veřejné — nevyžaduje autentifikaci, API klíč ani registraci. TapHome načítá kurzy jednou za hodinu; ČNB vyhlašuje nové kurzy jednou za pracovní den kolem 14:30.

## Konfigurace

Šablona se připojuje k `api.cnb.cz` přes HTTPS (port 443). Není potřeba IP adresa, přihlašovací údaje ani API klíč — endpoint je plně veřejné státní API.

Šablona nemá žádné uživatelsky konfigurovatelné proměnné. Jediná vlastní proměnná (`responsejson`) je interní cache HTTP odpovědi používaná skripty šablony — není potřeba ji upravovat.

## Jak to funguje

Modul odesílá jeden HTTP GET požadavek jednou za hodinu (interval dotazování 3 600 000 ms):

```
GET /cnbapi/exrates/daily?date={today}&lang=CZ
```

Odpověď je JSON objekt obsahující pole `rates[]` se všemi 30 záznamy měn. Každý záznam obsahuje kód měny, název země, množství a kurz. Modul uloží celou JSON odpověď do proměnné `responsejson`.

Každé zařízení měny pak parsuje svůj kurz z uložené odpovědi pomocí `PARSEJSON(responsejson, "$.rates[N].rate")`, kde N je fixní index pole pro danou měnu. Interval dotazování zařízení je 15 sekund, ale protože všechna zařízení čtou z uložené `responsejson`, mezi hodinovými aktualizacemi se neprovádějí žádná další volání API.

> [!NOTE]
> Šablona používá `lang=CZ` v požadavku na API. To je kritické, protože pole `rates[]` je řazeno abecedně podle názvu země ve vybraném jazyce. Změna na `lang=EN` by vytvořila jiné pořadí a narušila všechna mapování indexů pole.

## Schopnosti zařízení

Šablona poskytuje 30 senzorů pro čtení, jeden pro každou měnu. Všechny hodnoty jsou v CZK.

### Hlavní měny

Nejčastěji sledované kurzy zahrnují EUR (Euro), USD (Americký dolar), GBP (Britská libra), CHF (Švýcarský frank) a PLN (Polský zlotý). Tyto jsou kótovány za 1 jednotku cizí měny — například kurz USD 21,315 znamená 1 USD = 21,315 CZK.

### Měny s vícenásobnou jednotkou

Devět měn používá kurzy za vícenásobné jednotky kvůli jejich nízké hodnotě za jednotku vůči CZK:

| Měna | Množství | Význam |
|------|----------|--------|
| HUF (Maďarský forint) | 100 | Kurz za 100 HUF |
| INR (Indická rupie) | 100 | Kurz za 100 INR |
| ISK (Islandská koruna) | 100 | Kurz za 100 ISK |
| JPY (Japonský jen) | 100 | Kurz za 100 JPY |
| KRW (Jihokorejský won) | 100 | Kurz za 100 KRW |
| PHP (Filipínské peso) | 100 | Kurz za 100 PHP |
| THB (Thajský baht) | 100 | Kurz za 100 THB |
| TRY (Turecká lira) | 100 | Kurz za 100 TRY |
| IDR (Indonéská rupie) | 1000 | Kurz za 1000 IDR |

Šablona čte surovou hodnotu `rate` z API bez dělení hodnotou `amount`. Například kurz JPY 13,328 v TapHome znamená 100 JPY = 13,328 CZK, nikoli 1 JPY = 13,328 CZK.

### Kompletní seznam měn

Všech 30 měn: AUD, BRL, CAD, CHF, CNY, DKK, EUR, GBP, HKD, HUF, IDR, ILS, INR, ISK, JPY, KRW, MXN, MYR, NOK, NZD, PHP, PLN, RON, SEK, SGD, THB, TRY, USD, XDR (Zvláštní práva čerpání MMF), ZAR.

## Příklady automatizace

### Upozornění při překročení prahu kurzu

Použijte senzor měny v podmínce smart rule pro příjem upozornění, když kurz překročí práh:

- Podmínka: Hodnota EUR překročí 25,00
- Akce: Odeslat push notifikaci

### Přepínání na základě kurzu

Spusťte akce na základě pohybů směnných kurzů — například přepněte indikátory displeje nebo ovládejte výstupy, když sledovaná měna dosáhne cílového rozsahu.

## Řešení problémů

### Všechna zařízení zobrazují nulu nebo žádná data

1. Zkontrolujte internetové připojení TapHome Core — šablona vyžaduje odchozí HTTPS přístup na `api.cnb.cz`
2. Ověřte, že API odpovídá — otevřete `https://api.cnb.cz/cnbapi/exrates/daily?date=2026-03-28&lang=CZ` v prohlížeči
3. Nové směnné kurzy se publikují každý pracovní den kolem 14:30 CET. O víkendech a svátcích API vrací poslední platné kurzy

### Hodnoty se zdají nesprávné u některých měn

Zkontrolujte tabulku kurzů s vícenásobnou jednotkou výše. Měny jako JPY, HUF, KRW a IDR jsou kótovány za 100 nebo 1000 jednotek, nikoli za 1 jednotku. Toto je standardní konvence ČNB, nikoliv chyba šablony.

### Data se přestanou aktualizovat

Šablona dotazuje API jednou za hodinu. Pokud se kurzy zdají zastaralé, ověřte, že TapHome Core má přístup k internetu a že API ČNB je dostupné. API nemá zdokumentované limity požadavků, ale dlouhodobé problémy s připojením zabrání aktualizacím.

## Dostupná zařízení 30

Tato zařízení se po importu zobrazí v TapHome.

ČNB CZK Směnné kurzy Modul

Vlastní proměnné

Čtení (modul)

```taphome
VAR today := tostring(NOW(), "yyyy-MM-dd");
VAR response := SENDHTTPREQUEST("/cnbapi/exrates/daily?date=" + today + "&lang=CZ");
IF response.IsSuccess
    responsejson := response.Content;
ELSE
    ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
END
```

Australský dolar (AUD) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[0].rate");
```

Brazilský real (BRL) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[1].rate");
```

Kanadský dolar (CAD) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[13].rate");
```

Čínský jüan (CNY) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[2].rate");
```

Dánská koruna (DKK) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[3].rate");
```

Euro (EUR) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[4].rate");
```

Britská libra (GBP) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[29].rate");
```

Hongkongský dolar (HKD) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[6].rate");
```

Maďarský forint (HUF) Proměnná Pouze ke čtení

Kurz za 100 HUF

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[15].rate");
```

Švýcarský frank (CHF) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[25].rate");
```

Indonéská rupie (IDR) Proměnná Pouze ke čtení

Kurz za 1000 IDR

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[8].rate");
```

Izraelský šekel (ILS) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[10].rate");
```

Indická rupie (INR) Proměnná Pouze ke čtení

Kurz za 100 INR

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[7].rate");
```

Islandská koruna (ISK) Proměnná Pouze ke čtení

Kurz za 100 ISK

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[9].rate");
```

Japonský jen (JPY) Proměnná Pouze ke čtení

Kurz za 100 JPY

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[11].rate");
```

Jihokorejský won (KRW) Proměnná Pouze ke čtení

Kurz za 100 KRW

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[14].rate");
```

Mexické peso (MXN) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[17].rate");
```

Malajsijský ringgit (MYR) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[16].rate");
```

Norská koruna (NOK) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[19].rate");
```

Novozélandský dolar (NZD) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[20].rate");
```

Filipínské peso (PHP) Proměnná Pouze ke čtení

Kurz za 100 PHP

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[5].rate");
```

Polský zlotý (PLN) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[21].rate");
```

Rumunský leu (RON) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[22].rate");
```

Švédská koruna (SEK) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[24].rate");
```

Singapurský dolar (SGD) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[23].rate");
```

Thajský baht (THB) Proměnná Pouze ke čtení

Kurz za 100 THB

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[26].rate");
```

Turecká lira (TRY) Proměnná Pouze ke čtení

Kurz za 100 TRY

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[27].rate");
```

Americký dolar (USD) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[28].rate");
```

MMF SDR (XDR) Proměnná Pouze ke čtení

Zvláštní práva čerpání MMF — kompozitní rezervní aktivum

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[18].rate");
```

Jihoafrický rand (ZAR) Proměnná Pouze ke čtení

string Jednotka: CZK json\_path

Čtení

```taphome
PARSEJSON(responsejson, "$.rates[12].rate");
```

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

## Zdroje

- CNB API — OpenAPI Specification
  
  [api.cnb.cz](https://api.cnb.cz/cnbapi/api-docs) 2026-03-28
- CNB Exchange Rate Format & Currency List
  
  [www.cnb.cz](https://www.cnb.cz/en/faq/Format-of-the-foreign-exchange-market-rates/) 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/)

