Die mit ** gekennzeichnete Links auf dieser Seite sind Affiliatelinks. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.
Für meine Anwesenheitserkennung verwende ich folgende Hardware:
**
Die Gigaset G-tags habe ich jetzt seit dem 15.11.2016 im Einsatz, und musst noch keine Batterie wechseln.
Für die Anwesenheitserkennung setzte ich folgende FHEM Zusatzpakete ein:
Wenn Ihr nur einen einzigen Raspberry habt, mit dem Ihr Eure Anwesenheitserkennung durchführt, dann müsst Ihr das "Collectord" Paket nicht zwingend verwenden. Das "Collectord" Paket ist eine Art Zwischenschicht, die die Empfangsstärke der Bluetooth G-tags auswertet. Durch die Auswertung kann dann in FHEM erkannt werden, wo sich der Bluetooth G-tag befindet. Das "Collectord" Paket muss nur ein einziges mal in Eurer Netzwerkumgebung installiert werden.
Die eigentliche Erkennung des Bluetooth G-tag übernimmt das "Lepresenced" Paket. Das "Lepresenced" Paket müsst Ihr auf jedem Raspberry installieren, welche für eine Anwesenheitserkenung verwendet werden soll.
Anwendungsbeispiel:
Ihr möchtet z.B. drei Räume mit der Anwesenheitserkennung ausstatten. z.B. Eingang, Wohnzimmer und Büro. Dann wird folgendes benötigt:
Der Raspberry mit dem "Collectord" Paket würde jetzt bei den drei anderen Raspberry den Bluetooth Werte abfragen, und dem FHEM Server dann mitteilen ob der G-tag online ist und welcher Raum den stärksten Signalpegel liefert.
Anmerkung: Den Bluetooth USB Stick Ausu USB-BT400 Nano Bluetooth Stick** musste ich für meinen Raspberry Pi 3 verwenden. Das integrierte Bluetooth Modul im Raspberry Pi 3 ist immer nach ca. 3-4 Stunden ausgestiegen. Seit ich den Raspberry Zero W im Einsatz habe, benötige ich keinen zusätzlichen Bluetooth USB Stick.
Bevor Ihr mit der Installation beginnt, solltet Ihr kurz prüfen, ob es aktuellere Software für die Anwesenheitserkennung gibt. Dazu müsst Ihr im Browser auf die Webseite "https://svn.fhem.de/trac/browser/trunk/fhem/contrib/PRESENCE/deb" gehen.
Es wird einmal das "collectord-1.8.deb" Paket benötigt, und das "lepresenced-0.9-1.deb".
Wenn Ihr Euch mit den Versionsnummern nicht sicher seit, könnt Ihr auch das Datum in der Spalte "Alter" prüfen. Hier einfach immer das Neuste auswählen.
Damit Ihr die beiden Pakete verwenden könnt, müssen noch div. Debian Paket installiert werden. Hierfür müsst Ihr folgenden Befehl ausführen:
sudo apt-get install bluetooth bluez-hcidump bluez blueman libnet-server-perl
Mit folgenden Befehlen könnt Ihr das "Collectord" Paket installieren. Den roten Bereich müsst Ihr mit den Informationen aus der Webseite abändern.
wget https://svn.fhem.de/fhem/trunk/fhem/contrib/PRESENCE/deb/collectord-1.8.deb
sudo dpkg -i collectord-1.8.deb
Mit folgenden Befehlen könnt Ihr das "Lepresenced" Paket installieren. Den roten Bereich müsst Ihr mit den Informationen aus der Webseite abändern.
wget https://svn.fhem.de/fhem/trunk/fhem/contrib/PRESENCE/deb/lepresenced-0.9-1.deb
sudo dpkg -i lepresenced-0.9-1.deb
Im Grunde benötigt die Komponente "lepresenced" keine Konfiguration. Direkt nach der Installation fängt die Komponente an zu arbeiten. Falls Ihr mehrere Bluetooth USB Sticks im Einsatz habt, müsst Ihr eventuell die Konfiguration anpassen. Hierfür müsst Ihr die Datei "/etc/default/lepresenced" editieren. Über folgenden Befehl könnt Ihr Euch alle Bluetooth Module anzeigen lassen:
hcitool dev
Über folgenden Befehl könnt Ihr dann die Datei "/etc/default/lepresenced" anpassen:
sudo nano /etc/default/lepresenced
Um einen dedizierten Bluetooth USB Stick anzugeben, müsst Ihr den rot markierten Bereich anpassen.
Für die Komponente "collectord" gibt es aktuell zwei Konfigurationsdateien:
Die eigentliche Konfiguration findet in der Datei "/etc/collectord.conf" statt. Hier wird der Name des Raumes und die dazugehörige "lepresenced" Instanz angegeben. Über folgenden Befehl könnt Ihr dann die Datei "/etc/collectord.conf" anpassen:
sudo nano /etc/collectord.conf
Für jeden Raum müsst Ihr einen eigenen Abschnitt anlegen. In dem rot markierten Bereich könnt Ihr so einen Abschnitt sehen.
[Haus Flur] wird für den Raumnamen verwendet.
"address" = IP-Adresse der dazugehörigen "lepresenced" Instanz
"port" = Port der dazugehörigen "lepresenced" Instanz
Die Konfiguration für einen zweiten Raum könnt Ihr direkt darunter anlegen.
Für jeden Bluetooth G-Tag muss in FHEM ein eigenes Device angelegt werden. Zum Anlegen benötigt Ihr die MAC-Adresse des jeweiligen G-Tags. Um die MAC-Adresse auszulesen, könnt Ihr folgenden Befehl verwenden:
sudo bluetoothctl
[bluetooth] scan on
[bluetooth] devices
[bluetooth] exit
Direkt nach dem Start der Anwendung "bluetoothctl" müsst Ihr den Befehl "scan on" absetzen. Jetzt werden Euch alle gefundenen Bluetooth Geräte angezeigt.
Mit dem Befehl "devices" könnt Ihr Euch alle gefunden Devices anzeigen lassen.
Mit dem Befehl "exit" könnt Ihr die Anwendung wieder verlassen.
Ggf. müsst Ihr nach dem Scan den Raspberry Pi neu starten, damit "lepresenced" sauber funktioniert.
Mit folgendem Befehl könnt Ihr nun ein FHEM Device anlegen:
define gTag.Michael PRESENCE lan-bluetooth 7C:2F:80:AD:B8:6B 10.10.0.234:5222 10 120
Der Befehl ist in mehrere Bereich unterteilt:
Für eine bessere Darstellung, könnt Ihr noch folgendes anpassen:
attr gTag.Michael devStateIcon present:FS20.on absent:FS20.off .*:set_off
Das fertig konfigurierte FHEM Device sieht dann ungefähr so aus.
Im Bereich der Readings könnt Ihr dann sehen, in welchem Raum der G-Tag erkannt wurde.
Seit dem Einsatz der Anwesenheitserkennung füllt sich das SYSLOG mit folgenden Einträgen:
Damit diese Einträge nicht mehr erscheinen gibt es aktuell nur folgende Möglichkeit: Zum Unterdrücken der Meldungen müsst Ihr die Datei "/etc/rsyslog.d/01-blocklist.conf" mit folgendem Inhalt anlegen:
:msg,contains,"Bluetooth: hci0 advertising data length corrected" stop
:msg,contains,"Bluetooth: hci1 advertising data length corrected" stop
Damit die Änderung direkt greift, müsst Ihr noch den "rsyslog" Service neu starten. Dies könnt Ihr über folgenden Befehl machen:
sudo service rsyslog restart
Jetzt sollten im Log keine weiteren Einträge mehr zu finden sein.
In der Komponente "collectord" Version 1.8 war noch ein kleiner BUG. Aus diesem Grund gibt es hier schon eine neuere Version. Hier Beschreibe ich euch kurz wie so ein Update auf einer bestehenden Installation funktioniert. Bevor Ihr mit der Installation beginnt, solltet Ihr kurz prüfen, welche die aktuelle Version ist. Dazu müsst Ihr im Browser auf die Webseite "https://svn.fhem.de/trac/browser/trunk/fhem/contrib/PRESENCE/deb" gehen.
Es wird das "collectord-1.8.1.deb" Paket benötigt
Wenn Ihr Euch mit den Versionsnummern nicht sicher seit, könnt Ihr auch das Datum in der Spalte "Alter" prüfen. Hier einfach immer das Neuste auswählen.
Mit folgenden Befehlen könnt Ihr das "Collectord" Paket installieren. Den roten Bereich müsst Ihr mit den Informationen aus der Webseite abändern.
wget https://svn.fhem.de/fhem/trunk/fhem/contrib/PRESENCE/deb/collectord-1.8.1.deb
sudo dpkg -i collectord-1.8.1.deb
Eine weitere Anpassung der Konfiguration ist nicht nötig.
**
Kommentar schreiben
Enrico (Mittwoch, 29 Juli 2020 09:41)
Hi,
wie verhinderst Du das der Tag in mehr als einem Raum zur selben zeit erkannt wird wenn die Räume nebeneinander liegen? Nehmen wir an ich habe einen Zero im Flur und einem im Büro. und befinde mich im Büro aber näher an der Tür würde da der Zero im Flur nicht auch den Tag erkennen?
sd (Sonntag, 11 Oktober 2020 17:32)
Es wird der Raum mit dem besseren rssi-Wert erkannt.