* Improve type hints in fritz config flow
* Improve coverage
* Apply suggestions from code review
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
---------
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
* reach maximum recursion depth exceeded in tests
* second background task
* Update homeassistant/components/husqvarna_automower/coordinator.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/husqvarna_automower/coordinator.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* test
* modify test
* tests
* use correct exception
* reset mock
* use recursion_limit
* remove unneeded ticks
* test TimeoutException
* set lower recursionlimit
* remove not that important comment and move the other
* test that we connect and listen successfully
* Simulate hass shutting down
* skip testing against the recursion limit
* Update homeassistant/components/husqvarna_automower/coordinator.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* mock
* Remove comment
* Revert "mock"
This reverts commit e8ddaea3d7.
* Move patch to decorator
* Make execution of patched methods predictable
* Parametrize test, make mocked start_listening block
* Apply suggestions from code review
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Erik <erik@montnemery.com>
* removing extra blank space
* Adding EcobeeAuxCutoverThreshold
First pass.
* minor reorg and changes; testing local check-in
* Adding entity, setting device class and name
* Bumping max value slightly to hopefully accomodate celsius, setting numberMode=box
* fixing the entity name for aux cutover threshold
* Combined async_add_entities
* Using a list comprehension
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* fixing stuff with listcomprehension
* exchanging call to list.append() to extend with list comprehension
* Updating the class name and the entity name to match the device UI.
Removing abbreviations from entity names
* Fixing tests to match new entity names
* respecting 88 column limit
* Formatting
* Adding test coverage for update/set compressorMinTemp values
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Enable setting a port override during manual config entry setup.
The feature will be undocumented as it's quite a specialized use case generally used for testing purposes.
Simplify config flow for suez water. Counter_id can now be automatically be fetched by the integration.
The value is provided only in the source code of suez website and therefore not easily accessible to user not familiar with devlopment.
Still possible to explicitly set the value for user with multiple value or value defined elsewhere.
* Migrate from entry unique id to emoncms unique id
* Use a placeholder for the documentation URL
* Use async_set_unique_id in config_flow
* use _abort_if_unique_id_configured in config_flow
* Avoid single-use variable
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Add async_migrate_entry
* Remove commented code
* Downgrade version if user add server without uuid
* Improve code quality
* Move code migrating HA to emoncms uuid to init
* Fit doc url in less than 88 chars
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Improve code quality
* Only update unique_id with async_update_entry
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Make emoncms_client compulsory to get_feed_list
* Improve readability with unique id functions
* Rmv test to give more sense to _migrate_unique_id
---------
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Add Beolink custom services
Add support for media player grouping via beolink
Give media player entity name
* Fix progress not being set to None as Beolink listener
Revert naming changes
* Update API
simplify Beolink attributes
* Improve beolink custom services
* Fix Beolink expandable source check
Add unexpand return value
Set entity name on initialization
* Handle entity naming as intended
* Fix "null" Beolink self friendly name
* Add regex service input validation
Add all_discovered to beolink_expand service
Improve beolink_expand response
* Add service icons
* Fix merge
Remove unnecessary assignment
* Remove invalid typing
Update response typing for updated API
* Revert to old typed response dict method
Remove mypy ignore line
Fix jid possibly used before assignment
* Re add debugging logging
* Fix coroutine
Fix formatting
* Remove unnecessary update control
* Make tests pass
Fix remote leader media position bug
Improve remote leader BangOlufsenSource comparison
* Fix naming and add callback decorators
* Move regex service check to variable
Suppress KeyError
Update tests
* Re-add hass running check
* Improve comments, naming and type hinting
* Remove old temporary fix
* Convert logged warning to raised exception for invalid media_player
Simplify code using walrus operator
* Fix test for invalid media_player grouping
* Improve method naming
* Improve _beolink_sources explanation
* Improve _beolink_sources explanation
* Fix tests
* Remove service responses
Fix and add tests
* Change service to action where applicable
* Show playback progress for listeners
* Fix testing
* Remove useless initialization
* Fix allstandby name
* Fix various casts with assertions
Fix comment placement
Fix group leader group_members rebase error
Replace entity_id method call with attribute
* Add syrupy snapshots for Beolink tests, checking entity states
Use test JIDs 3 and 4 instead of 2 and 3 to avoid invalid attributes in testing
* Add sections for fields using Beolink JIDs directly
* Fix typo
* FIx rebase mistake
* Sort actions alphabetically
* Add NASweb integration
* Fix DeviceInfo import
* Remove commented out code
* Change class name for uniquness
* Drop CoordinatorEntity inheritance
* Rename class Output to more descriptive: RelaySwitch
* Update required webio-api version
* Implement on-the-fly addition/removal of entities
* Set coordinator name matching device name
* Set entities with too old status as unavailable
* Drop Optional in favor of modern typing
* Fix spelling of a variable
* Rename commons to more fitting name: helper
* Remove redundant code
* Let unload fail when there is no coordinator
* Fix bad docstring
* Rename cord to coordinator for clarity
* Remove default value for pop and let it raise exception
* Drop workaround and use get_url from helper.network
* Use webhook to send data from device
* Deinitialize coordinator when no longer needed
* Use Python formattable string
* Use dataclass to store integration data in hass.data
* Raise ConfigEntryNotReady when appropriate
* Refactor NASwebData class
* Move RelaySwitch to switch.py
* Fix ConfigFlow tests
* Create issues when entry fails to load
* Respond when correctly received status update
* Depend on webhook instead of http
* Create issue when status is not received during entry set up
* Make issue_id unique across integration entries
* Remove unnecessary initializations
* Inherit CoordinatorEntity to avoid code duplication
* Optimize property access via assignment in __init__
* Use preexisting mechanism to fill schema with user input
* Fix translation strings
* Handle unavailable or unreachable internal url
* Implement custom coordinator for push driven data updates
* Move module-specific constants to respective modules
* Fix requirements_all.txt
* Fix CODEOWNERS file
* Raise ConfigEntryError instead of issue creation
* Fix entity registry import
* Use HassKey as key in hass.data
* Use typed ConfigEntry
* Store runtime data in config entry
* Rewrite to be more Pythonic
* Move add/remove of switch entities to switch.py
* Skip unnecessary check
* Remove unnecessary type hints
* Remove unnecessary nonlocal
* Use a more descriptive docstring
* Add docstrings to NASwebCoordinator
* Fix formatting
* Use correct return type
* Fix tests to align with changed code
* Remove commented code
* Use serial number as config entry id
* Catch AbortFlow exception
* Update tests to check ConfigEntry Unique ID
* Remove unnecessary form abort
* Fix bug in nest setup when the old key format does not exist
* Further simplify the entry.data check
* Update homeassistant/components/nest/api.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add new frame helper to clarify options available
* Adjust
* Improve
* Use report_usage in core
* Add tests
* Use is/is not
Co-authored-by: J. Nick Koston <nick@koston.org>
* Use enum.auto()
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
* Replace Supervisor resolution API calls with aiohasupervisor
* Use consistent types to avoid uuid issues
* Fix mocking in http test
* Changes from feedback
* Put hass first
* Fix typo
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* set select friendly name in YAML
* backward compatibility added
* clean
* cleaner backward compatibility approach
* don't introduce default unique_id
* split test according to review
* Use two VAD thresholds
* Fix VoiceActivityTimeout class
* Update homeassistant/components/assist_pipeline/audio_enhancer.py
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Skip adding providers if the camera has native WebRTC
* Update homeassistant/components/camera/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Implement suggestion
* Add tests
* Shorten test name
* Fix test
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Bump python-bsblan dependency to version 1.1.0
* Bump python-bsblan dependency to version 1.2.0
* Bump python-bsblan dependency to version 1.2.1
* Update test diagnostics snapshots to use numeric values and add error handling
* Early pushout of restore handling for core/container
* Adjust after rebase
* Move logging definition, we should only do this if we go ahead with the restore
* First round
* More paths
* Add async_restore_backup to base class
* Block restore of new backup files
* manager tests
* Add websocket test
* Add testing to main
* Add coverage for missing backup file
* Catch FileNotFoundError instead
* Patch Path.read_text instead
* Remove HA_RESTORE from keep
* Use secure paths
* Fix restart test
* extend coverage
* Mock argv
* Adjustments
* Add OptionsFlow helpers to get the current config entry
* Add tests
* Improve
* Add ValueError to indicate that the config entry is not available in `__init__` method
* Use a property
* Update config_entries.py
* Update config_entries.py
* Update config_entries.py
* Add a property setter for compatibility
* Add report
* Update config_flow.py
* Add tests
* Update test_config_entries.py
* Ensure entry_id is set on reauth/reconfigure flows
* Improve
* Improve
* Use report helper
* Adjust deprecation date
* Update config_entries.py
* Improve message and adjust tests
* Apply suggestions from code review
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Add zwave_js node_capabilities and invoke_cc_api websocket commands
* Map isSecure to is_secure
* Add tests
* Add error handling
* fix
* Use to_dict function
* Make response compatible with current expectations
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update const.py
DEFAULT_DELAY = 1 to DEFAULT_DELAY = 100 to fix timeout when adding a new device
* Update config_flow.py
continuous=False to continuous=True to fix timeout when adding a new device
* Update homeassistant/components/roomba/const.py
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
* Update test_config_flow.py
Change CONF_DELAY to match DEFAULT_DELAY (30 sec instead of 1)
* Update tests/components/roomba/test_config_flow.py
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
* Use constant for DEFAULT_DELAY in tests
---------
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
Co-authored-by: jbouwh <jan@jbsoft.nl>
* Raise on non-string unique id for config entry
* Add test update entry
* Fix breaking
* Add check get_entry_by_domain_and_unique_id
* Naming
* Add test
* Fix logic
* No unique id
* Fix tests
* Fixes
* Fix gardena
* Not related to this PR
* Update docstring and comment
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add progress support to MQTT update platform and add validation on state updates
* Clean up cast to type class
* Add support for display_precision attribute
* Allow MQTT device based auto discovery
* Fix merge error
* Remove unused import
* Fix discovery device based topics
* Fix cannot delete twice
* Improve cleanup test
* Follow up comment
* Typo
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Explain more
* Use tuple
* Default a device payload to have priority over a platform based payload
* Add unique_id to sensor test data
* Set migration flag to mark a discovery topic for migration
* Correct type hint
* Make unique_id required for components in device based discovery payload
* Remove CONF_MIGRATE_DISCOVERY from platform schema
* Unload discovered MQTT item to allow migration
* Follow up comments from code review
* ruff
* Subscribe to platform discovery wildcards first
* Use normal dict
* Use dict to persist wildcard subscription order
* Remove missed unused parameter
* Add a comment to explain we use a dict to preserve the subscription order
* Add wildcard subscription order test
* Remove discovery flag from test
* Improve discovery migration origin logging
* Assert initial wildcard discovery topics subscription order and after reconnect
* Improve log messages
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Add repair issue
* Add tests
* Add option to not use builtin go2rtc provider
* Add test
* Add domain to new providers
* Add learn more url
* Update placeholder
* Promote the builtin provider
* Refactor provider storage
* Move check for legacy provider conflict to refresh
* Test provider registration race
* Add test for registering the same legacy provider twice
* Test test_get_not_supported_legacy_provider
* Remove blank line between bullets
* Call it built-in
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Revert "Add option to not use builtin go2rtc provider"
This reverts commit 4e31bad6c0c23d5a1c0935c985351808a46163d6.
* Revert "Add test"
This reverts commit ddf85fd4db2c78b15c1cdc716804b965f3a1f4e3.
* Update issue description
* async_close_session is optional
* Clean up after rebase
* Add required domain property to provider tests
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* Add calendar platform
* Add tests
* add missing reminders filter by date
* Add +1 day to todo end
* add 1 day to dailies, remove unused line of code
* Removing reminders calendar to a separate PR
* fix upcoming event for dailies
* util function for rrule string
* Add test for get_recurrence_rule
* use habitica daystart and account for isDue flag
* yesterdaily is still an active event
* Fix yesterdailies and add attribute
* Update snapshot
* Use iter, return attribute with None value
* various changes
* update snapshot
* fix merge error
* update snapshot
* change date range filtering for todos
* use datetimes instead of date in async_get_events
* Sort events
* Update snapshot
* add method for todos
* filter for upcoming events
* dailies
* refactor todos
* update dailies logic
* dedent loops
* Add cloud ICE server registration
* Add ice_servers to prefs, fix registration flow
* Add support for list of ICE servers
* Add ICE server cleanup on cloud logout, create tests
* Fix RTCIceServer types
* Update homeassistant/components/cloud/client.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Improve tests based on PR reviews
* Improve tests
* Use set_cloud_prefs fixture
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Robert Resch <robert@resch.dev>
* Allow fetching HA url to display it in the network settings
* add tests
* use a constant for the url types
* just return all url types
* Prefer callback without await
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove, fix, and test restore
* slightly better comment
* use restore instead
* parametrize test
* Apply suggestions from code review
* revert change to Teslemetry
* revert change to Teslemetry
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* fixed race condition and added test case for updates before db load
* removed duplicated code
* improved comments, removed superfluous errors / assertions
* allow both possible outcomes of race condition
* use approx for float comparison
* Update tests/components/statistics/test_sensor.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* force new state before database load in race condition test
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Add seeking for sources other than Deezer
* Add is_seekable attribute to fallback sources and BangOlufsenSource
Add testing
* Update comment
* Use support flags instead of raising errors when seeking on incompatible source