Neues Modul: 74_BleTagBattery - Batterie Informationen für BLE Tags

Begonnen von mumpitzstuff, 27 Februar 2017, 21:29:50

Vorheriges Thema - Nächstes Thema

valvak

Ich bekomme ja grundsätzlich die Batterie Info von dann Tags. Aber meistens nur einen und die anderen aktualisieren sich nie, auch nicht in den 6 Stunden obwohl sie alle an einer Position liegen.
Sind auch alles die gleichen Gigaset Tags. Aber ich stelle mal auf verbose 5

mumpitzstuff

Das sollte eigentlich funktionieren, wenn die Abfragen nicht unterbrochen werden. Lepresenced oder sowas sollte nicht auf dem gleichen Bluetooth Dongle laufen...
Ich habe hier 3 Tags und die laufen einwandfrei.

valvak

Ne also ich steh da echt auf dem Schlauch. Nochmal zur Erinnerung:
ibeacon - hci2
lepresenced - hci0
Batterie - hci1
Auch alles soweit richtig in den configs bzw attr eingestellt.

pi@raspHOME:~ $ sudo gatttool -i hci1 -b 7C:2F:80:EA:FE:45 --char-read --handle=0x001b
Characteristic value/descriptor: 55
pi@raspHOME:~ $ sudo gatttool -i hci1 -b 7C:2F:80:EA:FE:45 --char-read --handle=0x001b
connect error: Function not implemented (38)
pi@raspHOME:~ $ sudo gatttool -i hci1 -b 7C:2F:80:EA:FE:45 --char-read --handle=0x001b
connect error: Transport endpoint is not connected (107)
pi@raspHOME:~ $ sudo gatttool -i hci1 -b 7C:2F:80:EA:FE:45 --char-read --handle=0x001b
connect error: Function not implemented (38)
pi@raspHOME:~ $ sudo gatttool -i hci1 -b 7C:2F:80:EA:FE:45 --char-read --handle=0x001b
connect error: Function not implemented (38)
pi@raspHOME:~ $ sudo gatttool -i hci1 -b 7C:2F:80:EA:FE:45 --char-read --handle=0x001b
connect error: Function not implemented (38)

Das ist die Abfrage meines Tags in der Konsole.
Nach umstellen auf verbose 5 komm ich aber auch nicht weiter:

2018.12.22 02:40:19 4: Sub BleTagBattery_Run (BleTagBattery) - start blocking call
2018.12.22 02:40:19 5: Sub BleTagBattery_stateRequest (BleTagBattery) - state request called
2018.12.22 02:40:19 4: Sub BleTagBattery_BlockingRun (BleTagBattery) - device found. device: BTag_Leon
2018.12.22 02:40:19 4: Sub BleTagBattery_BlockingRun (BleTagBattery) - device name: Gigaset G-tag
2018.12.22 02:40:19 4: Sub BleTagBattery_BlockingRun (BleTagBattery) - device address: 7C:2F:80:EA:F9:F0
2018.12.22 02:40:19 4: Sub BleTagBattery_BlockingRun (BleTagBattery) - try to connect with public
2018.12.22 02:40:59 4: Sub BleTagBattery_readSensorValue (BleTagBattery) - call gatttool char read loop: 0, result: connect error: Connection refused (111)

2018.12.22 02:41:39 4: Sub BleTagBattery_readSensorValue (BleTagBattery) - call gatttool char read loop: 1, result: connect error: Connection refused (111)

2018.12.22 02:42:20 4: Sub BleTagBattery_readSensorValue (BleTagBattery) - call gatttool char read loop: 2, result: connect error: Connection refused (111)

2018.12.22 02:43:00 4: Sub BleTagBattery_readSensorValue (BleTagBattery) - call gatttool char read loop: 3, result: connect error: Connection refused (111)

2018.12.22 02:43:40 4: Sub BleTagBattery_readSensorValue (BleTagBattery) - call gatttool char read loop: 4, result: connect error: Connection refused (111)

2018.12.22 02:43:40 4: Sub BleTagBattery_readSensorValue (BleTagBattery) - invalid gatttool response
2018.12.22 02:43:40 4: Sub BleTagBattery_BlockingRun (BleTagBattery) - try to connect with random
2018.12.22 02:44:20 1: Timeout for BleTagBattery_BlockingRun reached, terminated process 14601
2018.12.22 02:44:20 3: (BleTagBattery) Sub BleTagBattery_BlockingAborted - BlockingCall process terminated unexpectedly: timeout


Ich bin auch nicht der Linux-Profi. Ich verstehe grundsätzlich dass die Dienste nicht auf einem Stick laufen können, was mir die Aussagen oben sagen sollen aber leider nicht.

Achso und eine Umstellung der Devices bringt das gleiche Resultat. Nur der beacon kommt komischerweise nur mit dem Onboard BT zurecht. Wenn ich den auf nen Dongle setze sendet er keine UUID. Sprich mir stehen nur 2 identische Sticks zur Verfügung. Sind beides CSL BT 4.0 Adapter... Chipsatz ist laut Amazon wohl Chipsatz: CSR 8510 A10-Controller.

valvak

Nach shutdown -r now dann wieder im fhem

2018.12.22 12:14:06 1: Timeout for BleTagBattery_BlockingRun reached, terminated process 1424
2018.12.22 12:14:06 3: (BleTagBattery) Sub BleTagBattery_BlockingAborted - BlockingCall process terminated unexpectedly: timeout


Ist halt irgendwie null reproduzierbar

mumpitzstuff

Hmm solange du nicht mal auf der Console ein reproduzierbares Ergebnis bekommst, wird das Modul leider auch nicht viel machen können. Der Bluetooth Support unter Linux ist gelinde gesagt sch...
Was mir noch einfällt, die Tags sollten nicht mit irgendeiner App auf deinem Handy gekoppelt sein, das kann eventuell auch zu Problemen führen. Ansonsten mach dir das Leben nicht deswegen zur Hölle. Es ist nur ein Batteriereading. Da gibts elementarere Dinge bei der Heimautomatisierung.

valvak

Ja ist schon richtig. Ist eher sekundär. Aber wenn man sonst alles am laufen hat sucht man sich Baustellen  :P

Es gibt zwar immer was zutun, aber ich arbeite gerne was ab bevor ich neues anfange. Naja ich werd's mal im Auge behalten. Schade um den eine Stick der quasi nix macht

t1me2die

Ich habe tatsächlich dasselbe Problem wie valvak.


2019.01.19 17:54:58 1: Timeout for BleTagBattery_BlockingRun reached, terminated process 12168
2019.01.19 17:54:58 3: (iBeacon_Batterie) Sub BleTagBattery_BlockingAborted - BlockingCall process terminated unexpectedly: timeout
2019.01.20 17:56:02 1: Timeout for BleTagBattery_BlockingRun reached, terminated process 12931
2019.01.20 17:56:02 3: (iBeacon_Batterie) Sub BleTagBattery_BlockingAborted - BlockingCall process terminated unexpectedly: timeout
2019.01.21 11:56:51 1: Timeout for BleTagBattery_BlockingRun reached, terminated process 13562
2019.01.21 11:56:51 3: (iBeacon_Batterie) Sub BleTagBattery_BlockingAborted - BlockingCall process terminated unexpectedly: timeout
2019.01.22 11:57:17 1: Timeout for BleTagBattery_BlockingRun reached, terminated process 14231
2019.01.22 11:57:17 3: (iBeacon_Batterie) Sub BleTagBattery_BlockingAborted - BlockingCall process terminated unexpectedly: timeout
2019.01.22 17:57:42 1: Timeout for BleTagBattery_BlockingRun reached, terminated process 14395
2019.01.22 17:57:42 3: (iBeacon_Batterie) Sub BleTagBattery_BlockingAborted - BlockingCall process terminated unexpectedly: timeout
2019.01.23 11:58:24 1: Timeout for BleTagBattery_BlockingRun reached, terminated process 15028
2019.01.23 11:58:24 3: (iBeacon_Batterie) Sub BleTagBattery_BlockingAborted - BlockingCall process terminated unexpectedly: timeout


Was mir aufgefallen ist, ca. 1x am Tag schmiert meine lan-bluetooth Presence Erkennung ab.
Anwesende Beacons werden nicht mehr erkannt.

Erst nach einem

hcitool lescan

per SSH läuft die Presence Erkennung wieder.
Warum die Erkennung abschmiert weiß ich nicht.
Ich habe nun erstmal das BleTagBattery Device disabled und schaue, ob es eine Verbesserung die nächsten Tage gibt.

Gruß
Mathze

mumpitzstuff

lepresenced und irgend einen anderen bluetooth service über das selbe Interface laufen zu lassen, ist eine ganz schlechte Idee. Das funktioniert nur mit sehr viel Glück. Wenn dein Bluetooth dauerhaft abschmiert, dann kann das Modul auch nichts mehr machen.

