Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Pi 3 als Bluetooth LE Scanner (Beispielscript)

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Pi 3 als Bluetooth LE Scanner (Beispielscript)

    This topic has been deleted. Only users with topic management privileges can see it.
    • derAuge
      derAuge last edited by

      es wird nun ein Gerät gefunden (Welches auch immer ? )

      Tab4 nicht

      SmatePhone nicht

      BlackBarry nicht

      (mal eine Nacht drüber schlafen)

      Gruß

      Jürgen

      1 Reply Last reply Reply Quote 0
      • ruhr70
        ruhr70 last edited by

        Hi Jürgen,

        danke für das Feedback!

        Tab4, SmartPhone und BlackBerry sind keine BLE Geräte.

        Mein iPhone, iPads und Macs werden auch nicht angezeigt.

        Gefunden werden Geräte, die dauerhaft Bluetooth aussenden, wie Fitnessarmbänder, Bluetooth Tags und Geräte, die sich über Bluetooth zur Konfiguration bemerkbar machen, wie der Aura Lichtwecker.

        Warum der Samsung Fernseher der Nachbarn ständig funkt, wenn er an ist… so kann ich denen einen monatlichen Report über deren Fernsehkonsum erstellen 🙂

        ich hoffe, dass der Gigaset G-tag dazugehört. Am Wochenende werde ich es wissen.

        wenn ja kommt der G-tag ans Schlüsselbund und ergänzt meine Anwesenheitserkennung um die dann zuverlässigste Methode.

        Bisher mache ich das per:

        • Ping auf die iPhones

        (in der jetzigen ioBroker Installation gestoppt, da der Ping Adapter auf dem iMac Probleme macht). Funktioniert auch nur, wenn man bei Ankunft den Bildschirm vom iPhone aktiviert oder es am Ladegerät hängt

        • ein Raspberry Pi 2 mit Bluetooth Stick als iBeacon und Geofency. Funktioniert besser als die Erkennung über WLAN und Ping. Ist aber auch nicht ganz perfekt. Wenn der Akku vom iPhone leer ist z.B. nicht und manchmal schwankt die Erkennung. Und es zerrt am Akku.

        Den Schlüssel hat man immer bei sich und die Batterie soll über ein Jahr halten.

        Fitnissarmbänder oder Sticks, wie den Fitbit One sind auch schon oft vorhanden und werden auch oft dauerhaft getragen.

        Danke schon einmal für Dein Feedback!

        Würde mich interessieren, was da bei dir funkt. Dürfte aber nicht so einfach rauszufinden sein 🙂

        Gesendet von iPhone mit Tapatalk

        1 Reply Last reply Reply Quote 0
        • ruhr70
          ruhr70 last edited by

          Hallo Jürgen,

          eine kleine Ergänzung. Wenn Du aus Deinen Androids ein Bacon machst, dann dürften die auch funktionieren.

          ich habe mal nach einer passenden App gegoogelt:

          https://play.google.com/store/apps/deta … uickbeacon

          Gruß,

          Michael

          1 Reply Last reply Reply Quote 0
          • derAuge
            derAuge last edited by

            315_bt.png

            nun sind es bereis 6 Geräte geworden

            Gruß

            Jürgen

            1 Reply Last reply Reply Quote 0
            • ruhr70
              ruhr70 last edited by

              @derAuge:

              nun sind es bereis 6 Geräte geworden `

              Hi Jürgen,

              Danke für die Info! Laut Screenshot sind es bei Dir nur zwei Geräte (CountAll = 2), ein Gigaset G-tag und ein Samsung TV.

              Freue mich gerade. D.h. das G-Tag wird funktionieren 😉

              Sind das Deine Geräte (Samsung Fernseher und das/der G-tag)?

              VG,

              Michael

              1 Reply Last reply Reply Quote 0
              • derAuge
                derAuge last edited by

                @ruhr70:

                Laut Screenshot sind es bei Dir nur zwei Geräte `

                stimmt. Da hatte ich das Bild gemacht.

                inzwischen hat er bereits 11 devices gesehen.

                und Ja

                Es ist ein Samsung TV und

                ein Gigaset ?

                Gruß

                Jürgen

                1 Reply Last reply Reply Quote 0
                • ruhr70
                  ruhr70 last edited by

                  @derAuge:

                  ein Gigaset ? `

                  Ein Gigaset G-tag:

                  http://www.amazon.de/Gigaset-Bluetooth- … aset+g-tag

                  Wenn es nicht Deins ist, dann war vielleicht jemand in der Nähe mit so einem Ding.

                  Auf jeden Fall geht es mir u.a. darum. Ich hab eins zum Test bestellt und mich schon gefreut, dass es bei Dir erkannt wird 🙂

                  1 Reply Last reply Reply Quote 0
                  • derAuge
                    derAuge last edited by

                    ok

                    dann ist es wohl vorbei gefahren

                    der Wert "32.73" bei "Bluetooth Device Distanz" sind wohl Meter Entfernung?

                    ich dachte erst es sei mein Gigaset Telefon SX353isdn mit BT

                    NAchdem ich mein SamsungTV nun ausgeschaltet habe ist der OnlineZähler auf 0

                    Gruß

                    Jürgen

                    1 Reply Last reply Reply Quote 0
                    • ruhr70
                      ruhr70 last edited by

                      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?

                      1 Reply Last reply Reply Quote 0
                      • P
                        Pman last edited by

                        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.

                        1 Reply Last reply Reply Quote 0
                        • ruhr70
                          ruhr70 last edited by

                          @Pman:

                          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.

                          1 Reply Last reply Reply Quote 0
                          • Bluefox
                            Bluefox last edited by

                            @ruhr70:

                            @Pman:

                            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.

                            1 Reply Last reply Reply Quote 0
                            • ruhr70
                              ruhr70 last edited by

                              @Bluefox:

                              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!

                              1 Reply Last reply Reply Quote 0
                              • ruhr70
                                ruhr70 last edited by

                                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

                                1 Reply Last reply Reply Quote 0
                                • ruhr70
                                  ruhr70 last edited by

                                  @Pman:

                                  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.

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    Stmiko last edited by

                                    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_Scanner

                                    Hast Du eine Idee woran das liegen könnte?
                                    
                                    Danbke und Gruß,
                                    1 Reply Last reply Reply Quote 0
                                    • ruhr70
                                      ruhr70 last edited by

                                      @Stmiko:

                                      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!

                                      1 Reply Last reply Reply Quote 0
                                      • ruhr70
                                        ruhr70 last edited by

                                        @Stmiko:

                                        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_Scanner

                                        Hast 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 🙂

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          Stmiko last edited by

                                          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

                                          1 Reply Last reply Reply Quote 0
                                          • ruhr70
                                            ruhr70 last edited by

                                            @Stmiko:

                                            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).

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            744
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            28
                                            254
                                            57348
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo