[Erledigt]: Anwesenheitserkennung/Batterieüberwachung

Begonnen von micky0867, 22 August 2016, 20:02:01

Vorheriges Thema - Nächstes Thema

baumix

Hi,

Zitat von: micky0867 am 22 Februar 2017, 13:40:37
"strtonum" kommt vom awk...meiner kann das... Da muss ich wohl besser selbst umrechnen 🤔

Jepp, bei mir war mawk installiert ... seit dem ich das durch gawk ersetzt habe, funktioniert es!

baumix

Hi,

Zitat von: mumpitzstuff am 23 Februar 2017, 17:47:02
Ihr solltet nicht vergessen, dass dieses Skript für unterschiedliche BLE Tags Anpassungen benötigt, weil diese manchmal den random Parameter beim Gatttool Aufruf benötigen oder andere uuids oder handles verwenden für den Batteriestatus. Im Prinzip müsste man
[...]

Ja, das ist wahr. Deswegen hatte ich mich ja eingeklinkt  ;) Ich bin nicht so der Held beim Skripten ...

Zitat
Ich würde deshalb vorschlagen, dass wenn es bei jemanden läuft, derjenige ein list vom BLE Tag zusammen mit den verwendeten gatttool Aufrufparamern postet. Dann können andere mit dem gleichen Tag diese Settings übernehmen und können auftretende Probleme woanders suchen.

Gute Idee. Aber wie aussagekräftig ist ein list? Letztlich entscheidend ist doch nur der device_name, oder?

