Skip to content

Instantly share code, notes, and snippets.

@felix-kolbe
Created January 16, 2026 00:15
Show Gist options
  • Select an option

  • Save felix-kolbe/321416f58f2fc38b9ee02475f3812d2e to your computer and use it in GitHub Desktop.

Select an option

Save felix-kolbe/321416f58f2fc38b9ee02475f3812d2e to your computer and use it in GitHub Desktop.
Minimal configuration for ESPHome-based Bluetooth Proxy to connect BLE devices to Home Assistant on RasPi
esphome:
name: bluetoothproxy
esp32:
board: az-delivery-devkit-v4
framework:
type: esp-idf
logger:
network:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
min_auth_mode: WPA2
api:
bluetooth_proxy:
active: true
esp32_ble_tracker:
scan_parameters:
active: true
# on_ble_advertise:
# # - mac_address:
# # - XX:XX:XX:XX:XX:XX
# # - XX:XX:XX:XX:XX:XX
# then:
# - lambda: |-
# ESP_LOGD("ble_adv", "New BLE device");
# ESP_LOGD("ble_adv", " address: %s", x.address_str().c_str());
# ESP_LOGD("ble_adv", " name: %s", x.get_name().c_str());
# ESP_LOGD("ble_adv", " Advertised service UUIDs:");
# for (auto uuid : x.get_service_uuids()) {
# ESP_LOGD("ble_adv", " - %s", uuid.to_string().c_str());
# }
# ESP_LOGD("ble_adv", " Advertised service data:");
# for (auto data : x.get_service_datas()) {
# ESP_LOGD("ble_adv", " - %s: (length %i)", data.uuid.to_string().c_str(), data.data.size());
# }
# ESP_LOGD("ble_adv", " Advertised manufacturer data:");
# for (auto data : x.get_manufacturer_datas()) {
# ESP_LOGD("ble_adv", " - %s: (length %i)", data.uuid.to_string().c_str(), data.data.size());
# }
# on_ble_service_data_advertise:
# - service_uuid: 181A
# then:
# - lambda: 'id(ble_sensor).publish_state(x[0]);'
# sensor:
# - platform: template
# name: "BLE Sensor"
# id: ble_sensor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment