ESP8266Home Assistant

ESP32 Bluetooth Proxy für Home Assistant einrichten

Bluetooth-Geräte lassen sich inzwischen sehr gut in Home Assistant integrieren. Ein Problem bleibt allerdings häufig die Reichweite. Steht der Home-Assistant-Server im Keller, Technikraum oder auf einem NAS, erreichen Bluetooth-Signale aus anderen Stockwerken den Server oft nicht zuverlässig.

Eine einfache Lösung ist ein ESP32 Bluetooth Proxy für Home Assistant. Ein kleiner ESP32 wird dort aufgestellt, wo Bluetooth-Empfang benötigt wird. Er empfängt Bluetooth-Low-Energy-Signale und leitet sie über WLAN an Home Assistant weiter.

Besonders praktisch ist das bei Bluetooth-Thermometern, SwitchBot-Geräten, Xiaomi-Sensoren, BTHome-Geräten und vielen weiteren BLE-Produkten. Mehrere ESP32-Proxies können außerdem gleichzeitig verwendet werden und so verschiedene Räume oder Stockwerke abdecken.

Hinweis: Dieser Artikel enthält Affiliate-Links. Wenn du darüber etwas kaufst, erhalte ich eine kleine Provision. Für dich ändert sich der Preis dadurch nicht.

Was ist ein ESP32 Bluetooth Proxy?

Ein Bluetooth Proxy ist vereinfacht ein ausgelagerter Bluetooth-Empfänger für Home Assistant. Der ESP32 hört auf Bluetooth-Signale in seiner Umgebung und überträgt die Informationen über das Netzwerk an Home Assistant.

Home Assistant behandelt diese ESPHome-Geräte als zusätzliche Bluetooth-Scanner. Dadurch spielt es für die eigentliche Integration kaum eine Rolle, ob ein Gerät vom Bluetooth-Adapter am Home-Assistant-Server oder von einem ESP32 im Wohnzimmer empfangen wird.

Wichtig ist allerdings: Der ESPHome Bluetooth Proxy arbeitet mit Bluetooth Low Energy, kurz BLE. Klassische Bluetooth-Geräte wie Kopfhörer oder Lautsprecher werden darüber nicht eingebunden.

Wann lohnt sich ein Bluetooth Proxy?

Bei einem Raspberry Pi, der zentral im Wohnbereich steht, reicht dessen integriertes Bluetooth manchmal bereits aus. In vielen Installationen steht Home Assistant allerdings an einem ziemlich ungünstigen Ort.

  • Home Assistant läuft auf Proxmox im Keller.
  • Home Assistant läuft auf einer Synology NAS.
  • Der Server steht in einem Netzwerkschrank.
  • Bluetooth-Geräte befinden sich auf mehreren Etagen.
  • USB-Passthrough in einer virtuellen Maschine bereitet Probleme.
  • Bluetooth-Sensoren werden nur sporadisch erkannt.

In solchen Situationen kann ein ESP32 für wenige Euro an einer strategisch guten Stelle montiert werden.

Home Assistant weist in seiner eigenen Bluetooth-Dokumentation darauf hin, dass ein ESP32 Bluetooth Proxy gerade bei virtualisierten Installationen interessant ist, weil damit Probleme rund um USB-Passthrough vermieden werden können.

Welche Hardware brauchen wir?

Für einen einfachen Bluetooth Proxy braucht es erstaunlich wenig Hardware.

  • ESP32 Development Board
  • USB-Kabel
  • USB-Netzteil
  • WLAN am gewünschten Standort
  • Home Assistant mit ESPHome

Für diesen Einsatzzweck reicht ein klassischer ESP32 vollkommen aus. ESPHome bezeichnet den ursprünglichen ESP32 weiterhin als besonders ausgereift und sehr gut unterstützt.

Wer mehrere Räume abdecken möchte, kann direkt einen Mehrfachpack kaufen. Ein Proxy pro Stockwerk oder Gebäudebereich kann bei größeren Wohnungen und Häusern sinnvoll sein.

Schritt 1: ESPHome öffnen

In Home Assistant öffnest du zunächst ESPHome. Falls ESPHome bereits eingerichtet ist, kannst du direkt ein neues Gerät anlegen.

  1. ESPHome öffnen.
  2. Auf New Device beziehungsweise Neues Gerät klicken.
  3. Einen Namen vergeben, beispielsweise Bluetooth Proxy Wohnzimmer.
  4. Das verwendete ESP32-Board auswählen.
  5. Die Grundkonfiguration erstellen lassen.

