NEWS
BLE-Adapter bleibt gelb ( trotz node.js 6.14.3 )
-
Hallo,
habe leider auch ein Problem mit dem Ble-Adapter.
Der Adapter lief eigentlich fast 6 Monate problemlos, Xiaomi Pflanzensensoren wurden problemlos erkannt,
musste allerdings den PI alle 3-4 Wochen neustarten,da der Adapter auf "gelb" geschaltet hat und durch
nichts anderes als ein Neustart wieder zum "grün" zu bewegen war.
Nach Update auf u.a. Admin 3 vor knapp 4 Wochen hat es sich aber extrem verschlechtert,
der Adapter schaltet alle 2-3 Tage auf gelb.
folgendes habe ich bereits ohne Verbesserung probiert, wenn der Adapter auf "gelb" schaltet:
-
Adapter neustarten
-
Iobroker neustarten
-
npm install bluetooth-hci-socket
nach einem Neustart ist wieder alles okay (für wenige Tage)
hat jemand eine Idee oder einen Tip, was ich noch probieren kann?
Alle 2 Tage den Pi neustarten, nur um die Daten vom Pflanzensensor zu bekommen, nervt ein wenig :roll:
Pi3
Node.js: v6.14.3
NPM: 3.10.10
Admin:3.5.1
BLE: 0.5.2
Bin für jede Hilfe dankbar.
-
-
Was sagt denn das log so wenn er gelb wird?
Gesendet vom Handy …
-
im "normalen" Log war keine Fehlermeldung, habe jetzt mal den Adapter auf "Debug" gesetzt,
den Pi neugestartet und warte jetzt, dass der Adapter wieder "gelb" wird.
-
Hast du noch andere Dinge laufen, die möglicherweise die Bluetooth-Schnittstelle an sich reißen? Radar-Adapter, Bluetooth-Skripte, etc…?
Statt einem Reboot kannst du auch den Bluetooth-Stack neu starten:
sudo hciconfig hci0 reset
oder
sudo hciconfig hci0 down sudo hciconfig hci0 up
Das könnte man bei regelmäßigen Problemen auch automatisch per Skript machen, wenn der Zustand des Adapters von grün auf gelb wechselt. Besser ist es aber, die Ursache zu finden.
-
So, jetzt hat der BLE Adapter wieder keine Lust mehr, folgende Fehlermeldung laut LOG:
`2018-09-21 16:55:45.008 - [31merror[39m: ble.0 uncaught exception: Index out of range 2018-09-21 16:55:45.072 - [31merror[39m: Caught by controller[0]: RangeError: Index out of range 2018-09-21 16:55:45.078 - [31merror[39m: Caught by controller[0]: at checkOffset (buffer.js:831:11) 2018-09-21 16:55:45.079 - [31merror[39m: Caught by controller[0]: at Buffer.readUInt16LE (buffer.js:877:5) 2018-09-21 16:55:45.079 - [31merror[39m: Caught by controller[0]: at Gap.onHciLeAdvertisingReport (/opt/iobroker/node_modules/noble/lib/hci-socket/gap.js:149:31) 2018-09-21 16:55:45.080 - [31merror[39m: Caught by controller[0]: at emitMany (events.js:127:13) 2018-09-21 16:55:45.080 - [31merror[39m: Caught by controller[0]: at Hci.emit (events.js:201:7) 2018-09-21 16:55:45.080 - [31merror[39m: Caught by controller[0]: at Hci.processLeAdvertisingReport (/opt/iobroker/node_modules/noble/lib/hci-socket/hci.js:651:10) 2018-09-21 16:55:45.080 - [31merror[39m: Caught by controller[0]: at Hci.processLeMetaEvent (/opt/iobroker/node_modules/noble/lib/hci-socket/hci.js:608:10) 2018-09-21 16:55:45.080 - [31merror[39m: Caught by controller[0]: at Hci.onSocketData (/opt/iobroker/node_modules/noble/lib/hci-socket/hci.js:479:12) 2018-09-21 16:55:45.080 - [31merror[39m: Caught by controller[0]: at emitOne (events.js:96:13) 2018-09-21 16:55:45.081 - [31merror[39m: Caught by controller[0]: at BluetoothHciSocket.emit (events.js:188:7) 2018-09-21 16:55:45.081 - [31merror[39m: host.raspberrypi instance system.adapter.ble.0 terminated with code 1 () 2018-09-21 16:55:45.081 - [32minfo[39m: host.raspberrypi Restart adapter system.adapter.ble.0 because enabled 2018-09-21 16:56:15.157 - [32minfo[39m: host.raspberrypi instance system.adapter.ble.0 started with pid 16367 2018-09-21 16:56:16.450 - [34mdebug[39m: ble.0 objectDB connected 2018-09-21 16:56:16.557 - [34mdebug[39m: ble.0 statesDB connected 2018-09-21 16:56:16.696 - [32minfo[39m: ble.0 starting. Version 0.5.2 in /opt/iobroker/node_modules/iobroker.ble, node: v6.14.3 2018-09-21 16:56:16.750 - [32minfo[39m: ble.0 loaded plugins: Xiaomi, mi-flora, ruuvi-tag, _default 2018-09-21 16:56:16.752 - [32minfo[39m: ble.0 enabled plugins: Xiaomi, _default 2018-09-21 16:56:16.756 - [32minfo[39m: ble.0 monitored services: fe95 [/code]` Er scheint sich auch wieder zu restarten, bleibt aber "gelb", die gleiche Meldung kommt, wenn ich ihn restarte, wenn er gelb ist. Andere Dienste, die auf die Bluetooth Schnittstelle zugreifen oder Scripte habe ich nicht am Laufen. Restart der Schnittstelle funktioniert leider auch nicht: `~~[code]~~ sudo hciconfig hci0 reset Can't init device hci0: Connection timed out (110) sudo hciconfig hci0 down sudo hciconfig hci0 up Can't init device hci0: Connection timed out (110) [/code]` scheint als würde die Schnittstelle komplett hängen bleiben. Die Frage ist nur, warum es erst seit dem Update von Npm usw. häufiger passiert. Bin für jede Hilfe dankbar. Grüße
-
scheint ein ähnliches Problem zu haben