-
Notifications
You must be signed in to change notification settings - Fork 23
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
Alerts for grill reaching target temperature, and probe reaching target temperature #37
Comments
Alternatively (and I think this would be much easier to implement), we could use the hvac_action to describe this. This is different from the hvac_mode in that it describes the current action versus the general mode. We could return HVAC_MODE_HEATING when igniting/preheating, but then return HVAC_MODE_IDLE when the grill is actually at temp. HVAC_MODE_COOLING, and HVAC_MODE_OFF would follow the existing logic for hvac_mode. In this case, you could simply set a trigger for if the hvac_action ever goes to HVAC_MODE_IDLE to know when the grill or probe reach their target temperature. Grill Climate Logic
Probe Climate Logic
|
Sorry to spam this thread, I just keep coming up with different ways to tackle this and I'm not sure which is best. Are custom state attributes on the climate entity an option too? Or are you limited to the defined attributes of the climate entity? I can't seem to find an answer to that in the developer docs. If that's an option, a well named custom state attribute may be more self explanatory than the solution proposed above. |
Custom Attr do seem to be allowed within a climate class. See climate.py for reference. Each option suggested does seem to be of possibility. In the end, my vote would be for I do currently use Node-Red for elapsed timer and probe target detection. Then Traeger sends me a push noti of preheat achieved. Additional suggestion for the preheat Happy to help, collaborate or validate if you need. |
While the main thrust of your original idea is already implemented for me, yesterday I suffered a grease fire because I failed to clean out the traps like I should have before cooking 20lbs of chicken. Your quoted idea of utilizing the This request may require it to be a different issue, but I think the idea is sound. Why the Traeger app doesn't have this built in I have no idea. Yesterday my target temp was 325F and the grill probe was reading 440 when I got out to combat the grease fire. =( |
One additional thing on the probe actual temp >= target temp. If I remember correctly, Traeger reverts the target temp back to 0 once the temp is achieved. |
I like the idea of a sensor that returns multiple state values based on different scenarios. I think this allows me to set triggers for when I reach my target temp as well as giving the option of triggering for excessive heat in a grease fire scenario. Here would be my proposed states and what I think they should mean. Thoughts?
|
Yeah, I think you're right. I'm going to start with the heating state first, but I'll keep this in mind when I get to the probe state. |
For the state, it looks good. Maybe add pre-heat to match Traeger app till 160F? For the probe there are 2 mqtt json entries that may already deliver what the intent is:
I wouldn't say the probe needs all the other things the base climate entity needs. So for me, hookup:
|
I like that. I went ahead and made it 165°F since that's the min_temp. Below is the full table of what I've tried to implement. Now to get something on the grill and verify that it does what I expect.
How do we feel about these states for the probe state sensor?
|
For the |
I'll have to monitor while cooking, but are you thinking the probe_alarm_fired is only going to report that in one message, then return to 0? |
No, I misinterpreted what you were thinking. I thought you were going to try and use |
My hope was that it would behave in the way you described. Below is my (untested) logic for the state. I'm using the alarm for
|
The nested So, for your code it'll need a latch for alarm and un-latch if the probe is disconnected or the setpoint is changed. |
Noted. Made an update to latch probe_alarm_fired and I'll do some testing tonight. Funny that you mention it. Looks like the new Timberline has 2 probe connections. In favor of supporting that going forward, it may make sense to include some of the similar logic from climate.py that actually sets up probes based on the nested entities instead of looking at the top level entities. |
I've added the sensors here and done a little bit of testing. Any feedback or help testing would be appreciated. Is it still expected that everything lints with Black? When I passed in the custom_components directory, there were a lot of changes that were unrelated to the code I changed. |
I don't think I understand the question:
lines? There are some lines that show up as improperly nested. But has always been like that. I did a pull and tested with your feature(s). I left one error in the commit comments and another state for consideration. |
Per the contribution guidelines...
When I run black on the code, it changes a lot. |
I responded to your comments in line. I fixed the one variable reference and added the "fell_out" state (please correct my thinking if my stated assumptions are not correct). I'll put that through one more cook of testing and submit a pull request if everything works as expected. |
I'll take the blame on that. I didn't have Black installed and was using the standard The added coding/fixes looks good to me. |
Is your feature request related to a problem? Please describe.
My phone is on silent and I always miss the Traeger app alerts. I'd love to be able to trigger my Google Home's to verbally alert me when the grill/probe reach their target temps.
Describe the solution you'd like
Describe alternatives you've considered
I've considered implementing a template sensor outside of the integration, but feel other people might find it useful as well.
Additional context
I'm willing to look at implementing the code for this, I just wanted to toss out the idea first to get some feedback and see if others think it would generally be useful. Or if you have already figured out an easier way to achieve this with the existing code.
Additionally, I think the logic presented above would add better functionality than the Traeger app itself. There are times when I smoke at 225 for a while, then I bump up the temp to 500 to sear. The Traeger app only sends one notification when the grill first gets to 225. When I up the temp to 500, it never tells me when it gets there because it's already "preheated".
The text was updated successfully, but these errors were encountered: