NEWS
Xiaomi BLE Adapter aktualisiert Werte unregelmäßig
-
Guten Abend, ich versuche seit einigen Abenden ein paar Xiaomi (LYWSD03MMC) Temperatur- und Feuchtesensoren mit dem iobroker zu verbinden. Die Sensoren sind mit einer custom firmeware nach https://www.youtube.com/watch?v=NXKzFG61lNs&ab_channel=AaronChristophel
geflasht und liefern eigentlich auch Daten an den ioborker. Leider aber unregelmäßig. Etwa 3-4 mal am Tag werden für einige Minuten die Messdaten aktualisiert und dann dauert es wieder Stunden bis Messwerte kommen.
Nach der debug Ausgabe des ble-Adapters werden auch Temperaturdaten empfangen, diese jedoch nicht immer mit neuem Zeitstempel in den iobroker übertragen. Wenn der ble Adapter neu gestartet wird werden wieder Messdaten empfangen. Ein Neustart ist aber nicht zwangsläufig erforderlich, dass Messdaten empfangen werden...Der broker läuft auf einem alten Notebook in einer VM mit der Node Version 14.17.5. Hatte vorher mit Version 12 das gleiche Problem
Bin noch Frischling und wäre für jede Hilfe dankbar
-
@ben_vonh der Adapter lauscht nur, wenn dein Sensor nichts sendet, kann der Adapter auch nichts empfangen.
Es kommt auf den Sensor an, ab wann eine Änderung gesendet wird. Denke nicht das z.b. eine Änderung von 0.05 Grad gesendet wird.
Auch hält sich ja die Temperatur/Luftfeuchtigkeit ne gewisse Zeit. -
@crunchip danke für deine Rückmeldung. Ich glaube nicht das es an den Sensoren liegt. Hier ist eine Auswertung von 3 Temperatursensoren und einem flower-care Sensor. Es ist ja recht unwahrscheinlich, dass alle Sensoren immer Zeitgleich das mit dem Senden aufhören.
Scheinbar werden nicht alle Werte werden an die Objekte weitergegeben:
Siehe Bild:
Macht eine Neuinstallation des Io-brokers Sinn, oder gibt es sowas wie eine debug Routine die man drüber laufen lassen könnte?
Vielleicht hab ich bei der Systeminstallation irgendwo einen Fehler gemacht... -
@ben_vonh um 22:00:52 war die letzte Änderung, dein screen 8 min später, passt doch
-
@ben_vonh sagte in Xiaomi BLE Adapter aktualisiert Werte unregelmäßig:
Zeitgleich das mit dem Senden aufhören
Das ist allerdings nicht normal
Naja neu installieren musst deswegen nicht.
Nimm dir doch mal einen der Sensoren zur Hand und öffne die History z.b der Temp.
Dann hauchst den Sensor an, oder nimmst nen Fön, dann sollte sich der DP ja ändern.
Welche Adapterversion hast du laufen?Ansonsten liegt es eventuell an der Firmware.
Guck mal Hier -
Ich hab den Code grade nicht vor Augen, aber ich glaube BLE speichert nur Änderungen (mit
setStateChanged
). Andernfalls würde jeder Sensor alle 300ms einen Wert speichern (mit Pausen, wenn ein anderer gesendet wird), was unnötige Last ins System einbringt. -
die Anleitung in hinter dem Link habe ich befolgt.
Auf dem Display werden andere Temperaturen und Feuchtigkeiten angezeigt wie die letzte Messung des Iobrokers ausgibt. Wenn ich den Adapter Neustart und gezielt die Temperatur eines Sensors ändere werden die Daten aktualisiert. Wenn ich dann eine Stunde oder so später wieder schaue kommen keine neuen Änderungen mehr rein.
Wie kann ich auf die History bzw. das Temp Verzeichnis der Sensoren zugreifen?
ble Adapterversion ist die 0.12.0
Die Systemdaten hatte ich beim ersten Post vergessen, sry.
Systemdata Bitte Ausfüllen Hardwaresystem: Lenovo W510. Arbeitsspeicher: 4GB (VM) Festplattenart: SSD Betriebssystem: Proxmox VM - Ubuntu 20.04 LTS Node-Version: 14.17.5 Nodejs-Version: * NPM-Version: 6.14.14 Installationsart: Skript Image genutzt: Nein *nodejs -v bringt die Meldung „Command not found“. In der Iobroker Oberfläche wird allerdings 14.17.5 angezeigt.
-
@ben_vonh sagte in Xiaomi BLE Adapter aktualisiert Werte unregelmäßig:
Wenn ich dann eine Stunde oder so später wieder schaue kommen keine neuen Änderungen mehr rein.
Hmm, dann liegt das vermutlich entweder an der Bluetooth Hardware oder der
noble
library. Letztere ist leider sehr instabil. Der Adapter versucht das schon mit einem extra Scanner-Prozess zu beheben, der bei Fehlern neu gestartet wird, aber scheinbar stoppt die Library hier ganz still. Ich habe mal https://github.com/AlCalzone/ioBroker.ble/issues/643 aufgemacht, dass in dem Fall das Scannen neu gestartet werden kann. -
@ben_vonh sagte in Xiaomi BLE Adapter aktualisiert Werte unregelmäßig:
Wie kann ich auf die History bzw. das Temp Verzeichnis der Sensoren zugreifen?
Na du loggst doch die Datenpunkte für Grafana,
-
Achso, ja die Grafen sind dann ja quasi der blick die History.
Ich habe im ble Adapter mal einen automatischen reboot von 5 Minuten eingestellt. Nun werden Seit 3 Stunden konstant Werte geliefert.
Das gefälltAm Freitag teste ich mal mit einen anderen bluetooth Stick, vielleicht funktioniert es dann auch ohne die reboot schleife.
@AlCalzone Heißt der github Eintrag, dass diese Ergänzung in einem Patch aufgenommen wird, oder wie kann ich mir das vorstellen?
-
@ben_vonh Genau. Kann aber noch nicht garantieren, wann.
-
@ben_vonh sagte in Xiaomi BLE Adapter aktualisiert Werte unregelmäßig:
Achso, ja die Grafen sind dann ja quasi der blick die History.
ich meinte eigentlich in iobroker direkt, wenn du (admin5 bereits nutzt) einfach bei deinem entsprechendem DP rechts auf das Zahnrad gehst, dort siehst du die Verlaufsdaten
-
Ah, gefunden! Das ist ja schick. Mit der reboot variante passten die Werte auch ganz gut.
Danke für eure Hilfe.Leider konnte ich den neuen bluetooth 5.0 stick nicht ohne weiteres zum laufen bringen. Ist aber scheinbar eher ein Ubuntu 20.04 Problem.
Habe es jetzt nur rudimentär gegoogled, weiß jemand einen günstigen 5.0 Stick der direkt funktioniert?