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.
    • ruhr70
      ruhr70 last edited by

      @MathiasJ:

      Nun zur Frage, kann man ein Programm schreiben, vorzugsweise in Blocky, das G-Tag 1 Slave1 - Slave2 zusammenfasst?

      Das würde ich dann mit G-Tag 2 Slave1 - Slave2 und G-Tag 3 Slave1 - Slave2 machen.

      Ich will damit bezwecken, dass ich wirklich abwesend bin, wenn der G-Tag bei beiden Slaves false ist. `

      Hi Matthias,

      Mit Blockly kann ich Dir nicht weiterhelfen.

      In Javascript würdest Du mit on() die Datenpunkte Deiner G-Tags überwachen und auf Änderung reagieren.

      Dann jeweils den Zustand des korrespondierenden G-Tag abfragen und mit ODER verknüpfen.

      Bei min 1x true ist der G-Tag da, bei 2x false abwesend.

      Wenn da die Zustände gezählt werden, kannst Du dies auch noch mit dem Datepunkt .lastStateCount verküpfen.

      einer true, lastStateCount egal -> anwesend

      Beide false und bei beiden .lastStateCount >= 5: abwesend.

      ungetestet für einen G-Tag (ohne Count):

      var logOn = true; // logging true/fals
      
      var idGtag1slave1 = "javascript.1.Bluetooth.Device.DEINGTAG1.lastState";
      var idGtag1slave2 = "javascript.2.Bluetooth.Device.DEINGTAG1.lastState";
      
      on({id:[idGtag1slave1,idGtag1slave2],change:'ne'}, function (obj) {
          if(logOn) ("Zustandsänderung von " + obj._id + " auf " + obj.state.val);
          var gtag1slave1 = getState(idGtag1slave1);
          var gtag1slave2 = getState(idGtag1slave2);
          if(logOn) log("G-Tag 1: Slave 1: " + gtag1slave1 + " - Slave 2: " + gtag1slave2);
          if(gtag1slave1 || gtag1slave2) {
              if(logOn) log("G-Tag 1: ist anwesend");
          } else {
              if(logOn) log("G-Tag 1: ist abwesend");
          }
      });
      
      
      1 Reply Last reply Reply Quote 0
      • MathiasJ
        MathiasJ last edited by

        Das werde ich doch gleich mal ausprobieren!

        Übermorgen ist ja Feiertag und Basteltag.

        Heute bleibt der Rechner aus

        Ich muß morgen sehr früh raus.

        Danke für den Skript. Ich bin, was Java(skript) angeht ein totaler Anfänger.

        Ich bin gespannt, ob ich auch das Xiaomi-Gsteway samt Sensoren zum Laufen bekomme. Das ist aber wiederum eine andere Geschichte.

        Gruß,

        Msthias

        Gesendet von meinem SM-N915FY mit Tapatalk

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

          Ich habe deinen Anwesenheits-Script laufen lassen.

          Nun zum Problem:

          Auf Slave1 (javascript1) läuft alles rund.

          Wenn ich jetzt in das Wohnzimmer gehe, bin ich auf Slave2 (Javascript2) online, dann offline, dann wieder online….... etc.

          ich habe jetzt Slave2 deaktiviert und vom Master gelöscht, weil er doch nicht benötigt wird.

          Ich weiß nicht, ob es nur mir so geht. Wenn ich den Master neu starte über -->Admin-->Hosts-->Master links iobroker neustart, dann habe ich gar kein Signal mehr.

          Wenn ich den Slave anschließend auf dem gleichen Weg neu starte, ist alles in Butter.

          Nur noch eine Frage:

          Die Blockly-Programme laufen jetzt Gott sei dank auf dem Master.

          Ist es besser, wenn ich die 3 Scripte über den Master oder dem Slave laufen lasse?

          Gruß,

          Mathias

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

            @MathiasJ:

            Auf Slave1 (javascript1) läuft alles rund.

            Wenn ich jetzt in das Wohnzimmer gehe, bin ich auf Slave2 (Javascript2) online, dann offline, dann wieder online….... etc.

            ich habe jetzt Slave2 deaktiviert und vom Master gelöscht, weil er doch nicht benötigt wird. `

            Kann es sein, dass der Zustand auf dem Slave im Wohnzimmer immer gewechselt hat (true/false/true).

            Um as zu überprüfen kannst Du History für den Datenpunkt aktivieren und ansehen, wie und wann sich die Zustände ändern.

            @MathiasJ:

            Ich weiß nicht, ob es nur mir so geht. Wenn ich den Master neu starte über –>Admin-->Hosts-->Master links iobroker neustart, dann habe ich gar kein Signal mehr.

            Wenn ich den Slave anschließend auf dem gleichen Weg neu starte, ist alles in Butter. `

            Ja, ist bei mir auch so.

            @MathiasJ:

            Nur noch eine Frage:

            Die Blockly-Programme laufen jetzt Gott sei dank auf dem Master.

            Ist es besser, wenn ich die 3 Scripte über den Master oder dem Slave laufen lasse? `

            Du meinst auf welcher Javascript Instanz Dein Skript läuft?

            Ich würde es auf der Instanz des Masters machen. Ist aber eigentlich auch egal.

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

              Dankeschön! Dann habe ich ja alles richtig gemacht!

              Ich wünsche einen schönen Feiertag!

              UPDATE:

              Ich habe die Anwesenheitskennung nun mit ein paar Homematic-Programme verknüpft, nachdem ein Blockly-Skript eine SysVar von abwesend nach anwesend oder umgekehrt ändert.

              Nun habe ich doch noch eine Frage:

              Ist es möglich diese Anwesenheitskennung auch in piVCCU unter dem Asus Tinkerboard zu installieren?

              Gruß,

              Mathias

              1 Reply Last reply Reply Quote 0
              • B
                Blackeye last edited by

                Hi,

                ich suche eine Möglichkeit um Bluetooth Geräte in meiner Umgebung zu taggen. Oder besser ich möchte wissen wann sich welche Bluetooth Geräte in meiner Umgebung befinden, ist das hier möglich?

                Danke

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

                  wenn es BLE Geräte sind, ja

                  iPhone z. B. nicht.

                  am Anfang des Threads sind Beispiele, welche Geräte gehen

                  Gesendet von iPhone mit Tapatalk

                  1 Reply Last reply Reply Quote 0
                  • B
                    Blackeye last edited by

                    Hi,

                    Danke für die Info.

                    Dann muss ich weiter suchen. Mir geht es um Handy mit Android und IOS.

                    Es scheint aber irgendwie nichts zu geben.

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

                      ich fürchte, da wirst Du nichts finden.

                      Du kannst natürlich eine entsprechende App drauf machen, die ständig funkt.

                      Gesendet von iPhone mit Tapatalk

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

                        Es werden sogar meine Xiaomi flower sensors getriggert.

                        Na gut, die sind mir eigentlich egal. Wichtig sind mir die beacons, um zu sehen wer an- bzw abwesend ist.

                        Ich habe mir zu Testzwecken auch billige beacons bei Aliexpress bestellt. Die gehen auch.

                        Gruß,

                        Mathias

                        Gesendet von meinem SM-N915FY mit Tapatalk

                        1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators last edited by

                          Hallo ruhr70,

                          habe mal wieder dein Skript herausgekramt und auf einem NUC installiert.

                          Jetzt hat er was gefunden, aber es kommt eine Fehlermeldung:

                          {"errors":{"detail":"Page not found"}}
                          

                          Beim Schnellen Überfliegen denke ich dass das von hier kommt:

                          var url = 'http://api.macvendors.com/' + id;
                          

                          Bei eingabe des URL ohne ID kommt auf der Seite:

                               __  __    ___     ___   __   __                     _
                              |  \/  |  /   \   / __|  \ \ / /   ___    _ _     __| |    ___      _ _    ___
                              | |\/| |  | - |  | (__    \ V /   / -_)  | ' \   / _` |   / _ \    | '_|  (_-<
                              |_|__|_|  |_|_|   \___|   _\_/_   \___|  |_||_|  \__,_|   \___/   _|_|_   /__/_
                              _|"""""|_|"""""|_|"""""|_| """"|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|
                              "`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'
                          
                              Make an account at https://app.macvendors.com
                          
                          

                          EDIT:

                          und mit angabe der MAC

                          https://api.macvendors.com/5c:04:6d:34:1c:c9

                          kommt genau das:

                          {"errors":{"detail":"Page not found"}}
                          

                          Gruß

                          Rainer

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

                            ja, ist mir vor einiger Zeit auch aufgefallen, dass es die Seite mit den Herstellern nicht mehr gibt.

                            Das Skript lief bei mir trotzdem

                            Gesendet von iPhone mit Tapatalk

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

                              ich ändere das aber mal, wenn ich wieder daheim bin

                              Gesendet von iPhone mit Tapatalk

                              1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators last edited by

                                @ruhr70:

                                ich ändere das aber mal, wenn ich wieder daheim bin `

                                Habe das dazu noch gefunden:
                                ` > First we would like to thank all our loyal users, especially the ones who have donated!

                                Since we have been subject to abuse of our API from several large companies and smart phone app creators who have incorrectly implemented our API, we have essentially been DDoSed for the past few months. (and our SSL cert expiring doh)

                                We have tested the new site a few times during off-peak hours and the results are extremely promising! If you would like to help test our beta site, please Contact Us and let us know you are interested in the beta. We will get back to you with a link when the beta is live.

                                Our current site will continue to operate without the API enabled and once the beta site goes live, all (correct) API queries will be backward compatible with the new website.

                                Please feel free to contact us via our Contact Us page with any questions, improvements, requests, ideas, or anything at all you may have.

                                Especially if you have any improvements or feature requests for the new site, we will accomidate and pack as many features as we can into the new site before it goes live!

                                Thank you! `

                                Gruß

                                Rainer

                                1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators last edited by

                                  Bin jetzt wohl irgendwie auf eine andere Seite von MacVendors gekommen.

                                  Danach machst du alles richtig.

                                  Bei korrekter Abfrage über die API kommt der Name zurück, sollte dieser nicht bekannt/zuzuordnen sein kommt ein 404.

                                  Das könntest du ggf. abfangen und in ein "unbekannter Hersteller" o.ä. umwandeln.

                                  Gruß

                                  Rainer

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

                                    Weiß jemand, ob es schon einen Bluetooth 5.0 Stick gibt, der auch für einen Raspberry PI kompatibel ist?

                                    Derzeit muß ich meine Jacke an einem speziellen Platz aufhängen, damit meine Anwesenheit erkannt wird.

                                    Damit wäre dann, wenn ich der Spezfikation Glauben schenken darf endgültig Schluß.

                                    Gruß,

                                    Mathias

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

                                      Hat sich erledigt!

                                      Ich habe den alten Raspberry PI 3B von meiner ehemaligen Raspberrymatic genommen. Das Funkmodul steckt jetzt auf einem Pi2 B und schlummert in der Schublade vor sich hin.

                                      Jetzt geht's Dank internem Funkmodul des PI 3B in der ganzen Wohnung.

                                      Gruß,

                                      Mathiaa

                                      Gesendet von meinem SM-N915FY mit Tapatalk

                                      1 Reply Last reply Reply Quote 0
                                      • A
                                        andreas.walte last edited by

                                        Hallo Zusammen

                                        bin Blutiger Anfänger habe mir 2 G-Tags gekauft und wollte diese als Anwesenheitserkennung nutzen

                                        2.) "noble" in der Javascript Instanz (Config) eintragen (ohne Anführungszeichen)

                                        3.) globales Skript: logs() (Post Nr. 2) in die globalen Skripte kopieren und starten

                                        4.) Bluetooth Scanner Skript (Post Nr. 3) in Skripte kopieren und starten

                                        ich kann leider damit nichts anfangen…......

                                        aller Anfang ist schwer erbitte um hilfe

                                        lg

                                        1 Reply Last reply Reply Quote 0
                                        • O
                                          oetti last edited by

                                          Hallo zusammen,

                                          wer von euch nutzt den BT0015 für diese Lösung? Welche Erfahrung habt ihr bzgl. der Reichweite damit gemacht?

                                          Lt. Datenblatt sollen es 100m sein, was ich nicht so recht glauben kann. Die Hälfte würde mir schon reichen.

                                          Gefühlt ist bei mir nach 10m Feierabend.

                                          Wie sieht's bei euch aus? Habt ihr Alternativen mit Antenne, welche deutlich weiter reichen?

                                          Gruß

                                          oetti

                                          1 Reply Last reply Reply Quote 0
                                          • O
                                            oetti last edited by

                                            Hallo,

                                            nach langem Testen habe ich noch einige Fragen zum Script, da mittlerweile gar keine Devices mehr im ioBroker angelegt werden.

                                            Auf meinem Raspberry habe ich 2 Devices:

                                            Devices:
                                                    hci1    B8:27:EB:90:0F:31
                                                    hci0    00:1A:7D:DA:71:0C
                                            
                                            

                                            Wobei hci0 aus meiner Sicht der USB-Dongle (BT0015) ist:

                                            hci1:   Type: Primary  Bus: UART
                                                    BD Address: B8:27:EB:90:0F:31  ACL MTU: 1021:8  SCO MTU: 64:1
                                                    UP RUNNING
                                                    RX bytes:98424 acl:0 sco:0 events:5223 errors:0
                                                    TX bytes:30993 acl:0 sco:0 commands:3154 errors:0
                                            
                                            hci0:   Type: Primary  Bus: USB
                                                    BD Address: 00:1A:7D:DA:71:0C  ACL MTU: 310:10  SCO MTU: 64:8
                                                    UP RUNNING
                                                    RX bytes:246821 acl:0 sco:0 events:9588 errors:0
                                                    TX bytes:34039 acl:0 sco:0 commands:3886 errors:0
                                            
                                            

                                            EIn Scan über beide Geräte findet auch 2 v. 3 G-Tags (ca. 3m und 7m entfernt). Der 3. G-Tag (ca. 15m entfernt) wird von beiden nicht gefunden (siehe auch meine Frage einen Beitrag weiter vorher).

                                            hcitool -i hci1 lescan
                                            LE Scan ...
                                            D8:E0:E1:A3:86:42 (unknown)
                                            7C:2F:80:97:1E:CB (unknown)
                                            7C:2F:80:97:1F:2A (unknown)
                                            7C:2F:80:97:1F:2A Gigaset G-tag
                                            07:B6:01:54:36:EA (unknown)
                                            42:C5:B6:51:47:74 (unknown)
                                            42:C5:B6:51:47:74 (unknown)
                                            7C:2F:80:97:1E:CB Gigaset G-tag
                                            D8:E0:E1:A3:86:42 [TV] Samsung 6 Series (40)
                                            
                                            hcitool -i hci0 lescan
                                            LE Scan ...
                                            7C:2F:80:97:1F:2A (unknown)
                                            7C:2F:80:97:1F:2A Gigaset G-tag
                                            7C:2F:80:97:1E:CB (unknown)
                                            7C:2F:80:97:1E:CB Gigaset G-tag
                                            42:C5:B6:51:47:74 (unknown)
                                            42:C5:B6:51:47:74 (unknown)
                                            7C:2F:80:97:1F:2A (unknown)
                                            7C:2F:80:97:1F:2A Gigaset G-tag
                                            42:C5:B6:51:47:74 (unknown)
                                            42:C5:B6:51:47:74 (unknown)
                                            42:C5:B6:51:47:74 (unknown)
                                            42:C5:B6:51:47:74 (unknown)
                                            42:C5:B6:51:47:74 (unknown)
                                            42:C5:B6:51:47:74 (unknown)
                                            7C:2F:80:97:1F:2A (unknown)
                                            7C:2F:80:97:1F:2A Gigaset G-tag
                                            
                                            

                                            Im ioBroker taucht mittlerweile nichts mehr davon auf. Sämtliche Instanzen habe ich mehrfach neugestartet - o.E.

                                            9347_unbenannt.png

                                            Folgende Fragen dazu:

                                            1. Welches Bluetooth-Device wird denn vom Script abgefragt/genutzt (hic0 oder hci1 oder beide??)

                                            2. Muss beim Device noch irgendetwas angegeben werden? Ich habe bis jetzt lediglich "hcitool -i hciX up" gemacht. Mehr nicht.

                                            3. Siehe mein Beitrag vorher, sind 10m beim BT0015 wirklich alles?

                                            4. Warum werden keine Objekte mehr angelegt?

                                            Ich höre jetzt erst einmal auf. Nach müde kommt bekanntlich doof 😉

                                            Vllt fällt euch irgendetwas zu den oberen Fragen ein.

                                            Danke

                                            oetti

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            793
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            28
                                            254
                                            57346
                                            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