Anwesenheitserkennung Bluetooth PebbleBee

Begonnen von tomster, 06 November 2014, 10:01:16

Vorheriges Thema - Nächstes Thema

Carsten

Hallo Matthias,

danke für die Anleitung!

Werd ich mir anschauen ( und wohl nachmachen  ;D ).

Zitat von: Mathelf am 01 März 2015, 20:51:05
Das python Script gibt es hier: https://github.com/IanHarvey/bluepy/tree/master/bluepy und eine gute Anleitung zum Setup hier: http://www.elinux.org/RPi_Bluetooth_LE

Musstest du Bluez neu bauen? Auf meinem Banana Pi mit Raspbian ist schon ne Bluez-Version inklusive, aber scheinbar nicht die Neueste.

Gruß
Carsten

Mathelf

Hallo Carsten,

ich hatte es auf meinem Raspberrry nicht bauen müssen (oder ich hatte es früher schon mal gemacht).

Viele Grüße

Matthias

Charity

Erstmal großes Lob für die hier erschaffene Arbeit und Integration.

Ich finde es super wie für FHEM die Entwicklung voranschreitet und sich die Community anstrengt. Tolle Arbeit.

Für mich stellt sich aber die Frage, ob die Anwesenheitserkennung für die Pebble Bee's mit der normalen Bluetooth Anwesenheitserkennung den Weg in die "stable" Version von FHEM Einzug halten wird ?

Gibt es dafür schon einen Plan - Datum ?
Bzw. wird es einen Wiki Eintrag geben ?

Ich würde gerne, wie hier im Post oft beschrieben, beide Varianten (Bluetooth Handy und Bluetooth LE Pebble Bee Erkennung ) nutzen.

StefanW

Zitat von: fh168 am 28 Februar 2015, 16:15:29
Hallo Gemeinde,

ich habe gerade das G-tag von Gigaset getestet, Fhem-Funktionalität steht noch aus.

Blog-Beitrag zum G-tag: http://blog.moneybag.de/erfahrungsbericht-gigaset-g-tag-schluesselfinder/#more-11592

Was vielleicht für Euch interessant ist: Gigaset auf deren Microsite hat ein Gewinnspiel gestartet, bei denen die ersten 1000 Teilnehmer ein G-Tag gewinnen können.

LG
/robin

Danke noch mal für den Hinweis mit dem Gewinnspiel.
Mein Gratis G-Tag ist heut angekommen. :-)
Hatte schon nicht mehr mit gerechnet.

fh168

@StefanW

Erst mal Glückwünsch dazu.
Teste doch mal, ob der PebbleBee und das Gigaset-tag gleichzeitig funktioniert. Bei mir schwirrt die Gigaset Software immer ab, wenn es einen PebbleBee in der Nähe findet.

Noch ein Tipp zum Gewinnspiel: Ich habe noch keinen Einsendeschluss gesehen, möglicherweise läuft das Spiel noch. 1000 G-tags finde ich als Preise auch ziemlich gewagt bei so einem Nischenprodukt.
Also Foto machen, einen sinnigen Text da reinkloppen und gewinnen :-)
Im Übrigen hat sich die Software nach einem Update stark verbessert.
Ich habe meinen Blog-Beitrag dahingehend auch angepasst.

http://blog.moneybag.de/erfahrungsbericht-gigaset-g-tag-schluesselfinder/

LG
/robin
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

HoTi

Zitat von: fh168 am 19 April 2015, 10:52:56

Noch ein Tipp zum Gewinnspiel: Ich habe noch keinen Einsendeschluss gesehen, möglicherweise läuft das Spiel noch. 1000 G-tags finde ich als Preise auch ziemlich gewagt bei so einem Nischenprodukt.
Also Foto machen, einen sinnigen Text da reinkloppen und gewinnen :-)

Wenn Sie aber alle Geschichten veröffentlich haben sind jetzt jetzt 1086 Geschichten...
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