Bei mir funktioniert es nun, nachdem ich folgende Zeile im Skript angepasst (und gawk statt mawk installiert) habe:

    LEVEL=$(gatttool -t $TYPE -b $ADDR --char-read --handle=0x001f 2>&1 | awk '{if($1 == "Characteristic") {printf("%d\n",strtonum("0x"$3))}

Gatttool bringt folgende Ausgabe:

# gatttool -t public -b 08:7C:BE:00:32:EE --char-read --handle=0x001f
Characteristic value/descriptor: 54


Bin erst seit ein paar Tagen am Testen und die Batterie ist schon auf 84% runter ... da bin ich ja mal gespannt  :-\

Grüße

Baumix

mumpitzstuff

Das mit der Liste habe ich deshalb angesprochen, weil ich bereits dran bin das Skript in ein Fhem Modul zu packen. Damit das für unterschiedliche tags funktioniert brauch ich halt je den Namen und den funktionierenden gatttool Aufruf. Ich muss mal sehen ob es funktioniert und dann melde ich mich dann noch mal.

Das würde euch die Installation sehr vereinfachen.

micky0867

Ich habe lebattery jetzt auf gawk umgestellt.

Gesendet von meinem Toaster.


mumpitzstuff

Hat jemand Lust mal meinen ersten Versuch eines FHEM Moduls dafür zu testen? Bei mir gehts auf jeden Fall mit 2 G-Tags. Die nut Devices hab ich auch drin, da kann ich aber nichts garantieren, da ungetestet. Ich würde gern die Liste der unterstützten Tags nach und nach erweitern und eventuell vorhandene Bugs beheben.

Funktionsweise: Das Modul macht im Prinzip das, was vorher das Shellskript gemacht hat, nur eben innerhalb von FHEM und mit minimalem Installationsaufwand. Es fragt alle 6h die Tags ab, die innerhalb von PRESENCE mit lan-bluetooth eingerichtet wurden und ergänzt dann im Device das Reading "batteryLevel".

Installation:
- be sure that bluez is installed: sudo apt-get install bluez
- add the new update site: update add http://raw.githubusercontent.com/mumpitzstuff/fhem-BleTagBattery/master/controls_bletagbattery.txt
- run the update and wait until finished: update all
- restart fhem: shutdown restart
- define a new device: define <name of device> BleTagBattery


Ich würde mich freuen, wenn es mal jemand mit einem G-Tag testen könnte und mir eine kurze Rückmeldung geben könnte. Das Ding ist aktuell aber mit heißer Nadel gestrickt, es können also durchaus noch Fehler drin sein.

Bei positiver Rückmeldung mache ich einen separaten Beitrag auf, um mehr Feedback bzw. Informationen darüber zu erhalten, wie ich weitere Tags unterstützen kann.

hartenthaler

#35
Also ich habe das mal getestet. Das einzige Reading, das angezeigt wird ist "state" und hat den Wert "active". Aber mein logfile hat sehr viele neue Einträge:

2017.02.26 23:42:58 3: pr_Gtag_rot device opened
2017.02.26 23:42:58 0: Featurelevel: 5.8
2017.02.26 23:42:58 0: Server started with 197 defined entities (fhem.pl:13501/2017-02-24 perl:5.020002 os:linux user:fhem pid:4294)
2017.02.26 23:42:59 3: telnetForBlockingFn_1488148979: port 40826 opened
2017.02.26 23:43:45 3: Sub BleTagBattery_Define (tag_battery) - defined
2017.02.26 23:43:45 3: list MODE=lan-bluetooth : Internals:
   ADDRESS    xx:xx:xx:xx:xx:xx
   DEF        lan-bluetooth xx:xx:xx:xx:xx:xx 127.0.0.1:5333 60
   DeviceName 127.0.0.1:5333
   MODE       lan-bluetooth
   NAME       pr_Gtag_rot
   NOTIFYDEV  global
   NR         458
   NTFY_ORDER 50-pr_Gtag_rot
   PARTIAL   
   STATE      absent
   TIMEOUT_NORMAL 60
   TIMEOUT_PRESENT 60
   TYPE       PRESENCE
   Readings:
     2016-04-22 22:08:03   device_name     Gigaset G-tag
     2017-02-26 23:42:59   presence        absent
     2017-02-26 23:42:59   state           absent
   Helper:
     ABSENT_COUNT 0
     CURRENT_TIMEOUT normal
Attributes:
   group      Gtag
   room       Präsenz

2017.02.26 23:43:45 3: list Internals: : No device named Internals: found
2017.02.26 23:43:45 3: list ADDRESS : No device named ADDRESS found
2017.02.26 23:43:45 3: list DEF : No device named DEF found
2017.02.26 23:43:45 3: list lan-bluetooth : No device named lan-bluetooth found
2017.02.26 23:43:45 3: list 127.0.0.1:5333 : No device named 127.0.0.1:5333 found
2017.02.26 23:43:45 3: list 60 : No device named 60 found
2017.02.26 23:43:45 3: list DeviceName : No device named DeviceName found
2017.02.26 23:43:45 3: list 127.0.0.1:5333 : No device named 127.0.0.1:5333 found
2017.02.26 23:43:45 3: list MODE : No device named MODE found
2017.02.26 23:43:45 3: list lan-bluetooth : No device named lan-bluetooth found
2017.02.26 23:43:45 3: list NAME : No device named NAME found
2017.02.26 23:43:45 3: list pr_Gtag_rot : Internals:
   ADDRESS    xx:xx:xx:xx:xx:xx
   DEF        lan-bluetooth xx:xx:xx:xx:xx:xx 127.0.0.1:5333 60
   DeviceName 127.0.0.1:5333
   MODE       lan-bluetooth
   NAME       pr_Gtag_rot
   NOTIFYDEV  global
   NR         458
   NTFY_ORDER 50-pr_Gtag_rot
   PARTIAL   
   STATE      absent
   TIMEOUT_NORMAL 60
   TIMEOUT_PRESENT 60
   TYPE       PRESENCE
   Readings:
     2016-04-22 22:08:03   device_name     Gigaset G-tag
     2017-02-26 23:42:59   presence        absent
     2017-02-26 23:42:59   state           absent
   Helper:
     ABSENT_COUNT 0
     CURRENT_TIMEOUT normal
Attributes:
   group      Gtag
   room       Präsenz

2017.02.26 23:43:45 3: list NOTIFYDEV : No device named NOTIFYDEV found
...
2017.02.26 23:43:45 3: list presence : No device named presence found
2017.02.26 23:43:45 3: list absent : No device named absent found
2017.02.26 23:43:45 3: list 2017-02-26 : No device named 2017-02-26 found
2017.02.26 23:43:45 3: list 23:42:59 : No device named 23:42:59 found
2017.02.26 23:43:45 3: list state : No device named state found
2017.02.26 23:43:45 3: list absent : No device named absent found
2017.02.26 23:43:45 3: list Helper: : No device named Helper: found

Vielleicht kannst Du ja erkennen, was da schief geht.
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

mumpitzstuff

Oh das ist interessant. Du hast nur einen Tag und da spuckt der verwendete Befehl das komplette Listing des Tags aus. Das bringt das Modul durcheinander. Ich habe zwei Tags, da wird lediglich eine Liste mit den Namen generiert.

tag1
tag2


Das ist ein Bug den ich beheben muss! Bitte erst mal deinstallieren.

Mit 2 oder mehr Tags sollte es aber gehen. Das Reading wird auch nicht in meinem Device eingetragen, sondern direkt beim Tag selbst.

krikan

@mumpitzstuff:
Kannst Du bitte die Vorstellung Deines Moduls im passenden Forumsbereich in einem neuen Beitrag posten. Die Modulvorstellung und Diskussion dazu gehört nicht in dieses Unterforum "Wiki". Vielen Dank.

Gruß, Christian

mumpitzstuff

Sehe ich nicht ganz so, denn mit einem solchen Modul lässt sich das Wiki wesentlich vereinfachen und auch der Endanwender hat es einfacher, indem er nicht selbst an irgendwelchen Skripten rumfummeln muss. Nach ein bischen Finetuning hoffe ich deshalb, dass es dort aufgenommen werden kann.

Das Thema berührt deshalb leider mehrere Themenbereiche, unter anderem auch die Erweiterung/Vereinfachung des Wikis.

Um deiner Aufforderung nachzukommen werde ich das Thema verlagern und mich erst wieder hier melden, wenn die Funktion sichergestellt ist und das Wiki entsprechend angepasst werden könnte.

krikan

In diesem Thema https://forum.fhem.de/index.php/topic,68104.0.html geht es mit dem Modul 74_BleTagBattery.pm von mumpitzstuff weiter.