Estimated reading time: 13 Minuten

Stell dir vor, du weißt immer genau, wer sich in welchem Raum deines Hauses aufhält – und das alles automatisch. Mit Home Assistant, einem ESP32 und BLE-Tracking (Bluetooth Low Energy) kannst du eine exakte Raumanwesenheitserkennung realisieren. In diesem Blogartikel erkläre ich dir Schritt für Schritt, wie du das mit der ESPHome-Erweiterung und dem Format BLE Tracker umsetzt. Du lernst, wie du ESPHome installierst, deinen ESP32 einrichtest, den BLE-Transmitter in der Home Assistant-App aktivierst und anschließend alles zu einem großen in Home Assistant zusammenführst.

Für eine detaillierte Anleitung und Erklärung aller Konfigurationsmöglichkeiten empfehle ich das unten verlinkte YouTube-Video. In diesem Video wird ausführlich auf jede einzelne Einstellung eingegangen, sodass du eine umfassende Anleitung zur genauen Einrichtung erhältst. Eventuellen Code aus dem Video findest du in diesem Beitrag, so dass du ihn direkt nutzen kannst ohne abtippen zu müssen.

Was ist Home Assistant?

Home Assistant ist eine Open-Source-Plattform für die Heimautomatisierung, die darauf abzielt, alle Geräte im Haus miteinander zu verbinden und zentral zu steuern. Sie wurde entwickelt, um eine einheitliche Benutzeroberfläche und eine einfache, flexible Steuerung für eine Vielzahl von Smart-Home-Geräten aus unterschiedlichen Ökosystemen zu bieten. Hier sind einige Punkte, die für Home Assistant spechen:

  1. Kompatibilität: Home Assistant unterstützt Tausende von Geräten und Diensten von verschiedenen Herstellern, einschließlich Beleuchtung, Klimaanlagen, Heizungen, Kameras, Wettersensoren, Sprachassistenten und mehr.
  2. Lokale Steuerung: Im Gegensatz zu vielen kommerziellen Smart-Home-Plattformen, die auf Cloud-Dienste angewiesen sind, läuft Home Assistant lokal in deinem Netzwerk. Dies bedeutet erhöhte Privatsphäre und Zuverlässigkeit, da deine Smart-Home-Geräte auch ohne aktive Internetverbindung funktionieren.
  3. Automatisierung und Szenen: Eines der Hauptmerkmale von Home Assistant ist die Möglichkeit, komplexe Automatisierungen und Szenarien zu erstellen. Du kannst beispielsweise Lichter automatisch einschalten lassen, wenn es dunkel wird oder die Heizung einschalten, wenn die Temperatur unter einen bestimmten Wert fällt.
  4. Einfache Benutzeroberfläche: Home Assistant bietet eine nutzerfreundliche Oberfläche, die es einfach macht, Geräte zu überwachen und zu steuern. Diese Oberfläche ist vollständig anpassbar.
  5. Integration mit Sprachassistenten: Home Assistant kann mit Sprachassistenten wie Amazon Alexa oder Google Assistant integriert werden, um eine sprachgesteuerte Steuerung deiner Smart-Home-Geräte zu ermöglichen.
  6. Open-Source und Community-Getrieben: Da Home Assistant Open-Source ist, wird es von einer aktiven Community unterstützt, die ständig neue Integrationen entwickelt und bestehende verbessert.
  7. Datenschutz und Sicherheit: Als lokal laufende Plattform hat Home Assistant den Vorteil, dass die Daten im eigenen Netzwerk bleiben. Dies schützt die Privatsphäre und erhöht die Sicherheit im Vergleich zu Cloud-basierten Lösungen.

Zusammenfassend ist Home Assistant eine leistungsstarke und flexible Lösung für diejenigen, die ihr Smart Home selbst gestalten und ihre Geräte unabhängig vom Hersteller oder Ökosystem zentral steuern möchten.

Was ist ESPHome / ESP32?

