]> mj.ucw.cz Git - home-hw.git/blobdiff - rainbow/iris/burrow-iris.py
Iris: Two adjustments for new aiomqtt
[home-hw.git] / rainbow / iris / burrow-iris.py
index dbf14e7b90c887e511d2cbbbba3ef781908b0a32..7af1fd5c9920bb5a906a8bf68f1581e26eb9d601 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 # Iris -- the Burrow's goddess of rainbow
 # Controls LEDs on the Rainbow according to the state of the house
 # (c) 2022 Martin Mareš <mj@ucw.cz>
@@ -148,16 +148,17 @@ async def mqtt_loop():
 
     will = aiomqtt.Will(topic='status/iris', payload='dead', qos=1, retain=True)
 
-    async with aiomqtt.Client(client_id='iris', hostname="burrow-mqtt", port=8883, tls_context=sctx, will=will) as mqtt:
-        global st
-        st = State(mqtt)
-        async with mqtt.messages() as messages:
-            await mqtt.subscribe("burrow/air/ac-on")
-            await mqtt.subscribe("burrow/heating/#")
-            await mqtt.subscribe("burrow/temp/#")
-            await mqtt.publish("status/iris", "ok", retain=True)
-            async for msg in messages:
-                await mqtt_process_msg(msg.topic, msg.payload.decode())
+    mqtt = aiomqtt.Client(client_id='iris', hostname="burrow-mqtt", port=8883, tls_context=sctx, will=will)
+    await mqtt.connect()
+    global st
+    st = State(mqtt)
+    async with mqtt.messages() as messages:
+        await mqtt.subscribe("burrow/air/ac-on")
+        await mqtt.subscribe("burrow/heating/#")
+        await mqtt.subscribe("burrow/temp/#")
+        await mqtt.publish("status/iris", "ok", retain=True)
+        async for msg in messages:
+            await mqtt_process_msg(msg.topic.value, msg.payload.decode())
 
 
 async def mqtt_watcher():