t1me2die

Auf dieser VM nutze ich lediglich lepresenced.
Keinen anderen Bluetooth Service.

mumpitzstuff

Das Abfragen der Batterieinfos ist doch ein anderer Service.

t1me2die

Ach so meinst du das, ich dachte bei Services an: presence und lepresence, die beide auf dasselbe physische IO zugreifen.

mumpitzstuff

lepresenced versetzt ein bluetooth Device in einen Zustand, in dem es für alles andere geblockt ist. Man kann dann im Prinzip nichts aber auch gar nichts anderes mit dem Bluetooth Dongle mehr anfangen. Will man batterieinfos zusätzlich haben, dann sollte man sich einen zweiten Bluetooth Dongle anschaffen.

tarum

Hallo,

besteht die Möglichkeit die Batterie abfragen auch remote über ssh zu machen wie beim     
XiaomiBTLESens Modul
Linux Server 22.04 CUL 868+433, CCU3, Homematic, Intertechno, FritzDect 200, JeeLink+LaCrosse, Duofern Stick+Rollotron Gurtwickler,smartVISU-3.0.0

mumpitzstuff

Wenn ich kurz mal die Kommentare so überfliege und die massenhaft auftretenden Probleme bei diesem Feature sehe, eher nicht.

Gasmast3r

Hallo habe das Modul nach langem mal Aktiviert, habe 2 Zero Pi für die Anwesenheit und meine Heizungssteuerung am laufen, mittlerweile mit je 2 Dongle.

bekomme aber kein Aktuelles Reading in mein Device geschrieben, laut Log(so lese ich das bekommt er die werte)


2019.09.30 17:56:49 4: Sub BleTagBattery_Run (Batterie) - start blocking call
2019.09.30 17:56:49 5: Sub BleTagBattery_stateRequest (Batterie) - state request called
2019.09.30 17:56:49 4: Sub BleTagBattery_BlockingRun (Batterie) - device found. device: Sonja_Cam
2019.09.30 17:56:49 4: Sub BleTagBattery_BlockingRun (Batterie) - device name: Gigaset G-tag
2019.09.30 17:56:49 4: Sub BleTagBattery_BlockingRun (Batterie) - device address: 7C:2F:80:96:3D:CE
2019.09.30 17:56:49 4: Sub BleTagBattery_BlockingRun (Batterie) - try to connect with public
2019.09.30 17:56:54 4: Sub BleTagBattery_readSensorValue (Batterie) - call gatttool char read loop: 0, result: handle: 0x001b value: 55

2019.09.30 17:56:54 4: Sub BleTagBattery_readSensorValue (Batterie) - processing gatttool response: 55
2019.09.30 17:56:54 4: Sub BleTagBattery_BlockingRun (Batterie) - processing gatttool response for device Sonja_Cam. batteryLevel: 85
2019.09.30 17:56:54 4: Sub BleTagBattery_BlockingRun (Batterie) - device found. device: Sonja_Cam1
2019.09.30 17:56:54 4: Sub BleTagBattery_BlockingRun (Batterie) - device name: Gigaset G-tag
2019.09.30 17:56:54 4: Sub BleTagBattery_BlockingRun (Batterie) - device address: 7C:2F:80:96:3D:CE
2019.09.30 17:56:54 4: Sub BleTagBattery_BlockingRun (Batterie) - try to connect with public
2019.09.30 17:56:54 4: Sub BleTagBattery_readSensorValue (Batterie) - call gatttool char read loop: 0, result: handle: 0x001b value: 55

2019.09.30 17:56:54 4: Sub BleTagBattery_readSensorValue (Batterie) - processing gatttool response: 55
2019.09.30 17:56:54 4: Sub BleTagBattery_BlockingRun (Batterie) - processing gatttool response for device Sonja_Cam1. batteryLevel: 85
2019.09.30 17:56:54 4: Sub BleTagBattery_BlockingRun (Batterie) - device found. device: Sven_Cam
2019.09.30 17:56:54 4: Sub BleTagBattery_BlockingRun (Batterie) - device name: Gigaset G-tag
2019.09.30 17:56:54 4: Sub BleTagBattery_BlockingRun (Batterie) - device address: 7C:2F:80:AD:C7:ED
2019.09.30 17:56:54 4: Sub BleTagBattery_BlockingRun (Batterie) - try to connect with public
2019.09.30 17:56:56 4: Sub BleTagBattery_readSensorValue (Batterie) - call gatttool char read loop: 0, result: handle: 0x001b value: 5e

