Hi,
I have this config. I moved things around so the things (I think) are relevant are close to the top.
substitutions:
max_temp: "70" # °C
action_single_text: single
action_double_text: double
max_ble_connections: "5"
devicename: "keller-flur-flurlicht"
esphome:
name: ${devicename}
friendly_name: "Keller Flurlicht"
platformio_options:
board_build.f_cpu: 160000000L
esp32:
board: esp32-c3-devkitm-1
flash_size: 8MB
framework:
type: esp-idf
version: recommended
sdkconfig_options:
COMPILER_OPTIMIZATION_SIZE: y
CONFIG_FREERTOS_UNICORE: y
CONFIG_ESP32_DEFAULT_CPU_FREQ_160: y
CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ: "160"
CONFIG_ESP_TASK_WDT_TIMEOUT_S: "20"
#CONFIG_BT_BLE_50_FEATURES_SUPPORTED: y
#CONFIG_BT_BLE_42_FEATURES_SUPPORTED: y
wifi:
ssid: !secret wifi_iot_ssid
password: !secret wifi_iot_password
fast_connect: true #required for hidden ssids
reboot_timeout: 10min
logger:
level: VERBOSE
esp32_ble_tracker:
id: ble_tracker
#max_connections: $max_ble_connections
scan_parameters:
continuous: false
interval: 211ms
window: 120ms
bluetooth_proxy:
#connection_slots: $max_ble_connections
#active: true
debug:
update_interval: 5s
text_sensor:
- platform: debug
device:
name: "Device Info"
reset_reason:
name: "Reset Reason"
- platform: ble_scanner
name: "BLE Devices Scanner"
# Enable Home Assistant API
api:
encryption:
key: !secret ha_api_key
ota:
- platform: esphome
password: !secret esphome_ota_password
time:
- platform: homeassistant
safe_mode:
button:
- platform: safe_mode
id: safe_mode_button
name: "(Safe Mode)"
sensor:
- platform: ntc
sensor: temp_resistance_reading
name: Internal Temperature
id: internal_temperature
unit_of_measurement: "°C"
accuracy_decimals: 1
icon: "mdi:thermometer"
calibration:
b_constant: 3350
reference_resistance: 10kOhm
reference_temperature: 298.15K
on_value:
then:
- if:
condition:
- sensor.in_range:
id: internal_temperature
above: ${max_temp}
then:
- switch.turn_off:
id: relay
- logger.log: "Switch turned off because temperature exceeded ${max_temp}°C"
on_value_range:
- above: ${max_temp}
then:
- logger.log: "Temperature exceeded ${max_temp}°C"
- platform: resistance
id: temp_resistance_reading
sensor: temp_analog_reading
configuration: DOWNSTREAM
resistor: 10kOhm
- platform: adc
id: temp_analog_reading
pin: GPIO3
attenuation: 12db
output:
- platform: gpio
id: "relay_output"
pin: 7
switch:
- platform: output
id: "relay"
name: Relay
output: "relay_output"
restore_mode: restore_default_off
#wallswitch turned into a binary sensor (push button switch)
#https://github.com/esphome/issues/issues/2825
binary_sensor:
- platform: gpio
name: Wallswitch
pin: 10
filters:
- delayed_on: 50ms
internal: true
id: wallswitch
on_state:
then:
- binary_sensor.template.publish:
id: wallswitch_clicker
state: ON
- delay: 100ms
- binary_sensor.template.publish:
id: wallswitch_clicker
state: OFF
- platform: template
id: wallswitch_clicker
on_multi_click:
- timing:
- ON for at most 0.2s
- OFF for at least 0.3s
then:
- logger.log: "Single Click"
- if:
condition:
and:
- wifi.connected:
- api.connected:
# send single click event in case wifi and api are conncected
then:
- homeassistant.event:
event: esphome.button_pressed
data:
click: ${action_single_text}
device_name: ${devicename}
else:
- switch.toggle: relay
- timing:
- ON for at most 0.2s
- OFF for at most 0.3s
- ON for at most 0.2s
- OFF for at least 0.3s
then:
- logger.log: "Double Click"
- if:
condition:
and:
- wifi.connected:
- api.connected:
# send double click event in case wifi and api are conncected
then:
- homeassistant.event:
event: esphome.button_pressed
data:
click: ${action_double_text}
device_name: ${devicename}
- platform: gpio
name: "Reset Button"
pin:
number: 1
inverted: yes
mode:
input: true
pullup: true
status_led:
pin:
number: 0
inverted: true`
I’m expecting this to print all the bluetooth advertisements it finds (I would like to use them with bermuda (bluetooth tracking).
But the log says
[16:58:08.632][I][app:185]: ESPHome version 2025.9.1 compiled on Oct 9 2025, 16:57:41
[16:58:08.635][C][status_led:018]: Status LED:
[16:58:08.637][C][status_led:019]: Pin: GPIO0
[16:58:08.647][C][wifi:661]: WiFi:
[16:58:08.652][C][wifi:444]: Local MAC: E4:B0:63:E0:BF:84
[16:58:08.652][C][wifi:449]: SSID: [redacted]
[16:58:08.655][C][wifi:452]: IP Address: 10.1.103.80
[16:58:08.659][C][wifi:456]: BSSID: [redacted]
[16:58:08.659][C][wifi:456]: Hostname: 'keller-flur-flurlicht'
[16:58:08.659][C][wifi:456]: Signal strength: -68 dB ▂▄▆█
[16:58:08.662][C][wifi:467]: Channel: 6
[16:58:08.662][C][wifi:467]: Subnet: 255.255.255.0
[16:58:08.662][C][wifi:467]: Gateway: 10.1.103.1
[16:58:08.662][C][wifi:467]: DNS1: 10.1.99.2
[16:58:08.662][C][wifi:467]: DNS2: 10.1.99.3
[16:58:08.666][C][logger:273]: Logger:
[16:58:08.666][C][logger:273]: Max Level: VERBOSE
[16:58:08.666][C][logger:273]: Initial Level: VERBOSE
[16:58:08.670][C][logger:279]: Log Baud Rate: 115200
[16:58:08.670][C][logger:279]: Hardware UART: USB_SERIAL_JTAG
[16:58:08.671][C][logger:286]: Task Log Buffer Size: 768
[16:58:08.690][C][gpio.output:010]: Binary Output:
[16:58:08.693][C][gpio.output:011]: Pin: GPIO7
[16:58:08.730][C][template.binary_sensor:016]: Template Binary Sensor 'wallswitch_clicker'
[16:58:08.734][C][gpio.binary_sensor:016]: GPIO Binary Sensor 'Reset Button'
[16:58:08.736][C][gpio.binary_sensor:072]: Pin: GPIO1
[16:58:08.739][C][gpio.binary_sensor:073]: Mode: interrupt
[16:58:08.742][C][gpio.binary_sensor:075]: Interrupt Type: ANY_EDGE
[16:58:08.767][C][gpio.binary_sensor:016]: GPIO Binary Sensor 'Wallswitch'
[16:58:08.769][C][gpio.binary_sensor:072]: Pin: GPIO10
[16:58:08.773][C][gpio.binary_sensor:073]: Mode: interrupt
[16:58:08.775][C][gpio.binary_sensor:075]: Interrupt Type: ANY_EDGE
[16:58:08.779][C][output.switch:087]: Output Switch 'Relay'
[16:58:08.779][C][output.switch:087]: Restore Mode: restore defaults to OFF
[16:58:08.797][C][ble_scanner:011]: BLE Scanner 'BLE Devices Scanner'
[16:58:08.800][C][homeassistant.time:010]: Home Assistant Time:
[16:58:08.800][C][homeassistant.time:010]: Timezone: 'UTC0'
[16:58:08.815][C][bluetooth_proxy:123]: Bluetooth Proxy:
[16:58:08.815][C][bluetooth_proxy:123]: Active: YES
[16:58:08.815][C][bluetooth_proxy:123]: Connections: 3
[16:58:08.819][C][safe_mode.button:015]: Safe Mode Button '(Safe Mode)'
[16:58:08.821][C][safe_mode.button:018]: Icon: 'mdi:restart-alert'
[16:58:08.836][C][resistance:015]: Resistance Sensor 'temp_resistance_reading'
[16:58:08.836][C][resistance:015]: State Class: 'measurement'
[16:58:08.836][C][resistance:015]: Unit of Measurement: 'Ω'
[16:58:08.836][C][resistance:015]: Accuracy Decimals: 1
[16:58:08.838][C][resistance:029]: Icon: 'mdi:flash'
[16:58:08.842][C][resistance:011]: Configuration: DOWNSTREAM
[16:58:08.842][C][resistance:011]: Resistor: 10000.00Ω
[16:58:08.842][C][resistance:011]: Reference Voltage: 3.3V
[16:58:08.845][C][adc.esp32:015]: ADC Sensor 'temp_analog_reading'
[16:58:08.845][C][adc.esp32:015]: State Class: 'measurement'
[16:58:08.845][C][adc.esp32:015]: Unit of Measurement: 'V'
[16:58:08.845][C][adc.esp32:015]: Accuracy Decimals: 2
[16:58:08.848][C][adc.esp32:025]: Device Class: 'voltage'
[16:58:08.851][C][adc.esp32:122]: Pin: GPIO3
[16:58:08.857][C][adc.esp32:123]: Channel: 3
[16:58:08.857][C][adc.esp32:123]: Unit: ADC1
[16:58:08.857][C][adc.esp32:123]: Attenuation: 12 dB
[16:58:08.857][C][adc.esp32:123]: Samples: 1
[16:58:08.857][C][adc.esp32:123]: Sampling mode: average
[16:58:08.858][C][adc.esp32:133]: Setup Status:
[16:58:08.858][C][adc.esp32:133]: Handle Init: OK
[16:58:08.858][C][adc.esp32:133]: Config: OK
[16:58:08.858][C][adc.esp32:133]: Calibration: OK
[16:58:08.858][C][adc.esp32:133]: Overall Init: OK
[16:58:08.860][C][adc.esp32:352]: Update Interval: 60.0s
[16:58:08.864][C][ntc:015]: NTC Sensor 'Internal Temperature'
[16:58:08.864][C][ntc:015]: State Class: 'measurement'
[16:58:08.864][C][ntc:015]: Unit of Measurement: '°C'
[16:58:08.864][C][ntc:015]: Accuracy Decimals: 1
[16:58:08.867][C][ntc:025]: Device Class: 'temperature'
[16:58:08.869][C][ntc:029]: Icon: 'mdi:thermometer'
[16:58:08.880][C][esp32_ble:523]: BLE:
[16:58:08.880][C][esp32_ble:523]: MAC address: E4:B0:63:E0:BF:86
[16:58:08.880][C][esp32_ble:523]: IO Capability: none
[16:58:08.889][C][esp32_ble_tracker:619]: BLE Tracker:
[16:58:08.893][C][esp32_ble_tracker:620]: Scan Duration: 300 s
[16:58:08.893][C][esp32_ble_tracker:620]: Scan Interval: 210.6 ms
[16:58:08.893][C][esp32_ble_tracker:620]: Scan Window: 120.0 ms
[16:58:08.893][C][esp32_ble_tracker:620]: Scan Type: ACTIVE
[16:58:08.893][C][esp32_ble_tracker:620]: Continuous Scanning: NO
[16:58:08.895][C][esp32_ble_tracker:628]: Scanner State: IDLE
[16:58:08.901][C][esp32_ble_tracker:629]: Connecting: 0, discovered: 0, disconnecting: 0
[16:58:08.902][C][bluetooth_proxy.connection:091]: BLE Connection:
[16:58:08.905][C][esp32_ble_client:078]: Address:
[16:58:08.905][C][esp32_ble_client:078]: Auto-Connect: FALSE
[16:58:08.907][C][esp32_ble_client:082]: State: IDLE
[16:58:08.918][C][bluetooth_proxy.connection:091]: BLE Connection:
[16:58:08.920][C][esp32_ble_client:078]: Address:
[16:58:08.920][C][esp32_ble_client:078]: Auto-Connect: FALSE
[16:58:08.923][C][esp32_ble_client:082]: State: IDLE
[16:58:08.926][C][bluetooth_proxy.connection:091]: BLE Connection:
[16:58:08.931][C][esp32_ble_client:078]: Address:
[16:58:08.931][C][esp32_ble_client:078]: Auto-Connect: FALSE
[16:58:08.933][C][esp32_ble_client:082]: State: IDLE
[16:58:08.939][C][esphome.ota:075]: Over-The-Air updates:
[16:58:08.939][C][esphome.ota:075]: Address: keller-flur-flurlicht.local:3232
[16:58:08.939][C][esphome.ota:075]: Version: 2
[16:58:08.942][C][esphome.ota:082]: Password configured
[16:58:08.945][D][api:144]: Accept 10.1.101.164
[16:58:08.949][C][safe_mode:018]: Safe Mode:
[16:58:08.949][C][safe_mode:018]: Successful after: 60s
[16:58:08.949][C][safe_mode:018]: Invoke after: 10 attempts
[16:58:08.949][C][safe_mode:018]: Duration: 300s
[16:58:08.997][V][api.connection:1369]: Hello from client: 'Home Assistant 2025.9.3' | 10.1.101.164 | API Version 1.12
[16:58:09.001][D][api.connection:1353]: Home Assistant 2025.9.3 (10.1.101.164) connected
[16:58:09.010][D][time:061]: Synchronized time: 2025-10-09 14:58:09
[16:58:09.018][W][component:443]: api took a long time for an operation (64 ms)
[16:58:09.020][W][component:446]: Components should block for at most 30 ms
[16:58:09.023][C][api:205]: Server:
[16:58:09.023][C][api:205]: Address: keller-flur-flurlicht.local:6053
[16:58:09.027][C][api:210]: Noise encryption: YES
[16:58:09.040][C][mdns:213]: mDNS:
[16:58:09.040][C][mdns:213]: Hostname: keller-flur-flurlicht
[16:58:09.046][C][debug:018]: Debug component:
[16:58:09.048][C][debug:020]: Device info 'Device Info'
[16:58:09.051][C][debug:020]: Icon: 'mdi:chip'
[16:58:09.053][D][debug:033]: ESPHome version 2025.9.1
[16:58:09.057][D][debug:037]: Free Heap Size: 80428 bytes
[16:58:09.065][D][debug:182]: Chip: Model=ESP32-C3, Features=2.4GHz WiFi, BLE, Cores=1, Revision=4
[16:58:09.065][D][debug:191]: CPU Frequency: 160 MHz
[16:58:09.065][D][debug:199]: Framework: ESP-IDF
[16:58:09.068][D][debug:206]: ESP-IDF Version: 5.4.2
[16:58:09.070][D][debug:211]: EFuse MAC: E4:B0:63:E0:BF:84
[16:58:09.074][D][debug:079]: Reset Reason: Reboot request from esphome.ota
[16:58:09.076][D][debug:107]: Wakeup Reason: undefined
[16:58:09.082][V][text_sensor:015]: 'Device Info': Received new state 2025.9.1|Chip: ESP32-C3 Features:2.4GHz WiFi, BLE, Cores:1 Revision:4|CPU Frequency: 160 MHz|Framework: ESP-IDF|ESP-IDF: 5.4.2|EFuse MAC: E4:B0:63:E0:BF:84|Reset: Reboot request from esphome.ota|Wakeup: undefined
[16:58:09.085][D][text_sensor:069]: 'Device Info': Sending state '2025.9.1|Chip: ESP32-C3 Features:2.4GHz WiFi, BLE, Cores:1 Revision:4|CPU Frequency: 160 MHz|Framework: ESP-IDF|ESP-IDF: 5.4.2|EFuse MAC: E4:B0:63:E0:BF:84|Reset: Reboot request from esphome.ota|Wakeup: undefined'
[16:58:09.089][D][debug:079]: Reset Reason: Reboot request from esphome.ota
[16:58:09.092][V][text_sensor:015]: 'Reset Reason': Received new state Reboot request from esphome.ota
[16:58:09.095][D][text_sensor:069]: 'Reset Reason': Sending state 'Reboot request from esphome.ota'
[16:58:09.098][C][debug:112]: Partition table:
[16:58:09.098][C][debug:112]: Name Type Subtype Address Size
[16:58:09.101][C][debug:119]: otadata 1 0 0x00009000 0x00002000
[16:58:09.105][C][debug:119]: phy_init 1 1 0x0000B000 0x00001000
[16:58:09.106][C][debug:119]: app0 0 16 0x00010000 0x003C0000
[16:58:09.109][C][debug:119]: app1 0 17 0x003D0000 0x003C0000
[16:58:09.112][C][debug:119]: nvs 1 2 0x00790000 0x0006D000
INFO Processing unexpected disconnect from ESPHome API for keller-flur-flurlicht @ 10.1.103.80
WARNING Disconnected from API
INFO Successfully resolved keller-flur-flurlicht @ 10.1.103.80 in 0.000s
INFO Successfully connected to keller-flur-flurlicht @ 10.1.103.80 in 0.002s
INFO Successful handshake with keller-flur-flurlicht @ 10.1.103.80 in 0.055s
[16:59:42.415][D][api:144]: Accept 10.1.101.164
[16:59:42.464][V][api.connection:1369]: Hello from client: 'Home Assistant 2025.9.3' | 10.1.
So it doesn’t see any bluetooth devices (I don’t want it to connect to them, I just want to see whats sending out bluetooth data. My phone and my headset are on.
The device is a shelly mini gen3, in case that makes a difference.
So, is my assumption wrong and this isn’t how that is supposed to work: What should I do?
Thanks!