NEWS
[Adapter] Neuer radar2-Adapter
-
@Master77 sagte in [Adapter] Neuer radar2-Adapter:
Hier zwei Bilder vom Log nach dem Start des Adapter.
Wie man sieht wird er ordnungsgemäß gestartet und es werden auch keine Fehler ausgegeben. Wenn ich das ! setze wird auch angezeigt daß er alle 20 Sekunden scannt.
Heute morgen hatte ich auch ein Gerät in den Objekten stehen welches ich in den Adapter eingetragen habe. Dieses war aber nach einen Neustart des Adapter direkt wieder weg obwohl das Gerät noch "anwesend" war.
So wie es aussieht läuft der Adapter aber die Erkennung der Geräte funktioniert nicht so ganz.
Gruß Markus
Hallo Master!
Ist das der komplette log oder fehlt da was zwischen den 2 Seiten?
Ich glaube du hast einige Einträge herausgenommen wie 192.168.178.23/83/111 und so weiter weil ich in den ìps:`die sehe, die ips sind die IP-Adressen welche bei den zu scannenden gefunden wurde, also wenn du einen Hostnamen angibst sucht es nach der IP und schreibt diese als bekannt hinein.Übrigens, auch an Alle: Die Einträge wie
Ich, Fritzbox, G-Tag
sind nur Beispiel-Einträge und sollten mit euren wirklichen Daten überschrieben bzw umbenannt oder gelöscht werden. Ich ist z.B. komplett unsinnig da es immer da ist solange der das Gerät läuft auf dem ioBroker läuft!Die Einträge im log mit 'Init item' zeigen die Geräte die ihr scannt an mit der Konfiguration.
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?Dann sehe ich noch dass du kein einziges BT-Gerät konfiguriert hast (
bts:
), kann das sein?In den known IP's hast auche den Dummyeintrag 1.1.1.1 drinnen und in den known BT's auch noch, diese bitte auf deine IP's ändern die du nicht in den unkown finden willst, die aber auch nicht gescannt werden! Bei mir ist da ein Linksys drinnen oder auch der Fernseher und meine PC's, NAS, notebooks, tablets, TV's die nicht außer Hause gehen ...
Dann sehe ich noch dass der 1. scan nur 0.074 Sekunden gedauert hat, ok, ohne Arp-scan und ohne irgend ein BT erden nur die Geräte gepingt... Leider bringt das auch keine unknowns und diese werden nach dem Start gelöscht.
Unknowns können nur mit arp-scan oder BT noble/scan gefunden werden.
Wenn BT und arp-scan ein ist sollte der scan - wenn alle 20s gescannt wird - ca 14-15 Sekunden dauern. 0.074 bedeutet dass da nur pings aber kein scan durchgeführt wurden.
BT scans werden nur durchgeführt wenn in irgend einer Konfig auch die BT-Mac steht (diese werden dann inbts:
angezeigt), wenn du also nirgends eine BT eingibst und auch meinen dummy-Eintrag für G-Tag löscht dann kannst auch nicht die unbekannten BT's sehen!Egal, deine Konfiguration ist jedenfalls sehr eingeschränkt!
-
@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. -
@JohGre sagte in [Adapter] Neuer radar2-Adapter:
So noch etwas weitergetestet.
Allem Anschein nach verursacht bei mirarp-scan
massiven Traffic im Netz (geht dann nicht mal Internet Zugriff) und 100% CPU Auslastung am Raspi.
Ich weiß, dass das Problem nicht am Adapter selbst liegt, aber vielleicht kann hier sonst wer helfen.btw:
sudo -u iobroker node /opt/iobroker/node_modules/iobroker.radar2/radar2.js --force --logs --nolazy
funktioniert bei mir nur ohne
-u iobroker
, denn da muss ich dann ein Passwort eingeben das ich nicht kenne. Aber auch unter root, sehr hohe und permanente Last von arp-scan
Hallo JopGre!
zuerst zum sudo -u iobroker:
- nur wenn dein iobroker wirklich unter iobroker läft dann -u iobroker verwenden (check mit
top
)! - 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: ALL
in den
user privileg specification
einfügen!
und dann mit^x
beenden und speichern (visudo
funktioniert am Raspi wienano
).Jetzt zu
arp-scan
:
Das erzeugt 255 packets an alle Netzwerkadressen (falls du ein/24-Netz hast). für jedes gerät welches nicht antwortet im timeout (400ms in meiner Konfig) wird (je nachdem wie retry gesetzt wird) nochmals ein Paket verschickt.Bei meinem Raspi der 2 Schnittstellen hat (Wlan auf Gastzugang und Lan auf Normalem Netzwerk) dauern die 2 scans (die gleichzeitig aber jeweils für die Adressgruppe 192.168.178.* fürs normale Netzwerk und 192.168.179.* fürs Gastnetz durchgeführt werden) ca 4-5 Sekunden und mein Netzwerk geht dabei nicht in die Knie!
Mein Raspi hängt an einem 1GB-switch (kann selbst aber nur 100MHz am Lan) und ist im selben Raum wie die Fritzbox, also keine Probleme.
Falls du allerdings Netzwerkprobleme hast dann mulipliziert sich der traffic da Pakete oft nicht durchkommen und von chon vorher mehrmals gesendet werden müssen!Wenn du dir
arp-scan -h
aufrufst wirst du sehen dass du mit--interval=<x>
die ms angeben kannst bevor das nächste Paket gesendet wird, also mit--interval=10
wartet es dann 10ms vor dem nächsten Paket.
Anstatt dem kannst auch--bandwidth=<x>
verwenden und damit die Bandbreite begrenzen. Da ist der default 256000 und deshalb sollte eigentlich arp-scan nur 2,6% deines Raspi's maximalen Bandbreite nutzen (wenn dein Netzwerk keine Fehler macht)!
p.s.: Beide Optionen können nicht gleichzeitig verwendet werden! - nur wenn dein iobroker wirklich unter iobroker läft dann -u iobroker verwenden (check mit
-
Bei mir wurde nun anscheinend alles korrekt initialisiert, aber bekomme keine Devices als Objekte rein. Dafür steht das im LOG:
radar2.0 2019-02-14 12:17:33.542 info Noble scan Err 'not powered on' radar2.0 2019-02-14 12:17:13.537 info Noble scan Err 'not powered on' radar2.0 2019-02-14 12:16:53.537 info Noble scan Err 'not powered on' radar2.0 2019-02-14 12:16:33.750 debug system.adapter.admin.0: logging true radar2.0 2019-02-14 12:16:33.749 debug redis pmessage io.*.logging io.system.adapter.admin.0.logging {"val":true,"ack":true,"ts":1550142993741,"q":0,"from":"system.adapter.admin.0","lc":1550142993741} radar2.0 2019-02-14 12:16:12.295 info Adapter initialization finished!
-
@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