From e980d1b9fee95c6688f15d24f94ec90699b277c6 Mon Sep 17 00:00:00 2001 From: Julien Debaru Date: Sat, 20 Oct 2018 15:30:10 +0200 Subject: [PATCH] Fix linky sensor login error (#17110) * Fix linky sensor login error * Make platform fail-safe Adding following enhancements: * Make sure the platform loads correctly by making the first API request in setup_platform. * Close the session after each API call. * Use timeout parameter everywhere. * Fix Hound CI error: line too long. * Update pylinky library * Remove LinkyClient from update() --- homeassistant/components/sensor/linky.py | 5 +++-- requirements_all.txt | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/sensor/linky.py b/homeassistant/components/sensor/linky.py index 83a6d793085..316da010ae4 100644 --- a/homeassistant/components/sensor/linky.py +++ b/homeassistant/components/sensor/linky.py @@ -16,7 +16,7 @@ from homeassistant.helpers.entity import Entity from homeassistant.util import Throttle import homeassistant.helpers.config_validation as cv -REQUIREMENTS = ['pylinky==0.1.6'] +REQUIREMENTS = ['pylinky==0.1.8'] _LOGGER = logging.getLogger(__name__) SCAN_INTERVAL = timedelta(minutes=10) @@ -37,11 +37,11 @@ def setup_platform(hass, config, add_entities, discovery_info=None): from pylinky.client import LinkyClient, PyLinkyError client = LinkyClient(username, password, None, timeout) - try: client.fetch_data() except PyLinkyError as exp: _LOGGER.error(exp) + client.close_session() return devices = [LinkySensor('Linky', client)] @@ -80,6 +80,7 @@ class LinkySensor(Entity): self._client.fetch_data() except PyLinkyError as exp: _LOGGER.error(exp) + self._client.close_session() return _LOGGER.debug(json.dumps(self._client.get_data(), indent=2)) diff --git a/requirements_all.txt b/requirements_all.txt index 6c20f961228..bf8011cbb49 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -963,7 +963,7 @@ pylgnetcast-homeassistant==0.2.0.dev0 pylgtv==0.1.9 # homeassistant.components.sensor.linky -pylinky==0.1.6 +pylinky==0.1.8 # homeassistant.components.litejet pylitejet==0.1