Presence detection, BLE, mi flora, RF gateway with ESP32, OpenMQTTGateway is now compatible

Great work!!!

I’ve successfully linked the code to my maverick thermometers which feed through rtl_sdr into MQTT so it was an easy change. When I get a chance (or maybe someone else will contribute), I’m going to add some buttons on the lovelace panel to set the gauge colors and ranges for “low and slow” (225F) and “Poultry”(350F). Of course, in the meantime, I’ll just create two lovelace views, one for low and slow, the other for poultry…but having it all on one is more elegant.

Then, I’m going to try to add “time til done” estimation. If I know how long it takes for the temperature of my probe to raise the termperature 1 degree…and I know how far I am from the target temperature, then it’s simple arithmetic. It’s a general projection, but close enough to warn folks when dinner might be ready.

You should not need yaml configuration, here is the option to activate on your broker integration:

I am not sure if that yaml is leftover from the ring integration and no longer needed or needed :slight_smile:
Guess I could remark it out or look at ring again, but it is working.I do have that enabled for new entities but this OMG did not show up until I changed home/

Just none of my business, but 2271 devices? Do you have each pixel on an led strip connected ? grin> Am I missing out on something exciting?


BTW, so sad. Amazon failed again. Maybe I will get the inkbird tomorrow

Lol, I got the Ibeacon detected and they have random mac address. This now filtered with the last OMG version.
So now you can see the device corresponding to OMG?

sorry I have company and was away. Yes I get the OMG entry ‘BT’
I never did get the INKBIRD. Reordered, maybe tomorrow
Happy Fathers Day !

1 Like

I have OpenMQTTGateway running on a esp32. Have the inkbird IBT-2x white-listed to only show that. HA is discovering sensors. But still not showing any temperature values at all. Not seeing anything in devices or entities. Had similar issues with esphome as well.

First any app need to be disconnected from the sensor.

If you are disconnected, could you access your mqtt broker with mqtt explorer to check the messages that you have?

Also as an alternative you can install Theengs Gateway as an add on

If you don’t see the sensor in mqtt explorer and with Theengs gateway we will take a look to the advertizement messages with a scan from Nrf connect.

Same issue here, i’ve had to change iBBQ to xBBQ to get it discovered by ESPhome. Both probes are showing 0.

if (x.get_name() != "xBBQ") return;
[23:04:09][I][ble_adv:048]: New BLE device
[23:04:09][I][ble_adv:049]:   address: D4:79:00:00:03:A4
[23:04:09][I][ble_adv:050]:   name: xBBQ
[23:04:09][I][ble_adv:051]:   Advertised service UUIDs:
[23:04:09][I][ble_adv:054]:     - 0xFFF0
[23:04:09][I][ble_adv:057]:   Advertised service data:
[23:04:09][I][ble_adv:063]:   Advertised manufacturer data:
[23:04:09][I][ble_adv:066]:     - 0x0001: (00.08.A4. (12))
[23:04:15][D][sensor:125]: 'iBBQ Temperature Probe 1': Sending state 0.00000 °C with 0 decimals of accuracy
[23:04:28][D][sensor:125]: 'iBBQ Temperature Probe 2': Sending state 0.00000 °C with 0 decimals of accuracy

my nrf scanner shows xBBQ also
so where do you change frfm iBBq to xBBQ to get it in HA?


Thanks, we already fixed this in Theengs Decoder in May.
Theengs gateway already includes the fix. I will release a new version of OpenMQTTGateway that will include it (the development branch has already the fix)

Thanks, I will have to wait for the web installer :slight_smile:

I ran across some code for esphome. So you would flash that instead of openMQTTgateway?

can you share your code?

New version available below with xBBQ name as a criteria:

1 Like

This is what i curently use

  name: esp32_ble_tracker
  platform: ESP32
  board: esp-wrover-kit
    priority: -10
      - lambda: |-

  - id: timer
      - delay: 60s
      - lambda: |-
  broker: *
  port: *
  username: *
  password: * 
  ssid: '*'
  password: '*'