ESPHome erzeugt dabei bereits die grundlegende Konfiguration für WLAN, Home-Assistant-API und OTA-Updates.

Schritt 2: ESP32 erstmals flashen

Beim ersten Mal muss die ESPHome-Firmware per USB auf den ESP32 übertragen werden. Dazu wird das Board per Datenkabel mit dem Computer verbunden.

Nach der ersten erfolgreichen Installation verbindet sich der ESP32 mit dem WLAN. Spätere ESPHome-Updates können anschließend drahtlos per OTA durchgeführt werden.

Falls der ESP32 beim Flashen nicht erkannt wird, lohnt sich zuerst ein anderes USB-Kabel. Viele günstige Kabel eignen sich ausschließlich zum Laden und besitzen keine Datenleitungen.

Schritt 3: Bluetooth Proxy in ESPHome aktivieren

Jetzt kommt der entscheidende Teil. Öffne die YAML-Konfiguration des neuen ESP32 und ergänze folgende Einträge:

esp32_ble_tracker:

bluetooth_proxy:
  active: true

Der esp32_ble_tracker aktiviert die Bluetooth-Low-Energy-Erkennung des ESP32. Mit bluetooth_proxy werden die gefundenen Geräte für Home Assistant verfügbar gemacht.

active: true erlaubt dem Proxy zusätzlich aktive Verbindungen zu Bluetooth-Geräten. Das wird bei Geräten benötigt, mit denen Home Assistant kommunizieren muss, statt lediglich deren ausgesendete Daten zu empfangen.

Beispiel für eine komplette ESPHome-Konfiguration

Eine vereinfachte Konfiguration könnte beispielsweise so aussehen:

esphome:
  name: bluetooth-proxy-wohnzimmer
  friendly_name: Bluetooth Proxy Wohnzimmer

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

logger:

api:

ota:
  - platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

esp32_ble_tracker:

bluetooth_proxy:
  active: true

Board-Bezeichnung und vorhandene API-Einstellungen können je nach verwendetem ESP32 und der durch ESPHome erzeugten Grundkonfiguration abweichen. Am einfachsten ist es deshalb, die automatisch erstellte Konfiguration zu behalten und lediglich esp32_ble_tracker und bluetooth_proxy zu ergänzen.

Schritt 4: Konfiguration installieren

Speichere die YAML-Datei und starte die Installation über ESPHome.

Ist der ESP32 bereits mit ESPHome verbunden, kann das Update normalerweise drahtlos durchgeführt werden. Nach dem Neustart beginnt der ESP32 automatisch mit dem Scannen nach BLE-Geräten.

Schritt 5: Bluetooth Proxy in Home Assistant prüfen

Home Assistant erkennt ESPHome-Geräte normalerweise automatisch. Falls der ESP32 noch nicht eingebunden wurde, findest du ihn unter:

Einstellungen → Geräte & Dienste

Dort sollte das neue ESPHome-Gerät als gefunden erscheinen. Alternativ kann die ESPHome-Integration manuell hinzugefügt werden.

Sobald der Proxy verbunden ist, wird er automatisch von der Bluetooth-Integration genutzt. Eine zusätzliche Bluetooth-Proxy-Integration muss nicht installiert werden.

Bluetooth-Scanmodus in Home Assistant einstellen

Bei aktuellen Home-Assistant-Versionen lässt sich der Scanmodus eines ESPHome Bluetooth Proxy direkt über die Oberfläche einstellen.

Öffne dazu das ESPHome-Gerät unter Einstellungen → Geräte & Dienste und wähle die Konfiguration des Bluetooth Proxy.

Home Assistant bietet aktuell drei Modi:

  • Auto: Für die meisten Installationen empfohlen.
  • Active: Fragt Bluetooth-Geräte kontinuierlich aktiv nach zusätzlichen Informationen.
  • Passive: Hört ausschließlich auf ausgesendete Bluetooth-Daten.

Ich würde zunächst Auto verwenden. Home Assistant schaltet damit nur dann kurzzeitig auf aktives Scanning um, wenn eine Integration zusätzliche Informationen benötigt.

Welche Geräte funktionieren über einen Bluetooth Proxy?

Home Assistant unterstützt inzwischen eine ganze Reihe von Bluetooth-Integrationen, die mit einem ESPHome Proxy zusammenarbeiten können.

  • BTHome-Sensoren
  • SwitchBot Bluetooth
  • Xiaomi BLE
  • ThermoPro
  • ThermoBeacon
  • SensorPush
  • Ruuvi BLE
  • Sensirion BLE
  • Yale Access Bluetooth

