From 8ba4e02fadfd5cfb62e62184e89d8d03e5ee9833 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 16 Feb 2024 10:56:30 -0600 Subject: [PATCH] Add blog post about directly altering ConfigEntry objects (#2080) * Add blog post about directly altering ConfigEntry objects * Update blog/2024-02-12-async_update_entry.md Co-authored-by: Teemu R. * Update blog/2024-02-12-async_update_entry.md * Update blog/2024-02-12-async_update_entry.md Co-authored-by: Martin Hjelmare --------- Co-authored-by: Teemu R. Co-authored-by: Martin Hjelmare --- blog/2024-02-12-async_update_entry.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 blog/2024-02-12-async_update_entry.md diff --git a/blog/2024-02-12-async_update_entry.md b/blog/2024-02-12-async_update_entry.md new file mode 100644 index 00000000..09dd5a23 --- /dev/null +++ b/blog/2024-02-12-async_update_entry.md @@ -0,0 +1,22 @@ +--- +author: J. Nick Koston +authorURL: https://github.com/bdraco +title: Altering config entries +--- + +Starting from Home Assistant 2024.3, modifications to a `ConfigEntry` should use `hass.config_entries.async_update_entry`. +Directly setting attributes on the `ConfigEntry` object is deprecated and will start to fail in version 2024.9 and later. +There is no deprecation period for directly setting `unique_id` on the `ConfigEntry` as doing so will corrupt the internal state, and doing so will start to fail immediately. + +The following attributes must now be set via `hass.config_entries.async_update_entry`: + +- data +- minor_version +- options +- pref_disable_new_entities +- pref_disable_polling +- title +- unique_id +- version + +Tests must ensure that `MockConfigEntry` objects are added to Home Assistant via `entry.add_to_hass(hass)` before calling `hass.config_entries.async_update_entry`. \ No newline at end of file