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í