PatrickR

#261
Mahlzeit!

Habe seit einer Woche mit G-Tags experimentiert und nach einigen schmerzhaften Fehlversuchen (bluez ist etwas launisch) nun ein bislang stabiles und zuverlässiges Setup am Laufen.

Setup:
-Angehängte Datei blescan.pl an geeignetem Ort ablegen
-Execute-Bit setzen
chmod +x blescan.pl
-Ausführung als root durch den FHEM-User erlauben. Eintrag in /etc/sudoers:
fhem ALL=NOPASSWD: /opt/fhem/pr/blescan.pl
-In FHEM wie folgt anlegen:
define Hirschgesicht Presence shellscript "sudo /opt/fhem/pr/blescan.pl DE:AD:BE:EF:D0:0D 10" 60 60
DE:AD:BE:EF:D0:0D ist hierbei die Adresse des G-Tags, 10 die Dauer des Scans (siehe unten).

Funktionsweise:
Das Skript führt für den eingestellten Zeitraum einen Scan nach Bluetooth-Low-Energy-Geräten durch (hcitool lescan). Sobald die eingestellte MAC-Adresse gefunden wird, bricht es ab und gibt 1 (=present) zurück. Nach Ablauf der eingestellten Zeit wird 0 (=absent) zurück gegeben. Da bluez sich gelegentlich aufzuhängen scheint ("Set scan parameters failed: Input/output error") wird in diesem Fall ein Reset durchgeführt (hciconfig hci0 reset). Die Aktivität des Skripts lässt sich im Syslog nachvollziehen, wo man auch zwecks Finetuning des Scan-Zeitraums nachvollziehen kann, nach wie vielen Sekunden der Tag gefunden wurde.

Wichtig:
-Unbedingt Formatierung der Bluetooth-Adresse beachten (Doppelpunkte, Großschreibung).
-Die G-Tags scheinen Ihre Advertisements nur zu versenden wenn sie nicht(!) mit der iOS-App (vermutlich auch mit anderen Apps/Geräten) gekoppelt sind.
-Das Skript geht davon aus, dass das Bluetooth-Device hci0 ist.

Patrick

/Edit: Großschreibung der MAC-Adresse...
lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook

scooty

@PatrickR:
Vielen Dank für Deine Lösung, funktioniert perfekt für mich.
:)
Andreas
Fhem auf Gigabyte Brix
CUL V3 HM / CUL V3 MAX / MaxCube aFW Homematic&MAX / ZWave.me ZME_UZB1 / SDuino 433 / Velux KLF200
Homematic / MAX / Logitech Hub / ZWave / Wifi LED / div. 433 Temperatursensoren / pywws WH1080 / IO Homecontrol

Carsten

Zitat von: PatrickR am 23 April 2015, 19:46:50
-Die G-Tags scheinen Ihre Advertisements nur zu versenden wenn sie nicht(!) mit der iOS-App (vermutlich auch mit anderen Apps/Geräten) gekoppelt sind.
Das ist allerdings ziemlich blöd. Das bedeutet ja, wenn der Nachbar oder wer auch immer sich mit dem Tag verbindet, kann man ihn selbst nicht mehr tracken. Und verhindern kann man das ja auch nicht.

v.i.p.e.r

Hi,

ich hab das mal mit der Variante von PatrickR probiert. Das klappt soweit auch, auch mit mehreren G-Tags. Allerdings hängt sich bluez quasi alle 5-10 min auf.  Der reset klappt nur ab un zu. Wenn ich dann noch einen reset durchführe klappt es wieder.

Ist das normal, dass das so oft passiert? 
Welche Timings habt ihr eingestellt?
Danke & VG
Tim

PatrickR

#265
Hi,
habe das Scanintervall auf 10 und beide Presence-Intervalle auf 60 stehen. Reset kommt bei mir etwa 1x am Tag vor und funktioniert zuverlässig. Verwende Debian wheezy auf amd64 (also kein RPi und keine Fritzbox). Verwende 2 G-Tags.

Was schreibt das Skript denn ins Syslog wenn der Fehler auftritt?

Patrick


Von unterwegs gesendet.
lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook

v.i.p.e.r

#266
So sieht das aus - oben einmal wo es geklappt hat und ein paar Minuten später wo es nicht geklappt hat - und danach fängt er sich auch nicht mehr.
Hab nen rpi2 mit wheezy ...

Die Duration hatte ich vorher auf 10 - da war das Ergebnis aber das gleiche - ebenso bluez 4.99 auf 5.30 updaten hat nichts gebracht.

Was ich noch sagen kann, ist dass ich voher das ganze per Bluetooth mit einem iPhone und presence laufen hatte und da lief der bluetooth Stick wunderbar


Apr 29 22:56:51 fhem blescan.pl[2587]: Received 'Set scan parameters failed: Input/output error', resetting...
Apr 29 22:56:51 fhem bluetoothd[2249]: HCI dev 0 down
Apr 29 22:56:51 fhem bluetoothd[2249]: Adapter /org/bluez/2249/hci0 has been disabled
Apr 29 22:56:53 fhem kernel: [ 2212.537351] Bluetooth: hci0 command 0x0c1b tx timeout
Apr 29 22:56:55 fhem kernel: [ 2214.537356] Bluetooth: hci0 command 0x2002 tx timeout
Apr 29 22:56:56 fhem blescan.pl[2587]: Did NOT receive an advertisement from bluetooth mac address '7C:2F:80:90:88:FE'.
Apr 29 22:56:57 fhem kernel: [ 2216.547435] Bluetooth: hci0 command 0x0c58 tx timeout
Apr 29 22:56:57 fhem bluetoothd[2249]: HCI dev 0 up
Apr 29 22:56:57 fhem bluetoothd[2249]: Adapter /org/bluez/2249/hci0 has been enabled
Apr 29 22:57:57 fhem blescan.pl[2593]: Version 0.2 started (mac address: 7C:2F:80:90:88:FE, duration: 5).
Apr 29 22:57:57 fhem blescan.pl[2593]: Acquired lock, Scanning...
Apr 29 22:57:59 fhem blescan.pl[2593]: Received advertisement from bluetooth mac address '7C:2F:80:90:88:FE' after 2 seconds.
Apr 29 22:59:00 fhem blescan.pl[2597]: Version 0.2 started (mac address: 7C:2F:80:90:88:FE, duration: 5).
Apr 29 22:59:00 fhem blescan.pl[2597]: Acquired lock, Scanning...
Apr 29 22:59:01 fhem blescan.pl[2597]: Received advertisement from bluetooth mac address '7C:2F:80:90:88:FE' after 1 seconds.
Apr 29 23:00:01 fhem /USR/SBIN/CRON[2603]: (root) CMD (sh -c "echo '0' > /sys/class/gpio/gpio508/value")
Apr 29 23:00:01 fhem /USR/SBIN/CRON[2602]: (CRON) info (No MTA installed, discarding output)
Apr 29 23:00:01 fhem blescan.pl[2601]: Version 0.2 started (mac address: 7C:2F:80:90:88:FE, duration: 5).
Apr 29 23:00:01 fhem blescan.pl[2601]: Acquired lock, Scanning...
Apr 29 23:00:02 fhem blescan.pl[2601]: Received advertisement from bluetooth mac address '7C:2F:80:90:88:FE' after 1 seconds.
Apr 29 23:01:03 fhem blescan.pl[2609]: Version 0.2 started (mac address: 7C:2F:80:90:88:FE, duration: 5).
Apr 29 23:01:03 fhem blescan.pl[2609]: Acquired lock, Scanning...
Apr 29 23:01:03 fhem blescan.pl[2609]: Received advertisement from bluetooth mac address '7C:2F:80:90:88:FE' after 0 seconds.
Apr 29 23:01:32 fhem wpa_supplicant[1649]: wlan0: WPA: Group rekeying completed with 08:96:d7:54:9b:a9 [GTK=CCMP]
Apr 29 23:02:04 fhem blescan.pl[2613]: Version 0.2 started (mac address: 7C:2F:80:90:88:FE, duration: 5).
Apr 29 23:02:04 fhem blescan.pl[2613]: Acquired lock, Scanning...
Apr 29 23:02:05 fhem blescan.pl[2613]: Received advertisement from bluetooth mac address '7C:2F:80:90:88:FE' after 1 seconds.
Apr 29 23:03:05 fhem blescan.pl[2618]: Version 0.2 started (mac address: 7C:2F:80:90:88:FE, duration: 5).
Apr 29 23:03:05 fhem blescan.pl[2618]: Acquired lock, Scanning...
Apr 29 23:03:06 fhem blescan.pl[2618]: Received advertisement from bluetooth mac address '7C:2F:80:90:88:FE' after 1 seconds.
Apr 29 23:04:07 fhem blescan.pl[2622]: Version 0.2 started (mac address: 7C:2F:80:90:88:FE, duration: 5).
Apr 29 23:04:07 fhem blescan.pl[2622]: Acquired lock, Scanning...
Apr 29 23:04:08 fhem blescan.pl[2622]: Received advertisement from bluetooth mac address '7C:2F:80:90:88:FE' after 1 seconds.
Apr 29 23:05:09 fhem blescan.pl[2626]: Version 0.2 started (mac address: 7C:2F:80:90:88:FE, duration: 5).
Apr 29 23:05:09 fhem blescan.pl[2626]: Acquired lock, Scanning...
Apr 29 23:05:09 fhem blescan.pl[2626]: Received advertisement from bluetooth mac address '7C:2F:80:90:88:FE' after 0 seconds.
Apr 29 23:06:10 fhem blescan.pl[2630]: Version 0.2 started (mac address: 7C:2F:80:90:88:FE, duration: 5).
Apr 29 23:06:10 fhem blescan.pl[2630]: Acquired lock, Scanning...
Apr 29 23:06:11 fhem blescan.pl[2630]: Received advertisement from bluetooth mac address '7C:2F:80:90:88:FE' after 1 seconds.
Apr 29 23:07:11 fhem blescan.pl[2634]: Version 0.2 started (mac address: 7C:2F:80:90:88:FE, duration: 5).
Apr 29 23:07:11 fhem blescan.pl[2634]: Acquired lock, Scanning...
Apr 29 23:07:12 fhem blescan.pl[2634]: Received advertisement from bluetooth mac address '7C:2F:80:90:88:FE' after 1 seconds.
Apr 29 23:08:13 fhem blescan.pl[2639]: Version 0.2 started (mac address: 7C:2F:80:90:88:FE, duration: 5).
Apr 29 23:08:13 fhem blescan.pl[2639]: Acquired lock, Scanning...
Apr 29 23:08:13 fhem blescan.pl[2639]: Received 'Set scan parameters failed: Input/output error', resetting...
Apr 29 23:08:13 fhem bluetoothd[2249]: HCI dev 0 down
Apr 29 23:08:13 fhem bluetoothd[2249]: Adapter /org/bluez/2249/hci0 has been disabled
Apr 29 23:08:15 fhem kernel: [ 2894.295712] Bluetooth: hci0 command 0x1009 tx timeout
Apr 29 23:08:18 fhem blescan.pl[2639]: Did NOT receive an advertisement from bluetooth mac address '7C:2F:80:90:88:FE'.
Apr 29 23:09:24 fhem blescan.pl[2645]: Version 0.2 started (mac address: 7C:2F:80:90:88:FE, duration: 5).
Apr 29 23:09:24 fhem blescan.pl[2645]: Acquired lock, Scanning...
Apr 29 23:09:24 fhem blescan.pl[2645]: Did NOT receive an advertisement from bluetooth mac address '7C:2F:80:90:88:FE'.
Apr 29 23:10:27 fhem blescan.pl[2649]: Version 0.2 started (mac address: 7C:2F:80:90:88:FE, duration: 5).
Apr 29 23:10:27 fhem blescan.pl[2649]: Acquired lock, Scanning...


