Die mit ** gekennzeichnete Links auf dieser Seite sind Affiliatelinks. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.

 

Inhaltsverzeichnis

Verwendete - Hardware

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.

Beschreibung

Für die Anwesenheitserkennung setzte ich folgende FHEM Zusatzpakete ein:

  • Collectord (Optional)
  • Lepresenced

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:

  • 1x Raspberry Pi FHEM Server: Hier könnt Ihr das "Collectord" Paket installieren
  • Büro 1x Raspberry Pi Zero W (Installation "Lepresenced") Auf diesem Raspberry wird kein FHEM benötigt.
  • Eingang 1x Raspberry Pi Zero W (Installation "Lepresenced") Auf diesem Raspberry wird kein FHEM benötigt.
  • Wohnzimmer 1x Raspberry Pi Zero W (Installation "Lepresenced") Auf diesem Raspberry wird kein FHEM 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.

Installation

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

Konfiguration Lepresenced

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/lepresencedanpassen:

sudo nano /etc/default/lepresenced

 

Um einen dedizierten Bluetooth USB Stick anzugeben, müsst Ihr den rot markierten Bereich anpassen. 

Konfiguration Collectord

Für die Komponente "collectord" gibt es aktuell zwei Konfigurationsdateien:

  • "/etc/default/collectord" Allgemeine Konfiguration
  • "/etc/collectord.conf" Raum Konfiguration

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.confanpassen:

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.

Konfiguration FHEM

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:

  • gTag.Michael = Name des neuen FHEM Devices
  • PRESENCE = Modulname
  • lan-bluetooth = Art der Device Erkennung
  • 7C:2F:80:AD:B8:6B = MAC-Adresse des Bluetooth G-Tags
  • 10.10.0.234:5222 = IP-Adresse und Port der Collectored Komponente
  • 10 120 = present / absent Timeouts

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. 

Aktuelle BUGs

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.

Update Collectord

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

Kommentare: 2
  • #1

    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?

  • #2

    sd (Sonntag, 11 Oktober 2020 17:32)

    Es wird der Raum mit dem besseren rssi-Wert erkannt.

Die mit ** gekennzeichnete Links auf dieser Seite sind Affiliatelinks. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.

Danke, dass Du bis hierher gelesen hast! Über eine kleine Spende würde ich mich freuen.
**