* Addresses #135443: Set on connect.
* Make clean start implementation compatible with v2 API
* Add tests
* Do not pass default value for `clean_start` on_connect
* Revert "Do not pass default value for `clean_start` on_connect"
This reverts commit 75806736cf.
* Use partial top pass kwargs to mqtt client connect
---------
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
Co-authored-by: jbouwh <jan@jbsoft.nl>
raise_on_progress=False was missing in the user flow which
made it impossible to configure a shelly by IP when there
was an active discovery because the flow would abort
* Add threshold level sensor description to Aranet component
* Use Color enum for status options
* Add threshold level sensor tests for Aranet components
* Rename `threshold_level` key to `status`
* Update test to expect 7 sensors instead of 6
* Map sensor status to more human-friendly strings
* Rename `threshold_level` key to `concentration_status`
* Update docstring for function
* Simplify `get_friendly_status()`
* Rename `concentration_status` to `concentration_level`
* Rename `concentration_status` to `concentration_level` in sensor tests
* Refactor concentration level handling and tests
* Normalize concentration level status values to lowercase
* Add error to translations
* Don't scale status string
* Apply suggestions from code review
Co-authored-by: Shay Levy <levyshay1@gmail.com>
* Rename `concentration_level` to `threshold_indication`
* Update threshold indication translations
* `threshold_indication` → `threshold`
* Capitalize sensor name
Co-Authored-By: Shay Levy <levyshay1@gmail.com>
---------
Co-authored-by: Shay Levy <levyshay1@gmail.com>
* Improve config entry state transitions when unloading and removing entries
* Update integrations which check for a single loaded entry
* Update tests checking state after unload fails
* Update homeassistant/config_entries.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add issues for data cap to onedrive
* brackets
* Fix double space
Co-authored-by: Daniel O'Connor <daniel.oconnor@gmail.com>
---------
Co-authored-by: Daniel O'Connor <daniel.oconnor@gmail.com>
* Added recognized options to Home Connect actions
* Fix ruff
* Fix strings.json
* Fix dishwasher typo
* Improved test_bsh_key_transformations
* Add missing return types
* Added descriptions
* Remove custom options
* Fixes
* Merge the 4 services (select, start, set options for active or selected program)
And deprecate the original ones
* Delete stale snapshots
* Clean up logic after service validation
* Make deprecated actions issues fixable
And delete issue on entry unload
* Fixes and improvements
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Improvements
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Fix name and descriptions
* Add `affects_to` to strings and service.yaml
* Add missing periods at strings
* Fix
Co-authored-by: Norbert Rittel <norbert@rittel.de>
* Add tests to check if the flow removes the deprecated action issue
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Norbert Rittel <norbert@rittel.de>
* Simplify stage 1 in bootstrap
* Add timeouts to STAGE 0
* Fix test
* Clarify pre import language
* Remove timeout for frontend and recorder
* Address review
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Implement `async_register_firmware_info_provider` for OTBR
* Keep track of the current device for OTBR
Keep track of the current device, part 2
* Fix unit tests
* Revert keeping track of the current device
* Fix existing unit tests
* Increase test coverage
* Remove unused code from tests
* Reload OTBR when the addon reloads
* Only reload if the current entry is running
* Runtime test
* Add a unit test for the reloading
* Clarify the purpose of `ConfigEntryState.SETUP_IN_PROGRESS`
* Simplify typing
* Fixes https://github.com/home-assistant/core/issues/116105
* Fixes unit test in accordance to documentation
Timer needs to be active before it can be canceled
* Allow canceling of paused timers
* Add test for canceling/finishing already canceled/finished timers
* Add test for finishing a paused timer, this should not be possible
* Revert finish related tests
* Merge branch 'timer.cancelled_fix' of
git@github.com:rrooggiieerr/homeassistant-core.git into
timer.cancelled_fix
---------
Co-authored-by: Franck Nijhof <git@frenck.dev>
* Allow specifying SIP username for outgoing calls
Allow configuring a SIP username to be sent in outgoing call requests to
identify the home assistant source endpoint.
* Remove advanced options section
* Add test for removing user
* Allow unsetting SIP user
Make previous SIP user value a suggested value rather than default to
allow unsetting by submitting an empty value in the form.
* Remove unnecessary checks
Remove user check from main flow and remove none or empty check.
* Reapply "Add support for subentries to config entries" (#133470) (#136061)
* Reapply "Add support for subentries to config entries" (#133470)
This reverts commit ecb3bf79f3.
* Update test snapshot
* Add config subentry support to device registry (#128157)
* Add config subentry support to device registry
* Apply suggestions from code review
* Update syrupy serializer
* Update snapshots
* Address review comments
* Allow a device to be connected to no or a single subentry of a config entry
* Update snapshots
* Revert "Allow a device to be connected to no or a single subentry of a config entry"
This reverts commit ec6f613151cb4a806b7961033c004b71b76510c2.
* Update test snapshots
* Bump release version in comments
* Rename config_subentries to config_entries_subentries
* Add config subentry support to entity registry (#128155)
* Add config subentry support to entity registry
* Update syrupy serializer
* Update snapshots
* Update snapshots
* Accept suggested changes
* Clean registries when removing subentry (#136671)
* Clean up registries when removing subentry
* Update tests
* Clean up subentries from deleted devices when removing config entry (#136669)
* Clean up subentries from deleted devices when removing config entry
* Move
* Add config subentry support to entity platform (#128161)
* Add config subentry support to entity platform
* Rename subentry_id to config_subentry_id
* Store subentry type in subentry (#136687)
* Add reconfigure support to config subentries (#133353)
* Add reconfigure support to config subentries
* Update test
* Minor adjustment
* Rename supported_subentry_flows to supported_subentry_types
* Address review comments
* Add subentry support to kitchen sink (#136755)
* Add subentry support to kitchen sink
* Add subentry reconfigure support to kitchen_sink
* Update kitchen_sink tests with subentry type stored in config entry
* Update kitchen_sink
* Update kitchen_sink
* Adjust kitchen sink tests
* Fix hassfest
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Improve docstrings and strings.json
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update snapshots
* Update snapshots
* Update snapshots
* Update snapshots
* Update snapshots
* Update snapshots
* Update snapshots
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add PG LAB Electronics integration
* Add time from last boot sensor diagnostic
* Limit the initial new pglab integration to only one platform
* Update FlowHandler with the new return type ConfigFlowResult
* Fix docstring file with the right integration name to PG LAB.
* There is no need for default value in the callback definition.
* Move all mqtt callbacks to be global and also renamed with a better name.
* Removed unused member variables.
* Renaming functions with a better name.
* Adding miss docstring to __build_device.
* Renamed CreateDiscovery with a better name.
* Removing not so meaning comment.
* Avoid to populate hass.data with pglab discovery information. Use hass.data[DOMAIN] instead.
* Revert "Removed unused member variables."
This reverts commit 4193c491ec.
* Removed unused member variables.
* Refactoring of const. Be sure to have in const.py constant that are used in at least two other modules
* Restoring back the process to unregister the plaform when unload the integration.
* fix spelling mistake
* Revert "Move all mqtt callbacks to be global and also renamed with a better name."
This reverts commit d94d8010d5.
* Main refactoring to avoid to store PG Lab discovery in hass.data
* Change class name BaseEntity in PGLabEntity. And named PyPGLab... what imported from external python module pypglab.
* Avoid to use dict to create DeviceInfo
* Removing unused parameter
* Removing not necessary call to base class
* Update entity name/id to be compatible with the new integration policy.
* Upate test to new entity id
* Add new line after file description
* avoid to store in local variable data for calling function
* Move PGLABConfigEntry in __init__.py
* change function to pure callback
* to avoid hang, dont' trust the split of the discovery topic... introduce a max split count
* rename method with a more meaning name
* use assignment operator
* rename variable with a better name
* removing unecessary test
* Raise exception in case of unexpected error during discovery
* Review comments all other the intergration.
* Rename classes to be consistent in integration
* Using new feature single_config_entry to allow single instance integration
* rename class FlowHandler to PGLabFlowHandler
* using __package__ to initialize integration logger
* missing to catch the exception when for some reason is not possible to create the discovery instance. This can happen when the discovery MQTT message is not in valid json format.
* using ATTR_ENTITY_ID instead of the string
* using SOURCE_MQTT, SOURCE_USER instead of config_entries.SOURCE_MQTT, config_entries.SOURCE_USER
* Using FlowResultType.ABORT instead of the string value
* Code refactoring for tests of configuration from USER and MQTT
* Remove to the user the possibility to add PGLab integration manually, and remove not needed tests.
* Change test_device_update to use snapshot to check test result
* Raise exeception in case of unexpected device and entity_id
* Avoid to log on info channel.
* Renamed _LOGGER in LOGGER
* Propage the call to the base class
* Remove not needed code because from the manifest it's only allows a single instance
* Using specific type for result test instead of string value
* Code refactoring, avoid not necessary function
* update to the new way to import mqtt components
* Avoid runtime check
* add err variable for catching the exception
* add doc string to mqtt_publish
* add doc string to mqtt_subscribe
* Rename DiscoverDeviceInfo.add_entity_id in add_entity
* add doc string
* removing not meaning documentation string
* fix spelling
* fix wrong case in docstring
* fix spelling mistake in PyPGLab callback name
* rename mqtt message received callback
* Avoid to store hard coded discovery_prefix
* Removing unused strings from strings.json
* Give to the user more information during config_flow, and add the possibility to add manually the integration
* Fix to avoid fails of auto test
* update discovery test
* Be sure to always subscribe to MQTT topic when entity is added to HA
* Update codeowner of PGLAB integration and test
* Add control to check if mqtt is available during integration setup
* New test for check no state change for disable entity switch
* Remore not more used file
* update pypglab to version 0.0.3 and improve the symmetry to subscribe/unsubscribe to mqtt entity topic and to register/deregister the status update callback
* Update codeowner of pglab integration
* Adding quality_scale
* removing async_setup
* Fix spelling mistake
* Added test to cover config_flow.async_step_user
---------
Co-authored-by: Pierluigi <p.garaventa@gmail.com>
* Update anthropic to use the new chatlog API
* Remove conversation id logging
* Add back whitespace
* Reduce unnecessary diffs
* Revert diffs to conversation component
* Replace types with union type
* Update ollama to use the ChatLog/ChatSession APIs
* Add documentation about history trimming.
* Revert changes to chat_log.py
* Explicitly check for SystemContent when converting system messages
* Remove half of a comment
* Refresh the nest authentication token on integration start before invoking the pub/sub subscriber
* Apply suggestions from code review
---------
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Make Home Connect config entry unique
* Use unique ID for Home connect config entry
* Remove unnecessary code
* Revert "Use unique ID for Home connect config entry"
This reverts commit 4241317469.
* Added tests
* Support loading different config store fixtures
* Add config store test for binary sensor
* Update README.md
* remove unused fixture
* AddAdd config store test for switch
* Replace `FirmwareGuess` with `FirmwareInfo` with owner tracking
* Fix up config flow
* Account for OTBR addon existing independent of integration
* Fix remaining unit tests
* Add some tests for ownership
* Unit test `get_zha_firmware_info`
* ZHA `homeassistant_hardware` platform
* OTBR `homeassistant_hardware` platform
* Rework imports
* Fix unit tests
* Add OTBR unit tests
* Add hassfest exemption for `homeassistant_hardware` and `otbr`
* Invert registration to decouple the hardware integration
* Revert "Add hassfest exemption for `homeassistant_hardware` and `otbr`"
This reverts commit c8c6e7044f.
* Fix circular imports
* Fix unit tests
* Address review comments
* Simplify API a little
* Fix `| None` mypy issues
* Remove the `unregister_firmware_info_provider` API
* 100% coverage
* Add `HardwareInfoDispatcher.register_firmware_info_callback`
* Unit test `register_firmware_info_callback` (zha)
* Unit test `register_firmware_info_callback` (otbr)
* Update existing hardware helper tests to use the new function
* Add `async_` prefix to helper function names
* Move OTBR implementation to a separate PR
* Update ZHA diagnostics snapshot
* Switch from `dict.setdefault` to `defaultdict`
* Add some error handling to `iter_firmware_info` and increase test coverage
* Oops
* Add get_radio helper function
This is defined here primarily for use in simplifying otherwise repetitive
logic in the lambdas for entity descriptions.
* Get firmware manifests for second radio
* Create optional update entity for radio 2
* Add info fixture for SLZB-MR1
* Test for firmware updates of second radio
* Remove use of entity description creating entities
* Add idx to lambda functions
* Add latest_version lambda to ED
* Use Single zb_update description
* test radio2 update
* device type heading for release notes
* fix failing no internet test
* update release note tests
* assert radios
* fix return type installed_version
* refactor latest_version code
* update listener
* Dont create update entities for legacy firmware that can't upgrade
* Address review comments for update listener
* Bump paho-mqtt client to version 2.1.0
* Remove commented code
* Bump pyeconet==0.1.26
* Ensure types-paho-mqtt==1.6.0.20240321 is uninstalled if test requirements are updated
* Update roombapy dependency
* Remove pyeconet from exceptions list
* Revert changes to install test requirements task
Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>
Co-authored-by: kurens <migrzyb@users.noreply.github.com>
Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>
Co-authored-by: Christopher Fenner <Christopher.Fenner@me.com>
* Add exception translations to ring integration
* Do not include exception details in exception translations
* Don't check last_update_success for auth errors and update tests
* Do not log errors twice
* Update post review