Cancel callbacks on Withings entry unload (#101536)

This commit is contained in:
Joost Lekkerkerker 2023-10-06 17:10:19 +02:00 committed by GitHub
parent 1635cbb8a6
commit 86cf2e29b2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -161,7 +161,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
webhook_name = "Withings"
if entry.title != DEFAULT_TITLE:
webhook_name = " ".join([DEFAULT_TITLE, entry.title])
webhook_name = f"{DEFAULT_TITLE} {entry.title}"
webhook_register(
hass,
@ -183,14 +183,16 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
if state is cloud.CloudConnectionState.CLOUD_DISCONNECTED:
await unregister_webhook(None)
async_call_later(hass, 30, register_webhook)
entry.async_on_unload(async_call_later(hass, 30, register_webhook))
if cloud.async_active_subscription(hass):
if cloud.async_is_connected(hass):
await register_webhook(None)
cloud.async_listen_connection_change(hass, manage_cloudhook)
entry.async_on_unload(
cloud.async_listen_connection_change(hass, manage_cloudhook)
)
else:
async_at_started(hass, register_webhook)
entry.async_on_unload(async_at_started(hass, register_webhook))
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
entry.async_on_unload(entry.add_update_listener(update_listener))