diff --git a/homeassistant/components/nest/__init__.py b/homeassistant/components/nest/__init__.py index c70184c357b..7f3e9576bf4 100644 --- a/homeassistant/components/nest/__init__.py +++ b/homeassistant/components/nest/__init__.py @@ -5,7 +5,7 @@ from datetime import datetime, timedelta import logging import threading -from google_nest_sdm.event import EventCallback, EventMessage +from google_nest_sdm.event import AsyncEventCallback, EventMessage from google_nest_sdm.exceptions import GoogleNestException from google_nest_sdm.google_nest_subscriber import GoogleNestSubscriber from nest import Nest @@ -160,14 +160,14 @@ async def async_setup(hass: HomeAssistant, config: dict): return True -class SignalUpdateCallback(EventCallback): +class SignalUpdateCallback(AsyncEventCallback): """An EventCallback invoked when new events arrive from subscriber.""" def __init__(self, hass: HomeAssistant): """Initialize EventCallback.""" self._hass = hass - def handle_event(self, event_message: EventMessage): + async def async_handle_event(self, event_message: EventMessage): """Process an incoming EventMessage.""" _LOGGER.debug("Update %s @ %s", event_message.event_id, event_message.timestamp) traits = event_message.resource_update_traits diff --git a/homeassistant/components/nest/manifest.json b/homeassistant/components/nest/manifest.json index b994fcfbfce..60293612cd3 100644 --- a/homeassistant/components/nest/manifest.json +++ b/homeassistant/components/nest/manifest.json @@ -6,7 +6,7 @@ "documentation": "https://www.home-assistant.io/integrations/nest", "requirements": [ "python-nest==4.1.0", - "google-nest-sdm==0.1.15" + "google-nest-sdm==0.2.0" ], "codeowners": [ "@awarecan", diff --git a/requirements_all.txt b/requirements_all.txt index bce645f521c..ff2c7c22cb3 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -684,7 +684,7 @@ google-cloud-pubsub==2.1.0 google-cloud-texttospeech==0.4.0 # homeassistant.components.nest -google-nest-sdm==0.1.15 +google-nest-sdm==0.2.0 # homeassistant.components.google_travel_time googlemaps==2.5.1 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 3397842eb98..b28ee9e489d 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -355,7 +355,7 @@ google-api-python-client==1.6.4 google-cloud-pubsub==2.1.0 # homeassistant.components.nest -google-nest-sdm==0.1.15 +google-nest-sdm==0.2.0 # homeassistant.components.gree greeclimate==0.10.3 diff --git a/tests/components/nest/climate_sdm_test.py b/tests/components/nest/climate_sdm_test.py index 4c7ec4c0163..bf6716ec966 100644 --- a/tests/components/nest/climate_sdm_test.py +++ b/tests/components/nest/climate_sdm_test.py @@ -417,7 +417,7 @@ async def test_thermostat_set_hvac_mode(hass, auth): }, auth=None, ) - subscriber.receive_event(event) + await subscriber.async_receive_event(event) await hass.async_block_till_done() # Process dispatch/update signal thermostat = hass.states.get("climate.my_thermostat") @@ -441,7 +441,7 @@ async def test_thermostat_set_hvac_mode(hass, auth): }, auth=None, ) - subscriber.receive_event(event) + await subscriber.async_receive_event(event) await hass.async_block_till_done() # Process dispatch/update signal thermostat = hass.states.get("climate.my_thermostat") @@ -514,7 +514,7 @@ async def test_thermostat_set_eco_preset(hass, auth): }, auth=auth, ) - subscriber.receive_event(event) + await subscriber.async_receive_event(event) await hass.async_block_till_done() # Process dispatch/update signal thermostat = hass.states.get("climate.my_thermostat") @@ -834,7 +834,7 @@ async def test_thermostat_target_temp(hass, auth): }, auth=None, ) - subscriber.receive_event(event) + await subscriber.async_receive_event(event) await hass.async_block_till_done() # Process dispatch/update signal thermostat = hass.states.get("climate.my_thermostat") diff --git a/tests/components/nest/common.py b/tests/components/nest/common.py index c1c8dbd04d7..cd3a06a5afa 100644 --- a/tests/components/nest/common.py +++ b/tests/components/nest/common.py @@ -3,7 +3,7 @@ import time from google_nest_sdm.device_manager import DeviceManager -from google_nest_sdm.event import EventCallback, EventMessage +from google_nest_sdm.event import AsyncEventCallback, EventMessage from google_nest_sdm.google_nest_subscriber import GoogleNestSubscriber from homeassistant.components.nest import DOMAIN @@ -61,7 +61,7 @@ class FakeSubscriber(GoogleNestSubscriber): self._device_manager = device_manager self._callback = None - def set_update_callback(self, callback: EventCallback): + def set_update_callback(self, callback: AsyncEventCallback): """Capture the callback set by Home Assistant.""" self._callback = callback @@ -77,11 +77,11 @@ class FakeSubscriber(GoogleNestSubscriber): """No-op to stop the subscriber.""" return None - def receive_event(self, event_message: EventMessage): + async def async_receive_event(self, event_message: EventMessage): """Simulate a received pubsub message, invoked by tests.""" # Update device state, then invoke HomeAssistant to refresh - self._device_manager.handle_event(event_message) - self._callback.handle_event(event_message) + await self._device_manager.async_handle_event(event_message) + await self._callback.async_handle_event(event_message) async def async_setup_sdm_platform(hass, platform, devices={}, structures={}): diff --git a/tests/components/nest/sensor_sdm_test.py b/tests/components/nest/sensor_sdm_test.py index 7d2e299a1a1..b8b2912b124 100644 --- a/tests/components/nest/sensor_sdm_test.py +++ b/tests/components/nest/sensor_sdm_test.py @@ -164,7 +164,7 @@ async def test_event_updates_sensor(hass): }, auth=None, ) - subscriber.receive_event(event) + await subscriber.async_receive_event(event) await hass.async_block_till_done() # Process dispatch/update signal temperature = hass.states.get("sensor.my_sensor_temperature")