diff --git a/homeassistant/components/darksky/sensor.py b/homeassistant/components/darksky/sensor.py index 5bd7d972482..aee74179c45 100644 --- a/homeassistant/components/darksky/sensor.py +++ b/homeassistant/components/darksky/sensor.py @@ -798,6 +798,7 @@ class DarkSkyData: self.longitude = longitude self.units = units self.language = language + self._connect_error = False self.data = None self.unit_system = None @@ -825,8 +826,13 @@ class DarkSkyData: units=self.units, lang=self.language, ) + if self._connect_error: + self._connect_error = False + _LOGGER.info("Reconnected to Dark Sky") except (ConnectError, HTTPError, Timeout, ValueError) as error: - _LOGGER.error("Unable to connect to Dark Sky: %s", error) + if not self._connect_error: + self._connect_error = True + _LOGGER.error("Unable to connect to Dark Sky: %s", error) self.data = None self.unit_system = self.data and self.data.json["flags"]["units"] diff --git a/homeassistant/components/darksky/weather.py b/homeassistant/components/darksky/weather.py index 41f063399c1..fee7d60a2c3 100644 --- a/homeassistant/components/darksky/weather.py +++ b/homeassistant/components/darksky/weather.py @@ -241,6 +241,7 @@ class DarkSkyData: self.currently = None self.hourly = None self.daily = None + self._connect_error = False @Throttle(MIN_TIME_BETWEEN_UPDATES) def update(self): @@ -252,8 +253,13 @@ class DarkSkyData: self.currently = self.data.currently() self.hourly = self.data.hourly() self.daily = self.data.daily() + if self._connect_error: + self._connect_error = False + _LOGGER.info("Reconnected to Dark Sky") except (ConnectError, HTTPError, Timeout, ValueError) as error: - _LOGGER.error("Unable to connect to Dark Sky. %s", error) + if not self._connect_error: + self._connect_error = True + _LOGGER.error("Unable to connect to Dark Sky. %s", error) self.data = None @property