* Fully unload wemo config entity
* Test reloading the config entry
* Encapsulate data with dataclasses
* Fix missing test coverage
* Replace if with assert for options that are always set
* Move WemoData/WemoConfigEntryData to models.py
* Use _ to indicate unused argument
* Test that the entry and entity work after reloading
* Nit: Slight test reordering
* Reset the correct mock (get_state)
* from .const import DOMAIN
* Nit: _async_wemo_data -> async_wemo_data; not module private
* Update return signature of service calls
* Add timeout error handling in websocket api for service calls
* Update recorder tests to remove assertion on service call
* Remove timeout behavior and update callers that depend on it today
* Fix tests
* Add missing else
* await coro directly
* Fix more tests
* Update the intent task to use wait instead of timeout
* Remove script service call limits and limit constants
* Update tests that depend on service call limits
* Use wait instead of wait_for and add test
* Update homeassistant/helpers/intent.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Skip adding WeMo device on failure
* Only create a single log entry for each failed device
* Fix typo s/serial_number/serialnumber/
* Discard failed devices on success
* WeMo push update is seen by all coordinator entities
* Rename _wemo_exception_handler -> _wemo_call_wrapper
* Test turning off the entity
* Test setting light brightness
* Improve brightness test
* It is unnecessary to setup the platform integration
* Use domain names, not platform enum, in service calls
* Add turned on or off device trigger to toggle entity
* Renamed changed_states trigger to toggled
* Adjust tests
* Fix homekit triggers test
* Add tests
* Adjust tests after rebase
Co-authored-by: J. Nick Koston <nick@koston.org>
* Use DataUpdateCoordinator for wemo
* Rename DeviceWrapper->DeviceCoordinator and make it a subclass of DataUpdateCoordinator
* Rename async_update_data->_async_update_data to override base class
* Rename: device -> coordinator