* Refactor zwave_js config entry setup
* Fix blocking update test
* Address timeout comment
* Remove platform tasks
* Replace deprecated async_add_job
* Use ConfigEntry.async_on_state_change
* Use modern config entry methods
* Clarify exception message
* Test listen error after config entry setup
* Test listen failure during setup after forward entry
* Test not reloading when hass is stopping
* Test client disconnect is called on entry unload
* Fix and test client not connected during driver setup
* Fix and test driver ready timeout
* Stringify listen task exception when logging
* Use identity compare
* Guard for closed connection
* Consolidate listen task checking and tests
* Fix initial fetch of appliance data to handle API rate limit errors
* Apply comments
* Delete stale function
* Handle api rate limit error at options fetching
* Update appliances after stream non-breaking error
* Always initialize coordinator data
* Improve device update
* Update test description
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* update map on status change
* Update tests/components/roborock/test_image.py
Co-authored-by: Allen Porter <allen.porter@gmail.com>
* update code to handle state logic within async_update_data
* Update homeassistant/components/roborock/coordinator.py
Co-authored-by: Allen Porter <allen.porter@gmail.com>
* move previous_state and allow update on None
---------
Co-authored-by: Allen Porter <allen.porter@gmail.com>
* Move MapData to Coordinator
* seeing if mypy likes this
* delete dead code
* Some MR comments
* remove MapData and always update on startup if we don't have a stored map.
* don't do on demand updates
* remove unneeded logic and pull out map save
* Apply suggestions from code review
Co-authored-by: Allen Porter <allen.porter@gmail.com>
* see if mypy is happy
---------
Co-authored-by: Allen Porter <allen.porter@gmail.com>
* Update MCP server to not register the stateless API, but use it implicitly as an Assist API replacement
* Ensure backwards compatibility with old registration
* Add Crossline smart AI binary sensor
* Add intrusion, lingering, forgotten item, item taken detection
* Use unique_index instead of location for unique_id
* Add test
* Apply suggestions from code review
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
* Name changes
* Update homeassistant/components/reolink/binary_sensor.py
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
* Use smart_type instead of key
* Use occupancy translation instead of gas (point to the same thing).
* Revert "Use occupancy translation instead of gas (point to the same thing)."
This reverts commit 9caf796585e1cffdea6e66f16824fe8e34d03276.
* fix styling
---------
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
* Update config_entry_oauth2_flow.py
* Specify type on request_data
* Added LocalOAuth2ImplementationWithPkce
* LocalOAuth2ImplementationWithPkce works more like specs
* fix: Adding tests for pkce flow and feedback applied
* fix last test for pkce
* Clean test_abort_if_oauth_with_pkce_rejected
* Improve assertion of code verifier and code challenge
* Break long docstrings
* Shorten docstring
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* style: rename humidifier night const
* fix: separate night light for fan and humidifier
Check for the presence of set_night_light_brightness and
set_night_light to indentify humidifier and fan devices.
set_night_light is defined on VeSyncAirBypass and
set_night_light_brightness is defined on VeSyncHumid200300S.
update test