From 9925b2a8e037b63651badc1513911f557da874c6 Mon Sep 17 00:00:00 2001 From: Johan Bloemberg Date: Tue, 31 Jan 2017 17:02:28 +0100 Subject: [PATCH] Load mqtt_eventstream before any other component. (#5629) This ensures that initial state changes for components are broadcasted on the MQTT bus. --- homeassistant/loader.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/homeassistant/loader.py b/homeassistant/loader.py index dc68d3f1d46..77b4da00f09 100644 --- a/homeassistant/loader.py +++ b/homeassistant/loader.py @@ -177,6 +177,8 @@ def load_order_components(components: Sequence[str]) -> OrderedSet: - Will ensure that all components that do not directly depend on the group component will be loaded before the group component. - returns an OrderedSet load order. + - Makes sure MQTT eventstream is available for publish before + components start updating states. Async friendly. """ @@ -193,7 +195,8 @@ def load_order_components(components: Sequence[str]) -> OrderedSet: load_order.update(comp_load_order) # Push some to first place in load order - for comp in ('logger', 'recorder', 'introduction'): + for comp in ('mqtt_eventstream', 'mqtt', 'logger', + 'recorder', 'introduction'): if comp in load_order: load_order.promote(comp)