Maverick BBQ Thermometer

Any grillers here?

I`ve been struggling with this for a while now and hopefully there are someone here with better coding skills than I that are interested in BBQ.

I have a Maverick ET-732 Thermometer and according to this repository you should be able to extract the temperature using python: https://github.com/BjoernSch/MaverickBBQ

It would be awesome to read the temperature in HASS from my smoker during a low & slow…

But I can´t get it to work.
I hooked up a RXB6 following @brusc tutorial and I can see that it register codes from a remote. But running the script above just gives me gibberish in debug and nothing in normal mode.

My initial plan was to send the temperature to HASS using MQTT but a HASS component for the Maverick would be even nicer.

But for now a confirmation that the above script is actually working would be great.
So, if there is anyone with a Maverick, can you please try it out?

Thanks

1 Like

Can you link to the brusc tutorial?

I know this is a very old thread, however using a esp32 with BLE and esphome, I was able to get the data from the Maverick et735. below is the yaml i used. Note that the uuid’s you will need to get using a phone app or similar to work them out for your own device as these may change. The app I used was called BLE Scanner on Android.

The Battery Sensor on mine does not seem to change at all but left it in there anyways.

Also, I added both F and C calculations, just rename the return rows to the value you want and also the Sensors unit_of_measurement to reflect the output.

  esphome:
  name: maverick-et-735-thermometer
  friendly_name: Maverick ET-735 Thermometer

esp32:
  board: esp-wrover-kit
  framework:
    #type: arduino
    type: esp-idf
    
# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "*hidden*"

ota:
  - platform: esphome
    password: "*hidden*"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

esp32_ble_tracker:
  
ble_client:
  - mac_address: *your Maverick MAC Address*
    id: marverick_et735
    auto_connect: true
    on_connect:
      then:
        - lambda: |-
            ESP_LOGD("ble_client_lambda", "Connected to BLE device");
    on_disconnect:
      then:
        - lambda: |-
            ESP_LOGD("ble_client_lambda", "Disconnected from BLE device");

sensor:
  - platform: ble_client
    type: characteristic
    ble_client_id: marverick_et735
    name: "maverick et735 battery level"
    service_uuid: '180f'
    characteristic_uuid: '2a19'
    icon: 'mdi:battery'
    unit_of_measurement: '%'
    #update_interval: 10s

  - platform: ble_client
    type: rssi
    ble_client_id: marverick_et735
    name: "Maverick et735 RSSI"

  - platform: ble_client
    type: characteristic
    ble_client_id: marverick_et735
    name: "maverick et735 Probe 1"
    service_uuid: '4E7777FB-78C4-4BC7-A8AC-3A95DCDBB041'
    characteristic_uuid: 'E73C489A-B8BB-494E-86C5-01FD7341F217'
    icon: 'mdi:thermometer'
    notify: True
    #update_interval: 10s
    lambda: |-
      const int16_t temp_val = (x[1] <<8) + x[0];
      const float temperature_fahrenheit = (temp_val -54);
      const float temperature_celsius = (((temp_val -54) -32)/1.8);
      return temperature_celsius;
    unit_of_measurement: "°C"
    device_class: temperature

  - platform: ble_client
    type: characteristic
    ble_client_id: marverick_et735
    name: "maverick et735 Probe 2"
    service_uuid: '4E7777FB-78C4-4BC7-A8AC-3A95DCDBB041'
    characteristic_uuid: '80A6C886-EAC2-489D-80DC-D264DFC210C2'
    icon: 'mdi:thermometer'
    notify: True
    #update_interval: 10s
    lambda: |-
      const int16_t temp_val2 = (x[1] <<8) + x[0];
      const float temperature_fahrenheit2 = (temp_val2 -54);
      const float temperature_celsius2 = (((temp_val2 -54) -32)/1.8);
      return temperature_celsius2;
    unit_of_measurement: "°C"
    device_class: temperature

  - platform: ble_client
    type: characteristic
    ble_client_id: marverick_et735
    name: "maverick et735 Probe 3"
    service_uuid: '4E7777FB-78C4-4BC7-A8AC-3A95DCDBB041'
    characteristic_uuid: '3E430FDD-525B-455A-8AB2-9DC9DBB15F07'
    icon: 'mdi:thermometer'
    notify: True
    #update_interval: 10s
    lambda: |-
      const int16_t temp_val3 = (x[1] <<8) + x[0];
      const float temperature_fahrenheit3 = (temp_val3 -54);
      const float temperature_celsius3 = (((temp_val3 -54) -32)/1.8);
      return temperature_celsius3;
    unit_of_measurement: "°C"
    device_class: temperature

  - platform: ble_client
    type: characteristic
    ble_client_id: marverick_et735
    name: "maverick et735 Probe 4"
    service_uuid: '4E7777FB-78C4-4BC7-A8AC-3A95DCDBB041'
    characteristic_uuid: '43536D93-8BD6-451D-8F2E-C54B0516FE8B'
    icon: 'mdi:thermometer'
    notify: True
    #update_interval: 10s
    lambda: |-
      const int16_t temp_val4 = (x[1] <<8) + x[0];
      const float temperature_fahrenheit4 = (temp_val4 -54);
      const float temperature_celsius4 = (((temp_val4 -54) -32)/1.8);
      return temperature_celsius4;
    unit_of_measurement: "°C"
    device_class: temperature