LucaPatarca / homeassistant_aton

Unofficial home assistant integration for Aton Green Storage photovoltaic system
GNU General Public License v3.0
9 stars 2 forks source link

name 'ConfigEntryAuthFailed' is not defined #2

Closed mauriziosacca closed 1 year ago

mauriziosacca commented 1 year ago

Salve, sono di nuovo qui con un (spero piccolo) problema. Non so se è una coincidenza, ma è successo subito dopo l'ultimo aggiornamento di HA, tutti i sensori generati dall'integrazione sono diventati "Non disponibili". Ecco un estratto dei registri:

2023-01-04 18:43:52.744 ERROR (MainThread) [custom_components.aton_storage.sensor] Unexpected error fetching Aton Storage data: name 'ConfigEntryAuthFailed' is not defined File "/config/custom_components/aton_storage/sensor.py", line 105, in _async_update_data File "/usr/local/lib/python3.10/site-packages/pyaton.py", line 170, in fetch_data pyaton.NoAuth: Re-authentication needed File "/config/custom_components/aton_storage/sensor.py", line 109, in _async_update_data 2023-01-04 18:43:52.850 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up aton_storage platform for sensor File "/config/custom_components/aton_storage/sensor.py", line 105, in _async_update_data File "/usr/local/lib/python3.10/site-packages/pyaton.py", line 170, in fetch_data pyaton.NoAuth: Re-authentication needed File "/config/custom_components/aton_storage/sensor.py", line 109, in _async_update_data File "/config/custom_components/aton_storage/sensor.py", line 50, in async_setup_entry

Da quello che leggo sembra che sia necessario ri-autenticarsi, in effetti sono riuscito a risolverlo banalmente eliminando e ricreando l'integrazione, e che la chiave del problema sia

name 'ConfigEntryAuthFailed' is not defined

Si dovrebbe capire se l'errore è stato effettivamente causato dall'aggiornamento di HA (al prossimo aggiornamento lo saprò dire io stesso) ed in tal caso trovare un modo per risolverlo alla radice. Ad ogni modo penso che sarebbe utile avere un modo per ri-autenticarsi senza dover cancellare e ricreare l'integrazione in modo che, qualora l'errore si ripresenti, si possa risolvere velocemente.

LucaPatarca commented 1 year ago

Ciao, per fortuna non sembra nulla di grave.

Il sistema teoricamente sarebbe progettato per lanciare questa eccezione ConfigEntryAuthFailed per dire ad home assistant che questa integrazione necessita di una ri-autenticazione in modo da far comparire all'utente la classica notifica che ti chiede di ri-autenticarti.

Probabilmente il problema non si è presentato fino ad ora perché non era mai stato necessario ri-autenticarsi, ora con l'aggiornamento sarà stato cancellato qualcosa che ha reso necessario ri-autenticarsi ed è venuto fuori l'errore.

Il problema è semplicemente che non riconosce il nome di quella eccezione quindi probabilmente mi sono perso qualche import o qualcosa del genere, appena ho 2 secondi di tempo vedo come risolvere.

Grazie come al solito per il feedback.

mauriziosacca commented 1 year ago

Ciao, grazie della risposta. Ho dato un occhiata al codice e ho visto in sensor.py la line 9

from homeassistant.exceptions import ConfigEntryAuthFailed

Guardando la cronologia è così fin dalla primissima versione del 20 ottobre, la 0.0.1-alpha. C'è un motivo per quel # o è solo una svista? Penso dovrebbe risolvere il problema, anche se non so come testarlo adesso che funziona...

LucaPatarca commented 1 year ago

@mauriziosacca Con l'ultimo commit dovrei aver risolto il problema ma non sono sicuro di come testare la cosa, per ora direi di lasciare aperta questa issue finché non riusciamo a verificare che il messaggio di ri autenticazione effettivamente compaia (al prossimo aggiornamento si spera).

LucaPatarca commented 1 year ago

Aggiornamento: sono riuscito a far mostrare ad home assistant il prompt di riautenticazione, purtroppo è risultato molto più complicato del previsto e non sono ancora riuscito a farlo funzionare del tutto ma almeno è un passo verso la giusta direzione. Ora aspetto di riuscire a far funzionare l'autenticazione e poi faccio uscire la nuova versione con il fix. Nel frattempo @mauriziosacca se vuoi testare le ultime modifiche su cui sto lavorando puoi scaricare la versione "main" dell'integrazione.

LucaPatarca commented 1 year ago

Il commit 5fc1482caee91bdf072b52023428852d5e3cfefd dovrebbe aver risolto il problema della ri autenticazione.