Tovább a tartalomhoz

Előzményadatok letöltése

Minden eszköz előzményadatai szöveges fájlokban (datalogs) vannak az eszközszerverén. Minden fájl egy napot, egy hónapot vagy a teljes előzményt tartalmazza. Olvasási jogosultság kell az eszközhöz.

Kód nélküli exportáláshoz használja az alkalmazás jelentéseit. Lásd: az Ön adatai.

  1. Keresse meg az eszköz szerverét. Hívja meg a get_device_info.php végpontot, és olvassa ki a device_server mezőt. Lásd: REST API.
  2. Keresse meg az oszlopok sorrendjét. Hívja meg a get_device_definitions.php?family_id=<family> végpontot, és olvassa ki a readings és az output_names mezőt.
  3. Számítsa ki a szintet és a fájlszámot (bin) a kívánt időszakhoz.
  4. Töltse le az egyes fájlokat az eszköz szerveréről.
  5. Fűzze össze a sorokat, rendezze őket időbélyeg szerint, és töltse ki az üres mezőket.
Terminál
curl --compressed \
-H "Authorization: Bearer-API YOUR_API_KEY" \
"https://DEVICE_SERVER/datalogs.php?serialno=e11:123&id=0.20740&ver=2"

Cserélje ki a DEVICE_SERVER értéket az eszköz device_server mezőjének értékére.

Paraméter Érték
serialno Az eszköz sorozatszáma
id <level>.<bin>, például 0.20740
ver 2

A hitelesítéshez küldje az Authorization: Bearer-API YOUR_API_KEY vagy az Authorization: Bearer YOUR_ACCESS_TOKEN fejlécet.

A szerver tömörítve (gzip vagy br) is küldheti a fájlt. A curl --compressed beállítása kicsomagolja.

HTTP kód Jelentés
200 A fájl, text/plain formátumban
400 Hibás serialno vagy id
403 Nincs olvasási jogosultsága az eszközhöz
404 Ehhez a fájlhoz nincs adat

Minden számítás UTC-t használ.

Szint Egy fájl Bin számítása Példa
0 Naponta floor(unix_seconds / 86400) 2026. október 14. = 0.20740
1 Havonta (year - 1970) * 12 + (month - 1) 2026. október = 1.681
2 Teljes előzmény Mindig m 2.m

A 0 szint a nap összes sorát tartalmazza. Az 1 szint naponta kb. egy sort tartalmaz. A 2 szint havonta kb. egy sort tartalmaz.

Az alkalmazás legfeljebb 7 napos időszakokhoz a 0 szintet, legfeljebb 5 hónapos időszakokhoz az 1 szintet használja. Hosszabb időszakokhoz a 2.m fájlt használja.

Minden sor egy mérés. A mezőket ; választja el.

timestamp;reading1;reading2;...;readingN;output1;...;outputM
  • A timestamp unix másodpercben (UTC) van megadva. Tizedesjegyei is lehetnek.
  • Ezután jönnek a mérések, a család readings sorrendjében.
  • Ezután jönnek a kimenetek, az output_names sorrendjében.
  • Az üres mező azt jelenti, hogy az érték nem változott. Használja egy korábbi sor utolsó értékét.
  • A 2147483648 érték azt jelenti, hogy a mérés hiányzik.
  • A sorok nem mindig rendezettek. Rendezze őket timestamp szerint.

Egy e11 családba tartozó eszköznél readings = ["T", "GI", "GIC", "GI2", "GI2C"], és nincsenek kimenetei.

1791936198.977;2120;1;0;1;0
Mező Érték Jelentés
timestamp 1791936198.977 A mérés időpontja
T 2120 21,20 °C, mert a T átváltása divide_by_100
GI 1 Az első bemenet állapota
GIC 0 Az első bemenet számlálója
GI2 1 A második bemenet állapota
GI2C 0 A második bemenet számlálója

Az átváltásokat és a mértékegységeket a definíciók readings szótárában találja. Lásd: REST API.

Ez a példa egy eszköz utolsó 3 napját tölti le.

Terminál
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

Az MCP szerver rendelkezik a get_device_history eszközzel. Ugyanazokat a szinteket és bin értékeket fogadja el.

Csevegés az ügyfélszolgálattal