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):
| |
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=CZw żądaniu API. Jest to krytyczne, ponieważ tablicarates[]jest sortowana alfabetycznie według nazwy kraju w wybranym języku. Zmiana nalang=ENspowodował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ę:
| Waluta | Ilość | Znaczenie |
|---|---|---|
| HUF (forint węgierski) | 100 | Kurs za 100 HUF |
| INR (rupia indyjska) | 100 | Kurs za 100 INR |
| ISK (korona islandzka) | 100 | Kurs za 100 ISK |
| JPY (jen japoński) | 100 | Kurs za 100 JPY |
| KRW (won południowokoreański) | 100 | Kurs za 100 KRW |
| PHP (peso filipińskie) | 100 | Kurs za 100 PHP |
| THB (baht tajski) | 100 | Kurs za 100 THB |
| TRY (lira turecka) | 100 | Kurs za 100 TRY |
| IDR (rupia indonezyjska) | 1000 | Kurs 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
- Sprawdź połączenie internetowe TapHome Core — szablon wymaga wychodzącego dostępu HTTPS do
api.cnb.cz - Sprawdź, czy API odpowiada — otwórz
https://api.cnb.cz/cnbapi/exrates/daily?date=2026-03-28&lang=CZw przeglądarce - 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.