Fix hassio.backup_partial AttributeError when folders are specified#170312
Conversation
The aiohasupervisor PartialBackupOptions.folders expects set[Folder], but the service schema produced a set[str]. mashumaro's to_dict() then failed with AttributeError: 'str' object has no attribute 'value'. Validate folder names against the Folder enum and convert them before constructing the options. Translate the legacy "homeassistant" folder value to homeassistant=True for backwards compatibility with existing automations. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Hey there @home-assistant/supervisor, mind taking a look at this pull request as it has been labeled with an integration ( Code owner commandsCode owners of
|
I wonder should (can?) we maybe deprecate |
There was a problem hiding this comment.
Pull request overview
Fixes Supervisor partial backup/restore service handling after the aiohasupervisor migration by validating and converting folders to the expected Folder enum type, and preserving backwards compatibility for the legacy "homeassistant" folder value.
Changes:
- Add schema-time validation for
foldersagainstaiohasupervisor.models.Folderand convert folder strings toFolderenums before building backup/restore options. - Translate legacy
"homeassistant"folder usage intohomeassistant=Trueto avoid breaking existing automations. - Update and extend hassio tests to assert
Folderenum usage and cover the legacy mapping + invalid folder names.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
homeassistant/components/hassio/services.py |
Validates folder names and normalizes service data to Folder enums; adds legacy "homeassistant" mapping. |
tests/components/hassio/test_init.py |
Updates assertions for Folder enums and adds new tests for legacy folder translation and invalid folder rejection. |
The helper is used by both partial backup and partial restore handlers, so the previous name was misleading. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
If a caller explicitly passes homeassistant=False alongside the legacy "homeassistant" entry in folders, silently flipping homeassistant to True would back up/restore the HA config against the caller's intent. Raise ServiceValidationError on this conflict instead. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The same normalization runs for both partial backup and partial restore, so verify the backwards-compatibility mapping is exercised for restore as well. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍 |
Yes, create a repair issue for deprecations in service actions. It should have |
Drop the custom _valid_folder validator in favor of vol.Any(LEGACY_FOLDER_HOMEASSISTANT, vol.Coerce(Folder)) in the schema. The schema now produces the Folder enum directly, so the conversion in _normalize_partial_options_data is no longer needed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Hm, I'd like to have this part of 2026.5.2 since it fixes a bug. However, introducing a new deprecation repair is maybe not ideal of a patch release? 🤔 Thoughts? |
|
Yeah, do that in a separate PR. |
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>
…ome-assistant#170312) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Breaking change
Proposed change
After #166558 switched
hassio.backup_partial/hassio.restore_partialtoaiohasupervisor, the service schema still produced aset[str]forfolders, butPartialBackupOptions.foldersis typedset[Folder]. mashumaro'sto_dict()then fails with:Additionally, the legacy
"homeassistant"folder value (still accepted by Supervisor viav1_folderlist) is no longer part of theFolderenum, so any existing automation passing it would silently break.This change:
Folderenum at schema time and converts them before constructing the options."homeassistant"folder value tohomeassistant=Trueto preserve backwards compatibility with existing automations.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: