Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Pi 3 als Bluetooth LE Scanner (Beispielscript)

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.0k

Pi 3 als Bluetooth LE Scanner (Beispielscript)

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
254 Beiträge 28 Kommentatoren 64.0k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • ruhr70R Offline
    ruhr70R Offline
    ruhr70
    schrieb am zuletzt editiert von
    #134

    @lobomau:

    Bei mir passiert das erst wenn der dongle etwas weiter weg ist. In meinem Fall liegen die dongle in zwei Autos hintereinander geparkt. Das Auto weiter weg wechselt oft von true auf false und wieder zurück. Im Bild ist der X1 näher als der C3. Obwohl beide hin und wieder auf false wechseln, steht beim counter jeweils eine große positive Zahl, die anzeigt seit wievielen Versuchen es auf true steht. Müsste nicht jedes Mal wenn es auf false geht der counter auf Null gesetzt werden? `

    Ja, stimmt müsste es. Danke für den Hinweis!

    In der Funktion ist ein Fehler. Wenn ein Gerät nicht erreichbar ist, wird nicht auf 0 gesetzt, sondern die vorhandene Zahl um 1 reduziert.

    `function nichtErreichbar() {
        for (var i=0; i<bekanntedevicesnichterreichbar.length; i++)/{/var/id="bekannteDevicesNichtErreichbar[i];" if(!inblacklist(id))/setstate(devicepfad/+/".laststate"/,false);/".laststatecount"/,getstate(devicepfad/".laststatecount").val/-/1);/}/}<e=""></bekanntedevicesnichterreichbar.length;>`
    
    Richtig wäre:
    
    `~~[code]~~function nichtErreichbar() {
        for (var i=0; i <bekanntedevicesnichterreichbar.length; i++)/{/var/id="bekannteDevicesNichtErreichbar[i];" if(!inblacklist(id))/setstate(devicepfad/+/".laststate"/,false);/laststatecount="getState(devicePfad" ".laststatecount"/).val;/if(laststatecount="">0) {
                    lastStateCount = 0;
                } else {
                    lastStateCount = lastStateCount - 1;
                }
                setState(devicePfad + id + ".lastStateCount"   ,lastStateCount);
             }
        }
    }</bekanntedevicesnichterreichbar.length;>`
    
    Wenn ein "Flattern" von Geräten ein Problem ist, könnte man noch einbauen, dass sich nach einem Wechsel des Zustands "erreichbar" für drei Zyklen der Zähler sich nicht ändert. 
    
    Ein Indikator für An-und Abwesend wäre dann der Wert in lastStateCount und nicht in lastState.
    
    Wenn es nötig ist, baue ich das gerne noch ein.[/i][/code][/i]
    

    Adapter: Fritzbox, Unify Circuit
    Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

    1 Antwort Letzte Antwort
    0
    • lobomauL Offline
      lobomauL Offline
      lobomau
      schrieb am zuletzt editiert von
      #135

      @ruhr70:

      Wenn ein "Flattern" von Geräten ein Problem ist, könnte man noch einbauen, dass sich nach einem Wechsel des Zustands "erreichbar" für drei Zyklen der Zähler sich nicht ändert.

      Ein Indikator für An-und Abwesend wäre dann der Wert in lastStateCount und nicht in lastState.

      Wenn es nötig ist, baue ich das gerne noch ein. `

      Das wäre genial!

      Host: NUC8i3 mit Proxmox:

      • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
      • Slave: Pi4
      1 Antwort Letzte Antwort
      0
      • K Offline
        K Offline
        Kamikaze
        schrieb am zuletzt editiert von
        #136

        Da ich beruflich viel unterwegs bin, kann ich nicht immer so schnell antworten.

        Erst einmal super Job ruhr70.

        Das "Flattern" ist in den Objekten sichtbar und damit werden auch die Ereignisse ausgelöst. Wenn du die "Stabilitätsroutine" einbauen würdest, wäre das ausgezeichnet.

        Grüße aus dem hohen Norden

        1 Antwort Letzte Antwort
        0
        • K Offline
          K Offline
          Kamikaze
          schrieb am zuletzt editiert von
          #137

          Hallo,

          ich habe das "Flattern" des G-Tags auf beiden Systemen beseitigen können, vielleicht hilft es auch bei Anderen:

          Datei: /etc/init.d/bluetooth

          den Eintrag NOPLUGIN_OPTION/in NOPLUGIN_OPTION="–noplugin=sap" ändern.

          Danach

          sudo service bluetooth restart

          sudo service dbus restart

          sudo reboot

          Grüße

          1 Antwort Letzte Antwort
          0
          • K Offline
            K Offline
            Kamikaze
            schrieb am zuletzt editiert von
            #138

            Ich melde mich noch einmal, da ich noch einige Informationen gesammelt habe:

            Der Ansatz, dass das "Flattern" in Abhängigkeit der Empfangsstärke liegt, kann ich bestätigen.

            Wie man im Log sieht, ist beim Übergang in den Empfangsbereich ein "Flatter" zu sehen.

            Gegen 17:21 Uhr bin ich nach Hause gekommen, gegen 13:22 Uhr habe ich das Haus verlassen.

            –---------------------------------------------------------------------------------------------------------------------------------------------------

            sayit-0 2016-08-06 17:21:55.131 info saying: Kurt ist anwesend

            javascript-0 2016-08-06 17:21:55.099 info script.js.Lokal.BluetoothEreignisse: G-Tag Kurt wieder erreichbar 0 0

            javascript-0 2016-08-06 17:21:55.098 info script.js.Lokal.BluetoothEreignisse: G-Tag Kurt Ereignis: Alt false Neu true

            sayit-0 2016-08-06 17:21:45.057 info saying: Kurt ist nicht mehr zu Hause

            javascript-0 2016-08-06 17:21:44.978 info script.js.Lokal.BluetoothEreignisse: G-Tag Kurt nicht erreichbar -1 1

            javascript-0 2016-08-06 17:21:44.978 info script.js.Lokal.BluetoothEreignisse: G-Tag Kurt Ereignis: Alt true Neu false

            sayit-0 2016-08-06 17:21:32.012 info saying: Kurt ist anwesend

            javascript-0 2016-08-06 17:21:30.982 info script.js.Lokal.BluetoothEreignisse: G-Tag Kurt wieder erreichbar 0 0

            javascript-0 2016-08-06 17:21:30.981 info script.js.Lokal.BluetoothEreignisse: G-Tag Kurt Ereignis: Alt false Neu true

            sayit-0 2016-08-06 13:23:42.182 info saying: Kurt ist nicht mehr zu Hause

            javascript-0 2016-08-06 13:23:42.140 info script.js.Lokal.BluetoothEreignisse: G-Tag Kurt nicht erreichbar -1 1

            javascript-0 2016-08-06 13:23:42.139 info script.js.Lokal.BluetoothEreignisse: G-Tag Kurt Ereignis: Alt true Neu false

            sayit-0 2016-08-06 13:23:28.540 info saying: Kurt ist anwesend

            javascript-0 2016-08-06 13:23:26.103 info script.js.Lokal.BluetoothEreignisse: G-Tag Kurt wieder erreichbar 0 0

            javascript-0 2016-08-06 13:23:26.102 info script.js.Lokal.BluetoothEreignisse: G-Tag Kurt Ereignis: Alt false Neu true

            sayit-0 2016-08-06 13:23:25.535 info saying: Kurt ist nicht mehr zu Hause

            javascript-0 2016-08-06 13:23:22.066 info script.js.Lokal.BluetoothEreignisse: G-Tag Kurt nicht erreichbar -1 1

            javascript-0 2016-08-06 13:23:22.065 info script.js.Lokal.BluetoothEreignisse: G-Tag Kurt Ereignis: Alt true Neu false

            sayit-0 2016-08-06 13:23:04.014 info saying: Kurt ist anwesend

            javascript-0 2016-08-06 13:23:03.990 info script.js.Lokal.BluetoothEreignisse: G-Tag Kurt wieder erreichbar 0 0

            javascript-0 2016-08-06 13:23:03.988 info script.js.Lokal.BluetoothEreignisse: G-Tag Kurt Ereignis: Alt false Neu true

            sayit-0 2016-08-06 13:22:53.159 info saying: Kurt ist nicht mehr zu Hause

            javascript-0 2016-08-06 13:22:52.046 info script.js.Lokal.BluetoothEreignisse: G-Tag Kurt nicht erreichbar -1 1

            javascript-0 2016-08-06 13:22:52.044 info script.js.Lokal.BluetoothEreignisse: G-Tag Kurt Ereignis: Alt true Neu false


            Gruß

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              Solear
              schrieb am zuletzt editiert von
              #139

              Ist das ein geiles Script!

              Habe jetzt Gigaset Beacons für den Schlüssel gekauft und das Script auf einem Raspi 3 als Multihost (1. Slave) installiert. Jetzt gehen meine Alarmmeldungen per Pushover über Fensteröffnungen nur ein, wenn ich nicht Zuhause bin.

              Genial! Danke ruhr70 für das Script und Danke Bluefox für iobroker!! 8-) :mrgreen:

              iobroker als LXC unter Proxmox

              1 Antwort Letzte Antwort
              0
              • S Offline
                S Offline
                Solear
                schrieb am zuletzt editiert von
                #140

                Die Gigaset G-Tags haben eine ganz miese Eigenschaft :lol:

                Sie stoppen die Verbindung zum Raspi-iobroker sobald sie mit dem Handy und der Gigaset G.-Tag App verbunden sind. Hat mich einen halben Tag gekostet das Problem zu finden. Da kommt man ja nicht drauf. Hatte nur 2 von den 3 G-Tags mit dem Handy verbunden, vergessen, und bin beim spielen mit dem Schlüssel/Auto/Empfang fast verrückt geworden.

                Wenn ich jetzt Bluetooth am Handy ausschalte oder die App deinstalliere, dann werden alle G-Tags sauber von iobroker angezeigt.

                iobroker als LXC unter Proxmox

                1 Antwort Letzte Antwort
                0
                • eric2905E Offline
                  eric2905E Offline
                  eric2905
                  schrieb am zuletzt editiert von
                  #141

                  Darauf bin ich auch reingefallen :-D Hab auch einen halben Nachmittag damit verbracht.

                  Ich habe die beiden für die Anwesenheitserkennung einfach nicht an der App angelernt, sondern nur den dritten (aus dem Set) und den in der Tasche versenkt. Anscheinend können die G-Tags nur einen "Empfänger" gleichzeitig (ähnlich wie Pairing).

                  Was mir aber aufgefallen ist, ist dass das Datum der letzten Statusänderung nicht gesetzt wird. Muss mal in Ruhe schauen, warum das so ist.

                  Gruß,

                  Eric

                  Roses are red, violets are blue,

                  if I listen to metal, my neighbours do too

                  1 Antwort Letzte Antwort
                  0
                  • ruhr70R Offline
                    ruhr70R Offline
                    ruhr70
                    schrieb am zuletzt editiert von
                    #142

                    Das die g-tags entweder oder unterstützen hatte ich irgendwo in den 140 Nachrichten hier geschrieben [emoji12]

                    Gesendet von iPad mit Tapatalk

                    Adapter: Fritzbox, Unify Circuit
                    Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                    1 Antwort Letzte Antwort
                    0
                    • ruhr70R Offline
                      ruhr70R Offline
                      ruhr70
                      schrieb am zuletzt editiert von
                      #143

                      Dir g-tags werden übrigens nicht mit dem Skript verbunden.

                      Sie senden so lange Ihre Kennung, bis Sie mit der Gigaset-App verbunden werden. Irgendjemand hier hat das Skript auf mehreren Pis laufen, damit die Anwesenheit über das gesamte Haus erfasst wird und man das Schlüsselbund nicht an zentraler Stelle ablegen muss.

                      Interessant fand ich auch den Anwendungsfall mit der Garage. Je ein g-Tag im Auto und dann über das Skript zu erfassen, welches Auto vorne und welches Auto hinten steht.

                      Das Datum der letzten Statusänderung wird nicht gesetzt?

                      Gib mal Eine Info dazu, wenn ich was überprüfen muss.

                      Gesendet von iPad mit Tapatalk

                      Adapter: Fritzbox, Unify Circuit
                      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                      1 Antwort Letzte Antwort
                      0
                      • eric2905E Offline
                        eric2905E Offline
                        eric2905
                        schrieb am zuletzt editiert von
                        #144

                        Hi ruhr70,

                        @ruhr70:

                        Das Datum der letzten Statusänderung wird nicht gesetzt?

                        Gib mal Eine Info dazu, wenn ich was überprüfen muss. `

                        Ich habe heute früh im Script das Datumsformat geändert:

                        /*function datum(){
                            return formatDate(new Date(), "YYYY-MM-DD,SS:mm");
                        }*/
                        
                        function datum(){
                            return formatDate(new Date(), "DD.MM.YYYY, SS:mm");
                        }
                        

                        und das Script neu gestartet (wollte den Wert in VIS mit ausgeben - und da sieht die "deutsche" Schreibweise einfach schöner aus).

                        Das Startdatum und Uhrzeit wurde sauber in den Datenpunkt geschrieben, aber keine weitern Statusänderungen - und ich war zwischendurch ein paar mal weg (die Pushover-Nachrichten sind angekommen).

                        Habe es wieder auf das Original geändert und jetzt mal sehen, was kommt. Der Datenpunkt "lastStateDate" steht jetzt auf "2016-09-18,22:19".

                        Mal abwarten.

                        Gruß,

                        Eric

                        Roses are red, violets are blue,

                        if I listen to metal, my neighbours do too

                        1 Antwort Letzte Antwort
                        0
                        • lobomauL Offline
                          lobomauL Offline
                          lobomau
                          schrieb am zuletzt editiert von
                          #145

                          @Solear:

                          Die Gigaset G-Tags haben eine ganz miese Eigenschaft :lol:

                          Sie stoppen die Verbindung zum Raspi-iobroker sobald sie mit dem Handy und der Gigaset G.-Tag App verbunden sind. Hat mich einen halben Tag gekostet das Problem zu finden. `
                          Hättest mal das ganze Thema durchlesen müssen. Wird irgendwo erwähnt.

                          Aber stimmt, klasse Sache das Script in Verbindung mit den g-tags.

                          Host: NUC8i3 mit Proxmox:

                          • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                          • Slave: Pi4
                          1 Antwort Letzte Antwort
                          0
                          • frankjokeF Offline
                            frankjokeF Offline
                            frankjoke
                            schrieb am zuletzt editiert von
                            #146

                            Hallo mitsammen!

                            Dies ist mein erster Eintrag in diesem Forum. Kam erst über node-red und HomeMatic auf ioBroker und nach den ersten Versuchen hab ich versucht einige Funktionen die ich bis jetzt in node-red abgebildet habe auf ioBroker in scripts zu übertragen.

                            Hab natürlich auch das Bluetooth script probiert aber es hat mir nie meine Telefone gelistet (son'st 'ne Menge) obwohl mein script in node-red funktionierte.

                            Deshalb wollte ich mal meinen Lösungsansatz mit euch teilen. Übrigens, er ist kombiniert mit WLAN-ping, also fragt Bluetooth und WLAN ab.

                            Als Voraussetzung war bei mir nur````
                            sudo apt-get install fping

                            
                            Das script basiert auf fping für WLAN und hcitool für BT. Es benutzt die Möglichkeit eine BT-MAC-Adresse nach dem Namen zu fragen welche natürlich nur antwortet wien das Gerät da ist. Aber es funktioniert auch wenn das Gerät nicht verbunden/gepairt ist.
                            
                            Es wird bei mir mit Zählern verwendet und minütlich ausgeführt. Wenn ein Teil 10 Minuten weder auf BT noch auf WLAN erreichbar ist dann gilt es als Abwesend.
                            
                            Wenn alle abwesend sind wird noch ein anderes flag gesetzt.
                            
                            Damit kann ich prüfen ob meine Frau oder ich anwesend sind. Da wir beide WLAN und BT immer eingeschaltet haben funktioniert das auch noch auf der Terasse oder im Garten wo das BT nicht mehr reicht.
                            
                            

                            var patt = new RegExp(" is alive");
                            var startcount = 10;
                            var numscan = 0;
                            var thisscan = 0;
                            var somealive = false;

                            var scanList = {
                            "Phone1": {
                            ip: "Galaxy7e.fritz.box",
                            bt: "3C:BB:xx:xx:xx:xx"
                            },
                            "Phone2": {
                            ip: "GalaxyALPHA.fritz.box",
                            bt: "FC:19:xx:xx:xx:xx"
                            }
                            };

                            for (var item in scanList) {
                                logs("Create " + item + " " + JSON.stringify(scanList[item]));
                                var di = "Ping."+ item ;
                            
                                createState(di + '.anwesend', false, { // Datenpunktname ohne Leerzeichen und Sonderzeichen, wie er in den Objekten angelegt wird
                                    name: 'PersonAnwesend',           // Lesbarer Name des Datenpunkts
                                    desc: 'Ist die Person anwesend?',   // Beschreibung des Datenpunkts
                                    type: 'boolean',                         // Bescreibung des Typ, wie: number, string, boolean
                                    unit: ''                              // Einheit, wenn benötigt 
                                });
                            
                                createState(di + '.count', 0, { // Datenpunktname ohne Leerzeichen und Sonderzeichen, wie er in den Objekten angelegt wird
                                    name: 'CounterAnwesend',           // Lesbarer Name des Datenpunkts
                                    desc: 'Ist die Person anwesend?',   // Beschreibung des Datenpunkts
                                    type: 'number',                         // Bescreibung des Typ, wie: number, string, boolean
                                    unit: ''                              // Einheit, wenn benötigt 
                                });
                            
                                createState(di + '.ip', false, { // Datenpunktname ohne Leerzeichen und Sonderzeichen, wie er in den Objekten angelegt wird
                                    name: 'LastIPAnwesend',           // Lesbarer Name des Datenpunkts
                                    desc: 'Ist die Person mit fping erkannt worden?',   // Beschreibung des Datenpunkts
                                    type: 'boolean',                         // Bescreibung des Typ, wie: number, string, boolean
                                    unit: ''                              // Einheit, wenn benötigt 
                                });
                            
                                createState(di + '.btname', "undefined", { // Datenpunktname ohne Leerzeichen und Sonderzeichen, wie er in den Objekten angelegt wird
                                    name: 'LastIPAnwesend',           // Lesbarer Name des Datenpunkts
                                    desc: 'Ist die Person mit fping erkannt worden?',   // Beschreibung des Datenpunkts
                                    type: 'string',                         // Bescreibung des Typ, wie: number, string, boolean
                                    unit: ''                              // Einheit, wenn benötigt 
                                });
                            
                                createState(di + '.bt', false, { // Datenpunktname ohne Leerzeichen und Sonderzeichen, wie er in den Objekten angelegt wird
                                    name: 'LastBTAnwesend',           // Lesbarer Name des Datenpunkts
                                    desc: 'Ist die Person mit Bluetooth erkannt worden?',   // Beschreibung des Datenpunkts
                                    type: 'boolean',                         // Bescreibung des Typ, wie: number, string, boolean
                                    unit: ''                              // Einheit, wenn benötigt 
                                });
                            
                            } 
                            
                                createState('Ping.anyanwesend', false, { // Datenpunktname ohne Leerzeichen und Sonderzeichen, wie er in den Objekten angelegt wird
                                    name: 'AnyPersonAnwesend',           // Lesbarer Name des Datenpunkts
                                    desc: 'Ist irgend eine Person anwesend?',   // Beschreibung des Datenpunkts
                                    type: 'boolean',                         // Bescreibung des Typ, wie: number, string, boolean
                                    unit: ''                              // Einheit, wenn benötigt 
                                });
                            

                            function scanOne(key,item) {
                            var ids = instanz+"Ping."+key + ".";
                            logs("Scan " + key + " " + JSON.stringify(item), 'debug2');
                            exec('hcitool name ' + item.bt, cb(function (error, stdout, stderr) {
                            logs('hcitool '+ item.bt + " = " + stdout, 'debug2');

                                if (error) {
                                    logs('hcitool name '+item.bt+' error: ' + error, 'debug2');
                                } else {
                                    if (stdout > "") {
                                        item.btname = stdout.trim();
                                        item.bthere = true;
                                    } else {
                                        item.bthere = false;
                                    }
                                }
                                logs("Scaned hcitool " + key + " " + JSON.stringify(item), 'debug2');
                                exec('fping ' + item.ip, cb(function (error, stdout, stderr) {
                                    logs('fping '+ item.ip + " = " + stdout, 'debug2');
                                    if (error) {
                            

                            // logs('fping '+item.ip+' error: ' + error, 'debug2');
                            logs('fping '+item.ip+' error: unreachable', 'debug2');
                            item.iphere = false;
                            } else {
                            if (patt.test(stdout)) {
                            item.iphere = true;
                            } else {
                            item.iphere = false;
                            }
                            }
                            setState(ids + 'ip', item.iphere);
                            setState(ids + 'bt', item.bthere);
                            if (item.btname)
                            setState(ids + 'btname', item.btname);
                            var here = item.iphere || item.bthere;
                            var cnt = getState(ids + "count").val;
                            var anw = getState(ids + "anwesend").val
                            if (here) {
                            cnt = startcount;
                            anw = true;
                            somealive = true;
                            } else {
                            cnt = --cnt;
                            if (cnt<0)
                            cnt = 0;
                            if (cnt === 0) {
                            anw = false;
                            }
                            }
                            setState(ids + "count",cnt);
                            setState(ids + "anwesend",anw);
                            logs("Scaned " + key + " " + JSON.stringify(item), 'debug2');
                            thisscan = ++thisscan;
                            if (thisscan == numscan) {
                            // last scanned item!
                            logs("anyanwesend = " + somealive, "debug2");
                            setState(instanz + "Ping.anyanwesend",somealive)
                            }
                            }));
                            }));

                            }

                            // =============================================================================
                            // Hauptprogramm (wird beim Scriptstart und im schedule ausgeführt)
                            // =============================================================================
                            function pingAll() {

                            thisscan = numscan = 0;
                            somealive = false;
                            for (var key in scanList) {
                                numscan = ++numscan;
                                scanOne(key, scanList[key]);
                            }
                            

                            }

                            
                            Danke für die Hilfe welche ich im Forum schon gefunden habe!
                            
                            Frank

                            Frank,

                            NUC's, VM's und Raspi's unter Raspian, Ubuntu und Debian zum Testen.
                            Adapter die ich selbst beigesteuert habe: BMW, broadlink2, radar2, systeminfo, km200, xs1 und einige im Anmarsch!

                            1 Antwort Letzte Antwort
                            0
                            • ruhr70R Offline
                              ruhr70R Offline
                              ruhr70
                              schrieb am zuletzt editiert von
                              #147

                              Super!

                              Werde das Skript am Wochenende nutzen! Klasse Lösung.

                              Das Du die Handys mit dem BLE Skript nicht findest liegt daran, dass die Handys Ihre Kennung nicht per BLE senden. Für iPhones gibt es Apps, die nur funktionieren, solange die App aktiv ist. Also nicht zu gebrauchen. Ob sich das unter iOS 10 geändert hat, habe ich nicht getestet.

                              Für Android müsste es Apps geben.

                              Ansonsten gibt es viele Geräte, die BLE nutzen, wie Fitnessarmbänder und halt die g-Tags.

                              Ich nutze das BLE Skript übrigens derzeit auch nur zum testen :-)

                              Meine Anwesenheitserkennung funktioniert mit einer Kombi aus Geofency, Türkontakt und WLAN Scan.

                              Werde dass aber mit dem BLE Skript und Deiner Lösung noch ergänzen/verfeinern.

                              Klasse Arbeit!

                              Gesendet von iPad mit Tapatalk

                              Adapter: Fritzbox, Unify Circuit
                              Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                              1 Antwort Letzte Antwort
                              0
                              • frankjokeF Offline
                                frankjokeF Offline
                                frankjoke
                                schrieb am zuletzt editiert von
                                #148

                                Ja, ich kenne das Problem mit the BT-LE, aber ich will keine Apps installieren.

                                Mit dem hcitool kann man Geräte checken die weder gepairt sind noch irgeneine App laufen haben, einige Bedingung ist dass BT an ist und ich die BT-Adresse kenne.

                                Frank,

                                NUC's, VM's und Raspi's unter Raspian, Ubuntu und Debian zum Testen.
                                Adapter die ich selbst beigesteuert habe: BMW, broadlink2, radar2, systeminfo, km200, xs1 und einige im Anmarsch!

                                1 Antwort Letzte Antwort
                                0
                                • T Offline
                                  T Offline
                                  thorque
                                  schrieb am zuletzt editiert von
                                  #149

                                  Ich habe ioBroker auf einem RaspPi2 installiert. Welchen Bluetooth-Dongle kann ich dafür am besten verwenden?

                                  VG

                                  Thorsten

                                  1 Antwort Letzte Antwort
                                  0
                                  • HomoranH Nicht stören
                                    HomoranH Nicht stören
                                    Homoran
                                    Global Moderator Administrators
                                    schrieb am zuletzt editiert von
                                    #150

                                    Hallo Thorsten und Willkommen im Forum.

                                    @ruhr70 wird da bestimmt mehr zu sagen können, aber es muss auf jeden Fall einer mit Bluetooth 4.0 sein.

                                    @ruhr70 Und wenn wir schonmal dabei sind: ichhabe gerade eben etwas verrücktes gemacht, wir hatten ja schon in Wuppertal drüber gesprochen.

                                    Ich habe dein Script auf dem NUC PPYH laufen lassen. Diese Fehlermeldung kam:

                                    ! ````
                                    22:44:44.606 [info] javascript.0 Start javascript script.js.Bluetoothscanner
                                    22:44:44.606 [info] javascript.0 script.js.Bluetoothscanner: --== script.js.Bluetoothscanner ==-- gestartet. Instanz: "javascript.0.", Loglevel: info
                                    22:44:44.606 [info] javascript.0 script.js.Bluetoothscanner: Liste bluetoothBlacklistManufacturerData auf gültige Werte geprüft. Anzahl Einträge: 3
                                    22:44:44.606 [info] javascript.0 script.js.Bluetoothscanner: Liste bluetoothBlacklistMac auf gültige Werte geprüft. Anzahl Einträge: 2
                                    22:44:44.607 [info] javascript.0 script.js.Bluetoothscanner: registered 0 subscriptions and 0 schedules
                                    22:44:45.607 [info] javascript.0 script.js.Bluetoothscanner: Kommando Bluetooth Scanner an: true
                                    22:44:45.608 [error] host. 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:1368:11) at Object. (script.js.Bluetoothscanner:1745:13) at Object.subs.callback (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1251:48) at /opt/iobroker/node_modules/iobroker.javascript/javascript.js:571:48 at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3018:17) at checkPatterns (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:567:17) at Object.utils.adapter.stateChange (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:245:17) at that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2120:37) at RedisClient. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:88:25) at emitThree (events.js:97:13) at RedisClient.emit (events.js:175:7) at return_pub_sub (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/redis/index.js:782:18) at RedisClient.return_reply (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/redis/index.js:825:9) at JavascriptRedisParser.Parser.returnReply (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/redis/index.js:188:18) at JavascriptRedisParser.execute (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/redis/node_modules/redis-parser/lib/parser.js:415:12) at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/redis/index.js:267:27) 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:536:20)

                                    
                                    Der NUC hat das WiFi/BT Modul, aber wahrscheinlich nicht aktiv und/oder nicht 4.0
                                    
                                    EDIT: Nee kein BT 4.0 sondern BT 4.2 ;-)
                                    
                                    [http://www.intel.com/content/www/us/en/ … brief.html](http://www.intel.com/content/www/us/en/wireless-products/dual-band-wireless-ac-3165-brief.html)
                                    
                                    Gruß
                                    
                                    Rainer

                                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                    1 Antwort Letzte Antwort
                                    0
                                    • S Offline
                                      S Offline
                                      Solear
                                      schrieb am zuletzt editiert von
                                      #151

                                      Bluetooth 4.0 reicht nicht. Es muss 4.0 LE sein.

                                      NUC BT geht nicht. Habe ich auch schon probiert. Dem NUC Bluetooth Modul fehlt LE.

                                      Das Script benötigt aber Bluetooth LE (Low Energy). Das ist das für die Beacons und die ständige (passive) Verbindung zwischen Bluetooth Geräten. Finde ich auch Schade, dass der NUC kein Bluetooth LE hat.

                                      Was aber hervorragend funktioniert ist der Raspi 3 mit dem integriertem Bluetooth Modul.

                                      Man kann auch einen USB-Bluetooth Adapter kaufen, zB der "USB Bluetooth 4.0 Low Energy-Mikrosteckadapter" von Plugable Technologies auf Amazon für 15 €. Der nutzt den Broadcom Chipsatz welcher auch von Linux problemlos unterstützt wird.

                                      iobroker als LXC unter Proxmox

                                      1 Antwort Letzte Antwort
                                      0
                                      • HomoranH Nicht stören
                                        HomoranH Nicht stören
                                        Homoran
                                        Global Moderator Administrators
                                        schrieb am zuletzt editiert von
                                        #152

                                        @Solear:

                                        NUC BT geht nicht. Habe ich auch schon probiert. Dem NUC Bluetooth Modul fehlt LE. `
                                        Du hast ja auch den NUC NUC6i3SYH.

                                        in meinem PPYH ist eim m2 modul verbaut, das Datenblatt habe ich oben verlinkt.

                                        Demnach hat zumindest dieses Modul angeblich 4.2 LE
                                        ` > Bluetooth 4.2® Smart Ready (Low Energy)

                                        Dual mode Bluetooth 4.2® connects to the newest low energy Bluetooth® products as well as your familiar devices, such as headsets, keyboard, mice and more. `

                                        Das Datenblatt zu deinem musst du selber suchen ;-)

                                        EDIT: auf der Schachtel steht nur BT 4.0 aber die gleiche Modulnummer (????)

                                        Gruß

                                        Rainer

                                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                        1 Antwort Letzte Antwort
                                        0
                                        • S Offline
                                          S Offline
                                          Solear
                                          schrieb am zuletzt editiert von
                                          #153

                                          Das hat meiner auch, sogar 4.1 (dein 4.0)

                                          Dann ist das vielleicht doch nur ein Treiberproblem beim NUC.

                                          Hatte mit````
                                          apt-get install bluetooth bluez libbluetooth-dev libudev-dev bt-tools

                                          
                                          Dann muss ich das nochmal probieren.
                                          
                                          Ich meine aber, ruhr70 hatte das hier irgendwo schon bestätigt, dass das mit dem Script nicht auf dem NUC läuft.

                                          iobroker als LXC unter Proxmox

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          624

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe