* 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
* 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
* PyWeMo version bump to 0.4.43
Changes necessary to safely upgrade to pyWeMo 0.4.43. This includes catching ActionExceptions that may be thrown by pyWeMo when it is unable to interact with a physical device.
* Black formatting fix
* Fix isort issues
* Code review changes
* More code review fixes
* Linting fix
* Undo dict.get change
* Change a couple instances of dict[key] to dict.get
* Rename BinarySensorDevice to BinarySensorEntity
* Tweak
* Move deprecation warning to __new__, add test
* Move deprecation warning back to __init__
* Move deprecation warning to __init_subclass
* Improve config entry support, add device info
* async_dispatch_connect
* Fix I/O in event loop
* Do not raise PlatformNotReady inside dispatcher
* Make main discovery process async
* Do discovery as part of set up.
* Greatly simplify set up
* Add parallel updates to fan&switch
* mini cleanup
* Address comments