From 60fabaec24271b4eee0b87dc6ee4a7ac5b0ddb71 Mon Sep 17 00:00:00 2001 From: Hugo Dupras Date: Fri, 11 Nov 2016 08:04:11 +0100 Subject: [PATCH] Add timeout for Netatmo binary sensor (#4280) * Add time limit for Netatmo binary sensor * Change limit to timeout Signed-off-by: Hugo D. (jabesq) * Update requirements_all.txt --- .../components/binary_sensor/netatmo.py | 18 ++++++++++++------ homeassistant/components/netatmo.py | 2 +- requirements_all.txt | 2 +- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/homeassistant/components/binary_sensor/netatmo.py b/homeassistant/components/binary_sensor/netatmo.py index e5004db0a4b..93b3bb5817c 100644 --- a/homeassistant/components/binary_sensor/netatmo.py +++ b/homeassistant/components/binary_sensor/netatmo.py @@ -13,7 +13,7 @@ from homeassistant.components.binary_sensor import ( BinarySensorDevice, PLATFORM_SCHEMA) from homeassistant.components.netatmo import WelcomeData from homeassistant.loader import get_component -from homeassistant.const import CONF_MONITORED_CONDITIONS +from homeassistant.const import CONF_MONITORED_CONDITIONS, CONF_TIMEOUT from homeassistant.helpers import config_validation as cv DEPENDENCIES = ["netatmo"] @@ -33,6 +33,7 @@ CONF_CAMERAS = 'cameras' PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ vol.Optional(CONF_HOME): cv.string, + vol.Optional(CONF_TIMEOUT): cv.positive_int, vol.Optional(CONF_CAMERAS, default=[]): vol.All(cv.ensure_list, [cv.string]), vol.Optional(CONF_MONITORED_CONDITIONS, default=SENSOR_TYPES.keys()): @@ -45,6 +46,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None): """Setup access to Netatmo binary sensor.""" netatmo = get_component('netatmo') home = config.get(CONF_HOME, None) + timeout = config.get(CONF_TIMEOUT, 15) import lnetatmo try: @@ -62,18 +64,19 @@ def setup_platform(hass, config, add_devices, discovery_info=None): camera_name not in config[CONF_CAMERAS]: continue for variable in sensors: - add_devices([WelcomeBinarySensor(data, camera_name, home, + add_devices([WelcomeBinarySensor(data, camera_name, home, timeout, variable)]) class WelcomeBinarySensor(BinarySensorDevice): """Represent a single binary sensor in a Netatmo Welcome device.""" - def __init__(self, data, camera_name, home, sensor): + def __init__(self, data, camera_name, home, timeout, sensor): """Setup for access to the Netatmo camera events.""" self._data = data self._camera_name = camera_name self._home = home + self._timeout = timeout if home: self._name = home + ' / ' + camera_name else: @@ -114,14 +117,17 @@ class WelcomeBinarySensor(BinarySensorDevice): if self._sensor_name == "Someone known": self._state =\ self._data.welcomedata.someoneKnownSeen(self._home, - self._camera_name) + self._camera_name, + self._timeout*60) elif self._sensor_name == "Someone unknown": self._state =\ self._data.welcomedata.someoneUnknownSeen(self._home, - self._camera_name) + self._camera_name, + self._timeout*60) elif self._sensor_name == "Motion": self._state =\ self._data.welcomedata.motionDetected(self._home, - self._camera_name) + self._camera_name, + self._timeout*60) else: return None diff --git a/homeassistant/components/netatmo.py b/homeassistant/components/netatmo.py index 77432411e1a..d6e0101e4e0 100644 --- a/homeassistant/components/netatmo.py +++ b/homeassistant/components/netatmo.py @@ -18,7 +18,7 @@ from homeassistant.util import Throttle REQUIREMENTS = [ 'https://github.com/jabesq/netatmo-api-python/archive/' - 'v0.6.0.zip#lnetatmo==0.6.0'] + 'v0.7.0.zip#lnetatmo==0.7.0'] _LOGGER = logging.getLogger(__name__) diff --git a/requirements_all.txt b/requirements_all.txt index b6a74c7084f..1876bb992f9 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -187,7 +187,7 @@ https://github.com/danieljkemp/onkyo-eiscp/archive/python3.zip#onkyo-eiscp==0.9. # https://github.com/deisi/fritzconnection/archive/b5c14515e1c8e2652b06b6316a7f3913df942841.zip#fritzconnection==0.4.6 # homeassistant.components.netatmo -https://github.com/jabesq/netatmo-api-python/archive/v0.6.0.zip#lnetatmo==0.6.0 +https://github.com/jabesq/netatmo-api-python/archive/v0.7.0.zip#lnetatmo==0.7.0 # homeassistant.components.switch.neato https://github.com/jabesq/pybotvac/archive/v0.0.1.zip#pybotvac==0.0.1