ESP32 Bluetooth Low Energy Device

The esp32_ble_tracker binary sensor platform lets you track the presence of a bluetooth low energy device.

../../../_images/esp32_ble-ui.png
# Example configuration entry
esp32_ble_tracker:
  scan_interval: 300s

binary_sensor:
  - platform: esp32_ble_tracker
    mac_address: AC:37:43:77:5F:4C
    name: "ESP32 BLE Tracker Google Home Mini"

Configuration variables:

  • mac_address (Required, MAC Address): The MAC address to track for this binary sensor.
  • name (Required, string): The name of the binary sensor.
  • id (Optional, ID): Manually specify the ID used for code generation.
  • All other options from Binary Sensor and MQTT Component.

Setting Up Devices

To set up binary sensors for specific BLE beacons you first have to know which MAC address to track. Most devices show this screen in some setting menu. If you don’t know the MAC address, however, you can use the esp32_ble_tracker hub without any binary sensors attached and read through the logs to see discovered Bluetooth Low Energy devices.

# Example configuration entry for finding MAC addresses
esp32_ble_tracker:

After adding that to your configuration, you will need to re-flash the ESP32 over USB, as esphomeyaml needs to repartition the flash memory of the ESP in order to allow for the increased firmware size that the BLE stack requires.

Using the configuration above, first you should see a Starting scan... debug message at boot-up. Then, when a BLE device is discovered, you should see messages like Found device AC:37:43:77:5F:4C together with some information about their address type and advertised name. If you don’t see these messages, your device is unfortunately currently not supported.

Please note that devices that show a RANDOM address type in the logs cannot be used for tracking, since their MAC-address periodically changes.