NEWS
[Gelöst] Radar: Findet BT Device nicht
-
@MCU Das löst aber mein Problem nicht. Das Handy schläft ein und ist nicht mehr anpingbar (das ist ein Android Fehler) und deshalb kann ich eine Anwesenheitsprüfung nur über Bluetooth durchführen. Ich nehme stark an dass irgendwas falsch eingestellt ist im Radar Adapter und dazu brauche ich hilfe (tr-064 würde auch nur pings ins Nirwana senden...)
-
@amg_666 sagte in Radar: Findet BT Device nicht:
das ist ein Android Fehler
das ist kein Bug, das ist ein Feature zum Stromsparen
@amg_666 sagte in Radar: Findet BT Device nicht:
Ich nehme stark an dass irgendwas falsch eingestellt ist im Radar Adapter
kann dein Handy denn BT-LE?
-
@Homoran Hallo, nein das ist ein Android Fehler, ich kann in den Einstellungen dieses Stromsparfeature deaktivieren und er "schläft" trotzdem ein und das ist der Fehler...
Aber wir kommen der Sache glaube ich näher: Ja das Handy kann BT-LTE, ich habe aber eben nochmal in die Doku geschaut und da steht, dass man dann ein ! vor die MAC setzen soll. Habe ich gemacht und bekomme jetzt im Log die Warnung
(9004) Adapter not running as root or iobroker has no sudo right, cannot use arp-scan!
Das hatte ich eigentlich installiert (meine ich). Wie prüfe ich das und kann ich arp-scan einfach drüberbügeln ?
-
@amg_666 sagte in Radar: Findet BT Device nicht:
kann ich arp-scan einfach drüberbügeln ?
das ist doch nicht der Punkt!
du solltest mal den Fixer drüberlaufen lassen, da scheint es ein Rechteproblem zu geben -
@Homoran fixer ist gelaufen, wenn ich den Adapter neu starte, dann kommt wieder die Fehlermeldung von oben mit dem arp-scan. Das iobroker muss doch aber sudo Rechte haben (?) gestartet hab ich den normal mit "iobroker start"
-
@amg_666 Kurze Einlage laut Beschreibung:
Installation Before installing the adapter into ioBroker you need to install on linux arp-scan and libcap2-bin and some drivers which you can do by running below commands. On Debian (Raspi-Stretch, Ubuntu, …) it looks like: sudo apt-get install -y coreutils libcap2-bin arp-scan bluetooth bluez libbluetooth-dev libudev-dev net-tools and below need to be run whenever you or the system updates nodejs, or any of the apps installed above! sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`) sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which node`) sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp`) sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hcitool`) sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hciconfig`) sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which l2ping`)
-
@MCU
ich denke das ist nicht wirklich die Ursache.denn es heisst ja
@amg_666 sagte in Radar: Findet BT Device nicht:
iobroker has no sudo right
Warum der user iobroker den arp-scan nicht starten darf ist mir allerdings rätselhaft, deswegen haben wir ja noch mal den fixer drüber laufen lassen.
jetzt müsste mal jemand der es weiß, z.B. @AlCalzone sagen, ob es für den radar-Adapter besonderer Rechte bedarf und wenn ja, wie man dem user iobroker diese geben sollte
-
@Homoran Erstmal danke für den Support bis hierhin, ich hab parallel nochmal in Ruhe die (lustig übersetzte) deutsche Anleitung gelesen und weil er da sagt der Adapter benötigt Knoten >=v10.1 stelle ich hier nochmal die Rahmenbedingungen mit ein:
3* Raspberry Pi 3b, Radar Adapter 2.0.1 läuft auf dem Master, alle Raspis haben
Node.js V12.19.0
npm 6.14.8
js-controller 3.1.16und noch ein Nachtrag: Wenn ich per Konsole auf den Raspi gehe und dort
arp-scan -lgq --retry=5 --timeout=900
eingebe bekomme ich eine Fehlermeldung Cannot open raw packet socket und socket: Operation not permitted.
Derselbe Befehl mit sudo vorweg läuft durch und bringt auch jede Menge gescannte device, arp-scan scheint also zu laufen aber mit den Rechten hapert es...
@AlCalzone ich habe in einem älteren Post (das war noch für den alten radar adapter) den Hinweis gelesen, dass iobroker für arp-scan root Rechte benötigt und man dafür sudo visudo aufruft und da dann einen weiteren priviligierten user iobroker anlegt. Ich hab mir schonmal mit unvorsichtigem Gebastel an eine Rechteverwaltung eine Installation zerschossen, daher frage ich lieber nochmal nach ob das so sinnvoll ist, dann würde ich es mal damit versuchen -
@AlCalzone @Homoran Hat sich erledigt. Wer lesen kann ist klar im Vorteil und in der Adapterbeschreibung steht klar dass man - wann immer node.js upgedated wird, man folgende Befehle durchführen muss. Das habe ich gemacht und der Fehler ist weg.
sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`) sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which node`) sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp`) sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hcitool`) sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hciconfig`) sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which l2ping`)
Ich bin ja nur einfacher Anwender und kein Entwickler und ich profitiere hier von unheimlich viel Arbeit/Aufwand den andere investieren, insofern habe ich hier leicht reden wenn ich rumnörgel, aber das ist imho suboptimal gelöst. Wenn irgendwann ein node.js update ansteht denke ich (und bestimmt viele andere auch) garantiert nicht daran, dass man hier was nachziehen muss. Keine Ahnung ob das geht aber es wäre schon toll, wenn es da irgendeinen Automatismus geben würde.
-
@amg_666 ja, daran muss man leider immer denken, bei einem node update. Gilt ebenfalls auch beim ble Adapter.
@frankjoke hatte irgendwo in nem radar2 Thread mal seine Lösung genannt, in dem er ein Bash Script einsetzt, das automatisch die Befehle absetzt bei update.
Vielleicht kann man das ja auch irgendwie direkt in den Adapter einbauen.