Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add simple support for iterator-based event subscription #1

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

kgutwin
Copy link

@kgutwin kgutwin commented Jun 8, 2021

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