
Verfolgen Sie unseren Heimatstandort mit Home Assistant
In diesem Beitrag werden wir etwas sehr Interessantes sehen, Und es ist nichts anderes als die Möglichkeit, bestimmte Bluetooth-Geräte zu verfolgen oder zu verfolgen (Intelligente Armbänder, Mobiltelefone…) Pro Haus, mit dem Ziel, die Position jederzeit zu lokalisieren, um Automatisierungen durchzuführen.
Was ich gesagt habe, Wir alle haben ein Handy, das uns überall hin folgt, oder wir tragen ein smartes Armband oder Smartband, Alle diese Geräte verfügen über Bluetooth, und wir können die MAC-Adresse jedes Geräts verwenden, um es in unserem Zuhause zu lokalisieren. Wozu? Nun, zuerst mit der Statistik, Wir können visualisieren, wie viel Zeit wir wo verbringen, Es ist sehr merkwürdig. Offensichtlich können wir es tun, um Automatisierungen zu setzen, Zum Beispiel, wenn es Nacht ist und Sie im Zimmer sind und die Haustür zum Haus nicht verschlossen ist, Nun, lassen Sie es schließen. Wenn du morgens in die Küche kommst, sage ich guten Morgen, Ich habe dir die Neuigkeiten überbracht… Oder was weiß ich, um uns direkt auf den Grundriss o Animierter Grundriss unseres Hauses, Auf dem Sofa sitzen, essend, schlafend… 😉 Auge, dass wir auch unsere Tiere orten können, Wenn wir einen Tracker dieser Bluetooths setzen, und dass, wenn die Katze/der Hund einen Raum betritt, sie nicht, Lassen Sie uns von den Lautsprechern zu Hause erzählen.
Wie machen wir das?? Wir müssen daran denken, dass bestimmte Geräte in jedem Raum des Hauses platziert werden müssen, in jedem Zimmer, Bad… wo wir uns befinden wollen. Und die Lösung muss natürlich zwischen den einzelnen Geräten sprechen, um zu wissen, welchem wir am nächsten sind.
Die beste Lösung persönlich, wenn Sie diese Geräte nicht haben, besteht darin, sich auf zu verlassen ESP32-mqtt-Raum, die man mittels Platinen auf Basis des ESP32-Chips und vor allem sehr günstig leicht im Haus verteilen und verstecken kann. Ich muss Ihnen sagen, dass ich diese Lösung etwa ein Jahr lang verwendet habe, Am Ende bin ich auf die Lösung umgestiegen, die wir heute in diesem Beitrag sehen werden, da ich mehrere Raspberry Pi im Haus verstreut habe, Es hat mich nichts gekostet, diese Funktionalität hinzuzufügen. Eines Tages, wenn mir langweilig wird, mache ich einen Beitrag für den ESP32-mqtt-Raum, was auch sehr cool ist.
Was ich gesagt habe, Heute werden wir sehen Raum-Assistentin, Auch eine tolle Lösung, und den wir auf unserem geliebten Raspberry Pi installieren und ausführen können, und natürlich wie bei der vorherigen Option, vollständig in unseren Home Assistant integrierbar, also bleiben Sie dran!
Installation auf Raspbery Pi,
Gestartet! Wir werden diese Schritte in jedem Raspberry Pi befolgen, den wir haben und den room-assistant installieren möchten, Das Wichtigste zuerst, Installieren von NodeJS:
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - sudo apt-get install -y nodejs
Instalamos todas las dependencias que necesitaremos:
Sudo apt-get update && sudo apt-get install -y build-essential libavahi-compat-libdnssd-dev bluetooth libbluetooth-dev libudev-dev libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
Instalamos Raum-Assistent, class-transformer y class-validator:
sudo npm i --global --unsafe-perm room-assistant sudo npm install i --global class-transformer sudo npm install i --global class-validator
Añadimos los siguientes permisos:
sudo setcap cap_net_raw+eip $(eval readlink -f 'welcher Knoten') sudo setcap cap_net_raw+eip $(eval readlink -f 'welches hcitool') sudo setcap cap_net_admin+eip $(eval readlink -f 'welche hciconfig')
Sinceramente no recuerdo muy bien porqué hice lo siguiente, Pero lo tengo documentado 🙂
sudo nano /etc/avahi/avahi-daemon.conf enable-dbus=ja
Wir erstellen das Verzeichnis und die Konfigurationsdatei für room-assistant (Seien Sie vorsichtig, wir füllen dann die Konfigurationsdatei aus, Nur damit Sie wissen, wo es ist):
mkdir -p ~/room-assistant/config touch ~/room-assistant/config/local.yml
Bevor Sie mit der Konfigurationsdatei beginnen, Lassen Sie uns den Dienst zum Booten von room-assistant erstellen:
sudo nano /etc/systemd/system/room-assistant.service
Und wir führen die folgende Konfiguration in den Dienst ein:
[Einheit] Beschreibung=Zimmerassistenten-Service [Dienst] ExecStart=/usr/bin/room-assistant Arbeitsverzeichnis=/home/pi/room-assistant Restart=immer RestartSec=10 Benutzer=pi [Installieren] WantedBy=multi-user.target
Wir ermöglichen den Service, Wir haben damit begonnen (Nun, bevor Sie es starten, müssen Sie die Konfigurationsdatei für Ihren Raumassistenten haben, die wir unten sehen werden) und wir verifizieren, dass es abgerissen ist:
sudo systemctl enable room-assistant.service sudo systemctl start room-assistant.service sudo systemctl status room-assistant
Konfigurationsdatei für den Raumassistenten, von Einzelbeispiel, Das heißt, ein Raspberry Pi, der individuell arbeitet, ohne mit dem Rest der Raspberrys zu sprechen, dem wir einen Namen in 'instanceName' geben werden., Wir fügen die MAC-Adressen der zu verfolgenden Bluetooth-Geräte hinzu oder fügen sie in "Adressen" hinzu, und wichtig, Wir werden unseren MQTT-Broker-Server angeben, um Ihnen die Daten zu senden:
global: instanzName: Garagen-Integrationen: - homeAssistent - BluetoothKlassischer HomeAssistant: mqttUrl: MQTT://DIRECCIÓN_IP_BROKER_MQTT:1883 mqttOptionen: Nutzername: USERNAME Passwort: bluetoothClassic PASSWORT: minRssi: -20 Adressen: - 'FD:72:03:6B:V. Chr:XX' - 'EA:4B:B2:2An:56:XX' - '7C:2F:80:EG:61:XX' - 'B4:Nr. C4:FC:64:19:XX'
Und hier ist ein Beispiel im Cluster-Modus der Konfigurationsdatei des Raumassistenten, welches wir verwenden werden, wenn wir mehr als einen Raspberry Pi mit Raumassistenten haben. Im Gegensatz zum vorherigen, In diesem müssen wir die IP-Adresse jedes Raspberry Pi in peerAddresses hinzufügen:
global: Cluster: autoErkennung: Falscher Anschluss: 6425 peer-Adressen: - DIRECCION_RASPBERRY_PI_1:6425 - DIRECCION_RASPBERRY_PI_2:6425 - DIRECCION_RASPBERRY_PI_3:6425 - DIRECCION_RASPBERRY_PI_4:6425 - DIRECCION_RASPBERRY_PI_5:6425 instanzName: Küchen-Integrationen: - homeAssistent - BluetoothKlassischer HomeAssistant: mqttUrl: MQTT://DIRECCIÓN_IP_BROKER_MQTT:1883 mqttOptionen: Nutzername: USERNAME Passwort: bluetoothClassic PASSWORT: minRssi: -20 hciDeviceId: 0 Adressen: - 'FD:72:03:6B:V. Chr:XX' - 'EA:4B:B2:2An:56:XX' - '7C:2F:80:EG:61:XX' - 'B4:Nr. C4:FC:64:19:XX'
Brunnen, Jetzt ja, Nach der Aufnahme und dem Erhalt Ihrer Konfigurationsdatei, Denken Sie daran, den Dienst neu zu starten (Oder Dämon) von room-assistant.
Home Assistant-Einstellungen,
Brunnen, Wir haben es bereits! Jetzt müssen wir nur noch unsere lieben. geliebter und gewünschter Home Assistant die Geräte, die wir visualisieren möchten, Das ist, Mobiltelefone, Armbänder… Gehen wir also zur Home Assistant-Konfigurationsdatei, configuration.yaml und im Abschnitt 'Sensor'’ Wir fügen den folgenden Block hinzu, Angabe der MAC-Adresse und der Beschreibung des Geräts:
Sensor: ... - Bahnsteig: mqtt_room device_id: "b4c4fc6419XX" Name: 'Teléfono móvil de Héctor' state_topic: 'room_presence' timeout: 5 away_timeout: 0 ...
Und wie immer, Speichern Sie die Datei und starten Sie Home Assistant neu, um die Konfiguration zu laden. Wir werden in der Lage sein, jede Entität, die wir registriert haben, einfach mit der Maus hinzuzufügen, indem wir nach Geräten vom Typ "room_presence" filtern.
Und nichts, Lassen Sie die Magie laufen, Wir werden sehen, wie es geht, je nachdem, wo wir uns befinden, wir werden in dieser Geschichte den Zustand der Entität und ihre Positionierung sehen.
Wenn du zu weit gehst und ein Grafana herumliegen hast, Man kann sich zum Beispiel mit einem Blick auf den Käse auf ganz einfache Art und Weise die Zeiten vergegenwärtigen, Und natürlich, Das hat eine Geschichte… Zu den Klatsch und Tratsch, Ich habe mir die Zeit genommen, die ich im Badezimmer verbringe, Hehe, Und mit dieser Art von Abfrage hätten wir es:
SELECT state als Metrik, ZEITSTEMPELDIFF(SEKUNDE, Min(last_updated), Max(last_updated)) als Wert, last_changed als time_sec FROM Staaten angegeben, BEI denen $__timeFilter(erstellt) and state = 'Cocina' and entity_id = 'sensor.maixu_dordoka_room_presence' GROUP BY last_changed ORDER BY created DESC ;
Naja, Es ist an der Zeit, sich ein Beispiel für Automatisierung anzusehen, Auf den Bildern sehen Sie es leicht, In diesem Fall ist es, Bei Nacht, Wenn mein Txabala oder ich im Bett sind, wenn die Tür nicht verriegelt wurde, Nun, schließen Sie es, Ich habe es auch über die Lautsprecher zu Hause benachrichtigt, Senden Sie ein Telegramm, Blabla, Blabla…
Wie immer ein Genuss, Ich hoffe, es gefällt euch, Eine Umarmung und vielen Dank für die Likes in den sozialen Netzwerken, die nichts kosten!! 🙂