Welche Funktionen verfügbar sind, hängt von der jeweiligen Home-Assistant-Integration ab. Manche Sensoren senden ihre Daten regelmäßig als Bluetooth-Advertisement. Andere Geräte benötigen eine aktive Verbindung.

Beispiel: Bluetooth-Thermometer weiter entfernt betreiben

Ein typisches Beispiel ist ein Bluetooth-Thermometer im Keller. Home Assistant läuft vielleicht auf einem Server im Arbeitszimmer und empfängt den Sensor dort nur unzuverlässig.

Ein ESP32 wird nun im Keller in eine Steckdose gesteckt. Der ESP32 empfängt die BLE-Signale des Thermometers und überträgt sie per WLAN zu Home Assistant.

Der eigentliche Sensor muss dafür nicht verändert werden. Für Home Assistant erweitert sich lediglich die Bluetooth-Abdeckung.

Mehrere Bluetooth Proxies verwenden

Einer der größten Vorteile ist die Möglichkeit, mehrere ESP32 gleichzeitig zu betreiben.

In einem Haus könnte die Verteilung beispielsweise so aussehen:

  • Bluetooth Proxy im Keller
  • Bluetooth Proxy im Erdgeschoss
  • Bluetooth Proxy im Obergeschoss
  • optional weiterer Proxy in Garage oder Werkstatt

Home Assistant führt die empfangenen Bluetooth-Informationen automatisch zusammen. Ein Bluetooth-Gerät kann damit von mehreren Scannern gesehen werden.

Die Proxies sollten trotzdem nicht direkt nebeneinander stehen. Home Assistant empfiehlt bei mehreren Remote-Adaptern einen ausreichenden Abstand, damit sie sich möglichst wenig gegenseitig beeinflussen.

Wo sollte der ESP32 stehen?

Der Standort hat großen Einfluss auf die Bluetooth-Reichweite. Einen Proxy würde ich möglichst frei und etwas erhöht platzieren.

Ungünstig sind dagegen Metallgehäuse, Sicherungsschränke und Plätze direkt hinter größeren Elektrogeräten.

Auch das WLAN muss am Standort stabil funktionieren. Der beste Bluetooth-Empfang hilft wenig, wenn der ESP32 anschließend keine zuverlässige Verbindung zu Home Assistant herstellen kann.

ESP32 in ein Gehäuse einbauen

Für erste Versuche kann das Development Board offen auf dem Schreibtisch liegen. Für einen dauerhaften Einsatz würde ich den ESP32 allerdings in ein kleines Kunststoffgehäuse setzen.

Kunststoff ist für die Funkverbindung deutlich geeigneter als ein Metallgehäuse.

WLAN und Bluetooth teilen sich Funkressourcen

Bei einem normalen ESP32 laufen WLAN und Bluetooth auf demselben Funkchip. ESPHome und Home Assistant sind darauf ausgelegt, trotzdem kann eine schlechte WLAN-Verbindung die Zuverlässigkeit beeinträchtigen.

Deshalb würde ich keine besonders aggressiven BLE-Scanparameter einstellen. ESPHome empfiehlt für den Bluetooth Proxy die Standardwerte des BLE-Trackers.

Für die meisten Installationen muss am esp32_ble_tracker deshalb überhaupt nichts verändert werden.

Bluetooth Proxy mit Ethernet

Wer maximale Zuverlässigkeit möchte, kann einen ESP32 mit Ethernet verwenden. Dadurch entfällt die gleichzeitige WLAN-Kommunikation auf dem Funkchip.

Home Assistant und ESPHome nennen beispielsweise den Olimex ESP32-POE-ISO mit Ethernet als mögliche Plattform für einen Bluetooth Proxy. Solche Lösungen sind allerdings deutlich teurer als ein einfaches ESP32 Development Board.

Für eine normale Wohnung oder ein Einfamilienhaus würde ich deshalb zunächst mit einem günstigen WLAN-ESP32 starten.

Typische Probleme mit dem ESP32 Bluetooth Proxy

Bluetooth-Geräte werden nicht gefunden

Prüfe zuerst, ob der ESP32 in Home Assistant online ist. Anschließend solltest du kontrollieren, ob die Bluetooth-Integration aktiv ist.

Außerdem muss für das jeweilige Bluetooth-Gerät eine passende Home-Assistant-Integration vorhanden sein.

Gerät wird gefunden, lässt sich aber nicht steuern

Einige Geräte benötigen eine aktive Bluetooth-Verbindung. In diesem Fall sollte der Proxy aktive Verbindungen unterstützen und active: true aktiviert sein.

ESP32 verliert regelmäßig die Verbindung

