From 1d7ab0fa950e11d873adedd36668961bc1d23756 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 20 Feb 2017 22:24:03 +0100 Subject: [PATCH] Cleanup some async stuff (#6127) * Cleanup some async stuff * change to schedule_update_ha_state() * fix media player * fix zigbee --- homeassistant/components/binary_sensor/envisalink.py | 2 +- homeassistant/components/camera/generic.py | 2 +- homeassistant/components/media_player/universal.py | 2 +- homeassistant/components/mqtt/__init__.py | 3 ++- homeassistant/components/sensor/envisalink.py | 2 +- homeassistant/components/sensor/yr.py | 2 +- homeassistant/components/sensor/zigbee.py | 2 +- homeassistant/components/zigbee.py | 2 +- 8 files changed, 9 insertions(+), 8 deletions(-) diff --git a/homeassistant/components/binary_sensor/envisalink.py b/homeassistant/components/binary_sensor/envisalink.py index 3e669333d69..3d10736c9ee 100644 --- a/homeassistant/components/binary_sensor/envisalink.py +++ b/homeassistant/components/binary_sensor/envisalink.py @@ -67,4 +67,4 @@ class EnvisalinkBinarySensor(EnvisalinkDevice, BinarySensorDevice): def _update_callback(self, zone): """Update the zone's state, if needed.""" if zone is None or int(zone) == self._zone_number: - self.hass.async_add_job(self.update_ha_state) + self.hass.schedule_update_ha_state() diff --git a/homeassistant/components/camera/generic.py b/homeassistant/components/camera/generic.py index 74b4161f438..f16c96c0b12 100644 --- a/homeassistant/components/camera/generic.py +++ b/homeassistant/components/camera/generic.py @@ -123,7 +123,7 @@ class GenericCamera(Camera): return self._last_image finally: if response is not None: - self.hass.async_add_job(response.release()) + yield from response.release() self._last_url = url return self._last_image diff --git a/homeassistant/components/media_player/universal.py b/homeassistant/components/media_player/universal.py index 3eccafba20c..aea10e3c44d 100644 --- a/homeassistant/components/media_player/universal.py +++ b/homeassistant/components/media_player/universal.py @@ -151,7 +151,7 @@ class UniversalMediaPlayer(MediaPlayerDevice): @callback def async_on_dependency_update(*_): """Update ha state when dependencies update.""" - self.hass.add_job(self.async_update_ha_state(True)) + self.hass.async_add_job(self.async_update_ha_state(True)) depend = copy(children) for entity in attributes.values(): diff --git a/homeassistant/components/mqtt/__init__.py b/homeassistant/components/mqtt/__init__.py index 2d2a77bfc48..129759515a7 100644 --- a/homeassistant/components/mqtt/__init__.py +++ b/homeassistant/components/mqtt/__init__.py @@ -420,12 +420,13 @@ class MQTT(object): will_message.get(ATTR_QOS), will_message.get(ATTR_RETAIN)) + @asyncio.coroutine def async_publish(self, topic, payload, qos, retain): """Publish a MQTT message. This method must be run in the event loop and returns a coroutine. """ - return self.hass.loop.run_in_executor( + yield from self.hass.loop.run_in_executor( None, self._mqttc.publish, topic, payload, qos, retain) @asyncio.coroutine diff --git a/homeassistant/components/sensor/envisalink.py b/homeassistant/components/sensor/envisalink.py index 5b64d70e145..a29179598a8 100644 --- a/homeassistant/components/sensor/envisalink.py +++ b/homeassistant/components/sensor/envisalink.py @@ -68,4 +68,4 @@ class EnvisalinkSensor(EnvisalinkDevice): def _update_callback(self, partition): """Update the partition state in HA, if needed.""" if partition is None or int(partition) == self._partition_number: - self.hass.async_add_job(self.update_ha_state) + self.hass.schedule_update_ha_state() diff --git a/homeassistant/components/sensor/yr.py b/homeassistant/components/sensor/yr.py index 96b67776000..f5541f1bef2 100644 --- a/homeassistant/components/sensor/yr.py +++ b/homeassistant/components/sensor/yr.py @@ -179,7 +179,7 @@ class YrData(object): finally: if resp is not None: - self.hass.async_add_job(resp.release()) + yield from resp.release() try: import xmltodict diff --git a/homeassistant/components/sensor/zigbee.py b/homeassistant/components/sensor/zigbee.py index 78dab2547f3..42ae64a2b1f 100644 --- a/homeassistant/components/sensor/zigbee.py +++ b/homeassistant/components/sensor/zigbee.py @@ -55,7 +55,7 @@ class ZigBeeTemperatureSensor(Entity): self._config = config self._temp = None # Get initial state - hass.add_job(self.async_update_ha_state, True) + self.schedule_update_ha_state(True) @property def name(self): diff --git a/homeassistant/components/zigbee.py b/homeassistant/components/zigbee.py index 8fbc3f0a9c3..66ef19a5b99 100644 --- a/homeassistant/components/zigbee.py +++ b/homeassistant/components/zigbee.py @@ -307,7 +307,7 @@ class ZigBeeDigitalIn(Entity): subscribe(hass, handle_frame) # Get initial state - hass.add_job(self.async_update_ha_state, True) + self.schedule_update_ha_state(True) @property def name(self):