Skip to content

Wrap Coach: factor in grill temp, not just the probe #25

Description

@ctopherwilliams

Problem / motivation

wrap_coach.recommend() currently reasons only about the probe's own temperature/rate. In practice a probe-only view can misread what's happening — e.g. a lid-open check briefly drops the probe reading too (not just the grill), which the coach could mistake for "not rising" advice ("worth checking the fire, pellets, or lid seal") when actually nothing is wrong, it just settled again a tick later. Conversely, a genuine flame-out shows up in the grill temp (already detected separately by poll.py's check_temp_anomaly()) well before it necessarily shows in a slow-to-respond probe reading.

Proposed solution

  • Pass the grill temp/rate alongside the probe series into wrap_coach.recommend() (or a new recommend_for_probe() parameter).
  • Cross-reference: if the grill temp also dipped/recovered in the same window, treat a probe dip as a likely lid-open/read noise rather than "check the fire" advice; if the grill is genuinely low vs. its set point at the same time, that strengthens (not duplicates) the existing check_temp_anomaly() signal.
  • Keep the rule set readable — this is deliberately not ML (see wrap_coach.py's own docstring); a few more ifs cross-referencing grill data is in scope, a model is not.

Alternatives considered

Leaving grill-temp anomaly detection and probe-based coaching as fully separate signals (current state) — simpler, but produces the exact false-positive/miss described above; noted as a known limitation when Wrap Coach shipped (PR #16).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions