diff --git a/homeassistant/components/hangouts/__init__.py b/homeassistant/components/hangouts/__init__.py index 8480ae09549..5d8a167d2d9 100644 --- a/homeassistant/components/hangouts/__init__.py +++ b/homeassistant/components/hangouts/__init__.py @@ -27,7 +27,7 @@ from .const import ( # We need an import from .config_flow, without it .config_flow is never loaded. from .config_flow import HangoutsFlowHandler # noqa: F401 -REQUIREMENTS = ['hangups==0.4.5'] +REQUIREMENTS = ['hangups==0.4.6'] _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/hangouts/hangouts_bot.py b/homeassistant/components/hangouts/hangouts_bot.py index bceedb1acfa..ed041a30ce6 100644 --- a/homeassistant/components/hangouts/hangouts_bot.py +++ b/homeassistant/components/hangouts/hangouts_bot.py @@ -191,16 +191,19 @@ class HangoutsBot: self._connected = True dispatcher.async_dispatcher_send(self.hass, EVENT_HANGOUTS_CONNECTED) - def _on_disconnect(self): + async def _on_disconnect(self): """Handle disconnecting.""" - _LOGGER.debug('Connection lost!') - self._connected = False - dispatcher.async_dispatcher_send(self.hass, - EVENT_HANGOUTS_DISCONNECTED) + if self._connected: + _LOGGER.debug('Connection lost! Reconnect...') + await self.async_connect() + else: + dispatcher.async_dispatcher_send(self.hass, + EVENT_HANGOUTS_DISCONNECTED) async def async_disconnect(self): """Disconnect the client if it is connected.""" if self._connected: + self._connected = False await self._client.disconnect() async def async_handle_hass_stop(self, _): diff --git a/requirements_all.txt b/requirements_all.txt index a18883d7c2c..12a11ba1499 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -434,7 +434,7 @@ ha-philipsjs==0.0.5 habitipy==0.2.0 # homeassistant.components.hangouts -hangups==0.4.5 +hangups==0.4.6 # homeassistant.components.mqtt.server hbmqtt==0.9.4 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index dc38eab532e..b92e5616c3d 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -78,7 +78,7 @@ georss_client==0.3 ha-ffmpeg==1.9 # homeassistant.components.hangouts -hangups==0.4.5 +hangups==0.4.6 # homeassistant.components.mqtt.server hbmqtt==0.9.4