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

      ich weiß, der treat ist schon älter.

      ich versuche schon seit Wochen, meine Anwesenheits-Variablen der CCU2 mit einem Blocky-Programm zu triggern.

      ich bin jedoch nach Aktualisierung des Blocky-Skripts nur eine Sekunde anwesend, danach wieder abwesend.

      Hier ist der versuch, das umzusetzen:

      viewtopic.php?f=21&t=13213&p=140444#p140444

      jedoch sind alle Versuche, das umzusetzen, gescheitert.

      Der Multihost-Betrieb läuft nun stabil.

      Gruß,

      Mathias

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

        @MathiasJ:

        ich weiß, der treat ist schon älter.

        ich versuche schon seit Wochen, meine Anwesenheits-Variablen der CCU2 mit einem Blocky-Programm zu triggern.

        ich bin jedoch nach Aktualisierung des Blocky-Skripts nur eine Sekunde anwesend, danach wieder abwesend.

        Hier ist der versuch, das umzusetzen:

        viewtopic.php?f=21&t=13213&p=140444#p140444 `

        Ich kann heute Abend mal näher schauen.

        In Blockly habe ich zwar keine Karten, aber vielleicht kommen wir ja trotzdem weiter 🙂

        Funktioniert den der Datenpunkt, denn Du für Dein Skript nehmen willst?

        Überwach den Datenpunkt mal mit History und am Besten auch noch mit einem Diagramm-Adapter, wie Flot.

        Dann kannst Du beim Datenpunkt schon einmal in die Tabelle schauen, ob die Infos so sind, wie Du Sie benötigst und im Flot Adapter auch grafisch, ob das für die Anwesenheit passt.

        Du müsstest dann ein Diagramm haben, bei dem der Ausschlag oben ist, wenn Du anwesend bis und auf 0, wenn Du abwesend bist.

        Du nutzt dafür einen nicht an der G-Tag App angemeldeten G-Tag?

        Folgende Möglichkeiten für die Überwachung sind denkbar:

        • das BLE Skript, funktioniert mit nicht angemeldeten G-Tags

        • der BLE Adapter (habe ich mit G-Tag noch nicht probiert)

        • Radar Adapter (nicht mit G-Tag probiert)

        Wenn wir einen funktionierenden Datenpunkt haben, können wir darauf aufbauen.

        Poste dann mal bitte die Tabelle aus History und ggf. auch das Flot Diagram.

        Und ich brauche die ID des Datenpunkts, der funktioniert.

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

          Radar funktioniert bei mir nicht.

          es werden keine tags erkannt. Im Log steht zwar, dass meine Tags online sind. in den Objekten finde ich aber nichts.

          Meine Tags sind keiner App zugeordnet.

          Ich bin trotzdem nur eine Sekunde da und danach wieder weg.

          Wenn ich den Blocky-Skript aktualisiere oder aus- und wieder einschalte, bin ich wieder für eine Sekunde da.

          ich habe auch schon einen zeitgesteuerten Scan jede Sekunde versucht.

          Dann bekam ich sekündlich 2 Pushnachrichten, dass ich anwesend und dann wieder abwesend bin.

          Mit History habe ich noch nichts versucht.

          ich werde erst mal eine längere Pause einlegen, da ich es bereits seit 3 Monaten versuche, eine einigermaßen vernünftige Anwesenheitskennung hinzubekommen. Alle Versuche schlugen bisher fehl.

          ich werde mich hier erst einmal verabschieden, bis ich wieder die nötige Muße gefunden habe, weiter zu machen.

          Vllt geht ja bis dahin der NUC wieder.

          Gruß,

          Mathias

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

            @MathiasJ:

            es werden keine tags erkannt. Im Log steht zwar, dass meine Tags online sind. in den Objekten finde ich aber nichts.

            Meine Tags sind keiner App zugeordnet.

            Ich bin trotzdem nur eine Sekunde da und danach wieder weg. `

            Im Log online gemeldet vom BLE Skript?

            Poste bitte mal das Log und die Baumstruktur vom BLE Skript in den Objekten.

            Und deni Bereich vom Skript, in dem man die Einstellungen vornimmt.

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

              Das ist ganz einfach erklärt.

              Ich habe den Beispielskript 1:1 ohne Änderungen übernommen.

              Bei BLE sehe ich nur die dB-Angaben. Ob die da oder weg sind, sehe ich nicht.

              So jetzt werde ich eine längere Pause einlegen.

              Ich werde in der nächsten Zeit definitiv nichts in diesem Bereich unternehmen. Hatte zu viele Rückschläge und brauche Ruhe.

              Gruß,

              Mathias

              Gesendet von meinem SM-N915FY mit Tapatalk

              1 Reply Last reply Reply Quote 0
              • L
                LJSven last edited by

                Ich versuche das System zu installieren. Allerdings bekomme ich die iBeacon nicht angezeigt. Der "hcitool lescan" Befehlt gibt folgendes wieder.

                root@RASPBERRY-SVEN:/home/pi# sudo hcitool lescan

                Set scan parameters failed: Input/output error

                root@RASPBERRY-SVEN:/home/pi# hcitool lescan

                Set scan parameters failed: Input/output error

                Was mache ich falsch?

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

                  @LJSven:

                  root@RASPBERRY-SVEN:/home/pi# sudo hcitool lescan

                  Set scan parameters failed: Input/output error

                  root@RASPBERRY-SVEN:/home/pi# hcitool lescan

                  Set scan parameters failed: Input/output error `

                  Schau mal die erste Antwort ob Dir das hilft:

                  https://stackoverflow.com/questions/220 … -i-o-error

                  An Pi3 lief das bei mir ansonsten problemlos.

                  Ich denke den Bluetooth Stack (erster Post) hast Du installiert:

                  sudo apt-get install bluetooth bluez li … ibudev-dev

                  1 Reply Last reply Reply Quote 0
                  • L
                    LJSven last edited by

                    Ja, dass habe ich gemacht. Der findet das IPhone nicht, liegt es vllt. daran? Ich hatte vorher die Homebridge installiert mit einem anderen iBeacon tutorial - da hat er es ohne Probleme gefunden.

                    1 Reply Last reply Reply Quote 0
                    • N
                      NetFritz last edited by

                      Hallo

                      Ich habe das Sript installiert und es findet fast alle BLE Geäte.

                      Dazu später wenn die warnungen weg sind mehr.

                      Ich bekomme aber noch laufend warnungen vom Script.

                      nodejs -v = v6.14.1

                      node -v = v6.14.1

                      javascript.0	2018-04-24 11:42:47.464	info	script.js.common.Skript1: noble.state ist nicht powerdOn. noble.state: unknown
                      javascript.0	2018-04-24 11:42:47.464	warn	at Object.stopScan (script.js.common.Skript1:1337:5)
                      javascript.0	2018-04-24 11:42:47.464	warn	at delDelDevices (script.js.common.Skript1:1044:19)
                      javascript.0	2018-04-24 11:42:47.464	warn	getState "Bluetooth.Device.b0b448dab8f5.Control.Delete_Device" not found (3)
                      javascript.0	2018-04-24 11:42:47.463	warn	at Object.stopScan (script.js.common.Skript1:1335:5)
                      javascript.0	2018-04-24 11:42:47.463	warn	at scanEndeVerarbeiten (script.js.common.Skript1:1245:9)
                      javascript.0	2018-04-24 11:42:47.463	warn	at nichtErreichbar (script.js.common.Skript1:1171:13)
                      javascript.0	2018-04-24 11:42:47.463	warn	State "Bluetooth.Device.b0b448dab8f5.lastStateCount" not found
                      javascript.0	2018-04-24 11:42:47.463	warn	at Object.stopScan (script.js.common.Skript1:1335:5)
                      javascript.0	2018-04-24 11:42:47.462	warn	at scanEndeVerarbeiten (script.js.common.Skript1:1245:9)
                      javascript.0	2018-04-24 11:42:47.462	warn	at nichtErreichbar (script.js.common.Skript1:1171:61)
                      javascript.0	2018-04-24 11:42:47.462	warn	getState "Bluetooth.Device.b0b448dab8f5.lastStateCount" not found (3)
                      javascript.0	2018-04-24 11:42:47.462	warn	at Object.stopScan (script.js.common.Skript1:1335:5)
                      javascript.0	2018-04-24 11:42:47.462	warn	at scanEndeVerarbeiten (script.js.common.Skript1:1245:9)
                      javascript.0	2018-04-24 11:42:47.462	warn	at nichtErreichbar (script.js.common.Skript1:1170:13)
                      javascript.0	2018-04-24 11:42:47.461	warn	State "Bluetooth.Device.b0b448dab8f5.lastState" not found
                      javascript.0	2018-04-24 11:42:47.461	warn	at Object.stopScan (script.js.common.Skript1:1321:9)
                      javascript.0	2018-04-24 11:42:47.461	warn	at nichtErreichbar (script.js.common.Skript1:1171:13)
                      javascript.0	2018-04-24 11:42:47.461	warn	State "Bluetooth.Device.b0b448dab8f5.lastStateCount" not found
                      javascript.0	2018-04-24 11:42:47.461	warn	at Object.stopScan (script.js.common.Skript1:1321:9)
                      javascript.0	2018-04-24 11:42:47.461	warn	at nichtErreichbar (script.js.common.Skript1:1171:61)
                      javascript.0	2018-04-24 11:42:47.460	warn	getState "Bluetooth.Device.b0b448dab8f5.lastStateCount" not found (3)
                      javascript.0	2018-04-24 11:42:47.460	warn	at Object.stopScan (script.js.common.Skript1:1321:9)
                      javascript.0	2018-04-24 11:42:47.460	warn	at nichtErreichbar (script.js.common.Skript1:1170:13)
                      javascript.0	2018-04-24 11:42:47.459	warn	State "Bluetooth.Device.b0b448dab8f5.lastState" not found
                      

                      Es liegt wohl am Noble ?

                      Noble ist im Javascript-Adapter eingetragen.

                      apt-get install bluetooth bluez libbluetooth-dev libudev-dev

                      ist auch installiert.

                      Was muss ich machen?

                      Gruß NetFritz

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

                        Erlaub mal bitte in der Javascript Instanz und schalte setObjects()

                        Ich nutze das Skript schon lange nicht mehr und habe es jetzt extra wieder auf einem Slave installiert.

                        Beim ersten Start hatte ich auch die Fehler. Die Objekte waren noch nicht angelegt.

                        Nach dem zweiten Start läuft es bei mir fehlerfrei.

                        Das Skript müsste aber trotzdem mal überarbeitet werden.

                        Die Grenze, die als max. Anzahl Geräte eingestellt ist greift nicht. Wahrscheinlich ein Bug im Skript.

                        Und offensichtlich hat die Webseite app.macvendors.com ein Problem mit den ganzen MAC-Adressen Abfragen und meldet tlw.

                        {"errors":{"detail":"Too Many Requests","message":"Please slow down your requests or upgrade your plan at https://app.macvendors.com"}}
                        

                        Hier müsste dann ein Timing eingebaut werden, dass die Anfragen in Zeitabständen abgefragt werden.

                        1 Reply Last reply Reply Quote 0
                        • N
                          NetFritz last edited by

                          Hallo
                          > Erlaub mal bitte in der Javascript Instanz und schalte setObjects()
                          Hatte ich schon gemacht.
                          > die Grenze, die als max. Anzahl Geräte eingestellt ist greift nicht. Wahrscheinlich ein Bug im Skript.
                          Habe ich auch schon festgestellt.

                          Ich hatte den ble-Adapter zuerst installiert.

                          Der liefert noch weniger Objekte.

                          Ich hatte mir zum ausprobieren von DSD Tech SH-M08 mit dem TI CC2551 gekauft,

                          der erscheint aber in den Objekten nicht.

                          Kann seoin das es an den max 10 Gräten liegt?

                          Gruß NetFritz

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

                            Kannst Du Dein Gerät mit einem BLE Scanner auf dem Handy finden?

                            Oder ist es mit einer App verbunden?

                            Bei den Gtags ist es z.B. So, dass sie nur gefunden werden, solange sie nicht mit der G-Tag App verbunden sind.

                            Gesendet von iPad mit Tapatalk

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

                              Hi ruhr70,

                              Mit der Beebox habe ich wohl aufs falsche Pferd gesetzt.

                              Ich warte jetzt noch auf meinen NUC, um IObroker und die Visualisierung neu aufzusetzen. Ein Backup gibt es natürlich nicht. Selbst schuld.

                              Sobald das erledigt ist, beginne ich, Slaves mit 2 Raspberry PI2 fertig zu machen.

                              Der NUC kann leider kein BLE, deshalb der Umweg über die 2 Raspberries.

                              Gruß,

                              Mathias

                              P.S. Ein Xiaomi Gateway unf ein Switch als Klingeltaster sollen dann auch noch arbeiten.

                              Gesendet von meinem SM-N915FY mit Tapatalk

                              1 Reply Last reply Reply Quote 0
                              • N
                                NetFritz last edited by

                                Hallo
                                > Kannst Du Dein Gerät mit einem BLE Scanner auf dem Handy finden?
                                Ja.

                                Kein Gerät ist mit einer App verbunden.

                                Der G-tag wird auch gefunden.

                                Gruß NetFritz

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

                                  So jetzt bin ich so weit!

                                  Die Beebox rennt wieder, auf beiden Slaves werden alle G-Tags erkannt.

                                  Das war sowieso ein Gezeter. Ubuntu wollte einfach nicht laufen. Das Gehäuse aufgeschraubt und nu….... SATA-Kabel war hin.

                                  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.

                                  Gruß,

                                  Mathias

                                  Gesendet von meinem SM-N915FY mit Tapatalk

                                  1 Reply Last reply Reply Quote 0
                                  • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            785
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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