Č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):
| |
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=CZv požadavku na API. To je kritické, protože polerates[]je řazeno abecedně podle názvu země ve vybraném jazyce. Změna nalang=ENby 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ě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
- Zkontrolujte internetové připojení TapHome Core — šablona vyžaduje odchozí HTTPS přístup na
api.cnb.cz - Ověřte, že API odpovídá — otevřete
https://api.cnb.cz/cnbapi/exrates/daily?date=2026-03-28&lang=CZv prohlížeči - 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.