Last active
February 19, 2026 15:09
-
-
Save MatsA/6817e13a21a514dde1c34c4c327d2418 to your computer and use it in GitHub Desktop.
ESPHome Bluetooth proxy, ESP32-C3, Home Assistant
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ## Blogpost https://pysselilivet.blogspot.com/2026/02/homeassistant-esphome-creating.html | |
| esphome: | |
| name: bt-proxy | |
| friendly_name: Bluetooth Proxy | |
| min_version: 2025.8.0 | |
| name_add_mac_suffix: true | |
| on_boot: | |
| priority: 600 | |
| then: | |
| - light.turn_on: | |
| id: status_rgb | |
| red: 100% | |
| green: 0% | |
| blue: 0% | |
| brightness: 50% | |
| esp32: | |
| # board: esp32-c3-devkitm-1 | |
| variant: esp32c3 | |
| framework: | |
| type: esp-idf | |
| sdkconfig_options: | |
| CONFIG_BT_BLE_42_FEATURES_SUPPORTED: y | |
| CONFIG_BT_BLE_50_FEATURES_SUPPORTED: n | |
| wifi: | |
| ssid: !secret wifi_ssid | |
| password: !secret wifi_password | |
| reboot_timeout: 15min | |
| api: | |
| reboot_timeout: 15min | |
| logger: | |
| ota: | |
| - platform: esphome | |
| id: ota_esphome | |
| esp32_ble_tracker: | |
| scan_parameters: | |
| # We currently use the defaults to ensure Bluetooth | |
| # can co-exist with WiFi In the future we may be able to | |
| # enable the built-in coexistence logic in ESP-IDF | |
| active: true | |
| on_ble_advertise: | |
| then: | |
| - if: | |
| condition: | |
| not: | |
| script.is_running: ble_blink_script | |
| then: | |
| - script.execute: ble_blink_script | |
| bluetooth_proxy: | |
| active: true | |
| button: | |
| - platform: safe_mode | |
| id: button_safe_mode | |
| name: Safe Mode Boot | |
| - platform: factory_reset | |
| id: factory_reset_btn | |
| name: Factory reset | |
| light: | |
| - platform: esp32_rmt_led_strip | |
| id: status_rgb | |
| rgb_order: RGB | |
| pin: GPIO10 | |
| num_leds: 1 | |
| chipset: WS2812 | |
| name: "Built-in RGB LED" | |
| icon: mdi:led-off | |
| sensor: | |
| - platform: uptime | |
| name: "Uptime" | |
| id: uptime_sensor | |
| update_interval: 60s | |
| - platform: wifi_signal | |
| name: "WiFi Signal" | |
| update_interval: 60s | |
| script: | |
| - id: ble_blink_script | |
| mode: single | |
| then: | |
| - if: | |
| condition: | |
| wifi.connected: | |
| then: | |
| - light.turn_on: | |
| id: status_rgb | |
| red: 0% | |
| green: 0% | |
| blue: 100% | |
| brightness: 80% | |
| transition_length: 0s | |
| - delay: 200ms | |
| - light.turn_on: | |
| id: status_rgb | |
| red: 0% | |
| green: 100% | |
| blue: 0% | |
| brightness: 50% | |
| transition_length: 0s | |
| - delay: 9.8s |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment