FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: drhirn am 07 April 2022, 13:45:09

Titel: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: drhirn am 07 April 2022, 13:45:09
Da die für lepresenced nötigen Tools hciconfig, hcitool und gatttool deprecated sind, wurde eine andere Lösung zum Tracking von Bluetooth-LE-Tags nötig. User PatrickR (https://forum.fhem.de/index.php?action=profile;u=5068) war deshalb so nett, und hat eine Alternative gebastelt, die Daten zu erkannten Geräten via MQTT versendet: ble2mqtt.
Alles weitere dazu in den folgenden Beiträgen.

Kurze Anleitung zu ble2mqtt hier: https://wiki.fhem.de/wiki/Ble2mqtt

---Originalbeitrag---
Hallo,

im Zuge von ständigen Problemen mit lepresenced in letzter Zeit und der daraus folgenden Beschäftigung mit dem Thema, habe ich den Verdacht gewonnen, dass hciconfig hcitool gatttool eigentlich schon lange deprecated sind? Liege ich da richtig? Verdacht wird dadurch bestärkt, dass ich in letzter Zeit wieder mal eine Runde Linux Updates gemacht habe. Und eben seit dem die Probleme hab.

Wenn ja, ist angedacht, die Tools zu ersetzen (bluetoothctl)?

Danke
Stefan

P.S.: Das angesprochene Problem:
hcitool lescan
Set scan parameters failed: Input/output error
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 07 April 2022, 15:03:32
Hi!

Zitat von: drhirn am 07 April 2022, 13:45:09
im Zuge von ständigen Problemen mit lepresenced in letzter Zeit und der daraus folgenden Beschäftigung mit dem Thema, habe ich den Verdacht gewonnen, dass hciconfig hcitool gatttool eigentlich schon lange deprecated sind? Liege ich da richtig? Verdacht wird dadurch bestärkt, dass ich in letzter Zeit wieder mal eine Runde Linux Updates gemacht habe. Und eben seit dem die Probleme hab.
Streng genommen haben diese Tools von Anfang an Probleme gemacht, was der Grund für die Armada von Workarounds in lepresenced ist. Insofern lässt sich daraus keine Deprecation ableiten. Dennoch hast Du trotzdem Recht, s. insb.: https://github.com/bluez/bluez/blob/master/Makefile.tools

Zitat von: drhirn am 07 April 2022, 13:45:09
Wenn ja, ist angedacht, die Tools zu ersetzen (bluetoothctl)?
Das ist schon länger angedacht. Das Problem ist aber, dass damit ein großflächiger Rewrite (mit einer deutlichen Verschlankung) verbunden wäre. Auch ist auf Grund der bisherigen Erfahrungen davon auszugehen, dass trotz des Wechsels immer noch eine Reihe von Workarounds nötig sein werden. Aber da kann ich falsch liegen. Auch wäre das vermutlich ein Anlass, nicht mehr an das PRESENCE-Protokoll anzuknüpfen sondern auf MQTT umzusatteln. Das würde lepresenced besser von FHEM entkoppeln, FHEM damit entlasten und lepresenced mehr Flexibilität gewähren. Ungeachtet dessen fehlte mir bislang die Zeit, mich darum zu kümmern.

Zitat von: drhirn am 07 April 2022, 13:45:09
P.S.: Das angesprochene Problem:
hcitool lescan
Set scan parameters failed: Input/output error


Sollte dieser Fehler auftreten - bei mir in den letzten 30 Tagen exakt einmal - kümmert sich lepresenced darum:

Apr  1 13:21:36 rpi-flur lepresenced[28377]: [tid:1] main::bluetooth_scan_thread: Received 'Set scan parameters failed: Input/output error', resetting...
Apr  1 13:21:37 rpi-flur lepresenced[28377]: [tid:2] main::bluetooth_dump_thread: Received 'HCI sniffer - Bluetooth packet analyzer ver 5.55'.
Apr  1 13:21:37 rpi-flur lepresenced[28377]: [tid:2] main::bluetooth_dump_thread: Received 'device: hci0 snap_len: 1500 filter: 0xffffffff'.
Apr  1 13:21:37 rpi-flur lepresenced[28377]: [tid:1] main::bluetooth_scan_thread: hcitool exited, retrying...
Apr  1 13:21:39 rpi-flur lepresenced[28377]: [tid:1] main::bluetooth_scan_thread: Received 'LE Scan ...'.

Hast Du mal einen Logauszug mit LOG_DEBUG von lepresenced, am besten direkt nach einem Neustart des Systems ohne konkurrierende Ausführung von Tools auf der Kommandozeile? Hast Du parallel andere Tools laufen, die Bluetooth nutzen?
Wie äußern sich Deine vorwiegenden Probleme denn genau, also startet lepresenced garnicht oder wird er nach zufälliger Zeit "blind"?

Falls Du einen Raspberry PI einsetzt:
Im Schwesterthread überschlagen sich gerade die positiven Emotionen nach der Installation einer älteren Bluetooth-Firmware (https://forum.fhem.de/index.php/topic,75559.msg1177215.html#msg1177215). Hast Du das mal probiert?

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 07 April 2022, 15:18:37
Zitat von: PatrickR am 07 April 2022, 15:03:32
Das ist schon länger angedacht. Das Problem ist aber, dass damit ein großflächiger Rewrite (mit einer deutlichen Verschlankung) verbunden wäre. Auch ist auf Grund der bisherigen Erfahrungen davon auszugehen, dass trotz des Wechsels immer noch eine Reihe von Workarounds nötig sein werden. Aber da kann ich falsch liegen.
Man müsste es versuchen.

ZitatAuch wäre das vermutlich ein Anlass, nicht mehr an das PRESENCE-Protokoll anzuknüpfen sondern auf MQTT umzusatteln. Das würde lepresenced besser von FHEM entkoppeln, FHEM damit entlasten und lepresenced mehr Flexibilität gewähren.
Das ist eine richtig gute Idee!

ZitatUngeachtet dessen fehlte mir bislang die Zeit, mich darum zu kümmern.
Und das hab ich schon befürchtet ;D. Ich hab mir den Code mal angesehen und überlegt, ob ich da etwas beitragen könnte. Aber das übersteigt meine Fähigkeiten bei Weitem. Leider. Wenn aber Tester bzw. Leute für niedrige Arbeiten gesucht werden, ich stehe zur Verfügung.

ZitatHast Du mal einen Logauszug mit LOG_DEBUG von lepresenced, am besten direkt nach einem Neustart des Systems ohne konkurrierende Ausführung von Tools auf der Kommandozeile? Hast Du parallel andere Tools laufen, die Bluetooth nutzen?
Ging mir jetzt gar nicht so sehr um Hilfe bei der Problemlösung. Ich wollte es nur nicht unerwähnt lassen. Wiki-Hinweis dazu kenne ich und den Thread mit dem Rückstieg auf alte Firmware auch.
Bei mir erholt sich nur lepresenced nicht (immer) von selber. Und mein wichtigster Bluetooth-"Empfänger" ist eine Debian-VM mit BT-Dongle. Da nützt mir die alte PI-BT-Firmware nichts. Sonstige BT-Tools laufen nicht.
Bezüglich Raspberrys ist aber meine - kaum verifizierte - Erkenntnis, dass es mit Raspberry Pi OS Legacy (Buster) gut funktioniert. Ist halt Buster, aber sicherheitstechnisch noch aktuell. Und ich hab noch so viele alte PIs rumliegen, dass ich meine ganze Wohnung damit pflastern könnte. Könnte also meine bisher genutzten "Empfänger" ersetzen.

Naja, vielleicht findet sich ja jemand, der Lust und die Fähigkeiten hat, das Thema irgendwann anzugehen.

Danke dir auf jeden Fall!
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 07 April 2022, 19:25:07
Hi!

Das Problem bei dem MQTT-Ansatz ist, dass sicherlich nicht alle Nutzer umsatteln werden und ich auch nicht zwei Versionen pflegen möchte. Aber das könnte man ggf. mit Tutorials abfangen.

Zitat von: drhirn am 07 April 2022, 15:18:37
Bei mir erholt sich nur lepresenced nicht (immer) von selber. Und mein wichtigster Bluetooth-"Empfänger" ist eine Debian-VM mit BT-Dongle. Da nützt mir die alte PI-BT-Firmware nichts. Sonstige BT-Tools laufen nicht.
Bei mir läuft gerade einen Developmentversion, die einen Watchdog enthält. Der prüft regelmäßig, ob (überhaupt) Geräte gesehen werden und startet ggf. die Scan-Prozesse neu. Das setzt aber natürlich voraus, dass (fast) immer irgendwelche Geräte erreichbar sind. Würde Dir das helfen?

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 30 Mai 2022, 21:59:12
Hi!

So, ich habe mal was gebaut. Das braucht noch etwas Feinschliff, dann kann ich es mal zum Testen hochladen.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 31 Mai 2022, 09:37:11
Zitat von: PatrickR am 07 April 2022, 19:25:07
Bei mir läuft gerade einen Developmentversion, die einen Watchdog enthält. Der prüft regelmäßig, ob (überhaupt) Geräte gesehen werden und startet ggf. die Scan-Prozesse neu. Das setzt aber natürlich voraus, dass (fast) immer irgendwelche Geräte erreichbar sind. Würde Dir das helfen?

Sorry Patrick, der Beitrag ist bei mir leider untergegangen.
Seit April läuft's bei mir überraschend stabil. Aber ein Watchdog schadet natürlich nie. Könnte man den optional machen und mittels Attribut oder Config-Eintrag aktivieren?
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: GlennDandy am 31 Mai 2022, 13:32:57
Hallo,

ich würde mich den Problem anschließen, ich hatte immer einen USB Stick mit einem Broadcom bt4.0 Chipsatz verwendet, der geht sehr gut aber die Reichweite ist extrem bescheiden.

Im Zuge eines Hardware upgrades kam eine m.2 Karte Intel AX200 (BT5) rein, mit dieser Karte ist es absolut nicht möglich hcitool zu nutzen um einen LE Scan durchzuführen.
Es kommt direkt ein Input/output error, nach langer suche und intensiver Recherche hies es hcitool ist veraltet nutze bluetoothctl,
mit bluetoothctl ist ein LE scan ohne Probleme möglich.

Das Resultat daraus ist leider das keine Anwesenheitskontolle funktioniert, weil alle auf hcitool bassieren.
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 31 Mai 2022, 22:16:00
Hi!

Zitat von: drhirn am 31 Mai 2022, 09:37:11
Seit April läuft's bei mir überraschend stabil. Aber ein Watchdog schadet natürlich nie. Könnte man den optional machen und mittels Attribut oder Config-Eintrag aktivieren?
Der ist per Default aus, aber beliebig konfigurierbar. Wenn ich aber sehe, was bei mir hier an Geräten rumschwirrt, die teilweise vermutlich den Nachbarn gehören, ist eigentlich genug für den Watchdog los.

Gruß
Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 31 Mai 2022, 22:18:42
Hi!

Zitat von: GlennDandy am 31 Mai 2022, 13:32:57
Es kommt direkt ein Input/output error, nach langer suche und intensiver Recherche hies es hcitool ist veraltet nutze bluetoothctl,
mit bluetoothctl ist ein LE scan ohne Probleme möglich.

Bluetoothctl scheint in der Tat deutlich stabiler zu laufen. Werde wenn ich so weit bin in den nächsten Tagen mal mein neues Werkzeug hochladen, was mit bluetoothctl scannt und nicht mehr das Presence-Modul bedient sondern die Ergebnisse per mqtt verschickt (siehe Screenshot oben). Dank dem MQTT2_SERVER-Modul von Rudi sollte das sogar ohne externe Dienste nutzbar sein.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 04 Juni 2022, 01:18:51
Guten Abend!

So, hier gibt es mal etwas zum Ausprobieren.

Installationsvoraussetzungen:

apt-get install bluez libexpect-perl libnet-server-perl libreadonly-perl
cpan Net::MQTT::Simple Net::MQTT::Simple::Auth


Aufruf des Skripts, z. B. mit:

ble2mqttd --mqttserver mqtt.domain:8883
ble2mqttd --mqttserver mqtt.domain:8883 --mqttuser user --mqttpass pass

Eine SSL-Verbindung wird ebenfalls unterstützt. Infos dazu und weitere Optionen gibt es mit --help.

ble2mqttd lauscht nach Bluetooth-LE-Geräten (wie lepresenced) und schickt die Ergebnisse an einen MQTT-Server. In FHEM kann man dafür bspw. ein MQTT2_SERVER-Device angelegt werden (falls nicht ohnehin ein externer mqtt-Server wie mosquitto läuft) und jeweils ein MQTT2_DEVICE pro zu überwachendem Bluetooth-Tag.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 27 Juni 2022, 12:39:24
**edit**
Da tut sich bei mir nicht viel:


user@server:~$ sudo ./ble2mqttd --mqttserver url:1883 --mqttuser user --mqttpass password --debug 6 --logtarget stdout --daemon
main::sanity_check: md5 digest of './ble2mqttd' is: 'a59431f8eb0e6b9b4bb14ab66099c17d'.
main::sanity_check: bluetoothctl found at '/usr/bin/bluetoothctl'.
main: Sending 'menu scan'...
main: Sending 'clear'...
main: Sending 'duplicate-data on'...
main: Sending 'transport le'...
main: Sending 'back'...
main: Sending 'scan on'...
main: Scan started.
### Match:      [NEW] 44:44:44:69:01:9C (44-44-44-69-01-9C)
### Match RSSI: [CHG] 44:44:44:69:01:9C -> -60
### Match:      [CHG] 44:44:44:69:01:9C (ManufacturerData Key: 0x00e0)
### Match:      [CHG] 44:44:44:69:01:9C (ManufacturerData Value:)
### Match:      [CHG] 44:44:44:69:01:9C (ServiceData Key: 0000fe9f-0000-1000-8000-00805f9b34fb)
### Match:      [CHG] 44:44:44:69:01:9C (ServiceData Value:)
### Match RSSI: [CHG] 44:44:44:69:01:9C -> -59
### Match:      [CHG] 44:44:44:69:01:9C (ManufacturerData Key: 0x00e0)
### Match:      [CHG] 44:44:44:69:01:9C (ManufacturerData Value:)
### Match:      [CHG] 44:44:44:69:01:9C (ServiceData Key: 0000fe9f-0000-1000-8000-00805f9b34fb)
### Match:      [CHG] 44:44:44:69:01:9C (ServiceData Value:)
### Match RSSI: [CHG] 44:44:44:69:01:9C -> -59
### Match:      [CHG] 44:44:44:69:01:9C (ManufacturerData Key: 0x00e0)
### Match:      [CHG] 44:44:44:69:01:9C (ManufacturerData Value:)
### Match:      [CHG] 44:44:44:69:01:9C (ServiceData Key: 0000fe9f-0000-1000-8000-00805f9b34fb)
### Match:      [CHG] 44:44:44:69:01:9C (ServiceData Value:)
### Match RSSI: [CHG] 44:44:44:69:01:9C -> -60
### Match:      [CHG] 44:44:44:69:01:9C (ManufacturerData Key: 0x00e0)
### Match:      [CHG] 44:44:44:69:01:9C (ManufacturerData Value:)
### Match:      [CHG] 44:44:44:69:01:9C (ServiceData Key: 0000fe9f-0000-1000-8000-00805f9b34fb)
### Match:      [CHG] 44:44:44:69:01:9C (ServiceData Value:)
### Match RSSI: [CHG] 44:44:44:69:01:9C -> -59


Bricht irgendwie nach dem ersten gefundenen Gerät ab.
Das heißt --daemon nicht --daemonzie. Ist in der Hilfe auch falsch.

Am MQTT-Server kommt aber trotzdem nichts an.

(Und in der Hilfe sind die Debug-Optionen falsch beschrieben. Da wird offenbar eine Zahl erwartet).
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 27 Juni 2022, 13:13:47
Hi!

Zitat von: drhirn am 27 Juni 2022, 12:39:24
**edit**

user@server:~$ sudo ./ble2mqttd --mqttserver url:1883 --mqttuser user --mqttpass password --debug 6 --logtarget stdout --daemon
main::sanity_check: md5 digest of './ble2mqttd' is: 'a59431f8eb0e6b9b4bb14ab66099c17d'.
main::sanity_check: bluetoothctl found at '/usr/bin/bluetoothctl'.
main: Sending 'menu scan'...
main: Sending 'clear'...
main: Sending 'duplicate-data on'...
main: Sending 'transport le'...
main: Sending 'back'...
main: Sending 'scan on'...
main: Scan started.
### Match:      [NEW] 44:44:44:69:01:9C (44-44-44-69-01-9C)
### Match RSSI: [CHG] 44:44:44:69:01:9C -> -60
### Match:      [CHG] 44:44:44:69:01:9C (ManufacturerData Key: 0x00e0)
### Match:      [CHG] 44:44:44:69:01:9C (ManufacturerData Value:)
### Match:      [CHG] 44:44:44:69:01:9C (ServiceData Key: 0000fe9f-0000-1000-8000-00805f9b34fb)
### Match:      [CHG] 44:44:44:69:01:9C (ServiceData Value:)
### Match RSSI: [CHG] 44:44:44:69:01:9C -> -59
### Match:      [CHG] 44:44:44:69:01:9C (ManufacturerData Key: 0x00e0)
### Match:      [CHG] 44:44:44:69:01:9C (ManufacturerData Value:)
### Match:      [CHG] 44:44:44:69:01:9C (ServiceData Key: 0000fe9f-0000-1000-8000-00805f9b34fb)
### Match:      [CHG] 44:44:44:69:01:9C (ServiceData Value:)
### Match RSSI: [CHG] 44:44:44:69:01:9C -> -59
### Match:      [CHG] 44:44:44:69:01:9C (ManufacturerData Key: 0x00e0)
### Match:      [CHG] 44:44:44:69:01:9C (ManufacturerData Value:)
### Match:      [CHG] 44:44:44:69:01:9C (ServiceData Key: 0000fe9f-0000-1000-8000-00805f9b34fb)
### Match:      [CHG] 44:44:44:69:01:9C (ServiceData Value:)
### Match RSSI: [CHG] 44:44:44:69:01:9C -> -60
### Match:      [CHG] 44:44:44:69:01:9C (ManufacturerData Key: 0x00e0)
### Match:      [CHG] 44:44:44:69:01:9C (ManufacturerData Value:)
### Match:      [CHG] 44:44:44:69:01:9C (ServiceData Key: 0000fe9f-0000-1000-8000-00805f9b34fb)
### Match:      [CHG] 44:44:44:69:01:9C (ServiceData Value:)
### Match RSSI: [CHG] 44:44:44:69:01:9C -> -59

Das sieht doch schonmal gut aus.

Zitat von: drhirn am 27 Juni 2022, 12:39:24
Das heißt --daemon nicht --daemonzie. Ist in der Hilfe auch falsch.
--daemon und --daemonize funktionieren beide. Aber durch das Setzen von --debug "verzichtest" Du wieder darauf, was aktuell auch die richtige Entscheidung ist (s. u.).

Zitat von: drhirn am 27 Juni 2022, 12:39:24
(Und in der Hilfe sind die Debug-Optionen falsch beschrieben. Da wird offenbar eine Zahl erwartet).
Zumindest missverständlich. Level ist ja kein wohldefinierter Begriff. Werde es aber anpassen. Bisher sehe ich das Ding eher so als PoC, bei dem - wenn er denn mal bei anderen Personen als mir zuverlässig funktioniert - ggf. jemand unterstützt. Die Doku gehört definitiv dazu.

Zitat von: drhirn am 27 Juni 2022, 12:39:24
Am MQTT-Server kommt aber trotzdem nichts an.
Das ist insofern etwas doof als dass ich in CPAN keine vernünftige MQTT-Library gefunden habe. Die, die ich verwende, hat leider exakt Null Error Handling. Rudi hat das gelöst, in dem er einfach gleich beim Urknall angefangen und alles handgeklöppelt hat.

Kannst Du Dich vielleicht mal von einem einfachen Setup schrittweise zu einem komplexeren durchhangeln? Also z. B. ohne SSL (jetzt schon der Fall), ohne ACLs und ohne Auth starten und dann schauen, ab wann es schief geht?

Alternativ: Kannst Du mir mal Deine MQTT-Server-Config beschreiben/schicken, damit ich das reproduzieren kann? Nutzt Du Mosquitto oder das Modul in FHEM oder was ganz anderes?

Bei mir funktioniert es aktuell zuverlässig mit SSL, Auth und ACLs. Mit einem blanken MQTT2_SERVER hatte ich auch mal gestet. Aber wie gesagt traue ich der MQTT-Library nicht.

Patrick



Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 27 Juni 2022, 13:33:55
Zitat von: PatrickR am 27 Juni 2022, 13:13:47
Aber wie gesagt traue ich der MQTT-Library nicht.

Zu recht :D

Mosquitto schreibt in die Logs:
1656329337: Invalid protocol version 3 in CONNECT from 10.168.1.11.

Mit einem MQTT2_SERVER hat's funktioniert, den möchte ich aber eigentlich nicht verwenden.

Hier noch meine Mosquitto-Config:

listener 1883

persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log

allow_anonymous true
password_file /mosquitto/config/mosquitto.passwd
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 27 Juni 2022, 14:02:19
Zitat von: drhirn am 27 Juni 2022, 13:33:55
Zu recht :D

Mosquitto schreibt in die Logs:
1656329337: Invalid protocol version 3 in CONNECT from 10.168.1.11.
Interessanterweise funktioniert es bei mir mit der aktuellen offiziellen Docker-mosquitto-Version.

Aber das Problem ist wohl bekannt:
https://community.home-assistant.io/t/zoneminder-zone-specific-alarms/92227/6

Die "Lösung" scheint zu sein, Nett::MQTT::Simple::Auth zu patchen  :'(

Großartig. Das kann natürlich jeder für sich machen, aber für eine breite Lösung taugt das überhaupt nicht.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 27 Juni 2022, 14:16:48
Zitat von: PatrickR am 27 Juni 2022, 14:02:19
Interessanterweise funktioniert es bei mir mit der aktuellen offiziellen Docker-mosquitto-Version.
Verwende ich auch (image: eclipse-mosquitto:latest). Das macht's aber nur noch merkwürdiger.

Zitat
Die "Lösung" scheint zu sein, Nett::MQTT::Simple::Auth zu patchen  :'(

Großartig. Das kann natürlich jeder für sich machen, aber für eine breite Lösung taugt das überhaupt nicht.

**edit**
Bringt nichts, da kommt dann gleich der nächste Fehler ;)
Wenn man's richtig ändert, funktioniert das
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 27 Juni 2022, 14:46:07
Hi!

Zitat von: drhirn am 27 Juni 2022, 14:16:48
Verwende ich auch (image: eclipse-mosquitto:latest). Das macht's aber nur noch merkwürdiger.
Ok, der Punkt ist wohl, dass Net::MQTT::Simple kein Auth unterstützt und Net::MQTT::Simple::Auth kein SSL, aber Net::MQTT::Simple::SSL wiederum (natürlich) SSL erfordert, was bei Dir nicht der Fall ist. D. h. Du und ich verwenden andere Pakete, von denen >=1 im Eimer ist. Was für ein Murks.

Zitat von: drhirn am 27 Juni 2022, 14:16:48
**edit**
Bringt nichts, da kommt dann gleich der nächste Fehler ;)
Wenn man's richtig ändert, funktioniert das
Das Patchen der Auth.pm? Das ist aber leider keine Lösung für ein Tool, das irgendwann lepresenced ablösen soll.

Leider fehlt mir die Zeit, das MQTT per Hand nachzubauen. Meine letzte Hoffnung, wäre dass das SSL-Modul auch eine Klartextverbindung toleriert. Das werde ich mal testen.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 27 Juni 2022, 15:04:37
Zitat von: PatrickR am 27 Juni 2022, 14:46:07
Das Patchen der Auth.pm? Das ist aber leider keine Lösung für ein Tool, das irgendwann lepresenced ablösen soll.

Ja, nein, eh nicht. Ich wollte nur wissen, ob's funktioniert. Hätte gesucht, ob man irgendwo einen Patch für die Library einbringen könnte. Aber auf die Schnelle nichts gefunden. Das wär nämlich die beste Lösung.
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 27 Juni 2022, 15:22:26

  if (!defined($mqttfingerprint)) {
    if ($mqttuser && $mqttpass) {
      $ENV{MQTT_SIMPLE_ALLOW_INSECURE_LOGIN} = 1;
      $mqtt = Net::MQTT::Simple->new($mqttserver);
      $mqtt->login($mqttuser,$mqttpass);
    } else {
      $mqtt = Net::MQTT::Simple->new($mqttserver);
    }
  } else {
    $mqtt = Net::MQTT::Simple::SSL->new($mqttserver, {SSL_fingerprint => $mqttfingerprint});
    if ($mqttuser && $mqttpass) {
      $mqtt->login($mqttuser, $mqttpass);
    }
  }


Geht. Net::MQTT::Simple kann eh Login. Man muss es nur - wenn ohne SSL - explizit erlauben.
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 27 Juni 2022, 15:43:12
Zitat von: drhirn am 27 Juni 2022, 15:22:26

  if (!defined($mqttfingerprint)) {
    if ($mqttuser && $mqttpass) {
      $ENV{MQTT_SIMPLE_ALLOW_INSECURE_LOGIN} = 1;
      $mqtt = Net::MQTT::Simple->new($mqttserver);
      $mqtt->login($mqttuser,$mqttpass);
    } else {
      $mqtt = Net::MQTT::Simple->new($mqttserver);
    }
  } else {
    $mqtt = Net::MQTT::Simple::SSL->new($mqttserver, {SSL_fingerprint => $mqttfingerprint});
    if ($mqttuser && $mqttpass) {
      $mqtt->login($mqttuser, $mqttpass);
    }
  }


Geht. Net::MQTT::Simple kann eh Login. Man muss es nur - wenn ohne SSL - explizit erlauben.
Sehr cool! Ich habe zwar das Gefühl, dass das tote Pferd damit nur noch länger defibrilliert wird, aber das ist schonmal ein Lichtblick.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 27 Juni 2022, 15:45:34
Zitat von: PatrickR am 27 Juni 2022, 15:43:12
Sehr cool! Ich habe zwar das Gefühl, dass das tote Pferd damit nur noch länger defibrilliert wird, aber das ist schonmal ein Lichtblick.

Hihi. Aber wenigstens brauchen wir so das toteste Pferd nicht mehr ;D
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 27 Juni 2022, 16:31:06
Blöde Frage: Wie bekomme ich aus dem Lastseen eine ordentlich Uhrzeit raus?

So:
$DEVICETOPIC/lastseen:.* {"lastseen"=>strftime "%Y-%m-%d %H:%M:%S", localtime($EVENT)}
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 27 Juni 2022, 18:17:30
Hier mal als Beispiel mein FHEM-Device:

defmod mqttTest MQTT2_DEVICE
attr mqttTest IODev Mosquitto
attr mqttTest devicetopic ble2mqtt/7C_2F_80_AF_1A_F8
attr mqttTest event-on-change-reading .*
attr mqttTest readingList $DEVICETOPIC/rssi:.* rssi\
$DEVICETOPIC/lastseen:.* {"lastseen"=>strftime "%Y-%m-%d %H:%M:%S", localtime($EVENT)}\
$DEVICETOPIC/present:.* { $EVENT ? {state=>'present'} : {state=>'absent'} }


Hab aber noch ein paar Fragen:
1. Wie stoppe ich das Tool wieder, wenn ich's als Daemon gestartet habe?
2. --absentinterval geht (noch) nicht, oder?
3. Warum minimal 30s absentinterval?
4. Ist noch ein dritter Status "away" nach x Stunden absent geplant? Der wäre für mich wichtig.
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 30 Juni 2022, 11:31:01
Hi!

Danke für Deine Tests, den Patch und Konfigurationsbeispiele.

