Anwesenheitserkennung Bluetooth PebbleBee

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

Vorheriges Thema - Nächstes Thema

gero

Wenn es sich um eine "public address" handelt, wirst du hier fündig:
http://standards.ieee.org/develop/regauth/oui/public.html

Bei allen anderen Addressarten von BLE kannst du keine (einfachen) Rückschlüsse auf den Hersteller ziehen.

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

gero

@Steffen:
Wenn ich dich richtig verstehe, läuft dein hcitool lescan auf der Console ohne Probleme. Nur wenn es über FHEM gestartet wird, hört er sehr schnell wieder auf Ergebnisse zu liefern.
Falls dem so ist, kannst du meiner Meinung nach HW-Probleme oder Bluetoothstack-Versionsprobleme ausschließen. Ein neuer Bluetooth-Stick wird die gleichen Resultate liefern.

Entweder läuft bei der FHEM-Anbindung von hcitool lescan etwas schief oder ein anderer Service funkt dazwischen oder ein externes Gerät (Handy) verbindet sich mit dem Bluetooth-Tag.

Laß mal einen hcidump mitlaufen und kontrollier nochmal, ob und wie lange hcitool läuft, wenn es über fhem gestartet wird.

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

Steffen

Zitat von: gero am 16 Dezember 2014, 10:44:59
@Steffen:
Wenn ich dich richtig verstehe, läuft dein hcitool lescan auf der Console ohne Probleme. Nur wenn es über FHEM gestartet wird, hört er sehr schnell wieder auf Ergebnisse zu liefern.
Falls dem so ist, kannst du meiner Meinung nach HW-Probleme oder Bluetoothstack-Versionsprobleme ausschließen. Ein neuer Bluetooth-Stick wird die gleichen Resultate liefern.

Entweder läuft bei der FHEM-Anbindung von hcitool lescan etwas schief oder ein anderer Service funkt dazwischen oder ein externes Gerät (Handy) verbindet sich mit dem Bluetooth-Tag.

Laß mal einen hcidump mitlaufen und kontrollier nochmal, ob und wie lange hcitool läuft, wenn es über fhem gestartet wird.

Gruß,
Gero

Nein auch über die Konsole ist das gleiche, denn wenn ich ein "hcitool lescan" ausführe bekomme ich nur eine einzige Antwort vom Bluetag und nicht mehrere wie bei den anderen hier und deswegen glaube liegt es am Bluetooth stick, oder sehe ich das Falsch?

Mfg Steffen

gero

Zitat von: Steffen am 16 Dezember 2014, 10:54:30
Nein auch über die Konsole ist das gleiche, denn wenn ich ein "hcitool lescan" ausführe bekomme ich nur eine einzige Antwort vom Bluetag und nicht mehrere wie bei den anderen hier und deswegen glaube liegt es am Bluetooth stick, oder sehe ich das Falsch?

Warum sollte der Bluetooth-Stick zuerst funktionieren und dann nicht mehr? Ich halte das für mehr als unwahrscheinlich.
Irgendetwas funkt dir dazwischen.
- Schalte alle Handys in Reichweite ab (oder deaktiviere zumindest Bluetooth)
- Deaktiviere alle Bluetooth Services auf deinem System. Die hci Zugriffe benötigen keinen laufenden bluetooth daemon. Evtl. ist ein hciconfig hci0 up notwendig. Ich weiß nicht, ob das im fhem Modul enthalten ist.
- Laß ein hcidump mitlaufen.
- Kontrollier zwischendurch mit hciconfig -a den Zustand deines Bluetooth-Sticks.

Gruß,
Gero




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

Steffen

#184
Zitat von: gero am 16 Dezember 2014, 11:05:57
Warum sollte der Bluetooth-Stick zuerst funktionieren und dann nicht mehr? Ich halte das für mehr als unwahrscheinlich.
Irgendetwas funkt dir dazwischen.
- Schalte alle Handys in Reichweite ab (oder deaktiviere zumindest Bluetooth)
- Deaktiviere alle Bluetooth Services auf deinem System. Die hci Zugriffe benötigen keinen laufenden bluetooth daemon. Evtl. ist ein hciconfig hci0 up notwendig. Ich weiß nicht, ob das im fhem Modul enthalten ist.
- Laß ein hcidump mitlaufen.
- Kontrollier zwischendurch mit hciconfig -a den Zustand deines Bluetooth-Sticks.

Gruß,
Gero

Hallo!

Da hatte Gero wohl recht, denn der neuer Bluetooth stick hat leider keiner Veränderung gebracht :(

Obwohl ich dann auch nicht mehr weiss wo ich da noch ansetzten könnte, Bluetooth habe ich bei allem Geräten im Haushalt deaktiviert!

Hier nochmal meine Daten, vielleicht hat ja doch noch einer eine Idee...

System: Ubuntu Server 14.04.01(Auf x86  Test Rechner) (der gleiche Fehler tritt auch auf einem Cubitruck und Pi auf)
Fhem: Unverändert installiert aus "aptitude"
Bluetooth stick: CSL - USB nano Bluetooth-Adapter V4.0


root@UbuntunServer:/home/steffen# hciconfig -a
hci0:   Type: BR/EDR  Bus: USB
        BD Address: 00:1A:7D:DA:71:0C  ACL MTU: 310:10  SCO MTU: 64:8
        UP RUNNING PSCAN
        RX bytes:48738 acl:0 sco:0 events:1430 errors:0
        TX bytes:954 acl:0 sco:0 commands:38 errors:0
        Features: 0xff 0xff 0x8f 0xfe 0xdb 0xff 0x5b 0x87
        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
        Link policy: RSWITCH HOLD SNIFF PARK
        Link mode: SLAVE ACCEPT
        Name: 'UbuntunServer-0'
        Class: 0x600100
        Service Classes: Audio, Telephony
        Device Class: Computer, Uncategorized
        HCI Version: 4.0 (0x6)  Revision: 0x22bb
        LMP Version: 4.0 (0x6)  Subversion: 0x22bb
        Manufacturer: Cambridge Silicon Radio (10)



root@UbuntunServer:/home/steffen# hcitool lescan
LE Scan ...
0E:0A:14:09:12:88 (unknown)
0E:0A:14:09:12:88 PebbleBee
0E:0A:14:09:12:88 (unknown)
0E:0A:14:09:12:88 PebbleBee
0E:0A:14:09:12:88 (unknown)
0E:0A:14:09:12:88 (unknown)
0E:0A:14:09:12:88 PebbleBee
0E:0A:14:09:12:88 (unknown)
0E:0A:14:09:12:88 PebbleBee
0E:0A:14:09:12:88 (unknown)
0E:0A:14:09:12:88 PebbleBee
0E:0A:14:09:12:88 (unknown)
0E:0A:14:09:12:88 PebbleBee
0E:0A:14:09:12:88 (unknown)
0E:0A:14:09:12:88 PebbleBee
0E:0A:14:09:12:88 (unknown)
0E:0A:14:09:12:88 PebbleBee
0E:0A:14:09:12:88 (unknown)
0E:0A:14:09:12:88 PebbleBee



Internals:
   CMD        /usr/bin/hcitool lescan
   CONNECTS   1
   DEF        /usr/bin/hcitool lescan
   FD         5
   LAST_CONNECT 2014-12-17 18:23:32
   NAME       pd
   NR         20
   NTFY_ORDER 50-pd
   PARTIAL
   PID        1019
   STATE      Connected
   TYPE       PRESENCED
   Helper:
     Devices:
       0E:0A:14:09:12:88 1418840043
       LE         1418837252
Attributes:



Internals:
   ADDRESS    0E:0A:14:09:12:88
   CHANGED
   DEF        local-PRESENCED 0E:0A:14:09:12:88
   MODE       local-PRESENCED
   NAME       PebbleBee
   NR         22
   STATE      absent
   TIMEOUT_NORMAL 30
   TIMEOUT_PRESENT 30
   TYPE       PRESENCE
   Readings:
     2014-12-17 19:17:07   state           absent
   Helper:
Attributes:
   event-on-change-reading state


"Hier scheint es ein wechsel Present-Absent in einem Abstand von ca.4 Minuten immer zu geben"
2014-12-17_19:34:57 PebbleBee absent
2014-12-17_19:35:27 PebbleBee absent
2014-12-17_19:35:57 PebbleBee present
2014-12-17_19:36:27 PebbleBee absent
2014-12-17_19:36:57 PebbleBee absent
2014-12-17_19:37:27 PebbleBee absent
2014-12-17_19:37:57 PebbleBee absent
2014-12-17_19:38:27 PebbleBee absent
2014-12-17_19:38:57 PebbleBee absent
2014-12-17_19:39:27 PebbleBee absent
2014-12-17_19:39:57 PebbleBee present
2014-12-17_19:40:28 PebbleBee absent
2014-12-17_19:40:58 PebbleBee absent
2014-12-17_19:41:28 PebbleBee absent
2014-12-17_19:41:58 PebbleBee absent
2014-12-17_19:42:28 PebbleBee absent
2014-12-17_19:42:58 PebbleBee absent
2014-12-17_19:43:28 PebbleBee absent
2014-12-17_19:43:58 PebbleBee absent
2014-12-17_19:44:28 PebbleBee present
2014-12-17_19:44:58 PebbleBee absent
2014-12-17_19:45:28 PebbleBee absent
2014-12-17_19:45:58 PebbleBee absent
2014-12-17_19:46:28 PebbleBee absent
2014-12-17_19:46:58 PebbleBee absent
2014-12-17_19:47:28 PebbleBee absent
2014-12-17_19:47:58 PebbleBee absent
2014-12-17_19:48:28 PebbleBee present
2014-12-17_19:48:58 PebbleBee absent


Es tut mir leid das ich hier den Chat hier mit meinem Problem so voll texte aber dieses Presence ist mir eigentlich wichtig,
hatte es vorher mit Handy gelöst aber das war nicht so zuverlässig weil oft Handy zu hause gelassen oder vergessen und deshalb dachte ich mit diesen Bluetag(wenn es denn Funktionieren würde) wäre die Beste Lösung!

Hoffe doch noch ein wenig auf euer Hilfe ;)

