Česká národná banka (ČNB) publikuje oficiálne výmenné kurzy CZK denne pre 30 zahraničných mien. Tieto kurzy sú oficiálne fixingové kurzy používané ako referencia v celom českom finančnom systéme.
Šablóna TapHome načítava všetkých 30 výmenných kurzov z verejného REST API ČNB (api.cnb.cz) cez HTTP Packet Parser. Každá mena je vystavená ako samostatný senzor na čítanie, ktorý zobrazuje aktuálny kurz CZK. API je úplne verejné — nevyžaduje autentifikáciu, API kľúč ani registráciu. Kurzy sa aktualizujú každú hodinu.
Konfigurácia
Šablóna sa pripája k api.cnb.cz cez HTTPS (port 443). Nie je potrebná žiadna IP adresa, prihlasovacie údaje ani API kľúč — koncový bod je plne verejné štátne API.
Neexistujú žiadne používateľsky konfigurovateľné premenné. Jediná vlastná premenná (responsejson) je interná vyrovnávacia pamäť HTTP odpovede používaná skriptmi šablóny — nie je potrebné ju upravovať.
Ako to funguje
Modul odosiela jeden HTTP GET požiadavok raz za hodinu (interval dotazovania 3 600 000 ms):
| |
Odpoveď je objekt JSON obsahujúci pole rates[] so všetkými 30 položkami mien. Každá položka obsahuje kód meny, názov krajiny, množstvo a kurz. Modul uloží celú JSON odpoveď do premennej responsejson.
Každé zariadenie meny potom analyzuje svoj kurz z uloženej odpovede pomocou PARSEJSON(responsejson, "$.rates[N].rate"), kde N je fixný index poľa pre danú menu. Interval dotazovania zariadenia je 15 sekúnd, ale keďže všetky zariadenia čítajú z uloženej responsejson, medzi hodinovými obnoveniami sa nevykonávajú žiadne ďalšie volania API.
Šablóna používa
lang=CZv požiadavke na API. Je to kritické, pretože polerates[]je zoradené abecedne podľa názvu krajiny vo vybranom jazyku. Zmena nalang=ENby vytvorila iné poradie a narušila všetky mapovania indexov poľa.
Schopnosti zariadení
Šablóna poskytuje 30 senzorov na čítanie, jeden pre každú menu. Všetky hodnoty sú v CZK.
Hlavné meny
Najčastejšie sledované kurzy zahŕňajú EUR (Euro), USD (Americký dolár), GBP (Britská libra), CHF (Švajčiarsky frank) a PLN (Poľský zlotý). Tieto sú kotované za 1 jednotku cudzej meny — napríklad kurz USD 21,315 znamená 1 USD = 21,315 CZK.
Meny s viacnásobnou jednotkou
Osem mien používa kurzy za viacnásobné jednotky kvôli nízkej hodnote za jednotku CZK:
| Mena | Množstvo | Význam |
|---|---|---|
| HUF (Maďarský forint) | 100 | Kurz za 100 HUF |
| INR (Indická rupia) | 100 | Kurz za 100 INR |
| ISK (Islandská koruna) | 100 | Kurz za 100 ISK |
| JPY (Japonský jen) | 100 | Kurz za 100 JPY |
| KRW (Juhokórejský won) | 100 | Kurz za 100 KRW |
| PHP (Filipínske peso) | 100 | Kurz za 100 PHP |
| THB (Thajský baht) | 100 | Kurz za 100 THB |
| TRY (Turecká líra) | 100 | Kurz za 100 TRY |
| IDR (Indonézska rupia) | 1000 | Kurz za 1000 IDR |
Šablóna číta surovú hodnotu rate z API bez delenia hodnotou amount. Napríklad kurz JPY 13,328 v TapHome znamená 100 JPY = 13,328 CZK, nie 1 JPY = 13,328 CZK.
Kompletný zoznam mien
Všetkých 30 mien: 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áštne práva čerpania MMF), ZAR.
Príklady automatizácie
Upozornenie pri prekročení prahu kurzu
Použite senzor meny v podmienke smart rule na prijímanie upozornení, keď kurz prekročí prah:
- Podmienka: Hodnota EUR prekročí 25,00
- Akcia: Odoslať push notifikáciu
Prepínanie na základe kurzu
Spustite akcie na základe pohybov výmenných kurzov — napríklad prepnite indikátory displeja alebo ovládajte výstupy, keď sledovaná mena dosiahne cieľový rozsah.
Riešenie problémov
Všetky zariadenia zobrazujú nulu alebo žiadne dáta
- Skontrolujte internetové pripojenie TapHome Core — šablóna vyžaduje odchádzajúci prístup HTTPS na
api.cnb.cz - Overte, že API odpovedá — otvorte
https://api.cnb.cz/cnbapi/exrates/daily?date=2026-03-28&lang=CZv prehliadači - Nové výmenné kurzy sa publikujú každý pracovný deň okolo 14:30 CET. Počas víkendov a sviatkov API vracia posledné platné kurzy
Hodnoty sa zdajú nesprávne pre niektoré meny
Skontrolujte tabuľku kurzov s viacnásobnou jednotkou vyššie. Meny ako JPY, HUF, KRW a IDR sú kotované za 100 alebo 1000 jednotiek, nie za 1 jednotku. Toto je štandardná konvencia ČNB, nie chyba šablóny.
Dáta sa prestanú aktualizovať
Šablóna dotazuje API raz za hodinu. Ak sa kurzy zdajú zastarané, overte, že TapHome Core má prístup na internet a že API ČNB je dostupné. API nemá zdokumentované limity požiadaviek, ale dlhodobé problémy s pripojením zabránia aktualizáciám.