ldotlopez / ha-ideenergy

ideenergy integration for home-assistant
GNU General Public License v3.0
74 stars 13 forks source link

Fallo en la migración de datos v1.0 #27

Closed ad-ha closed 1 year ago

ad-ha commented 1 year ago

Buenas,

Al final he podido probar hoy con la v1.0 y me sale un error nada más reiniciar el sistema después de migrar a la nueva versión:

image

ldotlopez commented 1 year ago

Lo reviso, y gracias, porque iba a dar por bueno el código, en mi instalación me genera valores correctos.

Saludos.

El jue, 24 nov 2022 a las 10:42, Alvaro Duarte @.***>) escribió:

Buenas,

Al final he podido probar hoy con la v1.0 y me sale un error nada más reiniciar el sistema después de migrar a la nueva versión:

[image: image] https://user-images.githubusercontent.com/59612788/203750648-e4032f60-378e-4d41-8b29-2f537f85b555.png

— Reply to this email directly, view it on GitHub https://github.com/ldotlopez/ha-ideenergy/issues/27, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAYLOKXEG3QY2AKMPLUKPDWJ42BTANCNFSM6AAAAAASKDNRWE . You are receiving this because you are subscribed to this thread.Message ID: @.***>

ad-ha commented 1 year ago

Sin problema. Es que no había podido probar todavía que no me había dado tiempo.

Ya me cuentas cómo va, para que pueda probar la revisión.

Saludos

ldotlopez commented 1 year ago

¿Tienes posibilidad de retocar el código manualmente?

¿Puedes probar a reemplazar la función async_migrate_entry de/config/custom_components/ideenergy/__init__.py con el siguiente código?

async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry):
    api = IDeEnergyAPI(hass, entry)

    try:
        contract_details = await api.get_contract_details()
    except ideenergy.client.ClientError as e:
        _LOGGER.debug(f"Unable to initialize integration: {e}")
        return False

    update_integration(hass, entry, IDeEnergyDeviceInfo(contract_details))
    return True

Había un error mio que no maneja correctamente una excepción, pero esa excepción viene por la imposibilidad de autenticarse con i-de, así que hay algo más.

ad-ha commented 1 year ago

Buenas,

Probado. Con el cambio ya funciona.

A ver si mientras me instalan las placas solares, en principio en enero, y pruebo también la generación :)

Un saludo,

ad-ha commented 1 year ago

Hola, Luis,

Me está funcionado la integración para el consumo (y el atributo de potencia).

Sin embargo, los sensores de historico y potencia no me funcionan:

image

ldotlopez commented 1 year ago

Hola Álvaro,

Los sensores históricos siempre están en estado "Unknow" sin embargo si accedes al historial, valga la redundancia, puedes ver los valores. Esto lo he hecho así para evitar agujeros en las gráficas y posibles problemas futuros cuando genere las estadísticas.

Si me confirmas que esto te está funcionado bien publico la release (he entrado a github a eso precisamente)

imagen

imagen

ad-ha commented 1 year ago

Hola, Luis,

Yo sé que los estados se quedaban unknown, pero es que no me genera ninguna información, ni las gráficas. Lo acabo de confirmar de nuevo y sigue igual.

Antes el histórico siempre salía la gráfica de consumos anteriores. Ahora no genera nada.

Saludos

ldotlopez commented 1 year ago

Uf 😖

¿Puedes pasar el log completo (con debug) de la integración para ver que está pasando?

ad-ha commented 1 year ago

El sensor de histórico de consumo ya empezó a enseñar datos. Pero el de potencia no, al menos todavía.

A ver si activo el debug y te lo paso.

ldotlopez commented 1 year ago

Eso ya me cuadra más…

Los sensores "historicos" se actualizan cada 6 horas, es posible (te lo digo de memoria) que no haya ejecución inicial y tarde 6 horas en mostrar los primeros datos. Mejoraré esto.

En el caso del de potencia… el problema es que los registros que suministra i-de son muy espaciados en el tiempo, en plan cada 15 días. Dependiendo de la configuración de cada instalación de H-A puede ser que no llegue a mostrar datos. Te daría más datos pero, además, esa parte de la web de i-de no funciona (puede que este relacionado).

De todos modos, gracias por el feedback. En cuanto pueda publico la release con el código actual. Saludos.

