TapHome

ČNB CZK Směnné kurzy

Packet Parser → HTTP
Přidal
Poslední aktualizace: 03. 2026

Č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. Kurzy se aktualizují každou hodinu.

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):

1
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.

Š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

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

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

ČNB CZK Směnné kurzy Modul
Vlastní proměnné

Kurzy ČNB

Čtení (modul)
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

Australský dolar (AUD)

Čtení
PARSEJSON(responsejson, "$.rates[0].rate");
Brazilský real (BRL) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Brazilský real (BRL)

Čtení
PARSEJSON(responsejson, "$.rates[1].rate");
Kanadský dolar (CAD) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Kanadský dolar (CAD)

Čtení
PARSEJSON(responsejson, "$.rates[13].rate");
Čínský jüan (CNY) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Čínský jüan (CNY)

Čtení
PARSEJSON(responsejson, "$.rates[2].rate");
Dánská koruna (DKK) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Dánská koruna (DKK)

Čtení
PARSEJSON(responsejson, "$.rates[3].rate");
Euro (EUR) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Euro (EUR)

Čtení
PARSEJSON(responsejson, "$.rates[4].rate");
Britská libra (GBP) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Britská libra (GBP)

Čtení
PARSEJSON(responsejson, "$.rates[29].rate");
Hongkongský dolar (HKD) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Hongkongský dolar (HKD)

Čtení
PARSEJSON(responsejson, "$.rates[6].rate");
Maďarský forint (HUF) Proměnná Pouze ke čtení

Kurz za 100 HUF

string Jednotka: CZK json_path

Maďarský forint (HUF)

Čtení
PARSEJSON(responsejson, "$.rates[15].rate");
Švýcarský frank (CHF) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Švýcarský frank (CHF)

Čtení
PARSEJSON(responsejson, "$.rates[25].rate");
Indonéská rupie (IDR) Proměnná Pouze ke čtení

Kurz za 1000 IDR

string Jednotka: CZK json_path

Indonéská rupie (IDR)

Čtení
PARSEJSON(responsejson, "$.rates[8].rate");
Izraelský šekel (ILS) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Izraelský šekel (ILS)

Čtení
PARSEJSON(responsejson, "$.rates[10].rate");
Indická rupie (INR) Proměnná Pouze ke čtení

Kurz za 100 INR

string Jednotka: CZK json_path

Indická rupie (INR)

Čtení
PARSEJSON(responsejson, "$.rates[7].rate");
Islandská koruna (ISK) Proměnná Pouze ke čtení

Kurz za 100 ISK

string Jednotka: CZK json_path

Islandská koruna (ISK)

Čtení
PARSEJSON(responsejson, "$.rates[9].rate");
Japonský jen (JPY) Proměnná Pouze ke čtení

Kurz za 100 JPY

string Jednotka: CZK json_path

Japonský jen (JPY)

Čtení
PARSEJSON(responsejson, "$.rates[11].rate");
Jihokorejský won (KRW) Proměnná Pouze ke čtení

Kurz za 100 KRW

string Jednotka: CZK json_path

Jihokorejský won (KRW)

Čtení
PARSEJSON(responsejson, "$.rates[14].rate");
Mexické peso (MXN) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Mexické peso (MXN)

Čtení
PARSEJSON(responsejson, "$.rates[17].rate");
Malajsijský ringgit (MYR) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Malajsijský ringgit (MYR)

Čtení
PARSEJSON(responsejson, "$.rates[16].rate");
Norská koruna (NOK) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Norská koruna (NOK)

Čtení
PARSEJSON(responsejson, "$.rates[19].rate");
Novozélandský dolar (NZD) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Novozélandský dolar (NZD)

Čtení
PARSEJSON(responsejson, "$.rates[20].rate");
Filipínské peso (PHP) Proměnná Pouze ke čtení

Kurz za 100 PHP

string Jednotka: CZK json_path

Filipínské peso (PHP)

Čtení
PARSEJSON(responsejson, "$.rates[5].rate");
Polský zlotý (PLN) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Polský zlotý (PLN)

Čtení
PARSEJSON(responsejson, "$.rates[21].rate");
Rumunský leu (RON) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Rumunský leu (RON)

Čtení
PARSEJSON(responsejson, "$.rates[22].rate");
Švédská koruna (SEK) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Švédská koruna (SEK)

Čtení
PARSEJSON(responsejson, "$.rates[24].rate");
Singapurský dolar (SGD) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Singapurský dolar (SGD)

Čtení
PARSEJSON(responsejson, "$.rates[23].rate");
Thajský baht (THB) Proměnná Pouze ke čtení

Kurz za 100 THB

string Jednotka: CZK json_path

Thajský baht (THB)

Čtení
PARSEJSON(responsejson, "$.rates[26].rate");
Turecká lira (TRY) Proměnná Pouze ke čtení

Kurz za 100 TRY

string Jednotka: CZK json_path

Turecká lira (TRY)

Čtení
PARSEJSON(responsejson, "$.rates[27].rate");
Americký dolar (USD) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Americký dolar (USD)

Čtení
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

MMF SDR (XDR)

Čtení
PARSEJSON(responsejson, "$.rates[18].rate");
Jihoafrický rand (ZAR) Proměnná Pouze ke čtení
string Jednotka: CZK json_path

Jihoafrický rand (ZAR)

Čtení
PARSEJSON(responsejson, "$.rates[12].rate");
Připojení: Packet Parser → HTTP

Zdroje

  • CNB API — OpenAPI Specification
    api.cnb.cz 2026-03-28
  • CNB Exchange Rate Format & Currency List
    www.cnb.cz 2026-03-28