tomster

Zitat
    try:
       conn = Peripheral(devAddr, addrType)
       conn.disconnect()
       print ("1")
       sys.exit(1)
    except BTLEException as e:
       print("0")
       sys.exit(0)

Wo genau hast Du diese Zeilen eingefügt? Ich kann  leider keine entsprechende Stelle im Code finden...

Atze

Zitat von: v.i.p.e.r am 30 April 2015, 10:23:00
So sieht das aus - oben einmal wo es geklappt hat und ein paar Minuten später wo es nicht geklappt hat - und danach fängt er sich auch nicht mehr.
Hab nen rpi2 mit wheezy ...

Die Duration hatte ich vorher auf 10 - da war das Ergebnis aber das gleiche - ebenso bluez 4.99 auf 5.30 updaten hat nichts gebracht.

Was ich noch sagen kann, ist dass ich voher das ganze per Bluetooth mit einem iPhone und presence laufen hatte und da lief der bluetooth Stick wunderbar


Apr 29 22:56:51 fhem blescan.pl[2587]: Received 'Set scan parameters failed: Input/output error', resetting...
Apr 29 22:56:51 fhem bluetoothd[2249]: HCI dev 0 down
Apr 29 22:56:51 fhem bluetoothd[2249]: Adapter /org/bluez/2249/hci0 has been disabled
Apr 29 22:56:53 fhem kernel: [ 2212.537351] Bluetooth: hci0 command 0x0c1b tx timeout
Apr 29 22:56:55 fhem kernel: [ 2214.537356] Bluetooth: hci0 command 0x2002 tx timeout
Apr 29 22:56:56 fhem blescan.pl[2587]: Did NOT receive an advertisement from bluetooth mac address '7C:2F:80:90:88:FE'.
.......



