uvejota / homeassistant-edata

Home Assistant integration for spanish energy data providers (e.g., datadis)
GNU General Public License v3.0
261 stars 21 forks source link

No se reciben datos. mensaje "401", "error", Unauthorize" #137

Closed jesus-0262 closed 1 year ago

jesus-0262 commented 1 year ago

Muchas gracias por el desarrollo de la aplicación. Soy usuario de edata via hoemeassistant desde Nov 2021 funcionando a plena satisfacción durante un año, con unas gráficas muy bonitas. No suelo escribir posts, integro soluciones de terceros en homeassistant para uso propio como "user".

Desde 11 Nov 2022 no recibo datos. He actualizado múltiples veces edata. Actualmente tengo versión 2022.12.2. He borrado todo en .storage y crea la variable edata_XXXX pero los atributos sólo contienen null.

He añadido en fichero configuration.yaml

sensor:

Log:

2022-12-07 11:41:06.920 WARNING (MainThread) [custom_components.edata.coordinator] Some data is missing, will try to fetch later 2022-12-07 11:41:06.948 INFO (SyncWorker_6) [edata.helpers] Update requested for CUPS XXXX from 2021-12-07T11:41:06.947839 to 2022-12-06T23:59:00 2022-12-07 11:41:06.948 INFO (SyncWorker_6) [edata.connectors.datadis] GET https://datadis.es/api-private/api/get-supplies?authorizedNif=XXXXXXXXX& 2022-12-07 11:41:07.127 INFO (SyncWorker_6) [edata.connectors.datadis] No token found, fetching a new one 2022-12-07 11:41:07.714 INFO (SyncWorker_6) [edata.connectors.datadis] GET https://datadis.es/api-private/api/get-supplies?authorizedNif=XXXXXXXXX& 2022-12-07 11:41:10.226 INFO (SyncWorker_6) [edata.connectors.datadis] https://datadis.es/api-private/api/get-supplies?authorizedNif=XXXXXXXXX& returned an empty response, try again later 2022-12-07 11:41:10.236 WARNING (SyncWorker_6) [edata.helpers] Supplies query failed or no supplies found in the provided account

Esto lo hace desde hace unos días, debe tratar de re-ejecutarlo a la hora.

Conectado a la web de Datadis entrando con usuario y password. (Me deja hacer consultas vía web veo mi CUPS y datos de consumo y potencia, pero dentro de su Web).

Entro en la en la parte de API privada de Datadis,

Genero mensage GET /api-private/api/get-supplies

curl -X GET "https://datadis.es/api-private/api/get-supplies?authorizedNif=XXXXXXXXX" -H "accept: application/json" -H "NikoAuthorization: "..."

Ejecuto desde consola Respuesta: {"timestamp":"2022-12-07T10:54:42.603+0000","status":401,"error":"Unauthorized","message":"No message available","path":"/api-private/api/get-supplies"}

Probablemente me hayan "baneado". Les he escrito un mensaje. Si me contestan, puede que sirva a otros como guía Si tenéis más información o puedo hacer algo más "que sepa", perfecto

Muchas gracias

uvejota commented 1 year ago

Buenas, si eres el propio titular del cups no rellenes el campo Authorized NIF o fallará.

jesus-0262 commented 1 year ago

Buenas, soy el titular, lo intento sin el NIF como dices y "voila" funciona. Tengo respuestas de datadis en su web via API.

Ahora vayamos con edata, lo había desactivado y lo activo

Este es el log

