Smoking a Turkey with Prometheus, Home Assistant, and Grafana
2021 Nov 27
For the past several years I have smoked a turkey for Thanksgiving and every year my wife incessantly asks me the same question: “when will the turkey be ready?” Despite her importunate requests, my answer is always the same: “I don’t know.” This year I have been working to get myself closer to an estimate.
A few years ago I purchased a BBQ Guru. Even though I could rely on my methods to take my cooks through the night I couldn’t shake the uneasy feeling that things could go wrong in the middle of the night so my nights were still restless. BBQ Guru measures internal temperature of the grill and blows air onto the fire when necessary to maintain the ambient temperature. Unfortunately, I did not opt for the WiFi enabled Guru so I kept my TP20. This gave me alarms and a remote with the TP20, and ambient temperature control with the Guru. However, I still couldn’t answer my wife’s question.
I run an elaborate, private IoT system at home using Home Assistant (I have over 50 devices, 30 automations). I decided to look up the frequencies used by the TP20 and I discovered that it was using the 433.92 MHz ISM band. After some digging I found this USB dongle and this GitHub repository. As it turns out, you can capture and decode the RF signals broadcast by the TP20 pretty easily (thanks to merbanan).
I hooked up the dongle to a Raspberry Pi that I had laying around and within a few minutes I had captured and printed temperatures to the command line. That repository also contains python scripts to relay the data to an MQTT server, to be picked up by Home Assistant. One systemd unit file later, the data showed up in Home Assistant. Home Assistant has Prometheus integration built in, so to export the sensors I only needed a simple change to my configuration.yaml.
For now my dashboard is pretty simple (screenshots below). It has the current temperatures (grill and meat) and a linear predicted temperature (that is, it predicts what the temperature will be 1h from now, given the past 30 minutes of data). Now, when my wife asks me when the turkey will be done I can give a more accurate estimate using the same software I use to alert me when disks are running low on space.
All in all this cost me about $25 for the USB Dongle and roughly 30 minutes of time (not including shipping). MQTT, Home Assistant, Prometheus, and Grafana are already part of my Home Lab. I have owned the TP20 and BBQ Guru for some years now. Eventually I may replace everything with a HeaterMeter, but for now everything works with minimal effort.