ESPresense ist ein Projekt auf Basis eines ESP32, dass ermittelt an welchem Ort sich ein Gerät befindet. In der Heimautomatisierung kann mittels der Anwesenheitserkennung präziser bestimmt werden, ob sich eine Person in einem Raum befindet oder nicht. Dadurch lassen sich Automationen gezielter ausführen.
Abgrenzung Bewegungsmelder
Ein Bewegungsmelder ist auf Bewegung ausgerichtet. Findet keine Bewegung statt können keine weiteren Automationen getriggert werden.
Die Präsenzerkennung geht hier einen Schritt weiter und ermittelt, an welchem Ort sich ein Gerät befindet. Im Weiteren kann zum Beispiel bestimmt werden, ob eine Person in einem Raum ist und in welchem, wenn z.B. eine Smartwatch als Beacon genutzt wird.
Durch die Präsenzerkennung können damit Automationen ausgelöst werden solange sich das Gerät in dem Raum oder dem Ort befindet, wo die Automation durchgeführt werden soll.
Beispiel: Abhängig davon welche Person einen bestimmten Raum betritt soll dort der Lieblings Musiksender abgespielt werden.
Richtig in Bewegung gebracht hat Aqara das Thema Anfang 2022 mit der Ankündigung seinen Präsenzmelder FP1 auf den Markt zu bringen.
ESPresense Anwesenheitserkennung
Die ESPresense Anwesenheitserkennung setzt auf einen ESP32 basiertes Board. Hier gibt es eine Übersicht, welche Basestations genutzt werden können. Das Board beinhaltet den Web-Server, der die Kommunikation mit den Geräten übernimmt und damit den Status übermittelt. Die Daten werden per MQTT versendet.
Neben der Basestation benötigt es noch Beacons. Das sind im Allgemeinen Geräte, die einen Status übermitteln und getrackt werden können. Es können Smartphones oder Smartwatches sein, aber auch Tags wie der Tile Beacon.
Preview | Product | Rating | Price | |
---|---|---|---|---|
Tile Pro (2022) Bluetooth Schlüsselfinder, 2er Pack, 120m Reichweite, inkl. Community... | 59,99 EUR 29,99 EUR | Bei Amazon kaufen | ||
Apple Watch Series 7 (GPS, 45mm) Smartwatch - Aluminiumgehäuse Mitternacht, Sportarmband... | 459,00 EUR 312,41 EUR | Bei Amazon kaufen |
In den meisten Fällen kommt wohl ein Smartphone oder Smartwatch zum Einsatz, weil diese Geräte vorhanden sind. Android Besitzer haben es hier deutlich einfacher. Die Installation der Home Assistant Companion App reicht aus, um den Bluetooth Status abfragen zu können.
Apple Besitzer haben initial einen größeren Aufwand die eindeutige Geräte-ID heraus zu finden, die benötigt wird, um Geräte eindeutig ermitteln zu können. Die Bedeutung der ID wird umso größer je mehr Appel Geräte im Haushalt genutzt werden.
Was für den Datenschutz positiv ist, ist in diesem Fall für die Heimautomation hinderlich. Vereinfacht ausgedrückt verhindert Apple, dass die Bluetooth MAC Adresse zum tracken von Geräten heran gezogen werden kann. Dadurch steigt der Datenschutz, weil Geschäfte und Unternehmen kein Benutzerprofil erstellen können. Wenn du mehr über Bluetooth Sicherheit und zur sogenannten Adressrandomisierung wissen möchtest empfehle ich dir diesen Apple Support Artikel.
iOS Geräte zu ESPresense hinzufügen
Die technischen Sicherheitsmechanismen haben die wirklich großartigen ESPresense Entwickler aber nicht davon abgehalten eine Lösung zu suchen. Die Lösung heißt Identity Resolving Keys, was einer eindeutigen ID entspricht.
Für das iPhone ist das Verfahren zum ermitteln des IRK zum Zeitpunkt des Artikels schon recht einfach geworden. Es geht über die UI von ESPresense. Die UI erreichst du über http://ip-des-esp/ui
Hier wird ein Name für das Gerät vergeben und Enroll geklickt. Anschließend findest du eine Gerät Namens ESPresense unter deinen Bluetooth Geräten auf dem iPhone. Du verbindest dich damit und bestätigst den Kopplungsvorgang!
Durch den Kopplungsvorgang hat das iPhone seinen IRK über MQTT mitgeteilt. Über z.B. den MQTT Explorer kannst du nun den IRK über das Topic espresense/settings ermitteln.
Home Assistant Konfiguration
In Home Assistant kann die Konfiguration nun wie folgt erstellt werden:
#espresence
- platform: mqtt_room
name: 'Gerätename'
device_id: "ID-aus-dem-MQTT-Topic"
state_topic: 'espresense/devices/ID-aus-dem-MQTT-Topic'
timeout: 10
away_timeout: 120
Die ID des Gerätes ist der Name, der beim Enrollment vergeben wurde!
Fazit
Über die UI und das Device Enrollment lassen sich nun sehr schnell iPhones für ESPresense ermitteln und konfigurieren!
Für die Apple Watch ist der Vorgang noch etwas aufwendiger, was ich aber Schritt-für-Schritt in meinem Youtube Video zeige!
Weitere ESP Beiträge findest du hier.
Wenn Du noch Fragen haben solltest hinterlasse mir gerne einen Kommentar!
Sicher, dass man ein Tile Beacon nutzen kann?
Naja, hast du mal auf den Link in meinem Blogpost geklickt? Ich zitiere die Dokumentation des Entwicklers, in der Tile als Beacon gelistet ist: https://espresense.com/beacons