Zitat von: drhirn am 27 Juni 2022, 18:17:30
1. Wie stoppe ich das Tool wieder, wenn ich's als Daemon gestartet habe?
Zunächst mal durch kill/killall. Eine PID-Datei wird auch unter /var/run angelegt, so dass Du es auch sauber über kill $PID beenden könntest. Prinzipiell kannst Du Dir damit einen Systemd-Service bauen.
Das ginge alles natürlich noch schöner und automatisch mit einem DEB-Paket. Leider verwendet ble2mqttd CPAN-Module, für die es keine Debian-Pakete gibt, daher verfolge ich das aktuell nicht.

Zitat von: drhirn am 27 Juni 2022, 18:17:30
2. --absentinterval geht (noch) nicht, oder?
Gerade mal den Code überflogen. Müsste eigentlich berücksichtigt werden. Wo geht es denn bei Dir schief?

Zitat von: drhirn am 27 Juni 2022, 18:17:30
3. Warum minimal 30s absentinterval?
Das ist ein Versuch, den User vor fehlerträchtigen Einstellungen zu schützen. Das Problem ist hier, dass bluetoothctl bei meinen Tests keine Duplicates anzeigt, auch wenn ich sie explizit angefordert habe. Im Ergebnis sieht ble2mqttd weniger Beacons als es tatsächlich gibt. Setzt man nun absentinterval zu niedrig, führen diese übersehenen Beacons zu (falschen) absents. Wenn Du damit experimentieren möchtest, kannst Du einfach den Check in Zeile 190 auskommentieren. Die 30s sind aber nicht in Stein gemeißelt, also gerne Feedback, was bei Dir funktioniert.

Zitat von: drhirn am 27 Juni 2022, 18:17:30
4. Ist noch ein dritter Status "away" nach x Stunden absent geplant? Der wäre für mich wichtig.
Nein. Ich möchte offen gestanden auch nicht zu viel Logik in ble2mqttd auslagern, das eigentlich nur nackte Informationen an FHEM weitergeben soll. Streng genommen ist das present-topic eigentlich auch schon zuviel, da man in FHEM über lastseen die Anwesenheit auswerten und beliebig personalisieren kann.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Stelaku am 15 September 2022, 21:39:44
Hallo Patrick

Ich finde Deinen Ansatz sehr spannend und habe Ihn bei mir mal getestet. Läuft auch ohne Große Probleme.
Mich stört nur ein wenig das sich bei jeden Neustart des pi auf dem ich mqtt2ble laufen habe sich der ID-Name des MQTT2DEVICE in Fhem ändert und bei
Autocreate dadurch immer wieder ein neues Device angelegt wird. Plus Log file. Kann man das so im Skript ändern, das immer derselbe ID-Name gesendet wird?

Dann habe ich beobachtet das schon sehr viel vom Skript mqtt2ble gesendet wird. Ich wusste nicht das so viele Geräte bei uns im Haus ble Mac Adressen senden.
Mehr als 20 was natürlich ein paar topic s sind.
Ich habe bei mir nur zwei G-Tags, die ich überwachen möchte. Ist es da möglich im Skript die mqtt Nachrichten, die an FHEM rausgehen nur auf voreingestellt MAC-Adressen zu reduzieren?

Ich habe mich schon vergeblich daran versucht alle Topics in FHEM per ignoreRegexp im MQTT2_SERVER zu ignorieren die nicht den beiden MAC-Adressen endsprechen.
REGEX ist nicht mein Freund.

Viele Grüsse

Stephan

Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 16 September 2022, 13:53:26
Hallo Stephan,

Zitat von: Stelaku am 15 September 2022, 21:39:44
Mich stört nur ein wenig das sich bei jeden Neustart des pi auf dem ich mqtt2ble laufen habe sich der ID-Name des MQTT2DEVICE in Fhem ändert und bei
Autocreate dadurch immer wieder ein neues Device angelegt wird. Plus Log file. Kann man das so im Skript ändern, das immer derselbe ID-Name gesendet wird?
Da ich den internen MQTT2_SERVER nicht verwende: Kannst Du mir mal ein list des MQTT2_DEVICE senden, in dem man diese ID sieht?

Zitat von: Stelaku am 15 September 2022, 21:39:44
Ich habe bei mir nur zwei G-Tags, die ich überwachen möchte. Ist es da möglich im Skript die mqtt Nachrichten, die an FHEM rausgehen nur auf voreingestellt MAC-Adressen zu reduzieren?
Das ist natürlich möglich. Aber eine der Grundideen von Publisher/Subscriber-Ansätzen wie MQTT ist, dass man sich nur exakt auf die Topics subscribed, die einen interessieren. Ich habe die Topic-Struktur auch (hoffentlich) so gewählt, dass alle Informationen unterhalb der MAC-Adresse des Geräts hängen, so dass das sehr einfach geht.
D. h. das wäre in FHEM zu lösen, wofür ich aber ein schlechter Ansprechpartner bin, da ich mit einem externen Broker arbeite. Aber vielleicht kann Dir im MQTT-Forenbereich jemand helfen.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: rudolfkoenig am 16 September 2022, 14:13:45
ZitatAber eine der Grundideen von Publisher/Subscriber-Ansätzen wie MQTT ist, dass man sich nur exakt auf die Topics subscribed, die einen interessieren.
Das ist prinzipiell richtig, allerdings mit zwei Haken: man hat nicht immer eine Doku, und "heutige" Benutzer erwarten, dass die Einbindung mit minimalen Aufwand funktioniert.

Deswegen legt FHEM mit MQTT2_SERVER in der Voreinstellung fuer jede ClientID ein MQTT2_DEVICE an, und ordnet anhand dieses IDs alle Topics zu. Natuerlich kann man das abschalten, und alles manuell konfigurieren, aber wenn man die funktionierende Alternative gesehen hat, dann faellt einem das schwer.
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 17 September 2022, 00:01:24
Hi!

So, habe mal die ClientID-Geschichte eingebaut, auch wenn ich kein Freund von der Idee bin, die clientID als Heuristik zweckzuentfremden.

Grüße
Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Stelaku am 17 September 2022, 12:22:44
Hallo Patrick

Vielen dank für Deine Bemühungen
Habs gleich mal getestet.
Funktioniert prima.
Jetzt wird nur noch einmal ein logfile und eine MQTT2_DEVICE angelegt egal wie oft das skript gestartet wird.
Ich bekomme jetzt aber immer eine Meldung in der ssh Konsole. das Skript läuft aber trotzdem ohne sichtbare Probleme.

stephan@test:~ $ sudo ./ble2mqtt1 --mqttserver 192.168.178.31:1883 &
[1] 772
stephan@test:~ $ Ambiguous use of *{Net::MQTT::Simple::_client_identifier} resolved to *Net::MQTT::Simple::_client_identifier at ./ble2mqtt1 line 86.
Subroutine Net::MQTT::Simple::_client_identifier redefined at ./ble2mqtt1 line 90.

stephan@test:~ $



Viele grüsse

Stephan
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 17 September 2022, 17:19:58
Hi!

Zitat von: Stelaku am 17 September 2022, 12:22:44
Ich bekomme jetzt aber immer eine Meldung in der ssh Konsole. das Skript läuft aber trotzdem ohne sichtbare Probleme.

Warning ist auch raus.

Patrick

/Edit: Anhang entfernt, da neue Version weiter unten angehängt.
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Jamo am 25 September 2022, 09:13:41
Hallo Patrick,
wenn ich das richtig verstehe: "collectord" funktioniert mit dem MQTT Ansatz nicht mehr, oder?

Oder braucht man den dann gar nicht mehr? Dann läuft auf allen verteilten (RPi) clients das script, auf der fhem Haupinstanz kommt dann alles unter einem MQTT_Device zusammen.

Ist das so?

Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 25 September 2022, 14:39:22
Hi!

Zitat von: Jamo am 25 September 2022, 09:13:41
wenn ich das richtig verstehe: "collectord" funktioniert mit dem MQTT Ansatz nicht mehr, oder?
Prinzipiell konnte man aus meiner Sicht collectord schon immer mit FHEM-Bordmitteln ersetzen.

Zitat von: Jamo am 25 September 2022, 09:13:41
Oder braucht man den dann gar nicht mehr? Dann läuft auf allen verteilten (RPi) clients das script, auf der fhem Haupinstanz kommt dann alles unter einem MQTT_Device zusammen.
So könnte man es tun, aber Du brauchst vermutlich zusätzlich noch eine Lösung, um die Status der verschiedenen Instanzen zusammenzuführen. Wenn es Dir nur um an- oder abwesend geht könntest Du das schnell und einfach über eine Structure lösen. Wenn Du mehr möchtest, also z. B. eine Info, in welchem Raum Du am wahrscheinlichsten bist, vielleicht mit einem Notify/DOIF.

Patrick


Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 25 September 2022, 18:01:25
Hallo,

ich wollte mich damit mal ein bisschen spielen.
Nach der Installation des Tools und eines MQTT2-Servers bekomme ich nun ein MQTT2-Device und dort werden alle Bluetooth-Devices im Attribut readingList gespeichert:
ble2mqttd_Sepia_Client_:ble2mqtt/heartbeat:.* heartbeat
ble2mqttd_Sepia_Client_:ble2mqtt/5A_DF_B5_71_7E_5B/lastseen:.* lastseen
ble2mqttd_Sepia_Client_:ble2mqtt/5A_DF_B5_71_7E_5B/present:.* present
ble2mqttd_Sepia_Client_:ble2mqtt/F3_33_4E_A2_A7_EC/lastseen:.* lastseen
ble2mqttd_Sepia_Client_:ble2mqtt/F3_33_4E_A2_A7_EC/present:.* present
ble2mqttd_Sepia_Client_:ble2mqtt/EA_EA_66_97_10_F3/lastseen:.* lastseen
ble2mqttd_Sepia_Client_:ble2mqtt/EA_EA_66_97_10_F3/present:.* present
ble2mqttd_Sepia_Client_:ble2mqtt/59_50_EB_AA_53_98/lastseen:.* lastseen
ble2mqttd_Sepia_Client_:ble2mqtt/59_50_EB_AA_53_98/present:.* present
ble2mqttd_Sepia_Client_:ble2mqtt/F3_F4_96_4D_1C_C6/lastseen:.* lastseen
ble2mqttd_Sepia_Client_:ble2mqtt/F3_F4_96_4D_1C_C6/present:.* present
ble2mqttd_Sepia_Client_:ble2mqtt/58_9E_C6_0E_EC_AD/lastseen:.* lastseen
ble2mqttd_Sepia_Client_:ble2mqtt/58_9E_C6_0E_EC_AD/present:.* present
ble2mqttd_Sepia_Client_:ble2mqtt/79_49_3C_4B_9D_33/lastseen:.* lastseen
ble2mqttd_Sepia_Client_:ble2mqtt/79_49_3C_4B_9D_33/present:.* present
und etliche mehr


Ist das so gedacht?
D.h. ich muss nun manuell die MQTT2-Devices wie von drhirn anlegen?
https://forum.fhem.de/index.php/topic,127173.msg1226199.html#msg1226199 (https://forum.fhem.de/index.php/topic,127173.msg1226199.html#msg1226199)

Danke im Voraus
lg, Gerhard
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 25 September 2022, 20:23:23
Hi!

Zitat von: gestein am 25 September 2022, 18:01:25
Hallo,

ich wollte mich damit mal ein bisschen spielen.
Nach der Installation des Tools und eines MQTT2-Servers bekomme ich nun ein MQTT2-Device und dort werden alle Bluetooth-Devices im Attribut readingList gespeichert:

Ist das so gedacht?
Jein. Es ist so von MQTT2_SERVER gedacht. Der versucht zu raten, wie Du Deine Geräte gerne hättest. Ob Dir das was bringt, ist eine andere Frage.

Zitat von: gestein am 25 September 2022, 18:01:25
D.h. ich muss nun manuell die MQTT2-Devices wie von drhirn anlegen?
Wenn Du es sauber und geordnet haben willst mit einem FHEM-Device pro MAC-Adresse ja.

Grüße
Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 25 September 2022, 22:16:08
Verstehe. Danke.
Kann man das abstellen?

Meine Gtags laufen probeweise seit ein paar Stunden.
Mal sehen, wie sich das bewährt. Schaut gut aus :)

Ganz verstehe ich noch nicht, wie man nun collectord ersetzen kann.
Ich habe 3 Rechner, die einige Zimmer abdecken.
Dann müsste ich pro Rechner einen MQTT2-Server mit anderem Port anlegen und jeweils ein MQTT2-Device.
Oder?

Ist dann irgendwann geplant, den Rechnernamen oder eine andere Kennung mitzuschicken, damit man das unterscheiden kann?
Wäre auch der Batterielevel geplant?  ;)

Danke, lg, Gerhard
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 25 September 2022, 23:05:31
Hi!
Zitat von: gestein am 25 September 2022, 22:16:08
Kann man das abstellen?
Uff, nutze das Modul nicht. Aber gehe davon aus, dass Du in der Commandref von MQTT2_SERVER etwas zu autocreate findest.

Zitat von: gestein am 25 September 2022, 22:16:08
Meine Gtags laufen probeweise seit ein paar Stunden.
Mal sehen, wie sich das bewährt. Schaut gut aus :)
ble2mqttd nutzt gattool, was nach meiner Wahrnehmung um Welten stabiler ist.

Zitat von: gestein am 25 September 2022, 22:16:08
Ganz verstehe ich noch nicht, wie man nun collectord ersetzen kann.
Ich habe 3 Rechner, die einige Zimmer abdecken.
Dann müsste ich pro Rechner einen MQTT2-Server mit anderem Port anlegen und jeweils ein MQTT2-Device.
Oder?

Ist dann irgendwann geplant, den Rechnernamen oder eine andere Kennung mitzuschicken, damit man das unterscheiden kann?
Ein MQTT2_SERVER reicht. Du musst nur bei jedem ble2mqttd ein anderes topic setzen und dann nach der "drhirn-Methode" für jede MAC-Adress-Raum-Kombination ein Device in FHEM, z. B.

Gerhard_Wohnzimmer
Gerhard_Flur
Gerlinde_Wohnzimmer
Gerlinde_Flur

Und dann fasst Du die Gerhards in einer structure zusammen und die Gerlindes in einer anderen. Damit bekommst Du dann einen hausweiten Gerhard-Status. Das jetzt erstmal ins Unreine gedacht. Habe das selbst noch nicht gemacht.

Etwas anspruchsvoller wird dann die Auswertung, in welchem Raum Du mit größter Wahrscheinlichkeit bist (-> rssi-Werte).

Zitat von: gestein am 25 September 2022, 22:16:08
Wäre auch der Batterielevel geplant?  ;)
Das würde sich anbieten. Aber mir fehlt momentan zugegebenermaßen die Zeit, da weiter dran zu werkeln. Eigentlich hatte ich schon für ble2mqttd keine :)

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 25 September 2022, 23:44:18
Hallo Patrick,

Danke.
Mit ,,autocreate no" ist hier wieder Ruhe.

In der Hilfe von ble2mqttd kann ich zum Thema topic nichts finden.
Habe ich da vielleicht eine alte Version?

Mit etwas Warten kann ich natürlich leben  ;)
Danke, lg, Gerhard
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 26 September 2022, 08:45:13
Hi!

Zitat von: gestein am 25 September 2022, 23:44:18
In der Hilfe von ble2mqttd kann ich zum Thema topic nichts finden.
Habe ich da vielleicht eine alte Version?
Nö, nur hat "irgendwer" vergessen, das in die Usage reinzupacken ;)

Einfach ble2mqttd zusätzlich mit

--mqtttopic ble2mqtt/flur

aufrufen.

Dann für jede Instanz in der drhirn-Definition

attr mqttTest devicetopic ble2mqtt/7C_2F_80_AF_1A_F8

durch

attr mqttTest devicetopic ble2mqtt/flur/7C_2F_80_AF_1A_F8

ersetzen.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 26 September 2022, 08:54:13
Neue Version 0.05 mit angepasster Hilfe, keine funktionalen Änderungen.

/Edit: Anhang entfernt. Aktuelle Version in #59
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 26 September 2022, 13:28:41
Hallo,

ich habe mich an der neuen Version versucht.
Damit hätte man schon mal die Werte pro Raum:
devicetopic ble2mqttd/.*/58_9E_C6_0E_EC_AD
$DEVICETOPIC/rssi:.* {my $room=(split /\//,$TOPIC)[1]; {"rssi_$room"=>$EVENT}}
$DEVICETOPIC/lastseen:.* {my $room=(split /\//,$TOPIC)[1]; {"lastseen_$room"=>strftime "%Y-%m-%d %H:%M:%S", localtime($EVENT)}}
$DEVICETOPIC/present:.* {my $room=(split /\//,$TOPIC)[1]; $EVENT ? {state=>'present'} : {state=>'absent'} }
$DEVICETOPIC/present:.* {my $room=(split /\//,$TOPIC)[1]; $EVENT ? {"presence_$room"=>'present'} : {"presence_$room"=>'absent'} }
$DEVICETOPIC/LWT:.* LWT


Nun muss ich mir noch überlegen, wie ich die present-Werte aus den bekannten Räumen zusammenführe und richtig auswerte.
Und das mit dem LWT stimmt auch noch nicht  ;)

lg, Gerhard
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 26 September 2022, 18:23:57
Hi!

Zitat von: gestein am 26 September 2022, 13:28:41
Damit hätte man schon mal die Werte pro Raum:
devicetopic ble2mqttd/.*/58_9E_C6_0E_EC_AD
$DEVICETOPIC/rssi:.* {my $room=(split /\//,$TOPIC)[1]; {"rssi_$room"=>$EVENT}}
$DEVICETOPIC/lastseen:.* {my $room=(split /\//,$TOPIC)[1]; {"lastseen_$room"=>strftime "%Y-%m-%d %H:%M:%S", localtime($EVENT)}}
$DEVICETOPIC/present:.* {my $room=(split /\//,$TOPIC)[1]; $EVENT ? {state=>'present'} : {state=>'absent'} }
$DEVICETOPIC/present:.* {my $room=(split /\//,$TOPIC)[1]; $EVENT ? {"presence_$room"=>'present'} : {"presence_$room"=>'absent'} }
$DEVICETOPIC/LWT:.* LWT

Ah, Du packst alle Infos zu einer Person in ein Gerät. Ggf. kann man in diesem Fall sogar die Auswertung mit einem (etwas größeren) Userreading lösen. Das könnte man dann sogar in 99_MyUtils auslagern und für alle Bewohner-Devices nutzen.

Zitat von: gestein am 26 September 2022, 13:28:41
Und das mit dem LWT stimmt auch noch nicht  ;)
Ja, vor allem auch, weil ble2mqttd das Topic garnicht setzt. Bislang gibt es als schlechte Alternative das instanzweite Heartbeat-Topic.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 27 September 2022, 09:53:58
Hallo,

ja, das war meine Idee. Irgendwie habe ich gerne alles in einem Gerät, wenn es sinnvoll zusammengehört.
Prinzipiell klappt das mit dem userreading presence schon (ist aber relativ aufwändig und als Einzeiler unübersichtlich).
$DEVICETOPIC/present:.* {my $room=(split /\//,$TOPIC)[1]; my $presence="absent";foreach my $readingname (keys %{$defs{"$NAME"}->{READINGS}}) {if($readingname =~ "presence_" && ReadingsVal("$NAME","$readingname","absent") eq "present") {$presence="present";last}}; if($EVENT) {$presence="present"}; fhem "setreading $NAME state $presence";fhem "setreading $NAME presence $presence"; $EVENT ? {"presence_$room"=>'present'} : {"presence_$room"=>'absent'}}

Wenn man auch den Raum und die RSSI als userreading haben will, wird es noch etwas aufwändiger.
Damit hätte man dann 2 Funktionen in 99_myUtils.

Ich teste den Code mal mit 2 oder 3 Nebenstellen, bevor ich mehr dazu poste.

lg, Gerhard
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 27 September 2022, 10:06:33
Ich wollte nur kurz anmerken, bevor du dir zu viel Arbeit antust: Das PRESENCE Modul kann auch auf Events hören. Löst nicht die Sache mit dem Raum, könnte aber sonst ein paar Dinge einfacher machen.
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Beta-User am 27 September 2022, 10:19:14
Vielleicht hilft es weiter - hatte mal was ähnliches angefangen für OpenMQTTGateway:

Es wird alles in ein MQTT2_DEVICE gepiped, das von den unterschiedlichen ESP's für einen BT-Tag empfangen wird:
define OMG_FFFFC424A12B MQTT2_DEVICE FFFFC424A12B
attr OMG_FFFFC424A12B userattr maxPresenceAge maxReadingsAge
attr OMG_FFFFC424A12B IODev MQTT2_FHEM_Server
attr OMG_FFFFC424A12B autocreate 0
attr OMG_FFFFC424A12B icon rfid_tag
attr OMG_FFFFC424A12B maxPresenceAge 1200
attr OMG_FFFFC424A12B maxReadingsAge 100000
attr OMG_FFFFC424A12B model OpenMQTTGateway_BT_gtag
attr OMG_FFFFC424A12B readingList home/(O[^/]*M[^/]*G[^/]*)/BTtoMQTT/FFFFC424A12B:.* { $TOPIC =~ m,home/(O[^/]*M[^/]*G[^/]*)/BTtoMQTT,;; json2nameValue($EVENT, "${1}_") }\
  home/(O[^/]*M[^/]*G[^/]*)/BTtoMQTT/FFFFC424A12B:.* { $TOPIC =~ m,home/(O[^/]*M[^/]*G[^/]*)/BTtoMQTT,;; {"last_IO"=>"$1"}}
attr OMG_FFFFC424A12B room Steuerung->Interfaces
attr OMG_FFFFC424A12B stateFormat Last IO: last_IO
attr OMG_FFFFC424A12B userReadings bestRecentGW:.*_rssi.* {identifyMyBestGW($name)}


PRESENCE auch via function:
define FFFFC424A12B_presence PRESENCE function { my $maxage = AttrVal("OMG_FFFFC424A12B","maxPresenceAge","300");;;; ReadingsAge("OMG_FFFFC424A12B","Last_IO","100000") < $maxage ? 1 : 0 }

Und hier noch die myUtils für das Ermitteln des "besten IO's":

sub identifyMyBestGW {
  my $name = shift;
  my $maxReadingsAge = shift // AttrVal($name,"maxReadingsAge",600);
 
  my $hash = $defs{$name};
  my @rssis = grep { $_ =~ /.*_rssi/ } sort keys %{ $hash->{READINGS} };
  my $bestGW = "unknown";
  my $bestGWold = ReadingsVal($name,"bestRecentGW","unknownGW");
  my $bestRSSI = -1000;
  my $currentRSSI = 0;
  for (@rssis) {
    if (ReadingsAge($name,$_,100) < $maxReadingsAge) {
      $currentRSSI = ReadingsVal($name,$_,-1100);
      if ($currentRSSI > $bestRSSI) {
        $bestRSSI = $currentRSSI ;
        $bestGW = $_;
      }
     
    }
  }
  $bestGW =~ s/_.*//g;
  return $bestGW ne $bestGWold ? $bestGW : undef;
}
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 27 September 2022, 10:44:19
Zitat von: drhirn am 27 September 2022, 10:06:33
Ich wollte nur kurz anmerken, bevor du dir zu viel Arbeit antust: Das PRESENCE Modul kann auch auf Events hören. Löst nicht die Sache mit dem Raum, könnte aber sonst ein paar Dinge einfacher machen.
Bis dato hatte ich für meine GTags je ein PRESENCE-Device mit lepresenced/collectord.
Das wurde dann im ROOMMATE ausgewertet.
Nun hatte ich versuchsweise das PRESENCE-Device durch das MQTT2-Device ersetzt.
Hatte im ersten Schritt mal funktioniert.
Werde mir aber gerne anschauen, ob diese Kette besser ist: MQTT2-Device (mit ble2mqttd) -> PRESENCE-Device -> ROOMMATE

@Beta-User: Vielen Dank. Sehr interessant. Das schaue ich mir auch gerne an.

lg, Gerhard
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Beta-User am 27 September 2022, 11:14:57
Nachtrag noch...

Habe gesehen, dass das betr. attrTemplate auch noch ein update erfahren hat, damit nur noch ein Event-Stapel ausgelöst wird. Könnte man hier genauso machen, z.B. so (eleganter wäre es, den Reading-Wert vorab zu ermitteln):
$DEVICETOPIC/present:.* {my $room=(split /\//,$TOPIC)[1]; $EVENT ? {"presence_$room"=>'present', state=>'present' } : {"presence_$room"=>'absent', state=>'absent'} }
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 27 September 2022, 12:22:30
Hallo Beta-User,

dieser Eventstapel erleichtert mir auch einiges. Cool.

Eine Frage bitte noch:
In Deiner Funktion "identifyMyBestGW" hast Du diesen wirklich coolen Code:
my $hash = $defs{$name};
my @rssis = grep { $_ =~ /.*_rssi/ } sort keys %{ $hash->{READINGS} };


Kann man das "grep" so erweitern, dass es alle Readings mit "_rssi" am Ende liefert, aber das Reading auslässt, dessen Raumname in der Variablen $room steht?
Also in der Art:
   Vorzimmer_rssi
   room
   state
   Wohnzimmer_rssi
   Garage_rssi

Wenn $room="Vorzimmer" ist, dann sollte @rssis enthalten "Wohnzimmer_rssi, Garage_rssi",.
Das würde meinen Code sehr vereinfachen.

Danke schon mal.
lg, Gerhard
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Beta-User am 27 September 2022, 12:35:30
Geht vermutlich schon, wenn man ein (?!$room) da reinknödelt.

Einfacher ist es vermutlich, ein "next if $_ eq $room;" an den Beginn der Schleife zu stellen.

OT: Der Code ist auch schon wieder etwas angejahrt, würde ich heute auch anders schreiben (für was wird da sortiert?):

my @rssis = grep { $_ =~ m{.*_rssi\z}x } keys %{ $hash->{READINGS} };
Und das andere dementsprechend:
$DEVICETOPIC/present:.* {my $room=(split m{[/]}x, $TOPIC)[1]; my $ret = $EVENT ? 'present' : 'absent'; { "presence_$room"=>$ret, state=>$ret } }
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 27 September 2022, 20:41:04
Cool. Danke für die vielen Hinweise.
Das hier sollte funktionieren - kurz und prägnant  ;)

$DEVICETOPIC/present:.* {my $room=(split /\//,$TOPIC)[1]; my $presenceRoom=$EVENT? "present":"absent"; my $presence=$presenceRoom; my @readings = grep { $_ =~ m{^presence_(?!$room).*}x } keys %{$defs{"$NAME"}->{READINGS}}; foreach (@readings) {if(ReadingsVal("$NAME","$_","absent") eq "present") {$presence="present"; last}}; {"presence_$room"=>"$presenceRoom","presence"=>"$presence","state"=>"$presence"}}

Mal schauen, wie man damit auch den Raum und das rssi schön lösen kann.
Rein aus Interesse.

lg, Gerhard
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Beta-User am 28 September 2022, 10:01:19
Meine "Hinweise" zu
- Interpolation (http://perlmeme.org/howtos/using_perl/interpolation.html, wann wo wie benötigt, und wo eben auch nicht...),
- "foreach" und
- genauerer Anweisung an den Perl-Interpreter, wie die regex zu verstehen ist (auch im split),
scheinen demnach nicht so interessant gewesen zu sein ::) ...
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 28 September 2022, 10:41:19
Hallo Beta-User,

ich weiß jetzt nicht genau, was Du meinst.
Die allermeisten Ideen und vor allem den Code habe ich doch von Dir übernommen.

lg, Gerhard
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Beta-User am 28 September 2022, 10:58:15
Dein Ergebnis:
$DEVICETOPIC/present:.* {my $room=(split /\//,$TOPIC)[1]; my $presenceRoom=$EVENT? "present":"absent"; my $presence=$presenceRoom; my @readings = grep { $_ =~ m{^presence_(?!$room).*}x } keys %{$defs{"$NAME"}->{READINGS}}; foreach (@readings) {if(ReadingsVal("$NAME","$_","absent") eq "present") {$presence="present"; last}}; {"presence_$room"=>"$presenceRoom","presence"=>"$presence","state"=>"$presence"}}
Mein Vorschlag für eine sauberere Schreibweise:
$DEVICETOPIC/present:.* {my $room=(split m{[/]}x,$TOPIC)[1]; my $presenceRoom=$EVENT ? 'present':'absent'; my $presence=$presenceRoom; my @readings = grep { $_ =~ m{\Apresence_(?!$room).*}x } keys %{$defs{$NAME}->{READINGS}}; for (@readings) {if(ReadingsVal($NAME,$_,'absent') eq 'present') {$presence='present'; last}}; {"presence_$room"=>$presenceRoom, presence=>$presence,state=>$presence}}
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 28 September 2022, 13:28:33
Das mit dem "m{[/]}x" in der regex für das split hatte ich doch glatt übersehen.
Danke.
Beim grep habe ich es dafür ja schon ;)

Und statt dem "foreach" ein "for" zu nehmen, ist auch kein Thema.
Auch die Hochkomma werde ich mir mal zu Gemüte führen.

Danke für die Hinweise.

Im Code selbst haben sich noch ein paar Änderungen ergeben.
Nun läuft es mal und ich werde ausführlich testen.

lg, Gerhard
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 02 Oktober 2022, 22:16:51
Hallo,

könnte mir bitte jemand dabei helfen das "ble2mqttd" beim Start des raspi automatisch zu starten?
Wie macht man das?

Danke, lg, Gerhard
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Stelaku am 02 Oktober 2022, 22:20:02
ich mach das über die rc.local datei
Zitat
/etc/rc.local

Gruss

Stephan
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: MadMax-FHEM am 03 Oktober 2022, 00:46:41
Kommt auf das System an.

Bis Stretch (wobei ab dort beides geht) war initd, also ein Startscript in /etc/initd

Ab Stretch dann systemd, also eine Unit-Datei in /etc/systemd/system

In jedem der genannten Ordner sind Beispiele vorhanden, ansonsten Internet oder eben mitteilen, was die Basis ist.
Siehe "Einleitung"...

Gruß, Joachim
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 03 November 2022, 18:21:56
Hallo,

Danke erstmal für die Tipps.
Ich starte ble2mqttd nun über die Datei "/etc/rc.local".

Mittlerweile klappt das mit ble2mqtt ganz gut.
Die Multiraum-Lösung ist etwas komplizierter.

Hier meine Lösung dafür:
defmod mqtt_Gtag_orange MQTT2_DEVICE
attr mqtt_Gtag_orange IODev MQTT2_FHEM_Server2
attr mqtt_Gtag_orange comment https://forum.fhem.de/index.php/topic,127173.msg1226199.html#msg1226199
attr mqtt_Gtag_orange devicetopic ble2mqttd/.*/7C_2F_80_99_D8_A3
attr mqtt_Gtag_orange event-on-change-reading .*
attr mqtt_Gtag_orange readingList $DEVICETOPIC/rssi:.* {my $room=(split m{[/]}x,$TOPIC)[1];; my $roomMax=$room;; my $rssiMax=$EVENT;; my @readings = grep { $_ =~ m{\Arssi_(?!$room).*}x } keys %{$defs{"$NAME"}->{READINGS}};; for (@readings) {my $rssiTmp=ReadingsVal($NAME,$_,'-100');; my $roomTmp=(split m{[_]}x,$_)[1];; if(($rssiMax gt $rssiTmp)&&(ReadingsVal($NAME,"presence_".$roomTmp,'absent') eq 'present')) {$rssiMax=$rssiTmp;;$roomMax=$roomTmp}};; {rssi=>$rssiMax,room=>$roomMax,"rssi_$room"=>$EVENT}}\
$DEVICETOPIC/lastseen:.* {lastseen=>strftime "%Y-%m-%d %H:%M:%S", localtime($EVENT)}\
$DEVICETOPIC/present:.* {my $roomAct=(split m{[/]}x,$TOPIC)[1];; my $rssi=ReadingsVal($NAME,"rssi_".$roomAct,'-100');;;;my $presenceAct=$EVENT?'present':'absent';; my $presenceTotal=$presenceAct;; my $room=$EVENT ? $roomAct:'';; my @readings = grep { $_ =~ m{\Apresence_(?!$roomAct).*}x } keys %{$defs{$NAME}->{READINGS}};; for (@readings) {if(ReadingsVal($NAME,$_,'absent') eq 'present') {my $roomTmp=(split m{[_]}x,$_)[1];; my $rssiTmp=ReadingsVal($NAME,"rssi_".$roomTmp,'-100');;if($rssi gt $rssiTmp){$room=$roomTmp;;$presenceTotal='present';; $rssi=$rssiTmp}}};; {"presence_$roomAct"=>$presenceAct, room=>$room, presence=>$presenceTotal, state=>$presenceTotal}}\
$DEVICETOPIC/LWT:.* LWT
attr mqtt_Gtag_orange room MQTT2_DEVICE


Funktioniert bei mir mit 2 raspberry zero und dem eingebauten Bluetooth-Chip ohne Probleme.
Jetzt wäre es schön auch noch das LWT und den Batterie-Status zu bekommen  ;)
Weihnachten kommt ja bald ...

lg, Gerhard
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 03 November 2022, 18:28:00
Kannst du mir bitte in Worten erklären, was in der Zeile passiert? Ich bin so scheiße in Perl ;)
attr mqtt_Gtag_orange readingList $DEVICETOPIC/rssi:.* {my $room=(split m{[/]}x,$TOPIC)[1];; my $roomMax=$room;; my $rssiMax=$EVENT;; my @readings = grep { $_ =~ m{\Arssi_(?!$room).*}x } keys %{$defs{"$NAME"}->{READINGS}};; for (@readings) {my $rssiTmp=ReadingsVal($NAME,$_,'-100');; my $roomTmp=(split m{[_]}x,$_)[1];; if(($rssiMax gt $rssiTmp)&&(ReadingsVal($NAME,"presence_".$roomTmp,'absent') eq 'present')) {$rssiMax=$rssiTmp;;$roomMax=$roomTmp}};; {rssi=>$rssiMax,room=>$roomMax,"rssi_$room"=>$EVENT}}\

Übrigens experimentiere ich gerade mit OpenMQTTGateway (https://docs.openmqttgateway.com/) (ESP). Bzw. Theengs Gateway (https://gateway.theengs.io/) (Linux, Windows). Das wären schon fertige Lösungen, mit denen wir das Rad nicht neu erfinden müssten.
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 03 November 2022, 18:51:22
Hm, in Worten? Das ist mal eine Herausforderung  ;)

Im Prinzip möchte ich bei mehreren Räumen die Signalstärke pro Raum als Reading im Device haben "z.B. rssi_Vorzimmer -76; rssi_Wohnzimmer -71" und den Raum mit dem besten Empfang im reading "room" sowie die entsprechende Signalstärke im Reading "rssi".
Also z.B.:
room             Wohnzimmer
rssi               -71
rssi_Vorzimmer     -76
rssi_Wohnzimmer    -71


Die einzelnen raspberry schicken die MQTT-Meldungen (sagt man das so?) aber zu unterschiedlichen Zeitpunkten.
Daher muss ich mir zuerst mal den aktuellen Raum aus dem Topic holen (my $room=(split m{[/]}x,$TOPIC)[1];).
Die aktuelle Signalstärke steht im Event (my $rssiMax=$EVENT;).

Dann suche ich alle Readings im Device, die mit "rssi_" beginnen - außer natürlich dem aktuellen. Denn dafür sind ja wahrscheinlich geänderte Werte geschickt worden.
Das feine Stück Code dafür habe ich selbst nur von Beta-User bekommen (my @readings = grep { $_ =~ m{\Arssi_(?!$room).*}x } keys %{$defs{"$NAME"}->{READINGS}};).
Warum und wie das funktioniert, verstehe ich leider auch noch nicht.

Dann muss ich nur noch alle Einträge im Array durchlaufen und die rssi-Werte vergleichen und mir gegebenfalls merken.

Zu guter Letzt werden die gefundenen Werte in einem Block an das Device übergeben ({rssi=>$rssiMax,room=>$roomMax,"rssi_$room"=>$EVENT}}).

Hilft diese Erklärung etwas?
lg, Gerhard
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 03 November 2022, 18:54:21
Ja, danke Gerhard! Dann habe ich das richtig interpretiert.
Bei mir wird über einen "bad reading name" gemeckert. Das muss ich mir mal in Ruhe ansehen.
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 03 November 2022, 20:50:35
Hi!

Zitat von: gestein am 03 November 2022, 18:21:56
Jetzt wäre es schön auch noch das LWT und den Batterie-Status zu bekommen  ;)
Weihnachten kommt ja bald ...

Den roten Mantel hatte ich schon an und dachte in meinem jugendlichen Leichtsinn, ich baue schnell das LWT ein. Gesagt getan. Funktioniert nur nicht, weil Net::MQTT::Simple Grütze ist... ich Grütze bin...

/Edit:
Version 0.06 mit LWT (topic: 'state') im Anhang.

/Edit 2:
Anhang entfernt.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 05 November 2022, 13:56:36
Hallo Patrick,

Habe gerade erst den Nachtrag geladen.
Danke. Schon mal installiert.

Vielleicht eine blöde Frage, aber was macht man denn nun konkret und richtigerweise damit?
Oft steht nur: $DEVICETOPIC/LWT:.* LWT

Letzter Wunsch an den Weihnachtsmann:
Wäre es denn auch noch möglich, den Batterie-Status abzufragen?

lg, Gerhard

Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 06 November 2022, 00:52:04
Hi!

Zitat von: gestein am 05 November 2022, 13:56:36
Vielleicht eine blöde Frage, aber was macht man denn nun konkret und richtigerweise damit?
Oft steht nur: $DEVICETOPIC/LWT:.* LWT
z. B.:

$DEVICETOPIC/state:.* status

Dann steht in status entweder connected (=ble2mqtt ist mit dem Broker verbunden) oder disconnected (=nicht verbunden, entweder weil sauber disconnected oder weil explodiert (LWT)).

Zitat von: gestein am 05 November 2022, 13:56:36
Letzter Wunsch an den Weihnachtsmann:
Wäre es denn auch noch möglich, den Batterie-Status abzufragen?
Sehe ich mir bei Gelegenheit an.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 06 November 2022, 07:19:24
Guten Morgen,

Danke für die Erklärung.
Habe die neue Version gestern installiert, aber bis dato wurde noch kein Reading angelegt.
Mit meinem derzeitigen Code müsste doch das Reading ,,LWT" angelegt werden. Oder?
$DEVICETOPIC/LWT:.* LWT
Wird das zyklisch geschickt?
Das muss ich mir heute genauer anschauen.

Danke auch schon mal auch wegen dem Batterie-Status.

Lg, Gerhard
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 06 November 2022, 16:33:13
Hi!
Zitat von: gestein am 06 November 2022, 07:19:24
Mit meinem derzeitigen Code müsste doch das Reading ,,LWT" angelegt werden. Oder?
$DEVICETOPIC/LWT:.* LWT
Selbst wenn es angelegt wird, wird es nicht gefüllt. Es gibt dieses Topic nämlich schlichtweg nicht. Bitte nimm stattdessen

$DEVICETOPIC/state:.* status

Dann steht im neuen Reading "status" entweder connected oder disconnected.

Zitat von: gestein am 06 November 2022, 07:19:24
Wird das zyklisch geschickt?
Nein, aber es wird retained, d. h. der Broker speichert den letzten Wert ab. D. h. der Broker kennt immer den aktuellen Wert und übermittelt ihn wenn man danach fragt. Das ist vor allem deshalb wichtig, weil ein toter ble2mqttd nicht periodisch senden kann. Beim Verbinden mit dem Broker wird es als 'connected' gesendet.

Probiere es doch einfach mal aus und schieße dann mit kill ble2mqttd ab.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: LutzG am 07 November 2022, 01:37:45
Ich übe schon eine Weile mit ein Paar ESP32 auf denen OpenMQTTGateway läuft und Mi-Bändern, dass hier:
https://forum.fhem.de/index.php/topic,127173.msg1236718.html#msg1236718 (https://forum.fhem.de/index.php/topic,127173.msg1236718.html#msg1236718)

Mir sind da 2 Sachen aufgefallen 1.:
Zitat von: Beta-User am 27 September 2022, 10:19:14
attr OMG_FFFFC424A12B maxReadingsAge 100000
Wenn ich den Raum verlasse, und der ESP nichts mehr sendet, wird das Reading mehr als 1 Tag weiter berücksichtigt. Teste gerade mit "1800" (30 Minuten).

Das 2., meine ESP heißen "OMG_SZ", "OMG_Bad", ... damit:
Zitat von: Beta-User am 27 September 2022, 10:19:14

  sub identifyMyBestGW {
  [ ... ]
  $bestGW =~ s/_.*//g;
}
bekomme ich als Reading nur: "OMG". Ich habe jetzt eine Weile gelesen / geübt, bis ich verstanden habe, dass $bestGW =~ s/_.*//g; alles löscht, was nach dem "_" kommt -> für (vielleicht nicht nur) mich ungünstig. Ich hab es geändert, in: $bestGW =~ s/_rssi//g;

Im Moment logge ich die RSSI Werte, um vielleicht dahinter zu kommen, ob ich eine "Raumerkennung" hin bekomme. Dabei hab ich festgestellt, das entferntere ESP manchmal besseren Empfang haben, als die gleich neben mir... Ich hänge Mal einen Graphen an.
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 07 November 2022, 21:42:36
Mahlzeit!

Neue Version 0.07 mit Batterie (wird alle 6 Stunden abgefragt).

Neue Topics:
battery
batterytime

Patrick

/Edit: Anhang entfernt. Neue Version weiter unten.
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 07 November 2022, 22:18:53
Hallo Patrick,

Super. Das werde ich morgen gleich testen.

Zitat von: PatrickR am 06 November 2022, 16:33:13
Probiere es doch einfach mal aus und schieße dann mit kill ble2mqttd ab.

Habe nun auf allen 3 Rechnern die Version mit Status/LWT installiert und folgendes als ReadingList eingetragen:
$DEVICETOPIC/state:.* {my $roomAct=(split m{[/]}x,$TOPIC)[1]; {"status_$roomAct"=>$EVENT}
Wenn ich bei einem Rechner den Prozess abschieße, sollte doch ein Reading ,,status_Vorzimmer" angelegt werden. Oder?
Aber es passiert nichts.
Auch nicht nach einer Stunde, oder wenn ich einen Prozess wieder starte.
Und auch nicht mit ,,$DEVICETOPIC/state:.* status"

Lg, Gerhard

Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 07 November 2022, 23:06:34
Zitat von: gestein am 07 November 2022, 22:18:53
$DEVICETOPIC/state:.* {my $roomAct=(split m{[/]}x,$TOPIC)[1]; {"status_$roomAct"=>$EVENT}
Das Topic wird direkt nach dem Start geschickt, also wenn es nicht direkt kommt, passt was nicht.
Auf was ist denn devicetopic gesetzt?

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 08 November 2022, 08:10:57
Hallo Patrick,

ich wollte nur kurz die neue Version wegen der Battery-Funktion installieren und habe dazu alle Rechner neu gestartet.

Nun erscheint in meinem MQTT-Server das folgende Reading:
RETAIN {"ble2mqttd/Kinderzimmer/state":"connected","ble2mqttd/Vorzimmer/state":"connected"} 2022-11-08 08:05:20

Es gibt aber kein MQTT-Device mit "Kinderzimmer" oder "Vorzimmer", nur die MAC-Adressen der Tags z.B.:
devicetopic ble2mqttd/.*/58_9E_C6_0E_EC_AD

lg, Gerhard
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 08 November 2022, 09:57:03
Hallo Gerhard,
Zitat von: gestein am 08 November 2022, 08:10:57
Nun erscheint in meinem MQTT-Server das folgende Reading:
RETAIN {"ble2mqttd/Kinderzimmer/state":"connected","ble2mqttd/Vorzimmer/state":"connected"} 2022-11-08 08:05:20
Sehr gut.

Zitat von: gestein am 08 November 2022, 08:10:57
Es gibt aber kein MQTT-Device mit "Kinderzimmer" oder "Vorzimmer", nur die MAC-Adressen der Tags z.B.:
devicetopic ble2mqttd/.*/58_9E_C6_0E_EC_AD
Das ist doch ein Problem, das man angehen kann. Die Frage ist halt, wo Du die Status der ble2mqttds (also das, was Du mit LWT bezweckst) gerne hättest. Du könntest z. B. ein neues MQTT2_DEVICE pro ble2mqttd (also pro Raum) anlegen oder ein gemeinsames und Dir dann jeweils nur die passenden state-Topics abholen, z. B.:


ble2mqttd/Kinderzimmer/state status_kinderzimmer

Das könntest Du sogar in Deine vorhandenen Devices dazupacken, da Dich niemand zwingt, $DEVICETOPIC zu verwenden. Das wäre aber eigentlich der falsche Ort.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 08 November 2022, 16:37:05
Hallo Patrick,

das mit der Abfrage der Batterie scheint zu klappen.
Momentan gebe ich die Werte noch auf nach Zimmern getrennte Readings, damit ich kontrollieren kann, ob immer die gleichen Werte geschickt werden.

Zumindest bei einem MQTT-Device steht:
battery_Kinderzimmer unknown 2022-11-08 14:07:28
battery_Vorzimmer 94 2022-11-08 14:15:27
batterytime_Kinderzimmer 1667912848 2022-11-08 14:07:28
batterytime_Vorzimmer 1667911664 2022-11-08 14:15:27


Wie kann das mit "unknown" sein?
Was sagen eigentlich die Readings "batterytime" aus?

Danke, lg, Gerhard
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Stelaku am 08 November 2022, 16:54:21
Hallo Patrick

Vielen dnak für Deine Bemühungen jetzt auch noch den Batterie Status mit in das Program zu nehmen. Habe es gerade getestet und funktioniert prima.

@gestein Ich glaube das Reading batterytime gibt an wann der Status der Batterie abgefragt wurde. Es gibt aber auch noch ein topic in den der Batterie Stand in prozent angegeben wird.
ble2mqttd_FlurSchrank:ble2mqtt/7C_2F_80_B2_2F_8E/battery:.* battery

Viele Grüsse

Stephan
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: gestein am 08 November 2022, 17:08:51
Hallo Stephan,

dann wäre eigentlich der Wert, den "batterytime" hat, und der Zeitstempel, den das Reading battery trägt, gleich. Oder?

lg, Gerhard
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 08 November 2022, 21:30:32
Guten Abend!

Zitat von: gestein am 08 November 2022, 16:37:05
battery_Kinderzimmer unknown 2022-11-08 14:07:28
Wie kann das mit "unknown" sein?
Unknown heißt, es ist schief gegangen. Interessanterweise gibt es zwei Spezialfälle von unknown, nämlich "unknown (unsupported)" und "unknown (timeout)". Unknown ohne Anhängsel ist der Standardfall, wenn irgendwas sonst schiefgeht. Das ist spannend. Genaueres erfahren wir nur mit einem DEBUG-Log, aber das ist für die SD-Karte des Pi nicht so  schön.

Zitat von: gestein am 08 November 2022, 17:08:51
dann wäre eigentlich der Wert, den "batterytime" hat, und der Zeitstempel, den das Reading battery trägt, gleich. Oder?
Wenn man von Details wie nicht synchronisierten Uhren usw. mal absieht vermutlich ja.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: decaflo am 17 Dezember 2022, 17:15:46
Hallo zusammen,

danke für das Script! Ich bin hier gelandet, weil mein fhem unter Archlinux läuft, bei dem hcitool und gatttool schon länger deprecated sind und nicht mehr verfügbar sind.
ble2mqttd bricht jetzt bei mir mit "gatttool not found" ab.

$ perl ble2mqttd --mqttserver localhost:1883 --mqtttopic ble2mqtt/entrance --debug 5
main::sanity_check: md5 digest of 'ble2mqttd' is: '...'.
main::sanity_check: bluetoothctl found at '/usr/bin/bluetoothctl'.
main::sanity_check: ERROR: gatttool not found!
main::error_exit: ERROR: Exiting due to missing binaries.


War es nicht das Ziel, gatttool überflüssig zu machen? Läuft das Script auch ohne?

Danke und schöne Grüße, Florian!
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 17 Dezember 2022, 20:28:48
Hi!

Zitat von: decaflo am 17 Dezember 2022, 17:15:46
$ perl ble2mqttd --mqttserver localhost:1883 --mqtttopic ble2mqtt/entrance --debug 5
main::sanity_check: ERROR: gatttool not found!


War es nicht das Ziel, gatttool überflüssig zu machen? Läuft das Script auch ohne?
Gatttool wird aktuell verwendet, um den Batteriestatus abzufragen. Hatte mal probiert, es mit bluetoothctl zu lösen, habe es aber auf die Schnelle nicht hinbekommen.

Ich sehe zwei Möglichkeiten:

Schöner wäre natürlich 1. Wenn Du eine Idee hast oder einen Beispielcode, gerne her damit. Dann schaue ich es mir an und baue es ein. Es müsste aber ziemlich flexibel funktionieren, u. a. auch mit Raspbian.

Patrick


Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: decaflo am 19 Dezember 2022, 16:03:09
Ok, danke für die Infos! Ich schaue mir das an, komme aber voraussichtlich erst über die Feiertage dazu. Viele Grüße!
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: FHEM_Starter am 21 Dezember 2022, 14:25:04
Hallo Patrick,

ich habe die Version mit der Battery Abfrage installiert. Aktuell werden jedoch keine Battery Readings angelegt, auch im mqtt Explorer (ich arbeite auf einem Mac) werden keine Topics angezeigt.
Dafür kommen in zwei Zeilen Fehlermeldungen:
Use of uninitialized value $current_mac in hash element at ./ble2mqttd line 488.
Use of uninitialized value $current_mac in hash element at ./ble2mqttd line 483.

Ich versuche meine Siemens GTags zu erkennen.

Danke und Gruß
Wolfgang
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 21 Dezember 2022, 22:03:21
Hallo Wolfgang!

Zitat von: FHEM_Starter am 21 Dezember 2022, 14:25:04
ich habe die Version mit der Battery Abfrage installiert. Aktuell werden jedoch keine Battery Readings angelegt, auch im mqtt Explorer (ich arbeite auf einem Mac) werden keine Topics angezeigt.
Dafür kommen in zwei Zeilen Fehlermeldungen:
Use of uninitialized value $current_mac in hash element at ./ble2mqttd line 488.
Use of uninitialized value $current_mac in hash element at ./ble2mqttd line 483.
Kannst Du mal ein Debug-Log erstellen und posten/mir per PN schicken? Dann schaue ich es mir mal an.

MQTT Explorer ist auf jeden Fall schonmal ein ausgesprochen schönes Debuggingwerkzeug.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: FHEM_Starter am 22 Dezember 2022, 12:51:14
erledigt, PM ist raus.

Wolfgang
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: decaflo am 22 Dezember 2022, 23:46:59
Die Abfrage des Akkuladezustandes mit bluetoothctl funktioniert über die Befehlsfolge

connect
menu gatt
select-attribute
read
disconnect


# connect 58:9E:C6:10:51:26
Attempting to connect to 58:9E:C6:10:51:26
[CHG] Device 58:9E:C6:10:51:26 Connected: yes
Connection successful
...
[Gigaset G-tag]# menu gatt
...
[Gigaset G-tag]# select-attribute 00002a19-0000-1000-8000-00805f9b34fb
[Gigaset G-tag:/service0019/char001a]# read
Attempting to read /org/bluez/hci0/dev_58_9E_C6_10_51_26/service0019/char001a
[CHG] Attribute /org/bluez/hci0/dev_58_9E_C6_10_51_26/service0019/char001a Value:
  55                                               U               
  55                                               U               


wobei "55" dasselbe ist, was ich mit gatttool erhalte:


~# gatttool -b 58:9E:C6:10:51:26 -t public --char-read --uuid=00002a19-0000-1000-8000-00805f9b34fb
handle: 0x001b value: 55


Ich hatte Probleme, das in den Code reinzufummeln, weil ich dem Expect Modul nicht beibringen konnte, mit dem mehrzeiligen Output umzugehen. Liegt aber wohl an mir  ::)
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: decaflo am 23 Dezember 2022, 09:30:58
Da ich im Erdgeschoss in der Innenstadt wohne und seit der Corona-Warn-App alle Handys Bluetooth eingeschaltet haben, landen bei mir sehr viele MAC-Adressen in der readingList des korrespondierenden MQTT_DEVICE. Und damit meine ich mehrere tausend innerhalb weniger Tage. Das führt bei mir zu erheblicher Kommunikation im Netz und dazu, dass wegen der umfangreichen Device-Konfiguration der ganze fhem-Server in die Knie geht. 

Ich habe deswegen in ble2mqttd noch einen MAC-Filter eingebaut, so dass nur bestimmt MACs weitergegeben werden:


$ ./ble2mqttd
ble2mqttd --mqttserver <mqtt server:mqtt port> --mqttfingerprint <ssl fingerprint> --mqttuser <mqtt user> --mqttpass <mqtt pass> --loglevel <log level> --logtarget <log target> --daemon --mac <regex>
...
--mac <regex> - filter handled MAC Adresses with regular expression.
examples:
...
ble2mqttd --mqttserver mqtt.domain:8883 --mqttfingerprint 'sha256$11e20bbb668da517a0ae8536f3c79887d06ddec945fab60401deab92dc7e7c1f' --mqttuser user --mqttpass pass --mac 'AB:CD:EF:.*'


Vielleicht kann das ja noch jemand gebrauchen.
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 23 Dezember 2022, 15:16:42
Hi!

Zitat von: FHEM_Starter am 22 Dezember 2022, 12:51:14
erledigt, PM ist raus.
Du setzt scheinbar eine alte oder veränderte Version ein. Ich erstelle heute noch eine neue Version mit decaflos Regex-Patch. Vielleicht probierst Du es mit der nochmal und dann geht es dem Bug (sofern er dann noch auftritt) an den Kragen.

Zitat von: decaflo am 22 Dezember 2022, 23:46:59
Die Abfrage des Akkuladezustandes mit bluetoothctl funktioniert über die Befehlsfolge

connect
menu gatt
select-attribute
read
disconnect
Schaue ich mir an. Ich erinnere mich dunkel, dass ich das mal probiert hatte und es bei mir (ebenfalls G-Tags) nicht zuverlässig funktioniert hat. Ich teste das auf jeden Fall mal.


Zitat von: decaflo am 23 Dezember 2022, 09:30:58
Da ich im Erdgeschoss in der Innenstadt wohne und seit der Corona-Warn-App alle Handys Bluetooth eingeschaltet haben, landen bei mir sehr viele MAC-Adressen in der readingList des korrespondierenden MQTT_DEVICE. Und damit meine ich mehrere tausend innerhalb weniger Tage. Das führt bei mir zu erheblicher Kommunikation im Netz und dazu, dass wegen der umfangreichen Device-Konfiguration der ganze fhem-Server in die Knie geht. 
Ich habe mich ja immer gegen den Filter gewehrt, weil die Argumente mich nicht überzeugt haben. Aber Dein Szenario hatte ich dabei definitiv nicht im Kopf. Auch wenn man FHEM-seitig vielleicht noch etwas filtern könnte ist das ja gruselig.

Zitat von: decaflo am 23 Dezember 2022, 09:30:58
Ich habe deswegen in ble2mqttd noch einen MAC-Filter eingebaut, so dass nur bestimmt MACs weitergegeben werden:
Schöner Patch. Baue ich (ggf. mit minimalen Anpassungen) so ein.

Patrick


Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 23 Dezember 2022, 15:37:51
Version 0.08 mit decaflos MAC-Filter-Patch

/Edit: Datei entfernt. Neue Version siehe unten.
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 23 Dezember 2022, 15:50:20
Hi!

Zitat von: decaflo am 22 Dezember 2022, 23:46:59
Die Abfrage des Akkuladezustandes mit bluetoothctl funktioniert über die Befehlsfolge

connect
menu gatt
select-attribute
read
disconnect

Hmpf:

[bluetooth]# connect 58:9E:C6:10:YY:XX
Attempting to connect to 58:9E:C6:10:YY:XX
Failed to connect: org.bluez.Error.Failed

Jetzt ist natürlich die Frage, was meinen G-Tag von Deinem unterscheidet. Ggf. ist/war meiner mal mit einem Gerät gekoppelt oder so. Für die (unschöne) Gatttool-Variante scheint das aber egal zu sein.

Grüße
Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: FHEM_Starter am 23 Dezember 2022, 18:36:36
Hallo Patrick,

der Patch mit der mac-adresse klappt, ich sehe "nur" noch die G-Tags mit der korrespondierenden Mac Adresse. Ist das eine komma separierte Liste? Also "AA:BB:CC.*,AA:BB:DD.*"?

Die Battariewerte kommen leider immer noch nicht, ich habe die ein neues Log-File gesendet.

wolfgang@WSP-NUC:/lib/systemd/system$ sudo systemctl status ble2mqttd
● ble2mqttd.service - ble2mqtt daemon
   Loaded: loaded (/lib/systemd/system/ble2mqttd.service; enabled; vendor preset: enabled)
   Active: active (running) since Fr 2022-12-23 18:05:01 CET; 19min ago
  Process: 30762 ExecStartPre=/bin/sleep 10 (code=exited, status=0/SUCCESS)
Main PID: 31277 (ble2mqttd)
    Tasks: 2
   Memory: 15.0M
      CPU: 4.190s
   CGroup: /system.slice/ble2mqttd.service
           ├─ 4595 bluetoothctl
           └─31277 /usr/bin/perl /home/wolfgang/ble2mqttd --mqttserver 127.0.0.1:1883 --mqttuser myuser --mqttpass mypasswd --mqtttopic ble2mqtt/keller --absentinterval 180 --mac 7C:2F:80.*

Dez 23 18:05:05 WSP-NUC ble2mqttd[31277]: Use of uninitialized value $current_mac in hash element at /home/wolfgang/ble2mqttd line 498.
Dez 23 18:05:07 WSP-NUC ble2mqttd[31277]: Use of uninitialized value $current_mac in hash element at /home/wolfgang/ble2mqttd line 493.
Dez 23 18:05:07 WSP-NUC ble2mqttd[31277]: Use of uninitialized value $current_mac in hash element at /home/wolfgang/ble2mqttd line 498.
Dez 23 18:07:01 WSP-NUC ble2mqttd[31277]: main: Scan started.
Dez 23 18:10:07 WSP-NUC ble2mqttd[31277]: main::evaluation_task: Device 7C:2F:80:AB:FD:0B is now absent.
Dez 23 18:10:25 WSP-NUC ble2mqttd[31277]: main::evaluation_task: Device 7C:2F:80:AB:FC:43 is now absent.
Dez 23 18:14:37 WSP-NUC ble2mqttd[31277]: main::evaluation_task: Device 7C:2F:80:AB:FC:43 is now absent.
Dez 23 18:15:25 WSP-NUC ble2mqttd[31277]: main::evaluation_task: Device 7C:2F:80:AB:FD:10 is now absent.
Dez 23 18:20:02 WSP-NUC ble2mqttd[31277]: Use of uninitialized value in subtraction (-) at /home/wolfgang/ble2mqttd line 311.
Dez 23 18:20:02 WSP-NUC ble2mqttd[31277]: main::cleanup_task: Cleanup finished, deleted 1 devices in 0 seconds.


Danke dass Du hier so viel Zeit und Arbeit investierst.

Frohe Weihnachten,
Wolfgang
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: decaflo am 23 Dezember 2022, 18:55:37
Zitat von: FHEM_Starter am 23 Dezember 2022, 18:36:36
der Patch mit der mac-adresse klappt, ich sehe "nur" noch die G-Tags mit der korrespondierenden Mac Adresse. Ist das eine komma separierte Liste? Also "AA:BB:CC.*,AA:BB:DD.*"?

Hallo Wolfgang,

nein, das ist eine Regular Expression, keine kommaseparierte Liste. D.h. ein solche Liste kannst Du z.B. so angeben:

--mac "AA:BB:(CC|DD):.*"

oder ganze Adressen so:

--mac "AA:BB:CC:DD:EE:FF|00:11:22:33:44:55:66"

Schöne Grüße!
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: decaflo am 23 Dezember 2022, 19:23:29
Zitat von: PatrickR am 23 Dezember 2022, 15:50:20
Hi!

Hmpf:

[bluetooth]# connect 58:9E:C6:10:YY:XX
Attempting to connect to 58:9E:C6:10:YY:XX
Failed to connect: org.bluez.Error.Failed

Jetzt ist natürlich die Frage, was meinen G-Tag von Deinem unterscheidet. Ggf. ist/war meiner mal mit einem Gerät gekoppelt oder so. Für die (unschöne) Gatttool-Variante scheint das aber egal zu sein.

Grüße
Patrick

Hallo Patrick,

komisch. Ich habe etwas rumprobiert und das tritt auf verschiedenen Geräten mit dem selben Tag bei mir auch auf:


Allerdings geht dasselbe mit gattttool auf dem Raspi 3B+ auch nicht:


# gatttool -b 58:9E:C6:1A:YY:ZZ -t public --char-read --uuid=00002a19-0000-1000-8000-00805f9b34fb
connect to 58:9E:C6:1A:YY:ZZ: Connection refused (111)


oder manchmal


# gatttool -b 58:9E:C6:1A:YY:ZZ -t public --char-read --uuid=00002a19-0000-1000-8000-00805f9b34fb
connect to 58:9E:C6:1A:YY:ZZ: Function not implemented (38)



Dort wo die Abfrage mit gatttool klappt, geht sie auch mit bluetoothctl.

Kannst Du das bestätigen oder geht bei Dir auf demselben Gerät die Abfrage mit bluetoothctl nicht, mit gatttool aber schon?
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 23 Dezember 2022, 19:44:28
Hi!

Zitat von: decaflo am 23 Dezember 2022, 19:23:29
Kannst Du das bestätigen oder geht bei Dir auf demselben Gerät die Abfrage mit bluetoothctl nicht, mit gatttool aber schon?
Ich fürchte ja:


root@rpi-az-desktop:~# gatttool -b 58:9E:C6:10:XX:YY -t public --char-read --uuid=00002a19-0000-1000-8000-00805f9b34fb
handle: 0x001b value: 13
root@rpi-az-desktop:~# bluetoothctl
Agent registered
[bluetooth]# connect 58:9E:C6:10:XX:YY
Attempting to connect to 58:9E:C6:10:XX:YY
Failed to connect: org.bluez.Error.Failed


Hatte relativ früh bei G-Tags schon merkwürdige Phänomene. U. a. haben die keine Beacons mehr gesendet wenn sie verbunden waren. Würde mal drauf tippen, dass mein Test-G-Tag irgendwas anderes "erlebt" hat als Deine. Aber ich weiß es schlichtweg nicht und auch nicht, warum gatttool das scheinbar egal ist.

Letztlich hat das aber auch was Positives: Normalerweise läuft bei mir alles zuverlässig und die Nutzer finden dann merkwürdige Probleme. Das zu rekonstruieren ist immer aufwendig. Diesmal ist es andersrum :)

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: FHEM_Starter am 02 Januar 2023, 12:59:52
Hallo und ein Frohes Neues,

Dank Patrick haben wir eine weitere Erkenntnis gewonnen: die bluez Version! Ab der Version 5.50 kommen die Battariewerte auch ordentlich, aktuell teste ich es mit der Version 5.55 auf zwei Raspberries.

Liebe Grüße
Wolfgang
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 02 Januar 2023, 19:23:24
Neue Version: 0.09

/Edit: Anhang entfernt. Neue Version siehe unten.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: hubiuwe am 20 Januar 2023, 17:22:33
Hallo zusammen

ble2mqtt ist ja ein toller Ansatz ;D, find ich toll und habe es gleich getestet.
Funktioniert bei mir. Bis auf den Batteriestatus, ich habe einen G-Tag.
Mit lepresenced kommt der Batteriestatus an.

Übrigens CPAN hatte bei mir nicht funktioniert, ich musste "make" nach installieren.
zu den APT Paketen sollte also noch "make" ergänzt werden.
apt-get install bluez libexpect-perl libnet-server-perl libreadonly-perl make
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 20 Januar 2023, 17:28:35
Hi!

Zitat von: hubiuwe am 20 Januar 2023, 17:22:33
Funktioniert bei mir. Bis auf den Batteriestatus, ich habe einen G-Tag.
Mit lepresenced kommt der Batteriestatus an.
Kannst Du mal ein Debug-Log erstellen?

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Wernieman am 21 Januar 2023, 17:16:39
Erstmal .. netter Ansatz und Danke für die Mühe ..

-- wieder gelöscht, da Problem vor dem Bildschirm saß --

Es hätte nicht jemand den Code, um für jedes "MAC-Device" ei8n eigenes Reading zu haben?
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Lehmi54 am 23 Januar 2023, 12:37:22
Hallo Patrick,
Die Lösung ist für mich perfekt, herzlichen Dank für Deine Mühe!
Ich habe 3 Raspis mit ble2mqttd und 3 G-Tags und MQTT2-Server auf dem Raspi 4, sowie die dazugehörigen 9 MQTT2_DEVICEs für Presence.
Funktioniert, was die Presence angeht, tadellos.
Starte ble2mqttd über Service und Konfig-Datei.
Ich mußte für die Batteriewerte die vollständigen MAC-Adressen im Filter angeben,
mit .* war da nichts. Logisch gatttool braucht halt die mac.
Habe aber das gleiche Problem, wie hubiuwe, keine oder unzuverlässigen (unknown) Batteriewerte.
Am Raspi 4 und 2 keine Werte, beim Zero W mal eins, zwei, nie die 3 Batteriewerte der G-Tags nach dem restart.
Habe mal testweise in Zeile 353 des Scripts die Abfrage nach dem Batterieservice " && $devices{$mac}{'batteryservice'} " entfernt.
Nach dem restart des ble2mqttd-Services funktioniert die Batterieabfrage für alle 3 G-Tags auf allen 3 Raspis bis jetzt.
Bin mir ehrlicherweise nicht so richtig über die Konsequenzen meiner Änderung im Klaren, einfach zu wenig Programmierwissen.
Viele Grüße
Uwe
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 23 Januar 2023, 13:10:37
Hi!

Zitat von: Lehmi54 am 23 Januar 2023, 12:37:22
Ich mußte für die Batteriewerte die vollständigen MAC-Adressen im Filter angeben,
mit .* war da nichts. Logisch gatttool braucht halt die mac.
Hmm eigentlich sollte das nicht nötig sein. ble2mqttd schaut, welche Geräte vorbeikommen (und den Filter matchen, sofern gesetzt) und zusätzlich den Battery Service anbieten.

Zitat von: Lehmi54 am 23 Januar 2023, 12:37:22
Habe aber das gleiche Problem, wie hubiuwe, keine oder unzuverlässigen (unknown) Batteriewerte.
Am Raspi 4 und 2 keine Werte, beim Zero W mal eins, zwei, nie die 3 Batteriewerte der G-Tags nach dem restart.
Da ich das aktuell bei mir nicht rekonstruiert bekomme: Wie genau äußert sich das? Verstehe ich das richtig, dass immer ein Teil Deiner 3 Tags Werte liefert und nach einem Neustart ein anderer Teil? Wenn ein Tag einen Wert liefert, klappt es dann bei diesem Tag immer während einer "Session", d. h. ohne Neustart?

Zitat von: Lehmi54 am 23 Januar 2023, 12:37:22
Habe mal testweise in Zeile 353 des Scripts die Abfrage nach dem Batterieservice " && $devices{$mac}{'batteryservice'} " entfernt.
Nach dem restart des ble2mqttd-Services funktioniert die Batterieabfrage für alle 3 G-Tags auf allen 3 Raspis bis jetzt.
Bin mir ehrlicherweise nicht so richtig über die Konsequenzen meiner Änderung im Klaren, einfach zu wenig Programmierwissen.
Naja, es gibt zwei mögliche Konsequenzen: Es werden je nach MAC-Filter auch Geräte gefragt, die den Service nicht anbieten, ggf. mit Timeouts. Während der Abfrage wird nicht gescannt, d. h. es könnte sein, dass PRESENCE auf absent geht. Die zweite Konsequenz könnte sein, dass die Tags nicht antworten, weil die Abfrage auf einen Standardwert zurückfällt. Wenn Du einen engen MAC-Filter gesetzt hast, könnte man ggf. damit leben.

Ich baue bei Gelegenheit mal eine Debug-Version, um das Problem weiter einzugrenzen.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 23 Januar 2023, 14:35:07
@Lehmi54, hubiuwe:
Testversion (0.09dev) für das Batterieproblem.

ble2mqttd versucht nun so lange den Tag zu erkennen (inkl. Battery Service), bis es klappt. Wenn es funktioniert müsste ich es noch etwas optimieren.

Patrick

/Edit: Datei entfernt, da überholt
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Lehmi54 am 23 Januar 2023, 17:15:01
Hi,
Du bist so fix!!! Danke
habe die dev Version installiert. Aller 6s sucht er noch verzweifelt nach dem ...AE
Jan 23 16:59:11 Raspi2-Kelller-XXX ble2mqttd: main::query_task: Executing query task, 1 items in queue, querying 7C:2F:80:XX:XX:AE, zumindest hat er die anderen 2 Gefunden, wenn auch mit dem Wert "unknown".
Nach ca. 10 min nach dem AE suchen, hat er aufgegeben
pi@Raspi2-Kelller-135:~ $ gatttool -b 7C:2F:80:XX:XX1:AE -t public --char-read --uuid=0x2a19
handle: 0x001b   value: 4b

bietet allerdings den richtigen Wert.
Habe 3x hintereinande gatttool gestartet mit völlig unterschiedlichen Ergebnissen.
pi@Raspi2-Kelller-135:~ $ sudo service ble2mqttd restart
pi@Raspi2-Kelller-135:~ $ gatttool -b 7C:2F:80:XX:XX:CF -t public --char-read --uuid=0x2a19
connect to 7C:2F:80:95:56:CF: Function not implemented (38)
pi@Raspi2-Kelller-135:~ $ gatttool -b 7C:2F:80:XX:XX:CF -t public --char-read --uuid=0x2a19
connect to 7C:2F:80:95:56:CF: Transport endpoint is not connected (107)
pi@Raspi2-Kelller-135:~ $ gatttool -b 7C:2F:80:XX:XX:CF -t public --char-read --uuid=0x2a19
handle: 0x001b   value: 2f

Besuch kommt gerade...
Viele Grüße
Uwe
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: hubiuwe am 23 Januar 2023, 18:00:01
Hallo PatrickR
Mit der neuen Version sieht es schon besser aus jetzt kommt auch das MQTT-Toppic "battery" vorbei, welches ich vorher ja garnicht gesehen habe.
Ich habe im MAC Filter die komplette MAC und auch mal einen REGEX versucht, es funktionierte beides.
Die Logfiles kommen per PN.

Das Battery- und batterytime reading kommen jetzt auch bei Fhem an. ;D ;D ;D.

Vielen Dank für die Mühen.
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 23 Januar 2023, 21:34:33
Hi!

Zitat von: Lehmi54 am 23 Januar 2023, 17:15:01
Nach ca. 10 min nach dem AE suchen, hat er aufgegeben
Wenn er aufhört ist der Tag entweder absent oder die Abfrage hat funktioniert.

Zitat von: Lehmi54 am 23 Januar 2023, 17:15:01
Habe 3x hintereinande gatttool gestartet mit völlig unterschiedlichen Ergebnissen.
pi@Raspi2-Kelller-135:~ $ sudo service ble2mqttd restart
pi@Raspi2-Kelller-135:~ $ gatttool -b 7C:2F:80:XX:XX:CF -t public --char-read --uuid=0x2a19
connect to 7C:2F:80:95:56:CF: Function not implemented (38)
pi@Raspi2-Kelller-135:~ $ gatttool -b 7C:2F:80:XX:XX:CF -t public --char-read --uuid=0x2a19
connect to 7C:2F:80:95:56:CF: Transport endpoint is not connected (107)
pi@Raspi2-Kelller-135:~ $ gatttool -b 7C:2F:80:XX:XX:CF -t public --char-read --uuid=0x2a19
handle: 0x001b   value: 2f

Hmm redet noch irgendwas anderes mit dem G-Tag, z. B. die App oder so? Tritt das Problem auch auf, wenn ble2mqttd nicht läuft?

Zitat von: Lehmi54 am 23 Januar 2023, 17:15:01
Besuch kommt gerade...
Schönen Gruß!

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Lehmi54 am 24 Januar 2023, 14:35:06
Hi!
ZitatWenn er aufhört ist der Tag entweder absent oder die Abfrage hat funktioniert.
zur dev Version: Alle drei Dongle sind "zu Hause" also present, werden aber auch nach 15 min (abgebrochen) nicht gefunden, es geht sonst ewig... (Raspi 2 und 4 mit Bluetooth-Dongle) Raspi Zero (int. Bluetooth) keine Probleme, werden sofort erkannt.
ZitatHmm redet noch irgendwas anderes mit dem G-Tag, z. B. die App oder so? Tritt das Problem auch auf, wenn ble2mqttd nicht läuft?
Ich habe ble2mqttd gestopt mit hciconfig kein RX oder TX mehr, gatttool ausgeführt:
pi@RaspiZ139:~ $ gatttool -b 7C:2F:80:XX:XX:09 -t public --char-read --uuid=0x2a19
connect to 7C:2F:80:XX:XX:09: Function not implemented (38)
pi@RaspiZ139:~ $ gatttool -b 7C:2F:80:XX:XX:09 -t public --char-read --uuid=0x2a19
handle: 0x001b   value: 2f

Ja, tritt also auch dann auf!
Zitatredet noch irgendwas anderes mit dem G-Tag
Wie könnte ich das prüfen?
Hallo Patrick, ich habe Dir eine PM mit einem ausfürlichen Log gesendet.
Viele Grüße
Uwe
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 24 Januar 2023, 14:47:38
Hi!

Zitat von: Lehmi54 am 24 Januar 2023, 14:35:06
zur dev Version: Alle drei Dongle sind "zu Hause" also present, werden aber auch nach 15 min (abgebrochen) nicht gefunden, es geht sonst ewig... (Raspi 2 und 4 mit Bluetooth-Dongle) Raspi Zero (int. Bluetooth) keine Probleme, werden sofort erkannt.Ich habe ble2mqttd gestopt mit hciconfig kein RX oder TX mehr, gatttool ausgeführt:
Hmm klingt merkwürdig. Mangels Log (habe nur das von dem 139er bekommen, wo es funktioniert), kann ich dazu nix sagen.

Zitat von: Lehmi54 am 24 Januar 2023, 14:35:06
pi@RaspiZ139:~ $ gatttool -b 7C:2F:80:XX:XX:09 -t public --char-read --uuid=0x2a19
connect to 7C:2F:80:XX:XX:09: Function not implemented (38)
pi@RaspiZ139:~ $ gatttool -b 7C:2F:80:XX:XX:09 -t public --char-read --uuid=0x2a19
handle: 0x001b   value: 2f

Ja, tritt also auch dann auf!Wie könnte ich das prüfen?
Vermutlich nur mit einem Bluetooth-Sniffer wenn Du Dich nicht erinnerst. Hatte die Hoffnung, dass Du vielleicht eine Idee hast...

Hänge hier mal eine neue Version (0.9dev2) an, die das Battery-Reading in Ruhe lässt, wenn die Abfrage nicht funktioniert.

/Edit: Datei entfernt, da überholt

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Lehmi54 am 24 Januar 2023, 16:13:06
Hi!
Hallo Patrick, danke Dir für die neue dev2, habe Dir mal per PM eine akt. Log gesendet.
Zitatwenn Du Dich nicht erinnerst
Alle 3 G-Tags waren noch nie gepaart und haben mit lepresenced (auch battery) ohne Probleme funktioniert.
Danke und viele Grüße
Uwe
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 26 Januar 2023, 14:26:08
Hi!

Neue Version 0.10:

Patrick

/Edit: Anhang entfernt. Neue Version siehe unten.
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: isy am 26 Januar 2023, 16:39:04
Spannende Entwicklung mit mqtt.
Ich lese mal mit
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 26 Januar 2023, 20:04:55
Hi!
Zitat von: isy am 26 Januar 2023, 16:39:04
Spannende Entwicklung mit mqtt.
MQTT ist allgemein hochspannend. Universell und durch seine Effizienz komplett aus der Zeit gefallen. Bei aktuellen Protokollen wird leider sehr häufig alles in monströses XML oder JSON verpackt.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Prof. Dr. Peter Henning am 27 Januar 2023, 05:20:54
ZitatUniversell und durch seine Effizienz komplett aus der Zeit gefallen.
Das verleitet aber zum Missbrauch - etwa, wie im Rhasspy-Projekt, zum Versand von Audiodaten via MQTT.

So, jetzt bin ich auch im Verteiler ;-)

LG

pah
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Lehmi54 am 29 Januar 2023, 16:47:40
Hi!
...und herzlichen Dank für die Version 0.10. Bei den 3 Raspberrys eingespielt. Bei den 2 mit Dongeln (raspi4 und raspi 2) mit batteryforce ja, ab und zu (siehe Bild), der raspi zero mit internem Bluetooth macht den batterylevel zwar nicht regelmäßig, aber mindestens 2x am Tag. Das ist für mich so ok! Danke!
Habe verschiedene Versuche mit Bluetooth De- und Neuinstallation und mit dem gatttool gestartet, wenig Erfolg. Mit sehr hoher Sicherheit findet er den batterylevel, wenn man das gatttool mehrfach hintereinander ausführt. Die Zeit vom Start des gatttools bis zur Ermittlung des batterylevels bzw. eines Fehlers liegt zwischen 1s bis 15s  (beim raspi zero) . Allerdings weiss ich nicht, ob das die G-Tag Baterien viel schneller entleert. Einen großen Wunsch an Dich, Patrick hätte ich bitte noch, könnte man das batterylevel auslesen konfigurierbar (abschaltbar) machen? Bei 3x Raspberry mit ble2mqttd und drei G-Tags erhalte ich 9 Batterywerte mehrmals täglich, bei batteryforce sogar noch mehr.
Die Presence mit allen drei Dongels und den drei raspis funktioniert unabhängig von den battry Problen tadellos und zuverlässig.
Ich bin echt begeistert!
Viele Grüße
Uwe
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 31 Januar 2023, 16:17:31
Hallo Uwe,

Zitat von: Lehmi54 am 29 Januar 2023, 16:47:40
Einen großen Wunsch an Dich, Patrick hätte ich bitte noch, könnte man das batterylevel auslesen konfigurierbar (abschaltbar) machen?

na gut.

Neue Version 0.11:

Patrick

/Edit: Anhang entfernt. Neue Version unten.
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Lehmi54 am 31 Januar 2023, 20:24:29
Hallo Patrick,
Zitatna gut.
Chapeau! ... und vielen Dank für die 0.11!
Beim Testen habe ich festgestellt, alle battery level der 0.11 er Version stehen bei 56%.
Mit gatttool allerdings nur der AE

pi@RaspiZ139:~ $ gatttool -b 7C:2F:80:XX:XX:09 -t public --char-read --uuid=0x2a19
handle: 0x001b   value: 2f
pi@RaspiZ139:~ $ gatttool -b 7C:2F:80:XX:XX:CF -t public --char-read --uuid=0x2a19
handle: 0x001b   value: 2f
pi@RaspiZ139:~ $ gatttool -b 7C:2F:80:XX:XX:AE -t public --char-read --uuid=0x2a19
handle: 0x001b   value: 38


Danke
Uwe
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 31 Januar 2023, 21:32:10
Hi!

Zitat von: Lehmi54 am 31 Januar 2023, 20:24:29
Beim Testen habe ich festgestellt, alle battery level der 0.11 er Version stehen bei 56%.
Mit gatttool allerdings nur der AE

An der Auswertung habe ich nichts geändert...

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 03 Februar 2023, 11:53:46
Hat jemand von euch eine Idee, wie ich Net::MQTT::Simple auf einem PiZero2 installiert bekomme? Mit CPAN wird das nichts, das überfordert ihn total.
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 04 Februar 2023, 09:44:25
Zitat von: drhirn am 03 Februar 2023, 11:53:46
Hat jemand von euch eine Idee, wie ich Net::MQTT::Simple auf einem PiZero2 installiert bekomme? Mit CPAN wird das nichts, das überfordert ihn total.

So:

git clone https://github.com/Juerd/Net-MQTT-Simple.git
cd Net-MQTT-Simple
perl Makefile.PL
make
make test
sudo make install
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: decaflo am 03 März 2023, 11:17:31
Zitat von: PatrickR am 31 Januar 2023, 16:17:31
Neue Version 0.11:

  • Neuer Parameter: --batterymaxage <Zahl> - Maximale Zeit in Stunden, nach der ein Batterywert als zu alt angesehen und eine Aktualisierung probiert wird. Setzt man den Wert 0 werden Batterychecks vollständig abgeschaltet.
  • Etwas aufgeräumt

Patrick

Super, danke, in Setups mit mehr als einem BLE-Host macht es total Sinn, nicht von jedem Hosts aus die Battery-Level abzufragen.

Ich vermute sogar, dass die regelmässigen Checks (bei 3 Hosts alle 6h passiert das ja 12x am Tag) die Akkulaufzeit signifikant verkürzen. Das ist ja nicht im Sinne des Erfinders :) Deswegen würde ich noch vorschlagen, DEFAULT_BATTERY_MAX_AGE deutlich zu erhöhen, z.B. auf 1 Woche. Die Batterien halten ja mehrere Jahre, und selbst wenn der Level low wird, hat man noch mehrere Wochen Zeit um das Ding auszutauschen. Da kommt es nicht auf Stunden an.

Hier noch ein Patch, der bei deaktiviertem Battery-Check die Prüfung auf gatttool überspringt, das dann ja nicht notwendig ist. Wie oben schon erwähnt ist gatttool ebenfalls deprecated und z.B. bei mir unter Archlinux gar nicht mehr verfügbar.

Schöne Grüße!
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 03 März 2023, 20:24:59
Hi!

Zitat von: decaflo am 03 März 2023, 11:17:31
Ich vermute sogar, dass die regelmässigen Checks (bei 3 Hosts alle 6h passiert das ja 12x am Tag) die Akkulaufzeit signifikant verkürzen. Das ist ja nicht im Sinne des Erfinders :) Deswegen würde ich noch vorschlagen, DEFAULT_BATTERY_MAX_AGE deutlich zu erhöhen, z.B. auf 1 Woche. Die Batterien halten ja mehrere Jahre, und selbst wenn der Level low wird, hat man noch mehrere Wochen Zeit um das Ding auszutauschen. Da kommt es nicht auf Stunden an.
Genau aus dem Grund habe ich mich lange Zeit dagegen gewehrt, überhaupt einen Batteriecheck einzubauen - zu dem Zeitpunkt noch in lepresenced. Da aber die Nutzer teilweise dazu übergegangen sind, selbstgebastelte Batterieskripte zu nutzen und damit lepresenced aus dem Tritt zu bringen, habe ich es eingebaut. Die Idee des "kurzen" Intervalls war, dass die Tags ggf. nicht immer erreichbar sind und ich sicherstellen wollte, dass der Wert ab und zu mal erfolgreich geholt wird. Zwischenzeitlich habe ich aber die Abfrage so optimiert, dass sie bei Nichterreichbarkeit wiederholt wird. Insofern hast Du voll und ganz Recht. Werde den Defaultwert erst einmal auf 48h erhöhen. Dabei müssen wir akzeptieren, dass scheinbar viele Nutzer den Batteriewert wichtiger finden als den Anwesenheitswert, ob das nun nachvollziehbar ist oder nicht. Habe teilweise Forenbeiträge gesehen, wo mehrfach am Tag die Box mit Schrödingers Katze aufgemacht wird.

Zitat von: decaflo am 03 März 2023, 11:17:31
Hier noch ein Patch, der bei deaktiviertem Battery-Check die Prüfung auf gatttool überspringt, das dann ja nicht notwendig ist. Wie oben schon erwähnt ist gatttool ebenfalls deprecated und z.B. bei mir unter Archlinux gar nicht mehr verfügbar.
Guter Hinweis. Das muss man auch nicht wirklich begründen, weil es keinen Sinn ergibt, so wie es jetzt ist.

Patrick
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 03 März 2023, 20:33:11
Hi!

Neue Version 0.12:
Danke, decaflo!

Patrick

/Edit: Anhang entfernt. Neue Version unten.
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: hkspks am 10 März 2023, 13:13:20
Für alle, die das tool als .service laufen lassen wollen: bei meinem pi3b+ musste ich das "-daemonize" Attribut weglassen, bei meinem pi1w nicht.

Hier mal eine Beispieldefinition:
[Unit]
Description=ble2mqttd
After=bluetooth.target sys-subsystem-bluetooth-devices-hci0.device
[Service]
ExecStartPre=/bin/sleep 10
ExecStart=/usr/local/bin/ble2mqttd --mqttserver 127.0.0.1:1883 --mqtttopic ble2mqtt/wohnzimmer --mac '(XXX|YYY)' --absentinterval 600
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: hkspks am 17 März 2023, 12:02:02
Gerade noch festgestellt, dass mir das Tool über dbus das syslog etwas vollmüllt - jemand eine Idee zur Lösung? Limits hochsetzen oder ggf. noch etwas an dem Skript zu tweaken?

tail /var/log/syslog
Mar 17 11:56:39 raspberrypi dbus-daemon[338]: [system] Connection ":1.689" is not allowed to add more match rules (increase limits in configuration file if required; max_match_rules_per_connection=512)
Mar 17 11:56:45 raspberrypi dbus-daemon[338]: [system] Connection ":1.689" is not allowed to add more match rules (increase limits in configuration file if required; max_match_rules_per_connection=512)
Mar 17 11:56:47 raspberrypi dbus-daemon[338]: [system] Connection ":1.689" is not allowed to add more match rules (increase limits in configuration file if required; max_match_rules_per_connection=512)
Mar 17 11:57:17 raspberrypi dbus-daemon[338]: [system] Connection ":1.689" is not allowed to add more match rules (increase limits in configuration file if required; max_match_rules_per_connection=512)
Mar 17 11:57:34 raspberrypi dbus-daemon[338]: [system] Connection ":1.689" is not allowed to add more match rules (increase limits in configuration file if required; max_match_rules_per_connection=512)
Mar 17 11:58:40 raspberrypi dbus-daemon[338]: [system] Connection ":1.689" is not allowed to add more match rules (increase limits in configuration file if required; max_match_rules_per_connection=512)
Mar 17 11:59:04 raspberrypi ble2mqttd: main::cleanup_task: Cleanup finished, deleted 0 devices in 0 seconds.
Mar 17 12:00:24 raspberrypi dbus-daemon[338]: [system] Connection ":1.689" is not allowed to add more match rules (increase limits in configuration file if required; max_match_rules_per_connection=512)
Mar 17 12:00:26 raspberrypi dbus-daemon[338]: [system] Connection ":1.689" is not allowed to add more match rules (increase limits in configuration file if required; max_match_rules_per_connection=512)
Mar 17 12:01:00 raspberrypi dbus-daemon[338]: [system] Connection ":1.689" is not allowed to add more match rules (increase limits in configuration file if required; max_match_rules_per_connection=512)


sudo dbus-monitor --system
method call time=1679047054.377341 sender=:1.689 -> destination=org.freedesktop.DBus serial=3213 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',sender='org.bluez',path='/org/bluez/hci0/dev_XXX',interface='org.freedesktop.DBus.Properties',member='PropertiesChanged',arg0='org.bluez.Device1'"
error time=1679047054.377752 sender=org.freedesktop.DBus -> destination=:1.689 error_name=org.freedesktop.DBus.Error.LimitsExceeded reply_serial=3213
   string "Connection ":1.689" is not allowed to add more match rules (increase limits in configuration file if required; max_match_rules_per_connection=512)"
signal time=1679047054.463953 sender=:1.16 -> destination=(null destination) serial=1752462 path=/org/bluez/hci0/dev_XXX; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
   string "org.bluez.Device1"
   array [
      dict entry(
         string "RSSI"
         variant             int16 -93
      )
   ]
   array [
   ]
Titel: Antw:lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: decaflo am 17 März 2023, 23:00:07
Bei mir wurde ble2mqttd zwar manuell gestartet (mit --daemon), aber ich erhalte keine solchen Einträge im Log.
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: hkspks am 20 März 2023, 14:51:22
Zitat von: decaflo am 17 März 2023, 23:00:07Bei mir wurde ble2mqttd zwar manuell gestartet (mit --daemon), aber ich erhalte keine solchen Einträge im Log.

Gefährliches Halbwissen: kommt wohl über die Zeit, wenn es immer mehr Match-rules werden. 512 sollten grundsätzlich ausreichen. Evtl. kann man da am Skript noch was optimieren?
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 20 März 2023, 16:12:51
Hi!

Zitat von: hkspks am 20 März 2023, 14:51:22Gefährliches Halbwissen: kommt wohl über die Zeit, wenn es immer mehr Match-rules werden. 512 sollten grundsätzlich ausreichen. Evtl. kann man da am Skript noch was optimieren?
Das ist natürlich möglich. Dann bräuchte ich aber eine Info, was genau das Anlegen dieser Match-Rules auslöst. Das Log sieht so aus, also würde es (z. B.) um die Signalstärke gehen. Die frage ich aber nie aktiv ab, d. h. bluetoothctl entscheidet selbst, dass es daran interessiert ist. Dadurch dürfte auch der mac-Filter von ble2mqttd nicht greifen. Ohne genauere Infos würden mir nur informatische Verzweiflungstaten einfallen (z. B. bluetoothctl nach n Stunden beenden bzw. den Scan-Prozess neu starten.)

/Edit:
Bekommst Du die Meldungen mit einem Neustart von ble2mqttd weg oder nur einem Reboot? Sind in Deinem Umfeld "viele" BLE-Geräte unterwegs (Innenstadt etc.)?

Patrick
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: hkspks am 20 März 2023, 22:18:04
Zitat von: PatrickR am 20 März 2023, 16:12:51/Edit:
Bekommst Du die Meldungen mit einem Neustart von ble2mqttd weg oder nur einem Reboot? Sind in Deinem Umfeld "viele" BLE-Geräte unterwegs (Innenstadt etc.)?
Patrick

Ja, hier dürften schon ein paar BLE-Geräte unterwegs sein. Was ich aber wiederum nicht verstehe: ich habe einen pizerow an der Straße stehen (ohne diese Probleme) und einen pi3b eher im Hinterhaus. Nur der pi3 hat diese Probleme. Ggf. ist es also eher Problem mit meiner Systemkonfiguration.

Ob ein restart des Services hilft, kann ich beim nächsten mal probieren. Diesmal war es ein Systemreboot - da hatte es geholfen.

Weiterer funfact: z.T. braucht der Service bei mir knapp 10 Versuche um zu starten (auch nur auf dem pi3b, nicht auf dem zero w). Hintergrund ist:
Mar 20 11:32:09 raspberrypi ble2mqttd: main::error_exit: ERROR expecting bluetoothctl prompt while waiting to send 'menu scan'.
Vielleicht ist einfach etwas mit dem pi3b schief ...

Die Lösung über MQTT ist ansonsten super stabil bei mir (im Vgl zu lepresence!) und reduziert Systemlast deutlich. Generell scheint MQTT ein recht effizienter "Servicebus" - die Substitution von deconz mit zigbee2mqtt hat auch nochmal 5-10% gebracht.
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: hkspks am 31 März 2023, 19:47:51
Update: Restart des Services reicht nicht - Serverrestart notwendig!
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Wernieman am 02 April 2023, 10:22:36
Dann würde ich auf ein HW-Problem tippen .....
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 23 Juni 2023, 11:40:05
Edit:
Vergesst es. War wohl mein Fehler. Hatte noch versehentlich lepresenced am Laufen.

----
Hallo!

Verwendet noch jemand ble2mqttd? Ich probier's nämlich gerade wieder aus und hab das Problem, dass es nicht mehr zu scannen scheint, sobald der G-Tag mal "absent" war. Heartbeat ändert sich noch, aber ansonsten bleiben alle anderen Werte unverändert.
Macht keinen Unterschied, ob ich ble2mqttd mit dem Parameter --daemonize oder über ein systemd-Script starte.

Läuft mit folgenden Optionen:
/usr/local/bin/ble2mqttd --mqttserver mqtt.example.com:8883 --mqttfingerprint 'sha256$5638d3455441866ed88f5...e9d876a' --mqtttopic ble2mqtt/wohnzimmer --mac '(11:22:33:44:55:66|77:88:99:00:AA:BB)' --absentinterval 30 --mqttuser user --mqttpass password --daemonize
Danke!
Stefan
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: Loetkolben am 14 August 2023, 18:29:36
Hallo,

da bei mir lepresenced immer mal wieder Probleme macht, habe ich das Script mal getestet.
Das Reading 'state' hat entweder den Status connected oder disconected, das Reading 'present' hat 0 und 1.
Soweit so gut :-)
Damit ich relativ einfach von lepresenced auf ble2mqtt wechseln kann, müssten die Readings anders gefüllt werden.
Kann man das irgendwo anpassen, das das Reading 'present' entweder present oder absent hat, also Text anstatt 1/0?
Ich werte das Reading 'present' von lepresenced mehrfach aus und alles umschreiben ist sehr aufwändig.

Gruß
Andreas
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: MadMax-FHEM am 14 August 2023, 19:52:35
Zitat von: Loetkolben am 14 August 2023, 18:29:36Kann man das irgendwo anpassen, das das Reading 'present' entweder present oder absent hat, also Text anstatt 1/0?

Vielleicht damit: https://wiki.fhem.de/wiki/ReadingsChange

Gruß, Joachim
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 04 September 2023, 11:39:49
Frage: Wäre es nicht sinnvoll, das present-Reading als retained zu schicken?

Ich hatte im Urlaub öfter mal das Problem, dass meine Residents plötzlich zuhause waren. Weiß aber noch nicht, warum genau das passiert ist.
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 04 September 2023, 11:58:44
Hi!

Zitat von: drhirn am 04 September 2023, 11:39:49Frage: Wäre es nicht sinnvoll, das present-Reading als retained zu schicken?
Der Grundgedanke bei ble2mqttd ist, dass er ein offenes Ohr für *alle* anwesenden Bluetooth-Geräte hat, d. h. ohne Filter betrieben wird. Wenn man dann retain setzt, liegen die Nachrichten bis zum Sankt-Nimmerleinstag auf dem MQTT-Server rum. Daher hatte ich das Flag nur bei dem globalen State-Topic gesetzt.

Wenn es Dir hilft, kann ich einen neuen Parameter einbauen, der present und lastseen retained.

Zitat von: drhirn am 04 September 2023, 11:39:49Ich hatte im Urlaub öfter mal das Problem, dass meine Residents plötzlich zuhause waren. Weiß aber noch nicht, warum genau das passiert ist.
Uff, da hilft wohl nur ein Debug-Log von ble2mqttd.

Patrick

Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 04 September 2023, 12:47:57
Das globale State-Topic hat (aus meiner Sicht), das Problem, dass es auch "connected" und "disconnected" sein kann. Das kann ich bei Roommates nicht brauchen. Wir könnten das retain ja auch optional machen, nicht?
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 04 September 2023, 12:52:39
Hi!

Zitat von: drhirn am 04 September 2023, 12:47:57Das globale State-Topic hat (aus meiner Sicht), das Problem, dass es auch "connected" und "disconnected" sein kann. Das kann ich bei Roommates nicht brauchen.
Genau genommen kann es *nur* connected und disconnected sein und sagt absolut nichts über Anwesenheiten aus. Dafür ist es ja auch nicht :)

Zitat von: drhirn am 04 September 2023, 12:47:57Wir könnten das retain ja auch optional machen, nicht?

Das hatte ich ja vorgeschlagen:
Zitat von: PatrickR am 04 September 2023, 11:58:44Wenn es Dir hilft, kann ich einen neuen Parameter einbauen, der present und lastseen retained.

Patrick
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 04 September 2023, 12:59:58
Ist beides natürlich vollkommen richtig...   :-[

Ja, das fände ich super und würde dich darum bitten! Danke!
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 04 September 2023, 19:49:56
Hi!

Neue Version 0.13:
-Neuer Kommandozeilenparameter: --retain - Topics present und lastseen werden retained.

Patrick

/Edit: Anhang entfernt, neue Version unten.
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 05 September 2023, 09:31:38
Das war flott! Danke!
Ich werde dann testen, sobald ich aus meiner alltäglichen 8h Geiselhaft entlassen werde.
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 05 September 2023, 17:24:29
Hmm. Ich starte ble2mqtt jetzt so:

ble2mqttd --retain --batterymaxage 0 --mqttserver 192.0.2.1:1883 --mqtttopic ble2mqtt/wohnzimmer --mac (xx:xx:xx:xx:xx:xx) --absentinterval 30 --mqttuser <user> --mqttpass <pass>
state ist retained, brav.
Bei lastseen und present hat sich aber leider nichts geändert. Ich weiß jetzt aber nicht, ob das einfach am MQTT Explorer liegt und der das nicht so anzeigt, wie ich gerne hätte. Muss weiter testen.

Was mir aber aufgefallen ist: Geht der MQTT Broker kurz offline, wechselt der state auf disconnected. Und das ändert sich erst mit einem Neustart des ble2mqtt-Services wieder. Könnte man das irgendwie optimieren?
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 05 September 2023, 20:01:36
Hi!

Zitat von: drhirn am 05 September 2023, 17:24:29state ist retained, brav.
Du meinst so wie vorher? :)

Zitat von: drhirn am 05 September 2023, 17:24:29Bei lastseen und present hat sich aber leider nichts geändert. Ich weiß jetzt aber nicht, ob das einfach am MQTT Explorer liegt und der das nicht so anzeigt, wie ich gerne hätte. Muss weiter testen.
Darauf bin ich auch reingefallen. Der Explorer zeigt das "RETAIN"-Schildchen nur an, wenn beim Start des Explorers das retainte Topic abgeholt wird. Wenn es direkt danach ein Update gibt, weil ble2mqttd pflichtgemäß seine Aufgabe wahrnimmt, dann ist das Schildchen wieder weg.
Testen kannst Du es, indem Du ble2mqttd etwas laufen lässt und dann beendest. Dann MQTT Explorer beenden und neu starten, dann sollten die Topics da sein.

Zitat von: drhirn am 05 September 2023, 17:24:29Was mir aber aufgefallen ist: Geht der MQTT Broker kurz offline, wechselt der state auf disconnected. Und das ändert sich erst mit einem Neustart des ble2mqtt-Services wieder. Könnte man das irgendwie optimieren?
Du meinst, ob man es von kaputt zu funktioniert optimieren kann? Schaue ich mir an.

Patrick
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 05 September 2023, 20:35:44
Hi!

Neue Version 0.14:
-Setzen des State-Topic repariert.

Patrick
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 06 September 2023, 09:03:56
Zitat von: PatrickR am 05 September 2023, 20:01:36Du meinst so wie vorher? :)
Genau  ;D

Zitat von: PatrickR am 05 September 2023, 20:01:36Darauf bin ich auch reingefallen. Der Explorer zeigt das "RETAIN"-Schildchen nur an, wenn beim Start des Explorers das retainte Topic abgeholt wird. Wenn es direkt danach ein Update gibt, weil ble2mqttd pflichtgemäß seine Aufgabe wahrnimmt, dann ist das Schildchen wieder weg.
Testen kannst Du es, indem Du ble2mqttd etwas laufen lässt und dann beendest. Dann MQTT Explorer beenden und neu starten, dann sollten die Topics da sein.
Oder das ganze im Büro versucht, wo der MQTT Explorer noch nichts von ble2mqtt wusste. Perfekt!

Zitat von: PatrickR am 05 September 2023, 20:01:36Du meinst, ob man es von kaputt zu funktioniert optimieren kann? Schaue ich mir an.
Genau. Ich wollte es nur nicht so drastisch ausdrücken ;D

Zitat von: PatrickRNeue Version 0.14:
-Setzen des State-Topic repariert.

Suuuuper, danke Dir!
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: drhirn am 06 September 2023, 09:05:13
Sollen wir den Thread übrigens irgendwo abspalten? Ab dem Zeitpunkt, an dem ble2mqtt zum Leben erwachte? Oder soll ich einfach den Titel und den ersten Post ändern?
Titel: Aw: lepresenced - hciconfig hcitool gatttool deprecated
Beitrag von: PatrickR am 06 September 2023, 11:02:14
Hi!

Habe ehrlich gesagt keinen Plan, was das Forum kann, aber Umbenennen des ersten Beitrags ist auf jeden Fall schonmal eine sehr gute Idee.

Patrick
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: drhirn am 06 September 2023, 11:18:12
Erledigt. Nicht optimal der Titel, aber ich steh gerade auf der Leitung.

Hast du vor, ble2mqtt ins SVN zu schieben?

Danke für die Arbeit auf jeden Fall!
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: PatrickR am 06 September 2023, 11:27:19
Hi!

Zitat von: drhirn am 06 September 2023, 11:18:12Hast du vor, ble2mqtt ins SVN zu schieben?
Hatte schon mehrfach darüber nachgedacht. Die Frage ist, in welchen Pfad genau. unter contrib/PRESENCE passt es m. E. nicht, da es mit dem Presence-Modul nichts mehr zu tun hat. Andererseits ist es natürlich auch streng genommen kein FHEM-Only-Produkt mehr. Daher würde es wohl eigentlich eher auf GitHub/Lab passen. Meine Lösung für das Problem war, es beliebig lang aufzuschieben ;) Aber sich die aktuelle Version immer aus dem Forum rauszusuchen, ist natürlich auch nicht doll.

Patrick
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: drhirn am 06 September 2023, 12:03:36
Zitat von: PatrickR am 06 September 2023, 11:27:19Meine Lösung für das Problem war, es beliebig lang aufzuschieben ;)

Hihi, das kommt mir irgendwie bekannt vor :D

Mir persönlich wäre ja irgendwas mit Git* sehr recht. V.a., wenn dann noch ein schönes Changelog dabei ist. Und ja, ist kein FHEM-Only Produkt mehr, da hast du recht.

Wie du sagst, aus dem Forum raussuchen ist unpraktisch. Das war meine eigentliche Intention für die Frage. Wo's dann schlussendlich liegt, ist aber zweitrangig.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: marvin78 am 06 September 2023, 15:27:54
Wie die anderen schon gesagt haben, gehört sowas hier in ein öffentliches Repository, wie git.*... Ich habe einige Module, die nicht so recht ins SVN von FHEM passen im git. Sowas im Forum zu verwalten ist schlicht unmöglich. Und wenn es sowas nützliches ist, ist es gut, wenn man es auch finden kann. Link zum git im ersten Beitrag dieses Threads und man spart sich auch das ständige Verlinken und/oder Hochladen.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: CoolTux am 09 September 2023, 08:26:40
Vielen lieben Dank Patrick. Wie immer eine tolle Arbeit. Was noch fehlt denke ich ist die Auswahl des Bluetooth Devices. Aktuell ist ja hart hci0 drin. Die Auswahl als Option ist auskommentiert im Code. Hat das einen Grund?
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: PatrickR am 09 September 2023, 16:43:01
Hi!

Zitat von: CoolTux am 09 September 2023, 08:26:40Was noch fehlt denke ich ist die Auswahl des Bluetooth Devices. Aktuell ist ja hart hci0 drin. Die Auswahl als Option ist auskommentiert im Code. Hat das einen Grund?
Jo. Da bin ich leider mit meinem jugendlichen Leichtsinn gegen die Pumpe gerannt. Bluetoothctl kennt nämlich scheinbar keine HCI-Devices. Man kann nur einen Controller auswählen und zwar nicht an Hand eines Devices sondern einer Adresse:
[bluetooth]# list
Controller B8:27:EB:DB:6F:28 rpi-az-desktop #2 [default]
Controller AA:AA:AA:AA:AA:AA rpi-az-desktop
[bluetooth]# show B8:27:EB:DB:6F:28
Controller B8:27:EB:DB:6F:28 (public)
    Name: rpi-az-desktop #2
    Alias: rpi-az-desktop #2
    Class: 0x00000000
    Powered: yes
    Discoverable: no
    Pairable: yes
    UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
    UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
    UUID: PnP Information          (00001200-0000-1000-8000-00805f9b34fb)
    UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
    UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
    Modalias: usb:v1D6Bp0246d0532
    Discovering: no
[bluetooth]# show AA:AA:AA:AA:AA:AA
Controller AA:AA:AA:AA:AA:AA (public)
    Name: rpi-az-desktop
    Alias: rpi-az-desktop
    Class: 0x00000000
    Powered: yes
    Discoverable: no
    Pairable: yes
    UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
    UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
    UUID: PnP Information          (00001200-0000-1000-8000-00805f9b34fb)
    UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
    UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
    Modalias: usb:v1D6Bp0246d0532
    Discovering: no
Wenig Mut macht mir, dass die Details für beide Adapter exakt gleich sind und die Adresse des ersten Adapters noch AA:AA:AA:AA:AA:AA ist. Immerhin stimmt die zweite mit der Ausgabe von hciconfig überein:
root@rpi-az-desktop:~# hciconfig
hci1:    Type: Primary  Bus: USB
    BD Address: B8:27:EB:DB:6F:28  ACL MTU: 310:10  SCO MTU: 64:8
    UP RUNNING
    RX bytes:630 acl:0 sco:0 events:38 errors:0
    TX bytes:945 acl:0 sco:0 commands:37 errors:0

hci0:    Type: Primary  Bus: UART
    BD Address: B8:27:EB:1F:E0:A6  ACL MTU: 1021:8  SCO MTU: 64:1
    UP RUNNING
    RX bytes:2196 acl:0 sco:0 events:129 errors:0
    TX bytes:2818 acl:0 sco:0 commands:129 errors:0
Bei Gatttool, das ich mangels besserer Alternativen (siehe weiter oben) für die Batterieabfrage benutze, kann ich problemlos ein Device übergeben.

Wenn Du aktuell akuten Bedarf hast fiele mir nur ein, zwei Kommandozeilenparameter einzuführen, in etwa
--scan-device [Adresse]
--battery-device [hci-Device]
Das finde ich aber "halbschön". Eigentlich müsste man das einheitlich auf hciX bzw. die Adresse mappen, was aber scheinbar nicht ohne zusätzliche Abhängigkeiten (hciconfig?) geht.

Patrick

/Edit: Angepasst da ich blind war :)
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: CoolTux am 09 September 2023, 17:09:25
Ich habe aktuell keinen Bedarf dafür. Ist mir nur beim überschauen des Codes aufgefallen. Ach und Du hast zu mindest in der Hilfe zur Syntax noch daemon statt daemonize.

ble2mqttd -help
ble2mqttd --mqttserver <mqtt server:mqtt port> --mqttfingerprint <ssl fingerprint> --mqttuser <mqtt user> --mqttpass <mqtt pass> --loglevel <log level> --logtarget <log target> --daemon
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: CoolTux am 10 September 2023, 11:59:54
Nun habe ich leider doch noch ein Problem. Sporadisch gehen alle Geräte auf absent. Das heartbeat Reading kommt weiter hin normal rein und der state ist connected. Dennoch werden keine neuen Werte für topics der mac adressen geschrieben

### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -76)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -76)
main::dump_task: Executing dump task.
Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: unknown, address type: unknown, first seen: 287, last seen: 159, last published: 172, rssi: -69, published rssi: -71, query count: 8, battery service: 0, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 286, last seen: 163, last published: 172, rssi: -73, published rssi: -74, query count: %, battery service: 1, battery: unknown (never)
main::evaluation_task: Executing evaluation task.
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -67)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -76)
main::evaluation_task: Executing evaluation task.
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -77)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -67)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -75)
main::evaluation_task: Executing evaluation task.
main::dump_task: Executing dump task.
Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: unknown, address type: unknown, first seen: 302, last seen: 174, last published: 187, rssi: -69, published rssi: -71, query count: 8, battery service: 0, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 301, last seen: 178, last published: 187, rssi: -73, published rssi: -74, query count: %, battery service: 1, battery: unknown (never)
### Match (filtered): [CHG] 44:CB:8B:29:0F:68 (RSSI: -63)
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Executing evaluation task.
main::dump_task: Executing dump task.
Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: unknown, address type: unknown, first seen: 317, last seen: 189, last published: 202, rssi: -69, published rssi: -71, query count: 8, battery service: 0, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 316, last seen: 193, last published: 202, rssi: -73, published rssi: -74, query count: %, battery service: 1, battery: unknown (never)
### Match (filtered): [CHG] 44:CB:8B:29:0F:68 (RSSI: -54)
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Executing evaluation task.
main::dump_task: Executing dump task.
Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: unknown, address type: unknown, first seen: 332, last seen: 204, last published: 217, rssi: -69, published rssi: -71, query count: 8, battery service: 0, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 331, last seen: 208, last published: 217, rssi: -73, published rssi: -74, query count: %, battery service: 1, battery: unknown (never)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -66)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -80)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -80)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -70)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -81)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -81)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -77)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -67)
main::evaluation_task: Executing evaluation task.
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -83)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -70)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -79)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -79)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -77)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
main::evaluation_task: Executing evaluation task.
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -76)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -76)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
main::dump_task: Executing dump task.
Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: unknown, address type: unknown, first seen: 347, last seen: 219, last published: 232, rssi: -69, published rssi: -71, query count: 8, battery service: 0, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 346, last seen: 223, last published: 232, rssi: -73, published rssi: -74, query count: %, battery service: 1, battery: unknown (never)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -78)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -76)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -79)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -79)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -70)
main::evaluation_task: Executing evaluation task.
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -79)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -78)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -67)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -77)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -69)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -77)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -67)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -75)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -67)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -76)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -67)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -75)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -67)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -75)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -67)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -78)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -69)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -77)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -69)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -77)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -76)
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Executing evaluation task.
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -77)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -67)
main::dump_task: Executing dump task.
Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: unknown, address type: unknown, first seen: 362, last seen: 234, last published: 247, rssi: -69, published rssi: -71, query count: 8, battery service: 0, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 361, last seen: 238, last published: 247, rssi: -73, published rssi: -74, query count: %, battery service: 1, battery: unknown (never)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -75)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -67)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -75)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -67)
main::evaluation_task: Executing evaluation task.
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -75)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -67)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -76)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -77)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -77)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -77)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -69)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -77)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -69)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -77)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -69)
main::evaluation_task: Executing evaluation task.
main::dump_task: Executing dump task.
Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: unknown, address type: unknown, first seen: 377, last seen: 249, last published: 262, rssi: -69, published rssi: -71, query count: 8, battery service: 0, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 376, last seen: 253, last published: 262, rssi: -73, published rssi: -74, query count: %, battery service: 1, battery: unknown (never)
main::evaluation_task: Executing evaluation task.
### Match (filtered): [CHG] 44:CB:8B:29:0F:68 (RSSI: -62)
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Executing evaluation task.
main::dump_task: Executing dump task.
Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: unknown, address type: unknown, first seen: 392, last seen: 264, last published: 277, rssi: -69, published rssi: -71, query count: 8, battery service: 0, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 391, last seen: 268, last published: 277, rssi: -73, published rssi: -74, query count: %, battery service: 1, battery: unknown (never)
### Match (filtered): [CHG] 44:CB:8B:29:0F:68 (RSSI: -54)
main::evaluation_task: Executing evaluation task.
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -77)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -66)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -75)
main::evaluation_task: Executing evaluation task.
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -66)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -76)
### Match (filtered): [NEW] 47:21:F3:79:C1:55 (47-21-F3-79-C1-55)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -68)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -77)
### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -69)
main::dump_task: Executing dump task.
Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: unknown, address type: unknown, first seen: 407, last seen: 279, last published: 292, rssi: -69, published rssi: -71, query count: 8, battery service: 0, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 406, last seen: 283, last published: 292, rssi: -73, published rssi: -74, query count: %, battery service: 1, battery: unknown (never)
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Executing evaluation task.
main::dump_task: Executing dump task.
Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: unknown, address type: unknown, first seen: 422, last seen: 294, last published: 307, rssi: -69, published rssi: -71, query count: 8, battery service: 0, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 421, last seen: 298, last published: 307, rssi: -73, published rssi: -74, query count: %, battery service: 1, battery: unknown (never)
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Device 7C:2F:80:AA:5E:6C is now absent.
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Device 7C:2F:80:98:B3:8E is now absent.
### Match (filtered): [NEW] 52:C3:3A:88:20:68 (52-C3-3A-88-20-68)
main::dump_task: Executing dump task.
Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: unknown, address type: unknown, first seen: 437, last seen: 309, last published: 322, rssi: -69, published rssi: -71, query count: 8, battery service: 0, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 0, name: Gigaset G-tag, address type: public, first seen: 436, last seen: 313, last published: 322, rssi: -73, published rssi: -74, query count: %, battery service: 1, battery: unknown (never)
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Executing evaluation task.
main::dump_task: Executing dump task.
Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: unknown, address type: unknown, first seen: 452, last seen: 324, last published: 337, rssi: -69, published rssi: -71, query count: 8, battery service: 0, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 0, name: Gigaset G-tag, address type: public, first seen: 451, last seen: 328, last published: 337, rssi: -73, published rssi: -74, query count: %, battery service: 1, battery: unknown (never)
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Executing evaluation task.
main::dump_task: Executing dump task.
Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: unknown, address type: unknown, first seen: 467, last seen: 339, last published: 352, rssi: -69, published rssi: -71, query count: 8, battery service: 0, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 0, name: Gigaset G-tag, address type: public, first seen: 466, last seen: 343, last published: 352, rssi: -73, published rssi: -74, query count: %, battery service: 1, battery: unknown (never)
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Executing evaluation task.
main::dump_task: Executing dump task.
Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: unknown, address type: unknown, first seen: 482, last seen: 354, last published: 367, rssi: -69, published rssi: -71, query count: 8, battery service: 0, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 0, name: Gigaset G-tag, address type: public, first seen: 481, last seen: 358, last published: 367, rssi: -73, published rssi: -74, query count: %, battery service: 1, battery: unknown (never)
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Executing evaluation task.
main::dump_task: Executing dump task.
Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: unknown, address type: unknown, first seen: 497, last seen: 369, last published: 382, rssi: -69, published rssi: -71, query count: 8, battery service: 0, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 0, name: Gigaset G-tag, address type: public, first seen: 496, last seen: 373, last published: 382, rssi: -73, published rssi: -74, query count: %, battery service: 1, battery: unknown (never)
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Executing evaluation task.
main::dump_task: Executing dump task.
Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: unknown, address type: unknown, first seen: 512, last seen: 384, last published: 397, rssi: -69, published rssi: -71, query count: 8, battery service: 0, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 0, name: Gigaset G-tag, address type: public, first seen: 511, last seen: 388, last published: 397, rssi: -73, published rssi: -74, query count: %, battery service: 1, battery: unknown (never)
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Executing evaluation task.
main::dump_task: Executing dump task.
Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: unknown, address type: unknown, first seen: 527, last seen: 399, last published: 412, rssi: -69, published rssi: -71, query count: 8, battery service: 0, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 0, name: Gigaset G-tag, address type: public, first seen: 526, last seen: 403, last published: 412, rssi: -73, published rssi: -74, query count: %, battery service: 1, battery: unknown (never)
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Executing evaluation task.
main::evaluation_task: Executing evaluation task.
main::dump_task: Executing dump task.
Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: unknown, address type: unknown, first seen: 542, last seen: 414, last published: 427, rssi: -69, published rssi: -71, query count: 8, battery service: 0, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 0, name: Gigaset G-tag, address type: public, first seen: 541, last seen: 418, last published: 427, rssi: -73, published rssi: -74, query count: %, battery service: 1, battery: unknown (never)

