These files provide ESPHome to Home Assitant integration of Thermoworks' Smoke® Remote BBQ Alarm Thermometer. I use this integration to get Smoke temperature data into Home Assistant dashboard without Smoke® Gateway (Wi-Fi bridge).
- nRF24L01 Transceiver Module
- ESPHome capable microcontroller (e.g. ESP-12F D1 or ESP8266)
- Wire up nRF24L01 to microcontroller (there are plenty of tutorials out there, here is one example)
- Find RADIO_ID - this is the tricky part and will require some trial and error, use provided Smoke_NRF24_Address.ino Arduino sketch to scan for Smoke transmissions. You might want to try changing channels to 40 and 70. If valid transmission is found then address of that transmission along with decoded temperature data is printed out.
- Update Smoke_Receiver.h with the appropriate values for your address as well as your pinouts.
- Copy Smoke_Receiver.h to /homeassistant/esphome
- Create ESPHome integration (use provided esp-smoke.yaml for guidance)
- Setup dashboard in Home Assitant (I used ApexCharts Card for graphs)
Below is an example of ApexCharts Card configuration
type: custom:apexcharts-card
graph_span: 8h
header:
show: true
title: Smoke Temperature Last 8 Hour
show_states: true
colorize_states: true
all_series_config:
stroke_width: 4
apex_config:
dataLabels:
enabled: true
yaxis:
- max: 300
min: 30
apex_config:
tickAmount: 9
series:
- entity: sensor.esp_smoke_smoke_probe_1_min_alarm
stroke_width: 1.5
color: '#FA6057'
opacity: 0.5
curve: stepline
- entity: sensor.esp_smoke_smoke_probe_1_temperature
color: '#AD1007'
- entity: sensor.esp_smoke_smoke_probe_1_max_alarm
stroke_width: 1.5
color: '#FA6057'
opacity: 0.5
curve: stepline
- entity: sensor.esp_smoke_smoke_probe_2_min_alarm
stroke_width: 1.5
color: '#75FFAA'
opacity: 0.5
curve: stepline
- entity: sensor.esp_smoke_smoke_probe_2_temperature
color: '#15AD4F'
- entity: sensor.esp_smoke_smoke_probe_2_max_alarm
stroke_width: 1.5
color: '#75FFAA'
opacity: 0.5
curve: stepline
And the result looks something like this:
I found all these resources helpful in putting this together: