Fix nobo_hub NoboProfileSelector class-level mutable defaults#170119
Conversation
|
Hey there @echoromeo, 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.
Pull request overview
This pull request addresses a hygiene issue in the nobo_hub integration by removing class-level mutable defaults from NoboProfileSelector to avoid unintended shared state across entity instances.
Changes:
- Move
NoboProfileSelector’s_profilesand_attr_optionsfrom class attributes to per-instance attributes initialized in__init__. - Add a regression test asserting selector instances do not share mutable internal state.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
homeassistant/components/nobo_hub/select.py |
Initializes selector mutable state on the instance instead of at class level. |
tests/components/nobo_hub/test_select.py |
Adds a test to ensure per-instance mutable state for NoboProfileSelector. |
| def test_profile_selector_state_is_per_instance(mock_nobo_hub: MagicMock) -> None: | ||
| """NoboProfileSelector mutable state must live on the instance, not the class. | ||
|
|
||
| Mutable defaults at class level would be shared across every selector | ||
| in the integration (multi-zone, multi-hub). | ||
| """ | ||
| selector_a = NoboProfileSelector("1", mock_nobo_hub) | ||
| selector_b = NoboProfileSelector("1", mock_nobo_hub) | ||
| assert selector_a._profiles is not selector_b._profiles | ||
| assert selector_a._attr_options is not selector_b._attr_options |
There was a problem hiding this comment.
We shouldn't create entities directly in the tests. I think we don't have to explicitly test it
|
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍 |
Bump aiotankerkoenig to 0.5.3 (home-assistant#170224) Fix entities refresh for UptimeRobot (home-assistant#170217) Update easyEnergy exception and icon translations (home-assistant#170218) Add more Gen1 sensors to indevolt (home-assistant#170191) Bump letpot to 0.7.0 (home-assistant#169868) Migrate Thermo Beacon to config entry runtime data (home-assistant#170226) Migrate Sensirion BLE to config entry runtime data (home-assistant#170227) Co-authored-by: Josef Zweck <josef@zweck.dev> Bump imgw-pib to 2.1.2 (home-assistant#170274) Bump serialx to 1.7.2 (home-assistant#170272) Bump aioamazondevices to 13.5.0 (home-assistant#170258) Update upb-lib to 0.7.0 (home-assistant#170051) Bump qbittorrent-api to 2026.5.1 (home-assistant#170181) Use VERSION from PrusaLinkConfigFlow in prusalink (home-assistant#170200) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Migrate Duco to python-duco-connectivity and remove temperature sensors (home-assistant#170237) fix: Do not forget segments from state when a new config arrives (home-assistant#170265) Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Complete icon translations for Indevolt (home-assistant#170292) Align Indevolt quality scale with documentation (home-assistant#170289) Apply strict typing to Indevolt integration (home-assistant#170288) iaqualink: set system specific polling interval (home-assistant#170279) Use standby for HDMI-CEC turn off (home-assistant#170206) prusalink: add continue-job button for ATTENTION state (home-assistant#170193) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> data grand lyon: implement diagnostics (home-assistant#170184) Set serial port description from `description`, not `product` (home-assistant#170160) Co-authored-by: Paulus Schoutsen <balloob@gmail.com> Update infrared-protocols to 4.0.0 (home-assistant#170297) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> data grand lyon: use test fixture instead of manual patching (home-assistant#170294) Handle empty BSB-LAN heating circuits (home-assistant#170249) Add diagnostics platform to Home Assistant Connect ZBT-2 (home-assistant#170158) Fix deprecated_class to work with inheritance (home-assistant#170137) Skip offline devices instead of aborting ViCare diagnostics (home-assistant#170106) Fix local API incorrectly marking devices as unavailable in Overkiz (home-assistant#170118) Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io> Add RepairsFlowResult TypeAlias (home-assistant#170263) Fix flaky diagnostics test for Novy Cooker Hood (home-assistant#170299) Fix spelling of RS-232 in Denon RS-232 integration (home-assistant#170298) data grand lyon: implement reconfiguration flow (home-assistant#170210) Add shared test mocks for the Infrared integration (home-assistant#170296) Co-authored-by: Claude <noreply@anthropic.com> Bump renault-api to 0.5.8 (home-assistant#170309) Bump indevolt api to 1.7.2 (home-assistant#170310) Update IQS to platinum for UptimeRobot (home-assistant#170260) Add player specific sensor to nintendo_parental_controls (home-assistant#155786) Co-authored-by: Joshua Peisach (ItzSwirlz) <itzswirlz2020@outlook.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Erik Montnemery <erik@montnemery.com> Fix hassio.backup_partial AttributeError when folders are specified (home-assistant#170312) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Add backoff to forbidden packages (home-assistant#170242) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Add tuya water timer data points (home-assistant#170314) Add more entities for Tuya camera (home-assistant#169966) Co-authored-by: mik-laj <12058428+mik-laj@users.noreply.github.com> Co-authored-by: Norbert Rittel <norbert@rittel.de> Add Tuya DLQ fixture (home-assistant#169585) Update rf-protocols to 3.0.0 (home-assistant#170301) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Add Message Expire Interval option to MQTT publish service (home-assistant#169317) Co-authored-by: Copilot <copilot@github.com> Add new CentriConnect component (home-assistant#166933) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Watts: add HVAC action + preset mode (home-assistant#169546) Co-authored-by: Copilot <copilot@github.com> Co-authored-by: Joostlek <joostlek@outlook.com> Add quality scale for airnow integration (home-assistant#169709) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Fix nobo_hub NoboProfileSelector class-level mutable defaults (home-assistant#170119) Add cover support to control4 (home-assistant#169417) Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com> Add Mitsubishi brand (home-assistant#169924) Co-authored-by: Nikolai Rahimi <nikolairahimi@users.noreply.github.com> Co-authored-by: Paulus Schoutsen <balloob@gmail.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Fix coordinator data mutation in YouTube diagnostics (home-assistant#170300) Co-authored-by: FIls0010 <a1867444@adelaide.edu.au> Bump aiovodafone to 3.2.0 (home-assistant#170322) Add countdown number for Tuya sfkzq single-valve timers (home-assistant#170318) Allow setting hvac_mode in generic_thermostat.set_temperature (home-assistant#168062) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com> Z-Wave.me: Allow updating entities (home-assistant#167839) Fix MQTT device discovery not using shared QoS and encoding options (home-assistant#170195) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Google assistant temperature setting active thermostat mode (home-assistant#166448) Co-authored-by: Lucas Sanchez Sagrado <lucas.sansag@educa.jcyl.es> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Add quality scale to Tesla Fleet integration (home-assistant#160475) Co-authored-by: Claude <noreply@anthropic.com> Only use SmartThings switch for light if it should (home-assistant#166424) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Add quality scale file to Ness Alarm (home-assistant#163425) Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com> Fix Shelly media player availability (home-assistant#170319) Update discovery description wording (home-assistant#170325) Bump teltasync to 0.3.0, fix discovery for older devices (home-assistant#169660) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Complete exception translations for Indevolt (home-assistant#170291) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Add Kiosker switch platform (home-assistant#168858) Add `ZWaveNodeBaseEntity` for Z-Wave node-level entities (home-assistant#170124) Add number platform to eurotronic_cometblue (home-assistant#168119) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Bump aiotankerkoenig to 0.5.3 (home-assistant#170224) Fix entities refresh for UptimeRobot (home-assistant#170217) Update easyEnergy exception and icon translations (home-assistant#170218) Add more Gen1 sensors to indevolt (home-assistant#170191) Bump letpot to 0.7.0 (home-assistant#169868) Migrate Thermo Beacon to config entry runtime data (home-assistant#170226) Migrate Sensirion BLE to config entry runtime data (home-assistant#170227) Co-authored-by: Josef Zweck <josef@zweck.dev> Bump imgw-pib to 2.1.2 (home-assistant#170274) Bump serialx to 1.7.2 (home-assistant#170272) Bump aioamazondevices to 13.5.0 (home-assistant#170258) Update upb-lib to 0.7.0 (home-assistant#170051) Bump qbittorrent-api to 2026.5.1 (home-assistant#170181) Use VERSION from PrusaLinkConfigFlow in prusalink (home-assistant#170200) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Migrate Duco to python-duco-connectivity and remove temperature sensors (home-assistant#170237) fix: Do not forget segments from state when a new config arrives (home-assistant#170265) Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Complete icon translations for Indevolt (home-assistant#170292) Align Indevolt quality scale with documentation (home-assistant#170289) Apply strict typing to Indevolt integration (home-assistant#170288) iaqualink: set system specific polling interval (home-assistant#170279) Use standby for HDMI-CEC turn off (home-assistant#170206) prusalink: add continue-job button for ATTENTION state (home-assistant#170193) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> data grand lyon: implement diagnostics (home-assistant#170184) Set serial port description from `description`, not `product` (home-assistant#170160) Co-authored-by: Paulus Schoutsen <balloob@gmail.com> Update infrared-protocols to 4.0.0 (home-assistant#170297) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> data grand lyon: use test fixture instead of manual patching (home-assistant#170294) Handle empty BSB-LAN heating circuits (home-assistant#170249) Add diagnostics platform to Home Assistant Connect ZBT-2 (home-assistant#170158) Fix deprecated_class to work with inheritance (home-assistant#170137) Skip offline devices instead of aborting ViCare diagnostics (home-assistant#170106) Fix local API incorrectly marking devices as unavailable in Overkiz (home-assistant#170118) Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io> Add RepairsFlowResult TypeAlias (home-assistant#170263) Fix flaky diagnostics test for Novy Cooker Hood (home-assistant#170299) Fix spelling of RS-232 in Denon RS-232 integration (home-assistant#170298) data grand lyon: implement reconfiguration flow (home-assistant#170210) Add shared test mocks for the Infrared integration (home-assistant#170296) Co-authored-by: Claude <noreply@anthropic.com> Bump renault-api to 0.5.8 (home-assistant#170309) Bump indevolt api to 1.7.2 (home-assistant#170310) Update IQS to platinum for UptimeRobot (home-assistant#170260) Add player specific sensor to nintendo_parental_controls (home-assistant#155786) Co-authored-by: Joshua Peisach (ItzSwirlz) <itzswirlz2020@outlook.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Erik Montnemery <erik@montnemery.com> Fix hassio.backup_partial AttributeError when folders are specified (home-assistant#170312) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Add backoff to forbidden packages (home-assistant#170242) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Add tuya water timer data points (home-assistant#170314) Add more entities for Tuya camera (home-assistant#169966) Co-authored-by: mik-laj <12058428+mik-laj@users.noreply.github.com> Co-authored-by: Norbert Rittel <norbert@rittel.de> Add Tuya DLQ fixture (home-assistant#169585) Update rf-protocols to 3.0.0 (home-assistant#170301) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Add Message Expire Interval option to MQTT publish service (home-assistant#169317) Co-authored-by: Copilot <copilot@github.com> Add new CentriConnect component (home-assistant#166933) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Watts: add HVAC action + preset mode (home-assistant#169546) Co-authored-by: Copilot <copilot@github.com> Co-authored-by: Joostlek <joostlek@outlook.com> Add quality scale for airnow integration (home-assistant#169709) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Fix nobo_hub NoboProfileSelector class-level mutable defaults (home-assistant#170119) Add cover support to control4 (home-assistant#169417) Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com> Add Mitsubishi brand (home-assistant#169924) Co-authored-by: Nikolai Rahimi <nikolairahimi@users.noreply.github.com> Co-authored-by: Paulus Schoutsen <balloob@gmail.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Fix coordinator data mutation in YouTube diagnostics (home-assistant#170300) Co-authored-by: FIls0010 <a1867444@adelaide.edu.au> Bump aiovodafone to 3.2.0 (home-assistant#170322) Add countdown number for Tuya sfkzq single-valve timers (home-assistant#170318) Allow setting hvac_mode in generic_thermostat.set_temperature (home-assistant#168062) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com> Z-Wave.me: Allow updating entities (home-assistant#167839) Fix MQTT device discovery not using shared QoS and encoding options (home-assistant#170195) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Google assistant temperature setting active thermostat mode (home-assistant#166448) Co-authored-by: Lucas Sanchez Sagrado <lucas.sansag@educa.jcyl.es> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Add quality scale to Tesla Fleet integration (home-assistant#160475) Co-authored-by: Claude <noreply@anthropic.com> Only use SmartThings switch for light if it should (home-assistant#166424) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Add quality scale file to Ness Alarm (home-assistant#163425) Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com> Fix Shelly media player availability (home-assistant#170319) Update discovery description wording (home-assistant#170325) Bump teltasync to 0.3.0, fix discovery for older devices (home-assistant#169660) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Complete exception translations for Indevolt (home-assistant#170291) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Add Kiosker switch platform (home-assistant#168858) Add `ZWaveNodeBaseEntity` for Z-Wave node-level entities (home-assistant#170124) Add number platform to eurotronic_cometblue (home-assistant#168119) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Bump aiotankerkoenig to 0.5.3 (home-assistant#170224) Fix entities refresh for UptimeRobot (home-assistant#170217) Update easyEnergy exception and icon translations (home-assistant#170218) Add more Gen1 sensors to indevolt (home-assistant#170191) Bump letpot to 0.7.0 (home-assistant#169868) Migrate Thermo Beacon to config entry runtime data (home-assistant#170226) Migrate Sensirion BLE to config entry runtime data (home-assistant#170227) Co-authored-by: Josef Zweck <josef@zweck.dev> Bump imgw-pib to 2.1.2 (home-assistant#170274) Bump serialx to 1.7.2 (home-assistant#170272) Bump aioamazondevices to 13.5.0 (home-assistant#170258) Update upb-lib to 0.7.0 (home-assistant#170051) Bump qbittorrent-api to 2026.5.1 (home-assistant#170181) Use VERSION from PrusaLinkConfigFlow in prusalink (home-assistant#170200) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Migrate Duco to python-duco-connectivity and remove temperature sensors (home-assistant#170237) fix: Do not forget segments from state when a new config arrives (home-assistant#170265) Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Complete icon translations for Indevolt (home-assistant#170292) Align Indevolt quality scale with documentation (home-assistant#170289) Apply strict typing to Indevolt integration (home-assistant#170288) iaqualink: set system specific polling interval (home-assistant#170279) Use standby for HDMI-CEC turn off (home-assistant#170206) prusalink: add continue-job button for ATTENTION state (home-assistant#170193) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> data grand lyon: implement diagnostics (home-assistant#170184) Set serial port description from `description`, not `product` (home-assistant#170160) Co-authored-by: Paulus Schoutsen <balloob@gmail.com> Update infrared-protocols to 4.0.0 (home-assistant#170297) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> data grand lyon: use test fixture instead of manual patching (home-assistant#170294) Handle empty BSB-LAN heating circuits (home-assistant#170249) Add diagnostics platform to Home Assistant Connect ZBT-2 (home-assistant#170158) Fix deprecated_class to work with inheritance (home-assistant#170137) Skip offline devices instead of aborting ViCare diagnostics (home-assistant#170106) Fix local API incorrectly marking devices as unavailable in Overkiz (home-assistant#170118) Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io> Add RepairsFlowResult TypeAlias (home-assistant#170263) Fix flaky diagnostics test for Novy Cooker Hood (home-assistant#170299) Fix spelling of RS-232 in Denon RS-232 integration (home-assistant#170298) data grand lyon: implement reconfiguration flow (home-assistant#170210) Add shared test mocks for the Infrared integration (home-assistant#170296) Co-authored-by: Claude <noreply@anthropic.com> Bump renault-api to 0.5.8 (home-assistant#170309) Bump indevolt api to 1.7.2 (home-assistant#170310) Update IQS to platinum for UptimeRobot (home-assistant#170260) Add player specific sensor to nintendo_parental_controls (home-assistant#155786) Co-authored-by: Joshua Peisach (ItzSwirlz) <itzswirlz2020@outlook.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Erik Montnemery <erik@montnemery.com> Fix hassio.backup_partial AttributeError when folders are specified (home-assistant#170312) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Add backoff to forbidden packages (home-assistant#170242) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Add tuya water timer data points (home-assistant#170314) Add more entities for Tuya camera (home-assistant#169966) Co-authored-by: mik-laj <12058428+mik-laj@users.noreply.github.com> Co-authored-by: Norbert Rittel <norbert@rittel.de> Add Tuya DLQ fixture (home-assistant#169585) Update rf-protocols to 3.0.0 (home-assistant#170301) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Add Message Expire Interval option to MQTT publish service (home-assistant#169317) Co-authored-by: Copilot <copilot@github.com> Add new CentriConnect component (home-assistant#166933) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Watts: add HVAC action + preset mode (home-assistant#169546) Co-authored-by: Copilot <copilot@github.com> Co-authored-by: Joostlek <joostlek@outlook.com> Add quality scale for airnow integration (home-assistant#169709) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Fix nobo_hub NoboProfileSelector class-level mutable defaults (home-assistant#170119) Add cover support to control4 (home-assistant#169417) Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com> Add Mitsubishi brand (home-assistant#169924) Co-authored-by: Nikolai Rahimi <nikolairahimi@users.noreply.github.com> Co-authored-by: Paulus Schoutsen <balloob@gmail.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Fix coordinator data mutation in YouTube diagnostics (home-assistant#170300) Co-authored-by: FIls0010 <a1867444@adelaide.edu.au> Bump aiovodafone to 3.2.0 (home-assistant#170322) Add countdown number for Tuya sfkzq single-valve timers (home-assistant#170318) Allow setting hvac_mode in generic_thermostat.set_temperature (home-assistant#168062) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com> Z-Wave.me: Allow updating entities (home-assistant#167839) Fix MQTT device discovery not using shared QoS and encoding options (home-assistant#170195) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Google assistant temperature setting active thermostat mode (home-assistant#166448) Co-authored-by: Lucas Sanchez Sagrado <lucas.sansag@educa.jcyl.es> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Add quality scale to Tesla Fleet integration (home-assistant#160475) Co-authored-by: Claude <noreply@anthropic.com> Only use SmartThings switch for light if it should (home-assistant#166424) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Add quality scale file to Ness Alarm (home-assistant#163425) Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com> Fix Shelly media player availability (home-assistant#170319) Update discovery description wording (home-assistant#170325) Bump teltasync to 0.3.0, fix discovery for older devices (home-assistant#169660) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Complete exception translations for Indevolt (home-assistant#170291) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Add Kiosker switch platform (home-assistant#168858) Add `ZWaveNodeBaseEntity` for Z-Wave node-level entities (home-assistant#170124) Add number platform to eurotronic_cometblue (home-assistant#168119) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Bump aiotankerkoenig to 0.5.3 (home-assistant#170224) Fix entities refresh for UptimeRobot (home-assistant#170217) Update easyEnergy exception and icon translations (home-assistant#170218) Add more Gen1 sensors to indevolt (home-assistant#170191) Bump letpot to 0.7.0 (home-assistant#169868) Migrate Thermo Beacon to config entry runtime data (home-assistant#170226) Migrate Sensirion BLE to config entry runtime data (home-assistant#170227) Co-authored-by: Josef Zweck <josef@zweck.dev> Bump imgw-pib to 2.1.2 (home-assistant#170274) Bump serialx to 1.7.2 (home-assistant#170272) Bump aioamazondevices to 13.5.0 (home-assistant#170258) Update upb-lib to 0.7.0 (home-assistant#170051) Bump qbittorrent-api to 2026.5.1 (home-assistant#170181) Use VERSION from PrusaLinkConfigFlow in prusalink (home-assistant#170200) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Migrate Duco to python-duco-connectivity and remove temperature sensors (home-assistant#170237) fix: Do not forget segments from state when a new config arrives (home-assistant#170265) Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Complete icon translations for Indevolt (home-assistant#170292) Align Indevolt quality scale with documentation (home-assistant#170289) Apply strict typing to Indevolt integration (home-assistant#170288) iaqualink: set system specific polling interval (home-assistant#170279) Use standby for HDMI-CEC turn off (home-assistant#170206) prusalink: add continue-job button for ATTENTION state (home-assistant#170193) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> data grand lyon: implement diagnostics (home-assistant#170184) Set serial port description from `description`, not `product` (home-assistant#170160) Co-authored-by: Paulus Schoutsen <balloob@gmail.com> Update infrared-protocols to 4.0.0 (home-assistant#170297) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> data grand lyon: use test fixture instead of manual patching (home-assistant#170294) Handle empty BSB-LAN heating circuits (home-assistant#170249) Add diagnostics platform to Home Assistant Connect ZBT-2 (home-assistant#170158) Fix deprecated_class to work with inheritance (home-assistant#170137) Skip offline devices instead of aborting ViCare diagnostics (home-assistant#170106) Fix local API incorrectly marking devices as unavailable in Overkiz (home-assistant#170118) Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io> Add RepairsFlowResult TypeAlias (home-assistant#170263) Fix flaky diagnostics test for Novy Cooker Hood (home-assistant#170299) Fix spelling of RS-232 in Denon RS-232 integration (home-assistant#170298) data grand lyon: implement reconfiguration flow (home-assistant#170210) Add shared test mocks for the Infrared integration (home-assistant#170296) Co-authored-by: Claude <noreply@anthropic.com> Bump renault-api to 0.5.8 (home-assistant#170309) Bump indevolt api to 1.7.2 (home-assistant#170310) Update IQS to platinum for UptimeRobot (home-assistant#170260) Add player specific sensor to nintendo_parental_controls (home-assistant#155786) Co-authored-by: Joshua Peisach (ItzSwirlz) <itzswirlz2020@outlook.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Erik Montnemery <erik@montnemery.com> Fix hassio.backup_partial AttributeError when folders are specified (home-assistant#170312) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Add backoff to forbidden packages (home-assistant#170242) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Add tuya water timer data points (home-assistant#170314) Add more entities for Tuya camera (home-assistant#169966) Co-authored-by: mik-laj <12058428+mik-laj@users.noreply.github.com> Co-authored-by: Norbert Rittel <norbert@rittel.de> Add Tuya DLQ fixture (home-assistant#169585) Update rf-protocols to 3.0.0 (home-assistant#170301) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Add Message Expire Interval option to MQTT publish service (home-assistant#169317) Co-authored-by: Copilot <copilot@github.com> Add new CentriConnect component (home-assistant#166933) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Watts: add HVAC action + preset mode (home-assistant#169546) Co-authored-by: Copilot <copilot@github.com> Co-authored-by: Joostlek <joostlek@outlook.com> Add quality scale for airnow integration (home-assistant#169709) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Fix nobo_hub NoboProfileSelector class-level mutable defaults (home-assistant#170119) Add cover support to control4 (home-assistant#169417) Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com> Add Mitsubishi brand (home-assistant#169924) Co-authored-by: Nikolai Rahimi <nikolairahimi@users.noreply.github.com> Co-authored-by: Paulus Schoutsen <balloob@gmail.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Fix coordinator data mutation in YouTube diagnostics (home-assistant#170300) Co-authored-by: FIls0010 <a1867444@adelaide.edu.au> Bump aiovodafone to 3.2.0 (home-assistant#170322) Add countdown number for Tuya sfkzq single-valve timers (home-assistant#170318) Allow setting hvac_mode in generic_thermostat.set_temperature (home-assistant#168062) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com> Z-Wave.me: Allow updating entities (home-assistant#167839) Fix MQTT device discovery not using shared QoS and encoding options (home-assistant#170195) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Google assistant temperature setting active thermostat mode (home-assistant#166448) Co-authored-by: Lucas Sanchez Sagrado <lucas.sansag@educa.jcyl.es> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Add quality scale to Tesla Fleet integration (home-assistant#160475) Co-authored-by: Claude <noreply@anthropic.com> Only use SmartThings switch for light if it should (home-assistant#166424) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Add quality scale file to Ness Alarm (home-assistant#163425) Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com> Fix Shelly media player availability (home-assistant#170319) Update discovery description wording (home-assistant#170325) Bump teltasync to 0.3.0, fix discovery for older devices (home-assistant#169660) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Complete exception translations for Indevolt (home-assistant#170291) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Add Kiosker switch platform (home-assistant#168858) Add `ZWaveNodeBaseEntity` for Z-Wave node-level entities (home-assistant#170124) Add number platform to eurotronic_cometblue (home-assistant#168119) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Bump aiotankerkoenig to 0.5.3 (home-assistant#170224) Fix entities refresh for UptimeRobot (home-assistant#170217) Update easyEnergy exception and icon translations (home-assistant#170218) Add more Gen1 sensors to indevolt (home-assistant#170191) Bump letpot to 0.7.0 (home-assistant#169868) Migrate Thermo Beacon to config entry runtime data (home-assistant#170226) Migrate Sensirion BLE to config entry runtime data (home-assistant#170227) Co-authored-by: Josef Zweck <josef@zweck.dev> Bump imgw-pib to 2.1.2 (home-assistant#170274) Bump serialx to 1.7.2 (home-assistant#170272) Bump aioamazondevices to 13.5.0 (home-assistant#170258) Update upb-lib to 0.7.0 (home-assistant#170051) Bump qbittorrent-api to 2026.5.1 (home-assistant#170181) Use VERSION from PrusaLinkConfigFlow in prusalink (home-assistant#170200) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Migrate Duco to python-duco-connectivity and remove temperature sensors (home-assistant#170237) fix: Do not forget segments from state when a new config arrives (home-assistant#170265) Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Complete icon translations for Indevolt (home-assistant#170292) Align Indevolt quality scale with documentation (home-assistant#170289) Apply strict typing to Indevolt integration (home-assistant#170288) iaqualink: set system specific polling interval (home-assistant#170279) Use standby for HDMI-CEC turn off (home-assistant#170206) prusalink: add continue-job button for ATTENTION state (home-assistant#170193) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> data grand lyon: implement diagnostics (home-assistant#170184) Set serial port description from `description`, not `product` (home-assistant#170160) Co-authored-by: Paulus Schoutsen <balloob@gmail.com> Update infrared-protocols to 4.0.0 (home-assistant#170297) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> data grand lyon: use test fixture instead of manual patching (home-assistant#170294) Handle empty BSB-LAN heating circuits (home-assistant#170249) Add diagnostics platform to Home Assistant Connect ZBT-2 (home-assistant#170158) Fix deprecated_class to work with inheritance (home-assistant#170137) Skip offline devices instead of aborting ViCare diagnostics (home-assistant#170106) Fix local API incorrectly marking devices as unavailable in Overkiz (home-assistant#170118) Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io> Add RepairsFlowResult TypeAlias (home-assistant#170263) Fix flaky diagnostics test for Novy Cooker Hood (home-assistant#170299) Fix spelling of RS-232 in Denon RS-232 integration (home-assistant#170298) data grand lyon: implement reconfiguration flow (home-assistant#170210) Add shared test mocks for the Infrared integration (home-assistant#170296) Co-authored-by: Claude <noreply@anthropic.com> Bump renault-api to 0.5.8 (home-assistant#170309) Bump indevolt api to 1.7.2 (home-assistant#170310) Update IQS to platinum for UptimeRobot (home-assistant#170260) Add player specific sensor to nintendo_parental_controls (home-assistant#155786) Co-authored-by: Joshua Peisach (ItzSwirlz) <itzswirlz2020@outlook.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Erik Montnemery <erik@montnemery.com> Fix hassio.backup_partial AttributeError when folders are specified (home-assistant#170312) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Add backoff to forbidden packages (home-assistant#170242) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Add tuya water timer data points (home-assistant#170314) Add more entities for Tuya camera (home-assistant#169966) Co-authored-by: mik-laj <12058428+mik-laj@users.noreply.github.com> Co-authored-by: Norbert Rittel <norbert@rittel.de> Add Tuya DLQ fixture (home-assistant#169585) Update rf-protocols to 3.0.0 (home-assistant#170301) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Add Message Expire Interval option to MQTT publish service (home-assistant#169317) Co-authored-by: Copilot <copilot@github.com> Add new CentriConnect component (home-assistant#166933) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Watts: add HVAC action + preset mode (home-assistant#169546) Co-authored-by: Copilot <copilot@github.com> Co-authored-by: Joostlek <joostlek@outlook.com> Add quality scale for airnow integration (home-assistant#169709) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Fix nobo_hub NoboProfileSelector class-level mutable defaults (home-assistant#170119) Add cover support to control4 (home-assistant#169417) Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com> Add Mitsubishi brand (home-assistant#169924) Co-authored-by: Nikolai Rahimi <nikolairahimi@users.noreply.github.com> Co-authored-by: Paulus Schoutsen <balloob@gmail.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Fix coordinator data mutation in YouTube diagnostics (home-assistant#170300) Co-authored-by: FIls0010 <a1867444@adelaide.edu.au> Bump aiovodafone to 3.2.0 (home-assistant#170322) Add countdown number for Tuya sfkzq single-valve timers (home-assistant#170318) Allow setting hvac_mode in generic_thermostat.set_temperature (home-assistant#168062) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com> Z-Wave.me: Allow updating entities (home-assistant#167839) Fix MQTT device discovery not using shared QoS and encoding options (home-assistant#170195) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Google assistant temperature setting active thermostat mode (home-assistant#166448) Co-authored-by: Lucas Sanchez Sagrado <lucas.sansag@educa.jcyl.es> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Add quality scale to Tesla Fleet integration (home-assistant#160475) Co-authored-by: Claude <noreply@anthropic.com> Only use SmartThings switch for light if it should (home-assistant#166424) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Add quality scale file to Ness Alarm (home-assistant#163425) Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com> Fix Shelly media player availability (home-assistant#170319) Update discovery description wording (home-assistant#170325) Bump teltasync to 0.3.0, fix discovery for older devices (home-assistant#169660) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Complete exception translations for Indevolt (home-assistant#170291) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Add Kiosker switch platform (home-assistant#168858) Add `ZWaveNodeBaseEntity` for Z-Wave node-level entities (home-assistant#170124) Add number platform to eurotronic_cometblue (home-assistant#168119) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Proposed change
Fix nobo_hub
NoboProfileSelectorclass-level mutable defaults.The class fields were never mutated, so this is just a hygiene fix.
Discovered during review of PR #168638
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: