diff --git a/traeger.py b/traeger.py index 9ceb908..5accd63 100644 --- a/traeger.py +++ b/traeger.py @@ -14,7 +14,7 @@ import uuid import urllib import json - +import queue CLIENT_ID = "2fuohjtqv1e63dckp5v84rau0j" @@ -112,3 +112,13 @@ def get_grill_status(self, timeout = 10): time.sleep(1) remaining -= 1 return self.grill_status + + def grill_status_subscription(self): + sub_queue = queue.Queue() + def handle_message(client, userdata, message): + sub_queue.put(json.loads(message.payload)) + client = self.get_mqtt_client(self.grill_connect, handle_message) + for grill in self.grills: + client.subscribe(("prod/thing/update/{}".format(grill["thingName"]),1)) + while True: + yield sub_queue.get()