From ec171b99286b52f9178fc15bade83d1cb7abe5dd Mon Sep 17 00:00:00 2001 From: Robert Svensson Date: Mon, 15 Apr 2019 18:20:01 +0200 Subject: [PATCH] Axis - start stream when system is ready (#23119) * Make sure that event stream doesn't start until event listeners are ready * Change order --- homeassistant/components/axis/device.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/axis/device.py b/homeassistant/components/axis/device.py index 3b3a35f1a2d..87f382eeb85 100644 --- a/homeassistant/components/axis/device.py +++ b/homeassistant/components/axis/device.py @@ -92,14 +92,14 @@ class AxisNetworkDevice: self.config_entry, 'camera')) if self.config_entry.options[CONF_EVENTS]: - self.hass.async_create_task( + task = self.hass.async_create_task( self.hass.config_entries.async_forward_entry_setup( self.config_entry, 'binary_sensor')) self.api.stream.connection_status_callback = \ self.async_connection_status_callback self.api.enable_events(event_callback=self.async_event_callback) - self.api.start() + task.add_done_callback(self.start) self.config_entry.add_update_listener(self.async_new_address_callback) @@ -149,6 +149,11 @@ class AxisNetworkDevice: if action == 'add': async_dispatcher_send(self.hass, self.event_new_sensor, event) + @callback + def start(self, fut): + """Start the event stream.""" + self.api.start() + @callback def shutdown(self, event): """Stop the event stream."""