@V.I.P.E.R
hab genau die gleiche Konstelation und das gleiche Problem. Bist du da schon weiter ?
FHEM 5.8 , RPi 2 / CUL 3.2 / JEELINKnano - PCA301 / nanoCUL a-culfw 1.05.03
HMS: rm1002, s300th / FHT: fht8v-3, fht80tf
FS20: fs20st, fs20sm8, fs20s8m, fs20rsu, fs20rbm, fs20pce, fs20pcs, fs20ue1, fs20irp2, fs20dwt, fs20rpt-3, fs20str-2, fs20kse
IT: ITDM-250, ITLS-16, ITW-852, IT-1500
G-Data Milight

gero

Das Problem wirst du häufiger finden, wenn du im Internet suchst.
Es scheint verschiedene Ursachen/Lösungen zu geben:

1. BT-Dongles verhalten sich verschieden. D.h. das eine läuft problemlos, das andere zeigt den obigen Fehler.
2. Ursache ist vermutlich ein Bug im Kernel USB Treiber. Der Bug, der zum Kernelcrash führte ist inzwischen wohl gefixet. Aber nach Auftreten des Fehlers funktioniert das Dongle nicht mehr.
3. Ein parallel laufender bluetoothd kann das Problem forcieren. Falls du bluetooth nur für presence verwendest, stoppe den bluetoothd.
4. Ein USB-Hub kann den Fehler forcieren. Steck das BT-Dongle bei Problemen lieber direkt in den Raspi. Die Stromaufnahme ist nicht so hoch, dass Probleme zu erwarten sind.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor