Wer ein Haus besitzt mit mehreren Etagen, der kennt das Problem, die einfachen Bluetooth Geräte werden über mehrere Etagen nicht mehr erkannt. Bei mir sind es einfache Thermometer, die ich per Bluetooth auslese und in Home Assistant eingebunden habe.
Diese Thermometer sind für wenige Euro zu erhalten. Bei mir wurden die Thermometer im Dachgeschoss aber nicht mehr vom Home Assistent gefunden und konnten nicht mehr ausgelesen werden.
Ein Bluetooth-Proxy kann auch benutzt werden, wenn die Home Assistant Hardware selbst keine Bluetooth Unterstützung hat.
Für die Realisierung habe ich mir ein ESP32-Entwicklerboard besorgt, dass ich mit ESPHome zum Bluetooth Proxy gemacht habe. Das Board muss für das initiale Aufspielen der Firmware per USB mit dem Home Assistant Rechner, oder dem Rechner, auf dem du die Home Assistant Oberfläche geöffnet hast, verbunden sein. Für weitere Korrekturen an der Firmware kann dann die bestehende WiFi-Verbindung genommen werden. Cool, damit musst du den Microcontroller nicht mehr lokal anschließen. Der Vorteil eines Entwicklerboards ist, dass es einen USB-Anschluss hat.
Dann mal los! Das Board an den Rechner anschließen, an dem du gerade Home Assistant bedienst. Wenn das Board von deinem Rechner nicht erkannt wird, schau mal hier, dann fehlt dir der passende Treiber. Im Home Assistant unter ESPHome auf den Button „New Device“ gehen. In dem nächsten Dialog wird der Name für das neuen Devices vergeben und dann versucht ESPHome den Typ des Boards zu erkennen und erstellt automatisch die passende Firmware und installiert sie. Die folgenden Schritte erscheinen und zum Ende ist das neu Board mit der Basis Firmware ausgestattet. Jetzt müssen wir nur noch die Logik auf das Board bringen um den BlueTooth-Proxy einzurichten.
Die benötigte Konfiguration, den YAML-Code, finden wir auf der ESPHome Webseite unter: https://esphome.io/components/bluetooth_proxy.html
Von dort kopieren wir den Teil, der für den Bluetooth-Proxy ist und kopieren es in unsere Board Konfiguration
esp32_ble_tracker:
scan_parameters:
interval: 1100ms
window: 1100ms
active: true
bluetooth_proxy:
active: true
Um den Stromverbrauch des ESP-Boards noch zu senken, schicke ich den ESP noch für 3 Minuten in den DeepSleep-Modus
deep_sleep:
run_duration: 310s
sleep_duration: 180sec
In Home Assistent ESPHome klicken wir dann auf EDIT bei unserem Board und kopieren den Code am Ende des YAML-Scripts ein. Da das Board jetzt per WiFi verbunden ist, können wir die neue Konfiguration speichern und dann über das WLAN installieren.
Das war alles, so einfach ist ein ESP-Board als BlueTooth-Proxy installiert und in Home Assistant eingebunden.
Und seitdem ich den Bluetooth-Proxy bei uns im 1.OG laufen habe, erreiche ich zuverlässlich meine Bluetooth Geräte auch im Dachgeschoss.
Hallo Guido, Dein Beitrag finde ich super. Leider Suche ich „seit längerer Zeit“, nach einer Anleitung, wie man „überhaupt“ Bluetooth Geräte im HA einbindet. Mein Handykap…
leider kann ich nicht Englisch, und bin auf Deutsche Anleitung angewiesen.
Kannst Du… Bitte helfen?
Bin sicher, das es viele von uns interessiert.
Vielen Dank im Voraus
Bohu
Hallo Bohu,
ich habe mal eine Seite zum Thema Bluetooth erstellt. Ich hoffe ich kann damit etwas Licht in das Thema bringen.
Viele Grüße
Guido
Hallo,
ich habe das Problem, dass von meinem EspHome BT-Proxie keine BT-Geräte im HA angezeigt werden. Im EspHome wird ein Scan ausgeführt, aber auch dort werden keine BT-Geräte angezeigt.
Was kann ich machen? Hier mal ein Auszug des Logs:
INFO ESPHome 2024.7.3
INFO Reading configuration /config/esphome/esp32-bluetooth-proxy-5c60b4.yaml…
INFO Starting log output from 192.168.178.84 using esphome API
INFO Successfully connected to esp32-bluetooth-proxy-5c60b4 @ 192.168.178.84 in 0.039s
INFO Successful handshake with esp32-bluetooth-proxy-5c60b4 @ 192.168.178.84 in 0.125s
[10:24:19][I][app:100]: ESPHome version 2024.7.3 compiled on Aug 18 2024, 10:16:00
[10:24:20][C][wifi:599]: WiFi:
[10:24:20][C][wifi:427]: Local MAC: D0:EF:76:5C:60:B4
[10:24:20][C][wifi:432]: SSID: [redacted]
[10:24:20][C][wifi:435]: IP Address: 192.168.178.84
[10:24:20][C][wifi:439]: BSSID: [redacted]
[10:24:20][C][wifi:440]: Hostname: ‚esp32-bluetooth-proxy-5c60b4‘
[10:24:20][C][wifi:442]: Signal strength: -52 dB ▂▄▆█
[10:24:20][C][wifi:446]: Channel: 6
[10:24:20][C][wifi:447]: Subnet: 255.255.255.0
[10:24:20][C][wifi:448]: Gateway: 192.168.178.1
[10:24:20][C][wifi:449]: DNS1: 192.168.178.1
[10:24:20][C][wifi:450]: DNS2: 0.0.0.0
[10:24:20][C][logger:185]: Logger:
[10:24:20][C][logger:186]: Level: DEBUG
[10:24:20][C][logger:188]: Log Baud Rate: 115200
[10:24:20][C][logger:189]: Hardware UART: UART0
[10:24:20][C][factory_reset.button:011]: Factory Reset Button ‚Factory reset‘
[10:24:20][C][factory_reset.button:011]: Icon: ‚mdi:restart-alert‘
[10:24:20][C][esp32_ble:383]: ESP32 BLE:
[10:24:20][C][esp32_ble:385]: MAC address: D0:EF:76:5C:60:B6
[10:24:20][C][esp32_ble:386]: IO Capability: none
[10:24:20][C][esp32_ble_tracker:653]: BLE Tracker:
[10:24:20][C][esp32_ble_tracker:654]: Scan Duration: 300 s
[10:24:20][C][esp32_ble_tracker:655]: Scan Interval: 320.0 ms
[10:24:20][C][esp32_ble_tracker:656]: Scan Window: 30.0 ms
[10:24:20][C][esp32_ble_tracker:657]: Scan Type: ACTIVE
[10:24:20][C][esp32_ble_tracker:658]: Continuous Scanning: True
[10:24:20][C][mdns:116]: mDNS:
[10:24:20][C][mdns:117]: Hostname: esp32-bluetooth-proxy-5c60b4
[10:24:20][C][esphome.ota:073]: Over-The-Air updates:
[10:24:20][C][esphome.ota:074]: Address: esp32-bluetooth-proxy-5c60b4.local:3232
[10:24:20][C][esphome.ota:075]: Version: 2
[10:24:20][C][safe_mode:018]: Safe Mode:
[10:24:20][C][safe_mode:020]: Boot considered successful after 60 seconds
[10:24:20][C][safe_mode:021]: Invoke after 10 boot attempts
[10:24:20][C][safe_mode:023]: Remain in safe mode for 300 seconds
[10:24:20][C][api:139]: API Server:
[10:24:20][C][api:140]: Address: esp32-bluetooth-proxy-5c60b4.local:6053
[10:24:20][C][api:142]: Using noise encryption: YES
[10:27:22][D][esp32_ble_tracker:270]: Starting scan…
[10:32:22][D][esp32_ble_tracker:270]: Starting scan…
[10:37:22][D][esp32_ble_tracker:270]: Starting scan…
Das Log hat ja erst mal keine Fehler. Werden die Geräte denn am Handy erkannt? Und hat der HA Server selber einen BT-Stick? Dann müsste der HA Server die Geräte auch erkennen, wenn sie in der Nähe sind.
Hi, mich interessiert sowas auch aber kannst du ein ESP32-Entwicklerboard eventuell mitsamt schicken Gehäuse empfehlen? Wie wird so was mit Strom versorgt? Gibt es die Möglichkeit sowas per POE zu versorgen? Dann wäre das ja universell platzierbar.
Ich verwende ganz kleine Boards, die können kein POE und ich versorge die über den USB-Anschluss mit Strom. Dafür reicht irgendein uraltes USB-Netzteil. Es gibt bei Amazon einige Gehäuse, aber ich verstecke meine meistens ohne Gehäuse. Ein wirklich gutes Gehäause habe ich leider auch noch nicht gefunden.