Inkbird IBT-6XS BBQ thermometer connection

Hi,

I was looking for a solution to connect my Inkbird IBT-6XS BBQ thermometer and I found this docker container, which enabled me connect it via MQTT.
Please note that I didn’t succeed to have connection to the BBQ Go android app while the docker container is running.

  1. The procedure to install the docker container is nicely described in the git repository. However before composing the docker container, one should modify the environmental variables with the ones suitable for the MQTT broker running at your location and the Bluetooth MAC address of your device and the units. The readme file doesn’t mention that the Bluetooth MAC address can be retrieved by executing:

    $ sudo hcitool lescan

    which should return all BT devices that are detected. You need to look for the device named iBBQ

  2. Your things configuration file should look something like this (note that yourInkbirdMACAddress should be entered without the “:”):

     Bridge mqtt:broker:yourMQTTBrokerBridge [ host="xxx.xxx.xxx.x", username="yourMQTTBrokerUsername", password="yourMQTTBrokerPassword" ]
     {
         Thing mqtt:topic:InkbirdBBQ     "BBQ thermometer"    {
             Channels:
                 Type number : chProbe1  "BBQ Temperature"  [ stateTopic="inkbird/yourInkbirdMACAddress/Probe1", transformationPattern="JSONPATH:$.temperature" ]
                 Type number : chProbe2  "Probe 2"          [ stateTopic="inkbird/yourInkbirdMACAddress/Probe2", transformationPattern="JSONPATH:$.temperature" ]
                 Type number : chProbe3  "Probe 3"          [ stateTopic="inkbird/yourInkbirdMACAddress/Probe3", transformationPattern="JSONPATH:$.temperature" ]
                 Type number : chProbe4  "Probe 4"          [ stateTopic="inkbird/yourInkbirdMACAddress/Probe4", transformationPattern="JSONPATH:$.temperature" ]
                 Type number : chProbe5  "Probe 5"          [ stateTopic="inkbird/yourInkbirdMACAddress/Probe5", transformationPattern="JSONPATH:$.temperature" ]
                 Type number : chProbe6  "Probe 6"          [ stateTopic="inkbird/yourInkbirdMACAddress/Probe6", transformationPattern="JSONPATH:$.temperature" ]                   
         }
     }
    
  3. Your items file should look something like this:

     Number:Temperature   BBQTemperature   "BBQ Temperature [%.0f °C]"   <temperature> (grpBBQ)   ["Measurement", "Temperature"]   {channel="mqtt:topic:InkbirdBBQ:chProbe1"}
     Number:Temperature   BBQProbe2        "BBQ Probe 2 [%.0f °C]"       <temperature> (grpBBQ)   ["Measurement", "Temperature"]   {channel="mqtt:topic:InkbirdBBQ:chProbe2"}
     Number:Temperature   BBQProbe3        "BBQ Probe 3 [%.0f °C]"       <temperature> (grpBBQ)   ["Measurement", "Temperature"]   {channel="mqtt:topic:InkbirdBBQ:chProbe3"}
     Number:Temperature   BBQProbe4        "BBQ Probe 4 [%.0f °C]"       <temperature> (grpBBQ)   ["Measurement", "Temperature"]   {channel="mqtt:topic:InkbirdBBQ:chProbe4"}
     Number:Temperature   BBQProbe5        "BBQ Probe 5 [%.0f °C]"       <temperature> (grpBBQ)   ["Measurement", "Temperature"]   {channel="mqtt:topic:InkbirdBBQ:chProbe5"}
     Number:Temperature   BBQProbe6        "BBQ Probe 6 [%.0f °C]"       <temperature> (grpBBQ)   ["Measurement", "Temperature"]   {channel="mqtt:topic:InkbirdBBQ:chProbe6"}
    
  4. I created 3 extra items that I plan to use as limits which trigger announcements via my Google assistant device (however I am not at that point yet).

I hope this saves sole time to somebody.

Hi
Really happy someone else has been trying to use their inkbird for automation. I am a massive noob to the whole process. Could you please help me understand how to get this working? I have been trial and erroring my way through everything so far. I understand you are probably busy so I would even really appreciate being pointed in the right direction for things to read?
So where I’m at:
I have an rpi and through some playing around I managed to run the file you linked with my inkbirds details. Where does it store things? do I need to do more? I am really not familiar with MQTT apart from what I have read online in the past few days (a lot of theory).
thank you for posting and I hope I can learn what to do to get this running
Zac

Hi Zac,
You need to have a MQTT broker running on your Pi. I have installed mine via the openhab-config however this broker can be on other device. The broker normally requires authentication which you need to enter in the docker-compose file that you downloaded from the GitHub link. After entering the MQTT details, I believe easiest is to remove your old docker container and rebuild it again.

It doesn’t, it subscribes to your MQTT broker and publishes the results to it. You can see the status and the updates of your broker by using some MQTT client.
I never managed to connect the BBQ thermometer to 2 devices (I don’ t get why) so before you start make sure that the thermometer is not connected to anything (you could see the connection status on the thermometer display something like this: (((*))) ). So:

  1. power up the thermometer, make sure is not connected to anything and restart the docker container. If you have the MAC address right it should connect to the thermometer and you will see the connected led appear on it.
  2. download some MQTT client and connect to your broker, you should see the thermometer subscribed to it (I use MQTT explorer). You should be able to see something like this 5try holding the probes in your hand to trigger temperature change, the MQTT is only updated upon change)

  1. If this all works then you need to edit your things and item files as explained in my first post.

Note:
I experienced that after having the thermometer off for some time, I need to restart the docker container to be able to connect again (and sometimes also power cycle the thermometer)

You are a beautiful human! thank you so much for your help! You have no idea how long I have spent trying to get this working! Sorry I didn’t get back to you right away but I really wanted to give it a good crack before hassling you again. If you know how I will send you a coffee for sure! (sorry all I can afford right now but think you definitely deserve something)
I have it working now but need to do more reading to understand why it works rather than just running it all and not understanding how it works. I don’t fully understand dockers and how I can just run it and have it work, where is it stored on my rpi? is it running like a shell? so I have been over complicating things.
Also because I was using home assistant as the main OS for my rpi initially and its like ios, sooo restrictive. I have swapped to raspbian and it all makes more sense now.

For anyone else looking I only have the inkbird with the 2 probes, I removed the other 4 probes from DarkoG’s post above and it works perfectly.

Hi
Can I run the docker on the same oh box or I need to run it on other device with BT ?

I run it on the rPi on which my opehhabian is running, no issues so far

There is a way to make the docker container always running and restart if it crashes. I do not know much about docker I had to google for solutions, I can’t remember the right steps

Anyone tried this on ubuntu amd64 rather than a PI?
Seems the docker image, even though he has a manfiests for amd64 etc, the base build is arm32v7/python

Edit. So I needed a lot of hacking around to get this to work in amd, and then found my bluetooth didnt work. One thing I didn;t like about it though was that you couldn’t use the app with this connected So I found this one instead: https://github.com/gleeds/cloudbbq

It can also connect to it, doesn’t give the battery level, but the app still works at the same time.

If interested I can post my things files and the docker config for this latest container.

Because I can, I have it in homekit.

Yes please, if you could post your things files it would be amazing! I am still struggling but in saying that, I’m a huge noob so I’ve been learning heaps trying to get this working. Really appreciate the offer and any tips you can throw my way

For information, Inkbird IBT-6XS is integrated into Theengs Gateway among a lot of other devices if you use a Raspberry Pi, Unix or Windows. Also if you prefer ESP32 you can use OpenMQTTGateway}

It will publish the sensor data to an MQTT broker, you can create things to retrieve the data, here is the process:
In paper UI

  • In bindings add the MQTT Things binding

  • Inbox > MQTT Things binding > Add manualy >MQTT Broker : configure your borker

  • Inbox > MQTT Things binding > Add manualy >Generic MQTT Thing : select your previously configured broker as a bridge and enter your thing definition (example RF plug, weather station, PIR sensor)

  • Configuration > Things > “Your thing” : click on + and add one channel for each thing parameter (example for a weather station, you will have one channel for the temperature, one channel for the humidity etc…)

  • For a state channel define the MQTT topic like this:
    home/+/BTtoMQTT/CXXXXXXXXXXX
    CXXXXXXXXXXX being your sensor MAC address

  • And add in “Incoming values transformation”

JSONPATH:$.tempc1

  • Click on Save
  • Repeat for each channels and each things
1 Like