Stažení historických dat
Historická data každého zařízení jsou v textových souborech (datalozích) na jeho serveru zařízení. Každý soubor pokrývá jeden den, jeden měsíc nebo celou historii. Potřebujete oprávnění ke čtení zařízení.
Pro export bez kódu použijte reporty v aplikaci. Viz vaše data.
Postup
Sekce “Postup”- Najděte server zařízení. Zavolejte
get_device_info.phpa přečtěte poledevice_server. Viz REST API. - Najděte pořadí sloupců. Zavolejte
get_device_definitions.php?family_id=<rodina>a přečtětereadingsaoutput_names. - Vypočtěte úroveň a číslo souboru (bin) pro požadované období.
- Stáhněte každý soubor ze serveru zařízení.
- Spojte řádky, seřaďte je podle časové značky a doplňte prázdná pole.
Požadavek
Sekce “Požadavek”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 pole device_server zařízení.
| Parametr | Hodnota |
|---|---|
serialno |
Sériové číslo zařízení |
id |
<úroveň>.<bin>, například 0.20740 |
ver |
2 |
Pro ověření pošlete hlavičku Authorization: Bearer-API YOUR_API_KEY nebo Authorization: Bearer YOUR_ACCESS_TOKEN.
Server může poslat soubor komprimovaný (gzip nebo br). Volba curl --compressed ho rozbalí.
| Kód HTTP | Význam |
|---|---|
| 200 | Soubor jako text/plain |
| 400 | Chybné serialno nebo id |
| 403 | Nemáte oprávnění ke čtení zařízení |
| 404 | Pro tento soubor nejsou data |
Úrovně a čísla souborů
Sekce “Úrovně a čísla souborů”Všechny výpočty používají UTC.
| Úroveň | Jeden soubor na | Výpočet binu | Příklad |
|---|---|---|---|
0 |
Den | floor(unix_seconds / 86400) |
14. října 2026 = 0.20740 |
1 |
Měsíc | (year - 1970) * 12 + (month - 1) |
Říjen 2026 = 1.681 |
2 |
Celá historie | Vždy m |
2.m |
Úroveň 0 obsahuje všechny řádky dne. Úroveň 1 obsahuje asi jeden řádek za den. Úroveň 2 obsahuje asi jeden řádek za měsíc.
Aplikace používá úroveň 0 pro období do 7 dnů a úroveň 1 pro období do 5 měsíců. Pro delší období používá 2.m.
Formát řádku
Sekce “Formát řádku”Každý řádek je jedno měření. Pole jsou oddělena znakem ;.
timestamp;reading1;reading2;...;readingN;output1;...;outputMtimestampje unixový čas v sekundách (UTC). Může mít desetinná místa.- Pak následují měření v pořadí
readingsrodiny. - Pak následují výstupy v pořadí
output_names. - Prázdné pole znamená, že se hodnota nezměnila. Použijte poslední hodnotu z dřívějšího řádku.
- Hodnota
2147483648znamená, že měření chybí. - Řádky nejsou vždy seřazeny. Seřaďte je podle
timestamp.
Příklad
Sekce “Příklad”Zařízení rodiny e11 má readings = ["T", "GI", "GIC", "GI2", "GI2C"] a žádné výstupy.
1791936198.977;2120;1;0;1;0| Pole | Hodnota | Význam |
|---|---|---|
| timestamp | 1791936198.977 |
Čas měření |
T |
2120 |
21.20 °C, protože převod T je divide_by_100 |
GI |
1 |
Stav prvního vstupu |
GIC |
0 |
Počítadlo prvního vstupu |
GI2 |
1 |
Stav druhého vstupu |
GI2C |
0 |
Počítadlo druhého vstupu |
Převody a jednotky najdete ve slovníku readings v definicích. Viz REST API.
Příklad v shellu
Sekce “Příklad v shellu”Tento příklad stáhne poslední 3 dny zařízení.
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,1nJiná metoda
Sekce “Jiná metoda”Server MCP má nástroj get_device_history. Přijímá stejné úrovně a biny.