2022-12-07 16:00:05.813 INFO (SyncWorker_4) [edata.helpers] Update requested for CUPS XXXX from 2021-12-07T16:00:05.812845 to 2022-12-06T23:59:00 2022-12-07 16:00:05.813 INFO (SyncWorker_4) [edata.connectors.datadis] GET https://datadis.es/api-private/api/get-supplies?authorizedNif=XXXXXXXXX& 2022-12-07 16:00:05.986 INFO (SyncWorker_4) [edata.connectors.datadis] No token found, fetching a new one 2022-12-07 16:00:06.438 INFO (SyncWorker_4) [edata.connectors.datadis] GET https://datadis.es/api-private/api/get-supplies?authorizedNif=XXXXXXXXX& 2022-12-07 16:00:08.309 INFO (SyncWorker_4) [edata.connectors.datadis] https://datadis.es/api-private/api/get-supplies?authorizedNif=XXXXXXXXX& returned an empty response, try again later 2022-12-07 16:00:08.320 WARNING (SyncWorker_4) [edata.helpers] Supplies query failed or no supplies found in the provided account 2022-12-07 16:00:08.360 WARNING (MainThread) [custom_components.edata.statistics] Some stats are missing for XXXX 2022-12-07 16:00:08.364 WARNING (MainThread) [custom_components.edata.coordinator] Some data is missing, will try to fetch later

Es posible que en la aplicación tampoco haga falta poner el NIF ?

Gracias

uvejota commented 1 year ago

Así es, no hay que ponerlo salvo que te haya cedido el acceso una tercera persona.

jesus-0262 commented 1 year ago

Hola, Creo que el error estaba en mi lado al haber metido mi DNI otra vez como NIF autorizado en el frame de configuración

Desinstalo edata en HACS. Borro ficheros .storage Instalo edata en HACS 2022.12.2 instalo edata en dispositivos y servicios

Configuro Username: "xxxxxxxx" Password: "xxxxxxxx" CUPS: "XXXXXXXXXXXX" NIF autorizado: NO lo relleno

Restart supervisor.

Tiene buena pinta. Crea edata_XXXX y ahora contine CUPS y los contratos. El resto de variables a null salvo el nombre de variable.

El log: 2022-12-07 18:21:54.586 INFO (SyncWorker_7) [edata.connectors.datadis] GET https://datadis.es/api-private/api/get-supplies 2022-12-07 18:21:54.813 INFO (SyncWorker_7) [edata.connectors.datadis] No token found, fetching a new one 2022-12-07 18:21:55.298 INFO (SyncWorker_7) [edata.connectors.datadis] GET https://datadis.es/api-private/api/get-supplies 2022-12-07 18:21:57.352 INFO (SyncWorker_7) [edata.connectors.datadis] Got 200 OK at https://datadis.es/api-private/api/get-supplies 2022-12-07 18:21:57.369 INFO (SyncWorker_7) [edata.helpers] Supplies data has been successfully updated 2022-12-07 18:21:57.369 INFO (SyncWorker_7) [edata.connectors.datadis] GET https://datadis.es/api-private/api/get-contract-detail?cups=ES00XXXXXXXXXXX&distributorCode=N& 2022-12-07 18:21:58.359 INFO (SyncWorker_7) [edata.connectors.datadis] Got 200 OK at https://datadis.es/api-private/api/get-contract-detail?cups=ES00XXXXXXXXXXX&distributorCode=N& 2022-12-07 18:21:58.364 INFO (SyncWorker_7) [edata.helpers] Contracts data has been successfully updated 2022-12-07 18:21:58.365 INFO (SyncWorker_7) [edata.helpers] Identified missing consumptions: 2021-12-07T18:21:54.583003 - 2022-12-06T23:59:00 2022-12-07 18:21:58.365 INFO (SyncWorker_7) [edata.helpers] Identified missing maximeter: 2021-12-07T18:21:54.583003 - 2022-12-06T23:59:00 2022-12-07 18:21:58.366 INFO (SyncWorker_7) [edata.connectors.datadis] GET https://datadis.es/api-private/api/get-consumption-data?cups=ES00XXXXXXXXXXX&distributorCode=N&startDate=2021/12&endDate=2022/02&measurementType=0&pointType=T& 2022-12-07 18:21:58.419 WARNING (SyncWorker_7) [edata.connectors.datadis] 429 Consulta ya realizada en las últimas 24 horas. at https://datadis.es/api-private/api/get-consumption-data?cups=ES00XXXXXXXXXXX&distributorCode=N&startDate=2021/12&endDate=2022/02&measurementType=0&pointType=T&

Aunque la gráficas están en blanco espero que mañana se rellenen.

Muchas gracia por tu ayuda.