57 lines
1.2 KiB
YAML
57 lines
1.2 KiB
YAML
# Remember to enable HA API (api.yaml) for the proxy to be available.
|
|
|
|
esp32:
|
|
# Required for BLE.
|
|
framework:
|
|
type: esp-idf
|
|
|
|
packages:
|
|
# Allow HomeAssistant to use the proxy.
|
|
api: !include api.yaml
|
|
|
|
globals:
|
|
- id: ble_scans
|
|
type: int
|
|
restore_value: no
|
|
initial_value: '0'
|
|
|
|
esp32_ble_tracker:
|
|
scan_parameters:
|
|
# Recommended scan intervals for esphome.
|
|
interval: 1100ms
|
|
window: 1100ms
|
|
active: true
|
|
on_scan_end:
|
|
- then:
|
|
- sensor.template.publish:
|
|
id: ble_scans_finished
|
|
state: !lambda 'return ++id(ble_scans);'
|
|
- script.execute: restart_after_delay
|
|
|
|
bluetooth_proxy:
|
|
id: btproxy
|
|
active: true
|
|
connection_slots: 4 # recommended limit for ESP32 Ethernet
|
|
|
|
esp32_ble:
|
|
max_connections: 4
|
|
|
|
script:
|
|
- id: restart_after_delay
|
|
mode: restart
|
|
then:
|
|
- delay: 15min
|
|
- logger.log:
|
|
level: ERROR
|
|
format: "No recent successful Bluetooth scan, restarting ESP chip"
|
|
- button.press: restart_button
|
|
|
|
sensor:
|
|
- platform: template
|
|
name: "BLE scans finished"
|
|
id: ble_scans_finished
|
|
state_class: "total_increasing"
|
|
accuracy_decimals: 0
|
|
entity_category: diagnostic
|
|
icon: "mdi:bluetooth-settings"
|