Cloud API
Některé z našich hodin s digitrony lze programově ovládat přes REST API. Tato funkce Vám umožňuje zobrazovat na hodinách vlastní čísla nebo ovládat jejich jas podle Vašich představ. Jednotlivá volání API se odesílají na náš cloudový server, který s hodinami komunikuje. Aby volání API fungovala správně, musí být hodiny připojeny k internetu.
Autentizace
Pro komunikaci s našimi hodinami budete potřebovat znát nebo získat následující proměnné:
- EMAIL, PASSWORD – použijte stejné přihlašovací údaje jako pro naši webovou nebo mobilní aplikaci
- ACCESS_TOKEN – získáte jej po úspěšném přihlášení. Každé další volání API musí být autorizováno tímto tokenem. Platnost tokenu relace je 1 rok.
- CLOCK_ID – viz tabulka níže v sekci ID hodin.
- API URL – https://api.daliborfarny.com/
ID hodin
Každý model hodin má určité ID produktu, hodiny Zen 2, čtyřdigitronové Puri 6 atd. Nejde o sériové číslo, které je u každých hodin jedinečné.
| Název hodin | ID hodin |
|---|---|
| Zen Nixie Clock | 2 |
| Puri Nixie Clock (4 digitrony) | 6 |
| Puri Nixie Clock (6 digitronů) | 15 |
| Nixie Machine II | 3 |
| Nixie Machine III | 9 |
| NX.2 | 4 |
Získání ACCESS_TOKEN
K získání ACCESS_TOKEN použijte svůj EMAIL a PASSWORD. Nahraďte EMAIL a PASSWORD skutečnými přihlašovacími údaji, které používáte na https://user.daliborfarny.com/ nebo v mobilní aplikaci.
Specifikace volání API:
- Typ požadavku – POST
- URL endpointu –
/oauth/token - Tělo požadavku –
client_id=3rdparty&client_secret=ws7TQHXp5W6444t4&grant_type=password&username=EMAIL&password=PASSWORD
Příklad volání API pomocí curl:
$ curl -X POST https://api.daliborfarny.com/oauth/token -d "client_id=3rdparty&client_secret=ws7TQHXp5W6444t4&grant_type=password&username=EMAIL&password=PASSWORD"
Server odpoví JSONem, který obsahuje access_token:
{
"ok":true,
"status":200,
"data":{
"access_token":"62dd89362a635ff8692a590456e8a8118e61d9902",
"expires_in":31536000,
"token_type":"Bearer",
"scope":null,
"refresh_token":"ef687d958f83ad13dff915d89f54ab2d8322193a"
}
}
Tento krok si můžete ručně vyzkoušet z příkazového řádku:

Získání seznamu Vašich hodin
Dalším krokem je získání seznamu hodin, které jsou spárovány s Vaším účtem. Párování proběhne automaticky během připojování hodin k internetu. Nahraďte ACCESS_TOKEN přístupovým tokenem, který jste získali v předchozím kroku.
Specifikace volání API:
- Typ požadavku – GET
- URL endpointu –
/v1/devices?client_id=3rdparty&access_token=ACCESS_TOKEN&client_secret=ws7TQHXp5W6444t4
Příklad volání API pomocí curl:
$ curl -X GET "https://api.daliborfarny.com/v1/devices?client_id=3rdparty&access_token=62dd89362a635ff8692a590456e8a8118e61d9902&client_secret=ws7TQHXp5W6444t4"
JSON odpověď vrácená cloudovým serverem:
{
"ok":true,
"status":200,
"data":[
{
"id":"2d001c110c47363463353230",
"name":"Puri Nixie Clock #51",
"product_name":"Puri-4 Nixie Clock",
"img_url":"https:\/\/www.daliborfarny.com\/wp-content\/uploads\/2018\/09\/LKJ4467_1024.jpg",
"id_product":"6"
},
{
"id":"320029000147373336323320",
"name":"Puri-4 Nixie Clock #95",
"product_name":"Puri-4 Nixie Clock",
"img_url":"https:\/\/www.daliborfarny.com\/wp-content\/uploads\/2018\/09\/LKJ4467_1024.jpg",
"id_product":"6"
}
]
}
Ověření online připojení hodin ke cloudu
Nyní potřebujeme ověřit, zda jsou hodiny připojeny ke cloudu a zda s nimi můžeme „mluvit“.
Specifikace volání API:
- Typ požadavku – GET
- URL endpointu –
/v1/devices/CLOCK_ID/online?client_id=3rdparty&access_token=ACCESS_TOKEN&client_secret=ws7TQHXp5W6444t4
Příklad volání API pomocí curl:
$ curl -X GET "https://api.daliborfarny.com/v1/devices/320029000147373336323320/online?client_id=3rdparty&access_token=62dd89362a635ff8692a590456e8a8118e61d9902&client_secret=ws7TQHXp5W6444t4"
JSON odpověď vrácená cloudovým serverem:
{
"ok":true,
"status":200,
"data":{
"value":true
}
}
Čtení konfiguračních parametrů
Všechny konfigurační parametry jsou uloženy přímo v hodinách a můžeme je číst odesíláním volání API podle níže uvedené specifikace. Místo PARAMETER doplňte skutečný název parametru, který chceme z hodin přečíst.
Specifikace volání API:
- Typ požadavku – GET
- URL endpointu –
/v1/devices/CLOCK_ID/PARAMETER?client_id=3rdparty&access_token=ACCESS_TOKEN&client_secret=ws7TQHXp5W6444t4
Příklad volání API pro zjištění hodnoty parametru „transition“ pomocí curl:
$ curl -X GET "https://api.daliborfarny.com/v1/devices/320029000147373336323320/transition?client_id=3rdparty&access_token=62dd89362a635ff8692a590456e8a8118e61d9902&client_secret=ws7TQHXp5W6444t4"
JSON odpověď vrácená cloudovým serverem, hodnota parametru je v tomto příkladu „2“.
{
"ok":true,
"status":200,
"data":{
"value":2
}
}
Odesílání konfiguračních parametrů
Všechny konfigurační parametry jsou uloženy přímo v hodinách. Pro změnu konkrétního parametru je potřeba provést volání API podle níže uvedené specifikace. Místo PARAMETER doplňte skutečný název parametru, který chceme v hodinách změnit. VALUE je skutečná hodnota, na kterou chceme PARAMETER nastavit.
Specifikace volání API:
- Typ požadavku – POST
- URL endpointu –
/v1/devices/CLOCK_ID/PARAMETER - Tělo požadavku –
access_token=ACCESS_TOKEN&arg=VALUE&client_secret=ws7TQHXp5W6444t4&client_id=3rdparty
Příklad volání API pomocí curl – takto můžeme nastavit parametr „transition“ na hodnotu 3.
$ curl -X POST "https://api.daliborfarny.com/v1/devices/320029000147373336323320/transition" -d "access_token=62dd89362a635ff8692a590456e8a8118e61d9902&arg=3&client_id=3rdparty&client_secret=ws7TQHXp5W6444t4"
JSON odpověď vrácená cloudovým serverem:
{
"ok":true,
"status":200,
"data":{
"value":2
}
}
Konfigurační parametry
| Parametr | Zen | NixieMachineII | NixieMachineIII | NX2 | PURI4 | PURI6 | Klíčové slovo parametru | Čtení/zápis |
|---|---|---|---|---|---|---|---|---|
| ID hodin | 2 | 3 | 9 | 4 | 6 | 15 | ||
| Přípustné hodnoty | ||||||||
| Formát času | 12, 24 | format | RW | |||||
| Uvozovací nula | 1, 2 | leadingzero | RW | |||||
| Letní čas | 1, 2, 3 | dst | RW | |||||
| Časová zóna | timezone | RW | ||||||
| Zobrazení data | 1, 2, 3, 4, 5 | datedisplay | RW | |||||
| Přechodový efekt číslic | 1, 2, 3, 4 | transition | RW | |||||
| Interval čištění katod | 1, 10, 30, 98 | slotmachineperiod | RW | |||||
| Režim systémové LED | 1, 2, 3 | photonled | RW | |||||
| Režim podsvícení | 1,2 | – | – | – | – | – | underlightmode | RW |
| Segmenty podsvícení | 1, 2, 4, 6 | – | – | – | – | – | underlightsegments | RW |
| Barva podsvícení | 1 – 2^32 | – | – | – | – | – | underlightsolidcolor | RW |
| Jas v denním režimu | 1, 6, 71, 126, 201, 256 | brightnessday | RW | |||||
| Jas v nočním režimu | 1, 6, 71, 126, 201, 256 | brightnessnight | RW | |||||
| Rozvrh | nmstr | W | ||||||
| Režim dvojtečky | 1, 2, 3 | – | – | – | 1, 2, 3 | 1, 2, 3 | colonmode | RW |
| Kontrolka napájení | – | 1, 2 | 1, 2 | – | – | – | powerlight | RW |
| Režim připojení | 1, 2 | connectivitymode | RW | |||||
| Čas | 1, 2 | time | RW | |||||
| Vlastní data | XXXXXXXX | customdata | W | |||||
| Časový limit vlastních dat | 0-255 | customdatatimeout | RW | |||||
| Spuštění odpočtu | 1-359999 | startcountdown | W | |||||
| Přepnutí do režimu času | 1 | switchtotimemode | W | |||||
| Režim přeblikávání | 1,2 | slotmachinemode | RW | |||||
| Restart hodin | 1 | reset | W | |||||
| Reset Homekit | 1 | homekitreset | W | |||||
| Kalibrace RTC | rtccalibration | RW | ||||||
| Systémový firmware | systemfirmware | R | ||||||
| Verze firmware | firmware | R | ||||||
| Síla signálu Wi-Fi | rssi | R | ||||||
| Restarty watchdogu | watchdogevents | R | ||||||
| ID hodin | productid | R | ||||||
| Sériové číslo hodin | 0-99999 | serialnumber | RW | |||||
| Připojení Homekit | hkconnectionsnumber | R | ||||||
| Největší volný blok paměti | largestfreeblockheap | R | ||||||
| Volná paměť | freememory | R | ||||||
| Aktuálně zobrazená hodnota | currentdisplayedvalue | R | ||||||
| Rozdíl při poslední synchronizaci NTP | lastntpsyncmillis | R | ||||||
| Aktualizace OTA | otaenabled | R | ||||||
| MAC adresa | macaddr | R | ||||||
Vysvětlení jednotlivých konfiguračních parametrů
Formát času
12 = 12hodinový formát, 24 = 24hodinový formát
Uvozovací nula
1 = VYPNUTO, 2 = ZAPNUTO
Letní čas
1 = VYPNUTO, 2 = ZAPNUTO, 3 = Automaticky
Časová zóna
| Název | Hodnota |
|---|---|
| (UTC-12:00) Mezinárodní datová hranice (západ) | 0 |
| (UTC-11:00) Koordinovaný světový čas -11 | 1 |
| (UTC-10:00) Havaj | 2 |
| (UTC-09:00) Aljaška | 3 |
| (UTC-08:00) Pacifický čas (USA a Kanada) | 4 |
| (UTC-08:00) Baja California | 5 |
| (UTC-07:00) Horský čas (USA a Kanada) | 6 |
| (UTC-07:00) Chihuahua, La Paz, Mazatlan | 7 |
| (UTC-07:00) Arizona | 8 |
| (UTC-06:00) Saskatchewan | 9 |
| (UTC-06:00) Střední Amerika | 10 |
| (UTC-06:00) Centrální čas (USA a Kanada) | 11 |
| (UTC-06:00) Guadalajara, Ciudad de México, Monterrey | 12 |
| (UTC-05:00) Východní čas (USA a Kanada) | 13 |
| (UTC-05:00) Bogota, Lima, Quito | 14 |
| (UTC-05:00) Indiana (východ) | 15 |
| (UTC-04:30) Caracas | 16 |
| (UTC-04:00) Atlantický čas (Kanada) | 17 |
| (UTC-04:00) Cuiaba | 18 |
| (UTC-04:00) Santiago | 19 |
| (UTC-04:00) Georgetown, La Paz, Manaus, San Juan | 20 |
| (UTC-04:00) Asunción | 21 |
| (UTC-03:30) Newfoundland | 22 |
| (UTC-03:00) Brasília | 23 |
| (UTC-03:00) Grónsko | 24 |
| (UTC-03:00) Montevideo | 25 |
| (UTC-03:00) Cayenne, Fortaleza | 26 |
| (UTC-03:00) Buenos Aires | 27 |
| (UTC-02:00) Střední Atlantik | 28 |
| (UTC-02:00) Koordinovaný světový čas -02 | 29 |
| (UTC-01:00) Azorské ostrovy | 30 |
| (UTC-01:00) Kapverdy | 31 |
| (UTC) Dublin, Edinburgh, Lisabon, Londýn | 32 |
| (UTC) Monrovia, Reykjavík | 33 |
| (UTC) Casablanca | 34 |
| (UTC) Koordinovaný světový čas | 35 |
| (UTC+01:00) Bělehrad, Bratislava, Budapešť, Lublaň, Praha | 36 |
| (UTC+01:00) Sarajevo, Skopje, Varšava, Záhřeb | 37 |
| (UTC+01:00) Brusel, Kodaň, Madrid, Paříž | 38 |
| (UTC+01:00) Západní střední Afrika | 39 |
| (UTC+01:00) Amsterdam, Berlín, Bern, Řím, Stockholm, Vídeň | 40 |
| (UTC+01:00) Windhoek | 41 |
| (UTC+02:00) Minsk | 42 |
| (UTC+02:00) Káhira | 43 |
| (UTC+02:00) Helsinky, Kyjev, Riga, Sofie, Tallinn, Vilnius | 44 |
| (UTC+02:00) Atény, Bukurešť | 45 |
| (UTC+02:00) Jeruzalém | 46 |
| (UTC+02:00) Ammán | 47 |
| (UTC+02:00) Bejrút | 48 |
| (UTC+02:00) Harare, Pretorie | 49 |
| (UTC+02:00) Damašek | 50 |
| (UTC+02:00) Istanbul | 51 |
| (UTC+03:00) Kuvajt, Rijád | 52 |
| (UTC+03:00) Bagdád | 53 |
| (UTC+03:00) Nairobi | 54 |
| (UTC+03:00) Kaliningrad | 55 |
| (UTC+03:00) Moskva, Petrohrad, Volgograd | 56 |
| (UTC+03:30) Teherán | 57 |
| (UTC+04:00) Abú Dhabí, Maskat | 58 |
| (UTC+04:00) Baku | 59 |
| (UTC+04:00) Jerevan | 60 |
| (UTC+04:00) Tbilisi | 61 |
| (UTC+04:00) Port Louis | 62 |
| (UTC+04:30) Kábul | 63 |
| (UTC+05:00) Taškent | 64 |
| (UTC+05:00) Islámábád, Karáčí | 65 |
| (UTC+05:30) Čennaí, Kalkata, Bombaj, Nové Dillí | 66 |
| (UTC+05:30) Šrí Džajavardanapura | 67 |
| (UTC+05:45) Káthmándú | 68 |
| (UTC+06:00) Jekatěrinburg | 69 |
| (UTC+06:00) Astana | 70 |
| (UTC+06:00) Dháka | 71 |
| (UTC+06:30) Yangon (Rangún) | 72 |
| (UTC+07:00) Novosibirsk | 73 |
| (UTC+07:00) Bangkok, Hanoj, Jakarta | 74 |
| (UTC+08:00) Krasnojarsk | 75 |
| (UTC+08:00) Peking, Čchung-čching, Hongkong, Urumči | 76 |
| (UTC+08:00) Kuala Lumpur, Singapur | 77 |
| (UTC+08:00) Tchaj-pej | 78 |
| (UTC+08:00) Perth | 79 |
| (UTC+08:00) Ulánbátar | 80 |
| (UTC+09:00) Irkutsk | 81 |
| (UTC+09:00) Soul | 82 |
| (UTC+09:00) Ósaka, Sapporo, Tokio | 83 |
| (UTC+09:30) Darwin | 84 |
| (UTC+09:30) Adelaide | 85 |
| (UTC+10:00) Jakutsk | 86 |
| (UTC+10:00) Canberra, Melbourne, Sydney | 87 |
| (UTC+10:00) Brisbane | 88 |
| (UTC+10:00) Hobart | 89 |
| (UTC+10:00) Guam, Port Moresby | 90 |
| (UTC+11:00) Vladivostok | 91 |
| (UTC+11:00) Šalamounovy ostrovy, Nová Kaledonie | 92 |
| (UTC+12:00) Magadan | 93 |
| (UTC+12:00) Fidži | 94 |
| (UTC+12:00) Auckland, Wellington | 95 |
| (UTC+12:00) Koordinovaný světový čas +12 | 96 |
| (UTC+13:00) Nuku’alofa | 97 |
| (UTC-11:00) Samoa | 98 |
Zobrazení data
1 = VYPNUTO, 2 = DD, 3 = DDMMYY, 4 = MMDDYY, 5 = YYMMDD
Přechodový efekt číslic
1 = Normální, 2 = Prolínání, 3 = Přeblikávání, 4 = Přeblikávání/prolínání
Režim systémové LED
1 = Vždy zapnuto, 2 = Vypnuto při připojení, 3 = Vždy vypnuto
Interval čištění katod
1 = Každou minutu, 10 = Každých 10 minut, 30 = Každých 30 minut, 98 = Jednou denně ve 3:00
Režim podsvícení
1 = VYPNUTO, 2 = Jedna barva
Segmenty podsvícení
1 = Vše vypnuto, 2 = Pouze spodní, 4 = Pouze horní, 6 = Vše zapnuto
Barva podsvícení
32bitová hodnota, 0b00000000BBBBBBBBGGGGGGGGRRRRRRRR
Režim dvojtečky
1 = VYPNUTO, 2 = Trvale zapnuto, 3 = Pohasínání
Kontrolka napájení
1 = ZAPNUTO, 2 = VYPNUTO
Režim připojení
1 = Online, 2 = Offline
Čas
Unixové časové razítko (UTC+0) v sekundách, funguje pouze v offline režimu (v online režimu se přepisuje).
Vlastní data
8 znaků představujících 6 digitronů a 2 dvojtečkové elektronky (na Puri-4 se dva digitrony a jedna dvojtečka nezobrazují).
Speciální znaky:
- „_“ zhasne danou pozici (funguje pro dvojtečkovou elektronku i pro číselný digitron)
- „:“ rozsvítí obě tečky, pouze pro dvojtečkovou elektronku
- „.“ rozsvítí spodní tečku, pouze pro dvojtečkovou elektronku
- „;“ rozsvítí horní tečku, pouze pro dvojtečkovou elektronku
Příklady řetězců:
- „12_34_56“ zobrazí na digitronech 123456 a dvojtečkové elektronky zhasne
- „_____.25“ zobrazí 25 na pravé dvojici digitronů a spodní tečku na pravé dvojtečkové elektronce
- „;15;“ zhasne všechny digitrony kromě prostřední dvojice, obě dvojtečky zobrazí horní tečku
Časový limit vlastních dat
Tento parametr určuje, po jaké době se hodiny po přijetí vlastních dat musí vrátit do režimu času (zobrazování času). Pro lepší rozlišení se skutečná doba počítá jako druhá mocnina odeslané hodnoty. Pokud odešlete hodnotu „5“, časový limit bude 25 sekund (5 × 5 = 25).
Spuštění odpočtu
Toto volání spustí odpočet, parametrem je požadovaná doba v sekundách. Pokud chcete spustit odpočet na 3 minuty, zavolejte jej s parametrem 180 (3*60).
Přepnutí do režimu času
Zavoláním tohoto parametru přepnete hodiny do režimu času (např. z režimu vlastních dat, z režimu přeblikávání nebo z odpočtu).
Režim přeblikávání
1 = aktivovat, 2 = deaktivovat
Reset Homekit
Zavoláním tohoto parametru smažete aktuální párování Homekit a obnovíte jeho výchozí stav.
Kalibrace RTC
Přípustné hodnoty (v PPM):
-63,-61,-59,-57,-55,-53,-51,-49,-47,-45,-43,-41,-39, -37,-35,-33,-31,-28,-26,-24,-22,-20,-18,-16,-14,-12, -10,-8,-6,-4,-2,0,4,8,12,16,20,24,28,33,37,41,45,49, 53,57,61,65,69,73,77,81,85,90,94,98,102,106,110,114,118,122,126
Sériové číslo hodin
Sériové číslo nastavujeme my po výrobě hodin, proto ho prosím neměňte.
Připojení Homekit
Počet klientů (iPhony, iPady), kteří jsou aktuálně připojeni k hodinám přes Homekit.
Největší volný blok paměti
Největší volný alokovatelný blok paměti na haldě, v bajtech.
Volná paměť
Celková volná paměť na haldě v bajtech.
Aktuálně zobrazená hodnota
Číslo aktuálně zobrazené na digitronech, dvojtečky se nezapočítávají.
Rozdíl při poslední synchronizaci NTP
O kolik milisekund byl systémový čas upraven při poslední synchronizaci NTP?
Aktualizace OTA
Jsou povoleny aktualizace vzduchem (Over The Air)? 1 = povoleno, 0 = zakázáno
MAC adresa
Vrací MAC adresu zařízení