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.
    • 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
            • frankjoke
              frankjoke @schreda last edited by

              @schreda

              Das sollte aber schon mit radar funktionieren da ja radar auch arp-scan verwendet!
              Du musst ja nicht unbedingt etwas in die ip eintragen!

              Hab's gerade getestet und es funktioniert nur mit der mac-Adresse auch!

              p.s.: Verwende ja auch das arp-scan...

              p.s.:: das geht natürlich nur wenn die mac auf den Netz ist wo der adapter direkt zugriff hat, nicht in einem entfernten Netz über den Router.

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

                @ChrisXY
                Leider muss gerade DHCP auf broadcasts zugreifen die der interne router der docker-Anwendung eventuell nicht zulässt.

                Hab sowas schon bei einem Nutzer erlebt der pihole laufen gehabt hat...

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

                  habe aber iobroker als macvlan am laufen das sollte glaube ich klappen ?
                  ABER wenn in der Fritzbox es doch erkannt wird , kann man es nicht direkt von dort abgreifen ?

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

                    @frankjoke
                    Ich hatte genau die selbe Frage auf GitHub gestellt und da hast du anders geantwortet 😉
                    Nunja, es hat mit dem radar Adapter leider nicht funktioniert..

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

                      @ChrisXY
                      Das kannst vielleicht mit dem TR???-Adapter.

                      Wenn auf der Kommandozeile (in dem v-lan) arp-scan geht dann sollte auch radar2 gehen, verwend ja auch nichts anderes.

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

                        @schreda
                        Ich weiß, habe nicht an arp-scan gedacht, aber es dann selbst ausprobiert und bei mir findet er einträge nur mit macs die arp-scan auch findet.

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

                          Muss ich den arp-scan Installieren ? Will es nur zusätzlich nutzen neben der fritzbox und Ping als 3. erkennung DHCP .
                          Da ich Docker nutze will ich nichts im System groß machen

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

                            @ChrisXY
                            Ich kenn mich bei Docker nicht so aus (verwende nur VM's auf meinem QNAP NAS da ich da auch andere Betriebssysteme verwenden kann).
                            Radar2 braucht arp-scan nur um mac-Adressen zu finden, wenn du das nicht brauchst kannst es weglassen.

                            Aber ich würde so System-nahe Programme eher am Host system und nicht im container installieren, es sei denn der container kann nicht auf host-Programme zugreifen.

                            DHCP für IPv4 sind broadcasts auf Port 69 die der mittels dgram modul (von nodejs selbst) gelesen wird, dazu aber erweiterte Systemberechtigungen benötigt (wie auch arp-scan) welche mittels meinem Installationsscript für debian/Ubuntu erteilt werden. Ob diese dann auch in Containern gelten kann ich nicht sagen.
                            Bei den jetztigen linux-Versionen sind die Bewilligungen auch an das aktuelle Programm (z.B. node oder arp-scan) gebunden, wird dieses per apt(-get) upgedated muss sie neu erteilt werden (mein script neu aufrufen).
                            Das soll verhindern dass irgendwer das Programm austauscht und dann auf Befehle Zughreifen kann welche die Sicherheit gefährden können.

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

                              @frankjoke

                              Bei mir werden die G-Tags nur noch gefunden, wenn ich Noble aktiviere.
                              Das kann ich aber gar nicht gebrauchen, denn wenn ich den USB-Extender endlich mal installiert habe, schmiert Noble ab.
                              I2ping ist deaktiviert., hcitool lescan deaktiviert,
                              Ich habe auch gelesen, ein ! vor der MAC-Adresse zu setzen. hat auch nichts gebracht.

                              Gruß,
                              Mathias

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

                                @MathiasJ sagte in [Adapter] Neuer radar2-Adapter:

                                @Supermicha

                                Bei Anwesenheit reagiert Radar2 ja sofort.
                                Damit soll verhindert werden, daß z.B. die Heizung hin- und herschaltet, wenn man doch anwesend ist und Radar2 einen Scan versemmelt hat.
                                bei Radar hat eine Abwesenheitskennung (bei mir zumindest) bis zu 10 Minuten gedauert. Da sind 2 Minuten ja richtig schnell. Bis die Anwesenheit erkannt wurde, mußte ich bis zu 30 Sekunden vor der Türe stehen, bis ich die Türe aufschließen konnte. da ist ja Anwesenheit sofort bei Radar2 ja richtig toll.

                                Ich kann von dem alten Radar-Adapter sowas nicht vermelden. Die Geräte wurden beim nächsten Scan direkt als offline angezeigt. (so wie ich es gerne hätte) Da ist der jetzige Adapter bisher langsamer...
                                Das mit dem Verhindern, das die Heizung hin und her schaltet, wenn er mal falsch scannt, lässt sich ja ohne Probleme über ein Script abfangen.

                                @frankjoke kann es sein, das Echo-Geräte irgendwie nicht sauber zu scannen sind? antworten die zu langsam oder gar nicht? Bei mir werden die fast immer als offline angezeigt, obwohl alle am laufen sind. Komischerweise aktualisieren sie sich oft, wenn ein anderes Gerät das Netzwerk betritt oder verlässt, aber nach kurzer Zeit sind sie wieder off..

                                P.S. Ich werd bei gelegenheit mal die 1.2 testen. Ob mir das mit der verkürzten Zeit schon reicht...
                                Was ich nicht so ganz verstehe: Du hattest geschrieben, das die Adapter-Logik mindestens 2 Scandurchgänge braucht... Im alten Adapter waren doch die Durchgänge einstellbar, ab wann ein Gerät als abwesend angezeigt wird. Und dort konnte man doch auch 0.. oder 1.. ich weiß es nicht mehr genau... einstellen und es lief auch...

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

                                  was vllt interessant wäre, ist jeder version einen anderen Namen zu geben.
                                  Jetzt kann ich nicht mehr zurück von der 1.2.0 auf die 1.2.0
                                  bei der letzten Version ging Radar mit hciscan, hier nur noch mit Noble.

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

                                    @smile sagte in [Adapter] Neuer radar2-Adapter:

                                    @frankjoke Achso okay, sorry.
                                    Habe iobroker auf einem Intel i5 mit Windows 10Pro, 16GB RAM. Node 8.15.1, npm 6.9.0

                                    Hier einmal der LOG wenn ich den Radar Adapter starte:

                                    host.DJ-Server 2019-05-14 20:02:39.796 info Restart adapter system.adapter.radar2.0 because enabled
                                    host.DJ-Server 2019-05-14 20:02:39.796 error instance system.adapter.radar2.0 terminated with code 0 (OK)
                                    Caught 2019-05-14 20:02:39.796 error by controller[0]: at process._tickCallback (internal/process/next_tick.js:181:9)
                                    Caught 2019-05-14 20:02:39.796 error by controller[0]: at _combinedTickCallback (internal/process/next_tick.js:132:7)
                                    Caught 2019-05-14 20:02:39.795 error by controller[0]: at Noble.<anonymous> (C:\ioBroker\node_modules@abandonware\noble\lib\noble.js:57:24)
                                    Caught 2019-05-14 20:02:39.795 error by controller[0]: at NobleBindings.init (C:\ioBroker\node_modules@abandonware\noble\lib\hci-socket\bindings.js:82:13)
                                    Caught 2019-05-14 20:02:39.795 error by controller[0]: at Hci.init (C:\ioBroker\node_modules@abandonware\noble\lib\hci-socket\hci.js:101:35)
                                    Caught 2019-05-14 20:02:39.795 error by controller[0]: at BluetoothHciSocket.bindRaw (C:\ioBroker\node_modules@abandonware\bluetooth-hci-socket\lib\usb.js:43:8)
                                    Caught 2019-05-14 20:02:39.795 error by controller[0]: at BluetoothHciSocket.bindUser (C:\ioBroker\node_modules@abandonware\bluetooth-hci-socket\lib\usb.js:87:11)
                                    Caught 2019-05-14 20:02:39.795 error by controller[0]: Error: No compatible USB Bluetooth 4.0 device found!
                                    radar2.0 2019-05-14 20:02:39.763 info Adapter disconnected and stopped with dostop(false) and callback(true)
                                    radar2.0 2019-05-14 20:02:39.762 error at process._tickCallback (internal/process/next_tick.js:181:9)
                                    radar2.0 2019-05-14 20:02:39.762 error at _combinedTickCallback (internal/process/next_tick.js:132:7)
                                    radar2.0 2019-05-14 20:02:39.762 error at Noble.<anonymous> (C:\ioBroker\node_modules@abandonware\noble\lib\noble.js:57:24)
                                    radar2.0 2019-05-14 20:02:39.762 error at NobleBindings.init (C:\ioBroker\node_modules@abandonware\noble\lib\hci-socket\bindings.js:82:13)
                                    radar2.0 2019-05-14 20:02:39.762 error at Hci.init (C:\ioBroker\node_modules@abandonware\noble\lib\hci-socket\hci.js:101:35)
                                    radar2.0 2019-05-14 20:02:39.762 error at BluetoothHciSocket.bindRaw (C:\ioBroker\node_modules@abandonware\bluetooth-hci-socket\lib\usb.js:43:8)
                                    radar2.0 2019-05-14 20:02:39.762 error at BluetoothHciSocket.bindUser (C:\ioBroker\node_modules@abandonware\bluetooth-hci-socket\lib\usb.js:87:11)
                                    radar2.0 2019-05-14 20:02:39.762 error Error: No compatible USB Bluetooth 4.0 device found!
                                    radar2.0 2019-05-14 20:02:39.762 error uncaught exception: No compatible USB Bluetooth 4.0 device found!
                                    radar2.0 2019-05-14 20:02:39.759 warn Promise problem unhandledRejection of Promise Promise { <rejected> TypeError: A.isLinuxApp(...).then is not a function at Network.updateMacdb.then.then (C:\ioBroker\node_modules\iobroker.radar2\radar
                                    radar2.0 2019-05-14 20:02:39.757 info radar2 set to scan every 20 seconds and printers every 720 minutes.
                                    radar2.0 2019-05-14 20:02:39.757 info arp-scan will use the following interfaces: [ 'Ethernet', 'USB Netzwerk Dongle' ]
                                    radar2.0 2019-05-14 20:02:39.757 info use known IP list: [ '1.1.1.1', '172.16.2.47' ]
                                    radar2.0 2019-05-14 20:02:39.756 info use known BT list: [ '3c:dc:bc:24:05:21', '00:00:46:00:00:01' ]
                                    radar2.0 2019-05-14 20:02:39.756 info radar2 set to flag items away if they are not seen for 2 minutes
                                    radar2.0 2019-05-14 20:02:39.756 info found 'node-bluetooth'
                                    radar2.0 2019-05-14 20:02:39.715 info found '@abandonware/noble'
                                    radar2.0 2019-05-14 20:02:39.296 info Connected with '0.0.0.0' for DHCP Scan
                                    radar2.0 2019-05-14 20:02:39.193 info radar2 initialization started...
                                    radar2.0 2019-05-14 20:02:39.160 info starting. Version 1.0.7 in C:/ioBroker/node_modules/iobroker.radar2, node: v8.15.1

                                    Danke für Deine Unterstützung.

                                    Hi frankjoke, darf ich nochmal nachfragen ob dir der Log weitergeholfen hat?
                                    Oder gibt es noch irgendetwas anderes was ich probieren kann um die Bluetooth Anwesenheit auf Windows zu realisieren?

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

                                      So, nun habe ich es auch geschafft und den Adapter kaputtgespielt.
                                      Habe den Raspi komplett neu aufgesetzt, frisches OS usw.

                                      Habe auch die Schritte mit den zusätzlichen Installationen durchgeführt.

                                      Aber:

                                      host.raspi	2019-05-25 02:25:50.258	info	Restart adapter system.adapter.radar2.1 because enabled
                                      host.raspi	2019-05-25 02:25:50.258	error	instance system.adapter.radar2.1 terminated with code 0 (OK)
                                      Caught	2019-05-25 02:25:50.258	error	by controller[0]: port: 67 }
                                      Caught	2019-05-25 02:25:50.258	error	by controller[0]: address: '0.0.0.0',
                                      Caught	2019-05-25 02:25:50.258	error	by controller[0]: syscall: 'bind',
                                      Caught	2019-05-25 02:25:50.257	error	by controller[0]: code: 'EADDRINUSE',
                                      Caught	2019-05-25 02:25:50.257	error	by controller[0]: errno: 'EADDRINUSE',
                                      Caught	2019-05-25 02:25:50.257	error	by controller[0]: at process._tickCallback (internal/process/next_tick.js:181:9)
                                      Caught	2019-05-25 02:25:50.257	error	by controller[0]: at _combinedTickCallback (internal/process/next_tick.js:142:11)
                                      Caught	2019-05-25 02:25:50.257	error	by controller[0]: at _handle.lookup (dgram.js:266:18)
                                      Caught	2019-05-25 02:25:50.256	error	by controller[0]: { Error: bind EADDRINUSE 0.0.0.0:67
                                      radar2.1	2019-05-25 02:25:50.115	warn	Adapter will exit in latest 1 sec with code false!
                                      radar2.1	2019-05-25 02:25:50.108	info	Adapter disconnected and stopped with dostop(false) and callback(true)
                                      radar2.1	2019-05-25 02:25:50.106	error	at process._tickCallback (internal/process/next_tick.js:181:9)
                                      radar2.1	2019-05-25 02:25:50.106	error	at _combinedTickCallback (internal/process/next_tick.js:142:11)
                                      radar2.1	2019-05-25 02:25:50.106	error	at _handle.lookup (dgram.js:266:18)
                                      radar2.1	2019-05-25 02:25:50.106	error	Error: bind EADDRINUSE 0.0.0.0:67
                                      radar2.1	2019-05-25 02:25:50.105	error	uncaught exception: bind EADDRINUSE 0.0.0.0:67
                                      radar2.1	2019-05-25 02:25:50.074	info	radar2 set to scan every 20 seconds and printers every 720 minutes.
                                      radar2.1	2019-05-25 02:25:50.074	info	arp-scan will use the following interfaces: [ 'eth0', 'wlan0' ]
                                      radar2.1	2019-05-25 02:25:50.072	info	use known IP list: [ '192.168.1.xxx
                                      radar2.1	2019-05-25 02:25:50.070	info	use known BT list: []
                                      radar2.1	2019-05-25 02:25:50.068	info	radar2 set to flag items away if they are not seen for 1 minutes
                                      radar2.1	2019-05-25 02:25:50.055	info	net-ping not available! Will try to use normal ping!
                                      radar2.1	2019-05-25 02:25:50.022	info	found and will use '@abandonware/noble'
                                      radar2.1	2019-05-25 02:25:49.678	info	found and will use 'node-bluetooth scan'
                                      radar2.1	2019-05-25 02:25:49.652	info	radar2 initialization started...
                                      radar2.1	2019-05-25 02:25:49.474	info	starting. Version 1.2.0 in /opt/iobroker/node_modules/iobroker.radar2, node: v8.16.0
                                      host.raspi	2019-05-25 02:25:47.835	info	instance system.adapter.radar2.1 started with pid 13802
                                      

                                      Das Spannende ist: eigentlich soll er gar keinen ARP Scan auf ETH0 durchführen, sondern bestenfalls auf wlan0, da der DNS Server nur auf eth0 lauscht. Dafür habe ich ihm im Parameterfeld für arp-scan folgende Parameter mitgegeben: -vN -I wlan0 192.168.179.0/24 -> scheint ihn nicht sonderlich zu interessieren.

                                      Hat jemand einen Tipp? Gern würde ich den ARP Scan sonst komplett abschalten..

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

                                        @ChristianF
                                        Hast wirklich die Liste der Befehle hier im Install Spoiler ausgeführt?

                                        Der Rechner hat keine Rechte für das Bind auf DHCP, auch arp-scan braucht Rechte.

                                        Und noch was, hast eventuell 'ne alte Instanz laufen? mach mal sudo pkill -f io.radar2.0

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

                                          @smile

                                          Noble braucht spezielle BT-Treiber glaub ich für Windows und auch spezielle build-tools. Schau mal auf https://github.com/noble/noble#readme

                                          Ich kann nur auf https://github.com/jasongin/noble-uwp verweisen, das hab ich selbst gerade gefunden und noch nicht ausprobiert.

                                          Wenn das unter Windows funktioniert kann ich mal testen ob ich beide noble einbauen kann und je nach OS das eine oder andere verwende, wird aber dauern bis ich das testen kann, muss mir eine Windows vm bauen wo ich iobroker drauf gib und dann alles wie in obigen links beschrieben mal installiere...

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

                                            @MathiasJ
                                            Wie meinst du das, du hast jetzt nur 2 flags getrennt! Wie schaut dein log aus wenn du auf hciscan schaltest ?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            818
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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