NEWS
[Adapter] Neuer radar2-Adapter
-
@AlCalzone Kann ich dir nicht mal jetzt sagen. Aber wenn ich die Befehle ausführe, hoffe ich mal das mir nicht das ganze System zerlegt wird. Sonst sitzen alle im Dunklen
cu Deta
-
@deta Dann zieh dir vorher besser ein Backup
-
Der neue Radar2 Adapter gefällt mir wirklich sehr gut. Vor allem das super schnelle Erkennen der Geräte mittels DHCP Scan. Hier kann ich nun viel schneller auf Anwesende reagieren und bekomme keine Fehlalarme mehr.
Ich habe jedoch zwei Fehler zu melden. Dazu habe ich auch entsprechende Issues auf dem Github aufgemacht.
Den ersten "radar2.0._nHere not set to zero" hatte ja schon jemand weiter oben bemerkt. Es wurde allerding nicht darauf eingegangen. Der Fehler ist insoweit unschön, das die Variable "nHere" nie 0 wird und ggfs. so immer jemand anwesend wäre. Das kann ich ja noch mit "_isHere" umgehen, da diese korrekte Daten enthält.
Das zweite Issue "Erstes Erkennen einen Objektes funktioniert nicht" ist allerdings mehr als unschön. Ein bekanntes, aber noch nie gescanntes Gerät, wird nicht als Anwesend erkannt, die IP Adresse findet sich allerdings als unkown IP.
Erst nach einem Adapter Neustart wird dann das Objekt korrekt erkannt und die entsprechenden Felder angelegt.Ich helfe gerne beim Troubleshooting.
-
@AlCalzone sagte in [Adapter] Neuer radar2-Adapter:
@deta Dann zieh dir vorher besser ein Backup
Hab ich sowieso
Habs durch Rebuild.Dennoch auch nach neustart des Rock immer noch diese Meldungen;
host.rock 2019-03-18 18:34:12.170 info Restart adapter system.adapter.radar2.0 because enabled
host.rock 2019-03-18 18:34:12.170 error instance system.adapter.radar2.0 terminated with code null ()
host.rock 2019-03-18 18:34:12.169 warn instance system.adapter.radar2.0 terminated due to SIGSEGVcu Deta
-
Hmm dann weiß ich leider auch nicht weiter.
-
Hallo nochmals! Danke für Test und feedback. Das nHere-Problem hab ich schon gefunden und korrigiert (auf git mit selber V 1.0.1).
Dein zweites Problem konnte ich nicht nachvollziehen bis ich einen Test machte wo ich nur eine Netzwerk-Mac eingebe und keinen Hostnamen oder ip (was ich normal nicht tue denn nur mac's können nur von arp-scan gefunden werden, aber nicht von pings!)
Das Problem war dass der Adapter Zeilen die nur Netzwerk-Macs enthalten haben heraus geschmissen hat (mit einer Warnmeldung)!
Hab das Problem denke ich jetzt auch behoben!
p.s.: Seid ihr böse wenn ich den Namen von
.lasthere
auf._lastHere
ändere? Es passt besser da ich alle zur Steuerung angelegten States mit_
beginnen lassen will. -
@frankjoke Danke für die schneller Fehlerbehebung. Es funktioniert super.
Eine weitere Frage habe ich aber. Ich gruppiere zwei Geräte unter einem gemeinsamen Namen (sprich, ich habe zwei Handys, will aber nur mich persönlich als Anwesend anzeigen lassen. In Version 1 konnte ich 2 MAC Adressen mit "," getrennt eingeben. In Version 2 kann ich das scheinbar nicht mehr. Bekomme dann einen Fehler "TypeError: i.hasMAC.indexOf is not a functionat Network.getMac.then.x (/opt/iobroker/node_modules/iobroker.radar2/radar2.js:566:38)at <anonymous>". Ist das gewollt oder doch eher ein Fehler?. Wenn ich die zwei DNS Namen unter IP anstatt der MACs einfüge funktioniert es. -
Das ist eigenartig, kann es nicht nachvollziehen! Man kann mehrere mac's angeben!
Der Ort den deine Meldung angibt scannt alle IP's die du angegeben hast und versucht die mac-adresse dazu finden und in die Liste der macs dazuzugeben. Die Liste ist ein Array und kann indexOf...Ich kann den Fehler nicht reproduzieren (mit der Version die ich heue Nacht auf git committed hab!
-
@frankjoke Kann es sein, das ich nur 2 IP bzw. Namen oder 2 MACs eingeben kann und nicht beides gleichzeitig?
-
@msauer ,
nein, beides kann mehrere! Nur BT kann nur eins, muss ich später in einer neuen Version checken ob ich das auch ändern kann...@alle
Übrigens, die neue Version 1.0.2 ist auf Guit und NPM. Änderungen sind hauptsächlich Umstieg auf._lastHere
und dass die Konfigurationsdaten der Geräte nun auch in native gespeichert werden womit man nachschauen kann wie das Gerät konfiguriert wurde (ohne debug mode einschalten zu müssen, in Adon.Objekte rechts auf den Bleistift und dann unter NATIV...) -
- @frankjoke Hi..Auch mit V1.0.2 bekomme ich den Fehler, wenn ich IP und MAC zusammen eingebe NAME (IP1,IP2) (MAC1, MAC2). Nun kommt der Fehler sogar doppelt.
2019-03-20 09:21:43.696 - error: radar2.0 TypeError: item.hasMAC.indexOf is not a functionat network.ping.catch.then.then.x (/opt/iobroker/node_modules/iobroker.radar2/radar2.js:557:61)at
2019-03-20 09:21:45.731 - error: radar2.0 TypeError: item.hasMAC.indexOf is not a functionat network.ping.catch.then.then.x (/opt/iobroker/node_modules/iobroker.radar2/radar2.js:557:61)atKorrektur...Jetzt sind es ähnliche Fehler, aber eben jetzt doppelt.
- Desweiteren ist mir aufgefallen, das ein bekanntes Gerät, wenn wie jetzt gerade passiert, seit gestern Abend nicht im Netz war, nicht mehr als anwesend erkannt wird. Dazu gesellt sich die eigentlich bekannte IP Adresse aber unter _uIPs. Auch ein aus/einschalten des WLANs am Gerät verführt Radar2 nicht dazu dieses als "ist da" zu erkennen. Bevor das Gerät wieder im Netz war, habe ich aber auch den Adapter mehrfach restartet bzw. auch den Iobroker.
zu 2 Update: ich habe versucht das nachzustellen. Leider ohne Erfolg...sehen wird morgen mal was passiert.
-
@msauer sagte in [Adapter] Neuer radar2-Adapter:
2019-03-20 09:21:43.696 - error: radar2.0 TypeError: item.hasMAC.indexOf is not a functionat network.ping.catch.then.then.x (/opt/iobroker/node_modules/iobroker.radar2/radar2.js:557:61)
Das ist der codeteil der die macs speichert:
item.ipVendor = Network.getMacVendor(x); if (item.hasMAC) { if (item.hasMAC.indexOf(x) < 0) item.hasMAC.push(x); } else item.hasMAC = [x];
Kannst du mir sagen welches nodejs (node -v) du auf welchem System/OS verwendest?
Dieser Programmteil wurde hinzugefügt und funktioniert bei mir auf mehreren Geräten einwandfrei.
Kannst mal
node
aufrufen unda = [1,2,3] a.indexOf(2)
eingeben? Das Ergebnis sollte
1
sein.p.s.: Wenn da was nicht stimmt dann ist das mit dem 2.Problem auch klar...
-
Von Beebox auf Rock64 gewechselt, Radar2 und BLE laufen.
Selbstverständlich nehme ich für Radar und BLE 2 BT-Dongles
Gruß,
Mathias -
node
a = [1,2,3]
[ 1, 2, 3 ]
a.indexOf(2)
1Versionen
Linux xxxxx 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux
Node 8.15.1
npm 6.9.0
iobroker js 1.5.7
Radar2 1.0.2 -
Hallo zusammen,
habe ein kleines Problem und zwar:
Über Radar wird mein Handy Samsung S8 gefunden und zeigt es auch in den Datenpunkten an, Über Radar2 kriege ich keine Verbindung der Datenpunkt fürs Handy bleibt immer auf "false". Woran könnte es liegen? Bin schon am verzweifeln
Dann noch eine Frage würde gerne die Gear S3 einbinden kriege es aber überhaupt nicht hin.
Achso mit dem Script von Ruhr70 findet es gar keine Geräte.MfG helfi9999
-
Danke für den Test, du hast gerade bewiesen dass ein Array die funktion kann und iobroker meldet dass es keine solche Funktion hat!
Das ist ja dann sehr eigenartig!Ich kann machen was ich will aber ich bekomme auf 3 Rechnern diesen Fehler nicht!
Kannst mir mal per PM deine Konfig schicken? Admin.Objekte, expertenmodus=ein, system.adapter.radar2.0 suchen, in der Zeile rechts auf den Bleistift klicken und dort dann RAW (nur experten) und mir das kopieren und ans mail anhängen.
Dann kann ichs mal mit deiner konfig testen (auch wenn die Geräte nicht da sind aber der Fehler tritt schon beim init auf).
-
Kannst mal im debug-mode im alten radar schauen wie das S8 gefunden wird? Verwendest du IP oder BT oder beides?
Mac-Adressen oder hostnamen? .....Kannst auch auf der Kommandozeile mal probieren wo und ob du das Gerät siehst:
hcitool scan
für normales BT
sudo hcitool lescan
für BT-LE
ping hostname
für ip
arp-scan -lgq
für ip-mac'sp.s.: Es kann sein dass bei normalen BT das Gerät 'gepairt' sein muss!
p.s.s: Es ist auch immer gut zu wissen auf welchem Gerät unter welchem OS das Problem auftritt und ob irgendwelche Fehlermeldungen im Log auftauchen - mit und ohne debug.
-
@frankjoke sagte in [Adapter] Neuer radar2-Adapter:
hcitool scan
Ich finde in der Konsole das Handy nichtAch so Handy ist ein Samsung mit Android
System Iobroker ARMBIAN 5.73 stable Ubuntu 18.04.2 LTS 4.4.174-rockchip64
-
@frankjoke Der Punkt 2 meiner o.g. Probleme ist wieder aufgetreten. Das bekannte und bis gestern Abend als Anwesend markierte Handy ist wieder "false" und die IP ist unter _uIPs aufgeführt...
-
Hallo, erstmal hab ich V 1.0.3 auf git gestellt. Hat mehr check eingebaut dass das .indexOf-Problem nicht auftreten kann und er kann jetzt auch mehrere BT-Mac-Adressen/Gerät!
Ist noch nicht auf npm da ich auf euer feedback warten wollte.
@msauer
eine Frage: Hast dem Handy eine fixe IP im W-Lan zugewiesen? Wenn nicht solltest du keine ip-Adressen sondern nur macs und Hostnamen statt ip's verwenden.
Der Grund ist dass wenn das Handy weg ist ein anderes Gerät die Adresse des Handys bekommen kann und dann wenn das Handy zurückkommt es eine neue Adresse bekommt.
Ich vergebe alle meiner bekannten Geräten in der Fritzbox (oder deinem router der das normal auch können sollte) Namen (falls nicht schon am Handy) und Adressen, dann bin ich auch sicher dass diese Adressen nicht anderen Geräten vergeben wurden. Damit wird der Mac-Adresse immer der selbe Name/IP zugewiesen.