# Enable logging

    - mac_address: D4:79:00:00:03:A4 
        - script.stop: timer
        - lambda: |-
            if (x.get_name() != "xBBQ") return;
            ESP_LOGI("ble_adv", "New BLE device");
            ESP_LOGI("ble_adv", "  address: %s", x.address_str().c_str());
            ESP_LOGI("ble_adv", "  name: %s", x.get_name().c_str());
            ESP_LOGI("ble_adv", "  Advertised service UUIDs:");
            for (auto uuid : x.get_service_uuids()) {
              ESP_LOGI("ble_adv", "    - %s", uuid.to_string().c_str());
            ESP_LOGI("ble_adv", "  Advertised service data:");
            for (auto data : x.get_service_datas()) {
              ESP_LOGI("ble_adv", "    - %s: (length %i)", data.uuid.to_string().c_str(),;
            ESP_LOGI("ble_adv", "  Advertised manufacturer data:");
            for (auto data : x.get_manufacturer_datas()) {
              ESP_LOGI("ble_adv", "    - %s: (%s)", data.uuid.to_string().c_str(), format_hex_pretty(;
              if (data.uuid.contains(0, 0)) {
                int probe0 = ([9] << 8) +[8];
                int probe1 = ([11] << 8) +[10];
                ESP_LOGI("ble_data", "    - %f %f", probe0 / 10.0, probe1 / 10.0);
                if (probe0 < 60000) {
                  id(ble_sensor_1).publish_state(probe0 / 10.0);
                } else {
                if (probe1 < 60000) {
                  id(ble_sensor_2).publish_state(probe1 / 10.0);
                } else {
        - script.execute: timer
  - platform: xiaomi_lywsdcgq
    mac_address: 58:2D:34:31:B3:9A
      name: "Dnevna MiJia Temperature"
      name: "Dnevna MiJia Humidity"
      name: "Dnevna MiJia Battery Level"
  - platform: template
    name: "iBBQ Temperature Probe 1"
    id: ble_sensor_1
    unit_of_measurement: "°C"
    accuracy_decimals: 0
  - platform: template
    name: "iBBQ Temperature Probe 2"
    id: ble_sensor_2
    unit_of_measurement: "°C"
    accuracy_decimals: 0
1 Like


works great!


Great, happy BBQ!

v0.9.15 is out:

New sensors:


Full Changelog: v0.9.14…v0.9.15

1 Like

Thanks, it fixed the issue with random InkBird temps

1 Like

An exciting release V1.0.0 for OpenMQTTGateway, with 3 major changes:

  • @NorthernMan54 added the support of the HELTEC LORA 32 V2/V2.1 433Mhz with RTL_433 :signal_strength:. Isn’t it huge?:partying_face:
    No need to solder or check pins. Just upload heltec-rtl_433 from the web upload to the board, and you will benefit from the most powerful 433mhz library decoding, RTL_433 , we support Pulse Position Modulation (OOK_PPM) and Pulse Width Modulation (OOK_PWM) as a start (this is 80 decoders🙂).
    A great way to pick up weather stations, sensors, door bells… the list of compatible devices is huge. Feel free to share your feedback in the forum.
  • Added to the 433mhz, @DigiH did a huge work on the Bluetooth decoder, adding many new devices and improving the existing ones!
    The decoder now supports more than 55 devices!
    You can enjoy this changes with OpenMQTTGateway, but also with the TheengsGateway, the Theengs App will be updated soon.
    Note that Theengs Gateway can also work with OpenMQTTGateway as satellites/proxies. See our MQTTtoMQTT function implemented in June in OMG.
  • Thanks to @BadWolf42, we can now persist the BLE configuration to don’t rely only on the broker-retained values

And plenty of other changes thanks to the help of our contributors.

What’s Changed

New BLE devices and changes:

Devices Model Measurements
Amazfit Smart Watch/Band steps, activity heart rate (when activated in the Zepp Life settings)
ClearGrass CGG1 multi firmware support PVVX-ATC
Hydractiva Digital Amphiro/Oras sessions/time/litres/temperature/energy
April Brother ABTemp uuid/mfid/major/txpower @ 1 m/temperature/battery
April Brother N03 temperature/humidity/luminance/battery
ClearGrass Clock LYWSD02 temperature/humidity/battery
Oria/Brifit/SigmaWit/SensorPro TH Sensor temperature/humidity/battery
Qingping CGPR1 presence/luminance/battery
Qingping CGDN1 temperature/humidity/PM2.5/PM10/carbon dioxide
RDL52832 mfid/uuid/minor/major/txpower @ 1 m/temperature/humidity/acceleration
RBaron b-parasite moisture/temperature/humidity/luminance (v1.1.0+)/voltage
SmartDry Laundry Sensor temperature/humidity/shake/voltage/wake
Switchbot Motion Sensor movement/light level/sensing distance/led/scope tested/battery
Switchbot Contact Sensor contact/movement/scope tested/light level/battery
Switchbot Curtain motion state/position/light level/battery/calibration state
Thermobeacon WS02 temperature/humidity/voltage/timestamp/maximum temperature/maximum temperature timestamp/minimum temperature/minimum temperature timestamp
Thermobeacon WS08 temperature/humidity/voltage/timestamp/maximum temperature/maximum temperature timestamp/minimum temperature/minimum temperature timestamp
ThermoPro TP357 temperature/humidity
ThermoPro TP358 temperature/humidity
ThermoPro TP359 temperature/humidity
Oria/Brifit/SigmaWit/SensorPro TH Sensor temperature/humidity/battery
Otio/BeeWi Door & Window Sensor contact/battery

Features and fixes:


New Contributors

Full Changelog: v0.9.16…v1.0.0


OpenMQTTGateway V1.2.0 released!

What’s Changed

This one is huge. More boards supported, more devices, and some exciting changes to make your life easier :confetti_ball:
The auto-discovery is seeing new improvements to have better control of the gateway, but in particular, it now supports RTL_433 ESP32 !!
So with one binary flash in less than 5 minutes, you can retrieve your 433Mhz sensors, and OMG will automatically create the devices into your favorite Home Automation controller.
Here is an example with a 433Mhz weather station WS2032:

Added to this, you can also see the RTL_433 sensor messages on the screen. Thanks @NorthernMan54 .

We also reached a significant milestone of the Theengs Decoder with V1.0.0 thanks to @DigiH, more than 70 BLE devices supported :rocket:
New boards:

New BLE devices and changes:

Devices Model Measurements
BlueMaestro TempoDisc 1 in 1 temperature/battery
BlueMaestro TempoDisc 4 in 1 temperature/humidity/pressure/battery
ClearGrass alarm clock CGD1 temperature/humidity/battery
ClearGrass alarm clock CGC1 temperature/humidity/battery
GOVEE H5074 temperature/humidity/battery
GOVEE H5101 temperature/humidity/battery
GOVEE H5106 PM2.5/temperature/humidity/battery
GOVEE H5174 temperature/humidity/battery
GOVEE H5177 temperature/humidity/battery
Oria/Brifit/SigmaWit/SensorPro TH Sensor T301 temperature/humidity/battery
Mopeka Pro temperature/level/sync status/voltage/battery/reading quality
Sensirion MyCO₂/CO₂ Gadget temperature/humidity/carbon dioxide
Sensirion SHT4X TH sensor temperature/humidity
ThermoPro TP393 temperature/humidity


  • [HA Discovery] - Transform switch discovery to button when relevant by @1technophile in #1356
  • [HA Discovery] - Add numbers for interval and scans netween connects by @1technophile in #1357
  • [HA Discovery] Save the BLE settings and change switch to optimistic false by @1technophile in #1364
  • [HA Discovery] Remove auto discovery switch by @1technophile in #1365
  • [BREAKING] Add RTL_433 discovery with Home Assistant convention by @1technophile in #1379 , if you add sensor for RTL_433 OMG you will have to update your topic structure as it changed with this PR.




New Contributors

Full Changelog: v1.1.1…v1.2.0