From 2b83af856f5a786a140e444f34eb803e764b2768 Mon Sep 17 00:00:00 2001 From: Felipe Martins Diel <41558831+felipediel@users.noreply.github.com> Date: Tue, 10 Nov 2020 06:02:37 -0300 Subject: [PATCH] Set an appropriate SCAN_INTERVAL for Broadlink A1 sensor (#41309) --- homeassistant/components/broadlink/updater.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/broadlink/updater.py b/homeassistant/components/broadlink/updater.py index 22f26d41b9c..eb42e688a59 100644 --- a/homeassistant/components/broadlink/updater.py +++ b/homeassistant/components/broadlink/updater.py @@ -44,6 +44,8 @@ class BroadlinkUpdateManager(ABC): monitor device availability. """ + SCAN_INTERVAL = timedelta(minutes=1) + def __init__(self, device): """Initialize the update manager.""" self.device = device @@ -52,7 +54,7 @@ class BroadlinkUpdateManager(ABC): _LOGGER, name=f"{device.name} ({device.api.model} at {device.api.host[0]})", update_method=self.async_update, - update_interval=timedelta(minutes=1), + update_interval=self.SCAN_INTERVAL, ) self.available = None self.last_update = None @@ -64,7 +66,7 @@ class BroadlinkUpdateManager(ABC): except (BroadlinkException, OSError) as err: if self.available and ( - dt.utcnow() - self.last_update > timedelta(minutes=3) + dt.utcnow() - self.last_update > self.SCAN_INTERVAL * 3 or isinstance(err, (AuthorizationError, OSError)) ): self.available = False @@ -96,6 +98,8 @@ class BroadlinkUpdateManager(ABC): class BroadlinkA1UpdateManager(BroadlinkUpdateManager): """Manages updates for Broadlink A1 devices.""" + SCAN_INTERVAL = timedelta(seconds=10) + async def async_fetch_data(self): """Fetch data from the device.""" return await self.device.async_request(self.device.api.check_sensors_raw)