NEWS
[Adapter] Neuer radar2-Adapter
-
@frankjoke sagte in [Adapter] Neuer radar2-Adapter:
sudo visudo
aufrufen und dann
iobroker ALL=(ALL:ALL) NOPASSWD: ALLDanke mal für die ausführliche Antwort zu arp.
Hab den User iobroker in visudo eingefügt, werde aber auch nach einem Reboot noch nach PW gefragt.
Hier Auszug ausps -ef | grep io iobroker 473 1 15 12:19 ? 00:00:45 iobroker.js-controller iobroker 534 473 8 12:19 ? 00:00:24 io.admin.0 iobroker 547 473 1 12:19 ? 00:00:04 io.web.0 iobroker 595 473 0 12:20 ? 00:00:02 io.info.0
Der Aufruf von
sudo -u iobroker node /opt/iobroker/node_modules/iobroker.radar2/radar2.js --force --logs --nolazy
resultiert in
starting. Version 0.1.2 in /opt/iobroker/node_modules/iobroker.radar2, node: v8.15.0 radar2 initialization started... radar2 starting main... found '@abandonware/noble' found 'node-bluetooth' Debug mode set by adapter config ('!' as first letter in removeEnd)! use known BT list: [] use known IP list: [] Remove name end for host names: .fritz.box radar set to scan every 60 sec and printers every 720 scans. info: Connected for DHCP Scan! info: Noble State Change: poweredOn info: Manufacturer database loaded. [sudo] Passwort für iobroker:
-
@frankjoke sagte in [Adapter] Neuer radar2-Adapter:
Nun zu 0.0.0.0:67: Das ist der port für DNS, hast auf deinem Raspi einen DNS-Server laufen? Wenn ein anderes Programm das blockiert ist's dumm. Werde eine Änderung machen dass der Adapter nicht abstürzt wenn das der Fall ist, DNS-Erkennung gibt's dann halt nicht!
Ich habe auf dem Raspi, auf dem iobroker läuft auch pihole laufen, meinst du, dass pihole diesen Port blockiert?
-
@JohGre sagte in [Adapter] Neuer radar2-Adapter:
@frankjoke sagte in [Adapter] Neuer radar2-Adapter:
Auch sehe ich dass arp-scan nicht gefunden wurde (doArp(false)), ist das Absicht oder hast nicht alles installiert - die 3 Zeilen im install-spoiler im 1. Beitrag?
Ist auch bei mir so, das doArp(false) steht obwohl arp-scan installiert ist. Wenn ich im Terminal
sudo arp-scan -lgq --retry=4 --timeout=400
ausführe gehts und ich bekomme alle States.
btw: arp-scan lief bei mir so extrem CPU-lastig, da ich keine netmask eingetragen hatte und da wollte er über 60.000 IP's scannen.Danke für die Info mit der netmask, kann für andere Nutzer mit dem Problem (hatte ich auch einen mir dem alten Radar-Adapter) werden es zu schätzen wissen!
Die anderen Fehler mit doArp(false) und auch cannot bind to 0.0.0.0:67 hab ich hoffentlich in Beta 9 behoben!
Hatte einen orangePi2E+ mit homematic-board als Test genommen und dort kamen auch diese fehler da es eine interne bridge hat. Jetzt erkennt das System alle IPv4-Interfaces die verwendbar sind und verwendet nur diese, damit kommen auch die Fehler nicht mehr.Also bitte wieder updaten und Testen!
@Segway,
Noble scan Err 'not powered on'
sollte nur kommen falls noble nicht starten kann, das ist z.B. dann der Fall wenn ein zweiter Adapter läuft der auch noble verwendet! Diese sind Radar, Radar2 oder BLE.
Wenn du zwei Instanzen verwenden willst dann brauchst zwei BT-dongles und stellst in der Konfig den für radar 2 auf den 2. (der erste hat #0 und ist devault, der 2. hat '1'!).@JohGre, das
[sudo] Passwort für iobroker:
kann ich nicht generieren! Ich hab's auf einem Raspi, einem OrangePi, und einer Linux-VM probiert, funktioniert immer.Allerdings sind das alles neue Installationen (3-4 Wochen alt) wo das iobrokerscript geändert wurde um sudo zu ermöglichen. Wenn du vorher installiert hast dann ist das vielleicht nicht passiert!
Enthält dein visudo auch ein#includedir /etc/sudoers.d
und was steht in/etc/sudoers.d/iobroker
? -
@frankjoke sagte in [Adapter] Neuer radar2-Adapter:
Enthält dein visudo auch ein #includedir /etc/sudoers.d und was steht in /etc/sudoers.d/iobroker?
Ja enthält sie und das ist der Inhalt der Datei. (btw: ist das # nicht auskommentieren?)
iobroker ALL=(ALL) ALL iobroker ALL=(ALL) NOPASSWD: /sbin/shutdown -h now iobroker ALL=(ALL) NOPASSWD: /sbin/halt iobroker ALL=(ALL) NOPASSWD: /sbin/poweroff iobroker ALL=(ALL) NOPASSWD: /sbin/reboot iobroker ALL=(ALL) NOPASSWD: /bin/systemctl start iobroker ALL=(ALL) NOPASSWD: /bin/systemctl stop iobroker ALL=(ALL) NOPASSWD: /bin/mount iobroker ALL=(ALL) NOPASSWD: /bin/umount iobroker ALL=(ALL) NOPASSWD: /usr/bin/systemd-run iobroker ALL=(ALL) NOPASSWD: /usr/bin/apt-get iobroker ALL=(ALL) NOPASSWD: /usr/bin/apt iobroker ALL=(ALL) NOPASSWD: /usr/bin/dpkg iobroker ALL=(ALL) NOPASSWD: /usr/bin/make iobroker ALL=(ALL) NOPASSWD: /bin/ping iobroker ALL=(ALL) NOPASSWD: /sbin/setcap ALL ALL=NOPASSWD: /bin/systemctl start iobroker ALL ALL=NOPASSWD: /bin/systemctl stop iobroker ALL ALL=NOPASSWD: /bin/systemctl restart iobroker ALL ALL=(iobroker) NOPASSWD: /usr/bin/node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js
Installiert hab ich gestern, sollte also passen. Hab kein fertiges Image genommen sondern über
curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/stable-installer/installer.sh | bash -
installiert.
Node: v8.15.0
Ndejs: v8.15.0
npm: 6.4.1 -
@JohGre sagte in [Adapter] Neuer radar2-Adapter:
@frankjoke sagte in [Adapter] Neuer radar2-Adapter:
Ok, kannst nur versuchen die
iobroker ALL=(ALL:ALL) NOPASSWD: ALL
-Zeile and Ende, also hinter das #include zu geben, oder/und wenn du Zeile%sudo ALL=(ALL:ALL) ALL
im visudo hast kannst iobroker zur sudo-gruppe dazugeben:sudo usermod -g sudo iobroker
p.s.: Kommentare sind dort
# ...
, also habe einen Leerschritt hinter dem #! -
Ich verstehs nicht, unter dem User iobroker kommt immer doArp(false) und alle IP Adressen werden gelöscht. Als ob der user keinen Zugriff auf arp-scan hat.
Sobald ich den Adapter unter root laufen lasse kommt immer doArp("-lgq --retry=4 --timeout=400" on eth0) und alle konfigurierten IP Adressen werden gefunden und entsprechend markiert.
Nichts desto trotz, die BT Geräte aktualisieren ihren Status nur durch Adapter Neustart.
-
........
-
So, mittlerweile läuft der Adapter.
Auch der Arp Scan funktioniert.Seit dem Update über die Katze und dem Reboot zeigt er jedoch jede Menge Warnungen an. Anscheinend ist es so das sobald ein Gerät unten in die Liste eingetragen wird und es nicht erreichbar ist eine Warnung im Log ausgegeben wird. Das ganze sieht dann wie folgt aus.
Für jedes Gerät was nicht erreichbar ist alle paar Sekunden eine Warnung.
Sobald das Gerät wieder verfügbar ist, wird für dieses auch keine Warnung mehr ausgegeben.Gruß Markus
-
@JohGre sagte in [Adapter] Neuer radar2-Adapter:
Ich verstehs nicht, unter dem User iobroker kommt immer doArp(false) und alle IP Adressen werden gelöscht. Als ob der user keinen Zugriff auf arp-scan hat.
Sobald ich den Adapter unter root laufen lasse kommt immer doArp("-lgq --retry=4 --timeout=400" on eth0) und alle konfigurierten IP Adressen werden gefunden und entsprechend markiert.
Nichts desto trotz, die BT Geräte aktualisieren ihren Status nur durch Adapter Neustart.
Hast du den Adapter neu von git geladen (also neu mit dem git-Äffchen installiert)?
Beides sollte behoben sein (zumindest auf meinen Testrechnern, hatte das am orangepi mit dem homematic auch!).
Die BT-Geräte hab ich auch mit einem G-Tag getestet.
@wendy2702 sagte in Neuer Adapter 'systeminfo' auf Git und npm:
Hallo Frank,
Danke das hat mir sehr geholfen.
Habe es jetzt so umgesetzt:
Hast du zufällig noch einen Tipp wie ich den Filter erweitern kann damit er mir die "[]" bei Temp_OG_cores" nicht mehr anzeigt?
Mirko, das cores schein ein Array zu sein in den Daten, versuch mal im Filter
main,max,cores[0]
, sonst musst für die cores eben einen eigenen anlegen... -
@frankjoke sagte in [Adapter] Neuer radar2-Adapter:
@Segway, Noble scan Err 'not powered on' sollte nur kommen falls noble nicht starten kann, das ist z.B. dann der Fall wenn ein zweiter Adapter läuft der auch noble verwendet! Diese sind Radar, Radar2 oder BLE.
Hi,
da es auf meinem Testsystem läuft, läuft keiner der anderen genannten Adapter sondern NUR der radar2.0 ! -
@frankjoke
In wieweit stört es, wenn BLE auf dem Slave läuft?
Es könnte ja sein, daß da auch Noble gebraucht wird.
Wenn es dann wirklich nicht geht, kann ich Radar2 begraben. -
@MathiasJ sagte in [Adapter] Neuer radar2-Adapter:
@frankjoke
In wieweit stört es, wenn BLE auf dem Slave läuft?
Es könnte ja sein, daß da auch Noble gebraucht wird.
Wenn es dann wirklich nicht geht, kann ich Radar2 begraben.Das sollte überhaupt nicht stören!
Noble(welches radar2 und BLE verwendet) stören sich nur wenn sie auf dem gleicheb BT-ID (z.B hci0) auf dem gleichen Rechner laufen! -
Habe meine letzte Beta getestet und auf git zur Verfügung gestellt.
IP und BT-Abwesenheiten funktionieren 100%Allerdings hab ich den '.here' State gekillt und der Adapter erzeugt nur noch '.lasthere'!
Wenn der Adapter neu gestartet wird wird lasthere auf den Zeitpunkt vor der Abwesenheit gestellt, damit werden alle Objekte die nicht anwesend sind als abwesend vermerkt.lasthere wird erst beschrieben wenn es wirklich erkannt wird!
Bitte um Feedback und danke für die Tests!
-
Moin zusammen.
Habe eben die aktuellste Version über die Katze geladen.
Leider läuft mein Log immer noch mit Warnungen voll. (Wie in meinem letzten Beitrag beschrieben)Gruß Markus
-
@frankjoke sagte in [Adapter] Neuer radar2-Adapter:
Wenn du bei sudo -u iobroker ...ein passwort eingeben musst dann solltest du folgendes machen:
sudo visudo
aufrufen und dann
iobroker ALL=(ALL:ALL) NOPASSWD: ALLin den user privileg specification einfügen!
sudo usermod -g sudo iobroker
Oh Gott. Bitte nicht! Das macht mit einer Zeile Code 3 Wochen Arbeit zunichte, den ioBroker ohne root-Rechte ausführen zu können. Dann hätten wir auch gleich dabei bleiben können, alles als root auszuführen.
Wenn arp-scan nicht ausgeführt werden kann, sollte die entsprechende Zeile in
/etc/sudoers.d/iobroker
hinzugefügt werden, d.h.
iobroker ALL=(ALL) NOPASSWD: /pfad/zu/arp-scan
Den kompletten Pfad kann man mitwhich arp-scan
ermitteln.Das Passwort bei
sudo -u iobroker node /opt/iobroker/node_modules/iobroker.radar2/radar2.js --force --logs --nolazy
müsste dein User-Passwort sein. Alternativ probiere mal dich erst zum Root zu machen
sudo su
und dann obige Zeile auszuführen. -
@frankjoke
@AlCalzone sagte in [Adapter] Neuer radar2-Adapter:Wenn arp-scan nicht ausgeführt werden kann, sollte die entsprechende Zeile in /etc/sudoers.d/iobroker hinzugefügt werden, d.h.
iobroker ALL=(ALL) NOPASSWD: /pfad/zu/arp-scanHab nun komplett neu installiert, kein Backup eingespielt, die obigen Empfehlung ausgeführt und ja doArp() funktioniert nun.
BT devices werden aber weiterhin nicht gefunden, bzw. deren State aktualisiert. Kann ich hier irgendwie gesondert was testen?
Müssen eventuell die Mac-Adressen über bluetoothctl vertraut werden?Zu meinem Test-System:
Raspi 3, Raspbian Stretch Lite von 11 2018, Installation ioBroker laut aktueller Anleitung -
@JohGre
Hast du das auch gemacht?sudo setcap cap_net_raw+eip $(eval readlink -f `which node`)
-
@AlCalzone
Nein, aber jetzt.
Hab nun den Adapter 20 min laufen lassen, keine Fehlermeldungen aber auch keine Änderung der BT-Device States. Es werden zwar über den Adapter _uBTs gefunden, aber die konfigurierten nicht und die liegen direkt neben dem Raspi.Mein Produktivsystem findet mittels radar alle konfigurierten BT-Devices
-
@JohGre sagte in [Adapter] Neuer radar2-Adapter:
@AlCalzone
Nein, aber jetzt.
Hab nun den Adapter 20 min laufen lassen, keine Fehlermeldungen aber auch keine Änderung der BT-Device States. Es werden zwar über den Adapter _uBTs gefunden, aber die konfigurierten nicht und die liegen direkt neben dem Raspi.Mein Produktivsystem findet mittels radar alle konfigurierten BT-Devices
Welche BT-devices sind das? BT-LE oder alte/normales BT?
Das Handy meiner Frau wird z.B normal gefunden, meines kann nur gefunden werden wenn ich am Handy auf BT-Suche gehe oder wenn ich es mit dem Raspi mal paire!
Egal, das alte Radar vewendet auch zwei Kommandos zum 'pingen':
hcitool
undl2ping
.
Leider brauchen die teilweise sudo und können nur in der 'noble-Pause', also nicht gleichzeitig mit dem noble scan laufen, deshalb hab ich sie rausgeschmissen.Kannst mal schauen ob
l2ping <mac>
oderhcitool name <mac>
die findet wenn Radar2 es nicht tut? P.s.: kein anderer Adapter welcher gleichzeitig BT verwendet sollte laufen! -
@frankjoke sagte in [Adapter] Neuer radar2-Adapter:
l2ping <mac> oder hcitool name <mac>
damit werden die Handys alle und sehr schnell gefunden. Hab 2 x iPhone 6s, 1 x iPhone 8Plus und 1 Samsung Galaxy A3 2016, also alle nicht so alt.
Was über die Tools nicht gefunden wird sind meine Lenovo Watch 9 und mein Mi Band3