Skip to content

Fix sensors getting wrong unit from MeasuredValueType attribute in Overkiz#170088

Merged
joostlek merged 3 commits into
home-assistant:devfrom
iMicknl:fix-overkiz-rssi-unit-override
May 8, 2026
Merged

Fix sensors getting wrong unit from MeasuredValueType attribute in Overkiz#170088
joostlek merged 3 commits into
home-assistant:devfrom
iMicknl:fix-overkiz-rssi-unit-override

Conversation

@iMicknl
Copy link
Copy Markdown
Member

@iMicknl iMicknl commented May 8, 2026

Proposed change

Overkiz provides a device-level core:MeasuredValueType attribute which links to the 'main sensor', we don't know what the main sensor is and we should check if the value type is valid for this device class.

Fixes #140651

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 3 commits May 8, 2026 09:38
…Type

The device-level core:MeasuredValueType attribute (e.g. LuminanceInLux,
TemperatureInCelcius) was applied to all sensors on a device, causing
RSSI sensors to report incorrect units (lx, °C) instead of dB.

Validate the resolved unit against the sensor's device class before
applying the fallback.

Fixes home-assistant#140651
…Type

The device-level core:MeasuredValueType attribute (e.g. LuminanceInLux,
TemperatureInCelcius) was applied to all sensors on a device, causing
RSSI sensors to report incorrect units (lx, °C) instead of dB.

Validate the resolved unit against the sensor's device class before
applying the fallback.

Fixes home-assistant#140651
Copilot AI review requested due to automatic review settings May 8, 2026 08:00
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 fixes incorrect sensor units in the Overkiz integration when a device-level core:MeasuredValueType attribute (describing a device’s “main” measurement) was incorrectly applied to unrelated sensors (e.g., RSSI), causing invalid units for the sensor’s device class.

Changes:

  • Validate core:MeasuredValueType-derived units against the sensor’s device_class (via homeassistant.components.sensor.DEVICE_CLASS_UNITS) before using them.
  • Keep per-state <stateName>MeasuredValueType behavior unchanged (still takes precedence).
  • Update Overkiz sensor snapshot expectations for RSSI sensors to use the correct signal strength unit.

Reviewed changes

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

File Description
homeassistant/components/overkiz/sensor.py Only applies device-level core:MeasuredValueType unit overrides when the resolved unit is valid for the sensor’s device class.
tests/components/overkiz/snapshots/test_sensor.ambr Updates snapshots to reflect corrected RSSI unit of measurement (dB).

@joostlek joostlek added this to the 2026.5.1 milestone May 8, 2026
@joostlek joostlek merged commit 5f6bd9b into home-assistant:dev May 8, 2026
36 of 37 checks passed
@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.

RSSI level sensor has wrong unit of measurement (lx) for LuminanceSensor in Overkiz

4 participants