El mar, 29 nov 2022 a las 12:30, Alvaro Duarte @.***>) escribió:

El sensor de histórico de consumo ya empezó a enseñar datos. Pero el de potencia no, al menos todavía.

A ver si activo el debug y te lo paso.

— Reply to this email directly, view it on GitHub https://github.com/ldotlopez/ha-ideenergy/issues/27#issuecomment-1330485625, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAYLOIVBXI2BWTESMGUQE3WKXSN5ANCNFSM6AAAAAASKDNRWE . You are receiving this because you commented.Message ID: @.***>

ad-ha commented 1 year ago

Ahí va.

Lo de la primera línea ya me ha pasado más veces. Reinicio HA y la integración no inicia como esperado, se queda colgada; tengo que entrar a las integraciones y darle a "Reload" y luego ya funciona.

2022-11-29 12:35:51.166 DEBUG (MainThread) [custom_components.ideenergy] Unable to initialize integration: Invalid response: 500 - Internal Server Error 2022-11-29 12:37:12.130 DEBUG (MainThread) [custom_components.ideenergy.datacoordinator] Registered sensor <class 'custom_components.ideenergy.sensor.HistoricalConsumption'> 2022-11-29 12:37:12.130 DEBUG (MainThread) [custom_components.ideenergy.datacoordinator] Registered sensor <class 'custom_components.ideenergy.sensor.HistoricalPowerDemand'> 2022-11-29 12:37:12.131 DEBUG (MainThread) [custom_components.ideenergy.datacoordinator] Updating data set: <DataSetType.HISTORICAL_POWER_DEMAND|HISTORICAL_CONSUMPTION: 10> 2022-11-29 12:37:12.131 DEBUG (MainThread) [custom_components.ideenergy.datacoordinator] HISTORICAL_CONSUMPTION update allowed 2022-11-29 12:37:12.134 DEBUG (MainThread) [custom_components.ideenergy.datacoordinator] Registered sensor <class 'custom_components.ideenergy.sensor.AccumulatedConsumption'> 2022-11-29 12:37:12.134 DEBUG (MainThread) [custom_components.ideenergy.sensor] restore state: restored as {'measure_accumulated': 28900.0, 'measure_instant': 320.0} 2022-11-29 12:37:12.734 DEBUG (MainThread) [custom_components.ideenergy.datacoordinator] HISTORICAL_CONSUMPTION successfully updated 2022-11-29 12:37:12.735 DEBUG (MainThread) [custom_components.ideenergy.datacoordinator] HISTORICAL_POWER_DEMAND update allowed 2022-11-29 12:37:13.976 DEBUG (MainThread) [custom_components.ideenergy.datacoordinator] **FIXME**: handle HISTORICAL_POWER_DEMAND exception: AssertionError() 2022-11-29 12:37:13.976 DEBUG (MainThread) [custom_components.ideenergy.datacoordinator] Finished fetching email/22422XXXX coordinator data in 1.845 seconds (success: True) 2022-11-29 12:37:13.977 DEBUG (MainThread) [custom_components.ideenergy.historical_sensor] sensor.i_de_es0021XXXXXXXXXXXXX_historical: 168 historical states available 2022-11-29 12:37:13.977 DEBUG (MainThread) [custom_components.ideenergy.historical_sensor] sensor.es0021XXXXXXXXXXXXX_historical_power_demand: 0 historical states available 2022-11-29 12:37:13.994 DEBUG (DbWorker_0) [custom_components.ideenergy.historical_sensor] Warning: Current recorder schema is not supported 2022-11-29 12:37:13.994 DEBUG (DbWorker_0) [custom_components.ideenergy.historical_sensor] Invalid states can't be deleted from recorder.This is not critical just unsightly for some graphs 2022-11-29 12:37:13.997 DEBUG (DbWorker_0) [custom_components.ideenergy.historical_sensor] sensor.i_de_es0021XXXXXXXXXXXXX_historical: found previous states in db (latest is dated at: 2022-11-28 23:00:00+00:00, value:0.364) 2022-11-29 12:37:13.997 DEBUG (DbWorker_0) [custom_components.ideenergy.historical_sensor] sensor.i_de_es0021XXXXXXXXXXXXX_historical: no new states

ad-ha commented 1 year ago

Actualizado con la release 1.0.0 y todo va bien