AlCalzone / ioBroker.ble

Monitor Bluetooth Low Energy beacons
MIT License
41 stars 15 forks source link

Ble Adapter aktualisiert Messwerte nach 18 - 30 h nicht mehr #391

Open Marty56 opened 4 years ago

Marty56 commented 4 years ago

Ich habe einen Xiaomi Flora Care. Auf meinem Raspberry 3 habe ich den BLE Adapter installiert. Der BLE Adapter hat den Flora Care sofort erkannt, hört aber nach 18-30 Std auf, die Werte vom Sensor zu aktualisieren. Wenn ich den BLE Adapter neu starte, funktioniert es wieder. Nach Neustart des Raspberries werden die Werte auch erst aktualisiert, wenn ich den BLE Adapter manuell neu starte.

Im Log gibt es keine Fehler oder Hinweise. Der BLE Adapter steht auf grün und connection auf true und driverState auf powerON.

AlCalzone commented 4 years ago

Um hier irgendwas erkennen zu können, benötige ich einen Log mit Loglevel "debug", in dem dieser Zeitraum abgedeckt ist (Achtung, kann recht groß werden!).

Marty56 commented 4 years ago

Ich habe 'debug' probehalber eingestellt. Allerdings werden so viele Daten erzeugt, dass ich vermute, dass die SSD meines Raspberries nicht ausreichend Kapazität dafür hat. Das ist also nicht praktikabel. Ich müsste also das log auf mein NAS umleiten. Vielleicht mache ich das irgendwann mal.

Ich habe jetzt einen Workaround, dass ich per Script die Änderung des RSSI Werts überprüfe und wenn der RSSI Wert sich nicht innerhalb von 10 Minuten upgedatet hat, dann starte ich - auch per Script - den Adapter neu.

Marty56 commented 4 years ago

Ich habe die Umleitung auf mein NAS gemacht. Es werden pro Minute knapp 1 MB log Daten erzeugt. Bei 24 h würde ich als 1,4 GB log Daten erwarten. Sollte kein Problem für mein Nas sein. See you in 24 h.

PS: Nach ca. 1-2 Minuten werden deutlich weniger log Daten erzeugt und ich sehe nur noch

       
ble.0 2020-04-26 08:52:02.145 debug (11085) system.adapter.admin.0: logging true
ble.0 2020-04-26 08:51:27.569 debug (11085) system.adapter.admin.0: logging false
ble.0 2020-04-26 08:50:56.577 debug (11085) system.adapter.admin.0: logging true
ble.0 2020-04-26 08:49:30.536 debug (11085) system.adapter.admin.0: logging false

Bringt es was, wenn ich diese Daten übermittle. Der Ble Adapter hat in dieser Zeit das Fehlerbild nicht gezeigt.

Es scheint, dass der Adapter jetzt doch den RSSI Wert nicht mehr updatet. Ich habe das Logfile deshalb angefügt. iobroker.2020-04-26.log

AlCalzone commented 4 years ago

Ich habe mal bei den Maintainern von noble nachgefragt, da ich vermute, dass der Fehler dort liegt. Ich glaube weitere Daten brauche ich nicht, dein kurzer Log zeigt das Problem schon.

harrym67 commented 4 years ago

ich häng mich hier mal dazu. Ich hab ne MiBand 4 die auch beim ersten Start erkannt wird und RSSI daten liefert. Allerdings nur einmal. Im Log sehe ich, dass der BLE Adapter den Scan aktiviert und wieder deaktiviert. Die RSSI Daten vom MiBand werden aber nicht aktualisiert.

Stoppen vom Adapter, 10 min warten, Adapter neu starten ..... Daten kommen sofort wieder.

AlCalzone commented 4 years ago

und wieder deaktiviert

Woran erkennst du das?

mrsmarthome commented 3 years ago

Hallo, ich hatte/habe ein vergleichbares Problem: ich habe am 02.01.2021 angefangen mein RaspberryPi 4 mit den Aufgaben der Heizungssteuerung zu versehen, habe aber um ehrlich zu sein wenig bis keine Ahnung vom Programmieren bzw. von Raspbian. Ich konnte bis gestern Abend noch meine Heizungssteuerung laufen lassen, heute morgen ist mir dann aufgefallen, dass der BLE Adapter keine aktuellen Werte mehr einliest, obwohl die Geräte in der Nähe sind und funktionieren.

Zu meiner Schande muss ich zugeben, dass ich gestern oder vorgestern diverse Packages und Adapter geupdatet habe, warum weiß ich um ehrlich zu sein nicht.

Leider weiß ich auch nicht genau, wie ich ein Debug Log erstelle bzw. wo ich ein entsprechendes finde, damit ich es mir entweder mal selbst ansehen könnte oder aber @AlCalzone zur Verfügung stellen könnte.

Kann mir hier jemand helfen?

AlCalzone commented 3 years ago

Du kannst bei aktiviertem Expertenmodus in der Instanzen-Liste das Loglevel ändern

mrsmarthome commented 3 years ago

okay, das habe ich jetzt gemacht, mir ist das nichts aufgefallen. Vielleicht könntest Du @AlCalzone mal reinsehen? iobroker.2021-01-12.log.txt

AlCalzone commented 3 years ago
2021-01-12 14:49:15.354 - debug: ble.0 (4136) xiaomi >> got data: 50305b05fa2776a938c1a40d1004b7001a02
2021-01-12 14:49:15.355 - debug: ble.0 (4136) xiaomi >> got humidity update => 53.8
2021-01-12 14:49:15.356 - debug: ble.0 (4136) xiaomi >> got temperature update => 18.3
2021-01-12 14:49:15.358 - debug: ble.0 (4136) a4:c1:38:a9:76:27 > got values: {"humidity":53.8,"temperature":18.3}
2021-01-12 14:49:15.358 - debug: ble.0 (4136) setting state ble.0.a4:c1:38:a9:76:27.humidity
2021-01-12 14:49:15.363 - debug: ble.0 (4136) setting state ble.0.a4:c1:38:a9:76:27.temperature

Den logs nach zu urteilen kommt da was rein

mrsmarthome commented 3 years ago

Ja, aber nur bei diesem Objekt (das ist ein Xiaomi Temperatur/Feuchtigkeitssensor der zweiten Generation). Die anderen sehen folgendermaßen aus: übersicht über objekte

AlCalzone commented 3 years ago

Joar, von denen wird rein gar nichts empfangen. Könnte vieles sein... Empfangsprobleme, ein anderer Adapter (RADAR), der ggf. dazwischen funkt, eine fehlerhafte bluetooth-Firmware des Pi 4

mrsmarthome commented 3 years ago

aber das hatte gestern noch funktioniert und der Sensor ist ca. 10cm entfernt, also daran sollte es nicht liegen... Update: mir ist gerade beim restart des BLE Adapters aufgefallen, dass der Adapter "nur" nach Services mit Kennung "fe95" sucht, wohingegen die nicht aktualisierten andere haben: übersicht services

ich habe die "181a" jetzt händisch in den Einstellungen der BLE Instanz als überwachten Wert hinzugefügt, und siehe da, jetzt geht es. Jetzt frage ich mich, warum es plötzlich nicht mehr funktioniert hatte, bzw. sich die Service ID geändert hat/der Adapter nicht mehr danach gesucht hat...

AlCalzone commented 3 years ago

🤷🏻‍♂️

mrsmarthome commented 3 years ago

okay, ich hatte mich gestern Abend wohl zu früh gefreut. Der Adapter erkennt jetzt zumindest den anderen Sensor, aktualisiert jedoch nur die Einträge rssi und services, die "wichtigen" Daten bleiben immer noch auf dem alten Wert bestehen. Ich habe auch ein neues debug Logfile erstellt, vielleicht hilft es Dir weiter: iobroker.2021-01-13.log - lang.txt

Der Sensor, der noch Werte liefert, hat auch immer wieder den Eintrag "xiaomi >> got data". Bei dem anderen passiert das nicht, warum weiß ich nicht?

im angefügten Screenshot ist mir auch noch aufgefallen, dass im Vergleich zu dem Sensor, dessen Werte aktualisiert werden, die Werte des nicht aktualisierten Sensors von einem anderen "user" geschrieben werden: übersicht user

AlCalzone commented 3 years ago

Laufen die ggf. unter einer custom firmware?

mrsmarthome commented 3 years ago

ja, also die "neuen" Sensoren sind eckig (Modellname: LYWSD03MMC) und die Daten sind verschlüsselt. Man kann sie über die XiaomiHome App oder so aktivieren, aber ich glaube, dass man die Daten dann auch nur in der App sieht und die Sensoren ihre Daten immer noch verschlüsselt versenden.

Ich habe auf Youtube eine Anleitung (hier: https://www.youtube.com/watch?v=NXKzFG61lNs)gefunden, mit der man die Dinger encrypten kann, das habe ich auch bei beiden Sensoren gemacht. Der Sensor, der jetzt noch Werte liefert, hatte jedoch irgendwie Probleme beim flashen gemacht, aber nach ein paar mal neustarten, hat er Werte an BLE übertragen.