* Assign device class to nest sensors
sensor/nest.NestSensor => /nest.NestSensorDevice,
so that BinarySensor platform do not reference Sensor platform anymore
* Resolve code review comment
* Follow code review comment
* Change nest component to Cloud Push
Change sensors.nest, binary_sensors.nest and climate.nest to push mode
nest camera still need poll to update snapshot image
Also change nest component to async
* Flake8 lint
* Fix async_notify_errors, it is not a coroutine
* Fix pylint
* Fix pylint, function name should shall shorter than 32
* Use dispatcher helper instead event bus
* Use async_update_ha_state(True)
* Refactoring load_platform
Move service registration into async_setup_nest(),
resolve an issue that before the first time configuration done,
set_mode service should not be registered
* Fix an issue that authorization failure may leave a blocked thread
* Pylinting
* async_nest_update_callback => async_update_state to avoid confusion
* Move signal handler register to async_added_to_hass
* Better handle nest api error
* Remove unnecessary register for binary_sensor
* Remove unused import
* Upgrade to python-nest 4.0.1
Fix a thread race condition issue
* Address my own comments
* Address my own comment
* Updated Nest API to have logical names
* Fix NoneType not having replace method in NestSensor constructor
* Move name setting to constructor, in case zone.name causes IO.
* normalize is_online to online
* Updated python-nest API
* push is_* helpers down to python-nest, and use inheritence to implement rather than checking class name
* Update python-nest