ESPHome ist eine Open-Source-Plattform, die es dir ermöglicht, Mikrocontroller wie den ESP32 oder ESP8266 einfach in dein Smart Home zu integrieren. Mit ESPHome kannst du diese Geräte programmieren, um sie als Sensoren, Aktoren oder Steuerungseinheiten zu verwenden. Du schreibst Konfigurationsdateien in YAML, und ESPHome kümmert sich um die Erstellung der Firmware und das Flashen auf das Gerät. ESPHome bietet eine nahtlose Integration mit Home Assistant, sodass du deine Geräte über das Smart Home System einfach steuern und automatisieren kannst.

Der ESP32 ist ein leistungsstarker Mikrocontroller mit integriertem WLAN und Bluetooth, der besonders beliebt im Bereich IoT (Internet of Things) ist. Er wird häufig verwendet, um smarte Geräte zu erstellen, die kabellos in ein Netzwerk integriert werden können. Mit seiner geringen Größe, den vielseitigen Funktionen und der kostengünstigen Verfügbarkeit ist der ESP32 ideal für Projekte wie die Raumanwesenheitserkennung oder smarte Beleuchtung. Mit ESPHome kannst du den ESP32 leicht programmieren und in dein Smart Home einbinden.

Voraussetzungen

  • Home Assistant installiert
  • MQTT installiert und eingerichtet
  • ESP32 Gerät mit Bluetoothunterstützung vorhanden (idealerweise ESP32-S3)
  • WLAN 2.4GHz Netzwerk überall vorhanden
  • Android Smartphone mit Home Assistant App oder BLE Beacon
ESP32 Geräte. Der M5NanoC6 funktioniert für diesen Zweck (noch) nicht, da er zu neu ist!
Zuletzt aktualisiert am 20. Dezember 2024 um 23:20 . Wir weisen darauf hin, dass sich hier angezeigte Preise inzwischen geändert haben können. Alle Angaben ohne Gewähr.

ESPHome Installation: Zwei einfache Möglichkeiten

Bevor du mit dem ESP32 startest, musst du ESPHome installieren. Du hast zwei einfache Möglichkeiten, ESPHome entweder als Addon in Home Assistant oder als Docker Container zu installieren.

Option 1: ESPHome als Addon in Home Assistant installieren

  1. Home Assistant öffnen:
    Melde dich in deinem Home Assistant-Dashboard an.
  2. Gehe zu Add-ons:
    Klicke auf Supervisor und wähle dann Add-on Store.
  3. ESPHome suchen und installieren:
    Suche nach „ESPHome“ und klicke auf Installieren. Sobald die Installation abgeschlossen ist, klickst du auf Starten.
  4. ESPHome Dashboard öffnen:
    Nach dem Start kannst du über das Home Assistant Menü das ESPHome Dashboard öffnen und loslegen.

Option 2: ESPHome als Docker Container installieren

Falls du ESPHome als Docker Container installieren möchtest, gehst du wie folgt vor:

1. Docker vorbereiten:
Stelle sicher, dass Docker auf deinem System läuft.

2. Docker ESPHome-Container starten:
Öffne ein Terminal und erstelle dort bspw. mit sudo nano docker-compose-esphome-yml eine neue Datei mit folgendem Inhalt:

services:
  esphome:
    container_name: "esphome"
    image: "ghcr.io/esphome/esphome:stable"
    environment:
      - "ESPHOME_DATA_DIR=/data"
      - "TZ=Europe/Berlin"
      - "ESPHOME_DASHBOARD_USE_PING=false"
    expose:
      - "6052/tcp"
    network_mode: "host"
    restart: "unless-stopped"
    volumes:
      - "/dev/shm/esphome-cache:/cache"
      - "/mnt/cache/appdata/smart-home/esphome-data:/data"
      - "/mnt/cache/appdata/smart-home/esphome:/config"

Am Ende nicht vergessen den Container zu starten (Pfad zu eurem Pfad anpassen):

sudo docker compose -f /mnt/cache/appdata/compose/docker-compose-esphome.yml up -d

