From 1a9d07dbdc620674be96ce7ed77087602c538478 Mon Sep 17 00:00:00 2001 From: Santobert Date: Tue, 8 Oct 2019 19:05:35 +0200 Subject: [PATCH] Improve Neato login process (#27327) * initial commit * Readded log message * Clean up try-except --- homeassistant/components/neato/__init__.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/homeassistant/components/neato/__init__.py b/homeassistant/components/neato/__init__.py index c1fb128a1d1..14090c99a55 100644 --- a/homeassistant/components/neato/__init__.py +++ b/homeassistant/components/neato/__init__.py @@ -145,28 +145,26 @@ class NeatoHub: def login(self): """Login to My Neato.""" + _LOGGER.debug("Trying to connect to Neato API") try: - _LOGGER.debug("Trying to connect to Neato API") self.my_neato = self._neato( self.config[CONF_USERNAME], self.config[CONF_PASSWORD], self._vendor ) - self.logged_in = True - - _LOGGER.debug("Successfully connected to Neato API") - self._hass.data[NEATO_ROBOTS] = self.my_neato.robots - self._hass.data[NEATO_PERSISTENT_MAPS] = self.my_neato.persistent_maps - self._hass.data[NEATO_MAP_DATA] = self.my_neato.maps except NeatoException as ex: if isinstance(ex, NeatoLoginException): _LOGGER.error("Invalid credentials") else: _LOGGER.error("Unable to connect to Neato API") self.logged_in = False + return + + self.logged_in = True + _LOGGER.debug("Successfully connected to Neato API") @Throttle(timedelta(minutes=SCAN_INTERVAL_MINUTES)) def update_robots(self): """Update the robot states.""" - _LOGGER.debug("Running HUB.update_robots %s", self._hass.data[NEATO_ROBOTS]) + _LOGGER.debug("Running HUB.update_robots %s", self._hass.data.get(NEATO_ROBOTS)) self._hass.data[NEATO_ROBOTS] = self.my_neato.robots self._hass.data[NEATO_PERSISTENT_MAPS] = self.my_neato.persistent_maps self._hass.data[NEATO_MAP_DATA] = self.my_neato.maps