zurück zur Startseite

zurück zur Übersicht der Heimautomatisierung

45. Das Erkennungsschildchen (Stand 19.01.2019)

In Kapitel 20 habe ich gezeigt, wie ich dem System die Anwesenheit der Bewohner mitteile. Aber immer ein Knöpfchen drücken (was man auch gerne mal vergisst) entspricht sicherlich nicht dem Automatisierungsgedanken. Es gibt aber „Erkennungsschildchen“ auf Basis der Bluetooth-Kommunikation. Anstelle der sog. G-Tags kann aber sicherlich auch ein Hosentaschenmultifunktionsgerät (kurz: smarthone) dafür verwendet werden.

Das System kann bei entsprechender Programmierung dann erkennen, welche Schildchen in Reichweite sind. Hat man so eines am Schlüsselbund (oder sein Mobiltelefon immer bei sich), dann ist erkennbar, wer zu Hause ist und wer nicht.

Auf dem Raspberry 3 ist die Bluetooth-Hardware schon vorhanden, man muss sie nur noch zum Leben erwecken. Dazu gibt man folgendes ein:

sudo apt-get update
sudo apt-get install pi-bluetooth
sudo apt-get install bluetooth bluez blueman
sudo adduser pi bluetooth
newgrp bluetooth
sudo reboot

Mit folgendem Kommando kann man den Status ermitteln:

sudo systemctl status bluetooth

Als Ergebnis bekommt man:

Die Fehlermeldungen kann man wohl ignorieren, entscheidend ist „active (running)“. Um alles ordentlich einzurichten gibt es ein Werkzeug, welches man wie folgt aufruft:

sudo bluetoothctl

Nach der Eingabe dieses Linux-Befehls steht eine Reihe spezieller Kommandos zur Verfügung, bis man das Werkzeug mit

quit

wieder verlässt.

Mit den Folgenden Kommandos dieses Werkzeugs kann man nun die Erkennungsschildchen einrichten.

$ sudo bluetoothctl
[NEW] Controller B8:27:EB:56:C0:26 raspberrypi [default]

# discoverable on
Changing discoverable on succeeded
[CHG] Controller B8:27:EB:56:C0:26 Discoverable: yes

# pairable on
Changing pairable on succeeded

# agent on
Agent registered

# default-agent
Default agent request successful
[NEW] Device 6F:81:25:93:AC:3E 6F-81-25-93-AC-3E

# scan on
Discovery started
[CHG] Controller B8:27:EB:56:C0:26 Discovering: yes
[NEW] Device 7C:2F:80:DD:2A:C7 Gigaset keeper
[NEW] Device 7C:2F:80:DD:32:E8 Gigaset keeper
[NEW] Device 7C:2F:80:DD:2A:EC Gigaset keeper

Mit den Kommandos "pair" und "trust" werden nun die kleinen Gerätchen bekannt gemacht. Für jedes ist dies einzeln zu tun mit, jeweils mit dem Befehl und der entsprechenden MAC-Adresse, z.B.

pair 7C:2F:80:DD:2A:C7
...
trust 7C:2F:80:DD:2A:C7
...

Nun noch die o.g. on-Befehle wieder ausschalten (also Kommando + off), das Werkzeug verlassen und den Raspberry neu booten.

Alles weitere ist im Wiki von FHEM hervorragend beschrieben. Entsprechend ist einzugeben:

wget https://svn.fhem.de/trac/export/HEAD/trunk/fhem/contrib/PRESENCE/deb/lepresenced-0.83-3.deb
sudo dpkg -i lepresenced-0.83-3.deb
sudo apt-get -f install

Nun kann man für jedes Erkennungsschildchen die entsprechende Definitionen in FHEM durchführen, z.B.

define gt_weissschwarz PRESENCE lan-bluetooth xx:xx:xx:xx:xx:xx 127.0.0.1:5333 120

Anstelle der xx muss die Bluetooth-MAC-Adresse stehen und die letzte Zahl (hier 120) gibt an in welchem Sekundenintervall geprüft werden soll. Der Name in FHEM ist wie immer frei wählbar, ich habe den Prefix gt gewählt und da die Gerätchen alle unterschiedlich von mir eingefärbt wurden, steht weissschwarz für das Gerätchen "weisse Schrift auf schwarzem Hintergrund".

Die eingebaute Batterie (eine Knopfzelle, die man durch Lösen 3 sehr kleiner Imbusschrauben wechseln kann), hält zwar recht lange - bei mir schon mmehr als 7 Monate - aber leere Batterie ist dasselbe wie "nicht anwesend". Insofern wäre es ganz nett, wenn man die Batterie auch überwachen könnte. Wie fast immer hat ein guter Geist in FHEM auch eine Lösung dafür parat. Folgende FHEM-Befehle sind dafür notwendig:

update add http://raw.githubusercontent.com/mumpitzstuff/fhem-BleTagBattery/master/controls_bletagbattery.txt
update all
shutdown restart
define gt_batterie BleTagBattery

Es wird nun alle 6 Stunden versucht, die BT-LE Devices zu erreichen, um die Readings batteryLevel und battery zu aktualisieren. Idealerweise definert man sich noch eine Readingsgroup, so dass man alle Batteriezustände schön aufgelistet bekommt.

weiter zu: 99. Fortsetzung folgt