From fc0278c91f6ec7a721f4a44f5917358f261733c2 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 25 Feb 2020 14:10:43 -0800 Subject: [PATCH] Fix Arlo doing I/O in event loop (#32190) --- homeassistant/components/arlo/alarm_control_panel.py | 8 ++++---- homeassistant/components/arlo/camera.py | 4 +++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/arlo/alarm_control_panel.py b/homeassistant/components/arlo/alarm_control_panel.py index 838f319abc1..49a1bced577 100644 --- a/homeassistant/components/arlo/alarm_control_panel.py +++ b/homeassistant/components/arlo/alarm_control_panel.py @@ -110,19 +110,19 @@ class ArloBaseStation(AlarmControlPanel): else: self._state = None - async def async_alarm_disarm(self, code=None): + def alarm_disarm(self, code=None): """Send disarm command.""" self._base_station.mode = DISARMED - async def async_alarm_arm_away(self, code=None): + def alarm_arm_away(self, code=None): """Send arm away command. Uses custom mode.""" self._base_station.mode = self._away_mode_name - async def async_alarm_arm_home(self, code=None): + def alarm_arm_home(self, code=None): """Send arm home command. Uses custom mode.""" self._base_station.mode = self._home_mode_name - async def async_alarm_arm_night(self, code=None): + def alarm_arm_night(self, code=None): """Send arm night command. Uses custom mode.""" self._base_station.mode = self._night_mode_name diff --git a/homeassistant/components/arlo/camera.py b/homeassistant/components/arlo/camera.py index f52c22fced2..8152a76feec 100644 --- a/homeassistant/components/arlo/camera.py +++ b/homeassistant/components/arlo/camera.py @@ -78,8 +78,10 @@ class ArloCam(Camera): async def handle_async_mjpeg_stream(self, request): """Generate an HTTP MJPEG stream from the camera.""" + video = await self.hass.async_add_executor_job( + getattr, self._camera, "last_video" + ) - video = self._camera.last_video if not video: error_msg = ( f"Video not found for {self.name}. "