Skip to content

Set is_closed state to None when a cover state returns "unknown" in Overkiz#170081

Merged
frenck merged 5 commits into
home-assistant:devfrom
iMicknl:overkiz-cover-unknown-state
May 8, 2026
Merged

Set is_closed state to None when a cover state returns "unknown" in Overkiz#170081
frenck merged 5 commits into
home-assistant:devfrom
iMicknl:overkiz-cover-unknown-state

Conversation

@iMicknl
Copy link
Copy Markdown
Member

@iMicknl iMicknl commented May 8, 2026

Proposed change

Set is_closed state to None when a cover state returns "unknown". Feedback from Copilot in #170052 (comment).

Added test fixture & snapshot.

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New integration (thank you!)
  • New feature (which adds functionality to an existing integration)
  • Deprecation (breaking change to happen in the future)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

  • This PR fixes or closes issue: fixes #
  • This PR is related to issue:
  • Link to documentation pull request:
  • Link to developer documentation pull request:
  • Link to frontend pull request:

Checklist

  • I understand the code I am submitting and can explain how it works.
  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • I have followed the perfect PR recommendations
  • The code has been formatted using Ruff (ruff format homeassistant tests)
  • Tests have been added to verify that the new code works.
  • Any generated code has been carefully reviewed for correctness and compliance with project standards.

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • The manifest file has all fields filled out correctly.
    Updated and included derived files by running: python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt.
    Updated by running python3 -m script.gen_requirements_all.
  • For the updated dependencies a diff between library versions and ideally a link to the changelog/release notes is added to the PR description.

To help with the load of incoming pull requests:

iMicknl added 4 commits May 7, 2026 22:42
…eports unknown

Previously, is_closed treated any non-closed value as False (open),
but the core:OpenClosedUnknownState definition explicitly allows
"unknown" which should map to HA's unknown state rather than open.
Copilot AI review requested due to automatic review settings May 8, 2026 06:50
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adjusts the Overkiz cover entity’s is_closed reporting so that when the upstream device state is "unknown", Home Assistant exposes is_closed as None (unknown) rather than incorrectly implying an open/closed boolean.

Changes:

  • Update OverkizCover.is_closed to return None when the device reports OpenClosedUnknownState == "unknown".
  • Extend the Overkiz test fixture set with a garage door device that reports "unknown".
  • Add a snapshot assertion covering the new entity and the expected is_closed: None attribute.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
homeassistant/components/overkiz/cover.py Treats "unknown" as an unknown closed-state (None) for is_closed.
tests/components/overkiz/fixtures/setup/cloud_somfy_tahoma_v2_europe.json Adds a fixture device that reports an unknown open/closed state.
tests/components/overkiz/snapshots/test_cover.ambr Adds snapshot coverage verifying state == "unknown" and is_closed == None.

@iMicknl iMicknl added this to the 2026.5.1 milestone May 8, 2026
Copy link
Copy Markdown
Member

@frenck frenck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @iMicknl 👍

../Frenck

                       

Blogging my personal ramblings at frenck.dev

@frenck frenck merged commit c281c51 into home-assistant:dev May 8, 2026
33 checks passed
frenck pushed a commit that referenced this pull request May 8, 2026
@frenck frenck mentioned this pull request May 8, 2026
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 ([@&#8203;th3spis] - [#&#8203;166799]) ([wiz docs])
- Fix WiZ Light config flow timeout by properly closing UDP connections ([@&#8203;robwasripped] - [#&#8203;168456]) ([wiz docs])
- Fix IntelliFire setup recovery ([@&#8203;jeeftor] - [#&#8203;169739]) ([intellifire docs])
- Fix hassio auth IndexError on Supervisor Unix socket requests ([@&#8203;agners] - [#&#8203;169911]) ([hassio docs])
- Update gardena ble to 2.8.1 ([@&#8203;elupus] - [#&#8203;169914]) ([gardena\_bluetooth docs][gardena_bluetooth docs]) ([husqvarna\_automower\_ble docs][husqvarna_automower_ble docs]) (dependency)
- Bump serialx to 1.7.1 ([@&#8203;puddly] - [#&#8203;169928]) ([serial docs]) ([acer\_projector docs][acer_projector docs]) ([usb docs]) (dependency)
- Bump holidays to 0.96 ([@&#8203;gjohansson-ST] - [#&#8203;169939]) ([workday docs]) ([holiday docs]) (dependency)
- Add support for options to todo triggers ([@&#8203;emontnemery] - [#&#8203;169947]) ([todo docs])
- Bump pyTibber to 0.37.5 ([@&#8203;Danielhiversen] - [#&#8203;169981]) ([tibber docs]) (dependency)
- Bump python-duco-client to 0.4.0 ([@&#8203;ronaldvdmeer] - [#&#8203;169776]) ([duco docs]) (dependency)
- Bump python-duco-client to 0.4.1 ([@&#8203;ronaldvdmeer] - [#&#8203;169991]) ([duco docs]) (dependency)
- Proper handling of malformed data during FRITZ!Box Tools setup ([@&#8203;mib1185] - [#&#8203;170030]) ([fritz docs])
- Fix websocket certificate verification Bump axis to v70 ([@&#8203;Kane610] - [#&#8203;170038]) ([axis docs]) (dependency)
- Fix `is_closed` state for DynamicGarageDoor in Overkiz ([@&#8203;iMicknl] - [#&#8203;170052]) ([overkiz docs])
- Fix tilt controls for TiltOnlyVenetianBlind in Overkiz ([@&#8203;iMicknl] - [#&#8203;170055]) ([overkiz docs])
- Fix cover controls for UpDownBioclimaticPergola in Overkiz ([@&#8203;iMicknl] - [#&#8203;170058]) ([overkiz docs])
- Bump pyOverkiz to 1.20.3 ([@&#8203;iMicknl] - [#&#8203;170060]) ([overkiz docs]) (dependency)
- Bump deebot-client to 18.3.0 ([@&#8203;edenhaus] - [#&#8203;170066]) ([ecovacs docs]) (dependency)
- Set `is_closed` state to `None` when a cover state returns "unknown" in Overkiz ([@&#8203;iMicknl] - [#&#8203;170081]) ([overkiz docs])
- Fix sensors getting wrong unit from MeasuredValueType attribute in Overkiz ([@&#8203;iMicknl] - [#&#8203;170088]) ([overkiz docs])
- Fix Z-Wave discovery crash with unknown node firmware version ([@&#8203;TheJulianJES] - [#&#8203;170090]) ([zwave\_js docs][zwave_js docs])
- Bump ZHA to 1.3.1 ([@&#8203;TheJulianJES] - [#&#8203;170095]) ([zha docs]) (dependency)
- Bump python-bsblan to 5.2.1 ([@&#8203;liudger] - [#&#8203;170100]) ([bsblan docs]) (dependency)
- Bump blebox\_uniapi to v2.5.3 ([@&#8203;bkobus-bbx] - [#&#8203;170115]) ([blebox docs]) (dependency)
- Fix is\_closed state for DynamicGate covers in Overkiz ([@&#8203;iMicknl] - [#&#8203;170130]) ([overkiz docs])
- Fix tilt support for UpDownVenetianBlind (rts:VenetianBlindRTSComponent) in Overkiz ([@&#8203;iMicknl] - [#&#8203;170047]) ([overkiz docs])

[#&#8203;166799]: home-assistant/core#166799

[#&#8203;168456]: home-assistant/core#168456

[#&#8203;169484]: home-assistant/core#169484

[#&#8203;169739]: home-assistant/core#169739

[#&#8203;169776]: home-assistant/core#169776

[#&#8203;169911]: home-assistant/core#169911

[#&#8203;169914]: home-assistant/core#169914

[#&#8203;169928]: home-assistant/core#169928

[#&#8203;169939]: home-assistant/core#169939

[#&#8203;169947]: home-assistant/core#169947

[#&#8203;169981]: home-assistant/core#169981

[#&#8203;169991]: home-assistant/core#169991

[#&#8203;170030]: home-assistant/core#170030

[#&#8203;170038]: home-assistant/core#170038

[#&#8203;170047]: home-assistant/core#170047

[#&#8203;170052]: home-assistant/core#170052

[#&#8203;170055]: home-assistant/core#170055

[#&#8203;170058]: home-assistant/core#170058

[#&#8203;170060]: home-assistant/core#170060

[#&#8203;170066]: home-assistant/core#170066

[#&#8203;170081]: home-assistant/core#170081

[#&#8203;170088]: home-assistant/core#170088

[#&#8203;170090]: home-assistant/core#170090

[#&#8203;170095]: home-assistant/core#170095

[#&#8203;170100]: home-assistant/core#170100

[#&#8203;170115]: home-assistant/core#170115

[#&#8203;170130]: home-assistant/core#170130

[@&#8203;Danielhiversen]: https://github.com/Danielhiversen

[@&#8203;Kane610]: https://github.com/Kane610

[@&#8203;TheJulianJES]: https://github.com/TheJulianJES

[@&#8203;agners]: https://github.com/agners

[@&#8203;bkobus-bbx]: https://github.com/bkobus-bbx

[@&#8203;edenhaus]: https://github.com/edenhaus

[@&#8203;elupus]: https://github.com/elupus

[@&#8203;emontnemery]: https://github.com/emontnemery

[@&#8203;frenck]: https://github.com/frenck

[@&#8203;gjohansson-ST]: https://github.com/gjohansson-ST

[@&#8203;iMicknl]: https://github.com/iMicknl

[@&#8203;jeeftor]: https://github.com/jeeftor

[@&#8203;liudger]: https://github.com/liudger

[@&#8203;mib1185]: https://github.com/mib1185

[@&#8203;puddly]: https://github.com/puddly

[@&#8203;robwasripped]: https://github.com/robwasripped

[@&#8203;ronaldvdmeer]: https://github.com/ronaldvdmeer

[@&#8203;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
@github-actions github-actions Bot locked and limited conversation to collaborators May 9, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants