* Trigger reauth flow when HomeWizard API was disabled
* Add tests for reauth flow
* Fix typo in test
* Add parallel updates constant
* Improve error message when device in unreachable during config
* Set quality scale
* Remove quality scale
* Throw error instead of abort when setup fails
* Adjust test for new setup behaviour
* Trigger reauth flow when API is disabled and continue retrying
* Reload entry and raise AuthFailed during init
* Abort running config flow
* Listen for coordinator updates to trigger reload
* Use build-in backoff system
* Fix failing test
* Test reauth flow is active after disable-api init
* Test reauth flow removal
* Remove unused function in withings
* Move to tests
* Remove reference to attribute.platform
* Move WITHINGS_MEASUREMENTS_MAP to tests
* measute_type > measure_type
* One more
* Recognize more SSDP friendly names as "ours"
* Trigger on SoyeaLink devices
* Pass discovered URL through context, it does not persist via user_input
* Use manufacturer from SSDP
* Actually use serial number if available, update URL for configured
* Remove heuristic friendly name filtering against non-LTE devices
* Add language to conversation and intent response
* Move language to intent response instead of speech
* Extend intent response for voice MVP
* Add tests for error conditions in conversation/process
* Move intent response type data into "data" field
* Move intent response error message back to speech
* Remove "success" from intent response
* Add id to target in intent response
* target defaults to None
* Update homeassistant/helpers/intent.py
* Fix test
* Return conversation_id and multiple targets
* Clean up git mess
* Fix linting errors
* Fix more async_handle signatures
* Separate conversation_id and IntentResponse
* Add unknown error code
* Add ConversationResult
* Don't set domain on single entity
* Language is required for intent response
* Add partial_action_done
* Default language in almond agent
* Remove partial_action_done
* Fix linting
* Rename success/fail targets
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Add language to conversation and intent response
* Move language to intent response instead of speech
* Extend intent response for voice MVP
* Add tests for error conditions in conversation/process
* Move intent response type data into "data" field
* Move intent response error message back to speech
* Remove "success" from intent response
* Add id to target in intent response
* target defaults to None
* Update homeassistant/helpers/intent.py
* Fix test
* Return conversation_id and multiple targets
* Clean up git mess
* Fix linting errors
* Fix more async_handle signatures
* Separate conversation_id and IntentResponse
* Add unknown error code
* Add ConversationResult
* Don't set domain on single entity
* Language is required for intent response
* Add partial_action_done
* Default language in almond agent
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Factor out _is_dmr_device function
* Use DMR device's MAC to match existing config entries
Some DMR devices change their every time they boot, against the DMR specs.
Try to match such devices to existing config entries by using their MAC
addresses.
* Add DMR device's MAC as a device_registry connection
* Use doc-only IPs (RFC5737) for dlna_dmr tests
* ESPHome: Use MAC as unique ID
* Normalize incoming zeroconf/dhcp macs
* Update comment
* Test ESPHome without mac in zeroconf
* Use format_mac
* Remove unique ID index from DomainData
* Make google calendar fail louder on invalid google_calendars.yaml
* Update homeassistant/components/google/__init__.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Update homeassistant/components/google/__init__.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Remove duplicate object key in strings.json
* Remove async_entry_has_scopes check
This is not needed. This was copied from google calendar integration
where it was needed to reauth when the scope changed.
* Remove unused constant in application_credentials
* Move constant to the file used
* fix warning use-implicit-booleaness-not-len
* Remove not accessed parameters
* Revert "Remove async_entry_has_scopes check"
This reverts commit 63e24f84cc.
Entries took a while to setup because of the
async_wait_init_flow_finish call in _async_setup_component
The delay was so long that users thought the integration
was broken
We had a wait in place for advertisements to arrive
during discovery in case the lock was not
yet seen. Since integration discovery is deferred
until after startup this wait it no longer needed
* Copy google_sheets to google_assistant_sdk
This is to improve diff of the next commit with the actual implementation.
Commands used:
cp -r homeassistant/components/google_sheets/ homeassistant/components/google_assistant_sdk/
cp -r tests/components/google_sheets/ tests/components/google_assistant_sdk/
find homeassistant/components/google_assistant_sdk/ tests/components/google_assistant_sdk/ -type f | xargs sed -i \
-e 's@google_sheets@google_assistant_sdk@g' \
-e 's@Google Sheets@Google Assistant SDK@g' \
-e 's@tkdrob@tronikos@g'
* Google Assistant SDK integration
Allows sending commands and broadcast messages to Google Assistant.
* Remove unnecessary async_entry_has_scopes check
* Bump gassist-text to fix protobuf dependency
* Add language to conversation and intent response
* Move language to intent response instead of speech
* Extend intent response for voice MVP
* Add tests for error conditions in conversation/process
* Move intent response type data into "data" field
* Move intent response error message back to speech
* Remove "success" from intent response
* Add id to target in intent response
* target defaults to None
* Update homeassistant/helpers/intent.py
* Fix test
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Add language to conversation and intent response
* Add language parameter to conversation/process service
* Move language to intent response instead of speech
* Add language to almond conversation agent
* Fix intent test
* Set last_target_temp value according the unit system
* Convert restored temperature values
* Add test
* Improve comments
* Move _last_target_temp value to constants
* Replace unit consts with enums
* Remove default entries in NWSSensorEntityDescription
* Replace wind icon property with setting device_class in Wind Speed and Wind Gust sensors
* fan.set_percentage + tests
* let's see what is not yet covered
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* tests fix
* vallox_websocket_api 3.0.0
* more coverage
* test coverage
* Update tests/components/vallox/test_fan.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* raise exceptions on user input
* Supported features are different per preset mode.
* Test fixes
* Static supported features is back.
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add IPv6 sensor to fritz component
* Cast return type to string
* Make ipv6 sensor suitable
* simplify cast to str
* use extisting property
Co-authored-by: chemelli74 <simone.chemelli@gmail.com>
Co-authored-by: mib1185 <mail@mib85.de>
* Handle numeric versions in mqtt update
* Remove need for type:ignore
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
* Add Google Calendar create/delete support
Includes editing for recurring events
* Fix default calendar access role
* Formatting improvements
* Address other details that have changed due to local sync
* Update tests/components/google/test_calendar.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/google/test_calendar.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/google/test_calendar.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Increase test coverage
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add matter base (#79372)
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
* Add matter server add-on flow (#82698)
* Add matter server add-on flow
* Fix stale error argument
* Clean docstrings
* Use localhost as default address
* Add matter websocket api foundation (#82848)
* Add matter config entry add-on management (#82865)
* Use matter refactored server/client library (#83003)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Bump python-matter-server to 1.0.6 (#83059)
* Extend matter websocket api (#82948)
* Extend matter websocket api
* Finish docstring
* Fix pin type
* Adjust api after new client
* Adjust api to frontend for now
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add TLD option support to google_translate
* Fix tests for added TLD option in google_translate
* Add Language to TLD mapping, Make tld configurable in google_translate
* Move const to dedicated file in google_translate
* Add translation_key attribute to entity state
* Update accuweather test
* Index entity translation keys by platform
* Store translation key in entity registry
If the keys changed for the yale locks, the locks would be
slow to setup. Because august had yalexs_ble as an
after dep, it would be waiting with the new keys but not
able to setup because it was waiting for the locks to setup
which would be trying over and over until they failed because
the key had changed out from under it.
This change moves some more code into the lib to avoid
the dep and allows both to startup at the same time so
the cloud service can feed the new keys in if needed without
waiting for the lock to fail to setup
changelog: https://github.com/bdraco/yalexs-ble/compare/v1.9.8...v1.10.0
* bump python-bsblan version to 0.5.8
* add static_state
this holds values that only needs retrieving once in a while
* update diagnostics json with the right info
* Make validate async in SchemaOptionsFlowHandler
* Adjust group
* Adjust tests
* Move all to async
* Adjust integrations
* Missed an integration
* Missed one
* Rebase to fix conflict
* Upgrade pytest-aiohttp
* Make sure executors, tasks and timers are closed
Some test will trigger warnings on garbage collect, these warnings
spills over into next test.
Some test trigger tasks that raise errors on shutdown, these spill
over into next test.
This is to mimic older pytest-aiohttp and it's behaviour on test
cleanup.
Discussions on similar changes for pytest-aiohttp are here:
https://github.com/pytest-dev/pytest-asyncio/pull/309
* Replace loop with event_loop
* Make sure time is frozen for tests
* Make sure the ConditionType is not async
/home-assistant/homeassistant/helpers/template.py:2082: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited
def wrapper(*args, **kwargs):
Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
* Increase litejet press tests with a factor 10
The times are simulated anyway, and we can't stop the normal
event from occuring.
* Use async handlers for aiohttp
tests/components/motioneye/test_camera.py::test_get_still_image_from_camera
tests/components/motioneye/test_camera.py::test_get_still_image_from_camera
tests/components/motioneye/test_camera.py::test_get_stream_from_camera
tests/components/motioneye/test_camera.py::test_get_stream_from_camera
tests/components/motioneye/test_camera.py::test_camera_option_stream_url_template
tests/components/motioneye/test_camera.py::test_camera_option_stream_url_template
/Users/joakim/src/hass/home-assistant/venv/lib/python3.9/site-packages/aiohttp/web_urldispatcher.py:189: DeprecationWarning: Bare functions are deprecated, use async ones
warnings.warn(
* Switch to freezegun in modbus tests
The tests allowed clock to tick in between steps
* Make sure skybell object are fully mocked
Old tests would trigger attempts to post to could services:
```
DEBUG:aioskybell:HTTP post https://cloud.myskybell.com/api/v3/login/ Request with headers: {'content-type': 'application/json', 'accept': '*/*', 'x-skybell-app-id': 'd2b542c7-a7e4-4e1e-b77d-2b76911c7c46', 'x-skybell-client-id': '1f36a3c0-6dee-4997-a6db-4e1c67338e57'}
```
* Fix sorting that broke after rebase
* Validate common statistics db schema errors on start
* Fix test
* Add tests
* Adjust tests
* Disable statistics schema validation in tests
* Update after rebase
* Minimize wait time for interface discovery
* fix OptionsFlow when connection failed
there is no `self.hass.data["KNX"]` when we are in retry mode after failed integration setup
* review changes
* fix new tests
* Add support for Identify feature
* Add tests for button
* Use only identifiers for device_info
* Update homeassistant/components/homewizard/button.py
* always use instance variable for new entry data
- change `self._tunneling_config` to non-optional `self.new_entry_data`
- always use self.new_entry_data in `finish_flow()`
* support secure routing
* amend current tests
* use sync latency tolerance
* test secure routing config flow
* diagnostics redact backbone_key
* test xknx library setup
* check length of backbone_key
* better readable key validation
* Add helper to calculate statistic period start and end
* Don't parse values in resolve_period
* Add specific test for resolve_period
* Improve typing
* Move to recorder/util.py
* Extract period schema
* Announce a deprecated callback will stop working
* Use 2 months grace period
* Use 2 months grace period
* Use 2 months grace period
* Add deprecation comment to tests
* Allow configuring country and language in core config
* Add script for updating list of countries
* Use black for formatting
* Fix quoting
* Move country codes to a separate file
* Address review comments
* Add generated/countries.py
* Get default language from owner account
* Remove unused variable
* Add script to generate list of supported languages
* Add tests
* Fix stale docsring
* Use format_python_namespace
* Correct async_user_store
* Improve typing
* Fix with_store decorator
* Initialize language in core store migration
* Fix startup
* Tweak
* Apply suggestions from code review
Co-authored-by: Franck Nijhof <git@frenck.dev>
* Update storage.py
Co-authored-by: Franck Nijhof <git@frenck.dev>
* Fire events when long term statistics is updated
* Allow the new events to be subscribed to by anyone
* Address review comments
* Finish renaming events
* Finish renaming events
* Fix do_adhoc_statistics
* Adjust tests
* Adjust tests
* Add OptionsFlow helper classes
* More integrations
* Adjust SchemaOptionsFlowHandler
* Use single class
* Simplify access to options
* Reduce PR
* Make _options private
* Add test
* Add ReauthFlow
* Update homeassistant/components/whirlpool/config_flow.py
Darn it - thought I caught all of these.
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
* Update homeassistant/components/whirlpool/config_flow.py
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
* Update homeassistant/components/whirlpool/config_flow.py
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
* Update homeassistant/components/whirlpool/config_flow.py
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
* Update homeassistant/components/whirlpool/config_flow.py
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
* Update homeassistant/components/whirlpool/config_flow.py
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
* Add custom device_class for select entity
* Update tests
* Make the state PowerOff translatable
* Update strings.select.json file
* add select.en.json
Co-authored-by: J. Nick Koston <nick@koston.org>
* Withing trigger a call to coordinator after init
* Stop discovery task on STOP event
* Stop dsmr connection task on STOP
* Use autospec in modem_serial tests
close on AioSerial is non async, and should not be mocked as a coroutine
* Make sure responder is specced correctly
tests/components/emulated_hue/test_init.py::test_setup_works
/Users/joakim/src/hass/home-assistant/homeassistant/components/emulated_hue/__init__.py:119: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited
protocol.close()
* Don't assume Pymodbus is the only thing logging
* Use gather instead of wait
```
homeassistant/components/homeassistant/__init__.py:208: DeprecationWarning: The explicit passing of coroutine objects to asyncio.wait() is deprecated since Python 3.8, and scheduled for removal in Python 3.11.
```
* Increase wait time for automation tests
Assuming exit within 1 seconds is unreasonable on a potentially loaded
test machine.
* Avoid changing app state after startup
* Add control option for Energy Socket status LED
* Add tests for number
* Fix failing tests in switch
* Fix comments
* Adjust name
* Simplify device_info
* Add Mqtt WebSockets support
* Fix tests
* Add testing websockets options
* Add tests transport settings
* Do not use templates for ws_headers
* Use json helper - small corrections
Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
Co-authored-by: Andre Richter <andre-richter@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Migrate ZHA when enabling multi-PAN support on HA Yellow
* Refactor BaseZhaFlow.async_step_maybe_confirm_ezsp_restore
* Change data passed to ZHA to initiate migration
* Catch errors during ZHA migration
* Fix ZhaMigrationHelper.async_prepare_yellow_migration return value
* Improve test coverage
* Improve test coverage
* Fix spelling
* Rename some none HA yellow specifics
* Rename again
* Increase number of migration retries + refactor
* Suppress OperationNotAllowed when reloading
* Adjust tests