3. ESPHome Dashboard:
Greife auf das Dashboard zu, indem du im Browser die IP deines Servers mit dem Port 6052 aufrufst, z. B. http://192.168.178.100:6052.

Jetzt ist ESPHome bereit, und du kannst deinen ESP32 einrichten.

Deinen ESP32 mit ESPHome einrichten

Sobald ESPHome läuft, kannst du deinen ESP32 als BLE-Tracker für die Raumanwesenheitserkennung einrichten. Das Nervige ist, dass man die initiale Einrichtung nur über das Webprotokoll https:// vornehmen kann. Dementsprechend muss man auf die Webseite https://web.esphome.io/ umsteigen.

Gerät per USB an Computer anschließen:
Verbinde den ESP32 per USB mit deinem Computer. Es gibt auch andere Varianten, aber diese funktioniert mit Abstand am problemlosesten und einfachsten.

Neues Gerät hinzufügen:
Gehe in das ESPHome-Dashboard von https://web.esphome.io/ und klicke auf Connect. Dort wählst du dann das Gerät aus. Es wird irgendetwas mit USB Serial dort stehen.

Name und WLAN-Zugangsdaten eingeben:
Der ESP32 ist nun verbunden. Klicke nun auf Prepare for first use und gib deinem ESP32 einen Namen und trage die WLAN-Daten ein, die der ESP32 später verwenden soll.

Firmware auf ESP32 flashen:
Verbinde den ESP32 per USB mit deinem Computer oder dem Gerät, auf dem Home Assistant läuft. Klicke auf Erstellen und wähle dann Installieren. Folge den Anweisungen, um die Firmware auf den ESP32 zu flashen.

ESP32 in ESPHome verfügbar machen:
Sobald die Firmware installiert ist, verbindet sich der ESP32 mit deinem WLAN und ist im ESPHome-Dashboard verfügbar. Jetzt ist dein ESP32 erst einmal einsatzbereit.

Einstellungen des ESP32 ändern:
Wir müssen nun einige Einstellungen vornehmen, um unseren ESP32 auch wirklich zu einem Raumpräsenzdetektor umzufunktionieren.

mqtt:
  broker: <MQTT SERVER ohne Port>
  username: <MQTT Nutzername>
  password: <MQTT Passwort>
  discovery: true

# Für den externen Build:
external_components:
  source: github://formatBCE/ESP32_BLE_presense@main

# Systemzeitkonfiguration - erforderlich für genaue Zeitstempel, wird bei der Integration verwendet:
time:
  - platform: homeassistant
    id: homeassistant_time

# Initialisierung:
esp32_ble_presense:
  area: "<RAUMNAME>" # Ersetze das mit deinem Raumnamen
  time_id: homeassistant_time

Zu guter Letzt müssen wir einen Teil der bestehenden Konfiguration auskommentieren oder löschen:

# Sets up Bluetooth LE (Only on ESP32) to allow the user
# to provision wifi credentials to the device.
esp32_improv:
  authorizer: none

Wenn du das nicht tust, erhältst du eine Fehlermeldung, die besagt error: expected type-specifier.

Jetzt müssen wir die Firmware noch einmal installieren und der ESP32 ist erfolgreich eingerichet. Das Gerät hat eine eigene kleine Benutzeroberfläche auf seiner IP-Adresse laufen, wenn es mit dem WLAN verbunden ist, so zum Beispiel http://192.168.178.78.

Format BLE Tracker installieren

Nun, da dein ESP32 eingerichtet ist, können wir den Format BLE Tracker installieren. Dieses Tool ist perfekt, um BLE-Signale zu erfassen und die Anwesenheit von Geräten im Raum zu bestimmen.

Was ist der Format BLE Tracker?

Der Format BLE Tracker ist eine Erweiterung, die deinen ESP32 in einen BLE-Tracker verwandelt. Er scannt nach Bluetooth-Signalen von Geräten, wie Smartphones oder BLE-Beacons, und erkennt, ob sich jemand im Raum befindet. Das macht es einfach, genaue Anwesenheitserkennungen ohne zusätzliche Sensoren durchzuführen.

Installation von HACS und Integration von Format-BLE-Tracker in Home Assistant

Schritt 1: Installation von HACS in Home Assistant

Home Assistant Community Store (HACS) ist ein benutzerdefiniertes Add-on für Home Assistant, das den Zugriff auf eine Vielzahl von benutzerdefinierten Integrationen und Plugins ermöglicht, die von der Community entwickelt wurden. So installierst du HACS:

  1. Voraussetzungen prüfen: Stelle sicher, dass dein Home Assistant idealerweise auf dem neuesten Stand ist.
  2. Download Skript ausführen: Für die Docker-Container Version oder die Core Version ein Terminal öffnen.
    • Docker: in den Container einwählen mit: docker exec -it homeassistant bash oder (ähnlich)
    • Core: zum Nutzer wechseln, der Home Assistant ausführt
    • Bei beiden Varianten folgenden Befehl ausführen:
      wget -O - https://get.hacs.xyz | bash -
  3. Home Assistant neu starten: Nachdem die Dateien kopiert wurden, starte Home Assistant neu.
  4. HACS in Home Assistant integrieren: Gehe in der Home Assistant-Oberfläche zu „Konfiguration“ > „Integrationen“ > „Hinzufügen“ und suche nach HACS. Füge es hinzu und gib dein GitHub-Token ein, falls du dazu aufgefordert wirst.

Für die Supervised Version gerne nochmal in der Dokumentation von HACS selbst die Installation nachlesen.

Schritt 2: Format-BLE-Tracker-Integration über HACS hinzufügen

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

Nachdem HACS installiert ist, kann man Format-BLE-Tracker einfach hinzufügen:

  1. Öffne HACS: Gehe in der Home Assistant-Oberfläche zu HACS.
  2. Integration suchen: Klicke auf „Integrationen“ und klicke oben rechts auf die drei Punkte und dann „Benutzerdefinierte Repositories“.
  3. Repository hinzufügen: Kopiere nun das GitHub Repository https://github.com/formatBCE/Format-BLE-Tracker in das Repository Feld und gib als Kategorie „Integration“ an.
  4. Format-BLE-Tracker installieren: Finde Format-BLE-Tracker in der Liste und klicke auf „Installieren“. Dadurch wird die Integration zu deinem Home Assistant hinzugefügt.
  5. Home Assistant neu starten: Starte Home Assistant erneut, um die Änderungen zu übernehmen.
  6. Format-BLE-Tracker konfigurieren: Nach dem Neustart kannst du Format-BLE-Tracker über „Konfiguration“ > „Integrationen“ in Home Assistant einrichten und anpassen.

Abschluss

Mit diesen Schritten hast du HACS erfolgreich in deinem Home Assistant installiert und die Format-BLE-Tracker-Integration hinzugefügt. Diese leistungsstarke Kombination eröffnet eine Welt voller zusätzlicher Funktionen und Anpassungen, die von der Home Assistant-Community entwickelt wurden und werden. Es folgen weitere Blogbeiträge und Videos zu nützlichen Integrationen. Wenn du das nicht verpassen möchtest, abonniere meinen YouTube-Kanal!

BLE Transmitter in der Home Assistant App aktivieren

Damit der ESP32 dein Smartphone als BLE-Signal erkennt, musst du den BLE Transmitter in der Home Assistant Companion App aktivieren. Leider scheint es diese Option nur für Android Smartphones zu geben. Das iPhone geht dagegen leer aus.

  1. Home Assistant Companion App öffnen:
    Starte die Home Assistant Companion App auf deinem Android-Smartphone.
  2. Zu den Einstellungen gehen:
    Öffne die Einstellungen der App und wähle den Punkt Companion-App und tippe danach auf Sensoren verwalten.
  3. BLE Transmitter aktivieren:
    Suche nach dem BLE-Transmitter und aktiviere ihn. Achte darauf, dass die Option „Nur auf dem Heimnetzwerk WLAN SSID übertragen“ eingeschaltet ist und setze die „Transmitter-Leistung“ auf Niedrig, statt standardmäßig sehr niedrig. Jetzt sendet dein Smartphone regelmäßig BLE-Signale, die der ESP32 empfangen kann.
    Notiere dir die UUID ganz unten, da wir diese im nächsten Schritt benötigen.

