Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. [Adapter] Neuer radar2-Adapter

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [Adapter] Neuer radar2-Adapter

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

      @ChristianF
      Wie viele USB-Sticks hast Du dran hängen?
      Du brauchst für Radar2 einen BT-Dongle
      Du brauchst für BLE einen BT-Dongle
      macht zusammen 2 BT-Dongles.

      S 1 Reply Last reply Reply Quote 0
      • S
        Siegfried Forum Testing @MathiasJ last edited by

        @MathiasJ hab nur einen hängen und läuft mit Radar2 und BLE ... mach wohl was falsch .. hmm

        frankjoke 1 Reply Last reply Reply Quote 0
        • frankjoke
          frankjoke @Supermicha last edited by

          @Supermicha ,
          Ich werde msl dehen ob ich kürzere Zeiten erlauben kann, aber mindestens 2 scanzeiten müssen es sein da die Logik nicht genau sagen kann wann ein Gerät gescannt/gefunden wird während eines Zyklusses.

          1 Reply Last reply Reply Quote 0
          • frankjoke
            frankjoke @Siegfried last edited by

            @Siegfried
            Meinst dass du den BLE-Adapter und Radar2 gleichzeitig auf einem BT-controller lsufen hast? Das geht nicht, da 2 Programme nicht gleichzeitig auf das BLE zugreifen können bzw scans unterbrochen werden wenn wer zugreift.

            S 1 Reply Last reply Reply Quote 0
            • S
              Siegfried Forum Testing @frankjoke last edited by

              @frankjoke aber ich bekomme daten von meiner mi -temperatur und meine tags werden vom radar erkannt

              frankjoke 1 Reply Last reply Reply Quote 0
              • frankjoke
                frankjoke @ChristianF last edited by frankjoke

                @ChristianF
                Der kill miss bei HCI-Tool LEscan immer gemacht werden da es ewig laufen würde da man dort keineDauer angeben kann.
                Bei 85% der scanzeit wird abgebrochen un noch Zeit für andere Dinge zu haben.

                Übrigens, würde euch raten längere scan-Zeiten von über 30 Sekunden zu nehmen wenn ihr mehr Geräte funden wollt.

                Das mit dem Fehler verstehe ich nicht da der der Adapter selbst keinen Fehler ausgibt er aber dann von iobroker gestoppt wird.

                Die Promise failed scheint von einem ECB/HP/UWZ-scan zu kommen wo keine Daten zurückgeliefert werden! Da es nur ein warning ist sollte der Adapter nicht abstürzen, werde mir es aber diese Woche anschauen.

                1 Reply Last reply Reply Quote 0
                • frankjoke
                  frankjoke @Siegfried last edited by

                  @Siegfried
                  Ich hatte nur Probleme damit und verwende seither 2 BT.sticks (kosten ja eh nur <10€).

                  Diginix 1 Reply Last reply Reply Quote 0
                  • frankjoke
                    frankjoke last edited by

                    Ok, werde folgendes für V2 nächste Woche noch testen:
                    Eindeutige Zuteilung von BT und BT-LE (damit werden nur BT (ohne LE) von l2scan gescannt.
                    Getrennte Umschalltung für BT und BT-LE zwischen Noble/hcitool LEscan und BT scan/l2ping. Damit kann man genau einstellen was man wofür verwenden will. Wenn dann keine normalen BT-Geräte verwendet werden dann werden sie auch nicht gescannt!

                    1 Reply Last reply Reply Quote 0
                    • Diginix
                      Diginix @frankjoke last edited by

                      @frankjoke Kannst du mir einen Stick empfehlen, der BT/BLE kann und entweder für radar2 arbeitet oder eben für meinen Türschlossantrieb und das onboard BT Modul jeweils für das andere.
                      Oder geht generell jeder BT USB Stick?

                      Als OS läuft bei mir Xubuntu, falls das für Treiber relevant wäre.

                      1 Reply Last reply Reply Quote 0
                      • C
                        ChristianF last edited by ChristianF

                        Hallo zusammen,

                        da ist ja einiges zusammengekommen worauf ich mal antworten sollte 🙂

                        @MathiasJ ich habe einen BT Stick. Ich verwende aber auch nur den Radar2 Adapter, den BLE Adapter habe ich zwar installiert aber deaktiviert. Wenn ich hier BLE schreibe meint das nicht den BLE-Adapter, sondern Bluetooth LE an sich.

                        @frankjoke Dass man den LEScan killen muss ist mir klar. Mir ging es nur darum, ob es vielleicht etwas ungünstig ist, mit dem LEScan anzufangen, dann die L2Pings abzusetzen (während der LEScan läuft) und dann den LEScan zu killen. Meine Idee wäre gewesen, die L2Pings zu machen und dann den LEScan hinterher, damit die sich nicht auf der Luftschnittstelle in die Quere kommen. Das ist aber auch nur eine Vermutung.
                        Bei den UWZ und EZB Kursen habe ich bisher nicht verstanden wie man das konfiguriert, daher Finger davon gelassen. Gibt es da irgendwo eine Doku zu?

                        @Diginix Ich benutze als Stick einen SPEEDLINK SL-7411-BK VIAS Nano Bluetooth Adapter (vom Mediamarkt) und habe mir jetzt noch einen LogiLink BT0015 bestellt.

                        Nochmal eine andere Frage in die Runde, wo sich ja hier offenbar viele mit dem Thema Anwesenheitserkennung beschäftigen. Hat jemand eine gute Lösung, um zu prüfen, ob sich Geräte im Gäste-WLAN der Fritzbox aufhalten? Sämtliche Fritz Adapter die ich probiert habe bieten zwar eine Lösung um Gäste-WLAN an und aus zu schalten, aber wirklich eine Lösung für das Erkennen von Geräten dort drin hat keiner..

                        Viele Grüße
                        Christian

                        MathiasJ 1 Reply Last reply Reply Quote 0
                        • SBorg
                          SBorg Forum Testing Most Active last edited by

                          Du könntest einen weiteren WLAN-Stick nehmen und den in das Gäste-WLAN einbinden. Dann kannst du per radar2 scannen + erkennen ob/wer eingeloggt ist.

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

                            @ChristianF
                            Du brauchst einen WLAN-Stick, der das Gäste-WLAN abhorcht.
                            Dann funktioniert auch die Anwesenheitskennung im Gäste-Netzwerk.
                            Ich habe mir dazu eine 2. Instanz Also Radar 2.1 installiert.
                            darf ich fragen, welchen PC Du benutzt, auf dem IObroker installiert ist?
                            ich habe die Erfahrung gemacht, daß beim Raspberry der Logilink und beim Tinkerboard/Rock64 der Speedlink der bessere ist.

                            1 Reply Last reply Reply Quote 0
                            • C
                              ChrisXY last edited by

                              hm irgendwie will der radar2 bei mir nicht so recht. Über Adapter kann ich es Installieren aber bleibt Rot. Im Log hab ich auch nichts gesehen. Hatte es aber jetzt nicht lange versucht. Ich wollt die neue 1.2er Installieren. Hab es Manuell versucht aber es bricht immer ab

                              $ ./iobroker url "https://github.com/frankjoke/ioBroker.radar2"
                              install https://github.com/frankjoke/ioBroker.radar2/tarball/master
                              npm install https://github.com/frankjoke/ioBroker.radar2/tarball/master --production --save --prefix "/opt/iobroker" (System call)
                              ../src/linux/DeviceINQ.cc:35:37: fatal error: bluetooth/bluetooth.h: No such file or directory     #include <bluetooth/bluetooth.h>
                                                                   ^
                              
                              compilation terminated.
                              make: *** [Release/obj.target/BluetoothSerialPort/src/linux/DeviceINQ.o] Error 1
                              gyp
                               ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2
                              gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
                              gyp ERR! stack     at emitTwo (events.js:126:13)
                              gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
                              gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
                              
                              gyp 
                              ERR! System Linux 4.4.59+gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
                              gyp ERR! cwd /opt/iobroker/node_modules/node-bluetooth
                              gyp 
                              ERR! node -v v8.16.0gyp ERR! node-gyp -v v3.8.0
                              gyp ERR! not ok 
                              
                              npm
                               WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@1.0.3 (node_modules/osx-temperature-sensor):npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
                              npm WARN optional SKIPPING OPTIONAL DEPENDENCY: node-bluetooth@1.2.5 (node_modules/node-bluetooth):
                              npm WARN optional SKIPPING OPTIONAL DEPENDENCY: node-bluetooth@1.2.5 install: `node-gyp configure build`
                              npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
                              
                              
                              process exited with code 0
                              
                              Diginix 1 Reply Last reply Reply Quote 0
                              • Diginix
                                Diginix @ChrisXY last edited by

                                @ChrisXY Ich dachte Exit Code 0 ist ok. Die Fehlermeldungen zuvor kann man ignorieren. Wenn er rot bleibt, hilft nur das ioBroker Log. Installiert ist er wahrscheinlich korrekt.

                                @frankjoke Ich habe jetzt einen zusätzlichen BT Dongle mit hci2 am PC. Dein Adapter kann sowohl mit dem als auch mit hci0 alles erkennen. Aber eben weiterhin nur mit noble, nicht hci only.

                                Selbst wenn radar2 auf hci2 arbeitet, kann ich das keyble für den Türschlossantrieb in der Konsole nicht verwenden weil immer ein timeout kommt. Sobald radar2 pausiert ist, funktioniert es.
                                Daher scheint der Konflikt unabhängig der Hardware auch noch bei noble selbst zu bestehen.
                                Kann man das entzerren und ja wie?

                                1 Reply Last reply Reply Quote 0
                                • C
                                  ChrisXY last edited by ChrisXY

                                  also hier mal nach Installation was im Log steht:

                                  host.iobroker	2019-05-20 21:09:35.387	error	instance system.adapter.radar2.0 terminated with code null ()
                                  host.iobroker	2019-05-20 21:09:35.386	warn	instance system.adapter.radar2.0 terminated due to SIGSEGV
                                  host.iobroker	2019-05-20 21:09:02.739	error	instance system.adapter.radar2.0 terminated with code null ()
                                  host.iobroker	2019-05-20 21:09:02.739	warn	instance system.adapter.radar2.0 terminated due to SIGABRT
                                  Caught	2019-05-20 21:09:02.738	error	by controller[0]: .0: ../deps/uv/src/unix/poll.c:123: uv_poll_start: Assertion `!(((handle)->flags & (UV_HANDLE_CLOSING | UV_HANDLE_CLOSED)) != 0)' failed.
                                  
                                  

                                  noch mehr

                                  radar2.0	2019-05-20 21:12:03.904	info	found '@abandonware/noble'
                                  radar2.0	2019-05-20 21:12:03.714	info	radar2 initialization started...
                                  radar2.0	2019-05-20 21:12:03.602	info	starting. Version 1.2.0 in /opt/iobroker/node_modules/iobroker.radar2, node: v8.16.0
                                  radar2.0	2019-05-20 21:11:30.636	info	found '@abandonware/noble'
                                  radar2.0	2019-05-20 21:11:30.407	info	radar2 initialization started...
                                  radar2.0	2019-05-20 21:11:30.282	info	starting. Version 1.2.0 in /opt/iobroker/node_modules/iobroker.radar2, node: v8.16.0
                                  radar2.0	2019-05-20 21:10:57.684	info	radar2 initialization started...
                                  radar2.0	2019-05-20 21:10:57.555	info	starting. Version 1.2.0 in /opt/iobroker/node_modules/iobroker.radar2, node: v8.16.0
                                  radar2.0	2019-05-20 21:10:39.296	info	found '@abandonware/noble'
                                  radar2.0	2019-05-20 21:10:39.063	info	radar2 initialization started...
                                  radar2.0	2019-05-20 21:10:38.935	info	starting. Version 1.2.0 in /opt/iobroker/node_modules/iobroker.radar2, node: v8.16.0
                                  
                                  frankjoke 1 Reply Last reply Reply Quote 1
                                  • C
                                    ChristianF last edited by

                                    @MathiasJ die Idee mit dem zusätzlichen WLAN Stick kam mir auch schon, allerdings ist das Gästenetz bei uns bewusst offen und ich möchte ungern einen Rechner, der an der Haussteuerung hängt, in das freie WLAN hängen. Der Weg von A nach B ist mir da etwas zu kurz. Alternativ müsste man das WLAN Interface so dicht machen dass da wirklich nur noch das absolut Nötigste drüber geht (frei nach dem Motto "Deny all, allow Radar2-Scans"), aber dazu kenne ich mich zu wenig aus.
                                    ioBroker läuft in einer Debian VM auf meinem NAS, das ich etwas gepimpt habe. Rennt wie Teufel. Leider ist das USB Passthrough in die VM eher suboptimal, weswegen ich einen Raspi als 2. Node zu iobroker aufgesetzt habe.

                                    @frankjoke ich hätte noch eine Idee. Möchte es eigentlich nicht Feature Request nennen, aber vielleicht ist es ja ganz praktisch für alle, die BTLE Tags nutzen. Es wäre toll, wenn Radar 1x pro Tag oder so den Batteriestand abfragen könnte. So kann man Batterien rechtzeitig tauschen und sich zB einen Notifier setzen, wenn eine Batterie unter 10% oder so geht. Im Falle der G-Tags wäre die passende Abfrage dazu gatttool -b <MAC-Adresse> --char-read --handle=0x001b, und die Antwort ist der Batteriestand in % (Achtung, Angabe in Hex, muss man erst umrechnen!). In meinem Falle kommt dabei raus:

                                    root@raspi:/tmp# gatttool -b MAC1 --char-read --handle=0x001b
                                    Characteristic value/descriptor: 64
                                    root@raspi:/tmp# gatttool -b MAC2 --char-read --handle=0x001b
                                    Characteristic value/descriptor: 55
                                    

                                    Für MAC2 ergibt sich nach Umrechnung dann 85% und für MAC1 ganze 100% (Kunststück, ich hatte ihn gerade frisch aus der Packung genommen).

                                    Viele Grüße
                                    Christian

                                    1 Reply Last reply Reply Quote 0
                                    • frankjoke
                                      frankjoke @ChrisXY last edited by frankjoke

                                      @ChrisXY

                                      Hast du das installationsscript ausgeführt (womöglich) bevor du den Adapter installiert hast?

                                      Es fehlen BT-Treiber bei der Installation.

                                      Du hast SIGSEGV error das Bedeutet dass der Adapter eventuell nicht die Rechte hat auf bestimmte Geräte/Funktionen zuzugreifen. Kann auch sein dass du ne andere Software wie Docker oder so verwendest die die Rechte einschränkt.

                                      frankjoke 1 Reply Last reply Reply Quote 0
                                      • frankjoke
                                        frankjoke @frankjoke last edited by

                                        Habe gerade eine weitere (V1.2)-Version auf git gepostet mit folgenden Änderungen:

                                        1. Man kann zwischen Noble & hcitool lescan und BT scan & l2ping getrennt wählen
                                        2. Man sollte BT-LE Macs mit einem ! voran kennzeichnen damit sie nicht mit dem l2ping gescannt werden (und es 4 Sekunden/Adresse dauert bis l2ping nichts zurückmeldet).
                                        3. Die Abwesenheitszeit kann auf eine Minute gesenkt werden wenn die scan-Zeit < Abwesenheit/2.5 ist.
                                        4. Habe in den Readme's kurze Beschreibung für die BT-scans hinzugefügt

                                        Damit kann sich jeder seine Einstellungen zusammensetzen wie er sie benötigt.

                                        1 Reply Last reply Reply Quote 0
                                        • C
                                          ChrisXY last edited by

                                          Puh das kann sein ganz am anfang erst adapter installiert dann per Konsole die 2 sachen ausgeführt. Will nur das DHCP nutzen. Bt hab ich eh nicht. Was kann ich den nun machen? Muss doch ein Port bei docker frei gemacht werden?

                                          frankjoke 1 Reply Last reply Reply Quote 0
                                          • S
                                            schreda last edited by schreda

                                            Hi

                                            Ich nöchte gerne auf folgenden GitHub issue verweisen:
                                            https://github.com/frankjoke/ioBroker.radar2/issues/17

                                            Ich habe mir mittlerweile die MAC-Adressen-Erkennung selbst geschrieben und möchte diese gerne teilen:

                                            const objPrefix          = 'geofence.';
                                            const objPostfixIsHere   = '.isHere';
                                            const objPostfixLastSeen = '.lastSeen';
                                            
                                            const arp_scan_cmd      = 'sudo arp-scan --interface=wlan0 -lgq --retry=5 --timeout=400';
                                            const arp_scan_interval = 20 * 1000; // ms
                                            const device_timeout    = 3; // min
                                            const welcomeTimeDelay  = 20 * 1000; // ms
                                            
                                            const macs = [
                                                { 'id': 'id1', 'mac':  'XX:XX:XX:XX:XX:XX'},
                                                { 'id': 'id2', 'mac':  'XX:XX:XX:XX:XX:XX'},
                                                { 'id': 'id3', 'mac':  'XX:XX:XX:XX:XX:XX'}
                                            ];
                                            
                                            for (var i in macs) {
                                                createState(objPrefix + macs[i].id + objPostfixIsHere,   false, { type: 'boolean', def: false });
                                                createState(objPrefix + macs[i].id + objPostfixLastSeen, false, { type: 'string', def: '' });
                                            }
                                            createState(objPrefix + 'nHere', false, { read: true, write: true, type: 'number', def: 0 });
                                            
                                            setInterval(() => {
                                                exec(arp_scan_cmd, (err, stdout, stderr) => {
                                                    if (!err) {
                                                        var macs_found = '';
                                                        for (var i in macs) {
                                                            if (stdout.includes(macs[i].mac.toLowerCase())) {
                                                                macs_found += macs[i].mac + ' ';
                                                                setState(objPrefix + macs[i].id + objPostfixLastSeen, new Date().toString(),true);
                                                                setState(objPrefix + macs[i].id + objPostfixIsHere, true, true);
                                                            } else {
                                                                var lastSeen = new Date(getState(objPrefix + macs[i].id + objPostfixLastSeen).val);
                                                                lastSeen.setMinutes(lastSeen.getMinutes() + device_timeout)
                                                                if (new Date() > lastSeen) {
                                                                    log('Device ' + macs[i].mac + ' went inactive', 'debug');
                                                                    setState(objPrefix + macs[i].id + objPostfixIsHere, false, true);
                                                                }                 
                                                            }
                                                        }
                                                        if (macs_found) {
                                                            log('MACS found: '+macs_found, 'debug');
                                                        }
                                            
                                                        var nHere = 0;
                                                        for (var i in macs) {
                                                            if (getState(objPrefix + macs[i].id + objPostfixIsHere).val) {
                                                                nHere++;
                                                            }
                                                        }
                                                        setState(objPrefix + 'nHere', nHere, true);
                                                    } else {
                                                        log(err.message, 'error');
                                                    }
                                                });
                                            }, arp_scan_interval);
                                            
                                            for (var i in macs) {
                                                const mac = macs[i];
                                            
                                                on({ id: OBJ_JS_INSTANCE + objPrefix + mac.id + objPostfixIsHere, change: 'ne', val: true }, (obj) => { 
                                                    log('Devie ' + mac.mac + ' went active', 'debug');
                                                    // user func
                                                });
                                            }
                                            

                                            Sollte zugleich eine feature suggestion sein, um eine MAC-only-detection zu ermöglichen

                                            xolom created this issue in frankjoke/ioBroker.radar2

                                            closed Use only MAC #17

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            928
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter radar2 adapter
                                            80
                                            840
                                            178855
                                            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