Fix minut point updating frozen config entry data (#33148)
* Fix minut point updating frozen config entry data * Update webhooks handling for configuration entry
This commit is contained in:
parent
6180f7bd64
commit
2d002f3ef6
1 changed files with 14 additions and 7 deletions
|
@ -75,8 +75,9 @@ async def async_setup_entry(hass: HomeAssistantType, entry: ConfigEntry):
|
||||||
|
|
||||||
def token_saver(token):
|
def token_saver(token):
|
||||||
_LOGGER.debug("Saving updated token")
|
_LOGGER.debug("Saving updated token")
|
||||||
entry.data[CONF_TOKEN] = token
|
hass.config_entries.async_update_entry(
|
||||||
hass.config_entries.async_update_entry(entry, data={**entry.data})
|
entry, data={**entry.data, CONF_TOKEN: token}
|
||||||
|
)
|
||||||
|
|
||||||
# Force token update.
|
# Force token update.
|
||||||
entry.data[CONF_TOKEN]["expires_in"] = -1
|
entry.data[CONF_TOKEN]["expires_in"] = -1
|
||||||
|
@ -105,12 +106,18 @@ async def async_setup_entry(hass: HomeAssistantType, entry: ConfigEntry):
|
||||||
async def async_setup_webhook(hass: HomeAssistantType, entry: ConfigEntry, session):
|
async def async_setup_webhook(hass: HomeAssistantType, entry: ConfigEntry, session):
|
||||||
"""Set up a webhook to handle binary sensor events."""
|
"""Set up a webhook to handle binary sensor events."""
|
||||||
if CONF_WEBHOOK_ID not in entry.data:
|
if CONF_WEBHOOK_ID not in entry.data:
|
||||||
entry.data[CONF_WEBHOOK_ID] = hass.components.webhook.async_generate_id()
|
webhook_id = hass.components.webhook.async_generate_id()
|
||||||
entry.data[CONF_WEBHOOK_URL] = hass.components.webhook.async_generate_url(
|
webhook_url = hass.components.webhook.async_generate_url(webhook_id)
|
||||||
entry.data[CONF_WEBHOOK_ID]
|
_LOGGER.info("Registering new webhook at: %s", webhook_url)
|
||||||
|
|
||||||
|
hass.config_entries.async_update_entry(
|
||||||
|
entry,
|
||||||
|
data={
|
||||||
|
**entry.data,
|
||||||
|
CONF_WEBHOOK_ID: webhook_id,
|
||||||
|
CONF_WEBHOOK_URL: webhook_url,
|
||||||
|
},
|
||||||
)
|
)
|
||||||
_LOGGER.info("Registering new webhook at: %s", entry.data[CONF_WEBHOOK_URL])
|
|
||||||
hass.config_entries.async_update_entry(entry, data={**entry.data})
|
|
||||||
await hass.async_add_executor_job(
|
await hass.async_add_executor_job(
|
||||||
session.update_webhook,
|
session.update_webhook,
|
||||||
entry.data[CONF_WEBHOOK_URL],
|
entry.data[CONF_WEBHOOK_URL],
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue