Preuzimanje povijesnih podataka
Povijesni podaci svakog uređaja nalaze se u tekstnim datotekama (datalogovima) na njegovu poslužitelju uređaja. Svaka datoteka pokriva jedan dan, jedan mjesec ili cijelu povijest. Trebate dopuštenje čitanja na uređaju.
Za izvoz bez koda koristite izvješća aplikacije. Pogledajte vaše podatke.
Postupak
Ενότητα με τίτλο «Postupak»- Pronađite poslužitelj uređaja. Pozovite
get_device_info.phpi pročitajte poljedevice_server. Pogledajte REST API. - Pronađite redoslijed stupaca. Pozovite
get_device_definitions.php?family_id=<family>i pročitajtereadingsioutput_names. - Izračunajte razinu i broj datoteke (bin) za željeno razdoblje.
- Preuzmite svaku datoteku s poslužitelja uređaja.
- Spojite retke, sortirajte ih po vremenskoj oznaci i popunite prazna polja.
Zahtjev
Ενότητα με τίτλο «Zahtjev»curl --compressed \ -H "Authorization: Bearer-API YOUR_API_KEY" \ "https://DEVICE_SERVER/datalogs.php?serialno=e11:123&id=0.20740&ver=2"Zamijenite DEVICE_SERVER vrijednošću polja device_server uređaja.
| Parametar | Vrijednost |
|---|---|
serialno |
Serijski broj uređaja |
id |
<level>.<bin>, na primjer 0.20740 |
ver |
2 |
Za autentikaciju pošaljite zaglavlje Authorization: Bearer-API YOUR_API_KEY ili Authorization: Bearer YOUR_ACCESS_TOKEN.
Poslužitelj može poslati datoteku komprimiranu (gzip ili br). Opcija --compressed u curlu je dekomprimira.
| HTTP kôd | Značenje |
|---|---|
| 200 | Datoteka, kao text/plain |
| 400 | Pogrešan serialno ili id |
| 403 | Nemate dopuštenje čitanja na uređaju |
| 404 | Nema podataka za ovu datoteku |
Razine i brojevi datoteka
Ενότητα με τίτλο «Razine i brojevi datoteka»Svi izračuni koriste UTC.
| Razina | Jedna datoteka po | Izračun bina | Primjer |
|---|---|---|---|
0 |
Danu | floor(unix_seconds / 86400) |
14. listopada 2026. = 0.20740 |
1 |
Mjesecu | (year - 1970) * 12 + (month - 1) |
listopad 2026. = 1.681 |
2 |
Cijeloj povijesti | Uvijek m |
2.m |
Razina 0 ima sve retke dana. Razina 1 ima oko jedan redak po danu. Razina 2 ima oko jedan redak po mjesecu.
Aplikacija koristi razinu 0 za razdoblja do 7 dana i razinu 1 za razdoblja do 5 mjeseci. Za dulja razdoblja koristi 2.m.
Format retka
Ενότητα με τίτλο «Format retka»Svaki redak je jedno mjerenje. Polja su odvojena znakom ;.
timestamp;reading1;reading2;...;readingN;output1;...;outputMtimestampje unix sekunde (UTC). Može imati decimale.- Zatim dolaze mjerenja, redoslijedom
readingsobitelji. - Zatim dolaze izlazi, redoslijedom
output_names. - Prazno polje znači da se vrijednost nije promijenila. Koristite zadnju vrijednost iz ranijeg retka.
- Vrijednost
2147483648znači da mjerenje nedostaje. - Retci nisu uvijek sortirani. Sortirajte ih po
timestamp.
Primjer
Ενότητα με τίτλο «Primjer»Uređaj obitelji e11 ima readings = ["T", "GI", "GIC", "GI2", "GI2C"] i nema izlaza.
1791936198.977;2120;1;0;1;0| Polje | Vrijednost | Značenje |
|---|---|---|
| timestamp | 1791936198.977 |
Vrijeme mjerenja |
T |
2120 |
21.20 °C, jer je pretvorba za T divide_by_100 |
GI |
1 |
Stanje prvog ulaza |
GIC |
0 |
Brojač prvog ulaza |
GI2 |
1 |
Stanje drugog ulaza |
GI2C |
0 |
Brojač drugog ulaza |
Pretvorbe i jedinice nalaze se u rječniku readings definicija. Pogledajte REST API.
Primjer za ljusku
Ενότητα με τίτλο «Primjer za ljusku»Ovaj primjer preuzima zadnja 3 dana uređaja.
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,1nDruga metoda
Ενότητα με τίτλο «Druga metoda»MCP poslužitelj ima alat get_device_history. Prihvaća iste razine i binove.

