Descargar datos históricos
Los datos históricos de cada dispositivo están en archivos de texto (datalogs) en su servidor de dispositivos. Cada archivo cubre un día, un mes o todo el historial. Necesita permiso de lectura en el dispositivo.
Para una exportación sin código, use los informes de la app. Consulte sus datos.
Procedimiento
Sección titulada «Procedimiento»- Busque el servidor del dispositivo. Llame a
get_device_info.phpy lea el campodevice_server. Consulte la API REST. - Busque el orden de las columnas. Llame a
get_device_definitions.php?family_id=<family>y leareadingsyoutput_names. - Calcule el nivel y el número de archivo (bin) para el periodo que desea.
- Descargue cada archivo del servidor del dispositivo.
- Una las filas, ordénelas por marca de tiempo y complete los campos vacíos.
La solicitud
Sección titulada «La solicitud»curl --compressed \ -H "Authorization: Bearer-API YOUR_API_KEY" \ "https://DEVICE_SERVER/datalogs.php?serialno=e11:123&id=0.20740&ver=2"Sustituya DEVICE_SERVER por el valor del campo device_server del dispositivo.
| Parámetro | Valor |
|---|---|
serialno |
El número de serie del dispositivo |
id |
<level>.<bin>, por ejemplo 0.20740 |
ver |
2 |
Para la autenticación, envíe el encabezado Authorization: Bearer-API YOUR_API_KEY o Authorization: Bearer YOUR_ACCESS_TOKEN.
El servidor puede enviar el archivo comprimido (gzip o br). La opción --compressed de curl lo descomprime.
| Código HTTP | Significado |
|---|---|
| 200 | El archivo, como text/plain |
| 400 | serialno o id incorrectos |
| 403 | No tiene permiso de lectura en el dispositivo |
| 404 | No hay datos para este archivo |
Niveles y números de archivo
Sección titulada «Niveles y números de archivo»Todos los cálculos usan UTC.
| Nivel | Un archivo por | Cálculo del bin | Ejemplo |
|---|---|---|---|
0 |
Día | floor(unix_seconds / 86400) |
14 de octubre de 2026 = 0.20740 |
1 |
Mes | (year - 1970) * 12 + (month - 1) |
Octubre de 2026 = 1.681 |
2 |
Historial completo | Siempre m |
2.m |
El nivel 0 tiene todas las filas del día. El nivel 1 tiene aproximadamente una fila por día. El nivel 2 tiene aproximadamente una fila por mes.
La app usa el nivel 0 para periodos de hasta 7 días y el nivel 1 para periodos de hasta 5 meses. Para periodos más largos usa 2.m.
Formato de las filas
Sección titulada «Formato de las filas»Cada fila es una medición. Los campos están separados por ;.
timestamp;reading1;reading2;...;readingN;output1;...;outputM- El
timestampson segundos unix (UTC). Puede tener decimales. - Después vienen las lecturas, en el orden de las
readingsde la familia. - Después vienen las salidas, en el orden de
output_names. - Un campo vacío significa que el valor no cambió. Use el último valor de una fila anterior.
- El valor
2147483648significa que la lectura falta. - Las filas no siempre están ordenadas. Ordénelas por
timestamp.
Ejemplo
Sección titulada «Ejemplo»Un dispositivo de la familia e11 tiene readings = ["T", "GI", "GIC", "GI2", "GI2C"] y no tiene salidas.
1791936198.977;2120;1;0;1;0| Campo | Valor | Significado |
|---|---|---|
| timestamp | 1791936198.977 |
Hora de la medición |
T |
2120 |
21.20 °C, porque la conversión de T es divide_by_100 |
GI |
1 |
Estado de la primera entrada |
GIC |
0 |
Contador de la primera entrada |
GI2 |
1 |
Estado de la segunda entrada |
GI2C |
0 |
Contador de la segunda entrada |
Las conversiones y las unidades están en el diccionario readings de las definiciones. Consulte la API REST.
Ejemplo de shell
Sección titulada «Ejemplo de shell»Este ejemplo descarga los últimos 3 días de 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,1nOtro método
Sección titulada «Otro método»El servidor MCP tiene la herramienta get_device_history. Acepta los mismos niveles y bins.

