Télécharger les données historiques
Les données historiques de chaque appareil sont dans des fichiers texte (datalogs) sur son serveur d’appareils. Chaque fichier couvre un jour, un mois ou tout l’historique. Vous avez besoin de la permission de lecture sur l’appareil.
Pour un export sans code, utilisez les rapports de l’application. Voir vos données.
Procédure
Section intitulée « Procédure »- Trouvez le serveur de l’appareil. Appelez
get_device_info.phpet lisez le champdevice_server. Voir l’API REST. - Trouvez l’ordre des colonnes. Appelez
get_device_definitions.php?family_id=<family>et lisezreadingsetoutput_names. - Calculez le niveau et le numéro de fichier (bin) pour la période que vous voulez.
- Téléchargez chaque fichier depuis le serveur de l’appareil.
- Joignez les lignes, triez-les par horodatage et remplissez les champs vides.
La requête
Section intitulée « La requête »curl --compressed \ -H "Authorization: Bearer-API YOUR_API_KEY" \ "https://DEVICE_SERVER/datalogs.php?serialno=e11:123&id=0.20740&ver=2"Remplacez DEVICE_SERVER par la valeur du champ device_server de l’appareil.
| Paramètre | Valeur |
|---|---|
serialno |
Le numéro de série de l’appareil |
id |
<level>.<bin>, par exemple 0.20740 |
ver |
2 |
Pour l’authentification, envoyez l’en-tête Authorization: Bearer-API YOUR_API_KEY ou Authorization: Bearer YOUR_ACCESS_TOKEN.
Le serveur peut envoyer le fichier compressé (gzip ou br). L’option curl --compressed le décompresse.
| Code HTTP | Signification |
|---|---|
| 200 | Le fichier, en text/plain |
| 400 | serialno ou id incorrect |
| 403 | Vous n’avez pas la permission de lecture sur l’appareil |
| 404 | Il n’y a pas de données pour ce fichier |
Niveaux et numéros de fichier
Section intitulée « Niveaux et numéros de fichier »Tous les calculs utilisent UTC.
| Niveau | Un fichier par | Calcul du bin | Exemple |
|---|---|---|---|
0 |
Jour | floor(unix_seconds / 86400) |
14 octobre 2026 = 0.20740 |
1 |
Mois | (year - 1970) * 12 + (month - 1) |
Octobre 2026 = 1.681 |
2 |
Tout l’historique | Toujours m |
2.m |
Le niveau 0 a toutes les lignes du jour. Le niveau 1 a environ une ligne par jour. Le niveau 2 a environ une ligne par mois.
L’application utilise le niveau 0 pour les périodes jusqu’à 7 jours et le niveau 1 pour les périodes jusqu’à 5 mois. Pour les périodes plus longues, elle utilise 2.m.
Format des lignes
Section intitulée « Format des lignes »Chaque ligne est une mesure. Les champs sont séparés par ;.
timestamp;reading1;reading2;...;readingN;output1;...;outputM- Le
timestampest en secondes unix (UTC). Il peut avoir des décimales. - Ensuite viennent les mesures, dans l’ordre des
readingsde la famille. - Ensuite viennent les sorties, dans l’ordre de
output_names. - Un champ vide signifie que la valeur n’a pas changé. Utilisez la dernière valeur d’une ligne précédente.
- La valeur
2147483648signifie que la mesure est absente. - Les lignes ne sont pas toujours triées. Triez-les par
timestamp.
Un appareil de la famille e11 a readings = ["T", "GI", "GIC", "GI2", "GI2C"] et pas de sorties.
1791936198.977;2120;1;0;1;0| Champ | Valeur | Signification |
|---|---|---|
| timestamp | 1791936198.977 |
Heure de la mesure |
T |
2120 |
21,20 °C, parce que la conversion de T est divide_by_100 |
GI |
1 |
État de la première entrée |
GIC |
0 |
Compteur de la première entrée |
GI2 |
1 |
État de la deuxième entrée |
GI2C |
0 |
Compteur de la deuxième entrée |
Vous trouvez les conversions et les unités dans le dictionnaire readings des définitions. Voir l’API REST.
Exemple en shell
Section intitulée « Exemple en shell »Cet exemple télécharge les 3 derniers jours d’un appareil.
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,1nAutre méthode
Section intitulée « Autre méthode »Le serveur MCP a l’outil get_device_history. Il accepte les mêmes niveaux et bins.

