NEWS
Pi 3 als Bluetooth LE Scanner (Beispielscript)
-
32,73 sollen m sein. Die Formel zur Berechnung der Distanz war inspiriert von dem Projekt: https://medium.com/truth-labs/beacon-tr … .9ou5pmul5.
Allerdings sind es gefühlt eher Feet, wenn ich das bei mir verglichen habe. Und es springt schon argh hin un her.
Vorbeigefahren glaube ich eher nicht. Vielleicht hatte der Briefträger so ein Ding am Schlüsselbund. 7:36 Uhr?
-
Interessantes Skript, würde sich auch als Adapter gut machen (ähnlich dem Ping Adapter).
Die Entfernung bei Beacons muss im Beacon kalibriert werden:
zu erst sendet man mit dem Beacon die Bluetooth advertising packets und guckt mit einem Empfänger wie stark der Empfang in einem Meter Entfernung ist. Diesen Wert trägt man dann wiederum im Beacon ein, das den Wert dann glaube ich in den advertising packets mitsendet. Der Empfänger kann dann mit dem aktuellen Empfangswert und dem bekannten Wert bei einem Meter Entfernung seine eigene Distanz berechnen.
Bei dem Skript müsste man das dann eher umgekehrt machen, also im Skript pro Gerät die Empfangsstärke bei einer gewissen Entfernung eingeben und danach die aktuelle Distanz berechnen.
Ohne die Formel studiert zu haben denke ich, dass es die Variable txPower ist, welche man pro Gerät justieren müsste.
-
Interessantes Skript, würde sich auch als Adapter gut machen (ähnlich dem Ping Adapter).
Die Entfernung bei Beacons muss im Beacon kalibriert werden:
zu erst sendet man mit dem Beacon die Bluetooth advertising packets und guckt mit einem Empfänger wie stark der Empfang in einem Meter Entfernung ist. Diesen Wert trägt man dann wiederum im Beacon ein, das den Wert dann glaube ich in den advertising packets mitsendet. Der Empfänger kann dann mit dem aktuellen Empfangswert und dem bekannten Wert bei einem Meter Entfernung seine eigene Distanz berechnen.
Bei dem Skript müsste man das dann eher umgekehrt machen, also im Skript pro Gerät die Empfangsstärke bei einer gewissen Entfernung eingeben und danach die aktuelle Distanz berechnen.
Ohne die Formel studiert zu haben denke ich, dass es die Variable txPower ist, welche man pro Gerät justieren müsste. `
Hallo Pman,
vielen Dank für die Erklärung zur Entfernung. Ich schaue mir das an.
Ich möchte noch etwas an dem Skript basteln und wenn es Sinn macht dann in der Tat auf der daraus gewonnen Erfahrung einen zweiten Adapter basteln. So etwas dauert bei mir nur etwas Vielleicht kommt mir auch Bluefox zuvor http://forum.iobroker.net/viewtopic.php … 507#p22238.
-
Interessantes Skript, würde sich auch als Adapter gut machen (ähnlich dem Ping Adapter).
Die Entfernung bei Beacons muss im Beacon kalibriert werden:
zu erst sendet man mit dem Beacon die Bluetooth advertising packets und guckt mit einem Empfänger wie stark der Empfang in einem Meter Entfernung ist. Diesen Wert trägt man dann wiederum im Beacon ein, das den Wert dann glaube ich in den advertising packets mitsendet. Der Empfänger kann dann mit dem aktuellen Empfangswert und dem bekannten Wert bei einem Meter Entfernung seine eigene Distanz berechnen.
Bei dem Skript müsste man das dann eher umgekehrt machen, also im Skript pro Gerät die Empfangsstärke bei einer gewissen Entfernung eingeben und danach die aktuelle Distanz berechnen.
Ohne die Formel studiert zu haben denke ich, dass es die Variable txPower ist, welche man pro Gerät justieren müsste. `
Hallo Pman,
vielen Dank für die Erklärung zur Entfernung. Ich schaue mir das an.
Ich möchte noch etwas an dem Skript basteln und wenn es Sinn macht dann in der Tat auf der daraus gewonnen Erfahrung einen zweiten Adapter basteln. So etwas dauert bei mir nur etwas Vielleicht kommt mir auch Bluefox zuvor http://forum.iobroker.net/viewtopic.php … 507#p22238. `
Ich habe gesagt ich habe Willen dazu. Ich habe aber wirklich keine Möglichkeit.Fang an wir werden helfen.
-
Ich habe gesagt ich habe Willen dazu. Ich habe aber wirklich keine Möglichkeit.
Fang an wir werden helfen. `
Ja. Ich werde das schon machen. Habe ich Lust drauf.
Wird halt nur wirklich was dauern
Danke! Und einen schönen Urlaub!
-
Der Gigaset G-Tag ist ist heute angekommen. Ein kurzes Feedback dazu.
http://www.amazon.de/Gigaset-Bluetooth- … aset+g-tag
-
Batterieschutz entfernt, der G-Tag wird in den Objekte sofort angezeigt
-
G-Tag App im Apple Store heruntergeladen und den G-Tag dort angemeldet. In dem Moment verschwindet der G-Tag aus den Objekten (lastState: false).
-
G-Tag in der App wieder gelöscht. lastState geht sofort wieder auf true
-
der G-Tag ist etwas dicker als gedacht.
Fazit:
-
der G-Tag kann zur Anwesenheitserkennung genutzt werden, kann dann aber nicht parallel in der G-Tag App genutzt werden
-
Fitnesstools, wie der Fitbit One oder das Mi-Band sind eine Alternative und senden dauerhaft
-
-
Interessantes Skript, würde sich auch als Adapter gut machen (ähnlich dem Ping Adapter).
Die Entfernung bei Beacons muss im Beacon kalibriert werden:
zu erst sendet man mit dem Beacon die Bluetooth advertising packets und guckt mit einem Empfänger wie stark der Empfang in einem Meter Entfernung ist. Diesen Wert trägt man dann wiederum im Beacon ein, das den Wert dann glaube ich in den advertising packets mitsendet. Der Empfänger kann dann mit dem aktuellen Empfangswert und dem bekannten Wert bei einem Meter Entfernung seine eigene Distanz berechnen.
Bei dem Skript müsste man das dann eher umgekehrt machen, also im Skript pro Gerät die Empfangsstärke bei einer gewissen Entfernung eingeben und danach die aktuelle Distanz berechnen.
Ohne die Formel studiert zu haben denke ich, dass es die Variable txPower ist, welche man pro Gerät justieren müsste. `
Danke für die Erläuterung und die Anregung!
Die Möglichkeit zur Kalibrierung der einzelnen Geräte, sowie die Optimierung der Distanzbrechung ist im Skript nun eingebaut.
-
Hallo ruhr,
vielen Dank für das script.
Ich habe es nach Anleitung installiert, bekomme aber leider relativ schnell eine exception:
! ````
host-Raspi31 2016-03-29 16:58:24 info Restart adapter system.adapter.javascript.1 because enabled
host-Raspi31 2016-03-29 16:58:24 error instance system.adapter.javascript.1 terminated with code 6 (uncaught exception)
SyntaxError: 2016-03-29 16:58:24 error at Timer.listOnTimeout (timers.js:92:15)
SyntaxError: 2016-03-29 16:58:24 error at ontimeout [as _onTimeout] (timers.js:209:34)
SyntaxError: 2016-03-29 16:58:24 error at null. (/root/node_modules/iobroker.javascript/javascript.js:1720:44)
SyntaxError: 2016-03-29 16:58:24 error at Object.stopScan (script.js.Test.Bluetooth_Scanner:943:67)
SyntaxError: 2016-03-29 16:58:24 error at Object.parse (native)
SyntaxError: 2016-03-29 16:58:24 error Unexpected end of input
uncaught 2016-03-29 16:58:24 error exception: Unexpected end of input
javascript-1 2016-03-29 16:58:24 info script.js.Test.Bluetooth_Scanner: debug0: Bluetooth Scan 1 OK. Devices gescannt: 0, davon neu: 0 / Devices in DB: 0, davon nicht erreichbar: 0
history-0 2016-03-29 16:58:17 info sendTo "getHistory" to system.adapter.web.0 from system.adapter.history.0: {"result":[{"ts":1459263355,"val":null}],"step":300,"error":null}
web-0 2016-03-29 16:58:17 info sendTo "getHistory" to system.adapter.history.0 from system.adapter.web.0: {"id":"hm-rpc.0.GEQ0015983.1.TEMPERATURE","options":{"start":1459263205,"end":1459263505,"ignoreNull":false,"aggregate":"ave
javascript-1 2016-03-29 16:58:14 info script.js.Test.Bluetooth_Scanner: debug1: ####### start scanning - Durchlauf (1) #######
javascript-1 2016-03-29 16:58:14 info script.js.Test.Bluetooth_Scanner: debug2: Kommando Bluetooth Scanner an: true
javascript-1 2016-03-29 16:58:13 info script.js.Test.Bluetooth_Scanner: registered 0 subscriptions and 0 schedules
javascript-1 2016-03-29 16:58:13 info script.js.Test.Bluetooth_Scanner: debug1: dpAnlegen() - Datenpunkte angelegt (createState) in javascript.1.Bluetooth.
javascript-1 2016-03-29 16:58:13 info script.js.Test.Bluetooth_Scanner: debug1: Vars, Loglevel und Scriptname gesetzt
javascript-1 2016-03-29 16:58:13 info script.js.Test.Bluetooth_Scanner: --== script.js.Test.Bluetooth_Scanner ==-- gestartet. Instanz: "javascript.1.", Loglevel: debug2
javascript-1 2016-03-29 16:58:13 info Start javascript script.js.Test.Bluetooth_ScannerHast Du eine Idee woran das liegen könnte? Danbke und Gruß,
-
Ich habe es nach Anleitung installiert, bekomme aber leider relativ schnell eine exception:
[…]
Hast Du eine Idee woran das liegen könnte?
Danbke und Gruß, `
Danke erst einmal fürs Testen!
Was mir auffällt, dass nach dem ersten Durchlauf kein Gerät gefunden wurde. Ich schau mal, ob ich mit der Situation (0 Geräte) noch einen Fehler drin habe.
Hab die Situation bei mir nicht. Bei mir werden im ersten Durchlauf schon immer mind. 6 Geräte gefunden. Deswegen bin ich für jeden Test dankbar!
-
Hallo ruhr,
vielen Dank für das script.
Ich habe es nach Anleitung installiert, bekomme aber leider relativ schnell eine exception:
! ````
host-Raspi31 2016-03-29 16:58:24 info Restart adapter system.adapter.javascript.1 because enabled
host-Raspi31 2016-03-29 16:58:24 error instance system.adapter.javascript.1 terminated with code 6 (uncaught exception)
SyntaxError: 2016-03-29 16:58:24 error at Timer.listOnTimeout (timers.js:92:15)
SyntaxError: 2016-03-29 16:58:24 error at ontimeout [as _onTimeout] (timers.js:209:34)
SyntaxError: 2016-03-29 16:58:24 error at null. (/root/node_modules/iobroker.javascript/javascript.js:1720:44)
SyntaxError: 2016-03-29 16:58:24 error at Object.stopScan (script.js.Test.Bluetooth_Scanner:943:67)
SyntaxError: 2016-03-29 16:58:24 error at Object.parse (native)
SyntaxError: 2016-03-29 16:58:24 error Unexpected end of input
uncaught 2016-03-29 16:58:24 error exception: Unexpected end of input
javascript-1 2016-03-29 16:58:24 info script.js.Test.Bluetooth_Scanner: debug0: Bluetooth Scan 1 OK. Devices gescannt: 0, davon neu: 0 / Devices in DB: 0, davon nicht erreichbar: 0
history-0 2016-03-29 16:58:17 info sendTo "getHistory" to system.adapter.web.0 from system.adapter.history.0: {"result":[{"ts":1459263355,"val":null}],"step":300,"error":null}
web-0 2016-03-29 16:58:17 info sendTo "getHistory" to system.adapter.history.0 from system.adapter.web.0: {"id":"hm-rpc.0.GEQ0015983.1.TEMPERATURE","options":{"start":1459263205,"end":1459263505,"ignoreNull":false,"aggregate":"ave
javascript-1 2016-03-29 16:58:14 info script.js.Test.Bluetooth_Scanner: debug1: ####### start scanning - Durchlauf (1) #######
javascript-1 2016-03-29 16:58:14 info script.js.Test.Bluetooth_Scanner: debug2: Kommando Bluetooth Scanner an: true
javascript-1 2016-03-29 16:58:13 info script.js.Test.Bluetooth_Scanner: registered 0 subscriptions and 0 schedules
javascript-1 2016-03-29 16:58:13 info script.js.Test.Bluetooth_Scanner: debug1: dpAnlegen() - Datenpunkte angelegt (createState) in javascript.1.Bluetooth.
javascript-1 2016-03-29 16:58:13 info script.js.Test.Bluetooth_Scanner: debug1: Vars, Loglevel und Scriptname gesetzt
javascript-1 2016-03-29 16:58:13 info script.js.Test.Bluetooth_Scanner: --== script.js.Test.Bluetooth_Scanner ==-- gestartet. Instanz: "javascript.1.", Loglevel: debug2
javascript-1 2016-03-29 16:58:13 info Start javascript script.js.Test.Bluetooth_ScannerHast Du eine Idee woran das liegen könnte? Danbke und Gruß, `
Kannst Du bitte die neue Version im Post Nr. 3 http://forum.iobroker.net/viewtopic.php … 513#p22234 ausprobieren.
Ich hab es recht schwer die Situation mit 0 gefundenen Devices nachzustellen
-
Hi,
ich habe die neue version ausprobiert.
Die Exception ist leider noch da, hier das Ergebnis:
! ````
Raspi31 2016-03-30 20:08:05 info host.Raspi31 Restart adapter system.adapter.javascript.0 because enabled
Raspi31 2016-03-30 20:08:05 error host.Raspi31 instance system.adapter.javascript.0 terminated with code 6 (uncaught exception)
Raspi31 2016-03-30 20:08:05 info host.Raspi31 Restart adapter system.adapter.javascript.0 because enabled
Raspi31 2016-03-30 20:08:05 error host.Raspi31 instance system.adapter.javascript.0 terminated with code 6 (uncaught exception)
javascript.0 2016-03-30 20:08:05 error SyntaxError: Unexpected end of input at Object.parse (native) at Object.stopScan (script.js.Test.Bluetooth_Scanner:982:67) at null. (/root/node_modules/iobroker.javascript/javas
javascript.0 2016-03-30 20:08:05 error uncaught exception: Unexpected end of input
javascript.0 2016-03-30 20:08:05 info javascript.0 script.js.Test.Bluetooth_Scanner: debug1: Bluetooth Scan 1 OK. Devices gescannt: 0, davon neu: 0 / Devices in DB: 0, davon nicht erreichbar: 0
javascript-0 2016-03-30 20:07:55 info script.js.Test.Bluetooth_Scanner: debug1: ####### start scanning - Durchlauf (1) #######
javascript-0 2016-03-30 20:07:54 info script.js.Test.Bluetooth_Scanner: registered 0 subscriptions and 0 schedules
javascript-0 2016-03-30 20:07:54 info script.js.Test.Bluetooth_Scanner: debug1: Vars, Loglevel und Scriptname gesetzt
javascript-0 2016-03-30 20:07:54 info script.js.Test.Bluetooth_Scanner: --== script.js.Test.Bluetooth_Scanner ==-- gestartet. Instanz: "javascript.0.", Loglevel: debug1
javascript-0 2016-03-30 20:07:53 info Start javascript script.js.Test.Bluetooth_Scanner -
Hi,
ich habe die neue version ausprobiert.
Die Exception ist leider noch da, hier das Ergebnis: `
Danke Stmiko!
Danke Deiner Infos konnte ich den Fehler nachvollziehen. Er sollte nun raus sein (neue Version).
-
> Danke Deiner Infos konnte ich den Fehler nachvollziehen. Er sollte nun raus sein (neue Version).
Super….läuft und keine exception mehr.Vielen Dank und Gruß
-
Super Script! ideal für den Raspberry 3!
Werde ich auch mal versuchen bei Gelegenheit. Überlege noch, für was. Im Prinzip kann man damit ja auch auch einen Diebstahlschutz (oder besser: -anzeige) verwirklichen. So ein LE-Bluetooth Funkfeuer (billiges Mi-Band) ins Auto legen oder irgendwie am Fahrrad unterm Sattel versteckt befestigen, und wenn das Signal weg ist, man selbst aber da ist, dann Auto = geklaut (oder so ähnlich) und Alarm wird ausgelöst.
Das System hätte den Vorteil, dass auch die bei Diebstählen üblicherweise genutzten Jammer (Geräte, die sämtliche mobile Daten, wie WLAN, Bluetooth, GSM-Netz, GPS) stören, damit das geklaute Auto sich nicht melden kann. Wenn der Diebstahl aber andersherum registriert wird… Muss ich mal checken, wie stabil sowas laufen würde. Es ist halt leider nur zu spät, weil dann das Objekt schon wegbewegt worden ist...
PS:der Apple TV 4 sendet auch ein Funkdauerfeuer aus. Warum auch immer :evil: Wegen der Fernbedienung vermutlich.
PPS: Du hast am Anfang des Threads auch erwähnt, dass du einen 2. Raspi benutzt. Also zumindest 2 Instanzen von iobroker nutzt.
Benutzt du den Multihostmodus dafür? http://www.iobroker.net/docu/?page_id=3068&lang=de
Wie sind da die Erfahrungen? Wie läuft es praktisch? Läuft der Master weiter wenn ein Slave ausfällt?
Wegen der Aufteilung der Rechenleistung macht es eher wenig Sinn, oder? So viel fällt ja nicht an, höchstens wenn man den vis-Webserver auslagern will weil so viele gleichzeitig darauf zugreifen wollen. Sinnvoll ist das nur, wenn man auf die Hardwareanschlüsse des 2. Slaves zugreifen will?
Mein 1. Raspi 3 läuft nämlich noch als NAS und Plexserver. Ich suche gerade einen grund, dort iobroker als Slave zu installieren :lol:
-
Super Script! ideal für den Raspberry 3!
Werde ich auch mal versuchen bei Gelegenheit. Überlege noch, für was. Im Prinzip kann man damit ja auch auch einen Diebstahlschutz (oder besser: -anzeige) verwirklichen. So ein LE-Bluetooth Funkfeuer (billiges Mi-Band) ins Auto legen oder irgendwie am Fahrrad unterm Sattel versteckt befestigen, und wenn das Signal weg ist, man selbst aber da ist, dann Auto = geklaut (oder so ähnlich) und Alarm wird ausgelöst. `
Dann müsste das Auto oder das Fahrrad in der Nähe von Deinem Rechner mit Bluetooth stehen
Für die Anwesenheitserkennung daheim kannst Du es gut verwenden.
Oder aus Neugier, was so alles in der Gegend funkt.
Warte aber noch etwas. Ich arbeite immer zwischendurch mal dran und bald kommt die Version 1.0.0.
Zerotouch.Skript… in der Theorie soll das dann funktionieren, ohne dass Du das Skript anfassen musst. Macht es jetzt in der nicht veröffentlichten Version schon. Ich will nur noch einbauen, dass man über die Objekte auch Geräte löschen und auf Blacklist setzen kann.
Das System hätte den Vorteil, dass auch die bei Diebstählen üblicherweise genutzten Jammer (Geräte, die sämtliche mobile Daten, wie WLAN, Bluetooth, GSM-Netz, GPS) stören, damit das geklaute Auto sich nicht melden kann. Wenn der Diebstahl aber andersherum registriert wird… Muss ich mal checken, wie stabil sowas laufen würde. Es ist halt leider nur zu spät, weil dann das Objekt schon wegbewegt worden ist... `
Wie gesagt. Das Bluetooth-SIgnal müsste dann vom Auto aus Deinen Rechner erreichen.
Was ich mache… ich habe ein Beacon im Auto liegen und nutze dies zur Anwesenheitserkennung im Auto über Geofency und ioBroker.
PS:der Apple TV 4 sendet auch ein Funkdauerfeuer aus. Warum auch immer :evil: Wegen der Fernbedienung vermutlich. `
Apple erzeugt recht viel BLE-Funkmüll. Ich habe viele Apple Geräte im Einsatz und das bei mir so konfiguriert, dass alles unbrauchbare rausgefiltert wird. In der Verion 1 des Skripts muss man sich darum auch nicht kümmern.
PPS: Du hast am Anfang des Threads auch erwähnt, dass du einen 2. Raspi benutzt. Also zumindest 2 Instanzen von iobroker nutzt.
Benutzt du den Multihostmodus dafür? http://www.iobroker.net/docu/?page_id=3068&lang=de
Wie sind da die Erfahrungen? Wie läuft es praktisch? Läuft der Master weiter wenn ein Slave ausfällt?
Wegen der Aufteilung der Rechenleistung macht es eher wenig Sinn, oder? So viel fällt ja nicht an, höchstens wenn man den vis-Webserver auslagern will weil so viele gleichzeitig darauf zugreifen wollen. Sinnvoll ist das nur, wenn man auf die Hardwareanschlüsse des 2. Slaves zugreifen will?
Mein 1. Raspi 3 läuft nämlich noch als NAS und Plexserver. Ich suche gerade einen grund, dort iobroker als Slave zu installieren :lol: `
Momentan steht der Pi standalone zur Entwicklung (BLE Adapter und Beacon). Mein Produktivsystem läuft direkt auf einen iMac. Und mein altes Produktivsystem unter Debian auf einer VM.
Ich möchte den Pi als Satellit nutzen, mit dem BLE Scanner einem Beacon, einem Beacon Scanner und Z-Wave über USB-Stick.
GGf. sogar mehrer Pi3 als BLE Scanner.
Dann will ich sie als Slave einbinden und kann Deine Fragen beantworten. Derzeit leider noch nicht
-
Danke für den Tipp mit den Beacons, jetzt weiß ich endlich was das ist. Nichts essbares also :lol:
Vielleicht besorge ich mir auch mal eins.
Also mein Hauptraspi wäre definitiv zu weit weg vom Auto. Ca. 30 m + Wände. Aber selbst wenn ich im Garten hinten bin, ist das alles viel zu weit weg.
Allerdings könnte ich im Carport ein solchen Slave-Raspi 3 hinstellen, der könnte dann auch gleich horchen ob ich mit dem Auto komme und das Licht einschalten (und das elektrische Tor öffnen?).
Vielleicht koppele ich den Diebstahlschutz das nicht mit meiner Anwesenheit, sondern mit der des Autoschlüssels (der einen eigenen Minibeacon bekommt).
Ich warte aber jetzt noch auf Deine Version 1! In dieser Zeit beschäftige ich mich mal mit Beacons und welche geeignet wären. Die sind ja sauteuer, wenn ich das richtig sehe, ab 35 €. Also nix mit alles per Becons versehen (Rasenmäher, Schubkarre, Kabeltrommelende :lol: ) Vielleicht ist da ein 12 € Miband zum spielen erstmal doch besser, da liegt noch eins herum bei mir.
Ich sehe - es wird alles sehr interessant. Habe nur Angst, dass man sich einen Haufen Technikschrott anhäuft. Niemand anderes findet sich damit zurecht und wartungsarm ist es nunmal auch nicht. Deshalb ist mein Konzept auch immer "aufbauend" auf bewährte Sachen, die Homeautomatisationssteuerungen sind dann nur optional oben drauf.
-
Anbei die letzte Version des Skripts. Durch die Neuinstallation meine Produktivumgebung hab ich jetzt nicht ganz alles realisiert, was noch rein sollte.
Es ist für ein Skript aber auch schon ein wenig lang geworden. Größer, als das man es in einem Beitrag rein kopieren kann
Das Skript zum Download:
Es sollte komplett ohne Eingriff funktionieren. Wenn man mag, kann man dann noch die eigenen Geräte, die gefunden wurden, im Skript mit einem Namen versehen.
Screenshot:
-
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:make
failed 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