* Initial implementation of hardware update model
* Fixes
* WIP: change the `homeassistant_sky_connect` integration type
* More fixes
* WIP
* Display firmware info in the device page
* Make progress more responsive
* WIP: Yellow
* Abstract the bootloader reset type
* Clean up comments
* Make the Yellow integration non-hardware
* Use the correct radio device for Yellow
* Avoid hardcoding strings
* Use `FIRMWARE_VERSION` within config flows
* Fix up unit tests
* Revert integration type changes
* Rewrite hardware ownership context manager name, for clarity
* Move manifest parsing logic into a new package
Pass the correct type to the firmware API library
* Create and delete entities instead of mutating the entity description
* Move entity replacement into a `async_setup_entry` callback
* Change update entity category from "diagnostic" to "config"
* Have the client library handle firmware fetching
* Switch from dispatcher to `async_on_state_change`
* Remove unnecessary type annotation on base update entity
* Simplify state recomputation
* Remove device registry code, since the devices will not be visible
* Further simplify state computation
* Give the device-less update entity a more descriptive name
* Limit state changes to integer increments when sending firmware update progress
* Re-raise `HomeAssistantError` if there is a problem during flashing
* Remove unnecessary state write during entity creation
* Rename `_maybe_recompute_state` to `_update_attributes`
* Bump the flasher to 0.0.30
* Add some tests
* Ensure the update entity has a sensible name
* Initial ZBT-1 unit tests
* Replace `_update_config_entry_after_install` with a more explicit `_firmware_info_callback` override
* Write the firmware version to the config entry as well
* Test the hardware update platform independently
* Add unit tests to the Yellow and ZBT-1 integrations
* Load firmware info from the config entry when creating the update entity
* Test entity state restoration
* Test the reloading of integrations marked as "owning"
* Test installation failure cases
* Test firmware type change callback failure case
* Address review comments
* Add initial MQTT subentry support for notify entities
* Fix componts assigment is reset on device config. Translation tweaks
* Rephrase
* Go to summary menu when components are set up already - add test
* Fix suggested device info on config flow
* Invert
* Simplify subentry config flow and omit menu
* Use constants instead of literals
* More constants
* Teak some translations
* Only show save when the the entry is dirty
* Do not trigger an entry reload twice
* Remove encoding, entity_category
* Remove icon from mqtt subentry flow
* Separate entity settings and MQTT specific settings
* Remove object_id and refactor
* Migrate translations
* Make subconfig flow test extensible
* Make sub reconfig flow tests extensible
* Rename entity_platform_config step to mqtt_platform_config
* Make component unique ID independent from the name
* Move code for update of component data to helper
* Follow up on code review
* Skip dirty stuff
* Fix rebase issues #1
* Do not allow reconfig for entity platform/name, default QoS and refactor tests
* Add entity platform and entity name label to basic entity config dialog
* Rename to exclude_from_reconfig and make reconfig option not optional
* Use correct unit symbol "min" for minutes in `webmin` integration
Replace the unit symbol "m" which stands for meter with the correct SI uni symbol "min".
* Update test_sensor.ambr
* Update test_sensor.ambr (2)
* Added the hvac action attribute for modbus climate entities.
* Fixed issue in hvac action unit test, was incorrectly referencing the hvac mode attribute.
* Fixed the modbus climate test for hvac action, it now correctly checks that hvac actions in the config match HVACActions.
* Made changes recommended by @crug80 to remove dead code and to add ability to use input or holding register for hvac action.
* Moved action test case in test_climate.py
* Updated comment for `test_service_climate_action_update`
* Fixed ruff formatting error.
* Addressed request to update labels from `state_*` to `action_*`
* Fix bug with all maps being set to the same when empty
* fix parens
* fix other parens
* rework some of the logic
* few small updates
* Remove test that is no longer relevant
* remove updated time bump