uvejota / python-edata

A python tool to retrieve and process spanish energy consumption data
GNU General Public License v3.0
9 stars 4 forks source link

Campos de fecha y hora de consumos API Datadis #21

Open xavirg opened 1 month ago

xavirg commented 1 month ago

Contexto

La API de Datadis devuelve tanto el día como la hora en campos de texto por separado, por ejemplo:

"date":"2022/07/01",
"time":"01:00",

El problema viene cuando llegan las 12 de la noche, que según ellos es la siguiente hora (que no existe):

"date":"2022/07/01",
"time":"24:00",

Entonces, la primera hora de un día es la 1 de la madrugada, y la última, las 24 horas.

En https://github.com/uvejota/python-edata/blob/dev/edata/connectors/datadis.py#L445, se le resta una hora a la hora que nos devuelve Datadis:

hour = str(int(i["time"].split(":")[0]) - 1)

Con lo que la primera hora de un día ahora son las 00 de la medianoche, y la última, las 23 horas. Bien visto.

No obstante, creo que esto es un error. No se debería restar una hora al valor que nos da Datadis, sino cambiar de día cuando la hora devuelta sean las 24.

Mi pregunta

Las 2022/07/01 24:00 deberían de ser las 2022/07/02 00:00. En cambio, con el código actual, son las 2022/07/01 23:00, me equivoco?

uvejota commented 1 week ago

Si no recuerdo mal, en edata se almacena únicamente el timestamp de inicio del periodo, y un campo delta_h.

Es decir, el último periodo de un día es 23:00 con delta de 1h, y el primero de cada día el 00:00 (mismo delta).

Es sólo cuestión de criterio.