Add translation to coordinator exceptions in solarlog (#131523)

This commit is contained in:
dontinelli 2024-11-26 10:11:36 +01:00 committed by GitHub
parent bd69af5500
commit f6ef2d730b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 35 additions and 6 deletions

View File

@ -83,15 +83,27 @@ class SolarLogCoordinator(DataUpdateCoordinator[SolarlogData]):
await self.solarlog.update_device_list()
data.inverter_data = await self.solarlog.update_inverter_data()
except SolarLogConnectionError as ex:
raise ConfigEntryNotReady(ex) from ex
raise ConfigEntryNotReady(
translation_domain=DOMAIN,
translation_key="config_entry_not_ready",
) from ex
except SolarLogAuthenticationError as ex:
if await self.renew_authentication():
# login was successful, update availability of extended data, retry data update
await self.solarlog.test_extended_data_available()
raise ConfigEntryNotReady from ex
raise ConfigEntryAuthFailed from ex
raise ConfigEntryNotReady(
translation_domain=DOMAIN,
translation_key="config_entry_not_ready",
) from ex
raise ConfigEntryAuthFailed(
translation_domain=DOMAIN,
translation_key="auth_failed",
) from ex
except SolarLogUpdateError as ex:
raise UpdateFailed(ex) from ex
raise UpdateFailed(
translation_domain=DOMAIN,
translation_key="update_failed",
) from ex
_LOGGER.debug("Data successfully updated")
@ -150,9 +162,15 @@ class SolarLogCoordinator(DataUpdateCoordinator[SolarlogData]):
try:
logged_in = await self.solarlog.login()
except SolarLogAuthenticationError as ex:
raise ConfigEntryAuthFailed from ex
raise ConfigEntryAuthFailed(
translation_domain=DOMAIN,
translation_key="auth_failed",
) from ex
except (SolarLogConnectionError, SolarLogUpdateError) as ex:
raise ConfigEntryNotReady from ex
raise ConfigEntryNotReady(
translation_domain=DOMAIN,
translation_key="config_entry_not_ready",
) from ex
_LOGGER.debug("Credentials successfully updated? %s", logged_in)

View File

@ -121,5 +121,16 @@
"name": "Usage"
}
}
},
"exceptions": {
"update_error": {
"message": "Error while updating data from the API."
},
"config_entry_not_ready": {
"message": "Error while loading the config entry."
},
"auth_failed": {
"message": "Error while logging in to the API."
}
}
}