Closed driosalido closed 8 months ago
Hola, diría que si, el problema parece ser que hay un límite de peticiones para obtener los consumos desde UFD lo que hace que al instalar no se descargue todo el histórico y tampoco los periodos de facturación. Acabo de publicar la versión v0.1.7, que mejora esto para ir descargando cada día lo que UFD permita y que controle el error que te ha dado en el caso de que aún no tenga los periodos de facturación. Con eso deberías ver los consumos que se haya podido descargar en el panel de energía pero no el importe de las facturas, para esto tengo que cambiar para que descargue los periodos antes de los consumos. Un saludo.
Acabo de probar con v0.1.7 y aunque la descripción del error es distinta parece que pueden ir los tiros por el mismo problema que comentabas
2024-01-26 10:22:41.942 INFO (MainThread) [custom_components.pvpc_energy.coordinator] last_stat=defaultdict(<class 'list'>, {'pvpc_energy:consumption': [{'start': 1706133600.0, 'end': 1706137200.0}]}), stats=defaultdict(<class 'list'>, {'pvpc_energy:cost': [{'start': 1706133600.0, 'end': 1706137200.0, 'sum': 35.545834839999955}], 'pvpc_energy:consumption': [{'start': 1706133600.0, 'end': 1706137200.0, 'sum': 242.6159999999999}]})
2024-01-26 10:22:41.942 INFO (MainThread) [custom_components.pvpc_energy.coordinator] start_date=2024-01-25, end_date=2024-01-24
2024-01-26 10:22:42.022 INFO (MainThread) [custom_components.pvpc_energy.coordinator] periods_start_date=2023-12-28, periods_end_date=2024-01-26, (periods_end_date - periods_start_date).days=29
2024-01-26 10:22:42.164 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/pvpc_energy/coordinator.py", line 135, in import_energy_data
await PvpcCoordinator.calculate_bills(total_consumptions, hass)
File "/config/custom_components/pvpc_energy/coordinator.py", line 212, in calculate_bills
billing_periods += new_billing_periods
^^^^^^^
IndexError: list index out of range
Si entras en el complemento suele refrescar antes, yo lo acabo de hacer para probar a instalar la nueva versión y ver que ya no de este error. A pesar del error si deberías tener las estadísticas PVPC: Consumo y PVPC: Coste para poder importar en el panel de energía y ver hasta que fecha se pudo descargar (en lo que acabo de probar solo un mes). Cada día que se va descargando el día nuevo y lo que pueda del histórico.
No veo estadísticas por que no veo que se cree ninguna entidad ni device.
Poniendo el componente en Debug veo algo mas de entradas en el log
2024-01-26 10:35:31.999 DEBUG (MainThread) [custom_components.pvpc_energy.coordinator] START - import_energy_data()
2024-01-26 10:35:32.294 INFO (MainThread) [custom_components.pvpc_energy.coordinator] last_stat=defaultdict(<class 'list'>, {'pvpc_energy:consumption': [{'start': 1706133600.0, 'end': 1706137200.0}]}), stats=defaultdict(<class 'list'>, {'pvpc_energy:cost': [{'start': 1706133600.0, 'end': 1706137200.0, 'sum': 35.545834839999955}], 'pvpc_energy:consumption': [{'start': 1706133600.0, 'end': 1706137200.0, 'sum': 242.6159999999999}]})
2024-01-26 10:35:32.294 INFO (MainThread) [custom_components.pvpc_energy.coordinator] start_date=2024-01-25, end_date=2024-01-24
2024-01-26 10:35:32.295 DEBUG (MainThread) [custom_components.pvpc_energy.coordinator] START - load_energy_data(file_path=/config/custom_components/pvpc_energy/user_files/energy_data.csv)
2024-01-26 10:35:32.370 DEBUG (MainThread) [custom_components.pvpc_energy.coordinator] END - load_energy_data: len(consumptions): 672, len(prices): 23230
2024-01-26 10:35:32.371 DEBUG (MainThread) [custom_components.pvpc_energy.coordinator] START - calculate_bills(len(consumptions)=672)
2024-01-26 10:35:32.371 DEBUG (MainThread) [custom_components.pvpc_energy.coordinator] START - load_billing_periods(file_path=/config/custom_components/pvpc_energy/user_files/billing_periods.csv)
2024-01-26 10:35:32.371 DEBUG (MainThread) [custom_components.pvpc_energy.coordinator] END - load_billing_periods: len(billing_periods): 0
2024-01-26 10:35:32.371 INFO (MainThread) [custom_components.pvpc_energy.coordinator] periods_start_date=2023-12-28, periods_end_date=2024-01-26, (periods_end_date - periods_start_date).days=29
2024-01-26 10:35:32.372 DEBUG (MainThread) [custom_components.pvpc_energy.ufd] START - UFD.billingPeriods(start_date=2023-12-28, end_date=2024-01-26)
2024-01-26 10:35:32.583 DEBUG (MainThread) [custom_components.pvpc_energy.ufd] END - UFD.billingPeriods: len(result)=0
2024-01-26 10:35:32.583 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/pvpc_energy/coordinator.py", line 135, in import_energy_data
await PvpcCoordinator.calculate_bills(total_consumptions, hass)
File "/config/custom_components/pvpc_energy/coordinator.py", line 212, in calculate_bills
billing_periods += new_billing_periods
He mirado el fichero que se descarga y hay datos aunque las primeras entradas tienen un campo vacío mientras que las ultimas tienen todos los campos. Podría ser eso?
➜ user_files git:(main) ✗ head -10 energy_data.csv
timestamp,consumption,price
1622498400,,0.11633
1622502000,,0.11595
1622505600,,0.11489
1622509200,,0.11496
1622512800,,0.11484
1622516400,,0.11603
1622520000,,0.11629
1622523600,,0.1157
1622527200,,0.15289
➜ user_files git:(main) ✗ tail -10 energy_data.csv
1706101200,1.262,0.11365
1706104800,0.412,0.11877
1706108400,0.599,0.12186
1706112000,0.548,0.14911
1706115600,0.681,0.20698
1706119200,0.579,0.27524
1706122800,0.526,0.27764
1706126400,0.49,0.21769
1706130000,0.404,0.15011
1706133600,0.286,0.13519
Ah, tienes razón, aunque no veo entidad ni device si que puedo ver los datos en el dashboard de energia
Ok, eso tiene más sentido. El fichero está correcto, el último valor es el coste hora del kWh, que se descarga de REE y ahí no hay problema y se ha descargado desde el 01/06/2021 (timestamp 1622498400). El valor que ves vacío es el consumo que ahí solo tendrás hasta que UFD haya dado error y que cada día intentará descargar hacia atrás lo que pueda, con lo que deberías ir viendo que se completan valores más antiguos.
En cuanto al error al intentar obtener los periodos de facturación no consigo reproducirlo y no veo el modo en que pueda dar error ahí. ¿En user_files no tienes un fichero billing_periods.csv verdad?
No, solo tengo un fichero energy_data.csv
Publicada la versión v0.1.8 que descarga los periodos antes que los consumos. Con esto deberías poder ver las facturas de las que tengas datos de consumo. Cada día irá descargando más datos pasados y verás facturas anteriores.
Acabo de instalar el componente y en el log puedo ver que parece que la importación inicial de datos ha fallado
Alguna idea de que puede estar ocurriendo?