Historische gegevens downloaden
De historische gegevens van elk apparaat staan in tekstbestanden (datalogs) op de apparaatserver. Elk bestand beslaat één dag, één maand of de volledige geschiedenis. U hebt leesrechten op het apparaat nodig.
Gebruik voor een export zonder code de rapporten van de app. Zie uw gegevens.
Procedure
Section titled “Procedure”- Zoek de server van het apparaat. Roep
get_device_info.phpaan en lees het velddevice_server. Zie de REST API. - Zoek de kolomvolgorde. Roep
get_device_definitions.php?family_id=<family>aan en leesreadingsenoutput_names. - Bereken het niveau en het bestandsnummer (bin) voor de periode die u wilt.
- Download elk bestand van de server van het apparaat.
- Voeg de rijen samen, sorteer ze op tijdstempel en vul de lege velden in.
Het verzoek
Section titled “Het verzoek”curl --compressed \ -H "Authorization: Bearer-API YOUR_API_KEY" \ "https://DEVICE_SERVER/datalogs.php?serialno=e11:123&id=0.20740&ver=2"Vervang DEVICE_SERVER door de waarde van het veld device_server van het apparaat.
| Parameter | Waarde |
|---|---|
serialno |
Het serienummer van het apparaat |
id |
<level>.<bin>, bijvoorbeeld 0.20740 |
ver |
2 |
Stuur voor de authenticatie de header Authorization: Bearer-API YOUR_API_KEY of Authorization: Bearer YOUR_ACCESS_TOKEN.
De server kan het bestand gecomprimeerd sturen (gzip of br). De curl-optie --compressed decomprimeert het.
| HTTP-code | Betekenis |
|---|---|
| 200 | Het bestand, als text/plain |
| 400 | Onjuiste serialno of id |
| 403 | U hebt geen leesrechten op het apparaat |
| 404 | Er zijn geen gegevens voor dit bestand |
Niveaus en bestandsnummers
Section titled “Niveaus en bestandsnummers”Alle berekeningen gebruiken UTC.
| Niveau | Eén bestand per | Berekening van de bin | Voorbeeld |
|---|---|---|---|
0 |
Dag | floor(unix_seconds / 86400) |
14 oktober 2026 = 0.20740 |
1 |
Maand | (year - 1970) * 12 + (month - 1) |
Oktober 2026 = 1.681 |
2 |
Volledige geschiedenis | Altijd m |
2.m |
Niveau 0 heeft alle rijen van de dag. Niveau 1 heeft ongeveer één rij per dag. Niveau 2 heeft ongeveer één rij per maand.
De app gebruikt niveau 0 voor periodes tot 7 dagen en niveau 1 voor periodes tot 5 maanden. Voor langere periodes gebruikt hij 2.m.
Rijindeling
Section titled “Rijindeling”Elke rij is één meting. De velden zijn gescheiden door ;.
timestamp;reading1;reading2;...;readingN;output1;...;outputM- De
timestampis in unix-seconden (UTC). Hij kan decimalen hebben. - Daarna komen de metingen, in de volgorde van de familie
readings. - Daarna komen de uitgangen, in de volgorde van
output_names. - Een leeg veld betekent dat de waarde niet is veranderd. Gebruik de laatste waarde uit een eerdere rij.
- De waarde
2147483648betekent dat de meting ontbreekt. - De rijen zijn niet altijd gesorteerd. Sorteer ze op
timestamp.
Voorbeeld
Section titled “Voorbeeld”Een apparaat van familie e11 heeft readings = ["T", "GI", "GIC", "GI2", "GI2C"] en geen uitgangen.
1791936198.977;2120;1;0;1;0| Veld | Waarde | Betekenis |
|---|---|---|
| timestamp | 1791936198.977 |
Tijd van de meting |
T |
2120 |
21,20 °C, omdat de omzetting van T divide_by_100 is |
GI |
1 |
Status van de eerste ingang |
GIC |
0 |
Teller van de eerste ingang |
GI2 |
1 |
Status van de tweede ingang |
GI2C |
0 |
Teller van de tweede ingang |
U vindt de omzettingen en de eenheden in het woordenboek readings van de definities. Zie de REST API.
Voorbeeld met shell
Section titled “Voorbeeld met shell”Dit voorbeeld downloadt de laatste 3 dagen van een apparaat.
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,1nAndere methode
Section titled “Andere methode”De MCP-server heeft de tool get_device_history. Hij accepteert dezelfde niveaus en bins.