Ganzer Debug Log kann hier eingesehen werden (https://cloud.cooltux.net/s/nBqNs3p42833i9K).


Bin da für jeden Tip dankbar. Nach einer Stunde so in etwar fängt er sich wieder.

Hier noch ein normaler Logauszug. Heute Morgen gegen 05:25:53 Uhr viel es wieder aus und gegen 06:25:54 Uhr hat es sich wieder gefangen.

Sep 10 04:39:23 h-hmlangw ble2mqttd[21935]: main::cleanup_task: Cleanup finished, deleted 0 devices in 0 seconds.
Sep 10 04:54:24 h-hmlangw ble2mqttd[21935]: main::cleanup_task: Cleanup finished, deleted 0 devices in 0 seconds.
Sep 10 05:09:25 h-hmlangw ble2mqttd[21935]: main::cleanup_task: Cleanup finished, deleted 0 devices in 0 seconds.
Sep 10 05:24:26 h-hmlangw ble2mqttd[21935]: main::cleanup_task: Cleanup finished, deleted 0 devices in 0 seconds.
Sep 10 05:25:53 h-hmlangw ble2mqttd[21935]: main: Scan started.
Sep 10 05:25:53 h-hmlangw ble2mqttd[21935]: main::__ANON__: Found bluetoothctl version 5.66.
Sep 10 05:30:59 h-hmlangw ble2mqttd[21935]: main::evaluation_task: Device 7C:2F:80:98:B3:8E is now absent.
Sep 10 05:30:59 h-hmlangw ble2mqttd[21935]: main::evaluation_task: Device 7C:2F:80:AA:5E:6C is now absent.
Sep 10 05:39:27 h-hmlangw ble2mqttd[21935]: main::cleanup_task: Cleanup finished, deleted 0 devices in 0 seconds.
Sep 10 05:54:28 h-hmlangw ble2mqttd[21935]: main::cleanup_task: Cleanup finished, deleted 0 devices in 0 seconds.
Sep 10 06:09:29 h-hmlangw ble2mqttd[21935]: main::cleanup_task: Cleanup finished, deleted 2 devices in 0 seconds.
Sep 10 06:24:30 h-hmlangw ble2mqttd[21935]: main::cleanup_task: Cleanup finished, deleted 0 devices in 0 seconds.
Sep 10 06:25:54 h-hmlangw ble2mqttd[21935]: main: Scan started.
Sep 10 06:25:54 h-hmlangw ble2mqttd[21935]: main::__ANON__: Found bluetoothctl version 5.66.
Sep 10 06:39:31 h-hmlangw ble2mqttd[21935]: main::cleanup_task: Cleanup finished, deleted 0 devices in 0 seconds.
Sep 10 06:54:32 h-hmlangw ble2mqttd[21935]: main::cleanup_task: Cleanup finished, deleted 0 devices in 0 seconds.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: PatrickR am 10 September 2023, 20:03:20
Hi!
Zitat von: CoolTux am 10 September 2023, 11:59:54Nun habe ich leider doch noch ein Problem. Sporadisch gehen alle Geräte auf absent. Das heartbeat Reading kommt weiter hin normal rein und der state ist connected. Dennoch werden keine neuen Werte für topics der mac adressen geschrieben
[...]
Hmm so richtig schlau werde ich aus dem Log nicht. Das liegt aber auch daran, dass beim Logging nach STDOUT die Zeitstempel fehlen und der Log Level des Battery Task auch mit DEBUG nicht so schlau gewählt war.

Kannst Du mal ein neues Log mit der angehängten Version (0.15) ziehen, am besten einen Tag lang und dann wieder mit der Info, wann das Problem aufgetreten ist.

/Edit: Anhang entfernt. ble2mqttd liegt nun im FHEM-SVN unter contrib.

Patrick
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: CoolTux am 10 September 2023, 21:02:57
Schaue ich ich gerne morgen an. Vielen Dank schon mal.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: CoolTux am 11 September 2023, 15:21:09
@Patrick
Es ist wie verhext. Mit der neuen Version läuft es seit Stunden durch. Keine Ahnung wieso. Ich bleibe dran.

Aber hier mal was zum Thema Batterie

[2023-09-11 15:14:07] main: Version 0.15 started (device: hci0, mqtt server: 10.6.6.20:8883, mqtt user: -none-, mqtt fingerprint: -none-, get mqtt fingerprint: 0, mqtt topic: ble2mqtt, daemonize: 0, log level: 7, log target: syslog, absent interval: 300, rssi threshold: 10, watchdog threshold: 0, mac regex: 7C:2F:80:AA:5E:6C|7C:2F:80:98:B7:F8|7C:2F:80:AA:5E:28|7C:2F:80:98:B3:8E, debug: 9, debug bluetoothctl: 0, force battery: 0, battery max age: 48).
[2023-09-11 15:14:07] main::sanity_check: md5 digest of '/usr/local/sbin/ble2mqttd' is: 'a02bb3b10cfbec9a96d6c56c87541b1a'.
[2023-09-11 15:14:07] main::sanity_check: bluetoothctl found at '/usr/bin/bluetoothctl'.
[2023-09-11 15:14:07] main::sanity_check: gatttool found at '/usr/bin/gatttool'.
[2023-09-11 15:14:07] main::mqtt_check_reconnect: (Re-)connect detected, handling...
[2023-09-11 15:14:07] main: Sending 'menu scan'...
[2023-09-11 15:14:07] main: Sending 'clear'...
[2023-09-11 15:14:07] main: Sending 'duplicate-data on'...
[2023-09-11 15:14:07] main: Sending 'transport le'...
[2023-09-11 15:14:07] main: Sending 'back'...
[2023-09-11 15:14:07] main: Sending 'scan on'...
[2023-09-11 15:14:07] main: Sending 'version'...
[2023-09-11 15:14:07] main: Scan started.
[2023-09-11 15:14:07] main::__ANON__: Found bluetoothctl version 5.66.
[2023-09-11 15:14:07] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -73)
[2023-09-11 15:14:07] ### Match (filtered): [CHG] 60:BA:9E:12:60:0A (RSSI: -77)
[2023-09-11 15:14:07] ### Match (filtered): [CHG] 60:BA:9E:12:60:0A (TxPower: -44)
[2023-09-11 15:14:07] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (RSSI: -69)
[2023-09-11 15:14:08] ### Match (filtered): [CHG] 54:D2:72:31:26:7A (RSSI: -59)
[2023-09-11 15:14:08] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -80
[2023-09-11 15:14:08] ### Match (new):      [CHG] 7C:2F:80:AA:5E:6C (RSSI: -80)
[2023-09-11 15:14:09] ### Match (filtered): [NEW] 44:CB:8B:29:0F:68 (LG SJ4R(68))
[2023-09-11 15:14:10] main::query_task: Executing query task. Querying 7C:2F:80:AA:5E:6C (count: 1, backoff: 2)...
[2023-09-11 15:14:10] +++ Device info:    7C:2F:80:AA:5E:6C public
[2023-09-11 15:14:10] +++ Device name:    7C:2F:80:AA:5E:6C 'Gigaset G-tag'
[2023-09-11 15:14:10] +++ Device battery  7C:2F:80:AA:5E:6C
[2023-09-11 15:14:10] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -72
[2023-09-11 15:14:10] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -72)
[2023-09-11 15:14:13] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:14:15] ### Match (filtered): [NEW] D8:80:83:5B:EE:F4 (SONY XR-42A90K)
[2023-09-11 15:14:19] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:14:22] main::dump_task: Executing dump task.
[2023-09-11 15:14:22] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 14, last seen: 12, last published: 14, rssi: -72, published rssi: -80, query count: %, battery service: 1, battery: unknown (never)
[2023-09-11 15:14:25] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:14:27] ### Match (filtered): [CHG] 3C:5D:29:69:7F:B0 (RSSI: -82)
[2023-09-11 15:14:27] ### Match (filtered): [NEW] C0:E7:BF:F0:4A:0A (Max TV)
[2023-09-11 15:14:28] ### Match (filtered): [CHG] D8:80:83:5B:EE:F4 (UUIDs: 0000110a-0000-1000-8000-00805f9b34fb)
[2023-09-11 15:14:28] ### Match (filtered): [CHG] D8:80:83:5B:EE:F4 (UUIDs: 0000110c-0000-1000-8000-00805f9b34fb)
[2023-09-11 15:14:28] ### Match (filtered): [CHG] D8:80:83:5B:EE:F4 (UUIDs: 0000110e-0000-1000-8000-00805f9b34fb)
[2023-09-11 15:14:28] ### Match (filtered): [CHG] D8:80:83:5B:EE:F4 (UUIDs: 00001200-0000-1000-8000-00805f9b34fb)
[2023-09-11 15:14:28] ### Match (filtered): [CHG] D8:80:83:5B:EE:F4 (UUIDs: 00000000-0000-0000-0000-000000000000)
[2023-09-11 15:14:31] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:14:37] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:14:37] main::dump_task: Executing dump task.
[2023-09-11 15:14:37] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 29, last seen: 27, last published: 29, rssi: -72, published rssi: -80, query count: %, battery service: 1, battery: unknown (never)
[2023-09-11 15:14:43] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:14:45] ### Match (filtered): [CHG] C0:E7:BF:F0:4A:0A (RSSI: -96)
[2023-09-11 15:14:46] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -80
[2023-09-11 15:14:46] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -80)
[2023-09-11 15:14:47] ### Match (filtered): [CHG] 60:BA:9E:12:60:0A (RSSI: -66)
[2023-09-11 15:14:48] ### Match (filtered): [CHG] 60:BA:9E:12:60:0A (RSSI: -77)
[2023-09-11 15:14:49] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:14:52] main::dump_task: Executing dump task.
[2023-09-11 15:14:52] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 44, last seen: 6, last published: 6, rssi: -80, published rssi: -80, query count: %, battery service: 1, battery: unknown (never)
[2023-09-11 15:14:55] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:15:01] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -72
[2023-09-11 15:15:01] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -72)
[2023-09-11 15:15:01] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:15:07] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:15:07] main::dump_task: Executing dump task.
[2023-09-11 15:15:07] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 59, last seen: 6, last published: 21, rssi: -72, published rssi: -80, query count: %, battery service: 1, battery: unknown (never)
[2023-09-11 15:15:13] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:15:19] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:15:22] main::dump_task: Executing dump task.
[2023-09-11 15:15:22] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 74, last seen: 21, last published: 36, rssi: -72, published rssi: -80, query count: %, battery service: 1, battery: unknown (never)
[2023-09-11 15:15:25] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:15:31] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:15:37] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:15:37] main::dump_task: Executing dump task.
[2023-09-11 15:15:37] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 89, last seen: 36, last published: 51, rssi: -72, published rssi: -80, query count: %, battery service: 1, battery: unknown (never)
[2023-09-11 15:15:38] ### Match (filtered): [NEW] 3C:5D:29:69:7F:B0 (3C-5D-29-69-7F-B0)
[2023-09-11 15:15:43] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:15:49] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:15:51] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -80
[2023-09-11 15:15:51] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -80)
[2023-09-11 15:15:52] main::dump_task: Executing dump task.
[2023-09-11 15:15:52] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 104, last seen: 1, last published: 1, rssi: -80, published rssi: -80, query count: %, battery service: 1, battery: unknown (never)
[2023-09-11 15:15:55] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:16:01] main::evaluation_task: Executing evaluation task.
[2023-09-11 15:16:06] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -72
[2023-09-11 15:16:06] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -72)
[2023-09-11 15:16:08] main::battery_task: Executing battery task.
[2023-09-11 15:16:09] main::get_battery_level: gatttool (mac: 7C:2F:80:AA:5E:6C, address type: 'public'): 'connect to 7C:2F:80:AA:5E:6C: Function not implemented (38)'
[2023-09-11 15:16:09] main::battery_task: Battery level of device 7C:2F:80:AA:5E:6C is unknown, skipping reading update...
[2023-09-11 15:16:09] main: Sending 'menu scan'...
[2023-09-11 15:16:09] main: Sending 'clear'...
[2023-09-11 15:16:09] main: Sending 'duplicate-data on'...
[2023-09-11 15:16:09] main: Sending 'transport le'...
[2023-09-11 15:16:09] main: Sending 'back'...
[2023-09-11 15:16:09] main: Sending 'scan on'...
[2023-09-11 15:16:09] main: Sending 'version'...
[2023-09-11 15:16:09] main: Scan started.
[2023-09-11 15:16:09] main::__ANON__: Found bluetoothctl version 5.66.
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 60:BA:9E:12:60:0A (RSSI: -76)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 60:BA:9E:12:60:0A (TxPower: -44)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 60:BA:9E:12:60:0A (ManufacturerData Key: 0x00c4)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 60:BA:9E:12:60:0A (ManufacturerData Value:)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -73)
[2023-09-11 15:16:09] ### Match (filtered): [NEW] 48:3B:62:06:D5:CD (48-3B-62-06-D5-CD)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 44:CB:8B:29:0F:68 (RSSI: -58)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 44:CB:8B:29:0F:68 (ManufacturerData Key: 0x00c4)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 44:CB:8B:29:0F:68 (ManufacturerData Value:)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (RSSI: -74)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (ManufacturerData Key: 0x004c)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (ManufacturerData Value:)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -73)
[2023-09-11 15:16:09] ### Match (filtered): [NEW] 7F:13:D7:F6:DC:18 (7F-13-D7-F6-DC-18)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -72)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 60:BA:9E:12:60:0A (RSSI: -75)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 60:BA:9E:12:60:0A (ManufacturerData Key: 0x00c4)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 60:BA:9E:12:60:0A (ManufacturerData Value:)
[2023-09-11 15:16:09] ### Match (filtered): [NEW] 14:C1:4E:C3:A1:94 (14-C1-4E-C3-A1-94)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 44:CB:8B:29:0F:68 (RSSI: -59)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 44:CB:8B:29:0F:68 (ManufacturerData Key: 0x00c4)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 44:CB:8B:29:0F:68 (ManufacturerData Value:)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -71)
[2023-09-11 15:16:09] ### Match (filtered): [NEW] 54:E9:37:00:C2:DC (54-E9-37-00-C2-DC)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -71)
[2023-09-11 15:16:09] ### Match (filtered): [NEW] 75:7E:C0:79:DE:96 (75-7E-C0-79-DE-96)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 75:7E:C0:79:DE:96 (RSSI: -85)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 75:7E:C0:79:DE:96 (ManufacturerData Key: 0x012d)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 75:7E:C0:79:DE:96 (ManufacturerData Value:)
[2023-09-11 15:16:09] ### Match (filtered): [NEW] 61:E5:07:6A:A3:AC (61-E5-07-6A-A3-AC)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 60:BA:9E:12:60:0A (RSSI: -75)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 60:BA:9E:12:60:0A (ManufacturerData Key: 0x00c4)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 60:BA:9E:12:60:0A (ManufacturerData Value:)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -71)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 44:CB:8B:29:0F:68 (R)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 44:CB:8B:29:0F:68 (ManufacturerData Key: 0x00c4)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 44:CB:8B:29:0F:68 (ManufacturerData Value:)
[2023-09-11 15:16:09] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -71)
[2023-09-11 15:16:10] ### Match (filtered): [CHG] 48:3B:62:06:D5:CD (RSSI: -77)
[2023-09-11 15:16:10] ### Match (filtered): [CHG] 48:3B:62:06:D5:CD (ServiceData Key: 0000fe9f-0000-1000-8000-00805f9b34fb)
[2023-09-11 15:16:10] ### Match (filtered): [CHG] 48:3B:62:06:D5:CD (ServiceData Value:)
[2023-09-11 15:16:10] main::evaluation_task: Executing evaluation task.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: CoolTux am 11 September 2023, 16:55:26
Hier noch etwas mehr an Output


[2023-09-11 16:51:44] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -71
[2023-09-11 16:51:44] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -71)
[2023-09-11 16:51:48] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:51:54] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:51:58] main::dump_task: Executing dump task.
[2023-09-11 16:51:58] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: Gigaset G-tag, address type: public, first seen: 3348, last seen: 1368, last published: 1371, rssi: -76, published rssi: -70, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 5870, last seen: 14, last published: 25, rssi: -71, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 16:51:58] ### Match (filtered): [NEW] C0:E7:BF:F0:4A:0A (Max TV)
[2023-09-11 16:52:00] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:52:03] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -80
[2023-09-11 16:52:03] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -80)
[2023-09-11 16:52:05] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -72
[2023-09-11 16:52:05] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -72)
[2023-09-11 16:52:05] ### Match (filtered): [NEW] FE:A1:46:00:00:0A (Armor X5)
[2023-09-11 16:52:06] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:52:12] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:52:13] main::dump_task: Executing dump task.
[2023-09-11 16:52:13] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: Gigaset G-tag, address type: public, first seen: 3363, last seen: 1383, last published: 1386, rssi: -76, published rssi: -70, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 5885, last seen: 8, last published: 10, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 16:52:17] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -80
[2023-09-11 16:52:17] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -80)
[2023-09-11 16:52:18] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:52:21] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -72
[2023-09-11 16:52:21] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -72)
[2023-09-11 16:52:24] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:52:28] main::dump_task: Executing dump task.
[2023-09-11 16:52:28] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: Gigaset G-tag, address type: public, first seen: 3378, last seen: 1398, last published: 1401, rssi: -76, published rssi: -70, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 5900, last seen: 7, last published: 7, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 16:52:29] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -80
[2023-09-11 16:52:29] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -80)
[2023-09-11 16:52:30] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:52:31] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -72
[2023-09-11 16:52:31] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -72)
[2023-09-11 16:52:35] ### Match (filtered): [CHG] C0:E7:BF:F0:4A:0A (RSSI: -85)
[2023-09-11 16:52:35] ### Match (filtered): [CHG] C0:E7:BF:F0:4A:0A (UUIDs: 0000110a-0000-1000-8000-00805f9b34fb)
[2023-09-11 16:52:35] ### Match (filtered): [CHG] C0:E7:BF:F0:4A:0A (UUIDs: 0000110c-0000-1000-8000-00805f9b34fb)
[2023-09-11 16:52:35] ### Match (filtered): [CHG] C0:E7:BF:F0:4A:0A (UUIDs: 0000110e-0000-1000-8000-00805f9b34fb)
[2023-09-11 16:52:35] ### Match (filtered): [CHG] C0:E7:BF:F0:4A:0A (UUIDs: 00001200-0000-1000-8000-00805f9b34fb)
[2023-09-11 16:52:35] ### Match (filtered): [CHG] C0:E7:BF:F0:4A:0A (UUIDs: 00000000-0000-0000-0000-000000000000)
[2023-09-11 16:52:36] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:52:36] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -80
[2023-09-11 16:52:36] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -80)
[2023-09-11 16:52:42] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:52:43] main::dump_task: Executing dump task.
[2023-09-11 16:52:43] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: Gigaset G-tag, address type: public, first seen: 3393, last seen: 1413, last published: 1416, rssi: -76, published rssi: -70, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 5915, last seen: 7, last published: 22, rssi: -80, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 16:52:48] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:52:54] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:52:54] ### Match (filtered): [CHG] C0:E7:BF:F0:4A:0A (RSSI: -93)
[2023-09-11 16:52:58] main::dump_task: Executing dump task.
[2023-09-11 16:52:58] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: Gigaset G-tag, address type: public, first seen: 3408, last seen: 1428, last published: 1431, rssi: -76, published rssi: -70, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 5930, last seen: 22, last published: 37, rssi: -80, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 16:53:00] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:53:06] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:53:06] ### Match (filtered): [CHG] C0:E7:BF:F0:4A:0A (RSSI: -84)
[2023-09-11 16:53:09] ### Match (filtered): [CHG] C0:E7:BF:F0:4A:0A (RSSI: -96)
[2023-09-11 16:53:12] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:53:13] main::dump_task: Executing dump task.
[2023-09-11 16:53:13] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: Gigaset G-tag, address type: public, first seen: 3423, last seen: 1443, last published: 1446, rssi: -76, published rssi: -70, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 5945, last seen: 37, last published: 52, rssi: -80, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 16:53:16] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -71
[2023-09-11 16:53:16] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -71)
[2023-09-11 16:53:18] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:53:22] ### Match (filtered): [CHG] C0:E7:BF:F0:4A:0A (RSSI: -84)
[2023-09-11 16:53:24] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:53:26] ### Match (filtered): [CHG] C0:E7:BF:F0:4A:0A (RSSI: -93)
[2023-09-11 16:53:28] main::dump_task: Executing dump task.
[2023-09-11 16:53:28] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: Gigaset G-tag, address type: public, first seen: 3438, last seen: 1458, last published: 1461, rssi: -76, published rssi: -70, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 5960, last seen: 12, last published: 12, rssi: -71, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 16:53:30] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:53:36] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:53:39] ### Match (filtered): [CHG] C0:E7:BF:F0:4A:0A (RSSI: -84)
[2023-09-11 16:53:42] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:53:43] main::dump_task: Executing dump task.
[2023-09-11 16:53:43] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: Gigaset G-tag, address type: public, first seen: 3453, last seen: 1473, last published: 1476, rssi: -76, published rssi: -70, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 5975, last seen: 27, last published: 27, rssi: -71, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 16:53:48] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:53:50] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -80
[2023-09-11 16:53:50] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -80)
[2023-09-11 16:53:54] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:53:58] main::dump_task: Executing dump task.
[2023-09-11 16:53:58] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: Gigaset G-tag, address type: public, first seen: 3468, last seen: 1488, last published: 1491, rssi: -76, published rssi: -70, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 5990, last seen: 8, last published: 8, rssi: -80, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 16:53:58] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -72
[2023-09-11 16:53:58] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -72)
[2023-09-11 16:54:00] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:54:06] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:54:12] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:54:13] main::dump_task: Executing dump task.
[2023-09-11 16:54:13] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: Gigaset G-tag, address type: public, first seen: 3483, last seen: 1503, last published: 1506, rssi: -76, published rssi: -70, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 6005, last seen: 15, last published: 23, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 16:54:13] ### Match (filtered): [NEW] FE:A1:46:00:00:0A (Armor X5)
[2023-09-11 16:54:18] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:54:24] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:54:28] main::dump_task: Executing dump task.
[2023-09-11 16:54:28] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: Gigaset G-tag, address type: public, first seen: 3498, last seen: 1518, last published: 1521, rssi: -76, published rssi: -70, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 6020, last seen: 30, last published: 38, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 16:54:30] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:54:36] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:54:42] main::evaluation_task: Executing evaluation task.
[2023-09-11 16:54:43] main::dump_task: Executing dump task.
[2023-09-11 16:54:43] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: Gigaset G-tag, address type: public, first seen: 3513, last seen: 1533, last published: 1536, rssi: -76, published rssi: -70, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 6035, last seen: 45, last published: 53, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 16:54:43] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -81
[2023-09-11 16:54:43] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -81)
[2023-09-11 16:54:46] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -72
[2023-09-11 16:54:46] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -72)
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: CoolTux am 11 September 2023, 17:26:39
Nun ist es doch passiert. Um genau 17:21:20 kam das absent. Ich habe ein absentinterval von 300, nur falls das relevant sein sollte. Ich bin zu Hause, mein Dongle auch. Meine MAC 7C_2F_80_AA_5E_6C