Mfg Steffen

gero

Zitat von: gero am 16 Dezember 2014, 11:05:57
- Deaktiviere alle Bluetooth Services auf deinem System. Die hci Zugriffe benötigen keinen laufenden bluetooth daemon. Evtl. ist ein hciconfig hci0 up notwendig. Ich weiß nicht, ob das im fhem Modul enthalten ist.
- Laß ein hcidump mitlaufen.

hcidump -t gibt dir zusätzlich timestamps aus.
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

gero

Zitat von: Steffen am 16 Dezember 2014, 10:54:30
Nein auch über die Konsole ist das gleiche, denn wenn ich ein "hcitool lescan" ausführe bekomme ich nur eine einzige Antwort vom Bluetag und nicht mehrere wie bei den anderen hier und deswegen glaube liegt es am Bluetooth stick, oder sehe ich das Falsch?

Mfg Steffen
In deinem letzten Posting sieht es aber anders aus. Der Tag scheint sich doch regelmäßig bei einem hcitool lescan auf der Konsole zu melden?
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

Steffen

Hallo!

Ja die Meldungen kommen jetzt Regelmäßig mit dem neuen Bluetooth Stick, denn mit dem Alten Bluetooth stick kam nur eine Meldung dann nichts mehr deshalb dache ich ja es liegt an dem alten Stick!

Habe jetzt mal ein Dump erstellt und unten eingefügt, reicht das oder besser länger?!

Mfg Steffen

gero

Zitat von: Steffen am 17 Dezember 2014, 20:18:15
Hallo!

Ja die Meldungen kommen jetzt Regelmäßig mit dem neuen Bluetooth Stick, denn mit dem Alten Bluetooth stick kam nur eine Meldung dann nichts mehr deshalb dache ich ja es liegt an dem alten Stick!


Bis du dir sicher?
In folgendem Post von dir, sieht man deutlich, dass auch mit deinem alten Bluetooth-Stick die Meldungen der PebbleBee regelmäßig kamen!?

Zitat von: Steffen am 12 Dezember 2014, 19:19:15


