Fix is_closed state for DynamicGarageDoor in Overkiz#170052
Merged
zweckj merged 7 commits intoMay 8, 2026
Merged
Conversation
The UIClass.GARAGE_DOOR default used core:OpenClosedUnknownState which is only reported by PositionableGarageDoor devices. Other garage doors like DynamicGarageDoor report core:OpenClosedState instead, resulting in is_closed always being None after the entity description migration. Move the PositionableGarageDoor-specific behavior (OpenClosedUnknownState and position support) to a UIWidget override, and change the UIClass default to use core:OpenClosedState. Fixes home-assistant#169971
…tion state handling
- Add ogp:GarageDoor fixture (Somfy Connectivity Kit protocol variant) - Add OGP variant to snapshot and service action tests - Remove redundant test_dynamic_garage_door_state_updates test - Revert unrelated unicode encoding changes in fixture file
SNAPSHOT_FIXTURES should have one entry per unique fixture file since snapshot_platform captures all entities from the loaded setup file. Having GARAGE, DYNAMIC_GARAGE_DOOR, and DYNAMIC_GARAGE_DOOR_OGP (all using cloud_somfy_tahoma_v2_europe.json) caused 4x duplication of the same snapshot data.
Devices using the PositionableGarageDoorWithPartialPosition widget report core:OpenClosedPartialState instead of core:OpenClosedState. Without a widget-level override, they fall through to the generic GarageDoor UIClass which expects core:OpenClosedState, resulting in unknown state.
Contributor
There was a problem hiding this comment.
Pull request overview
Fixes incorrect is_closed reporting for Overkiz DynamicGarageDoor devices introduced by the #141330 refactor, and adds/updates fixtures + snapshots to prevent regression.
Changes:
- Update the default GarageDoor cover description to use
core:OpenClosedStateforis_closed. - Add a specific UIWidget override for
PositionableGarageDoorbehavior. - Extend Overkiz cover tests/fixtures/snapshots with DynamicGarageDoor examples (io + ogp).
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| homeassistant/components/overkiz/cover.py | Adjusts GarageDoor is_closed_state mapping and adds a PositionableGarageDoor override. |
| tests/components/overkiz/test_cover.py | Adds DynamicGarageDoor devices to cover service action tests. |
| tests/components/overkiz/snapshots/test_cover.ambr | Updates snapshots to include the new garage door entities/state. |
| tests/components/overkiz/fixtures/setup/cloud_somfy_tahoma_v2_europe.json | Adds fixture devices for DynamicGarageDoor (io + ogp) including core:OpenClosedState. |
…rWithPartialPosition overrides
Comment on lines
+127
to
+139
| # Needs override since PositionableGarageDoor reports | ||
| # core:OpenClosedUnknownState instead of core:OpenClosedState | ||
| # uiClass is GarageDoor | ||
| OverkizCoverDescription( | ||
| key=UIWidget.POSITIONABLE_GARAGE_DOOR, | ||
| device_class=CoverDeviceClass.GARAGE, | ||
| current_position_state=OverkizState.CORE_CLOSURE, | ||
| set_position_command=OverkizCommand.SET_CLOSURE, | ||
| open_command=OverkizCommand.OPEN, | ||
| close_command=OverkizCommand.CLOSE, | ||
| stop_command=OverkizCommand.STOP, | ||
| is_closed_state=OverkizState.CORE_OPEN_CLOSED_UNKNOWN, | ||
| ), |
Member
Author
There was a problem hiding this comment.
Will fix this in a follow-up PR, good catch. Not related to this change and previous behavior.
21 tasks
zweckj
approved these changes
May 8, 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.
Proposed change
The #141330 refactor caused unintended side effects for various GarageDoor devices. State has been fixed and fixtures have been added.
Fixes #169971
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: