Autor Thema: Neues Modul: 74_BleTagBattery - Batterie Informationen für BLE Tags  (Gelesen 11478 mal)

Offline binford6000

  • Full Member
  • ***
  • Beiträge: 471
  • 🏠⚙️🛠📱
Moin,
so ich habe mal alles ausprobiert jedoch leider ohne Erfolg...  :(
  • lepresenced beendet und BT Dongle ab- und angesteckt --> Connection refused (111)
  • lepresenced beendet und hciconfig down/up/reset --> Connection refused (111)
  • lepresenced bearbeitet mit constant RETRY_SLEEP = 20 und restart --> Connection refused (111)
Ich gebe auf. Hätte mich auch gewundert, wenn es diesmal funktioniert hätte. Ich tippe
mal auf meinen BT-Dongle. Vielleicht geht es ja demnächst nach Umzug auf rpi3 mit
intergiertem BT Device... Trotzdem gute Arbeit und Danke für den Support!

VG Sebastian
FHEM 5.8 auf RPi3, IOserver für alle CULs mit ser2net, Testumgebung: docker pull fhem/fhem
Homematic, EnOcean, IT, HUE + Nanoleaf Aurora,  SONOS, alexa-fhem, homebridge, TelegramBot mit msgDialog, livetracking

Offline mumpitzstuff

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1081
Das sieht irgendwie sehr danach aus, dass du entweder bei deiner Software Installation was falsch gemacht hast (Bluez nicht richtig installiert) oder dein Dongle keinen vernünftigen Bluetooth Low Energie Support bietet. Sollte dem so sein, gibts Ersatz für um die 10€ z.B. von CSL. Die Dinger sind recht vernünftig.

Offline Mumpitz

  • Full Member
  • ***
  • Beiträge: 231
Das sieht irgendwie sehr danach aus, dass du entweder bei deiner Software Installation was falsch gemacht hast (Bluez nicht richtig installiert) oder dein Dongle keinen vernünftigen Bluetooth Low Energie Support bietet. Sollte dem so sein, gibts Ersatz für um die 10€ z.B. von CSL. Die Dinger sind recht vernünftig.
Kannst Du mal den Typ posten, welchen Du im Einsatz hast und funktionier? Was hast Du für Erfahrungen mit der Reichweite?

Offline binford6000

  • Full Member
  • ***
  • Beiträge: 471
  • 🏠⚙️🛠📱
Zitat
Kannst Du mal den Typ posten, welchen Du im Einsatz hast und funktionier? Was hast Du für Erfahrungen mit der Reichweite?

Mein BT Donlge ist der hier: Inateck USB nano Bluetooth-Adapter V4.0

Die Reichweite ist sehr gut. Mein gtag wird idR. schon im Auto im Hof erkannt. Wohnung ist im 1. OG. Etwa 10-15m werden es sein.
VG Sebastian
FHEM 5.8 auf RPi3, IOserver für alle CULs mit ser2net, Testumgebung: docker pull fhem/fhem
Homematic, EnOcean, IT, HUE + Nanoleaf Aurora,  SONOS, alexa-fhem, homebridge, TelegramBot mit msgDialog, livetracking

Offline knopf_piano

  • Full Member
  • ***
  • Beiträge: 337
Hab mir damals auch nen neuen zugelegt, set dem klappt hcitool-scan, auch inateck
zotac nano, Bananapi-R1, fhem-trunk, hmlan, jeelink, zwave, tablet-ui,  ESPeasy, pywws, raspi, yamaha-671, ufs910-titan

Offline mumpitzstuff

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1081
Der Scan klappt ja bei ihm auch. Nur der Zugriff über Gatttool auf bestimmte Werte wie z.B. das Batterielevel nicht.
Wenn ich das im Internet richtig sehe, müsste das Ding eigentlich alles unterstützen. Bist du sicher das du bluez installiert hast und nicht nur ein Subset davon? Ist dein System aktuell (sudo apt-get update, sudo apt-get upgrade)? Bist du auf Raspbian Jessie oder irgend was altes? Ansonsten hab ich noch das hier gefunden:

https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=133246
https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=126899
https://eclipse.github.io/kura/doc/bluetooth-le-example.html

Offline binford6000

  • Full Member
  • ***
  • Beiträge: 471
  • 🏠⚙️🛠📱
Zitat
Ist dein System aktuell (sudo apt-get update, sudo apt-get upgrade)? Bist du auf Raspbian Jessie oder irgend was altes?

Ich habe ein aktuelles debian jessie mit bluez 5.23 am Laufen. Woran erkennt man ob bluez richtig instaliert ist?

pi@raspberrypi:~ $ bluetoothd -v
5.23
FHEM 5.8 auf RPi3, IOserver für alle CULs mit ser2net, Testumgebung: docker pull fhem/fhem
Homematic, EnOcean, IT, HUE + Nanoleaf Aurora,  SONOS, alexa-fhem, homebridge, TelegramBot mit msgDialog, livetracking

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15089
  • s/fhem\.cfg/configDB/g
Installation:
  • add the new update site: update add

Es gibt übrigens auch FHEM Anwender, die nicht die Standard-Update-Prozedur in ihrer FHEM Installation verwenden...
Gib doch bitte auch eine "normale" git URL an, wo man sich das Modul holen kann.
« Letzte Änderung: 11 März 2017, 00:53:56 von betateilchen »
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 14.12.2018 - 18:30 Uhr

Offline mumpitzstuff

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1081
Es gibt übrigens auch FHEM Anwender, die nicht die Standard-Update-Prozedur in ihrer FHEM Installation verwenden...
Gib doch bitte auch eine "normale" git URL an, wo man sich das Modul holen kann.

Ich habs im ersten Beitrag ganz unten hinzugefügt.

Offline Fixel2012

  • Hero Member
  • *****
  • Beiträge: 1218
Danke für das tolle Modul! Nach dem ich die Zeit im lepresenced-Script von 1 auf 5 Sekunden geändert habe, funktioniert es einwandfrei!



EDIT: Ich habe immer mal wieder Probleme mit der Verbindung zu meinem G-Tag. Nach dem zurück stellen von 5 auf eine Sekunde läuft wieder alles.

Im Moment nutze ich das Interne Bluetooth vom Raspi 3. Einen Stick habe ich hier auch noch rum fliegen, doch leider wird dieser nicht erkannt. Muss ich einen bestimmten Stick haben um ihn einbinden zu können? :o

Bzw. wie läuft der Betrieb von zwei Bluetooth devices an einem Gerät? Wäre jemand so nett und erläutert mir kurz wie ich zwei Geräte in FHEM einbinde  ??? 8)

Danke und Gruß Fixel
« Letzte Änderung: 14 März 2017, 19:55:31 von Fixel2012 »
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

Offline Jojo11

  • Sr. Member
  • ****
  • Beiträge: 988
Hallo,

auch ich habe dieses Modul jetzt mal installiert, scheitere aber genau wie einige Mitstreiter an diversen Fehlermeldungen :-\ Irgendwann habe ich mit gatttool auch mal einen Zustand ausgelesen - es funktioniert theoretisch also schon. Allerdings nur mit einem der zwei dongles, die ich im System habe. Ich habe einen RPI3 im Netz (on board BT) sowie 2 RPI 2 mit je einem dongle und dann noch einen FHEM-Server, der keinen dongle hat.
Da ich ungern für die Batterieüberwachung einen einzelnen dongle "opfern" möchte: Wäre es nicht möglich, die Batterie-Funktionalität in lepresenced zu integrieren? Oder geht das prinzipiell nicht? Ich fände es irgendwie logischer, wenn der Batteriezustand genau wie die Anwesenheit durch jeden BT-Satelliten im System gesammelt und per collectord dann entsprechend weitergegeben werden könnte. Dann müssten sich die unterschiedlichen Skripte auch nicht um den BT-Dongle streiten.

schöne Grüße
Jo
Zustimmung Zustimmung x 1 Liste anzeigen

Offline mumpitzstuff

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1081
Danke für das tolle Modul! Nach dem ich die Zeit im lepresenced-Script von 1 auf 5 Sekunden geändert habe, funktioniert es einwandfrei!



EDIT: Ich habe immer mal wieder Probleme mit der Verbindung zu meinem G-Tag. Nach dem zurück stellen von 5 auf eine Sekunde läuft wieder alles.

Im Moment nutze ich das Interne Bluetooth vom Raspi 3. Einen Stick habe ich hier auch noch rum fliegen, doch leider wird dieser nicht erkannt. Muss ich einen bestimmten Stick haben um ihn einbinden zu können? :o

Bzw. wie läuft der Betrieb von zwei Bluetooth devices an einem Gerät? Wäre jemand so nett und erläutert mir kurz wie ich zwei Geräte in FHEM einbinde  ??? 8)

Danke und Gruß Fixel

Dann stell doch mal das Modul auf Verbose 5 und schau dir das Resultat im Logfile an. Vielleicht gibt das mehr Aufschluss. Bei Verwendung eines zweiten Dongles kannst du lepresenced z.b. mit hci0 laufen lassen und alles andere wie zum Beispiel dieses Modul auf hci1. Im Modul kannst du dazu das Attribut hciDevice verwenden.

Offline mumpitzstuff

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1081
Hallo,

auch ich habe dieses Modul jetzt mal installiert, scheitere aber genau wie einige Mitstreiter an diversen Fehlermeldungen :-\ Irgendwann habe ich mit gatttool auch mal einen Zustand ausgelesen - es funktioniert theoretisch also schon. Allerdings nur mit einem der zwei dongles, die ich im System habe. Ich habe einen RPI3 im Netz (on board BT) sowie 2 RPI 2 mit je einem dongle und dann noch einen FHEM-Server, der keinen dongle hat.
Da ich ungern für die Batterieüberwachung einen einzelnen dongle "opfern" möchte: Wäre es nicht möglich, die Batterie-Funktionalität in lepresenced zu integrieren? Oder geht das prinzipiell nicht? Ich fände es irgendwie logischer, wenn der Batteriezustand genau wie die Anwesenheit durch jeden BT-Satelliten im System gesammelt und per collectord dann entsprechend weitergegeben werden könnte. Dann müssten sich die unterschiedlichen Skripte auch nicht um den BT-Dongle streiten.

schöne Grüße
Jo

Ich habe lepresenced leider nicht geschrieben, aber das dürfte auch so kaum möglich sein. Lepresenced benötigt hcitool und alles andere gatttool und beide Tools vertragen sich nicht. Es gewinnt immer nur eins der beiden Tools. Um das zu umgehen müsste man sehr tief in die Bluetooth Treiber absteigen...

Darüber hinaus würde mich interessieren was die Fehlermeldungen sind. Kannst du einfach auf verbose 5 gehen und mir dann den Output aus dem Logfile zukommen lassen? Was passiert wenn du versuchst den Status manuell mehrfach hintereinander zu holen? Geht dann die Anfrage durch?

Offline SouzA

  • Full Member
  • ***
  • Beiträge: 249
Hi,

erstmal herzlichen Dank für dieses Modul!

Aber:
ich habe drei GTags über lepresenced eingebunden.
Alle drei haben folgendes Attribut:
Attributes:
   bluetooth_hci_device hci1
Das ist die interne Schnittstelle vom Raspi3.

Das BleTagBattery-Modul schaut in Summe so aus:
Internals:
   NAME       Bat_Gtags
   NR         280
   STATE      active
   TYPE       BleTagBattery
   VERSION    0.0.3
   Readings:
     2017-04-13 11:52:29   state           active
   Helper:
     01_Gtag  public
     02_Gtag  public
Attributes:
   hciDevice  hci0
   room       Residents,Tools
Hier habe ich auf den Bluetooth-Stick gezeigt. (hci0)

Aus irgendeinem Grund findet der den 03_Gtag nicht.
Hat jemand eine Ahnung warum?

Vielen Dank für Antwort.

Bis denn
SouzA

EDIT:
Wenn ich mit set Bat_Gtags statusRequest die aktualisierung force, wird auch nur 01_Gtag zuverlässig aktualisiert.
Dazu auch noch das log:

2017.04.13 12:10:07 4: Sub BleTagBattery_Run (Bat_Gtags) - start blocking call
2017.04.13 12:10:07 5: Sub BleTagBattery_stateRequest (Bat_Gtags) - state request called
2017.04.13 12:10:07 4: Sub BleTagBattery_BlockingRun (Bat_Gtags) - device found. device: 01_Gtag
2017.04.13 12:10:07 4: Sub BleTagBattery_BlockingRun (Bat_Gtags) - device name: Gigaset G-tag
2017.04.13 12:10:07 4: Sub BleTagBattery_BlockingRun (Bat_Gtags) - device address: 7C:2F:80:AD:8D:84
2017.04.13 12:10:07 4: Sub BleTagBattery_BlockingRun (Bat_Gtags) - tag already saved in hash
2017.04.13 12:10:10 4: Sub BleTagBattery_readSensorValue (Bat_Gtags) - call gatttool char read loop: 0, result: handle: 0x001b value: 55

2017.04.13 12:10:10 4: Sub BleTagBattery_readSensorValue (Bat_Gtags) - processing gatttool response: 55
2017.04.13 12:10:10 4: Sub BleTagBattery_BlockingRun (Bat_Gtags) - processing gatttool response for device 01_Gtag. batteryLevel: 85
2017.04.13 12:10:10 4: Sub BleTagBattery_BlockingRun (Bat_Gtags) - device found. device: 02_Gtag
2017.04.13 12:10:10 4: Sub BleTagBattery_BlockingRun (Bat_Gtags) - device name: Gigaset G-tag
2017.04.13 12:10:10 4: Sub BleTagBattery_BlockingRun (Bat_Gtags) - device address: 7C:2F:80:AD:AD:4D
2017.04.13 12:10:10 4: Sub BleTagBattery_BlockingRun (Bat_Gtags) - tag already saved in hash
2017.04.13 12:10:12 4: Sub BleTagBattery_readSensorValue (Bat_Gtags) - call gatttool char read loop: 0, result: handle: 0x001b value: 64

2017.04.13 12:10:12 4: Sub BleTagBattery_readSensorValue (Bat_Gtags) - processing gatttool response: 64
2017.04.13 12:10:12 4: Sub BleTagBattery_BlockingRun (Bat_Gtags) - processing gatttool response for device 02_Gtag. batteryLevel: 100
2017.04.13 12:10:12 4: Sub BleTagBattery_BlockingRun (Bat_Gtags) - device found. device: 03_Gtag
2017.04.13 12:10:12 4: Sub BleTagBattery_BlockingRun (Bat_Gtags) - device name: Gigaset G-tag
2017.04.13 12:10:12 4: Sub BleTagBattery_BlockingRun (Bat_Gtags) - device address: 7C:2F:80:AD:AD:4E
2017.04.13 12:10:12 4: Sub BleTagBattery_BlockingRun (Bat_Gtags) - try to connect with public
2017.04.13 12:10:13 4: Sub BleTagBattery_readSensorValue (Bat_Gtags) - call gatttool char read loop: 0, result: connect error: Software caused connection abort (103)

2017.04.13 12:10:13 4: Sub BleTagBattery_readSensorValue (Bat_Gtags) - call gatttool char read loop: 1, result: connect: No route to host (113)

2017.04.13 12:10:13 4: Sub BleTagBattery_readSensorValue (Bat_Gtags) - call gatttool char read loop: 2, result: connect: No route to host (113)

2017.04.13 12:10:13 4: Sub BleTagBattery_readSensorValue (Bat_Gtags) - call gatttool char read loop: 3, result: connect: No route to host (113)

2017.04.13 12:10:13 4: Sub BleTagBattery_readSensorValue (Bat_Gtags) - call gatttool char read loop: 4, result: connect: No route to host (113)

2017.04.13 12:10:13 4: Sub BleTagBattery_readSensorValue (Bat_Gtags) - invalid gatttool response
2017.04.13 12:10:13 4: Sub BleTagBattery_BlockingRun (Bat_Gtags) - try to connect with random
2017.04.13 12:10:13 4: Sub BleTagBattery_readSensorValue (Bat_Gtags) - call gatttool char read loop: 0, result: connect: No route to host (113)

2017.04.13 12:10:13 4: Sub BleTagBattery_readSensorValue (Bat_Gtags) - call gatttool char read loop: 1, result: connect: No route to host (113)

2017.04.13 12:10:13 4: Sub BleTagBattery_readSensorValue (Bat_Gtags) - call gatttool char read loop: 2, result: connect: No route to host (113)

2017.04.13 12:10:13 4: Sub BleTagBattery_readSensorValue (Bat_Gtags) - call gatttool char read loop: 3, result: connect: No route to host (113)

2017.04.13 12:10:13 4: Sub BleTagBattery_readSensorValue (Bat_Gtags) - call gatttool char read loop: 4, result: connect: No route to host (113)

2017.04.13 12:10:13 4: Sub BleTagBattery_readSensorValue (Bat_Gtags) - invalid gatttool response
2017.04.13 12:10:13 4: Sub BleTagBattery_BlockingRun (Bat_Gtags) - tag not supported
2017.04.13 12:10:13 4: Sub BleTagBattery_BlockingRun (Bat_Gtags) - processing gatttool response for device 03_Gtag. batteryLevel:
2017.04.13 12:10:13 4: Sub BleTagBattery_BlockingDone (Bat_Gtags) - set readings batteryLevel and battery of device: 01_Gtag
2017.04.13 12:10:13 4: Sub BleTagBattery_BlockingDone (Bat_Gtags) - set readings batteryLevel and battery of device: 02_Gtag
2017.04.13 12:10:13 4: Sub BleTagBattery_BlockingDone (Bat_Gtags) - done
« Letzte Änderung: 13 April 2017, 12:16:45 von SouzA »
Raspi 3, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, WifiLight, AMAD, FRITZBOX, TelegramBot, VIERA, Presence BT/Mac
Fhem 5.9

Offline mumpitzstuff

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1081
Den Fehler "Software caused connection abort (103)" habe ich bei mir noch nie zu Gesicht bekommen. Laut Internet bedeutet dieser Fehler, dass sich der Bluetooth Dongle verabschiedet hat und danach nichts mehr geht. Deshalb wird auch dein dritter G-Tag nicht mehr erkannt. Laut Google kommen 2 Dinge in Betracht:

  • Dein Bluetooth Dongle ist nicht der Beste. Mögliche Lösung: Versuch mal lepresenced auf hci0 und BleTagBattery auf hci1 zu setzen, also jeweils den anderen Dongle zu verwenden.
  • Du hast ein Bluez installiert, dass nicht richtig funktioniert. Siehe hierzu z.B. folgenden Beitrag. https://bugreports.qt.io/browse/QTBUG-44622 Die Empfehlung irgendwelche Bluez Versionen manuell zu installieren, möchte ich jetzt aber lieber nicht aussprechen. Versuch erst mal die Dongles zu tauschen.

Das Modul funktioniert auf jeden Fall korrekt. Wenn sich der Dongle ab und zu verabschiedet oder der Bluetooth Stack, dann kann ich da leider vom Modul her nicht viel machen. Falls jemand noch eine Idee hat, wie man das Problem im Modul angehen könnte, dann bin ich für Ratschläge offen.

 

decade-submarginal