BLE Tracker in Home Assistant einrichten

Füge unter Integrationen die Integration Format BLE Tracker hinzu und wähle im Popup „Add New Beacon„. Dort müssen wir nun die zuvor notierte UUID eingeben und geben einen Namen unserer Wahl für den Sensor.

Zuletzt aktualisiert am 20. Dezember 2024 um 23:21 . Wir weisen darauf hin, dass sich hier angezeigte Preise inzwischen geändert haben können. Alle Angaben ohne Gewähr.

Hinweis:

  • Für Dumb Beacons (z. B. Tile) kannst du die MAC-Adresse in der offiziellen App finden oder eine beliebige Bluetooth-Tracker-App auf deinem Telefon verwenden, um sie zu löschen;
  • Bei Smart Beacons (z. B. Android-Telefon mit Home Assistant Companion-Anwendung und aktiviertem BLE-Tracker) musst du die Proximity UUID kopieren, da die MAC-Adresse des Geräts nicht öffentlich zugänglich ist.
  • Minimum RSSI: Wenn die Signalstärke unter dem Wert liegt, den du in diesem Schieberegler eingestellt hast, wird sie vom ESP32-Tracker-Knoten ignoriert. Ich habe in den meisten Räumen einen ESP32-Tracker-Knoten und meine Räume sind nicht so groß, und ich fand, dass die Einstellung auf -90 für mich am besten funktioniert. Man muss damit spielen, um herauszufinden, was in der eigenen Umgebung am besten funktioniert.

Die Integration erstellt ein Gerät mit drei Entitäten pro Beacon:

  • Gerätetracker-Entität für das Gerät. Zeigt den Home-Status für dieses Gerät an, wenn das Gerät für mindestens einen der Tracking-Knoten sichtbar ist, oder den Away-Status.
  • Sensor mit dem aktuell nächstgelegenen Knotennamen für dieses Gerät (im Grunde der aktuelle Raumname).
  • Eingabeschieberegler für die Einstellung des Datenverfallszeitraums (von 1 Minute bis 10 Minuten). Dies beeinflusst die Zeit vom letzten Sichtbarkeitsereignis bis zum Einschalten des Abwesend-Modus. Verwende größere Werte, wenn du häufig von Zuhause nach Abwesend und zurück wechselst. Standardmäßig ist dieser Wert auf 2 Minuten eingestellt.

Nun wirst du schnell erkennen, dass dein neues Gerät dir den Raumnamen anzeigt, den du in der Firmware des ESP32 Gerätes in ESPHome hinterlegt hast. Ausgehend davon kannst du nun noch mehr Automatisierungen konkreter ausgestalten als zu vor überhaupt möglich!

Umsetzung im YouTube-Video

Fazit

Mit Home Assistant, ESPHome und einem ESP32 kannst du eine präzise Raumanwesenheitserkennung erstellen. Der Format BLE Tracker macht es möglich, BLE-Signale zu erfassen und gezielt Automatisierungen auszulösen, wenn sich jemand in einem Raum aufhält. Durch die Aktivierung des BLE Transmitters auf deinem Smartphone kannst du sicherstellen, dass dein Zuhause immer weiß, wo du dich befindest. Probiere es aus und gestalte dein Smart Home noch intelligenter!

Die Anzeige der Produkte wurde mit dem affiliate-toolkit WordPress Plugin umgesetzt.

0 Kommentare

Schreibe einen Kommentar

Avatar-Platzhalter

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

de_DE