2019.09.30 17:56:56 4: Sub BleTagBattery_readSensorValue (Batterie) - processing gatttool response: 5e
2019.09.30 17:56:56 4: Sub BleTagBattery_BlockingRun (Batterie) - processing gatttool response for device Sven_Cam. batteryLevel: 94
2019.09.30 17:56:56 4: Sub BleTagBattery_BlockingRun (Batterie) - device found. device: Sven_Cam1
2019.09.30 17:56:56 4: Sub BleTagBattery_BlockingRun (Batterie) - device name: Gigaset G-tag
2019.09.30 17:56:56 4: Sub BleTagBattery_BlockingRun (Batterie) - device address: 7C:2F:80:AD:C7:ED
2019.09.30 17:56:56 4: Sub BleTagBattery_BlockingRun (Batterie) - try to connect with public
2019.09.30 17:56:56 4: Sub BleTagBattery_readSensorValue (Batterie) - call gatttool char read loop: 0, result: handle: 0x001b value: 5e

2019.09.30 17:56:56 4: Sub BleTagBattery_readSensorValue (Batterie) - processing gatttool response: 5e
2019.09.30 17:56:56 4: Sub BleTagBattery_BlockingRun (Batterie) - processing gatttool response for device Sven_Cam1. batteryLevel: 94
2019.09.30 17:56:56 4: Sub BleTagBattery_BlockingRun (Batterie) - device found. device: Test_Cam
2019.09.30 17:56:56 4: Sub BleTagBattery_BlockingRun (Batterie) - device name: iTAG           
2019.09.30 17:56:56 4: Sub BleTagBattery_BlockingRun (Batterie) - device address: FF:FF:C0:17:CB:C6
2019.09.30 17:56:56 4: Sub BleTagBattery_BlockingRun (Batterie) - try to connect with public
2019.09.30 17:57:15 4: Sub BleTagBattery_readSensorValue (Batterie) - call gatttool char read loop: 0, result: connect error: Transport endpoint is not connected (107)

2019.09.30 17:57:27 4: Sub BleTagBattery_readSensorValue (Batterie) - call gatttool char read loop: 1, result: connect error: Transport endpoint is not connected (107)

2019.09.30 17:57:30 4: Sub BleTagBattery_readSensorValue (Batterie) - call gatttool char read loop: 2, result: connect error: Transport endpoint is not connected (107)

2019.09.30 17:57:48 4: Sub BleTagBattery_readSensorValue (Batterie) - call gatttool char read loop: 3, result: connect error: Transport endpoint is not connected (107)

2019.09.30 17:57:54 4: Sub BleTagBattery_readSensorValue (Batterie) - call gatttool char read loop: 4, result: connect error: Transport endpoint is not connected (107)

2019.09.30 17:57:54 4: Sub BleTagBattery_readSensorValue (Batterie) - invalid gatttool response
2019.09.30 17:57:54 4: Sub BleTagBattery_BlockingRun (Batterie) - try to connect with random
2019.09.30 17:58:35 4: Sub BleTagBattery_readSensorValue (Batterie) - call gatttool char read loop: 0, result: connect error: Connection refused (111)

2019.09.30 17:59:16 4: Sub BleTagBattery_readSensorValue (Batterie) - call gatttool char read loop: 1, result: connect error: Connection refused (111)

2019.09.30 17:59:56 4: Sub BleTagBattery_readSensorValue (Batterie) - call gatttool char read loop: 2, result: connect error: Connection refused (111)

2019.09.30 18:00:37 4: Sub BleTagBattery_readSensorValue (Batterie) - call gatttool char read loop: 3, result: connect error: Connection refused (111)

2019.09.30 18:00:49 1: Timeout for BleTagBattery_BlockingRun reached, terminated process 11096
2019.09.30 18:00:49 3: (Batterie) Sub BleTagBattery_BlockingAborted - BlockingCall process terminated unexpectedly: timeout


jemand ne idee??


Internals:
   CFGFN     
   FUUID      5d8f64be-f33f-ae7c-2687-00c8c07272d1284f
   NAME       Batterie
   NR         43267
   STATE      active
   TYPE       BleTagBattery
   VERSION    0.0.3
   READINGS:
     2019-09-30 17:56:49   state           active
   helper:
Attributes:
   hciDevice  hci0
   room       Anwesenheit
   verbose    5