NEWS
Pi 3 als Bluetooth LE Scanner (Beispielscript)
- 
					
					
					
					
 Hallo ruhr70, Danke für das Riesenskript! Habe das Skript heute installiert: Mac mini mit El Capitan, xcode vorhanden. Zuerst wollte es nicht, aber dann habe ich Bluetooth über die Menüzeile einmal aus und wieder eingeschaltet. Der Scan wurde sofort erledigt. Habe dann erstmal meinen Haushalt nach BT-Geräten durchsucht :lol: Ergebnis: - 
Pulse H7 Pulsmesser: funktioniert super 
- 
Withings Activitee Pop: bisher keine Reaktion 
- 
iPhone 5s/6s: bisher keine Reaktion 
- 
iMac im Nebenraum: nach dem einfachen Öffnen der Systemeinstellungen sichtbar, allerdings falsche Entfernungsangabe (6.12m, tatsächlich ca. 2m). Das ist aber egal, da Scanner und iMac ja stationär. 
 Manchmal allerdings kommt noch eine Fehlermeldung: ! ```` 
 2016-05-01 17:12:04.128 - error: message javascript.2.Bluetooth.Control_ScanOn [object Object] Could not start scanning, state is unknown (not poweredOn)
 2016-05-01 17:12:04.135 - error: Error: Could not start scanning, state is unknown (not poweredOn)
 at Noble.startScanning (/Users/pix/Documents/iobroker/node_modules/iobroker.javascript/node_modules/noble/lib/noble.js:71:17)
 at startScan (script.js.Test.BluetoothScanner:1684:11)
 at Object. <anonymous>(script.js.Test.BluetoothScanner:2061:13)
 at Object.subs.callback (/Users/pix/Documents/iobroker/node_modules/iobroker.javascript/javascript.js:1206:48)
 at /Users/pix/Documents/iobroker/node_modules/iobroker.javascript/javascript.js:541:48
 at getObjectEnums (/Users/pix/Documents/iobroker/node_modules/iobroker.javascript/javascript.js:2455:45)
 at checkPatterns (/Users/pix/Documents/iobroker/node_modules/iobroker.javascript/javascript.js:537:17)
 at Object.utils.adapter.stateChange (/Users/pix/Documents/iobroker/node_modules/iobroker.javascript/javascript.js:215:17)
 at Object.that.states.States.change (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1942:80)
 at Socket. <anonymous>(/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
 at Socket.Emitter.emit (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20)
 at Socket.onevent (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:254:10)
 at Socket.onpacket (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:212:12)
 at Manager. <anonymous>(/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
 at Manager.Emitter.emit (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20)
 at Manager.ondecoded (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:301:8)
 at Decoder. <anonymous>(/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
 at Decoder.Emitter.emit (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20)
 at Decoder.add (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/index.js:247:12)
 at Manager.ondata (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:291:16)
 at Socket. <anonymous>(/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
 at Socket.Emitter.emit (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20)
 at Socket.onPacket (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/socket.js:430:14)
 at WS. <anonymous>(/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/socket.js:248:10)
 at WS.Emitter.emit (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20)
 at WS.Transport.onPacket (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/transport.js:147:8)
 at WS.Transport.onData (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/transport.js:139:8)
 at WebSocket.ws.onmessage (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/websocket.js:112:10)
 at WebSocket.onMessage (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/WebSocket.js:418:14)
 at emitTwo (events.js:87:13)
 at WebSocket.emit (events.js:172:7)
 at Receiver.ontext (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/WebSocket.js:816:10)
 at /Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Receiver.js:477:18
 at /Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Receiver.js:361:7
 at /Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/PerMessageDeflate.js:221:5
 at afterWrite (_stream_writable.js:346:3)
 at onwrite (_stream_writable.js:337:7)
 at WritableState.onwrite (_stream_writable.js:89:5)
 at afterTransform (_stream_transform.js:79:5)
 at TransformState.afterTransform (_stream_transform.js:54:12)
 at Zlib.callback (zlib.js:614:5)
 ! 2016-05-01 17:12:04.250 - info: javascript.2 script.js.Test.BluetoothScanner: warn: noble new state: poweredOn
 2016-05-01 17:12:04.262 - info: javascript.2 script.js.Test.BluetoothScanner: Kommando Bluetooth Scanner an: true
 2016-05-01 17:12:04.264 - info: javascript.2 script.js.Test.BluetoothScanner: debug1: ####### start scanning - Durchlauf (2) #######
 2016-05-01 17:12:14.264 - info: javascript.2 script.js.Test.BluetoothScanner: debug2: Bluetooth Scan 2 OK. Devices gescannt: 0, davon neu: 0 / Devices in DB: 2, davon nicht erreichbar: 2</anonymous></anonymous></anonymous></anonymous></anonymous></anonymous>oder hier, wenn man einen Channel manuel im Reiter Objekte löscht, wird er bei erneueter Suche nicht neu angelegt. >! ```` 2, davon nicht erreichbar: 2 2016-05-01 17:13:52.602 - info: javascript.2 script.js.Test.BluetoothScanner: debug2: Devices in Datenbank: 5d6fcb8d66a7479390faa7fbe65c87b9,8c4bd525643f4341badb096548c4de2a 2016-05-01 17:13:52.603 - warn: javascript.2 State "Bluetooth.Device.8c4bd525643f4341badb096548c4de2a.lastState" not found 2016-05-01 17:13:52.603 - warn: javascript.2 State "Bluetooth.Device.8c4bd525643f4341badb096548c4de2a.lastStateCount" not found 2016-05-01 17:13:52.605 - error: uncaught exception: Cannot read property 'val' of null 2016-05-01 17:13:52.609 - error: TypeError: Cannot read property 'val' of null at nichtErreichbar (script.js.Test.BluetoothScanner:1572:106) at Object.stopScan (script.js.Test.BluetoothScanner:1717:9) at null. <anonymous>(/Users/pix/Documents/iobroker/node_modules/iobroker.javascript/javascript.js:1720:44) at Timer.listOnTimeout (timers.js:92:15) 2016-05-01 17:13:52.624 - info: javascript.2 script.js.Test.BluetoothScanner: debug2: Bluetooth Scan 2 OK. Devices gescannt: 0, davon neu: 0 / Devices in DB: 2, davon nicht erreichbar: 2 2016-05-01 17:13:52.625 - info: javascript.2 script.js.Test.BluetoothScanner: debug2: Devices in Datenbank: 5d6fcb8d66a7479390faa7fbe65c87b9,8c4bd525643f4341badb096548c4de2a 2016-05-01 17:13:52.626 - warn: javascript.2 State "Bluetooth.Device.8c4bd525643f4341badb096548c4de2a.lastState" not found 2016-05-01 17:13:52.626 - warn: javascript.2 State "Bluetooth.Device.8c4bd525643f4341badb096548c4de2a.lastStateCount" not found 2016-05-01 17:13:52.626 - error: uncaught exception: Cannot read property 'val' of null 2016-05-01 17:13:52.627 - error: TypeError: Cannot read property 'val' of null at nichtErreichbar (script.js.Test.BluetoothScanner:1572:106) at Object.stopScan (script.js.Test.BluetoothScanner:1717:9) at null. <anonymous>(/Users/pix/Documents/iobroker/node_modules/iobroker.javascript/javascript.js:1720:44) at Timer.listOnTimeout (timers.js:92:15)</anonymous></anonymous>- 
Also Skript gestoppt. 
- 
ALLE OBjekte (ganzen Baum Bluetooth) gelöscht. 
- 
Skript gestartet. 
- 
40 Scans ohne Ergebnis abgewartet. 
- 
Dann am Scanner BT wieder aus/eingeschaltet. 
- 
Noble meldet wieder state ON, findet aber keine Devices. 
- 
Bei Scan 60 BT-Systemeintellungen vom Client iMac geöffnet 
- 
Bluetooth Verbindung iMac <-> mac Mini (Scanner) hergestellt, aber weiter Device nicht gefunden 
- 
Skript gestoppt. 
- 
Bluetooth am Scanner-Rechner ausgeschaltet. Noble meldet poeweredOff -> Spooky, da Skript ja gestoppt. Kommt wohl vom node-modul :roll: 
- 
BT wieder ein, Skript wieder gestartet 
- 
Scan ok, aber keine Geräte gefunden. 
- 
OK, also mal das Skript auf Instanz 1 verschoben und vorher noble in Javaskript.1-Einstellungen gesetzt. 
- 
Skript läuft in Instanz 1 an 
- 
BT am Scanner Rechner wieder ausgeschaltet und jetzt meldet auf einmal wieder das Skript von Instanz 2, dass BT aus ist. Aber das Skript läuft doch gar nicht mehr? ! 2016-05-01 17:40:02.101 - info: javascript.1 script.js.Test.BluetoothScanner: warn: noble new state: poweredOff 2016-05-01 17:40:02.101 - info: javascript.2 script.js.Test.BluetoothScanner: warn: noble new state: poweredOff 2016-05-01 17:40:02.102 - warn: javascript.2 State "Bluetooth.InfoSkript.Status_noble" not found 2016-05-01 17:40:02.102 - warn: javascript.2 State "Bluetooth.Control_ScanOn" not found 2016-05-01 17:40:02.102 - info: javascript.2 script.js.Test.BluetoothScanner: warn: noble new state: poweredOff 2016-05-01 17:40:02.102 - warn: javascript.2 State "Bluetooth.InfoSkript.Status_noble" not found 2016-05-01 17:40:02.102 - warn: javascript.2 State "Bluetooth.Control_ScanOn" not found 2016-05-01 17:40:02.103 - info: javascript.2 script.js.Test.BluetoothScanner: warn: noble new state: poweredOff 2016-05-01 17:40:02.103 - warn: javascript.2 State "Bluetooth.InfoSkript.Status_noble" not found 2016-05-01 17:40:02.103 - warn: javascript.2 State "Bluetooth.Control_ScanOn" not found 2016-05-01 17:40:02.114 - info: javascript.1 script.js.Test.BluetoothScanner: Kommando Bluetooth Scanner an: false !
- 
ioBroker neugestartet. 
- 
Skript läuft an, aber BT ist ja noch aus. 
- 
BT wieder eingeschaltet (am Scanner Rechner), Skript läuft, findet aber wieder keine Devices. 
- 
Ich breche ab 
 Leider wurde keines der BT-Geräte mehr gefunden.
 Ausserdem stört mich die Logs-Geschichte. Ich sehe meine Log Datei mit der OS X Konsole an. Da werden eh keine Farben dargestellt. Ich wünscht mir dafür eine Option, das Loggen auf Standard zu setzen. Das jeder Scan geloggt wird, lässt das Logfile auch unnötig wachsen. Auch da wünschte ich mir mehr Kontrolle. Vielleicht bekomme ichs ja wieder hin. Auf deinen Hinweis, habe ich mir mal diese Mi-Armbänder angesehen. Die scheinen genau richtig für meine Anwendung zu sein (Anwesenheit). Kannst du die wirklich empfehlen? Gruß Pix 
- 
- 
					
					
					
					
 Ich glaubs ja nicht: Mein mac mini BT-Scanner wurde durch das AppleTV III, welches direkt daneben steht, gestört. Apple TV stromlos, mac mini Scanner läuft. :lol: Gruß Pix 
- 
					
					
					
					
 Finde das Skript auch interessant. Nachdem ich nach wie vor keine AHnung habe, hab ich es in ioBroker kopiert und gestartet. Prompt gab es eine Fehler meldung: ! ```` 
 javascript-0 2016-05-01 16:10:50 error WARN optional dep failed, continuing usb@1.1.2
 javascript-0 2016-05-01 16:10:50 error npm
 javascript-0 2016-05-01 16:10:50 error node-pre-gyp ERR! not ok
 javascript-0 2016-05-01 16:10:50 error node-pre-gyp ERR! node-pre-gyp -v v0.6.24
 javascript-0 2016-05-01 16:10:50 error node-pre-gyp ERR! node -v v4.4.3
 javascript-0 2016-05-01 16:10:50 error node-pre-gyp ERR! cwd /opt/iobroker/node_modules/iobroker.javascript/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb
 javascript-0 2016-05-01 16:10:50 error node-pre-gyp ERR! command "/usr/bin/nodejs" "/opt/iobroker/node_modules/iobroker.javascript/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/node_modules/.bin/node-pre-gyp" "inst
 javascript-0 2016-05-01 16:10:50 error node-pre-gyp ERR! System Linux 4.4.7-v7+
 javascript-0 2016-05-01 16:10:50 error node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
 javascript-0 2016-05-01 16:10:50 error ERR! stack at maybeClose (internal/child_process.js:827:16)
 javascript-0 2016-05-01 16:10:50 error node-pre-gyp
 javascript-0 2016-05-01 16:10:50 error node-pre-gyp ERR! stack at ChildProcess.emit (events.js:172:7)
 javascript-0 2016-05-01 16:10:50 error node-pre-gyp ERR! stack at emitTwo (events.js:87:13)
 javascript-0 2016-05-01 16:10:50 error node-pre-gyp ERR! stack at ChildProcess. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb/node_modules/node-pre-gyp
 javascript-0 2016-05-01 16:10:50 error node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/nodejs /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/opt/iobroker/node_modules/iobroke
 javascript-0 2016-05-01 16:10:50 error node-pre-gyp ERR! build error
 javascript-0 2016-05-01 16:10:50 error gyp ERR! not ok
 javascript-0 2016-05-01 16:10:50 error gyp ERR! node-gyp -v v3.3.1
 javascript-0 2016-05-01 16:10:50 error gyp ERR! node -v v4.4.3
 javascript-0 2016-05-01 16:10:50 error gyp ERR! cwd /opt/iobroker/node_modules/iobroker.javascript/node_modules/noble/node_modules/bluetooth-hci-socket/node_modules/usb
 javascript-0 2016-05-01 16:10:50 error gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/opt/iobroker/node_modules/iobroker.javascript/node_modules
 javascript-0 2016-05-01 16:10:50 error gyp ERR! System Linux 4.4.7-v7+
 javascript-0 2016-05-01 16:10:50 error gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
 javascript-0 2016-05-01 16:10:50 error gyp ERR! stack at ChildProcess.emit (events.js:172:7)
 javascript-0 2016-05-01 16:10:50 error gyp ERR! stack at emitTwo (events.js:87:13)
 javascript-0 2016-05-01 16:10:50 error gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
 javascript-0 2016-05-01 16:10:50 error stack Error:makefailed with exit code: 2
 javascript-0 2016-05-01 16:10:50 error ERR!
 javascript-0 2016-05-01 16:10:50 error
 javascript-0 2016-05-01 16:10:50 error gyp
 javascript-0 2016-05-01 16:10:50 error gyp ERR! build error
 javascript-0 2016-05-01 16:10:50 error make: *** [Release/obj.target/libusb/libusb/libusb/os/linux_udev.o] Error 1
 javascript-0 2016-05-01 16:10:50 error compilation terminated.
 javascript-0 2016-05-01 16:10:50 error ^
 javascript-0 2016-05-01 16:10:50 error #include
 javascript-0 2016-05-01 16:10:50 error ../libusb/libusb/os/linux_udev.c:40:21: fatal error: libudev.h: No such file or directory
 javascript-0 2016-05-01 16:10:21 error WARN optional dep failed, continuing xpc-connection@0.1.4
 javascript-0 2016-05-01 16:10:21 error npm
 javascript-0 2016-05-01 16:07:36 error script.js.Bluetoothscanner compile failed: SyntaxError: Unexpected token ;Dann erst die Anleitung gelesen und Voraussetzungen: ` > benötigt das node module "noble" (im Javascript Adapter eintragen) ` ok, "noble" eingetragen, natürlich ohne "". javascript.0 danach wohl neustarten, oder? ` > globale Funktion logs() muss vorhanden sein ` Wo bekomme ich die denn her??? Gruß Rainer
- 
					
					
					
					
 @pix:Danke für das Riesenskript! ` jo. Das ist… nun ja... etwas aus dem Ruder gelaufen. Die Arbeit hätte ich auch in einen Adapter stecken können. Danke fürs testen! @pix:Habe das Skript heute installiert: Mac mini mit El Capitan, xcode vorhanden. Zuerst wollte es nicht, aber dann habe ich Bluetooth über die Menüzeile einmal aus und wieder eingeschaltet. Der Scan wurde sofort erledigt. Habe dann erstmal meinen Haushalt nach BT-Geräten durchsucht :lol: Ergebnis: ` Interessant. Ich hatte es nur mit einem Pi3 getestet. Der iMac ist zu alt (BT <4). Auf dem MBP habe ich kein ioBroker. @pix:- 
Pulse H7 Pulsmesser: funktioniert super 
- 
Withings Activitee Pop: bisher keine Reaktion 
- 
iPhone 5s/6s: bisher keine Reaktion 
- 
iMac im Nebenraum: nach dem einfachen Öffnen der Systemeinstellungen sichtbar, allerdings falsche Entfernungsangabe (6.12m, tatsächlich ca. 2m). Das ist aber egal, da Scanner und iMac ja stationär. ` 
 Die Entfernungsangabe kannst Du kalibrieren, wenn Du das Gerät im Skript in den JSON einträgst. @pix:Manchmal allerdings kommt noch eine Fehlermeldung: 2016-05-01 17:12:04.128 - error: message javascript.2.Bluetooth.Control_ScanOn [object Object] Could not start scanning, state is unknown (not poweredOn) 2016-05-01 17:12:04.135 - error: Error: Could not start scanning, state is unknown (not poweredOn) at Noble.startScanning (/Users/pix/Documents/iobroker/node_modules/iobroker.javascript/node_modules/noble/lib/noble.js:71:17) at startScan (script.js.Test.BluetoothScanner:1684:11) at Object. <anonymous>(script.js.Test.BluetoothScanner:2061:13) at Object.subs.callback (/Users/pix/Documents/iobroker/node_modules/iobroker.javascript/javascript.js:1206:48) [...]</anonymous> ```` `"Could not start scanning, state is unknown (not poweredOn)" Das kommt von Noble. Ist "nicht eingeschaltet". Warum? Auf dem Pi3 hatte ich da überhaupt kein Thema mit. @pix:oder hier, wenn man einen Channel manuel im Reiter Objekte löscht, wird er bei erneueter Suche nicht neu angelegt. ! `2, davon nicht erreichbar: 2 [...] Leider wurde keines der BT-Geräte mehr gefunden. ! Ist der ganze Block erledigt? D.h. es wurde nichts mehr gefunden, weil Dein AppleTV gestört hat? ! [quote] Ausserdem stört mich die Logs-Geschichte. Ich sehe meine Log Datei mit der OS X Konsole an. Da werden eh keine Farben dargestellt. Ich wünscht mir dafür eine Option, das Loggen auf Standard zu setzen. Das jeder Scan geloggt wird, lässt das Logfile auch unnötig wachsen. Auch da wünschte ich mir mehr Kontrolle. ` Die Kontrolle hats Du. ! Hab das Skript jetzt sehr überhastet veröffentlicht. Rainer weisse warum :lol: ! Es ist versehentlich mit Loglevel = "Debug2" raus. ! Wenn Du in Zeile 92: [code]var loglevel = "debug2"; // logs() - Loglevel des Scriptes (debug2, debug1, debug, info, warn, error) // benötigt den loglevel info beim Javascript Adapter [/code]` Hier den Loglevel auf "info" oder "warn" stellst, bekommst Du so gut wie nichts mehr. ! Ich selbst nutzen in den neuen kürzeren Skripts auch kein logs() mehr. ! Bei dem langen Skript war ich extrem dankbar, dass ich es innerhalb des Skripts so fein abstimmen kann. ! ~~[quote]~~ Auf deinen Hinweis, habe ich mir mal diese Mi-Armbänder angesehen. Die scheinen genau richtig für meine Anwendung zu sein (Anwesenheit). Kannst du die wirklich empfehlen? ` ` ! Das Mi habe ich selbst nicht. ! Das war ein Hinweis von simpixio: ! [http://forum.iobroker.net/viewtopic.php ... 513#p22317](http://forum.iobroker.net/viewtopic.php?f=21&t=2513#p22317) ! Der Rest ist von mir. ! Generell muss man drauf achten, was man den nun scannen will. Wir reden hier von BLE. Da wirst Du normalerweise keine Macs, iPhones, usw. finden. ! Welche Geräte dauerhaft senden, hab ich am Anfang des Threads tlw. aufgeführt. ! Alle BLE Geräte, die ich gefunden habe (und bei mir waren tlw. bis zu 40) drin (die ganzen Nachbarschaft und Jogger) haben dauerhaft und stabil gesendet. Besser als mein iBeacon mit Geofency. ! Manche Geräte findet man nicht mehr, wenn man Sie für Ihren eigentlichen nutzen an einer Anwendung registriert, z.B. das Gigaset Tag. Entweder mit der Gigaset App oder als Dauerfunkfeuer für den BLE Scanner. ! Ich würde mal behaupten, Du kannst jedes BLE Gerät nehmen, also auch das Mi-Armband.`
- 
- 
					
					
					
					
 Finde das Skript auch interessant. Nachdem ich nach wie vor keine AHnung habe, hab ich es in ioBroker kopiert und gestartet. […] Dann erst die Anleitung gelesen und Voraussetzungen: 
 > benötigt das node module "noble" (im Javascript Adapter eintragen)
 ok, "noble" eingetragen, natürlich ohne "".javascript.0 danach wohl neustarten, oder? > globale Funktion logs() muss vorhanden sein
 Wo bekomme ich die denn her??? `Ja, wenn Du ein node_modul einträgst, den Adapter neu starten. die Funktion logs() findest Du direkt im 2. Post. http://forum.iobroker.net/viewtopic.php … 513#p22194 Die Posts 1-3 sollte man eh lesen, wenn man das Skript installiert. Da steht die Beschreibung drin  
- 
					
					
					
					
 Da steht die Beschreibung drin  ` `
 Beschreibungen werden total überbewertet :mrgreen:<size size="85">Außerdem versteh ich das ganze doch gar nicht  </size> </size>Hoffentlich habe ich jetzt alles richtig gemacht; Fehler bleibt; javascript-0 2016-05-01 17:02:28 error script.js.Bluetoothscanner compile failed: SyntaxError: Unexpected token ;Muss nach sudo apt-get install bluetooth bluez libbluetooth-dev libudev-devder RasPi neu gestartet werden? Hatte da allerdings folgende Meldung: bluez is already the newest version. bluez set to manually installed. Suggested packages: bluez-cups bluez-obexdDanke Rainer 
- 
					
					
					
					
 [ Hoffentlich habe ich jetzt alles richtig gemacht; Fehler bleibt; javascript-0 2016-05-01 17:02:28 error script.js.Bluetoothscanner compile failed: SyntaxError: Unexpected token ; ```` `Pi3? aktuelle Versionen von iobroker? Hast Du mal neu gestartet? Am Skript nichts verändert? Der Fehler könnte z.B. daherkommen, wenn ein JSON im Skript syntaktisch nicht korrekt ist. Auf dem Pi 3 sollte es mit installierten Bluetooth-Treiben eigentlich sehr problemlos laufen. 
- 
					
					
					
					
 Pi3? aktuelle Versionen von iobroker? ` 
 Ja! Ja!Hast Du mal neu gestartet? ` 
 iobroker ja - raspi weiß ich nicht mehr
 @ruhr70:Am Skript nichts verändert? ` 
 nö - was sollte ich als js-legastheniker denn da dran Na dann will ich mal den raspi nochmal starten. EDIT - hat nicht geholfen  kann es sein, dass ich versucht hatte das Funkmodul und hmcon darauf zum laufen zu bekommen und u.a. die serielle Konsole abgeschaltet habe. Außerdem glaube ich, dass das hmcon install skript da etwas an gpio einstellungen manipuliert, da beim Raspi3 Teile der Einstellungen für das Funkmodul bereits für WLAN und BT genutzt wurden. (irgendwie so was war da  ) )Gruß Rainer 
- 
					
					
					
					
 So, habe noch ein wenig ahnungslos, aber hoffentlich nicht ganz planlos rumgeklickt. Teile hatte ich im oberen Post schon reingeschrieben - jetzt wird es mehr. Für ein EDIT zu viel. folgendes habe ich im Skript gefunden - bis jetzt hatte ich nach debug möglichkeiten gesucht und keine Fehler im log gefunden und jetzt sehe ich, dass der Adapter anscheinend selber Fehlermeldungen ausgibt: 
  
  
  Gruß Rainer 
- 
					
					
					
					
 So, habe noch ein wenig ahnungslos, aber hoffentlich nicht ganz planlos rumgeklickt. Teile hatte ich im oberen Post schon reingeschrieben - jetzt wird es mehr. Für ein EDIT zu viel. ` Hi Rainer, schön…  Danke für Deine Geduld und fürs testen. Der Fehler liegt allerdings bei Dir, bzw. bei deinem NPP Versuchen  Die Skripte sind auf iobroker.net tlw. fehlerhaft eingepflegt.  In Zeile 797: if ((txPower < -75) || (txPower > -55)) {Das < muss ein < sein, das > ein >. richtig: if ((txPower < -75) || (txPower > -55)) {In Zeile 780 muss das & jeweils ein & sein. In 780 fehlt in der Tat ein Semikolon. "Nur" einSchönheitsfehler. Beim Import vom hue Skript (dynamische Szenen) sind auch Fehler mit reingekommen. Das besteht auf iobroker.net quasi nur aus Fehlern, wie z.B.: "hue.0.Philips_hue.wohnzimmer.kugel",Das <span… hat/da/nichts/zu/suchen/und/viele/steuerzeichen/sind/auch/falsch.<br="">Da ist beim Bearbeiten der Webseite beim Skriptimport so einiges schief gegangen  VG Michael</span…> 
- 
					
					
					
					
 Hallo Michael, gut das wir das mit der Website schonmal kontrolliert haben.  ok, npp hatte ich nur "mal eben schnell" installiert und die Konfig nicht kontrolliert. Muss ich mir alles nochmal ansehen und korrigieren, bevor andere meckern. Der Fehler liegt allerdings bei Dir ` 
 Damit kann ich leben.Gruß Rainer 
- 
					
					
					
					
 Damit kann ich leben. Gruß Rainer ` Na da hoffe ich doch  Kenne niemanden,d er so unermüdlich testet und hilft  Nur an der Homepage müssen wir noch einmal ran. Wenn mir noch was auffällt, bekommst Du eine Rückmeldung. Ist mir heute Morgen nur beim Überfliegen ins Auge gesprungen, dass da Dinge drin sind, die da nicht hingehören. 
- 
					
					
					
					
 Bei mir läufts, npp auf UTF8 without BOP umgestellt, statt kodierung automatisch erkennen. Trotzdem hat es beim Kopieren auf die Website erst einmal nicht geklappt. Bin dan nicht mehr über den visuellen editor, sondern über Quelltext gegangen. Jetzt scheint es zu passen. Habe aber nur Zeile 797 verglichen - bin halt faul EDIT: nachdem jetzt keine devices gefunden werden habe ich nochmal den gesamten Thread durchgelesen. ok, vielleicht habe ich ja die falschen Geräte. Samsung TV steht im Keller - war noch nie angeschaltet, muss ich dann mal machen Handy ist "Analog"-Handy Nokia 215 Mein Notebook kann angeblich auch BT 4.0 - passiert nichts, auch nicht während des selbst aktiven Scans von 2 Minuten. OK, vielleicht sind es ja die falschen Geräte. läuft der Scan unendlich weiter? Zur Anwesenheitserkennung UND zum Finden neuer Geräte? Gruß Rainer 
- 
					
					
					
					
 EDIT: nachdem jetzt keine devices gefunden werden habe ich nochmal den gesamten Thread durchgelesen. ok, vielleicht habe ich ja die falschen Geräte. Samsung TV steht im Keller - war noch nie angeschaltet, muss ich dann mal machen Handy ist "Analog"-Handy Nokia 215 Mein Notebook kann angeblich auch BT 4.0 - passiert nichts, auch nicht während des selbst aktiven Scans von 2 Minuten. OK, vielleicht sind es ja die falschen Geräte. ` Ja, das sind die falschen Geräte. Der Samsung TV eventuell, wenn er Bluetooth hat. Im Skript ist das so eingestellt, das der Scan weiterläuft, bis 10 unterschiedliche Geräte gefunden und als Datenpunkte angelegt wurden. Die Anzahl ist einstellbar. Das Skript ist recht genügsam und frisst kaum Ressourcen. Lass einfach mal laufen. Bei mir werden auf Anhieb sechs Geräte gefunden. Wenn bei Dir ein Jogger mit aktueller Fitnessuhr oder Brustgurt vorbei rennt, hast Du ihn schon einmal  Ansonsten werde ich mich demnächst ähnlichen Themen widmen: 1.) Pi3 als iBeacon/Beacon 2.) Pi3 als IBeacon Scanner 3.) Verbindung mit einem SensorTag CC2650 Kann man alles mit dem BLE Scanner kombinieren. 
- 
					
					
					
					
 Hallo Michael, 
 @ruhr70:Ja, das sind die falschen Geräte. ` 
    Wenn bei Dir ein Jogger mit aktueller Fitnessuhr oder Brustgurt vorbei rennt, ` 
 Hoffnung - aber da bin ich wohl auch ein Dinosaurier;Alte Polar Brustgurte herausgekramt - ohne Erfolg; aber die sind wohl auch nicht mehr "aktuell"  Und schon der nächste Tiefschlag: Wollte todesmutig das Ganze auf dem BPi M3 ans laufen bekommen. - Bluez bereits aktuelle Version, Rest installiiert. M3 rebooted, Skripte eingefügt, js.0 neu gestartet - alles rot:
 ! ```` 
 Error: Could not start scanning, state is poweredOff (not poweredOn) at Noble.startScanning (/opt/iobroker/node_modules/iobroker.javascript/node_modules/noble/lib/noble.js:71:17) at startScan (script.js.Bluetoothscanner:1369:11) at Object. (script.js.Bluetoothscanner:1746:13) at Object.subs.callback (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1206:48) at /opt/iobroker/node_modules/iobroker.javascript/javascript.js:541:48 at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2430:17) at checkPatterns (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:537:17) at Object.utils.adapter.stateChange (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:215:17) at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1973:80) at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30) at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20) at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:263:10) at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:221:12) at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15) at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20) at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:333:8) at Decoder. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15) at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20) at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/index.js:247:12) at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:323:16) at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15) at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/component-emitter/index.js:134:20) at Socket.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/socket.js:441:14) at WS. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/socket.js:258:10) at WS.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/component-emitter/index.js:134:20) at WS.Transport.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/transport.js:143:8) at WS.Transport.onData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/transport.js:135:8) at WebSocket.ws.onmessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/websocket.js:132:10) at WebSocket.onMessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/WebSocket.js:418:14) at emitTwo (events.js:87:13) at WebSocket.emit (events.js:172:7) at Receiver.ontext (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/WebSocket.js:816:10) at /opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Receiver.js:477:18 at Receiver.applyExtensions (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Receiver.js:364:5) at /opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Receiver.js:466:14 at Receiver.flush (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Receiver.js:340:3) at Receiver.opcodes.1.finish (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Receiver.js:482:12) at Receiver.expectHandler (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Receiver.js:457:31) at Receiver.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/Receiver.js:95:24) at Socket.realHandler (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/lib/WebSocket.js:800:20) at emitOne (events.js:77:13) at Socket.emit (events.js:169:7) at readableAddChunk (_stream_readable.js:153:18) at Socket.Readable.push (_stream_readable.js:111:10) at TCP.onread (net.js:531:20)Wo um alles in de Welt schaltet manbei dem Teil den BT an???? Gruß Raiiner
- 
					
					
					
					
 Das ist doch super… Ich konnte nie diesen Fehlerfall provozieren, da bei mir noble.state immer poweredOn war. Kannst Du die neue Version bitte mal probieren, ob damit der Fehler abgefangen wird? Danach können wir uns um Deine exotische Hardware kümmern.  
- 
					
					
					
					
 Das ist doch super… ` 
 Na, wenigstens einer, der es positiv sieht!Kannst Du die neue Version bitte mal probieren, ob damit der Fehler abgefangen wird? ` 
 Klar kann ich das!Soll ich auch? ! ```` 
 20:36:24.843 [info] javascript.0 Start javascript script.js.Bluetoothscanner
 20:36:24.845 [info] javascript.0 script.js.Bluetoothscanner: --== script.js.Bluetoothscanner ==-- gestartet. Instanz: "javascript.0.", Loglevel: info
 20:36:24.845 [info] javascript.0 script.js.Bluetoothscanner: Liste bluetoothBlacklistManufacturerData auf gültige Werte geprüft. Anzahl Einträge: 3
 20:36:24.845 [info] javascript.0 script.js.Bluetoothscanner: Liste bluetoothBlacklistMac auf gültige Werte geprüft. Anzahl Einträge: 2
 20:36:24.846 [info] javascript.0 script.js.Bluetoothscanner: registered 0 subscriptions and 0 schedules
 20:36:25.844 [info] javascript.0 script.js.Bluetoothscanner: Kommando Bluetooth Scanner an: true
 20:36:25.845 [info] javascript.0 script.js.Bluetoothscanner: noble.state ist nicht powerdOn. noble.state: poweredOff~~@ruhr70:~~ > Danach können wir uns um Deine exotische Hardware kümmern. ;-) ` Ich bitte darum :twisted: Gruß Rainer
- 
					
					
					
					
 Kannst Du die neue Version bitte mal probieren, ob damit der Fehler abgefangen wird? ` 
 Klar kann ich das!Soll ich auch? ` Hast Du ja gemacht  Also… jetzt wird es interessant. Du sagst, das Du das ausgeführt hast und es die aktuellste Version ist:? sudo apt-get install bluetooth bluez-utils libbluetooth-devTeste mal bitte, ob hcitool installiert ist (ist in bluez-utils enthalten) und ob hcitools ein Device findet: pi@rasp31:~ $ hcitool dev Devices: hci0 B8:27:EB:7B:99:76Du kannst auch mit dem hcitool einen Testscan machen (ein paar Sekunden Geduld): pi@rasp31:~ $ hcitool scan Scanning ... 00:1A:E8:04:16:B4 OpenStage 00:1A:E8:04:16:B4 00:24:E4:18:5F:A3 Withings Aura A2 04:0C:CE:E1:C8:39 Michaels MacBook Air
- 
					
					
					
					
 Du sagst, das Du das ausgeführt hast und es die aktuellste Version ist:? ` 
 Du glaubst mir nicht? :evil:root@bananapi:~# sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev Reading package lists... Done Building dependency tree Reading state information... Done bluez is already the newest version. libbluetooth-dev is already the newest version. Suggested packages: bluez-cups bluez-obexd The following NEW packages will be installed: bluetooth libudev-dev 0 upgraded, 2 newly installed, 0 to remove and 5 not upgraded. Need to get 59.4 kB of archives. After this operation, 332 kB of additional disk space will be used. Do you want to continue? [Y/n] Get:1 http://httpredir.debian.org/debian/ jessie/main bluetooth all 5.23-2 [36.3 kB] Get:2 http://httpredir.debian.org/debian/ jessie/main libudev-dev armhf 215-17+deb8u4 [23.1 kB] Fetched 59.4 kB in 0s (106 kB/s) Selecting previously unselected package bluetooth. (Reading database ... 56285 files and directories currently installed.) Preparing to unpack .../bluetooth_5.23-2_all.deb ... Unpacking bluetooth (5.23-2) ... Selecting previously unselected package libudev-dev:armhf. Preparing to unpack .../libudev-dev_215-17+deb8u4_armhf.deb ... Unpacking libudev-dev:armhf (215-17+deb8u4) ... Setting up bluetooth (5.23-2) ... Setting up libudev-dev:armhf (215-17+deb8u4) ...Teste mal bitte, ob hcitool installiert ist (ist in bluez-utils enthalten) und ob hcitools ein Device findet: ` 
 Ja, … und nein!root@bananapi:~# hcitool dev Devices:Du kannst auch mit dem hcitool einen Testscan machen (ein paar Sekunden Geduld): ` 
 Nein, kann ich nicht root@bananapi:~# hcitool scan Device is not available: No such deviceVielleicht doch: 
 @ruhr70:Deine exotische Hardware ` @[url=http://bananapi.com/index.php/component/content/article?layout=edit&id=85:~~BananaPi Website"]~~Bluetooth BT4.0 ` Gruß Rainer 
- 
					
					
					
					
 Du glaubst mir nicht? :evil: ` Naja… das hier : root@bananapi:~# sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev ```` `sieht anders aus, als das was ich geschrieben hatte: sudo apt-get install bluetooth bluez-utils libbluetooth-devWobei das auch gemein ist. In der Anleitung steht Deine Zeile. Ich meine gelesen zu haben, dass noble auf den hcitool aufsetzt. Wenn ja, dann würde es das Problem erklären. Wenn Du bluetoothctl eingibst und dann darin list. Wird dann ein Corntroler angezeigt? 
 
		
	 
		
	 
			
		