* NEST - Issues with lost internet connectivity #70479
Update Climate and Sensor entities to be unavailable when the device connectivity trait indicates the device is offline.
The prior behavior, the last known values would be displayed indefinitely if the device lost internet connectivity. This was creating the illusion that the device was still connected. With this change, the Home Assistant entities will become unavailable when the device loses connectivity.
* Update formatting
* Add doc strings, fix indentation
* Fix doc strings
* Update test_climate_sdm.py
* Update test_climate_sdm.py
* Update test_sensor_sdm.py
* Update test_sensor_sdm.py
* more formatting fixes
* Place availability logic in mixin
1. Consolidate repeated code into mixin and apply mixin to Climate and Sensor entities
2. Return true instead of super.available()
3. No unit test changes required to maintain code coverage
* Define self._device is mixin to make linter happier
* Remove logger used for debugging
* restore whitespace
* Fix test due to underlying merge change
* Update availability_mixin.py
* Move availability logic into device_info
* Update sensor_sdm.py
* Add multiple config entry support for Nest
* Set a config entry unique id based on nest project id
* Add missing translations and remove untested committed
* Remove unnecessary translation
* Remove dead code
* Remove old handling to avoid duplicate error logs
* Change precision of Nest sensors
* Add comment to temp rounding
Co-authored-by: Allen Porter <allen.porter@gmail.com>
* Update rounding and tests
* Add test for rounding
Co-authored-by: Allen Porter <allen.porter@gmail.com>
* Simplify nest event handling
Use device specific update callbacks rather than a global callback.
The motivation is to prepare for a follow up change that will store
camera specific event tokens on the camera itself, so that a service
can later fetch event specific image snapshots, which would be difficult
to send across the event bus.
* Increase nest camera test coverage
* Remove unnecessary device updates for nest cameras
* Remove unused imports
* Fix device id check to look at returned entry
* Remove unused imports after rebase
* Partial revert of nest event simplification
* Push more update logic into the nest library
* Revert nest device_info changes
* Revert test changes to restore global update behavior
* Bump nest library version to support new callback interfaces
* Add nest SDM API camera/doorbell events
Events are fired when pubsub messages are received. When messages
are received lookup a home assistant device id from the nest
device id, so that the home assistant device id can be included
in the event payload.
* Update homeassistant/components/nest/__init__.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Update nest code style based on PR feedback
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>