Skip to content

Add simple support for iterator-based event subscription - #1

Open
kgutwin wants to merge 1 commit into
krbaker:masterfrom
kgutwin:feat/iter-sub
Open

Add simple support for iterator-based event subscription#1
kgutwin wants to merge 1 commit into
krbaker:masterfrom
kgutwin:feat/iter-sub

Conversation

@kgutwin

@kgutwin kgutwin commented Jun 8, 2021

Copy link
Copy Markdown

I really like this library and it worked great on my first try! Thanks for doing the work of tracing and prototyping this to make it easy to get a good data feed out of the cloud.

As I integrated it into my standard monitoring system, I debated how often to call the get_grill_status() method, and as I read the code in detail, I realized it would actually be pretty easy to convert the status polling into a thread-based subscription method. With this approach, no delay is needed in the polling loop; the MQTT topic controls how frequently the client is updated.

Using this approach from the client side is even easier than polling:

t = traeger.traeger(username, password)

for status in t.grill_status_subscription():
    print(json.dumps(status))

The only downside to using this method is that you don't get to control how frequently the updates come, so if (as in your example script) you want a slower or more consistent update frequency, using the existing get_grill_status() method is better.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant