Verfolgen Sie Bluetooth-Geräte nach Bereich (Raum) in HomeAssistant mithilfe von ESPHome-Bluetooth-Proxy-Geräten.
(Irgendwann) Triangulieren Sie die Gerätepositionen! Wie auf einer Karte. Vielleicht.
Mit Bermuda können Sie jedes Bluetooth-Gerät orten und von Homeassistant erfahren, wo in Ihrem Haus sich dieses Gerät befindet. Die einzige zusätzliche Hardware, die Sie benötigen, sind ESP32-Geräte, auf denen Esphome ausgeführt wird und die als Bluetooth-Proxys fungieren. Alternativ können auch Shelly Plus-Geräte diese Funktion übernehmen.
device_tracker
Entitäten für ausgewählte Geräte, die mit „Personen“ für die Heim-/Nicht-Zuhause-Verfolgung verknüpft werden könnenbermuda.dump_devices
einen umfassenden JSON/YAML-Dump der Geräte und deren Entfernungen von jedem Bluetooth-Empfänger. Ein oder mehrere Geräte, die HA mithilfe der Komponente „ bluetooth_proxy
“ von esphome Bluetooth-Proxy-Informationen bereitstellen. Ich mag die D1-Mini32-Boards, weil sie günstig und einfach zu implementieren sind. Berichten zufolge funktionieren die Shelly Plus-Bluetooth-Proxy-Geräte gut. Es werden nur nativ unterstützte Bluetooth-Geräte unterstützt, d. h. es gibt keine aktuelle oder geplante Unterstützung für MQTT-Geräte usw.
USB-Bluetooth auf Ihrem HA-Host ist nicht ideal, da die Werbepakete nicht mit einem Zeitstempel versehen werden. Es kann jedoch für die einfache „Zuhause/Nicht-Zuhause“-Verfolgung verwendet werden, und die Unterstützung für die räumliche Entfernung ist derzeit aktiviert.
Einige Bluetooth-BLE-Geräte, die Sie verfolgen möchten. Smartwatches, Beacon-Kacheln, Thermometer usw
Installieren Sie Bermuda über HACS:
Weitere Informationen zur Funktionsweise und zur Konfiguration von Bermuda für Ihr Zuhause finden Sie im Wiki.
Nach der Installation sollte die Integration in den Einstellungen, Geräten und Diensten sichtbar sein
Klicken Sie auf die Schaltfläche CONFIGURE
, um den Konfigurationsdialog anzuzeigen. Unten befindet sich ein Feld, in dem Sie alle Bluetooth-Geräte eingeben/auflisten können, die das System sehen kann. Wenn Sie Geräte auswählen, werden diese zur Liste der konfigurierten Geräte hinzugefügt und Sensoreinheiten für sie erstellt. Siehe Wie funktionieren die Einstellungen? für weitere Informationen.
Wenn Sie den Gerätebildschirm auswählen, werden die aktuellen Sensoren und andere Informationen angezeigt. Beachten Sie, dass es im Abschnitt „Nicht angezeigt“ zusätzliche Sensoren gibt, die standardmäßig deaktiviert sind (der Screenshot zeigt, dass einige davon bereits aktiviert sind). Sie können deren Eigenschaften bearbeiten, um sie für detailliertere Daten zu Ihren Gerätestandorten zu aktivieren. Dies ist jedoch in erster Linie für die Fehlerbehebung oder Entwicklung gedacht.
Zu den Sensorinformationen gehören auch die Attribute Bereichsname und -ID, relevante MAC-Adressen usw.
Unter „Einstellungen“, „Personen“ können Sie jedes Bermuda-Gerät so definieren, dass es den Zuhause-/Abwesenheitsstatus für jede Person/jeden Benutzer verfolgt.
Siehe die FAQ im Wiki!
Möchten Sie das verbessern? Eindrucksvoll! Denken Sie daran, dass dies meine allererste HA-Integration ist und ich eher ein graubärtiger Systemadministrator als ein Programmierer bin Wenn Wo ich dumme Dinge mache, würde ich mich wirklich über Verbesserungen freuen!
Sie können beginnen, indem Sie den Dienst bermuda.dump_devices
verwenden, um den internen Zustand zu untersuchen.
bermuda.dump_devices
Wenn Sie einfach den Dienst bermuda.dump_devices
aufrufen, erhalten Sie einen vollständigen Speicherauszug der internen Datenstrukturen, die bermuda zum Verfolgen und Berechnen seines Status verwendet. Dies kann hilfreich sein, um herauszufinden, was vor sich geht und Fehler zu beheben, oder wenn Sie einen sehr individuellen Bedarf haben, den Sie mit Vorlagensensoren usw. lösen können.
Wenn der Dienst ohne Parameter aufgerufen wird, gibt er alle Daten zurück. Es stehen Parameter zur Verfügung, mit denen Sie die resultierenden Daten einschränken oder neu formatieren können, um die Arbeit damit zu erleichtern. Insbesondere der Parameter addresses
“ ist hilfreich, um nur Daten zurückzugeben, die für eine oder mehrere MAC-Adressen (oder iBeacon-UUIDs) relevant sind. Weitere Informationen zu Parametern finden Sie auf der Seite Services
“ im Home Assistant unter Developer Tools
.
Wichtig: Wenn Sie sich entscheiden, die Ergebnisse dieses Aufrufs für Ihre eigenen Vorlagen usw. zu verwenden, bedenken Sie, dass sich das Format in jeder Version ändern kann und nicht unbedingt als „bahnbrechende Änderung“ betrachtet wird. Dies liegt daran, dass die Struktur intern verwendet wird und keine veröffentlichte API ist. Es wird jedoch versucht, in den Versionshinweisen darauf hinzuweisen, ob Felder in der Struktur umbenannt oder verschoben werden, jedoch nicht auf das Hinzufügen neuer Elemente.
Die Integrationen bluetooth_tracker
und ble_tracker
sind nur für die Bestimmung „Zuhause/Nicht-Zuhause“ konzipiert und dienen nicht zur Standortbestimmung anhand der „Region“. (Hinweis: „Zonen“ sind Orte außerhalb des Hauses, während „Bereiche“ Räume/Bereiche innerhalb des Hauses sind). Ich wollte die Freiheit haben, damit auf eine Weise zu experimentieren, die vielleicht nicht zum Kern passt, aber ich hoffe, dass zumindest ein Teil davon eines Tages in der Kern-Codebasis ein Zuhause findet.
Das „Monitor“-Skript verwendet eigenständige Pis, um Bluetooth-Daten zu sammeln und diese dann in MQTT zu übertragen. Es nutzt nicht die bluetooth_proxy
Funktionen, die meiner Meinung nach die Zukunft der Bluetooth-Heimnetzwerke sind (zumindest für mein Zuhause!).
ESPreszenz sieht cool aus, aber ich möchte meine Knoten nicht für Nicht-Esphome-Nutzung verwenden, und auch hier werden die Bluetooth-Proxy-Funktionen jetzt in HA nicht genutzt. Ich erfinde wahrscheinlich einen Großteil des ESPrescense-Rads neu.
Unbedingt die HACS-Schnittstelle nutzen! Sobald Sie HACS installiert haben, gehen Sie zu Integrations
, klicken Sie oben rechts auf das Fleischbällchen-Menü und wählen Sie Custom Repositories
aus. Fügen Sie agittins/bermuda
in das Feld Repository
ein und wählen Sie Integration
für die Category
aus. Klicken Sie auf Add
.
Sie sollten nun in der Lage sein, die Bermuda BLE Trilateration
Integration hinzuzufügen. Sobald Sie dies getan haben, müssen Sie Homeassistant neu starten, dann unter Settings
, Devices & Services
die Add Integration
auswählen und nach Bermuda BLE Trilateration
suchen. Es ist möglich, dass die automatische Erkennung für Sie erfolgt, indem nur Bluetooth-Geräte in der Nähe erkannt werden.
Sobald die Integration hinzugefügt wurde, müssen Sie Ihre Geräte einrichten, indem Sie unter Devices and Services
unter Bermuda BLE Trilateration
Configure
klicken.
Im Configuration
können Sie auswählen, welche Bluetooth-Geräte die Integration verfolgen soll.
Die folgenden Anweisungen sind die allgemeinen Hinweise aus der Vorlage:
configuration.yaml
finden).custom_components
vorhanden ist, müssen Sie es erstellen.custom_components
einen neuen Ordner mit dem Namen bermuda
.custom_components/bermuda/
“ in diesem Repository herunter.Wenn Sie dazu beitragen möchten, lesen Sie bitte die Beitragsrichtlinien
Dieses Projekt wurde aus der Cookiecutter-Vorlage „Home Assistant Custom Component“ von @oncleben31 generiert.
Die Codevorlage wurde hauptsächlich der Integrations-Blueprint-Vorlage von @Ludeeus entnommen. Cookiecutter-Benutzerhandbuch**