Stiahnutie historických údajov
Historické údaje každého zariadenia sú v textových súboroch (datalogoch) na serveri zariadenia. Každý súbor pokrýva jeden deň, jeden mesiac alebo celú históriu. Potrebujete oprávnenie na čítanie zariadenia.
Na export bez kódu použite správy z aplikácie. Pozrite vaše údaje.
Postup
Section titled “Postup”- Nájdite server zariadenia. Zavolajte
get_device_info.phpa prečítajte poledevice_server. Pozrite REST API. - Nájdite poradie stĺpcov. Zavolajte
get_device_definitions.php?family_id=<family>a prečítajtereadingsaoutput_names. - Vypočítajte úroveň a číslo súboru (bin) pre obdobie, ktoré chcete.
- Stiahnite každý súbor zo servera zariadenia.
- Spojte riadky, zoraďte ich podľa časovej značky a doplňte prázdne polia.
Požiadavka
Section titled “Požiadavka”curl --compressed \ -H "Authorization: Bearer-API YOUR_API_KEY" \ "https://DEVICE_SERVER/datalogs.php?serialno=e11:123&id=0.20740&ver=2"Nahraďte DEVICE_SERVER hodnotou poľa device_server zariadenia.
| Parameter | Hodnota |
|---|---|
serialno |
Sériové číslo zariadenia |
id |
<level>.<bin>, napríklad 0.20740 |
ver |
2 |
Na overenie pošlite hlavičku Authorization: Bearer-API YOUR_API_KEY alebo Authorization: Bearer YOUR_ACCESS_TOKEN.
Server môže poslať súbor komprimovaný (gzip alebo br). Voľba curl --compressed ho rozbalí.
| Kód HTTP | Význam |
|---|---|
| 200 | Súbor ako text/plain |
| 400 | Nesprávne serialno alebo id |
| 403 | Nemáte oprávnenie na čítanie zariadenia |
| 404 | Pre tento súbor nie sú žiadne údaje |
Úrovne a čísla súborov
Section titled “Úrovne a čísla súborov”Všetky výpočty používajú UTC.
| Úroveň | Jeden súbor na | Výpočet bin | Príklad |
|---|---|---|---|
0 |
Deň | floor(unix_seconds / 86400) |
14. október 2026 = 0.20740 |
1 |
Mesiac | (year - 1970) * 12 + (month - 1) |
Október 2026 = 1.681 |
2 |
Celá história | Vždy m |
2.m |
Úroveň 0 má všetky riadky dňa. Úroveň 1 má približne jeden riadok na deň. Úroveň 2 má približne jeden riadok na mesiac.
Aplikácia používa úroveň 0 pre obdobia do 7 dní a úroveň 1 pre obdobia do 5 mesiacov. Pre dlhšie obdobia používa 2.m.
Formát riadku
Section titled “Formát riadku”Každý riadok je jedno meranie. Polia sú oddelené znakom ;.
timestamp;reading1;reading2;...;readingN;output1;...;outputMtimestampsú sekundy unix (UTC). Môže mať desatinné miesta.- Potom nasledujú merania v poradí
readingsrodiny. - Potom nasledujú výstupy v poradí
output_names. - Prázdne pole znamená, že sa hodnota nezmenila. Použite poslednú hodnotu z predchádzajúceho riadku.
- Hodnota
2147483648znamená, že meranie chýba. - Riadky nie sú vždy zoradené. Zoraďte ich podľa
timestamp.
Príklad
Section titled “Príklad”Zariadenie rodiny e11 má readings = ["T", "GI", "GIC", "GI2", "GI2C"] a nemá výstupy.
1791936198.977;2120;1;0;1;0| Pole | Hodnota | Význam |
|---|---|---|
| timestamp | 1791936198.977 |
Čas merania |
T |
2120 |
21,20 °C, pretože prevod T je divide_by_100 |
GI |
1 |
Stav prvého vstupu |
GIC |
0 |
Počítadlo prvého vstupu |
GI2 |
1 |
Stav druhého vstupu |
GI2C |
0 |
Počítadlo druhého vstupu |
Prevody a jednotky nájdete v slovníku readings definícií. Pozrite REST API.
Príklad pre shell
Section titled “Príklad pre shell”Tento príklad stiahne posledné 3 dni zariadenia.
SERVER=DEVICE_SERVERSN=e11:123TODAY=$(( $(date -u +%s) / 86400 ))for BIN in $(seq $((TODAY - 2)) $TODAY); do curl -s --compressed \ -H "Authorization: Bearer-API YOUR_API_KEY" \ "https://$SERVER/datalogs.php?serialno=$SN&id=0.$BIN&ver=2"done | sort -t';' -k1,1nIná metóda
Section titled “Iná metóda”Server MCP má nástroj get_device_history. Prijíma tie isté úrovne a biny.

