From 1fb1a32c9ae05179c96ca175e64b33d2370cecd1 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 26 Feb 2017 20:30:21 -0800 Subject: [PATCH 1/4] Version bump to 0.39.1 --- homeassistant/const.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homeassistant/const.py b/homeassistant/const.py index 6e9fe2f5d2b..3c93defc630 100644 --- a/homeassistant/const.py +++ b/homeassistant/const.py @@ -2,7 +2,7 @@ """Constants used by Home Assistant components.""" MAJOR_VERSION = 0 MINOR_VERSION = 39 -PATCH_VERSION = '0' +PATCH_VERSION = '1' __short_version__ = '{}.{}'.format(MAJOR_VERSION, MINOR_VERSION) __version__ = '{}.{}'.format(__short_version__, PATCH_VERSION) REQUIRED_PYTHON_VER = (3, 4, 2) From 9403cdd2a568e039e9fcd08f1152478383e3b6f4 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sun, 26 Feb 2017 23:43:02 +0100 Subject: [PATCH 2/4] Bugfix mqtt socket error (#6256) --- homeassistant/components/mqtt/__init__.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/mqtt/__init__.py b/homeassistant/components/mqtt/__init__.py index 57ea0351168..238d3c09146 100644 --- a/homeassistant/components/mqtt/__init__.py +++ b/homeassistant/components/mqtt/__init__.py @@ -393,8 +393,7 @@ class MQTT(object): self.progress = {} self.birth_message = birth_message self._mqttc = None - self._subscribe_lock = asyncio.Lock(loop=hass.loop) - self._publish_lock = asyncio.Lock(loop=hass.loop) + self._paho_lock = asyncio.Lock(loop=hass.loop) if protocol == PROTOCOL_31: proto = mqtt.MQTTv31 @@ -434,7 +433,7 @@ class MQTT(object): This method must be run in the event loop and returns a coroutine. """ - with (yield from self._publish_lock): + with (yield from self._paho_lock): yield from self.hass.loop.run_in_executor( None, self._mqttc.publish, topic, payload, qos, retain) @@ -484,7 +483,7 @@ class MQTT(object): if topic in self.topics: return - with (yield from self._subscribe_lock): + with (yield from self._paho_lock): result, mid = yield from self.hass.loop.run_in_executor( None, self._mqttc.subscribe, topic, qos) From d487960ad8af8b0cc60f56d3e1a47bde54529783 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 26 Feb 2017 15:28:12 -0800 Subject: [PATCH 3/4] Config fix (#6261) --- homeassistant/components/config/__init__.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/config/__init__.py b/homeassistant/components/config/__init__.py index 9fbb030e96e..631650077ce 100644 --- a/homeassistant/components/config/__init__.py +++ b/homeassistant/components/config/__init__.py @@ -129,5 +129,8 @@ def _read(path): def _write(path, data): """Write YAML helper.""" + # Do it before opening file. If dump causes error it will now not + # truncate the file. + data = dump(data) with open(path, 'w', encoding='utf-8') as outfile: - outfile.write(dump(data)) + outfile.write(data) From 3d26ac332390bed6a1bf86d4e49755034dfb5f4e Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 27 Feb 2017 00:28:54 +0100 Subject: [PATCH 4/4] Bugfix mqtt paho client to speend time (#6266) --- homeassistant/components/mqtt/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/homeassistant/components/mqtt/__init__.py b/homeassistant/components/mqtt/__init__.py index 238d3c09146..38e4fd18b28 100644 --- a/homeassistant/components/mqtt/__init__.py +++ b/homeassistant/components/mqtt/__init__.py @@ -436,6 +436,7 @@ class MQTT(object): with (yield from self._paho_lock): yield from self.hass.loop.run_in_executor( None, self._mqttc.publish, topic, payload, qos, retain) + yield from asyncio.sleep(0, loop=self.hass.loop) @asyncio.coroutine def async_connect(self): @@ -486,6 +487,7 @@ class MQTT(object): with (yield from self._paho_lock): 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