Liigu sisu juurde

Ajalooliste andmete allalaadimine

Iga seadme ajaloolised andmed on tekstifailides (andmelogid) selle seadmeserveris. Iga fail hõlmab ühte päeva, ühte kuud või kogu ajalugu. Vajate seadmele lugemisõigust.

Ekspordiks ilma koodita kasutage rakenduse aruandeid. Vaadake teie andmed.

  1. Leidke seadme server. Kutsuge get_device_info.php ja lugege välja device_server. Vaadake REST API.
  2. Leidke veergude järjekord. Kutsuge get_device_definitions.php?family_id=<family> ja lugege readings ja output_names.
  3. Arvutage soovitud perioodi jaoks tase ja failinumber (bin).
  4. Laadige iga fail seadme serverist alla.
  5. Ühendage read, sorteerige need ajatempli järgi ja täitke tühjad väljad.
Terminal window
curl --compressed \
-H "Authorization: Bearer-API YOUR_API_KEY" \
"https://DEVICE_SERVER/datalogs.php?serialno=e11:123&id=0.20740&ver=2"

Asendage DEVICE_SERVER seadme välja device_server väärtusega.

Parameeter Väärtus
serialno Seadme seerianumber
id <level>.<bin>, näiteks 0.20740
ver 2

Autentimiseks saatke päis Authorization: Bearer-API YOUR_API_KEY või Authorization: Bearer YOUR_ACCESS_TOKEN.

Server võib saata faili tihendatult (gzip või br). Curl-i valik --compressed pakib selle lahti.

HTTP kood Tähendus
200 Fail kui text/plain
400 Vale serialno või id
403 Teil ei ole seadmele lugemisõigust
404 Selle faili jaoks andmeid ei ole

Kõik arvutused kasutavad UTC-d.

Tase Üks fail Bin-i arvutus Näide
0 Päevas floor(unix_seconds / 86400) 14. oktoober 2026 = 0.20740
1 Kuus (year - 1970) * 12 + (month - 1) Oktoober 2026 = 1.681
2 Kogu ajalugu Alati m 2.m

Tasemel 0 on kõik päeva read. Tasemel 1 on umbes üks rida päevas. Tasemel 2 on umbes üks rida kuus.

Rakendus kasutab taset 0 kuni 7-päevaste perioodide jaoks ja taset 1 kuni 5-kuuliste perioodide jaoks. Pikemate perioodide jaoks kasutab see 2.m.

Iga rida on üks mõõtmine. Väljad on eraldatud märgiga ;.

timestamp;reading1;reading2;...;readingN;output1;...;outputM
  • timestamp on unix sekundid (UTC). Sellel võivad olla kümnendkohad.
  • Seejärel tulevad näidud perekonna readings järjekorras.
  • Seejärel tulevad väljundid output_names järjekorras.
  • Tühi väli tähendab, et väärtus ei muutunud. Kasutage eelmise rea viimast väärtust.
  • Väärtus 2147483648 tähendab, et näit puudub.
  • Read ei ole alati sorteeritud. Sorteerige need välja timestamp järgi.

Perekonna e11 seadmel on readings = ["T", "GI", "GIC", "GI2", "GI2C"] ja väljundeid ei ole.

1791936198.977;2120;1;0;1;0
Väli Väärtus Tähendus
timestamp 1791936198.977 Mõõtmise aeg
T 2120 21.20 °C, sest T teisendus on divide_by_100
GI 1 Esimese sisendi olek
GIC 0 Esimese sisendi loendur
GI2 1 Teise sisendi olek
GI2C 0 Teise sisendi loendur

Teisendused ja ühikud leiate definitsioonide sõnastikust readings. Vaadake REST API.

See näide laadib alla seadme viimase 3 päeva andmed.

Terminal window
SERVER=DEVICE_SERVER
SN=e11:123
TODAY=$(( $(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,1n

MCP serveril on tööriist get_device_history. See aktsepteerib samu tasemeid ja bin-e.

Vestle toega