BLE Sensors in Home Assistant: Xiaomi vs Govee (Setup, Reliability, Dashboards, and Fixing Dropouts)

BLE temperature/humidity sensors are one of the cheapest “high impact” upgrades you can add to Home Assistant. You can scatter them everywhere:

  • Bedrooms
  • Living room
  • Baby room
  • Bathroom (humidity spikes)
  • Closet / storage
  • Garage / shed (if covered by a proxy)

But people run into the same problem:

“It works for a day, then stops updating.”

This article shows how to do BLE sensors properly using ESP32 Bluetooth Proxies, with a practical comparison of Xiaomi/Mijia and Govee BLE sensors, plus the design patterns that make them stable long-term.


1. The Two Families: Xiaomi vs Govee (What’s the real difference?)

Xiaomi / Mijia BLE sensors (popular models)

  • Usually very low power and cheap
  • Good temperature/humidity stability
  • Widely used in HA
  • Many models broadcast in a predictable way (easy to pick up by proxies)

Typical strengths

  • Battery life is strong
  • Great for “lots of rooms”

Typical weaknesses

  • Some models have slower advertising intervals (updates feel less “live”)
  • Some versions need the right integration path to decode properly

Govee BLE sensors (popular models)

  • Often advertise more frequently
  • Can feel more responsive for graphs
  • Some models expose extra metrics (depending on product)

Typical strengths

  • Fast updates and “smooth graphs”
  • Good range in many houses

Typical weaknesses

  • Some models are more sensitive to RF placement
  • Battery life varies by model (some are great, some average)

The truth: both can be excellent—if your BLE proxy network is designed properly.


2. The Real Requirement: ESP32 Bluetooth Proxies

If you rely on one proxy at the other end of the house, you’ll get random “unavailable” updates and blame the sensor.

A stable setup is:

  • 1 proxy per floor minimum
  • Preferably 1 proxy near clusters of BLE sensors

Placement rules:

  • Chest height or higher
  • Not in a cabinet
  • Not next to a fridge/metal rack
  • Not pressed against a Wi-Fi router

If you already followed the proxy network guide, you’re 80% done.


3. Adding BLE Sensors to Home Assistant

There are multiple ways HA can ingest BLE sensors. The cleanest path is:

  1. Add ESP32 Bluetooth Proxy devices (ESPHome)
  2. Put BLE sensor batteries in
  3. Let Home Assistant discover them
  4. Add the integration that matches the brand/model

3.1 ESPHome proxy YAML (minimal)

bluetooth_proxy:
  active: true

Once the proxy is online, HA can “hear” BLE devices across the house.


4. The Most Common BLE Sensor Problem: Dropouts

Why dropouts happen

  • BLE is 2.4 GHz, like Wi-Fi → congestion affects both
  • Walls and metal reflect/absorb signals
  • Some sensors advertise less often (feels like it “stopped”)
  • Phone/tablet Bluetooth is irrelevant here—proxies matter

The fix is always one of:

  • Move the proxy
  • Add a proxy
  • Reduce 2.4 GHz chaos
  • Add timeouts and smoothing in HA

Not “restart Home Assistant every week”.


5. Making BLE Sensors “Stable” in Home Assistant

Even with perfect RF, you should treat BLE data as “occasionally missing packets”. The correct HA pattern is:

  • Don’t use raw sensor values directly for decisions
  • Use “last updated” / “seen recently” logic
  • Apply smoothing (statistics sensor) for noisy signals

5.1 Create a “sensor is alive” binary sensor

If your BLE sensor exposes an entity that updates regularly, create:

template:
  - binary_sensor:
      - name: "Bedroom BLE Sensor Alive"
        state: >
          {{ (as_timestamp(now()) - as_timestamp(states.sensor.bedroom_temperature.last_changed)) < 600 }}

This says: it’s alive if it updated in the last 10 minutes.

If it goes false, you know it’s coverage—not that your room is suddenly -999°C.


6. Smoothing: Better Graphs, Better Automations

Humidity especially can be spiky. Use a rolling mean:

6.1 Statistics sensor (rolling mean)

Create a Statistics helper in UI, or YAML:

sensor:
  - platform: statistics
    name: "Bathroom Humidity Mean 5min"
    entity_id: sensor.bathroom_humidity
    state_characteristic: mean
    max_age:
      minutes: 5

Then drive automations from the mean, not raw spikes.


7. Dashboards That Actually Help

7.1 Whole-house comfort dashboard layout

A practical dashboard:

  • One card per room
  • Show temperature + humidity + a “comfort status”

Example entities card:

type: entities
title: Bedroom
entities:
  - sensor.bedroom_temperature
  - sensor.bedroom_humidity
  - binary_sensor.bedroom_ble_sensor_alive

Do this for each room.

7.2 Add “dew point” (useful for condensation/mold risk)

Once you have temp + humidity, you can compute dew point and show it. That’s a great SEO-friendly add-on and genuinely useful.


8. Bathroom Fan Automation (Best real use case)

BLE humidity sensors shine in bathrooms.

Use:

  • humidity rise rate, not absolute humidity
  • cooldown timer
  • manual override

(You already have a bathroom fan article—BLE sensors are the perfect sensor source for it.)


9. Xiaomi vs Govee: Which to pick?

Pick Xiaomi/Mijia if:

  • You want lots of sensors for cheap
  • You care about battery life and “set and forget”
  • You’re okay with slightly slower update cadence

Pick Govee if:

  • You want faster updates / smoother graphs
  • You don’t mind paying a bit more
  • You want a more “responsive” feel

The real answer:

If your proxy network is weak, both will feel unreliable.
If your proxy network is solid, both will be excellent.


10. Troubleshooting Checklist (fast)

  • Is there a proxy within reasonable range of the sensor?
  • Is the proxy placed high and not blocked by metal?
  • Is 2.4 GHz Wi-Fi overloaded? (IoT devices + neighbors)
  • Does the sensor update at least every few minutes?
  • Add a “sensor alive” binary sensor to separate RF issues from sensor faults
  • Add smoothing for humidity and for room-presence RSSI logic

Summary

BLE sensors are cheap, local, and perfect for Home Assistant—but only if you treat them like RF devices:

  • Build a solid Bluetooth Proxy network
  • Expect occasional missed packets and design around it
  • Add “alive” checks and smoothing
  • Then build dashboards and automations that feel stable

Do that, and you’ll end up with a whole-house comfort map that’s genuinely useful—and not another “it worked yesterday” smart-home headache.

Share your love

Newsletter Updates

Enter your email address below and subscribe to our newsletter

Leave a Reply

Your email address will not be published. Required fields are marked *