* Complete migration of persistent notifications
Persistent notifications are no longer stored in
the state machine and no longer fire events
* Complete migration of persistent notifications
Persistent notifications are no longer stored in
the state machine and no longer fire events
* fixes
* fixes
* fixes
* ws test
* update tests
* update tests
* fix more tests
* fix more tests
* more fixes
* fix
* fix person
* fix person
* keep whitelist
* use singleton
* Add additional coverage to history websocket api
related issue #93258
* Add additional coverage to history websocket api
related issue #93258
* Fix results when union query ends up at the end instead of front
* Apply suggestions from code review
* resort
* zero instead
* fix exception
* fix tests
* Fix not retrying on connection reset during nexia config entry setup
fixes
```
2023-05-26 00:15:39.129 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Alexander for nexia
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 558, in _request
resp = await req.send(conn)
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 670, in send
await writer.write_headers(status_line, self.headers)
File "/usr/local/lib/python3.11/site-packages/aiohttp/http_writer.py", line 130, in write_headers
self._write(buf)
File "/usr/local/lib/python3.11/site-packages/aiohttp/http_writer.py", line 75, in _write
raise ConnectionResetError("Cannot write to closing transport")
ConnectionResetError: Cannot write to closing transport
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 387, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/nexia/__init__.py", line 47, in async_setup_entry
await nexia_home.login()
File "/usr/local/lib/python3.11/site-packages/nexia/home.py", line 385, in login
request = await self.post_url(self.API_MOBILE_ACCOUNTS_SIGN_IN_URL, payload)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/nexia/home.py", line 157, in post_url
response: aiohttp.ClientResponse = await self.session.post(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 572, in _request
raise ClientOSError(*exc.args) from exc
aiohttp.client_exceptions.ClientOSError: Cannot write to closing transport
```
* coverage
* Move constant values to separate file
* Move constant values to separate file
* Add config flow to lastfm
* Add tests
* Add config flow to lastfm
* Add tests
* Add tests
* Add tests
* Add extra form for main user and autofill with friends
* Add extra form for main user and autofill with friends
* Add extra form for main user and autofill with friends
* Add extra form for main user and autofill with friends
* Add OptionsFlow
* Add tests
* Fix feedback
* Fix feedback
* Fix feedback
* Fix feedback
* Fix test
* Apply suggestions from code review
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update config_flow.py
* Update config_flow.py
* Update config_flow.py
* Update homeassistant/components/lastfm/config_flow.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Add tests
* Cleanup
* Update config_flow.py
* Update config_flow.py
* Update config_flow.py
* Fix test
* Fix feedback
* Codeowner lastfm
* Fix feedback
* Fix feedback
* Parametrize errors
* Parametrize errors
* Parametrize errors
* Finish tests
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
pycsspeechtts uses the requests library, but Microsoft TTS previously
caught HTTPException from the standard library. This is changed to
catch requests.HTTPError and return `(None, None)` consistent with
other TTS integrations. This will properly raise HomeAssistantError
for display in the frontend.
Follow up to PR #92215 which adds tests for Microsoft TTS.
* Update Microsoft TTS supported languages
`script.microsoft_tts` scrapes Microsoft Azure documentation for
the list of supported languages and saves them to
`homeassistant.generated.microsoft_tts` for use in the component.
This adds support for more TTS languages, like fa-ir (Persian).
* Improve xpath query for Microsoft TTS languages
* Remove asserts for Microsoft TTS languages
* Add more tests for Microsoft TTS languages
* airzone: climate: fix max/min temps
The library now provides AZD_ABS_TEMP_MAX/AZD_ABS_TEMP_MIN which are useful for
devices with different max/min temperatures depending on the current working
mode (HEAT vs COOL).
These new values will have the highest/lowest max/min of both modes.
Until now, the max/min of the current working mode (HEAT/COOL) would be set
when starting Home Assistant, limiting the temperature range if the device
mode was changed after that.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* airzone: climate: update max/min temps
Some devices have different max/min climate temps depending on the active
mode (HEAT vs COOL), so we should update these values.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* Revert "airzone: climate: update max/min temps"
This reverts commit 988194d486.
* Revert "Revert "airzone: climate: update max/min temps""
This reverts commit e4ead24f71.
* tests: airzone: add max/min climate changes test
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* tests: airzone: fix dict copy
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---------
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* add sensors to roborock
* add value_fn typing
* fixed strings
* Update homeassistant/components/roborock/sensor.py
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* change to work time instead of time left
* added time left back
* fixed tests
* made diagnostic
---------
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* Add proper support for zwave_js Indicator CC
* remove stale test
* Make all indicators diagnostic
* only set entity category if it is specified
* Only set properties from discovery if specified
* Conditionally set assumed state as well
* fix const name
* Don't create task
* Disable property keys 3-5 by default
* add additional dispatcher_connects so we catch all signals
* be consistent about order
* rename new discovery parameter
* comment
* exclude property keys 3-5
* fix remove logic
* add comment so I don't forget
* Switch entity category to config where necessary
* cut line
* less lines
* Update homeassistant/components/zwave_js/switch.py
Co-authored-by: kpine <keith.pine@gmail.com>
* Move async_remove to respond to interview started event
* Set up listener immediately so we don't wait for platform creation
* remove dupe import
* black
* append
---------
Co-authored-by: kpine <keith.pine@gmail.com>
* Do optimistic state update for Z-Wave multilevel switch entities
* simplify
* define constant for setting value to previous value
* Rework to only consider value of 255 and only places where we know that the previous state is known by the integration due to the service being called
* missed commit
* better code
* Add tests and use constant from lib
* fix logic
* fix bug
* Add comments with more details
* Update event when coordinator updates data.
* Move function to make diff easier to view
* Actually make it easier to view
* Move all tasks calculation to extra_state_attributes.
* Truncate long URLs
URL's longer than 256 characters will result in a
`homeassistant.exceptions.InvalidStateError`. This fixes that problem
and adds 2 extra_state_attributes: `full_url`, and `truncated`.
Fixes#89249
* Refactor to use function ref in entity description