From 55f8ec88664ffa64a61d04eaf95fe6c00294355a Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 3 Mar 2017 10:05:52 +0100 Subject: [PATCH] Fix possibility that have multible topic subscribe mqtt (#6372) --- homeassistant/components/mqtt/__init__.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/homeassistant/components/mqtt/__init__.py b/homeassistant/components/mqtt/__init__.py index e8616e22761..6bfdde813c1 100644 --- a/homeassistant/components/mqtt/__init__.py +++ b/homeassistant/components/mqtt/__init__.py @@ -482,17 +482,17 @@ class MQTT(object): if not isinstance(topic, str): raise HomeAssistantError("topic need to be a string!") - if topic in self.topics: - return - with (yield from self._paho_lock): + if topic in self.topics: + return + result, mid = yield from self.hass.loop.run_in_executor( None, self._mqttc.subscribe, topic, qos) yield from asyncio.sleep(0, loop=self.hass.loop) - _raise_on_error(result) - self.progress[mid] = topic - self.topics[topic] = None + _raise_on_error(result) + self.progress[mid] = topic + self.topics[topic] = None @asyncio.coroutine def async_unsubscribe(self, topic):