Scaricare i dati storici
I dati storici di ogni dispositivo sono in file di testo (datalog) sul suo server dei dispositivi. Ogni file copre un giorno, un mese o l’intero storico. Ha bisogno del permesso di lettura sul dispositivo.
Per un’esportazione senza codice, usi i report dell’app. Veda i Suoi dati.
Procedura
Sezione intitolata “Procedura”- Trovi il server del dispositivo. Chiami
get_device_info.phpe legga il campodevice_server. Veda l’API REST. - Trovi l’ordine delle colonne. Chiami
get_device_definitions.php?family_id=<famiglia>e leggareadingseoutput_names. - Calcoli il livello e il numero del file (bin) per il periodo che desidera.
- Scarichi ogni file dal server del dispositivo.
- Unisca le righe, le ordini per timestamp e compili i campi vuoti.
La richiesta
Sezione intitolata “La richiesta”curl --compressed \ -H "Authorization: Bearer-API YOUR_API_KEY" \ "https://DEVICE_SERVER/datalogs.php?serialno=e11:123&id=0.20740&ver=2"Sostituisca DEVICE_SERVER con il valore del campo device_server del dispositivo.
| Parametro | Valore |
|---|---|
serialno |
Il numero di serie del dispositivo |
id |
<livello>.<bin>, per esempio 0.20740 |
ver |
2 |
Per l’autenticazione, invii l’header Authorization: Bearer-API YOUR_API_KEY oppure Authorization: Bearer YOUR_ACCESS_TOKEN.
Il server può inviare il file compresso (gzip o br). L’opzione --compressed di curl lo decomprime.
| Codice HTTP | Significato |
|---|---|
| 200 | Il file, come text/plain |
| 400 | serialno o id errato |
| 403 | Non ha il permesso di lettura sul dispositivo |
| 404 | Non ci sono dati per questo file |
Livelli e numeri dei file
Sezione intitolata “Livelli e numeri dei file”Tutti i calcoli usano UTC.
| Livello | Un file per | Calcolo del bin | Esempio |
|---|---|---|---|
0 |
Giorno | floor(unix_seconds / 86400) |
14 ottobre 2026 = 0.20740 |
1 |
Mese | (year - 1970) * 12 + (month - 1) |
Ottobre 2026 = 1.681 |
2 |
Intero storico | Sempre m |
2.m |
Il livello 0 ha tutte le righe del giorno. Il livello 1 ha circa una riga al giorno. Il livello 2 ha circa una riga al mese.
L’app usa il livello 0 per periodi fino a 7 giorni e il livello 1 per periodi fino a 5 mesi. Per periodi più lunghi usa 2.m.
Formato delle righe
Sezione intitolata “Formato delle righe”Ogni riga è una misurazione. I campi sono separati da ;.
timestamp;reading1;reading2;...;readingN;output1;...;outputM- Il
timestampè in secondi unix (UTC). Può avere decimali. - Poi vengono le misurazioni, nell’ordine di
readingsdella famiglia. - Poi vengono le uscite, nell’ordine di
output_names. - Un campo vuoto indica che il valore non è cambiato. Usi l’ultimo valore di una riga precedente.
- Il valore
2147483648indica che la misurazione manca. - Le righe non sono sempre ordinate. Le ordini per
timestamp.
Esempio
Sezione intitolata “Esempio”Un dispositivo della famiglia e11 ha readings = ["T", "GI", "GIC", "GI2", "GI2C"] e nessuna uscita.
1791936198.977;2120;1;0;1;0| Campo | Valore | Significato |
|---|---|---|
| timestamp | 1791936198.977 |
Ora della misurazione |
T |
2120 |
21.20 °C, perché la conversione di T è divide_by_100 |
GI |
1 |
Stato del primo ingresso |
GIC |
0 |
Contatore del primo ingresso |
GI2 |
1 |
Stato del secondo ingresso |
GI2C |
0 |
Contatore del secondo ingresso |
Trova le conversioni e le unità nel dizionario readings delle definizioni. Veda l’API REST.
Esempio da shell
Sezione intitolata “Esempio da shell”Questo esempio scarica gli ultimi 3 giorni di un dispositivo.
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,1nAltro metodo
Sezione intitolata “Altro metodo”Il server MCP ha lo strumento get_device_history. Accetta gli stessi livelli e bin.

