diff --git a/homeassistant/components/toon/coordinator.py b/homeassistant/components/toon/coordinator.py index f013e4bcb75c..81c09931fbdd 100644 --- a/homeassistant/components/toon/coordinator.py +++ b/homeassistant/components/toon/coordinator.py @@ -61,11 +61,17 @@ class ToonDataUpdateCoordinator(DataUpdateCoordinator[Status]): if cloud.async_active_subscription(self.hass): if CONF_CLOUDHOOK_URL not in self.entry.data: - webhook_url = await cloud.async_create_cloudhook( - self.hass, self.entry.data[CONF_WEBHOOK_ID] - ) - data = {**self.entry.data, CONF_CLOUDHOOK_URL: webhook_url} - self.hass.config_entries.async_update_entry(self.entry, data=data) + try: + webhook_url = await cloud.async_create_cloudhook( + self.hass, self.entry.data[CONF_WEBHOOK_ID] + ) + except cloud.CloudNotConnected: + webhook_url = webhook.async_generate_url( + self.hass, self.entry.data[CONF_WEBHOOK_ID] + ) + else: + data = {**self.entry.data, CONF_CLOUDHOOK_URL: webhook_url} + self.hass.config_entries.async_update_entry(self.entry, data=data) else: webhook_url = self.entry.data[CONF_CLOUDHOOK_URL] else: