Skip to main content

ESPHome Bluetooth Proxy ESP32 YAML

ESPHome YAML Configuration to create an ESP32 (original Dual Core chip) Home Assistant Bluetooth Active Proxy. In layman's terms, it is a remote network attached Bluetooth adapter Home Assistant can use to communicate with Bluetooth devices. For instance, put one in your backyard to pick up temperature sensors in the pool and greenhouse; list of Bluetooth Compatible Devices

This file can be used as a base to adapt to other ESP32 Devices such as SwitchBot Outdoor Plug, ESP32 NodeMCU Dev Boards, ESP32 Power over Ethernet Boards, and more.

ESP32 WiFi YAML

substitutions:
display_name: esp32-btproxy
friendly_name: esp32-btproxy

esphome:
name: ${display_name}
friendly_name: ${friendly_name}

esp32:
board: esp32dev
framework:
type: esp-idf

# Change the WiFi config as needed
wifi:
ssid: !secret wifi_myssid
password: !secret wifi_mypass
# manual_ip:
# static_ip: !secret ip_esp32_btproxy
# gateway: !secret ip_gateway
# subnet: !secret ip_subnet
# dns1: !secret ip_dns1
ap:
ssid: ${display_name}_AP
password: !secret wifi_mypass
ap_timeout: 3min

captive_portal:
logger:
api:
ota:
platform: esphome

esp32_ble_tracker:
scan_parameters:
active: true
bluetooth_proxy:
active: true

button:
- platform: safe_mode
name: ${display_name} (Safe Mode)

ESP32 Olimex POE YAML

substitutions:
display_name: esp32poe-btproxy

esphome:
name: ${display_name}

esp32:
board: esp32-poe-iso
framework:
type: esp-idf

logger:
api:
ota:
platform: esphome

esp32_ble_tracker:
scan_parameters:
interval: 1100ms
window: 1100ms
active: true

bluetooth_proxy:
active: true

button:
- platform: safe_mode
name: ${display_name} (Safe Mode)

# Change the ethernet config to a non-static IP if needed
ethernet:
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO17_OUT
phy_addr: 0
power_pin: GPIO12
manual_ip:
static_ip: 192.168.1.21
gateway: 192.168.1.1
subnet: 255.255.255.0
dns1: 192.168.1.1

sensor:
- platform: adc
pin: GPIO39
name: ${display_name} gpio39
update_interval: 10s