[2023-09-11 17:07:12] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:07:13] main::dump_task: Executing dump task.
[2023-09-11 17:07:13] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 6785, last seen: 3, last published: 3, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:07:18] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:07:24] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:07:28] main::dump_task: Executing dump task.
[2023-09-11 17:07:28] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 6800, last seen: 18, last published: 18, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:07:30] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:07:36] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:07:42] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:07:43] main::dump_task: Executing dump task.
[2023-09-11 17:07:43] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 6815, last seen: 33, last published: 33, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:07:45] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -80
[2023-09-11 17:07:45] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -80)
[2023-09-11 17:07:46] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -72
[2023-09-11 17:07:46] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -72)
[2023-09-11 17:07:48] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:07:54] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:07:57] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (RSSI: -66)
[2023-09-11 17:07:58] main::dump_task: Executing dump task.
[2023-09-11 17:07:58] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 6830, last seen: 12, last published: 13, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:07:58] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (RSSI: -74)
[2023-09-11 17:08:00] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:08:02] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -80
[2023-09-11 17:08:02] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -80)
[2023-09-11 17:08:06] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:08:12] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:08:13] main::dump_task: Executing dump task.
[2023-09-11 17:08:13] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 6845, last seen: 11, last published: 11, rssi: -80, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:08:18] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:08:24] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:08:28] main::dump_task: Executing dump task.
[2023-09-11 17:08:28] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 6860, last seen: 26, last published: 26, rssi: -80, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:08:30] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:08:30] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (RSSI: -66)
[2023-09-11 17:08:36] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:08:38] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (RSSI: -74)
[2023-09-11 17:08:42] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:08:43] main::dump_task: Executing dump task.
[2023-09-11 17:08:43] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 6875, last seen: 41, last published: 41, rssi: -80, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:08:48] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:08:54] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:08:58] main::dump_task: Executing dump task.
[2023-09-11 17:08:58] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 6890, last seen: 56, last published: 56, rssi: -80, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:09:00] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:09:06] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:09:07] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -72
[2023-09-11 17:09:07] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -72)
[2023-09-11 17:09:12] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:09:13] main::dump_task: Executing dump task.
[2023-09-11 17:09:13] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 6905, last seen: 6, last published: 6, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:09:16] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (RSSI: -66)
[2023-09-11 17:09:17] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (RSSI: -74)
[2023-09-11 17:09:18] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:09:23] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -80
[2023-09-11 17:09:23] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -80)
[2023-09-11 17:09:24] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:09:28] main::dump_task: Executing dump task.
[2023-09-11 17:09:28] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 6920, last seen: 5, last published: 5, rssi: -80, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:09:30] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:09:33] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -72
[2023-09-11 17:09:33] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -72)
[2023-09-11 17:09:36] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:09:42] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:09:43] main::dump_task: Executing dump task.
[2023-09-11 17:09:43] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 6935, last seen: 10, last published: 20, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:09:48] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:09:49] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -80
[2023-09-11 17:09:49] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -80)
[2023-09-11 17:09:54] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:09:58] main::dump_task: Executing dump task.
[2023-09-11 17:09:58] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 6950, last seen: 9, last published: 9, rssi: -80, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:10:00] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:10:06] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:10:11] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (RSSI: -66)
[2023-09-11 17:10:12] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (RSSI: -74)
[2023-09-11 17:10:12] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:10:13] main::dump_task: Executing dump task.
[2023-09-11 17:10:13] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 6965, last seen: 24, last published: 24, rssi: -80, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:10:18] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:10:21] ### Match (filtered): [NEW] FE:A1:46:00:00:0A (Armor X5)
[2023-09-11 17:10:24] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:10:28] main::dump_task: Executing dump task.
[2023-09-11 17:10:28] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 6980, last seen: 39, last published: 39, rssi: -80, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:10:30] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:10:36] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:10:36] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (RSSI: -66)
[2023-09-11 17:10:36] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -72
[2023-09-11 17:10:36] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -72)
[2023-09-11 17:10:40] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (RSSI: -74)
[2023-09-11 17:10:42] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:10:43] main::dump_task: Executing dump task.
[2023-09-11 17:10:43] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 6995, last seen: 7, last published: 7, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:10:48] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:10:54] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:10:58] main::dump_task: Executing dump task.
[2023-09-11 17:10:58] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7010, last seen: 22, last published: 22, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:11:00] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:11:06] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:11:12] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:11:13] main::dump_task: Executing dump task.
[2023-09-11 17:11:13] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7025, last seen: 37, last published: 37, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:11:18] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:11:24] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:11:28] main::dump_task: Executing dump task.
[2023-09-11 17:11:28] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7040, last seen: 52, last published: 52, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:11:30] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:11:31] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -80
[2023-09-11 17:11:31] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -80)
[2023-09-11 17:11:36] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:11:42] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:11:43] main::dump_task: Executing dump task.
[2023-09-11 17:11:43] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7055, last seen: 12, last published: 12, rssi: -80, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:11:48] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:11:54] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:11:58] main::dump_task: Executing dump task.
[2023-09-11 17:11:58] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7070, last seen: 27, last published: 27, rssi: -80, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:12:00] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:12:04] ### Match (filtered): [CHG] 54:D2:72:31:26:7A (RSSI: -48)
[2023-09-11 17:12:04] ### Match (filtered): [NEW] 3C:5D:29:69:7F:B0 (3C-5D-29-69-7F-B0)
[2023-09-11 17:12:04] ### Match (filtered): [CHG] 54:D2:72:31:26:7A (RSSI: -62)
[2023-09-11 17:12:06] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:12:12] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:12:13] main::dump_task: Executing dump task.
[2023-09-11 17:12:13] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7085, last seen: 42, last published: 42, rssi: -80, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:12:16] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -72
[2023-09-11 17:12:16] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -72)
[2023-09-11 17:12:18] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:12:24] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:12:28] main::dump_task: Executing dump task.
[2023-09-11 17:12:28] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7100, last seen: 12, last published: 12, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:12:30] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:12:36] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:12:42] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:12:43] main::dump_task: Executing dump task.
[2023-09-11 17:12:43] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7115, last seen: 27, last published: 27, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:12:48] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:12:49] ### Match (filtered): [NEW] 3C:5D:29:69:7F:B0 (3C-5D-29-69-7F-B0)
[2023-09-11 17:12:54] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:12:58] main::dump_task: Executing dump task.
[2023-09-11 17:12:58] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7130, last seen: 42, last published: 42, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:13:00] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:13:06] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:13:12] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:13:13] main::dump_task: Executing dump task.
[2023-09-11 17:13:13] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7145, last seen: 57, last published: 57, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:13:18] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:13:18] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -80
[2023-09-11 17:13:18] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -80)
[2023-09-11 17:13:20] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -71
[2023-09-11 17:13:20] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -71)
[2023-09-11 17:13:24] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:13:28] main::dump_task: Executing dump task.
[2023-09-11 17:13:28] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7160, last seen: 8, last published: 10, rssi: -71, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:13:30] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:13:35] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -79
[2023-09-11 17:13:35] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -79)
[2023-09-11 17:13:36] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:13:42] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:13:43] main::dump_task: Executing dump task.
[2023-09-11 17:13:43] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7175, last seen: 8, last published: 8, rssi: -79, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:13:48] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:13:54] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:13:58] main::dump_task: Executing dump task.
[2023-09-11 17:13:58] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7190, last seen: 23, last published: 23, rssi: -79, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:14:00] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:14:06] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -71
[2023-09-11 17:14:06] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -71)
[2023-09-11 17:14:06] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:14:12] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:14:13] main::dump_task: Executing dump task.
[2023-09-11 17:14:13] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7205, last seen: 7, last published: 7, rssi: -71, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:14:15] main::cleanup_task: Cleanup finished, deleted 0 devices in 0 seconds.
[2023-09-11 17:14:18] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:14:21] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -80
[2023-09-11 17:14:21] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -80)
[2023-09-11 17:14:24] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:14:25] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -70
[2023-09-11 17:14:25] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -70)
[2023-09-11 17:14:28] main::dump_task: Executing dump task.
[2023-09-11 17:14:28] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7220, last seen: 3, last published: 3, rssi: -70, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:14:30] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:14:36] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:14:41] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -80
[2023-09-11 17:14:41] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -80)
[2023-09-11 17:14:42] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:14:43] main::dump_task: Executing dump task.
[2023-09-11 17:14:43] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7235, last seen: 2, last published: 2, rssi: -80, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:14:44] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (RSSI: -66)
[2023-09-11 17:14:48] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:14:53] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (RSSI: -74)
[2023-09-11 17:14:54] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:14:58] main::dump_task: Executing dump task.
[2023-09-11 17:14:58] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7250, last seen: 17, last published: 17, rssi: -80, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:14:59] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -72
[2023-09-11 17:14:59] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -72)
[2023-09-11 17:15:00] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:15:06] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:15:12] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:15:13] main::dump_task: Executing dump task.
[2023-09-11 17:15:13] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7265, last seen: 14, last published: 14, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:15:17] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -80
[2023-09-11 17:15:17] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -80)
[2023-09-11 17:15:18] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:15:24] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:15:27] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -72
[2023-09-11 17:15:27] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -72)
[2023-09-11 17:15:28] main::dump_task: Executing dump task.
[2023-09-11 17:15:28] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7280, last seen: 1, last published: 11, rssi: -72, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:15:30] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:15:34] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -80
[2023-09-11 17:15:34] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -80)
[2023-09-11 17:15:36] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:15:42] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:15:43] main::dump_task: Executing dump task.
[2023-09-11 17:15:43] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7295, last seen: 9, last published: 9, rssi: -80, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:15:47] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -71
[2023-09-11 17:15:47] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -71)
[2023-09-11 17:15:48] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:15:54] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:15:58] main::dump_task: Executing dump task.
[2023-09-11 17:15:58] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7310, last seen: 11, last published: 24, rssi: -71, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:16:00] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:16:06] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:16:12] main::battery_task: Executing battery task.
[2023-09-11 17:16:13] main::get_battery_level: gatttool (mac: 7C:2F:80:AA:5E:6C, address type: 'public'): 'connect to 7C:2F:80:AA:5E:6C: Function not implemented (38)'
[2023-09-11 17:16:13] main::battery_task: Battery level of device 7C:2F:80:AA:5E:6C is unknown, skipping reading update...
[2023-09-11 17:16:13] main: Sending 'menu scan'...
[2023-09-11 17:16:13] main: Sending 'clear'...
[2023-09-11 17:16:13] main: Sending 'duplicate-data on'...
[2023-09-11 17:16:13] main: Sending 'transport le'...
[2023-09-11 17:16:13] main: Sending 'back'...
[2023-09-11 17:16:13] main: Sending 'scan on'...
[2023-09-11 17:16:13] main: Sending 'version'...
[2023-09-11 17:16:13] main: Scan started.
[2023-09-11 17:16:13] main::__ANON__: Found bluetoothctl version 5.66.
[2023-09-11 17:16:14] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -69)
[2023-09-11 17:16:14] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (RSSI: -69)
[2023-09-11 17:16:14] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:16:14] main::dump_task: Executing dump task.
[2023-09-11 17:16:14] Known devices (1):
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7326, last seen: 27, last published: 40, rssi: -71, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:16:14] ### Match (filtered): [CHG] 54:D2:72:31:26:7A (RSSI: -57)
[2023-09-11 17:16:15] ### Match RSSI:       [CHG] 7C:2F:80:98:B3:8E -> -77
[2023-09-11 17:16:15] ### Match (new):      [CHG] 7C:2F:80:98:B3:8E (RSSI: -77)
[2023-09-11 17:16:16] ### Match RSSI:       [CHG] 7C:2F:80:AA:5E:6C -> -75
[2023-09-11 17:16:16] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (RSSI: -75)
[2023-09-11 17:16:16] ### Match:            [CHG] 7C:2F:80:AA:5E:6C (UUIDs: 0000180f-0000-1000-8000-00805f9b34fb)
[2023-09-11 17:16:17] main::query_task: Executing query task. Querying 7C:2F:80:98:B3:8E (count: 1, backoff: 2)...
[2023-09-11 17:16:17] +++ Device info:    7C:2F:80:98:B3:8E public
[2023-09-11 17:16:17] +++ Device name:    7C:2F:80:98:B3:8E 'Gigaset G-tag'
[2023-09-11 17:16:17] +++ Device battery  7C:2F:80:98:B3:8E
[2023-09-11 17:16:20] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:16:26] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:16:29] main::dump_task: Executing dump task.
[2023-09-11 17:16:29] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 14, last seen: 14, last published: 14, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7341, last seen: 13, last published: 13, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:16:32] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:16:38] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:16:40] ### Match (filtered): [CHG] 3C:5D:29:69:7F:B0 (RSSI: -82)
[2023-09-11 17:16:44] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:16:44] main::dump_task: Executing dump task.
[2023-09-11 17:16:44] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 29, last seen: 29, last published: 29, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7356, last seen: 28, last published: 28, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:16:50] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:16:56] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:16:59] main::dump_task: Executing dump task.
[2023-09-11 17:16:59] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 44, last seen: 44, last published: 44, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7371, last seen: 43, last published: 43, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:17:02] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:17:08] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:17:14] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:17:14] main::dump_task: Executing dump task.
[2023-09-11 17:17:14] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 59, last seen: 59, last published: 59, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7386, last seen: 58, last published: 58, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:17:20] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:17:26] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:17:29] main::dump_task: Executing dump task.
[2023-09-11 17:17:29] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 74, last seen: 74, last published: 74, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7401, last seen: 73, last published: 73, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:17:32] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:17:38] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:17:42] ### Match (filtered): [NEW] 3C:5D:29:69:7F:B0 (3C-5D-29-69-7F-B0)
[2023-09-11 17:17:44] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:17:44] main::dump_task: Executing dump task.
[2023-09-11 17:17:44] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 89, last seen: 89, last published: 89, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7416, last seen: 88, last published: 88, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:17:50] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:17:56] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:17:59] main::dump_task: Executing dump task.
[2023-09-11 17:17:59] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 104, last seen: 104, last published: 104, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7431, last seen: 103, last published: 103, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:18:02] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:18:08] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:18:14] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:18:14] main::dump_task: Executing dump task.
[2023-09-11 17:18:14] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 119, last seen: 119, last published: 119, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7446, last seen: 118, last published: 118, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:18:20] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:18:26] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:18:29] main::dump_task: Executing dump task.
[2023-09-11 17:18:29] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 134, last seen: 134, last published: 134, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7461, last seen: 133, last published: 133, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:18:32] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:18:38] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:18:44] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:18:44] main::dump_task: Executing dump task.
[2023-09-11 17:18:44] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 149, last seen: 149, last published: 149, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7476, last seen: 148, last published: 148, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:18:50] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:18:56] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:18:59] main::dump_task: Executing dump task.
[2023-09-11 17:18:59] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 164, last seen: 164, last published: 164, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7491, last seen: 163, last published: 163, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:19:02] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:19:02] ### Match (filtered): [NEW] 3C:5D:29:69:7F:B0 (3C-5D-29-69-7F-B0)
[2023-09-11 17:19:08] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:19:14] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:19:14] main::dump_task: Executing dump task.
[2023-09-11 17:19:14] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 179, last seen: 179, last published: 179, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7506, last seen: 178, last published: 178, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:19:18] ### Match (filtered): [NEW] FE:A1:46:00:00:0A (Armor X5)
[2023-09-11 17:19:20] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:19:26] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:19:29] main::dump_task: Executing dump task.
[2023-09-11 17:19:29] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 194, last seen: 194, last published: 194, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7521, last seen: 193, last published: 193, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:19:32] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:19:38] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:19:44] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:19:44] main::dump_task: Executing dump task.
[2023-09-11 17:19:44] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 209, last seen: 209, last published: 209, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7536, last seen: 208, last published: 208, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:19:50] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:19:56] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:19:59] main::dump_task: Executing dump task.
[2023-09-11 17:19:59] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 224, last seen: 224, last published: 224, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7551, last seen: 223, last published: 223, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:20:02] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:20:03] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -60)
[2023-09-11 17:20:03] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -74)
[2023-09-11 17:20:08] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:20:14] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:20:14] main::dump_task: Executing dump task.
[2023-09-11 17:20:14] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 239, last seen: 239, last published: 239, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7566, last seen: 238, last published: 238, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:20:20] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:20:26] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:20:29] main::dump_task: Executing dump task.
[2023-09-11 17:20:29] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 254, last seen: 254, last published: 254, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7581, last seen: 253, last published: 253, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:20:32] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:20:34] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -66)
[2023-09-11 17:20:35] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -74)
[2023-09-11 17:20:38] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:20:44] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:20:44] main::dump_task: Executing dump task.
[2023-09-11 17:20:44] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 269, last seen: 269, last published: 269, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7596, last seen: 268, last published: 268, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:20:48] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -66)
[2023-09-11 17:20:49] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -74)
[2023-09-11 17:20:50] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:20:56] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:20:59] main::dump_task: Executing dump task.
[2023-09-11 17:20:59] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 284, last seen: 284, last published: 284, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7611, last seen: 283, last published: 283, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:21:02] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:21:08] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:21:14] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:21:14] main::dump_task: Executing dump task.
[2023-09-11 17:21:14] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 1, name: Gigaset G-tag, address type: public, first seen: 299, last seen: 299, last published: 299, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 1, name: Gigaset G-tag, address type: public, first seen: 7626, last seen: 298, last published: 298, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:21:18] ### Match (filtered): [CHG] 54:D2:72:31:26:7A (ManufacturerData Key: 0x004c)
[2023-09-11 17:21:18] ### Match (filtered): [CHG] 54:D2:72:31:26:7A (ManufacturerData Value:)
[2023-09-11 17:21:19] ### Match (filtered): [CHG] 54:D2:72:31:26:7A (ManufacturerData Key: 0x004c)
[2023-09-11 17:21:19] ### Match (filtered): [CHG] 54:D2:72:31:26:7A (ManufacturerData Value:)
[2023-09-11 17:21:20] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:21:20] main::evaluation_task: Device 7C:2F:80:98:B3:8E is now absent.
[2023-09-11 17:21:20] main::evaluation_task: Device 7C:2F:80:AA:5E:6C is now absent.
[2023-09-11 17:21:24] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (ManufacturerData Key: 0x004c)
[2023-09-11 17:21:24] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (ManufacturerData Value:)
[2023-09-11 17:21:25] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (ManufacturerData Key: 0x004c)
[2023-09-11 17:21:25] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (ManufacturerData Value:)
[2023-09-11 17:21:26] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:21:28] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (RSSI: -77)
[2023-09-11 17:21:28] ### Match (filtered): [CHG] 54:D2:72:FF:44:F4 (RSSI: -69)
[2023-09-11 17:21:29] main::dump_task: Executing dump task.
[2023-09-11 17:21:29] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: Gigaset G-tag, address type: public, first seen: 314, last seen: 314, last published: 314, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 0, name: Gigaset G-tag, address type: public, first seen: 7641, last seen: 313, last published: 313, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:21:32] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:21:38] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:21:40] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -66)
[2023-09-11 17:21:40] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -74)
[2023-09-11 17:21:41] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -66)
[2023-09-11 17:21:41] ### Match (filtered): [CHG] 00:A0:50:78:57:93 (RSSI: -74)
[2023-09-11 17:21:43] ### Match (filtered): [NEW] 3C:5D:29:69:7F:B0 (3C-5D-29-69-7F-B0)
[2023-09-11 17:21:44] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:21:44] main::dump_task: Executing dump task.
[2023-09-11 17:21:44] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: Gigaset G-tag, address type: public, first seen: 329, last seen: 329, last published: 329, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 0, name: Gigaset G-tag, address type: public, first seen: 7656, last seen: 328, last published: 328, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:21:50] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:21:56] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:21:59] main::dump_task: Executing dump task.
[2023-09-11 17:21:59] Known devices (2):
        mac: 7C:2F:80:98:B3:8E, present: 0, name: Gigaset G-tag, address type: public, first seen: 344, last seen: 344, last published: 344, rssi: -77, published rssi: -77, query count: %, battery service: 1, battery: unknown (never)
        mac: 7C:2F:80:AA:5E:6C, present: 0, name: Gigaset G-tag, address type: public, first seen: 7671, last seen: 343, last published: 343, rssi: -75, published rssi: -72, query count: %, battery service: 1, battery: 85 (1694441771)
[2023-09-11 17:22:02] main::evaluation_task: Executing evaluation task.
[2023-09-11 17:22:08] main::evaluation_task: Executing evaluation task.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: PatrickR am 11 September 2023, 22:16:47
Hi!

Sowohl bei der Battery-Geschichte als auch bei dem Absent wären mehr Logs gut. Bei Absent sehe ich leider nur den Teil, bei dem keine Beacons reinkommen (d. h. ab 300s vor dem Fehlerzeitpunkt) nicht den Teil davor, bei dem mutmaßlich noch alles geklappt hat.

Die Fehlermeldung bei Battery hatte ich auch vereinzelt bekommen, teilweise auch, wenn der Tag zwar in der Nähe war, aber an der Grenze der Reichweite. Das wird sich aber vermutlich (s. o.) erholen, wenn ble2mqttd länger läuft. Es schaut jede Stunde, welche Geräte zur Abfrage anstehen und fragt sie ab. Das sind jene Geräte, die erreichbar sind, die Batterieabfrage unterstützen und deren letzter Batteriewert entweder unbekannt oder älter als 48h ist. Ergo: Es wird stündlich probiert, den Wert zu bekommen bis es klappt.

Patrick

Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: CoolTux am 12 September 2023, 05:48:47
Guten Morgen.

Ganzer Debug Log kann hier eingesehen werden (https://cloud.cooltux.net/s/nBqNs3p42833i9K).
Ist rund 42Mb groß. Ich konnte es aber ohne Probleme im vi öffnen.


Grüße
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: PatrickR am 12 September 2023, 10:17:37
Hi!

Zitat von: CoolTux am 12 September 2023, 05:48:47Ganzer Debug Log kann hier eingesehen werden (https://cloud.cooltux.net/s/nBqNs3p42833i9K).
Ist rund 42Mb groß. Ich konnte es aber ohne Probleme im vi öffnen.
Ah, ein Log, sehr gut.

Zum Battery Level:
[2023-09-11 15:16:09] main::get_battery_level: gatttool (mac: 7C:2F:80:AA:5E:6C, address type: 'public'): 'connect to 7C:2F:80:AA:5E:6C: Function not implemented (38)'
[2023-09-11 16:16:11] main::get_battery_level: gatttool (mac: 7C:2F:80:AA:5E:6C, address type: 'public'): 'handle: 0x001b      value: 55 '
[2023-09-11 17:16:13] main::get_battery_level: gatttool (mac: 7C:2F:80:AA:5E:6C, address type: 'public'): 'connect to 7C:2F:80:AA:5E:6C: Function not implemented (38)'
Wie Du siehst schlägt es immer noch fehl, aber da ble2mqttd es stündlich so lange probiert, bis es klappt, klappt es um 16:16:11. Um 17:16:13 wird es wieder probiert, was eigentlich nicht passieren kann, da der Wert zu diesem Zeitpunkt eine Stunde alt ist, was deutlich unter 48 Stunden liegt. Da aber an der Datei rumeditiert wurde, schiebe ich das mal darauf.

Zur Absent-Geschichte:
Das ist schon etwas spannender. Um 17:16 tauchen *8E und *6C das letzte Mal auf, danach nicht mehr. Andere Geräte wie *7A und *F4 kommen aber weiterhin, d. h. gatttool scannt erfolgreich. Meine Theorie wäre daher, dass die G-Tags nicht mehr senden, z. B. weil irgendetwas anderes mit ihnen redet. Ich hatte bei meinen Tags z. B. das Problem, dass sie nicht mehr bzw. deutlich seltener gesendet haben wenn sie mit der G-Tag-App verbunden waren. Das Problem könnte auch z. B. ein Batterieskript (auch auf einem anderen Host) sein. Die Batterieabfrage von ble2mqttd schließe ich erstmal aus, da nur einer der zwei Tags abgefragt wird. Auch könnte es sein, dass die Tags außer Reichweite des Hosts sind oder durch andere Funkphänomene nicht mehr dort ankommen.

Es gibt jetzt mehrere Möglichkeiten, das weiter einzugrenzen. Einerseits könnte man auf einer anderen Hardware parallel scannen und so verifizieren, dass die Tags nach wie vor senden. Andererseits, falls es wirklich konkurrierende (Batterie-)skripte gibt, könnte man mal in deren Log schauen, ob um ca. 17:16 etwas mit den Tags angestellt wurde.

Interessant ist übrigens auch, dass Deine G-Tags ohnehin nur selten senden. Meine senden etwa alle zwei Sekunden.

Patrick
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: CoolTux am 12 September 2023, 10:20:04
Alles klar. Ich danke Dir erstmal für die Auswertung. Ich werde dann wohl mal schauen müssen was da los ist.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: CoolTux am 16 September 2023, 10:43:12
Kleiner Zwischenbericht. Bei mir scheint sich das Problem erledigt zu haben nachdem ich die Filter entfernt habe. Frag mich nicht  ???
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: drhirn am 02 Oktober 2023, 15:18:28
Zitat von: drhirn am 04 September 2023, 11:39:49Frage: Wäre es nicht sinnvoll, das present-Reading als retained zu schicken?

Ich hatte im Urlaub öfter mal das Problem, dass meine Residents plötzlich zuhause waren. Weiß aber noch nicht, warum genau das passiert ist.

Also. Das passiert offenbar, wenn niemand zuhause ist, FHEM neu startet und sich eines der ble2mqtt-Devices aufgehängt hat (bzw. die Verbindung zum WLAN verloren). Aktueller Status: Ich bin im Büro aber laut FHEM auch zuhause.

setstate ble2mqttDevice 2023-10-02 12:49:39 presence present
setstate ble2mqttDevice 2023-09-17 12:30:53 presence_bad present
setstate ble2mqttDevice 2023-09-17 12:30:58 presence_kueche present
setstate ble2mqttDevice 2023-10-02 12:49:39 presence_vorraum absent
setstate ble2mqttDevice 2023-10-02 12:49:39 presence_wohnzimmer absent
setstate ble2mqttDevice 2023-10-02 12:49:39 room bad

Ich war wohl am 17.09. umd 12:30 zuhause. Danach haben zwei Devices nicht mehr reagiert, stehen aber auf "present". Ich habe jetzt gerade eines der beiden neu gestartet. Bleibt aber auf present, obwohl ich nicht zuhause bin. Ist klar, es empfängt ja auch keine Daten. Das Reading kann also gar nicht aktualisiert werden.

Das FHEM-Device sieht so aus:

define ble2mqttDevice MQTT2_DEVICE FHEM
attr ble2mqttDevice devicetopic ble2mqtt/.*/7C_2F_80_AF_1A_F5
attr ble2mqttDevice event-on-change-reading .*
attr ble2mqttDevice readingList FHEM:ble2mqtt/wohnzimmer/state:.* state\
FHEM:ble2mqtt/wohnzimmer/heartbeat:.* heartbeat\
$DEVICETOPIC/rssi:.* {my $room=(split m{[/]}x,$TOPIC)[1];;;; my $roomMax=$room;;;; my $rssiMax=$EVENT;;;; my @readings = grep { $_ =~ m{\Arssi_(?!$room).*}x } keys %{$defs{"$NAME"}->{READINGS}};;;; for (@readings) {my $rssiTmp=ReadingsVal($NAME,$_,'-100');;;; my $roomTmp=(split m{[_]}x,$_)[1];;;; if(($rssiMax gt $rssiTmp)&&(ReadingsVal($NAME,"presence_".$roomTmp,'absent') eq 'present')) {$rssiMax=$rssiTmp;;;;$roomMax=$roomTmp}};;;; {rssi=>$rssiMax,room=>$roomMax,"rssi_$room"=>$EVENT}}\
$DEVICETOPIC/lastseen:.* {lastseen=>strftime "%Y-%m-%d %H:%M:%S", localtime($EVENT)}\
$DEVICETOPIC/present:.* {my $roomAct=(split m{[/]}x,$TOPIC)[1];;;; my $rssi=ReadingsVal($NAME,"rssi_".$roomAct,'-100');;;;;;;;my $presenceAct=$EVENT?'present':'absent';;;; my $presenceTotal=$presenceAct;;;; my $room=$EVENT ? $roomAct:'';;;; my @readings = grep { $_ =~ m{\Apresence_(?!$roomAct).*}x } keys %{$defs{$NAME}->{READINGS}};;;; for (@readings) {if(ReadingsVal($NAME,$_,'absent') eq 'present') {my $roomTmp=(split m{[_]}x,$_)[1];;;; my $rssiTmp=ReadingsVal($NAME,"rssi_".$roomTmp,'-100');;;;if($rssi gt $rssiTmp){$room=$roomTmp;;;;$presenceTotal='present';;;; $rssi=$rssiTmp}}};;;; {"presence_$roomAct"=>$presenceAct, room=>$room, presence=>$presenceTotal, state=>$presenceTotal}}\
ble2mqttd/wohnzimmer:.* state

Retained Messages helfen da auch nicht, sind sogar kontraproduktiv im täglichen Einsatz.

Wie könnten wir das lösen? Irgendwie muss ein Event ausgelöst werden. Eventuell von ble2mqtt, wenn ein MAC-Filter gesetzt ist?
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: PatrickR am 02 Oktober 2023, 19:39:36
Hi!

Zitat von: drhirn am 02 Oktober 2023, 15:18:28Wie könnten wir das lösen? Irgendwie muss ein Event ausgelöst werden. Eventuell von ble2mqtt, wenn ein MAC-Filter gesetzt ist?
Ich habe die Fehlerbeschreibung jetzt mehrfach gelesen und leider nicht verstanden. Wenn sich aber ble2mqtt-Instanzen (nicht Devices) aufhängen bzw. deren Netzwerk nicht steht, solltest Du das zuerst angehen. Du könntest alternativ statt des Present-Topics lastseen auswerten und daraus den Präsenzstatus ableiten. Aber dann bekommst Du bei defekten ble2mqtt-Instanzen fehlerhafte Abwesenheiten (statt wie jetzt fehlerhafte Anwesenheiten). Zusätzlich könntest Du durch Auswertung des ble2mqtt-state-topics noch einen Alarm auslösen wenn eine ble2mqtt-Instanz auf Grund von Netzwerkproblemen wieder an der Funktion gehindert wird.

Patrick
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: DasQ am 04 Oktober 2023, 16:35:02
Dürfte ich fragen was hier als Empfänger fungiert?

Ich hab was ähnliches ohne dieses Modul am laufen über Tasmota auf 3 ESP32 im Haus verteilt.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: PatrickR am 04 Oktober 2023, 19:45:51
Hi!
Zitat von: DasQ am 04 Oktober 2023, 16:35:02Dürfte ich fragen was hier als Empfänger fungiert?
Ein Linux-Rechner, z. B. Raspberry Pi mit Bluetooth-Modul.

Zitat von: DasQ am 04 Oktober 2023, 16:35:02Ich hab was ähnliches ohne dieses Modul am laufen über Tasmota auf 3 ESP32 im Haus verteilt.
Dann hast Du die schönere Lösung :)

Patrick
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: DasQ am 05 Oktober 2023, 11:36:19
Sorry fürs OT, aber schöner verbitte ich mir  :)) (da fällt mir gerade wieder ein ich sollte dringend ne 12v Leitung durchs Haus legen und die Dinger unterputz verstecken)🫣

Btw hier der Thread von mir verlinkt (https://forum.fhem.de/index.php?topic=132230.msg1264003#msg1264003) wie ich das gemacht hab. Wenn fragen nur zu. Läuft seither bis auf reichweiten Problemen perfekt. Gibt ein zwei Winkel die sind nicht perfekt ausgeleuchtet. Aber da wollte ich noch ein passendes Tasmota für meine rolladen Sonoff DualR3 ESP32 basteln.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Gasmast3r am 05 November 2023, 13:13:22
Hy mit etwas Hilfe habe ich ble2mqtt nun am laufen aber er findet keine Bluetooth Geräte.

pi@FTUI3:~ $ sudo systemctl status ble2mqttd
● ble2mqttd.service - ble2mqttd
     Loaded: loaded (/etc/systemd/system/ble2mqttd.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2023-11-05 13:03:10 CET; 2min 9s ago
   Main PID: 433 (ble2mqttd)
      Tasks: 2 (limit: 868)
        CPU: 1.914s
     CGroup: /system.slice/ble2mqttd.service
             ├─ 433 /usr/bin/perl /usr/local/bin/ble2mqttd --mqttserver 192.168.178.110:1883 --mqtttopic ble2mqtt/Tab --mac (11:22:33:44:55>
             └─1053 bluetoothctl

Nov 05 13:03:12 FTUI3 ble2mqttd[433]: main::sanity_check: md5 digest of '/usr/local/bin/ble2mqttd' is: '1146c98e6c1ab082c580f89eb5bdbaa5'.
Nov 05 13:03:12 FTUI3 ble2mqttd[433]: main::sanity_check: bluetoothctl found at '/usr/bin/bluetoothctl'.
Nov 05 13:03:12 FTUI3 ble2mqttd[433]: main::sanity_check: gatttool found at '/usr/bin/gatttool'.
Nov 05 13:03:12 FTUI3 ble2mqttd[433]: main::mqtt_check_reconnect: (Re-)connect detected, handling...
Nov 05 13:03:12 FTUI3 ble2mqttd[433]: /usr/local/bin/ble2mqttd: connect: Network is unreachable
Nov 05 13:03:12 FTUI3 ble2mqttd[433]: main: Scan started.
Nov 05 13:03:12 FTUI3 ble2mqttd[433]: main::__ANON__: Found bluetoothctl version 5.55.
Nov 05 13:04:12 FTUI3 ble2mqttd[433]: main::mqtt_check_reconnect: (Re-)connect detected, handling...
Nov 05 13:05:12 FTUI3 ble2mqttd[433]: main: Scan started.
Nov 05 13:05:12 FTUI3 ble2mqttd[433]: main::__ANON__: Found bluetoothctl version 5.55.


defmod MQTT2_ble2mqttd_FTUI3 MQTT2_DEVICE ble2mqttd_FTUI3
attr MQTT2_ble2mqttd_FTUI3 readingList ble2mqttd_FTUI3:ble2mqtt/Tab/heartbeat:.* heartbeat\
ble2mqttd_FTUI3:ble2mqtt/Tab/state:.* state
attr MQTT2_ble2mqttd_FTUI3 room MQTT2_DEVICE

setstate MQTT2_ble2mqttd_FTUI3 connected
setstate MQTT2_ble2mqttd_FTUI3 2023-11-05 09:47:27 IODev MQTT2_FHEM_Server
setstate MQTT2_ble2mqttd_FTUI3 2023-11-05 13:07:12 heartbeat 1699186032
setstate MQTT2_ble2mqttd_FTUI3 2023-11-05 13:04:12 state connected

pi@FTUI3:~ $ sudo hcitool lescan
Set scan parameters failed: Input/output error

lepresenced läuft nicht mehr

pi@FTUI3:~ $ sudo service lepresenced status
Unit lepresenced.service could not be found.

komisch ist die mac vom internet Bluetooth

pi@FTUI3:~ $ hcitool dev
Devices:
        hci0    AA:AA:AA:AA:AA:AA

bin mit meinem Wissensstand am ende ok der ist auch nicht sehr ausgeprägt was Linux angeht.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: drhirn am 05 November 2023, 13:21:42
Hast du irgend ein Tool, mit dem du den MQTT-Verkehr mitlesen kannst? Den hier z.B.: http://mqtt-explorer.com/.

Und das hier ist irritierend:
/usr/local/bin/ble2mqttd: connect: Network is unreachable
Sicher, dass der MQTT-Broker erreichbar ist?

Hast du FHEM und ble2mqtt auf einem Rechner?
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Gasmast3r am 05 November 2023, 13:35:56
Hy nein FHEM und ble2mqtt sind nicht auf dem gleichen gerät installiert.

MQTTExplorer habe ich am laufen aber da kommt auch nur

Tab
heartbeat = 1699187543
state = connected
an

mqtt auf dem FHEM Server ist erreichbar

mein eintrag in der /etc/systemd/system/ble2mqttd.service

[Unit]
Description=ble2mqttd
After=bluetooth.target

[Service]
Type=simple
Restart=always
ExecStart=/usr/local/bin/ble2mqttd --mqttserver 192.168.178.110:1883 --mqtttopic ble2mqtt/Tab --mac '(11:22:33:44:55:66|77:88:99:00:AA:BB)'>

[Install]
WantedBy=multi-user.target

habe schon alles was mit Bluetooth am pi zu tun hat runter geworfen und neu installiert ohne Erfolg

pi@FTUI3:~ $ sudo systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
     Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2023-11-05 13:24:21 CET; 1min 34s ago
       Docs: man:bluetoothd(8)
   Main PID: 406 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 868)
        CPU: 233ms
     CGroup: /system.slice/bluetooth.service
             └─406 /usr/libexec/bluetooth/bluetoothd

Nov 05 13:24:20 FTUI3 systemd[1]: Starting Bluetooth service...
Nov 05 13:24:20 FTUI3 bluetoothd[406]: Bluetooth daemon 5.55
Nov 05 13:24:21 FTUI3 systemd[1]: Started Bluetooth service.
Nov 05 13:24:21 FTUI3 bluetoothd[406]: Starting SDP server
Nov 05 13:24:21 FTUI3 bluetoothd[406]: Bluetooth management interface 1.22 initialized
Nov 05 13:24:21 FTUI3 bluetoothd[406]: profiles/sap/server.c:sap_server_register() Sap driver initialization failed.
Nov 05 13:24:21 FTUI3 bluetoothd[406]: sap-server: Operation not permitted (1)
Nov 05 13:24:21 FTUI3 bluetoothd[406]: Failed to set privacy: Rejected (0x0b)

ob die Fehler bei mqtt wichtig sind ist jetzt ne andere frage

PS: was mir noch einfällt als ich
sudo cpan CPAN::DistnameInfo
sudo cpan Net::MQTT::Simple
per ssh ausgeführt hatte ist die Verbindung abgebrochen, habe es dann direkt im Terminal am Pi ausgeführt.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: drhirn am 05 November 2023, 13:51:33
Ok, MQTT ist erreichbar.

Mach mal
sudo hciconfig hci0 down && sudo hciconfig hci0 up
Und eventuell
sudo systemctl restart ble2mqttd.service
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Gasmast3r am 05 November 2023, 14:20:43
Hy keine Veränderung.

gebe ich bluetoothctl ein zeigt er mir alles mögliche an Geräten an

genauso bei hcitool lescan

pi@FTUI3:~ $ sudo systemctl stop ble2mqttd.service
pi@FTUI3:~ $ sudo hcitool lescan
LE Scan ...
34:7E:A7:69:38:4C (unknown)
18:21:ED:6E:E8:D0 (unknown)
7C:2F:80:96:3D:CE (unknown)
7C:2F:80:AD:C7:ED (unknown)
7C:2F:80:AD:C7:ED Gigaset G-tag
7C:2F:80:96:3D:CE Gigaset G-tag
00:1A:22:09:0F:34 (unknown)
00:1A:22:05:27:E5 (unknown)
00:1A:22:09:0F:34 CC-RT-BLE


pi@FTUI3:~ $ sudo su
root@FTUI3:/home/pi# bluetoothctl
Agent registered
[CHG] Controller B8:27:EB:5C:3E:A7 Pairable: yes
[bluetooth]# scan on
Discovery started
[CHG] Controller B8:27:EB:5C:3E:A7 Discovering: yes
[NEW] Device 7C:2F:80:AD:C7:ED Gigaset G-tag
[NEW] Device 00:1A:22:05:27:E5 CC-RT-BLE
[NEW] Device 7C:2F:80:96:3D:CE Gigaset G-tag
[NEW] Device 00:1A:22:09:0F:34 CC-RT-BLE


PS: Stope ich ble2mqtt und starte lepresenced werden die G-Tag´s gefunden.

PPS: starte ich per Hand

/usr/local/bin/ble2mqttd --mqttserver 192.168.178.110:1883 --mqtttopic ble2mqtt/Tab

bekomme ich die mac Adressen in FHEM

dann muss ich noch mal suchen gehen


Nachtrag: hab jetzt
/usr/local/bin/ble2mqttd --mqttserver 192.168.178.110:1883 --mqtttopic ble2mqtt/Tab
eigetragen und es läuft.


Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: drhirn am 06 November 2023, 09:05:56
ExecStart=/usr/local/bin/ble2mqttd --mqttserver 192.168.178.110:1883 --mqtttopic ble2mqtt/Tab --mac '(11:22:33:44:55:66|77:88:99:00:AA:BB)'>
Das war vorher drin? Da ist natürlich das Größer-Zeichen am Schluss falsch. Habe ich übersehen bzw. geglaubt, das ist beim Kopieren passiert.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Gasmast3r am 06 November 2023, 09:15:31
Hy nein das > ist ein Kopier Fehler aus meinem Terminalfenster.

ich muss mal schauen was der Rest bedeutet und dann teste ich mich mal durch
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: drhirn am 06 November 2023, 09:17:51
Einfach /usr/local/bin/ble2mqttd ausführen. Dann bekommst du eine Liste mit den möglichen Optionen.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Gasmast3r am 06 November 2023, 09:28:47
--mqttuser <username> --mqttpass <password>

Das war das problem, wie schon immer sitzt zu 90% der Fehler vorm PC  8)
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: drhirn am 06 November 2023, 09:30:47
Haha. Freut mich, dass du den Fehler gefunden hast.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: drhirn am 08 November 2023, 09:22:08
@Gasmast3r
War meine Doku brauchbar? Dann würde ich das irgendwie im Wiki hinterlegen.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Gasmast3r am 08 November 2023, 09:25:08
Hy ja ich bin da super mit Klar gekommen, eventuell als Tipp für Leute die nicht so stark in der Materie sind, die Info das Benutzername und Password rausgenommen werden muss wenn nicht gebraucht.

Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: drhirn am 08 November 2023, 15:52:19
Ist im Wiki: https://wiki.fhem.de/wiki/Ble2mqtt
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Gasmast3r am 11 November 2023, 19:25:29
Hy hab mir noch nen Alten Pi Zero nur für BLE2MQTT aufgestellt da ist mir aufgefallen wenn ich
--batterymaxage 0
eintrage ich keine BLE werte bekomme selbst MQTT-Explorer zeigt mir dann nix an außer
heartbeat = xxxxxxxxxxxx


und ich habe das Gefühl das er battery nicht richtig dem devicetopic zuordnet
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: PatrickR am 11 November 2023, 20:07:26
Zitat von: Gasmast3r am 11 November 2023, 19:25:29Hy hab mir noch nen Alten Pi Zero nur für BLE2MQTT aufgestellt da ist mir aufgefallen wenn ich
--batterymaxage 0
eintrage ich keine BLE werte bekomme selbst MQTT-Explorer zeigt mir dann nix an außer...
Erstelle doch mal bitte ein Log mit LOG_DEBUG. 5 Minuten sollten reichen

Patrick
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Gasmast3r am 12 November 2023, 09:26:24
Hy habe den Grund gefunden

--batterymaxage 0

darf nicht nach
--mac '(11:22:33:44:55:66|77:88:99:00:AA:BB)'>
stehen, wenn es davor steht klappt alles


Mein Pi 3 A+ mit Kiosk Modus (FTUI3) friert nach ein zwei tagen ein, und das erst seit dem ich BLE2MQTT drauf habe.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Wernieman am 12 November 2023, 10:46:31
Ist das ">" am Ende wirklich bei Dir drin? oder ein copy&paste Fehler??

Friert wirklich der Komplette Pi ein? Was sagt ping etc.? Und .. was steht in de üblichen Verdächtigen (kern.log/syslog)
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Gasmast3r am 12 November 2023, 12:25:48
Hy > ist ein Kopierfehler muss dabei mal mehr acht drauf geben  O:-)

er friert ein oder ist so überlastetet das ich kein SSH zugriff bekomme und die Uhr im FTUI stehenbleibt.

Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Wernieman am 12 November 2023, 14:46:32
Der Pi hat eine Grafische Oberfläche?
Und was steht zu der Zeit im kern.log/syslog?
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Gasmast3r am 12 November 2023, 16:20:15
ZitatDer Pi hat eine Grafische Oberfläche?

er läuft mit Raspbian Lite im Kiosk Modus (Midori Browser) also keine direkte Grafische Oberfläche.



laut Log lief er weiter, kann ich hier aber nicht einfügen, bekomme eine fehlermeldung
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Wernieman am 12 November 2023, 17:26:18
Was sagt syslog/kern.log?
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Gasmast3r am 12 November 2023, 17:52:43
Hier mal als Anhang mir sagt das alles nix
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Wernieman am 12 November 2023, 18:01:05
Nov 12 16:22:14 FTUI3 kernel: [ 3330.408408] w1_master_driver w1_bus_master1: Attaching one wire slave 00.fc0000000000 crc d7
Nov 12 16:22:40 FTUI3 kernel: [    0.000000] Linux version 6.1.58-v7+ (dom@buildbot) (arm-linux-gnueabihf-gcc-8 (Ubuntu/Linaro 8.4.0-3ubuntu1) 8.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1693 SMP Tue Oct 24 12:13:35 BST 2023
Hier gab es eine Donwtime von max. 26 sec.

Nov 12 15:18:20 FTUI3 kernel: [20883.928417] w1_master_driver w1_bus_master1: Family 0 for 00.708000000000.d7 is not registered.
Nov 12 15:16:53 FTUI3 kernel: [    0.000000] Booting Linux on physical CPU 0x0
Hier weiß ich es nicht, da es einen negativen Zeitsprung gab: 18:20->16:53 .. wie stellst Du die Uhr?

Nov 12 09:29:49 FTUI3 kernel: [  703.302781] w1_master_driver w1_bus_master1: Family 0 for 00.b00000000000.32 is not registered.
Nov 12 09:30:17 FTUI3 kernel: [    0.000000] Booting Linux on physical CPU 0x0
Hier wieder nur von 28 Sec. Wie hast Du geprüft, ob der Pi überhaupt noch läuft? Ich glaube, Du hast den laufenden pi einfach "abgeschaltet". ist übrigens eine gute Methode, die SD in den Himmel zu schicken (Sorry es so direkt sagen zu müssen)

Habe jetzt nicht weiter geschaut ...

- Da es am 12 Nov also mindestens 3 reboots gab, könntest Du gucken, wie sich innerhalb 1h die Cpu und Mem-Werte ändern?
- An andsere: Ist es normal, das I2C so häufig Meldungen ins kern.log schreibt? Mir sieht es nicht "gesund" aus ...
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Gasmast3r am 12 November 2023, 18:10:51
ZitatHier weiß ich es nicht, da es einen negativen Zeitsprung gab: 18:20->16:53 .. wie stellst Du die Uhr?

per FHEM denke ich oder System Vorgabe

ZitatHier wieder nur von 28 Sec. Wie hast Du geprüft, ob der Pi überhaupt noch läuft? Ich glaube, Du hast den laufenden pi einfach "abgeschaltet". ist übrigens eine gute Methode, die SD in den Himmel zu schicken (Sorry es so direkt sagen zu müssen)

keine Touch Eingabe möglich, keine SSH Verbindung möglich und per PasPi Check app auch kein Zugriff.

um 05:25 blieb die uhr stehen bis ich ihn um ca 09:00 Uhr vom Strom genommen habe.

Gegen 17:30 habe ich BLE2MQTT als Service deaktiviert und habe jetzt 18:08 eine Auslastung von 22%, Arbeitsspeicher 87% sind ja nur 512MB und Auslagerung Datei 47% bei 45,1°C@1400MHz
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Wernieman am 12 November 2023, 18:22:07
Arbeitsspeicher 87% sind ja nur 512MB und Auslagerung Datei 47%Ich vermute, Dir geht der Speicher aus. Grafik braucht viel Speicher .... nur finde ich kein oem killer

Und bist Du Dir sich mit "Uhr per Fhem"? Habe eben im syslog etwas von ntp gesehen ..

Ich glaube jetzt auch nicht, das der Pi einfach stehen bleibt, er schreibt schließlich fleißig Errormeldungen, er ist nur einffach nicht erreichbar.

Da ich hinten angefangen habe, sind mir folgende Meldungen um 5:XX entgangen (hier nur ein Beispiel von vielen):
Nov 12 05:46:32 FTUI3 kernel: [37968.050247] INFO: task kworker/2:3:9913 blocked for more than 122 seconds.
Nov 12 05:46:33 FTUI3 kernel: [37968.050283]       Tainted: G         C         6.1.58-v7+ #1693
Nov 12 05:46:33 FTUI3 kernel: [37968.050292] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Nov 12 05:46:33 FTUI3 kernel: [37968.050301] task:kworker/2:3     state:D stack:0     pid:9913  ppid:2      flags:0x00000000
Nov 12 05:46:33 FTUI3 kernel: [37968.050324] Workqueue: events_freezable mmc_rescan
Nov 12 05:46:33 FTUI3 kernel: [37968.050359]  __schedule from schedule+0x58/0xf0
Nov 12 05:46:33 FTUI3 kernel: [37968.050392]  schedule from __mmc_claim_host+0xc0/0x208
Nov 12 05:46:33 FTUI3 kernel: [37968.050417]  __mmc_claim_host from mmc_sd_detect+0x1c/0x74
Nov 12 05:46:33 FTUI3 kernel: [37968.050437]  mmc_sd_detect from mmc_rescan+0xa4/0x2e0
Nov 12 05:46:33 FTUI3 kernel: [37968.050458]  mmc_rescan from process_one_work+0x244/0x508
Nov 12 05:46:33 FTUI3 kernel: [37968.050484]  process_one_work from worker_thread+0x48/0x558
Nov 12 05:46:33 FTUI3 kernel: [37968.050508]  worker_thread from kthread+0xe4/0x100
Nov 12 05:46:33 FTUI3 kernel: [37968.050530]  kthread from ret_from_fork+0x14/0x30
Nov 12 05:46:33 FTUI3 kernel: [37968.050548] Exception stack(0x9ee25fb0 to 0x9ee25ff8)
Nov 12 05:46:33 FTUI3 kernel: [37968.050560] 5fa0:                                     00000000 00000000 00000000 00000000
Nov 12 05:46:33 FTUI3 kernel: [37968.050573] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Nov 12 05:46:33 FTUI3 kernel: [37968.050584] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
Könntest Du jetzt schon ein SDCard-Problem haben? Nur .. er schreibt schließlich weiter Logs .... sehr komisch ... könntest DU mir bitte mehr von der Hardware des Systems sagen?
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Gasmast3r am 12 November 2023, 18:35:12
Hy Ja ein
PI3 A+
10,1 Zoll Touch Display
per USB und HDMI

auf dem läuft Raspian 11 Lite im Kioskmodus mit Midori für FTUI 3

GPU mem 64MB

angebunden per Wlan

SD weis ich grad nicht

mehr läuft darauf nicht mehr.

BLE2MQTT läuft nun auf einem Zero PI der ersten gen mit einem Red Bear IoT pHAT for Raspberry Pi - WiFi + BTLE und da auch nur das bei 10% Auslastung.

kann sein das Kiosk und BLE2MQTT zu viel für den A+ sind.

Kiosk und lepresenced-0.93-1 liefen vorher Jahre zusammen ohne solche Probleme außer lepresenced-0.93-1 selber




Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Wernieman am 12 November 2023, 20:09:42
Wie schon erwähnt: Ich würde auf Speicher tippen. Wenn er jetzt schon 45% Swap verbraucht ...
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Gasmast3r am 22 November 2023, 19:25:33
Hy bekommt man

sudo cpan CPAN::DistnameInfo
sudo cpan Net::MQTT::Simple

auch wieder deinstalliert ??

Google hat mir da nicht wirklich geholfen
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: drhirn am 23 November 2023, 08:55:50
In dem du cpanminus installierst ;).
cpan App::cpanminuscpanm --uninstall Module::Name
Aber wozu? Stören ja nicht und sind winzig.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Gasmast3r am 24 November 2023, 19:35:32
Hab mir ein Neus kiosk System mit dem Pi 4 2Gb erstellt Ram sollte da kein Problem mehr werden. DANKE
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: FHEM_Starter am 31 Dezember 2023, 16:04:19
ein freundliches "Hallo" kurz vor dem Jahreswechsel,

ich habe alle meine Rasberries auf netzwerkboot umgestellt. Als Server dient dazu ein Debian 11, welches als VM auf einem Proxmox Server läuft. Das funktioniert bisher prima.

Nun ist mir jedoch aufgefallen, dass meine GTag Erkennung nicht mehr läuft  >:( 
Nach diversen Recherchen habe ich herausgefunden, dass sich der ble2mqttd daemon nicht mehr starten lässt. Im debug modus sieht man die Fehlermeldung: ... ble2mqttd is already running. Tatsächlich lief der jedoch nicht.

Ich habe dann mal die Zeile
error_exit(3, "ERROR: $ME is already running. Exiting.") if (!flock DATA, LOCK_EX | LOCK_NB);auskommentiert und siehe da: alles läuft wie erwartet.
Um ehrlich zu sein habe ich keine Ahnung, wofür DATA, LOCK_EX bzw. LOCK_NB benötigt wird. Denn ganz ohne Grund wird diese Abfrage ja nicht programmiert worden sein.

Möglicherweise kann der Entwickler hier ja erhellendes beitragen, eventuell ja sogar eine Version, die diesem Umstand berücksichtigt.

Euch allen jetzt einen guten Start ins Neue Jahr,
Gruß Wolfgang
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Ellert am 21 März 2024, 13:15:44
Ich benutze seit kurzem ble2mqttd. Es funktioniert bei mir problemlos.

Die Datei ist ein bisschen verstekt in #149 zu finden, auch im FHEM-Wiki gibt es keinen Hinweis.

Könnte die aktuelle ble2mqtt nicht ins contrib Verzeichnis?

Denn mit der stärkeren Verbreitung von Bookworm wird die Nachfrage sicherlich größer, wenn man sich die Zahl der Definitionen an sieht.

lan-bluetooth 296
lan-lepresenced 211
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: drhirn am 21 März 2024, 13:36:34
Ja, hab ich auch schon mal vorgeschlagen. Die Antwort von PatrickR war: https://forum.fhem.de/index.php?msg=1286119

Ich kann aber in der Zwischenzeit mal einen Hinweis im Wiki unterbringen.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: Ellert am 21 März 2024, 18:41:16
Ein Hinweis im Wiki kann schnell veraltet sein, wenn es eine neue Version in einem anderen Beitrag gibt. Da wäre ein festes Verzeichnis in contrib schöner.
Vielleicht contrib/BluetoothLowEnergy mit einer readme.txt, die auf den Thread und das Wiki verweist.

Oder in das in dem verlinkten Beitrag erwähnte GitHub/Lab, falls es existiert.
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: PatrickR am 23 März 2024, 00:26:30
@DrHirn, Ellert:
Ihr habt ja alle Recht :)

Habe ble2mqttd 0.15 jetzt direkt unter contrib eingescheckt, da ich aktuell nicht mehr als eine Datei benötige. Debian-Pakete werden daran scheitern, dass es einzelne Perl-Module nicht als Debian-Pakete und damit als potenzielle Dependencys gibt.

Patrick
Titel: Aw: ble2mqtt - Bluetooth Anwesenheitserkennung
Beitrag von: drhirn am 24 März 2024, 10:11:36
Super! Hab die Wiki-Seite dementsprechend geändert.