root@cubie:~# hcitool lescan --duplicates
LE Scan ...
0E:0A:14:09:12:88 (unknown)
0E:0A:14:09:12:88 PebbleBee
0E:0A:14:09:12:88 (unknown)
0E:0A:14:09:12:88 PebbleBee
0E:0A:14:09:12:88 (unknown)
0E:0A:14:09:12:88 PebbleBee
0E:0A:14:09:12:88 (unknown)
0E:0A:14:09:12:88 PebbleBee
0E:0A:14:09:12:88 (unknown)
0E:0A:14:09:12:88 PebbleBee
0E:0A:14:09:12:88 (unknown)
0E:0A:14:09:12:88 PebbleBee
0E:0A:14:09:12:88 (unknown)
0E:0A:14:09:12:88 PebbleBee
(hier kommen die Meldungen im Sekunden takt)


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

Steffen

Zitat von: gero am 17 Dezember 2014, 21:04:36
Bis du dir sicher?
In folgendem Post von dir, sieht man deutlich, dass auch mit deinem alten Bluetooth-Stick die Meldungen der PebbleBee regelmäßig kamen!?

Ja das war mit der option "--duplicates" ohne diese Option kam nur eine einzige!

Mfg Steffen

gero

Der hcidump sieht gut aus. Also kann der Fehler eigentlich nur in PRESENCED oder PRESENCE liegen.
Entweder funktioniert das autoflush in PRESENCED nicht richtig, oder PRESENCE hat irgendein Problem.

Bei einem List auf PRESENCED bekommst du hinter der Bluetooth-Adresse einen Timestamp angezeigt:
Helper:
     Devices:
       0E:0A:14:09:12:88 1418840043


kontrolliert mal mit einem wiederholten list, ob sich dieser Timestamp regelmäßig ändert.
Oder bau mal in der Funktion PRESENCED_Read entsprechende Log-Nachrichten ein, die ausgeben, was wann gelesen wird und wie das Parsingergebnis aussieht.
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

Steffen

Zitat von: gero am 17 Dezember 2014, 21:50:13
Bei einem List auf PRESENCED bekommst du hinter der Bluetooth-Adresse einen Timestamp angezeigt:
Helper:
     Devices:
       0E:0A:14:09:12:88 1418840043


kontrolliert mal mit einem wiederholten list, ob sich dieser Timestamp regelmäßig ändert.

Habe es jetzt mehr mal mal die zeit gestoppt bis sich der timestamp("list pd") ändert und das waren immer um die 4 minuten.
So ziemlich genau in diesen Abständen habe ich auch das Present in Fhem.

Hat das was damit zu tun???

Mfg Steffen

gero

Ja, das hat etwas damit zu tun, weil dieser Timestamp vom PRESENCE Modul verwendet wird.
In der 73_PRESENCED.pm in der Funktion PRESENCED_Read gibt es eine auskommentierte Log Zeile (zumindest in der Version die ich gerade gefunden habe). Nimm die Zeile mal rein,lass fhem eine Zeit lang auf loglevel 5 laufen und poste den Output.

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

Steffen

Zitat von: gero am 17 Dezember 2014, 23:32:37
Ja, das hat etwas damit zu tun, weil dieser Timestamp vom PRESENCE Modul verwendet wird.
In der 73_PRESENCED.pm in der Funktion PRESENCED_Read gibt es eine auskommentierte Log Zeile (zumindest in der Version die ich gerade gefunden habe). Nimm die Zeile mal rein,lass fhem eine Zeit lang auf loglevel 5 laufen und poste den Output.

Gruß,
Gero

Guten Morgen!

Ok danke schon mal für deine Geduld und Hilfe,
habe die Änderung in Presenced vorgenommen und das Log(Verbose 5) mitlaufen lassen und als Anhang unten eingefügt!

Mfg Steffen

gero

Gute Morgen,

wie ich vermutet habe, bekommt PRESENCED nur ca. alle 4 Minuten einen Input. Das autoflush für die Pipe zum hcitool scheint nicht zu funktioneren. Nach 4 Minuten gibt es dann einen erzwungenen Flush, weil die Pipe überläuft. An dieser Stelle ist wohl besser Andre gefragt, Ich bin kein Perl-Experte und habe das Modul selbst nicht in Betrieb.

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