Hier würde ich zuerst WLAN und Stromversorgung prüfen. Ein schwaches USB-Netzteil oder eine schlechte WLAN-Verbindung können sich schnell als scheinbares Bluetooth-Problem bemerkbar machen.

Bluetooth-Reichweite ist weiterhin schlecht

Versuche zunächst einen anderen Standort. Schon ein Meter Abstand zu Metall, einem Netzwerkschrank oder großen Elektrogeräten kann einen Unterschied machen.

Bei größeren Gebäuden würde ich lieber einen zweiten Proxy einsetzen, statt zu versuchen, mit einem einzigen ESP32 das komplette Gebäude abzudecken.

ESP32 Bluetooth Proxy oder USB-Bluetooth-Stick?

ESP32 Bluetooth ProxyUSB-Bluetooth-Stick
Standortfrei im Netzwerk wählbardirekt am Home-Assistant-Server
Mehrere Gerätemehrere Proxies möglichmöglich, aber aufwendiger
Virtuelle Maschinekein USB-Passthrough nötigUSB-Passthrough erforderlich
VerbindungWLAN oder EthernetUSB
Kostensehr niedrigebenfalls niedrig

Bei einer kleinen Home-Assistant-Installation kann ein USB-Adapter vollkommen ausreichen. Sobald Bluetooth-Geräte über mehrere Räume oder Stockwerke verteilt sind, finde ich die ESP32-Lösung deutlich flexibler.

Kann der ESP32 gleichzeitig andere Aufgaben übernehmen?

Grundsätzlich kann ein ESP32 neben dem Bluetooth Proxy weitere ESPHome-Komponenten betreiben. Möglich wären beispielsweise Temperaturfühler oder Status-LEDs.

Für einen besonders zuverlässigen Bluetooth Proxy würde ich das Gerät trotzdem möglichst einfach halten. Zusätzliche Funktionen belasten den ESP32 und können die Fehlersuche schwieriger machen.

Lohnt sich ein ESP32 Bluetooth Proxy?

Für Home Assistant gehört der Bluetooth Proxy für mich zu den sinnvollsten Projekten mit einem ESP32. Die Hardware kostet nur wenige Euro und kann die Bluetooth-Abdeckung eines Hauses erheblich verbessern.

Besonders interessant ist die Lösung bei Home Assistant auf Proxmox, einem NAS oder einem Server im Keller. Der eigentliche Home-Assistant-Rechner braucht dann nicht in Bluetooth-Reichweite der Sensoren zu stehen.

Mit mehreren ESP32-Proxies lässt sich die Abdeckung später problemlos erweitern. Home Assistant verwaltet die verschiedenen Bluetooth-Scanner gemeinsam und nutzt automatisch die verfügbaren Daten.

Wer bereits ESPHome verwendet, hat einen Bluetooth Proxy deshalb in wenigen Minuten eingerichtet.

Häufige Fragen zum ESP32 Bluetooth Proxy

Was macht ein ESP32 Bluetooth Proxy?

Der ESP32 empfängt Bluetooth-Low-Energy-Signale in seiner Umgebung und stellt diese über das Netzwerk Home Assistant zur Verfügung. Dadurch kann die Bluetooth-Abdeckung erweitert werden.

Kann ich mehrere Bluetooth Proxies verwenden?

Ja. Home Assistant unterstützt mehrere Remote-Bluetooth-Adapter gleichzeitig. So können beispielsweise Keller, Erdgeschoss und Obergeschoss jeweils mit einem eigenen ESP32 abgedeckt werden.

Braucht der ESP32 Bluetooth Proxy Internet?

Für die Kommunikation mit Home Assistant benötigt der ESP32 lediglich eine Netzwerkverbindung zum lokalen Home-Assistant-System. Der eigentliche Bluetooth-Datenaustausch kann lokal erfolgen.

Funktioniert jedes Bluetooth-Gerät?

Der ESPHome Bluetooth Proxy unterstützt BLE-Geräte. Zusätzlich muss Home Assistant das jeweilige Gerät beziehungsweise dessen Bluetooth-Protokoll über eine passende Integration unterstützen.

Welcher ESP32 eignet sich als Bluetooth Proxy?

Ein klassischer ESP32 ist eine sehr gute und günstige Wahl. ESPHome bezeichnet diese Plattform weiterhin als besonders ausgereift. Für größere oder besonders wichtige Installationen sind auch Ethernet-basierte ESP32-Lösungen möglich.

* Affiliate-Link: Bei einem Kauf über diesen Link erhalte ich eine Provision. Für dich bleibt der Preis unverändert.

„`

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert