Fix IntelliFire setup recovery#169739
Merged
joostlek merged 2 commits intoMay 7, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR improves IntelliFire “setup recovery” behavior by ensuring transient connection failures trigger a config entry retry and by preventing an AttributeError in the options flow when the config entry isn’t loaded.
Changes:
- Raise
ConfigEntryNotReadyduring setup when connection-related exceptions occur while building/initializing the fireplace object, so Home Assistant retries setup. - Update the IntelliFire options flow to abort with a translated
not_loadedreason whenruntime_datais missing. - Add tests covering setup retry behavior and the options-flow-not-loaded path, plus a new translation string for the abort reason.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
tests/components/intellifire/test_init.py |
Adds parameterized coverage asserting setup enters SETUP_RETRY on connectivity-related exceptions. |
tests/components/intellifire/test_config_flow.py |
Adds coverage for options flow submission when the config entry isn’t loaded (expects abort). |
homeassistant/components/intellifire/strings.json |
Adds translated options-flow abort reason not_loaded. |
homeassistant/components/intellifire/config_flow.py |
Aborts options flow submission when runtime_data is missing to avoid AttributeError. |
homeassistant/components/intellifire/__init__.py |
Converts connection errors during initialization into ConfigEntryNotReady to trigger retry. |
joostlek
requested changes
May 4, 2026
Contributor
|
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍 |
joostlek
approved these changes
May 7, 2026
frenck
pushed a commit
that referenced
this pull request
May 8, 2026
Merged
eleboucher
pushed a commit
to eleboucher/homelab
that referenced
this pull request
May 9, 2026
…2026.5.0 → 2026.5.1) (#411) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/home-operations/home-assistant](https://ghcr.io/home-operations/home-assistant) ([source](https://github.com/home-assistant/core)) | patch | `2026.5.0` → `2026.5.1` | --- ### Release Notes <details> <summary>home-assistant/core (ghcr.io/home-operations/home-assistant)</summary> ### [`v2026.5.1`](https://github.com/home-assistant/core/releases/tag/2026.5.1) [Compare Source](home-assistant/core@2026.5.0...2026.5.1) - Added wfsens as a occupancy source in wiz ([@​th3spis] - [#​166799]) ([wiz docs]) - Fix WiZ Light config flow timeout by properly closing UDP connections ([@​robwasripped] - [#​168456]) ([wiz docs]) - Fix IntelliFire setup recovery ([@​jeeftor] - [#​169739]) ([intellifire docs]) - Fix hassio auth IndexError on Supervisor Unix socket requests ([@​agners] - [#​169911]) ([hassio docs]) - Update gardena ble to 2.8.1 ([@​elupus] - [#​169914]) ([gardena\_bluetooth docs][gardena_bluetooth docs]) ([husqvarna\_automower\_ble docs][husqvarna_automower_ble docs]) (dependency) - Bump serialx to 1.7.1 ([@​puddly] - [#​169928]) ([serial docs]) ([acer\_projector docs][acer_projector docs]) ([usb docs]) (dependency) - Bump holidays to 0.96 ([@​gjohansson-ST] - [#​169939]) ([workday docs]) ([holiday docs]) (dependency) - Add support for options to todo triggers ([@​emontnemery] - [#​169947]) ([todo docs]) - Bump pyTibber to 0.37.5 ([@​Danielhiversen] - [#​169981]) ([tibber docs]) (dependency) - Bump python-duco-client to 0.4.0 ([@​ronaldvdmeer] - [#​169776]) ([duco docs]) (dependency) - Bump python-duco-client to 0.4.1 ([@​ronaldvdmeer] - [#​169991]) ([duco docs]) (dependency) - Proper handling of malformed data during FRITZ!Box Tools setup ([@​mib1185] - [#​170030]) ([fritz docs]) - Fix websocket certificate verification Bump axis to v70 ([@​Kane610] - [#​170038]) ([axis docs]) (dependency) - Fix `is_closed` state for DynamicGarageDoor in Overkiz ([@​iMicknl] - [#​170052]) ([overkiz docs]) - Fix tilt controls for TiltOnlyVenetianBlind in Overkiz ([@​iMicknl] - [#​170055]) ([overkiz docs]) - Fix cover controls for UpDownBioclimaticPergola in Overkiz ([@​iMicknl] - [#​170058]) ([overkiz docs]) - Bump pyOverkiz to 1.20.3 ([@​iMicknl] - [#​170060]) ([overkiz docs]) (dependency) - Bump deebot-client to 18.3.0 ([@​edenhaus] - [#​170066]) ([ecovacs docs]) (dependency) - Set `is_closed` state to `None` when a cover state returns "unknown" in Overkiz ([@​iMicknl] - [#​170081]) ([overkiz docs]) - Fix sensors getting wrong unit from MeasuredValueType attribute in Overkiz ([@​iMicknl] - [#​170088]) ([overkiz docs]) - Fix Z-Wave discovery crash with unknown node firmware version ([@​TheJulianJES] - [#​170090]) ([zwave\_js docs][zwave_js docs]) - Bump ZHA to 1.3.1 ([@​TheJulianJES] - [#​170095]) ([zha docs]) (dependency) - Bump python-bsblan to 5.2.1 ([@​liudger] - [#​170100]) ([bsblan docs]) (dependency) - Bump blebox\_uniapi to v2.5.3 ([@​bkobus-bbx] - [#​170115]) ([blebox docs]) (dependency) - Fix is\_closed state for DynamicGate covers in Overkiz ([@​iMicknl] - [#​170130]) ([overkiz docs]) - Fix tilt support for UpDownVenetianBlind (rts:VenetianBlindRTSComponent) in Overkiz ([@​iMicknl] - [#​170047]) ([overkiz docs]) [#​166799]: home-assistant/core#166799 [#​168456]: home-assistant/core#168456 [#​169484]: home-assistant/core#169484 [#​169739]: home-assistant/core#169739 [#​169776]: home-assistant/core#169776 [#​169911]: home-assistant/core#169911 [#​169914]: home-assistant/core#169914 [#​169928]: home-assistant/core#169928 [#​169939]: home-assistant/core#169939 [#​169947]: home-assistant/core#169947 [#​169981]: home-assistant/core#169981 [#​169991]: home-assistant/core#169991 [#​170030]: home-assistant/core#170030 [#​170038]: home-assistant/core#170038 [#​170047]: home-assistant/core#170047 [#​170052]: home-assistant/core#170052 [#​170055]: home-assistant/core#170055 [#​170058]: home-assistant/core#170058 [#​170060]: home-assistant/core#170060 [#​170066]: home-assistant/core#170066 [#​170081]: home-assistant/core#170081 [#​170088]: home-assistant/core#170088 [#​170090]: home-assistant/core#170090 [#​170095]: home-assistant/core#170095 [#​170100]: home-assistant/core#170100 [#​170115]: home-assistant/core#170115 [#​170130]: home-assistant/core#170130 [@​Danielhiversen]: https://github.com/Danielhiversen [@​Kane610]: https://github.com/Kane610 [@​TheJulianJES]: https://github.com/TheJulianJES [@​agners]: https://github.com/agners [@​bkobus-bbx]: https://github.com/bkobus-bbx [@​edenhaus]: https://github.com/edenhaus [@​elupus]: https://github.com/elupus [@​emontnemery]: https://github.com/emontnemery [@​frenck]: https://github.com/frenck [@​gjohansson-ST]: https://github.com/gjohansson-ST [@​iMicknl]: https://github.com/iMicknl [@​jeeftor]: https://github.com/jeeftor [@​liudger]: https://github.com/liudger [@​mib1185]: https://github.com/mib1185 [@​puddly]: https://github.com/puddly [@​robwasripped]: https://github.com/robwasripped [@​ronaldvdmeer]: https://github.com/ronaldvdmeer [@​th3spis]: https://github.com/th3spis [acer_projector docs]: https://www.home-assistant.io/integrations/acer_projector/ [axis docs]: https://www.home-assistant.io/integrations/axis/ [blebox docs]: https://www.home-assistant.io/integrations/blebox/ [bsblan docs]: https://www.home-assistant.io/integrations/bsblan/ [duco docs]: https://www.home-assistant.io/integrations/duco/ [ecovacs docs]: https://www.home-assistant.io/integrations/ecovacs/ [fritz docs]: https://www.home-assistant.io/integrations/fritz/ [gardena_bluetooth docs]: https://www.home-assistant.io/integrations/gardena_bluetooth/ [hassio docs]: https://www.home-assistant.io/integrations/hassio/ [holiday docs]: https://www.home-assistant.io/integrations/holiday/ [husqvarna_automower_ble docs]: https://www.home-assistant.io/integrations/husqvarna_automower_ble/ [intellifire docs]: https://www.home-assistant.io/integrations/intellifire/ [overkiz docs]: https://www.home-assistant.io/integrations/overkiz/ [serial docs]: https://www.home-assistant.io/integrations/serial/ [tibber docs]: https://www.home-assistant.io/integrations/tibber/ [todo docs]: https://www.home-assistant.io/integrations/todo/ [usb docs]: https://www.home-assistant.io/integrations/usb/ [wiz docs]: https://www.home-assistant.io/integrations/wiz/ [workday docs]: https://www.home-assistant.io/integrations/workday/ [zha docs]: https://www.home-assistant.io/integrations/zha/ [zwave_js docs]: https://www.home-assistant.io/integrations/zwave_js/ </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEwMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL3BhdGNoIl19--> Reviewed-on: https://git.erwanleboucher.dev/eleboucher/homelab/pulls/411
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Breaking change
None.
Proposed change
Fix two IntelliFire setup recovery issues.
When an IntelliFire config entry is not loaded, submitting the options flow no longer raises an
AttributeErrorbecauseruntime_datais missing. The options flow now aborts cleanly with a translatednot_loadedreason.When transient connection errors occur while the fireplace object is being built or initialized, setup now raises
ConfigEntryNotReadyso Home Assistant retries the config entry instead of leaving it in a permanent setup error state.Tests were added for both paths.
Type of change
Additional information
Checklist
ruff format homeassistant tests)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest.requirements_all.txt.Updated by running
python3 -m script.gen_requirements_all.To help with the load of incoming pull requests: