-
-
Notifications
You must be signed in to change notification settings - Fork 35.8k
Allow control on missing izone thermometer #155826
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Allow control on missing izone thermometer #155826
Conversation
|
Hey there @Swamp-Ig, mind taking a look at this pull request as it has been labeled with an integration ( Code owner commandsCode owners of
|
There was a problem hiding this 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 a bug in the iZone climate integration where the controller's TARGET_TEMPERATURE feature was not being enabled when zones lacked temperature sensors. The fix allows Home Assistant to set the target temperature for zones without thermometers, enabling control based on external temperature sensors.
Key Changes:
- Added logic to enable
TARGET_TEMPERATUREfeature when any zone hastemp_currentset toNone - Improved code documentation explaining the three scenarios where temperature control should be enabled
- Added comprehensive test coverage for all temperature control scenarios
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
homeassistant/components/izone/climate.py |
Added condition to check for zones without temperature sensors and enable TARGET_TEMPERATURE feature accordingly; improved inline documentation |
tests/components/izone/test_climate.py |
Added comprehensive test suite covering all scenarios for TARGET_TEMPERATURE feature enablement |
If an iZone zone does not have a thermometer, then iZone will not adjust the target temperature of the controller. In such cases, Home Assistant needs to be able to set the target temperature based on non-iZone thermometers. Signed-off-by: JP-Ellis <josh@jpellis.me>
1e3677a to
c3bf17c
Compare
| controller.ras_mode == "master" | ||
| and controller.zone_ctrl > controller.zones_total | ||
| ) | ||
| or any(zone.temp_current is None for zone in controller.zones) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What happens if I set the target temp on a controller where one zone has no temp sensor and the others have one? Will the behavior be the same for the zones with a temp sensor as when I would have a controller where all zones have a temp sensor?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't test it, as that is not my setup at home.
All I can say is that if a zone does not have a thermometer, then iZone will never update the controller's target temperature, and it must be updated manually through other means (Home Assistant, their app, etc.).
I suspect that in the scenario you propose, iZone may override the target temperature, which Home Assistant would see (and automations could take into account accordingly).
Proposed change
What
Enable the
TARGET_TEMPERATUREfeature of the iZone controller if any of the zone'stemp_curentisNone.Why
If an iZone zone does not have a thermometer, then iZone will not adjust the target temperature of the controller. In such cases, Home Assistant needs to be able to set the target temperature based on non-iZone thermometers.
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: