Descărcați datele istorice
Datele istorice ale fiecărui dispozitiv sunt în fișiere text (datalogs) pe serverul lui de dispozitive. Fiecare fișier acoperă o zi, o lună sau întregul istoric. Aveți nevoie de permisiune de citire pe dispozitiv.
Pentru un export fără cod, folosiți rapoartele din aplicație. Consultați datele dumneavoastră.
Procedură
Secțiune intitulată „Procedură”- Găsiți serverul dispozitivului. Apelați
get_device_info.phpși citiți câmpuldevice_server. Consultați API REST. - Găsiți ordinea coloanelor. Apelați
get_device_definitions.php?family_id=<family>și citițireadingsșioutput_names. - Calculați nivelul și numărul fișierului (bin) pentru perioada dorită.
- Descărcați fiecare fișier de pe serverul dispozitivului.
- Îmbinați rândurile, sortați-le după timestamp și completați câmpurile goale.
curl --compressed \ -H "Authorization: Bearer-API YOUR_API_KEY" \ "https://DEVICE_SERVER/datalogs.php?serialno=e11:123&id=0.20740&ver=2"Înlocuiți DEVICE_SERVER cu valoarea câmpului device_server al dispozitivului.
| Parametru | Valoare |
|---|---|
serialno |
Numărul de serie al dispozitivului |
id |
<level>.<bin>, de exemplu 0.20740 |
ver |
2 |
Pentru autentificare, trimiteți antetul Authorization: Bearer-API YOUR_API_KEY sau Authorization: Bearer YOUR_ACCESS_TOKEN.
Serverul poate trimite fișierul comprimat (gzip sau br). Opțiunea curl --compressed îl decomprimă.
| Cod HTTP | Semnificație |
|---|---|
| 200 | Fișierul, ca text/plain |
| 400 | serialno sau id greșit |
| 403 | Nu aveți permisiune de citire pe dispozitiv |
| 404 | Nu există date pentru acest fișier |
Niveluri și numere de fișier
Secțiune intitulată „Niveluri și numere de fișier”Toate calculele folosesc UTC.
| Nivel | Un fișier pentru | Calculul bin | Exemplu |
|---|---|---|---|
0 |
Zi | floor(unix_seconds / 86400) |
14 octombrie 2026 = 0.20740 |
1 |
Lună | (year - 1970) * 12 + (month - 1) |
octombrie 2026 = 1.681 |
2 |
Întregul istoric | Întotdeauna m |
2.m |
Nivelul 0 are toate rândurile zilei. Nivelul 1 are aproximativ un rând pe zi. Nivelul 2 are aproximativ un rând pe lună.
Aplicația folosește nivelul 0 pentru perioade de până la 7 zile și nivelul 1 pentru perioade de până la 5 luni. Pentru perioade mai lungi folosește 2.m.
Formatul rândului
Secțiune intitulată „Formatul rândului”Fiecare rând este o măsurătoare. Câmpurile sunt separate prin ;.
timestamp;reading1;reading2;...;readingN;output1;...;outputMtimestampeste în secunde unix (UTC). Poate avea zecimale.- Apoi urmează măsurătorile, în ordinea
readingsa familiei. - Apoi urmează ieșirile, în ordinea
output_names. - Un câmp gol înseamnă că valoarea nu s-a schimbat. Folosiți ultima valoare dintr-un rând anterior.
- Valoarea
2147483648înseamnă că măsurătoarea lipsește. - Rândurile nu sunt întotdeauna sortate. Sortați-le după
timestamp.
Un dispozitiv din familia e11 are readings = ["T", "GI", "GIC", "GI2", "GI2C"] și nu are ieșiri.
1791936198.977;2120;1;0;1;0| Câmp | Valoare | Semnificație |
|---|---|---|
| timestamp | 1791936198.977 |
Momentul măsurătorii |
T |
2120 |
21.20 °C, deoarece conversia lui T este divide_by_100 |
GI |
1 |
Starea primei intrări |
GIC |
0 |
Contorul primei intrări |
GI2 |
1 |
Starea celei de-a doua intrări |
GI2C |
0 |
Contorul celei de-a doua intrări |
Conversiile și unitățile se află în dicționarul readings al definițiilor. Consultați API REST.
Exemplu shell
Secțiune intitulată „Exemplu shell”Acest exemplu descarcă ultimele 3 zile ale unui dispozitiv.
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,1nAltă metodă
Secțiune intitulată „Altă metodă”Serverul MCP are instrumentul get_device_history. Acesta acceptă aceleași niveluri și bin-uri.

