NEWS
[Adapter] Neuer radar2-Adapter
-
@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. -
Ich habe ein Note8 und meine Frau ein S7, beide werden gefunden, aber nur über Hostname/Mac im W-Lan da sie auf BT nur antworten wenn man die BT-Suche aktiviert hat(te, auch noch einige Minuten danach aber dann antwortet es nicht mehr).
-
@frankjoke die neue Version probiere ich gleich aus und melde mich dann dazu. Danke erstmal.
Alle Handys bekommen eine fixe IP vom DHCP. Daher kann die IP nie ein anderes Gerät bekommen, es sei denn dies wäre an einem anderen eingestellt, was aber hier nicht passiert.
Ich spiele jetzt erstmal die neue Version aus. Morgen Nachmittag sehe ich dann, was mit dem Handy passiert.
-
@frankjoke Es kommt nun kein Fehler mehr. Good Job. Habe auch nach erstem Test mit beiden IPs, weil es übersichtlicher ist, auf Namen statt IP umgestellt. Auch das funktioniert.
-
Hallo,
wollte nur mal kurz eine Info geben. Hab den neuen BT Stick jetzt im Rock und es funktioniert.hcitool scan für normales BT
sudo hcitool lescan für BT-LEWird schon mal das Soundsystem angezeigt , was BT hat.
Handy ist BT eingeschaltet, wird aber nicht erkannt, ja es war mal kurz da, dann wieder weg.
Weis nicht woran das liegt...
Jemand eine Idee?cu Deta
-
Habe 2-3 posts vorher das Problem beschrieben, die Handy's melden sich nicht immer auf BT, nur wenn sie selbst was suchen dann antworten sie auch. Mag sein dass es eine App gibt die BT-LE services zur Verfügung stellt die sich immer meldet aber hat mir noch niemand geholfen sowas zu finden.
Suche das handy mit IP/hostname/mac, wenn du ein eigenes W-Lan hast, (und BT) , dann gehts normal...
-
Suche das handy mit IP/hostname/mac, wenn du ein eigenes W-Lan hast, (und BT) , dann gehts normal...
Sind ja im eignen WLAN und IP MAC Und BT ist eingetragen.
-
@frankjoke Habe heute morgen ein weiteres Handy in dem Status. Es war seit gestern Abend offline, wegen Akku und nach Einschalten heute morgen wird es nicht als anwesend erkannt. IP steht jetzt unter _uIPs. Jeden Morgen wird iobroker gestoppt um ein Backup zu ziehen. Dann wieder gestartet. Dabei wird dann natürlich auch Radar2 neu gestartet. Das Handy ist dann 1 Std. später wieder eingeschaltet worden und hat sich auch mit dem Wlan verbunden. In diesem Moment muss bei Radar2 etwas falsch interpretiert worden sein. Vielleicht ist die "known IPs" Tabelle nicht korrekt gefüllt oder so....
Ich stelle jetzt, zum Test, alle IP Einträge von Namen auf IP um. Vielleicht liegt das Problem ja in der DNS Abfrage. Sollte ja eigentlich tun. DNS/DHCP ist immer verfügbar, der Server wird höchstens einmal im Monat gebootet.
-
@msauer sagte in [Adapter] Neuer radar2-Adapter:
Bist du auf radar2 1.0.3?
p.s.: Ich stoppe iobroker nicht, mach nur ein kleines backup, das reicht, redis und postgres können auch während des Laufes snapshots machen, all diese werden auf mein NAS mit nfs gemacht... also läft mein Produktionssystem (ein NUC) solange bis ich ihm ein update des OS einspiele. Als ich letztes Jahr nicht da war ist es 9 Monate durchgelaufen!
Allerdings restarte ich manche Adapter täglich, auch radar2. Der Grund ist dass sich z.B. IP's ändern können (intern wie extern) und ich möchte dass der ip-mac-cache den radar2 intern anlegt neu gebildet wird.
-
@frankjoke UPDATE: es sind jetzt die Handys angekommen und Radar2 (1.0.3) hat sie korrekt erkannt. Aus meiner Sicht scheint es vielleicht ein Timing Problem im Zusammenhang mit den DNS Auflösung zu geben.
ich stoppe iobroker (nicht den Server selbst), mache ein Backup, schiebe die dieses aufs NAS und starte danach iobroker mitsamt den Adaptern wieder.
-
jetzt könnte man ja Radar langsam in's Repro aufnehmen und Radar vom Repro löschen, oder?
Was ich auch gut finde, ist der Status der Tintenpatronen.
Schade dass es sowas nicht für Xerox gibt -
@frankjoke Es sieht tatsächlich nach einem Timing Problem aus. ich habe meinen HP Drucker mit seinem DNS Namen hinzugefügt und den Adapter restartet. Dann erst den Drucker eingeschaltet. Die IP des Druckers tauchte dann in _uIPs auf, der Drucker selbst wurde aber nicht als Objekt hinzugefügt. Ähnliches Verhalten, wie mit den Handys oben beschrieben, wenn diese mit DNS Namen konfiguriert sind und dann irgendwann wiederkommen.
Update: Nun ist der Drucker ja mit seiner IP erkannt worden und das entsprechende Objekt wurde auch hinzufügt. Gerade sehe ich die IP trotzdem auch unter _uIPs!? Die war definitiv nach neustart noch nicht da.