Download historiske data
Hver enheds historiske data er i tekstfiler (datalogs) på dens enhedsserver. Hver fil dækker én dag, én måned eller hele historikken. Du skal have læsetilladelse til enheden.
Brug app’ens rapporter til en eksport uden kode. Se dine data.
Procedure
Sektion kaldt “Procedure”- Find enhedens server. Kald
get_device_info.php, og læs feltetdevice_server. Se REST API. - Find kolonnernes rækkefølge. Kald
get_device_definitions.php?family_id=<family>, og læsreadingsogoutput_names. - Beregn niveauet og filens nummer (bin) for den periode, du vil have.
- Download hver fil fra enhedens server.
- Saml rækkerne, sortér dem efter tidsstempel, og udfyld de tomme felter.
Anmodningen
Sektion kaldt “Anmodningen”curl --compressed \ -H "Authorization: Bearer-API YOUR_API_KEY" \ "https://DEVICE_SERVER/datalogs.php?serialno=e11:123&id=0.20740&ver=2"Erstat DEVICE_SERVER med værdien i enhedens felt device_server.
| Parameter | Værdi |
|---|---|
serialno |
Enhedens serienummer |
id |
<level>.<bin>, for eksempel 0.20740 |
ver |
2 |
Send headeren Authorization: Bearer-API YOUR_API_KEY eller Authorization: Bearer YOUR_ACCESS_TOKEN til godkendelse.
Serveren kan sende filen komprimeret (gzip eller br). curl-indstillingen --compressed dekomprimerer den.
| HTTP-kode | Betydning |
|---|---|
| 200 | Filen som text/plain |
| 400 | Forkert serialno eller id |
| 403 | Du har ikke læsetilladelse til enheden |
| 404 | Der er ingen data for denne fil |
Niveauer og filnumre
Sektion kaldt “Niveauer og filnumre”Alle beregninger bruger UTC.
| Niveau | Én fil for hver | Beregning af bin | Eksempel |
|---|---|---|---|
0 |
Dag | floor(unix_seconds / 86400) |
14. oktober 2026 = 0.20740 |
1 |
Måned | (year - 1970) * 12 + (month - 1) |
Oktober 2026 = 1.681 |
2 |
Hele historikken | Altid m |
2.m |
Niveau 0 har alle dagens rækker. Niveau 1 har cirka én række for hver dag. Niveau 2 har cirka én række for hver måned.
App’en bruger niveau 0 til perioder op til 7 dage og niveau 1 til perioder op til 5 måneder. Til længere perioder bruger den 2.m.
Rækkernes format
Sektion kaldt “Rækkernes format”Hver række er én måling. Felterne er adskilt med ;.
timestamp;reading1;reading2;...;readingN;output1;...;outputMtimestamper unix-sekunder (UTC). Det kan have decimaler.- Derefter kommer målingerne i rækkefølgen fra familiens
readings. - Derefter kommer udgangene i rækkefølgen fra
output_names. - Et tomt felt betyder, at værdien ikke ændrede sig. Brug den sidste værdi fra en tidligere række.
- Værdien
2147483648betyder, at målingen mangler. - Rækkerne er ikke altid sorteret. Sortér dem efter
timestamp.
Eksempel
Sektion kaldt “Eksempel”En enhed i familien e11 har readings = ["T", "GI", "GIC", "GI2", "GI2C"] og ingen udgange.
1791936198.977;2120;1;0;1;0| Felt | Værdi | Betydning |
|---|---|---|
| timestamp | 1791936198.977 |
Tidspunktet for målingen |
T |
2120 |
21.20 °C, fordi omregningen for T er divide_by_100 |
GI |
1 |
Tilstanden for den første indgang |
GIC |
0 |
Tælleren for den første indgang |
GI2 |
1 |
Tilstanden for den anden indgang |
GI2C |
0 |
Tælleren for den anden indgang |
Du finder omregningerne og enhederne i ordbogen readings i definitionerne. Se REST API.
Eksempel til shell
Sektion kaldt “Eksempel til shell”Dette eksempel downloader de sidste 3 dage for en enhed.
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,1nAnden metode
Sektion kaldt “Anden metode”MCP-serveren har værktøjet get_device_history. Det accepterer de samme niveauer og bins.

