Axis - start stream when system is ready (#23119)

* Make sure that event stream doesn't start until event listeners are ready

* Change order
This commit is contained in:
Robert Svensson 2019-04-15 18:20:01 +02:00 committed by Paulus Schoutsen
parent e97b2b7015
commit ec171b9928

View file

@ -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."""