Only OpenMQTT Sensors appear in Home Assistant - Missing Bluetooth Devices

Hi All. Having some trouble getting OMG working with Bluetooth and home assistant. I have an esp32 flashed via web with the ESP32_BLE firmware. Connects to wifi and the Home Assistant MQTT broker fine (I think… it’s showing up in Home Assistant with those switches to force scan etc) but no Bluetooth devices/sensors appear. I’ve connected to HA using MQTT explorer and can see there are devices showing up in the BTtoMQTT topic but they dont appear in HA. Any suggestions as to what I could check to diagnose/identify where the issue is?

Cheers!

Hi,

Do you have mqtt discovery activated in the broker configuration of home assistant?

I think so, I’ve clicked on the discovery switch to turn it on.

Do you have entities into the homeassistant topic of your broker? Send a screenshot of what you see in the broker.
Also of your broker configuration.

Well that’s the strange thing, the devices I expect to see show up in mqtt explorer (connected to the HA MQTT broker):

If the broker was misconfigured, wouldn’t it also not see the OMG?

Hi @kiwizz,

from all devices showing in MQTT Explorer there only seems to be one which is being recognised and decoded by Theengs Decoder, the Bluetooth decoder part of OpenMQTTGateway.

It is the 12th from the top, with the MAC address 1F:19:19:5B:57:F4 and it seems to be a BT beacon, from what i can tell from the cut off screen shot.

If the device you are interested in is the selected one further down it could be a BT device/sensor not yet recognised by the decoder, only showing its manufacturerdata, therefor also not being auto discovered by HA. Unless there is more information with brand and model etc. following.

Here is a link to the currently recognised and decoded devices

under the Devices menu.

What kind of device is it?

If it is not yet included in the decoder device list we could possibly add it as a new device, with your help.

Hope this clarifies things.

Hey @DigiH , I thought that could be the case. I’m trying to get the bluetooth bbq sensor readings. It’s an Inkbird ( Inkbird Cooking Bluetooth Wireless Meat Thermometer BBQ IBT2X Dual Meat Probes Temp Gauge for Kitchen Barbecue Smoker Oven Grill APP Monitor Temperature Alarm Timer Candy Jam : Amazon.com.au: Kitchen & Dining) but shows up as xBBQ (I’ve seen others where its referenced as an ‘iBBQ’)

. I’ll have a look at the theengs decoder link you to see if I can work out what’s missing. Cheers!

Does look to be supported though… Inkbird 2X BBQ | Theengs decoder decoder/IBT_2X_json.h at development · theengs/decoder · GitHub

The only difference I can see is mine says 2xs:
image

Although that also looks like the code is referencing ibbq rather than xbbq…

Yes, the Inkbird iBBQ IBT2X decoder has a condition to only recognise these BBQ thermometers if their name is “iBBQ”, unfortunately making your “xBBQ” device not being recognised.

An easy fix/addition, but there also seem to be a difference with the manufacturerdata to the “iBBQ” version.

Does your IBT2X take replicable batteries instead of having a built in USB chargeable battery? I think this might be the model difference.

Just to confirm, were the two probes’ temperatures in the above screenshot 20,7ºC for both?

Just saw your screenshot, yes, the S at the end indicates that it is an older model with replaceable batteries. There was already such a case for the IBT6X(s) :wink:

Hey @DigiH - I only had one probe in at the time of the screenshot (I can put the other in and screenshot again if that helps). It takes 2 AA replaceable batteries.

Hi @kiwizz,

I’ve just submitted a pull request to Theengs Decoder with the addition to include the IBT2XS model

If you can make your own OMG build with Platformio you can immediately try out this PR by changing the decoder URL in the platformio.ini file from

decoder = https://github.com/theengs/decoder.git#v0.3.0

to

decoder = https://github.com/theengs/decoder.git#849d688

Otherwise you might have to wait a while until this change has propagated into the prebuilt binaries.

I don’t think it’s necessary, as the temperature decodings look identical to the non S IBT2X, but thanks for offering :slight_smile:

Scratch that - I had both in! Should both read around 20/21 degrees. Where did you see the temp reading from the screenshot?

I also realised that the link to the decoder file from the device info page was faulty and fixed that as well. The correct link to the decoder file is

(without the addition from the pull request yet)

There you can see how the two temperatures are decoded from parts of the manufacturerdata

"manufacturerdata", 20, 4, true, false

means from index 20 take the 2 byte 4 hex digits (cf00 in your case) , the first true means reverse the endianness (makes it 00cf) the second false means it cannot be negative, and the post_proc /10 means divide it by 10.

so 00cf in hex is 207 in decimal, divided by 10 = 20.7ºC

If you’re interested in learning more about how the decoders work

All the best

1 Like