TapHome

CNB CZK Kursy walut

Packet Parser → HTTP
Dodane przez
Ostatnia aktualizacja: 03. 2026

Czeski Bank Narodowy (ČNB) codziennie publikuje oficjalne kursy wymiany CZK dla 30 walut obcych. Kursy te są oficjalnymi kursami fixingowymi używanymi jako referencja w całym czeskim systemie finansowym.

Szablon TapHome pobiera wszystkie 30 kursów wymiany z publicznego API REST CNB (api.cnb.cz) przez HTTP Packet Parser. Każda waluta jest wyświetlana jako osobny czujnik tylko do odczytu pokazujący aktualny kurs CZK. API jest całkowicie publiczne — nie wymaga uwierzytelniania, klucza API ani rejestracji. Kursy są aktualizowane co godzinę.

Konfiguracja

Szablon łączy się z api.cnb.cz przez HTTPS (port 443). Nie jest potrzebny adres IP, dane uwierzytelniające ani klucz API — endpoint jest w pełni publicznym rządowym API.

Nie ma zmiennych konfigurowalnych przez użytkownika. Jedyna zmienna niestandardowa (responsejson) to wewnętrzna pamięć podręczna odpowiedzi HTTP używana przez skrypty szablonu — nie wymaga modyfikacji.

Zasada działania

Moduł wysyła pojedyncze żądanie HTTP GET raz na godzinę (interwał odpytywania 3 600 000 ms):

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

Odpowiedź to obiekt JSON zawierający tablicę rates[] ze wszystkimi 30 wpisami walutowymi. Każdy wpis zawiera kod waluty, nazwę kraju, ilość i kurs. Moduł przechowuje pełną odpowiedź JSON w zmiennej responsejson.

Każde urządzenie walutowe następnie parsuje swój kurs z buforowanej odpowiedzi za pomocą PARSEJSON(responsejson, "$.rates[N].rate"), gdzie N jest stałym indeksem tablicy dla danej waluty. Interwał odpytywania urządzenia wynosi 15 sekund, ale ponieważ wszystkie urządzenia czytają z buforowanego responsejson, między godzinnymi odświeżeniami nie są wykonywane dodatkowe wywołania API.

Szablon używa lang=CZ w żądaniu API. Jest to krytyczne, ponieważ tablica rates[] jest sortowana alfabetycznie według nazwy kraju w wybranym języku. Zmiana na lang=EN spowodowałaby inną kolejność sortowania i zepsuła wszystkie mapowania indeksów tablicy.

Funkcje urządzeń

Szablon udostępnia 30 czujników tylko do odczytu, po jednym dla każdej waluty. Wszystkie wartości podane są w CZK.

Główne waluty

Najczęściej śledzone kursy to EUR (euro), USD (dolar amerykański), GBP (funt brytyjski), CHF (frank szwajcarski) i PLN (złoty polski). Są one podawane na 1 jednostkę waluty obcej — na przykład kurs USD 21,315 oznacza 1 USD = 21,315 CZK.

Waluty wielojednostkowe

Osiem walut używa kursów wielojednostkowych ze względu na ich niską wartość CZK na jednostkę:

WalutaIlośćZnaczenie
HUF (forint węgierski)100Kurs za 100 HUF
INR (rupia indyjska)100Kurs za 100 INR
ISK (korona islandzka)100Kurs za 100 ISK
JPY (jen japoński)100Kurs za 100 JPY
KRW (won południowokoreański)100Kurs za 100 KRW
PHP (peso filipińskie)100Kurs za 100 PHP
THB (baht tajski)100Kurs za 100 THB
TRY (lira turecka)100Kurs za 100 TRY
IDR (rupia indonezyjska)1000Kurs za 1000 IDR

Szablon odczytuje surową wartość rate z API bez dzielenia przez amount. Na przykład kurs JPY 13,328 w TapHome oznacza 100 JPY = 13,328 CZK, a nie 1 JPY = 13,328 CZK.

Pełna lista walut

Wszystkie 30 walut: 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 (Specjalne Prawa Ciągnienia MFW), ZAR.

Przykłady automatyzacji

Powiadomienie o przekroczeniu progu kursu

Użyj czujnika walutowego w warunku reguły inteligentnej, aby otrzymywać powiadomienia, gdy kurs przekroczy próg:

  • Warunek: wartość EUR przekracza 25,00
  • Akcja: wyślij powiadomienie push
Przełączanie na podstawie kursu

Wyzwalaj akcje na podstawie ruchów kursów walut — na przykład przełączaj wskaźniki wyświetlacza lub steruj wyjściami, gdy monitorowana waluta osiągnie docelowy zakres.

Rozwiązywanie problemów

Wszystkie urządzenia pokazują zero lub brak danych
  1. Sprawdź połączenie internetowe TapHome Core — szablon wymaga wychodzącego dostępu HTTPS do api.cnb.cz
  2. Sprawdź, czy API odpowiada — otwórz https://api.cnb.cz/cnbapi/exrates/daily?date=2026-03-28&lang=CZ w przeglądarce
  3. Nowe kursy wymiany publikowane są w każdy dzień roboczy około 14:30 CET. W weekendy i święta API zwraca ostatnie ważne kursy
Wartości wydają się nieprawidłowe dla niektórych walut

Sprawdź powyższą tabelę kursów wielojednostkowych. Waluty takie jak JPY, HUF, KRW i IDR są podawane za 100 lub 1000 jednostek, nie za 1 jednostkę. Jest to standardowa konwencja ČNB, a nie błąd szablonu.

Dane przestają się aktualizować

Szablon odpytuje API raz na godzinę. Jeśli kursy wydają się nieaktualne, sprawdź, czy TapHome Core ma dostęp do internetu i czy API CNB jest osiągalne. API nie ma udokumentowanych limitów żądań, ale długotrwałe problemy z łącznością uniemożliwią aktualizacje.

Dostępne urządzenia

CNB CZK Kursy Walut Moduł
Zmienne niestandardowe

Kurzy ČNB

Odczyt (moduł)
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
Dolar australijski (AUD) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Dolar australijski (AUD)

Odczyt
PARSEJSON(responsejson, "$.rates[0].rate");
Real brazylijski (BRL) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Real brazylijski (BRL)

Odczyt
PARSEJSON(responsejson, "$.rates[1].rate");
Dolar kanadyjski (CAD) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Dolar kanadyjski (CAD)

Odczyt
PARSEJSON(responsejson, "$.rates[13].rate");
Juan chiński (CNY) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Juan chiński (CNY)

Odczyt
PARSEJSON(responsejson, "$.rates[2].rate");
Korona duńska (DKK) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Korona duńska (DKK)

Odczyt
PARSEJSON(responsejson, "$.rates[3].rate");
Euro (EUR) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Euro (EUR)

Odczyt
PARSEJSON(responsejson, "$.rates[4].rate");
Funt brytyjski (GBP) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Funt brytyjski (GBP)

Odczyt
PARSEJSON(responsejson, "$.rates[29].rate");
Dolar hongkoński (HKD) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Dolar hongkoński (HKD)

Odczyt
PARSEJSON(responsejson, "$.rates[6].rate");
Forint węgierski (HUF) Zmienna Tylko do odczytu

Kurs za 100 HUF

string Jednostka: CZK json_path

Forint węgierski (HUF)

Odczyt
PARSEJSON(responsejson, "$.rates[15].rate");
Frank szwajcarski (CHF) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Frank szwajcarski (CHF)

Odczyt
PARSEJSON(responsejson, "$.rates[25].rate");
Rupia indonezyjska (IDR) Zmienna Tylko do odczytu

Kurs za 1000 IDR

string Jednostka: CZK json_path

Rupia indonezyjska (IDR)

Odczyt
PARSEJSON(responsejson, "$.rates[8].rate");
Szekel izraelski (ILS) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Szekel izraelski (ILS)

Odczyt
PARSEJSON(responsejson, "$.rates[10].rate");
Rupia indyjska (INR) Zmienna Tylko do odczytu

Kurs za 100 INR

string Jednostka: CZK json_path

Rupia indyjska (INR)

Odczyt
PARSEJSON(responsejson, "$.rates[7].rate");
Korona islandzka (ISK) Zmienna Tylko do odczytu

Kurs za 100 ISK

string Jednostka: CZK json_path

Korona islandzka (ISK)

Odczyt
PARSEJSON(responsejson, "$.rates[9].rate");
Jen japoński (JPY) Zmienna Tylko do odczytu

Kurs za 100 JPY

string Jednostka: CZK json_path

Jen japoński (JPY)

Odczyt
PARSEJSON(responsejson, "$.rates[11].rate");
Won południowokoreański (KRW) Zmienna Tylko do odczytu

Kurs za 100 KRW

string Jednostka: CZK json_path

Won południowokoreański (KRW)

Odczyt
PARSEJSON(responsejson, "$.rates[14].rate");
Peso meksykańskie (MXN) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Peso meksykańskie (MXN)

Odczyt
PARSEJSON(responsejson, "$.rates[17].rate");
Ringgit malezyjski (MYR) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Ringgit malezyjski (MYR)

Odczyt
PARSEJSON(responsejson, "$.rates[16].rate");
Korona norweska (NOK) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Korona norweska (NOK)

Odczyt
PARSEJSON(responsejson, "$.rates[19].rate");
Dolar nowozelandzki (NZD) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Dolar nowozelandzki (NZD)

Odczyt
PARSEJSON(responsejson, "$.rates[20].rate");
Peso filipińskie (PHP) Zmienna Tylko do odczytu

Kurs za 100 PHP

string Jednostka: CZK json_path

Peso filipińskie (PHP)

Odczyt
PARSEJSON(responsejson, "$.rates[5].rate");
Złoty polski (PLN) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Złoty polski (PLN)

Odczyt
PARSEJSON(responsejson, "$.rates[21].rate");
Lej rumuński (RON) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Lej rumuński (RON)

Odczyt
PARSEJSON(responsejson, "$.rates[22].rate");
Korona szwedzka (SEK) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Korona szwedzka (SEK)

Odczyt
PARSEJSON(responsejson, "$.rates[24].rate");
Dolar singapurski (SGD) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Dolar singapurski (SGD)

Odczyt
PARSEJSON(responsejson, "$.rates[23].rate");
Baht tajski (THB) Zmienna Tylko do odczytu

Kurs za 100 THB

string Jednostka: CZK json_path

Baht tajski (THB)

Odczyt
PARSEJSON(responsejson, "$.rates[26].rate");
Lira turecka (TRY) Zmienna Tylko do odczytu

Kurs za 100 TRY

string Jednostka: CZK json_path

Lira turecka (TRY)

Odczyt
PARSEJSON(responsejson, "$.rates[27].rate");
Dolar amerykański (USD) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Dolar amerykański (USD)

Odczyt
PARSEJSON(responsejson, "$.rates[28].rate");
MFW SDR (XDR) Zmienna Tylko do odczytu

Specjalne Prawa Ciągnienia MFW — złożony aktyw rezerwowy

string Jednostka: CZK json_path

MFW SDR (XDR)

Odczyt
PARSEJSON(responsejson, "$.rates[18].rate");
Rand południowoafrykański (ZAR) Zmienna Tylko do odczytu
string Jednostka: CZK json_path

Rand południowoafrykański (ZAR)

Odczyt
PARSEJSON(responsejson, "$.rates[12].rate");
Połączenie: Packet Parser → HTTP

Źródła

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