* Xiaomi MiIO Sensor: Xiaomi Air Quality Monitor (PM2.5) integration.
* Missing newline added.
* Use a unique data key per domain.
* turn_{on,off} service moved to __init__.py.
* All sensors group added.
* Sensor is a ToggleEntity now.
* is_on property added.
* Use Async / await syntax.
* Make hound happy.
* Unique id added.
* Turn on/off service removed from abstract sensor.
* Turn on/off methods removed.
Device unavailable handling improved.
* Unused import removed.
* Sensor migrated back to an entity.
* Rebased and requirements updated.
* Added Foobot device sensor
* Added error handling tests
* Corrections after PR review.
* Migrated to async/await syntax
* lint fixes
* stop raising HomeAssistantError
* debug log for number of requests
* Moved shared data between sensors from a class attribute to a separate class
* Made test more async-aware
disabled setup error test for now as it's not working
* Working failure scenarios tests
* Added vesync platform
Support for power toggling, current power, and daily energy kWh
* Adds vesync to requirements file.
* Reorder vesync item in requirements_all.txt from gen_requirements_all
* Removes unnecessary global values that are not used in this component
* Removes try/catch from setup_platform -no throws. Guard check login()
* Remove unnecessary boolean convert
* Fix indentation of log messages
* Add spotcrime.py to dev
* Modify sensor to accept user API key
* Update Spotcrime to 1.0.3 in requirements_all.txt
* Fix line 76 (97 > 79 characters)
* Fix lint errors
* Add camera proxy
* Fix additional tox linting issues
* Trivial cleanup
* update to new async/await methods rather than decorators. Other minor fixes from code review
* add Channels media player
* add Channels' services
* style 💄
* more 💄
* make up your mind robot
* 💄💄💄
* dump client and pull it in via a package
* ChannelsApp -> ChannelsPlayer
* load the lib
* add pychannels in requirements
* not using requests anymore
* extra line 💄
* move this here
* move this up
* 🔥
* use constants for these
* add a platform schema
* force update here
* get defaults to None
* break out after finding it
* use None for state if offline or errored
* pull in CONF_NAME
* fix syntax
* update requirements_all.txt
* 💄💄💄
* 💄
* docs
* like this? ¯\(°_o)/¯
* Added Zillow Zestimate sensor.
* Add zestimate.py to .coveragerc
* Fix line 167 81>80
* Incorporate tinloaf changes.
* Saving work
* Incorporate changes requested by MartinHjelmare
* Remove unnecessary import
* Add a blank line between standard library and 3rd party imports
* Tibber: retry if we fail to connect at startup
* Tibber: retry if we fail to connect at startup
* Tibber: retry if we fail to connect at startup
* Tibber: retry if we fail to connect at startup
* Update tibber.py
* Update tibber.py