diff --git a/homeassistant/components/discovery.py b/homeassistant/components/discovery.py index 41cf3791256..7784f3771de 100644 --- a/homeassistant/components/discovery.py +++ b/homeassistant/components/discovery.py @@ -21,7 +21,7 @@ from homeassistant.helpers.event import async_track_point_in_utc_time from homeassistant.helpers.discovery import async_load_platform, async_discover import homeassistant.util.dt as dt_util -REQUIREMENTS = ['netdisco==2.0.0'] +REQUIREMENTS = ['netdisco==2.1.0'] DOMAIN = 'discovery' diff --git a/homeassistant/components/media_player/cast.py b/homeassistant/components/media_player/cast.py index 088aef82373..e14244793cf 100644 --- a/homeassistant/components/media_player/cast.py +++ b/homeassistant/components/media_player/cast.py @@ -369,7 +369,8 @@ class CastDevice(MediaPlayerDevice): if self._chromecast is not None: if old_cast_info.host_port == cast_info.host_port: - # Nothing connection-related updated + _LOGGER.debug("No connection related update: %s", + cast_info.host_port) return await self._async_disconnect() @@ -403,7 +404,12 @@ class CastDevice(MediaPlayerDevice): await self.hass.async_add_job(self._chromecast.disconnect) - # Invalidate some attributes + self._invalidate() + + self.async_schedule_update_ha_state() + + def _invalidate(self): + """Invalidate some attributes.""" self._chromecast = None self.cast_status = None self.media_status = None @@ -412,8 +418,6 @@ class CastDevice(MediaPlayerDevice): self._status_listener.invalidate() self._status_listener = None - self.async_schedule_update_ha_state() - # ========== Callbacks ========== def new_cast_status(self, cast_status): """Handle updates of the cast status.""" @@ -428,7 +432,16 @@ class CastDevice(MediaPlayerDevice): def new_connection_status(self, connection_status): """Handle updates of connection status.""" - from pychromecast.socket_client import CONNECTION_STATUS_CONNECTED + from pychromecast.socket_client import CONNECTION_STATUS_CONNECTED, \ + CONNECTION_STATUS_DISCONNECTED + + _LOGGER.debug("Received cast device connection status: %s", + connection_status.status) + if connection_status.status == CONNECTION_STATUS_DISCONNECTED: + self._available = False + self._invalidate() + self.schedule_update_ha_state() + return new_available = connection_status.status == CONNECTION_STATUS_CONNECTED if new_available != self._available: diff --git a/homeassistant/components/sensor/snmp.py b/homeassistant/components/sensor/snmp.py index d66a24524fb..718e4f6fb0d 100644 --- a/homeassistant/components/sensor/snmp.py +++ b/homeassistant/components/sensor/snmp.py @@ -182,7 +182,7 @@ class SnmpSensor(Entity): if value is None: value = STATE_UNKNOWN elif self._value_template is not None: - value = self._value_template.render_with_possible_json_value( + value = self._value_template.async_render_with_possible_json_value( value, STATE_UNKNOWN) self._state = value diff --git a/homeassistant/const.py b/homeassistant/const.py index 546f47a62b3..4719e934109 100644 --- a/homeassistant/const.py +++ b/homeassistant/const.py @@ -2,7 +2,7 @@ """Constants used by Home Assistant components.""" MAJOR_VERSION = 0 MINOR_VERSION = 78 -PATCH_VERSION = '0' +PATCH_VERSION = '1' __short_version__ = '{}.{}'.format(MAJOR_VERSION, MINOR_VERSION) __version__ = '{}.{}'.format(__short_version__, PATCH_VERSION) REQUIRED_PYTHON_VER = (3, 5, 3) diff --git a/requirements_all.txt b/requirements_all.txt index de30bc379d9..1297d421b67 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -611,7 +611,7 @@ ndms2_client==0.0.4 netdata==0.1.2 # homeassistant.components.discovery -netdisco==2.0.0 +netdisco==2.1.0 # homeassistant.components.sensor.neurio_energy neurio==0.3.1