* When an event is received from a script component on a shelly device, this event is send to the hass event bus
* Event emitted from a script will be send to the corresponding event entity
* Added tests for the shelly script event
* The event entity for script are now hidden by default
* Forgot to enable script event entities by default for the test
* Made serveral improvement for the shelly script event entity
- Added device name to event entity
- The event entity is now only created when a script has any event types
- The test for this entity now uses snapshots
* Shelly script event entities will not be create for the BLE scanning script and will now be automatically removed when the script no longer exsists
* Changed variable name to avoid confusion with _id
* Removed old const from first implementation and removed _script_event_listeners and used _event_listeners instead to listen for script events
* Clear extra system prompt on start_conversation error
* Update homeassistant/components/assist_satellite/entity.py
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Add support for OpenAI reasoning models
* Apply suggestions from code review
* Remove o1-mini* and o1-preview* model support
* List unsupported models
* Reenable audio models (they also support text)
* Add and delete devices on CONNECT/PAIRED and DEPAIRED events
* Simplify device depairing
* small fixes
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add always the devices
* kind of revert changes
to simplify the entity fetch and removing on connected/paired and depaired
* cache `ha_id`
* Fix typo
* Remove unnecessary device info at HomeConnectEntity
* Move common code of each platform to `common.py`
* Added docstring to clarify usage
* Apply suggestions
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Fetch current active and selected programs
* Intialize HomeConnectEntity first at SelectProgramEntity
* Use the right exception
* Use active/selected program from `get_all_programs`
This will allow us to reduce the number of requests that we need to perform to get all the data ready (only one requests vs. three requests)
* Remove no longer required mocks
* Fix
* Create a stateless assist API for MCP server
* Update stateless API
* Fix areas in exposed entity fields
* Add tests that verify areas are returned
* Revert the getstate intent
* Revert whitespace change
* Revert whitespace change
* Revert method name changes to avoid breaking openai and google tests
Every few days we get an issue report about a device a user ignored and forgot about, and than can no longer get set up. Sometimes its a govee device, sometimes its a switchbot device, but the pattern is consistent.
Allow ignored devices to be selected in the user step and replace the ignored entry.
Same as #137056 and #137052 but for airthings
Every few days we get an issue report about a device a user ignored and forgot about, and than can no longer get set up. Sometimes its a govee device, sometimes its a switchbot device, but the pattern is consistent.
Allow ignored devices to be selected in the user step and replace the ignored entry.
Same as #137056 and #137052 but for yalexs_ble
Every few days we get an issue report about a device a user ignored and forgot about, and than can no longer get set up. Sometimes its a govee device, sometimes its a switchbot device, but the pattern is consistent.
Allow ignored devices to be selected in the user step and replace the ignored entry.
Same as #137056 and #137052 but for thermopro
Every few days we get an issue report about a device a user ignored and forgot about, and than can no longer get set up. Sometimes its a govee device, sometimes its a switchbot device, but the pattern is consistent.
Allow ignored devices to be selected in the user step and replace the ignored entry.
Same as #137056 and #137052 but for inkbird
Every few days we get an issue report about a device a user ignored and forgot about, and than can no longer get set up. Sometimes its a govee device, sometimes its a switchbot device, but the pattern is consistent.
Allow ignored devices to be selected in the user step and replace the ignored entry.
Same as #137056 and #137052 but for mopeka
Every few days we get an issue report about a device a user ignored and forgot about, and than can no longer get set up. Sometimes its a govee device, sometimes its a switchbot device, but the pattern is consistent.
Allow ignored devices to be selected in the user step and replace the ignored entry.
Same as #137056 and #137052 but for oralb
Every few days we get an issue report about a device a user ignored and forgot about, and than can no longer get set up. Sometimes its a govee device, sometimes its a switchbot device, but the pattern is consistent.
Allow ignored devices to be selected in the user step and replace the ignored entry.
Same as #137056 and #137052 but for qingping
Every few days we get an issue report about a device a user ignored and forgot about, and than can no longer get set up. Sometimes its a govee device, sometimes its a switchbot device, but the pattern is consistent.
Allow ignored devices to be selected in the user step and replace the ignored entry.
Same as #137056 and #137052 but for sensorpush
* Base the entity availability on the connected state of the appliance
* cache `ha_id`
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Inlcude coordinator `available` property at entity
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Filter programs by execution type at select program entities
* Suggestions and improvements
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Use function and translation key at select program entity description
* Fix select entity description docstring
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Allow ignored govee-ble devices to be setup up from the user flow
Every few days we get an issue report about a device
a user ignored and forgot about, and than can no longer
get set up. Allow ignored devices to be selected in
the user step and replace the ignored entry.
* Add the ability to skip ignored config entries when calling _abort_if_unique_id_configured
see https://github.com/home-assistant/core/pull/137052
* coverage
* revert
* Allow startup when privacy mode is enabled
* Add tests
* remove duplicate privacy_mode
* fix tests
* Apply suggestions from code review
Co-authored-by: Robert Resch <robert@resch.dev>
* Store in subfolder and cleanup when removed
* Add tests and fixes
* fix styling
* rename CONF_PRIVACY to CONF_SUPPORTS_PRIVACY_MODE
* use helper store
---------
Co-authored-by: Robert Resch <robert@resch.dev>
* Persist roborock maps to disk only on shutdown
* Rename on_unload to on_stop
* Spawn 1 executor thread and block writes to disk
* Update tests/components/roborock/test_image.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Use config entry setup instead of component setup
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Show name of the backup agents in issue
* Show name of the backup agents in issue
* Update homeassistant/components/backup/manager.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Fix handling of renamed backup files in the core writer
* Adjust mocking
* Raise BackupAgentError instead of KeyError in get_backup_path
* Add specific error indicating backup not found
* Fix tests
* Ensure backups are loaded
* Fix tests
* Add start_conversation service to Assist Satellite
* Fix tests
* Implement start_conversation in voip
* Update homeassistant/components/assist_satellite/entity.py
---------
Co-authored-by: Michael Hansen <mike@rhasspy.org>
* Migrate from homeconnect dependency to aiohomeconnect
* Reload the integration if there is an API error on event stream
* fix typos at coordinator tests
* Setup config entry at coordinator tests
* fix ruff
* Bump aiohomeconnect to version 0.11.4
* Fix set program options
* Use context based updates at coordinator
* Improved how `context_callbacks` cache is invalidated
* fix
* fixes and improvements at coordinator
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove stale Entity inheritance
* Small improvement for light subscriptions
* Remove non-needed function
It had its purpose before some refactoring before the firs commit, no is no needed as is only used at HomeConnectEntity constructor
* Static methods and variables at conftest
* Refresh the data after an event stream interruption
* Cleaned debug logs
* Fetch programs at coordinator
* Improvements
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Simplify obtaining power settings from coordinator data
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove unnecessary statement
* use `is UNDEFINED` instead of `isinstance`
* Request power setting only when it is strictly necessary
* Bump aiohomeconnect to 0.12.1
* use raw keys for diagnostics
* Use keyword arguments where needed
* Remove unnecessary statements
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Allen Porter <allen.porter@gmail.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Allen Porter <allen@thebends.org>
Co-authored-by: Robert Resch <robert@resch.dev>
* Add support for per-backup agent encryption flag
* Adjust
* Don't attempt decrypting an unprotected backup
* Address review comments
* Add some tests
* Add fixture
* Rename fixture
* Correct condition for when we should encrypt or decrypt
* Update tests in integrations
* Improve test coverage
* Fix onedrive tests
* Add test
* Improve cipher worker shutdown
* Improve test coverage
* Fix google_drive tests
* Move inner class _CipherBackupStreamer._WorkerStatus to module scope
* Add backup endpoints to the onboarding integration
* Add backup as after dependency of onboarding
* Add test snapshots
* Fix stale docstrings
* Add utility function for getting the backup manager instance
* Return backup_id when uploading backup
* Change /api/onboarding/backup/restore to accept a JSON body
* Fix with_backup_manager
* Add Google Drive integration for backup
* Add test_config_flow
* Stop using aiogoogle
* address a few comments
* Check folder exists in setup
* fix test
* address comments
* fix
* fix
* Use ChunkAsyncStreamIterator in helpers
* repair-issues: todo
* Remove check if folder exists in the reatuh flow. This is done in setup.
* single_config_entry": true
* Add test_init.py
* Store into backups.json to avoid 124 bytes per property limit
* Address comments
* autouse=True on setup_credentials
* Store metadata in description and remove backups.json
* improvements
* timeout downloads
* library
* fixes
* strings
* review
* ruff
* fix test
* Set unique_id
* Use slugify in homeassistant.util
* Fix
* Remove RefreshError
* review
* push more fields to the test constant
---------
Co-authored-by: Joostlek <joostlek@outlook.com>
* move service setup into integrations async_setup
* move back to own module
* add service test
* remove unneccessary CONFIG_SCHEMA
* remove unused constant FRITZ_SERVICES
* Revert "remove unneccessary CONFIG_SCHEMA"
This reverts commit cce1ba76a0.
* remove useless CONFIG_SCHEMA from services.py
* move logic of `service_fritzbox` into services.py
* add more service tests
* simplify logic, use ServiceValidationError
* Migrate usb to use aiousbwatcher
aiousbwatcher uses inotify on /dev/bus/usb to look for devices
added and being removed which works on a lot more systems
* bump asyncinotify
* bump aiousbwatcher to 1.1.1
* tweaks
* tweaks
* tweaks
* fixes
* debugging
* Update homeassistant/components/usb/__init__.py
* Update homeassistant/components/usb/__init__.py
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Use fixtures in config flow tests for Whirlpool
* Keep old tests; new one will go to separate PR
* Merge Whirlpool tests into a parameterized test
* Address review comments
* Remove uneeded block wait calls
* Log the error when the WebSocket receives a non-text message
related issue #126754
Right now we only log that it was a non-Text message
and silently swallow the exception
* coverage
Add support for tplink siren parameters - Allow passing tone, volume, and duration for siren's play action.
---------
Co-authored-by: Teemu Rytilahti <tpr@iki.fi>
* Fix test logic flaw in enphase_envoy test_select
* Replace test loops by test parameters
* Implement review feedback to Improve use of parametrize parameters
* pre-alpha state
* small type
* use ChunkAsyncStreamIterator from aiohttp_client helper
* create parent folders during upload if none exists
* check file station permissionsduring setup
* ensure backup-agents are reloaded
* adjust config flow
* fix check for availability of file station
* fix possible unbound
* add config flow tests
* fix existing tests
* add backup tests
* backup listeners are not async
* some more tests
* migrate existing config entries
* fix migration
* notify backup listeners only when needed during setup
* add backup settings to options flow
* switch back to the listener approach from the dev docs example
* add negative tests
* fix tests
* use HassKey
* fix tests
* Revert "use HassKey"
This reverts commit 71c5a4d6fa9c04b4907ff5f8df6ef7bd1737aa85.
* use hass loop call_soon instead of non-eager-start tasks
* use HassKey for backup-agent-listeners
* delete empty backup-agent-listener list from hass.data
* don't handle single file download errors
* Apply suggestions from code review
Co-authored-by: J. Nick Koston <nick@koston.org>
* add more tests
* we don't have entities related to file_station api
* add more backup tests
* test unload backup agent
* revert sorting of properties
* additional use hass config location for default backup path
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Abort config flow if device is not yet supported
* Abort on user step for unsupported device
* Add string for unsupported device
* fix tests due to extra get_info calls
* add tests for unsupported devices to abort flow