Closed esusxunil closed 7 months ago
Thank you for your report. I think the missing devices could be a result of the crash as the discovery will stop before all devices can be found. A full log from start to crash will be helpfully. Also the information if you used the discovery on device tab or automatic discovery?
Hi,
yes I think that the missing devices are the result of the crash - my guess that any result of the scan will effect the crash.
Here is the full log in DEBUG Mode, I used the Auto discovery mode. Other tests with manual discovery delivered the same result.
2024-03-14 21:52:21.333 - debug: net-tools.0 (29282) Redis Objects: Use Redis connection: 127.0.0.1:6379 2024-03-14 21:52:21.448 - debug: net-tools.0 (29282) Objects client ready ... initialize now 2024-03-14 21:52:21.452 - debug: net-tools.0 (29282) Objects create System PubSub Client 2024-03-14 21:52:21.454 - debug: net-tools.0 (29282) Objects create User PubSub Client 2024-03-14 21:52:22.402 - debug: net-tools.0 (29282) Objects client initialize lua scripts 2024-03-14 21:52:22.410 - debug: net-tools.0 (29282) Objects connected to redis: 127.0.0.1:6379 2024-03-14 21:52:22.433 - debug: net-tools.0 (29282) Redis States: Use Redis connection: 127.0.0.1:6379 2024-03-14 21:52:22.441 - debug: net-tools.0 (29282) States create System PubSub Client 2024-03-14 21:52:22.443 - debug: net-tools.0 (29282) States create User PubSub Client 2024-03-14 21:52:22.455 - debug: net-tools.0 (29282) States connected to redis: 127.0.0.1:6379 2024-03-14 21:52:22.608 - info: net-tools.0 (29282) starting. Version 1.0.6 in /opt/iobroker/node_modules/iobroker.net-tools, node: v18.19.1, js-controller: 5.0.19 2024-03-14 21:52:22.809 - info: net-tools.0 (29282) Scanning for open ports (20, 21, 22, 23, 25, 53, 80, 110, 119, 123, 143, 161, 162, 194, 443, 445, 3306, 3389, 5900, 6379, 8080, 8443, 9090, 9200, 9999) at localhost, please wait 2024-03-14 21:52:22.865 - info: net-tools.0 (29282) License Certificate OK 2024-03-14 21:52:22.866 - info: net-tools.0 (29282) License Key is valid 2024-03-14 21:52:22.987 - info: net-tools.0 (29282) Auto search is enabled 2024-03-14 21:52:24.996 - info: net-tools.0 (29282) Port scan finished 2024-03-14 22:00:00.044 - debug: net-tools.0 (29282) Start auto search 2024-03-14 22:00:33.560 - error: net-tools.0 (29282) uncaught exception: Cannot read properties of undefined (reading 'host') 2024-03-14 22:00:33.629 - error: net-tools.0 (29282) TypeError: Cannot read properties of undefined (reading 'host') at /opt/iobroker/node_modules/iobroker.net-tools/main.js:167:63 at Array.map () at NetTools.onObjectChange (/opt/iobroker/node_modules/iobroker.net-tools/main.js:167:25) at NetTools.emit (node:events:517:28) at Immediate. (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:8729:49) at process.processImmediate (node:internal/timers:476:21) 2024-03-14 22:00:33.658 - error: net-tools.0 (29282) Cannot read properties of undefined (reading 'host') 2024-03-14 22:00:33.708 - error: net-tools.0 (29282) uncaught exception: Cannot read properties of undefined (reading 'host') 2024-03-14 22:00:33.709 - error: net-tools.0 (29282) TypeError: Cannot read properties of undefined (reading 'host') at /opt/iobroker/node_modules/iobroker.net-tools/main.js:167:63 at Array.map () at NetTools.onObjectChange (/opt/iobroker/node_modules/iobroker.net-tools/main.js:167:25) at NetTools.emit (node:events:517:28) at Immediate. (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:8729:49) at process.processImmediate (node:internal/timers:476:21) 2024-03-14 22:00:33.709 - error: net-tools.0 (29282) Cannot read properties of undefined (reading 'host') 2024-03-14 22:00:33.720 - error: net-tools.0 (29282) uncaught exception: Cannot read properties of undefined (reading 'host') 2024-03-14 22:00:33.721 - error: net-tools.0 (29282) TypeError: Cannot read properties of undefined (reading 'host') at /opt/iobroker/node_modules/iobroker.net-tools/main.js:167:63 at Array.map () at NetTools.onObjectChange (/opt/iobroker/node_modules/iobroker.net-tools/main.js:167:25) at NetTools.emit (node:events:517:28) at Immediate. (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:8729:49) at process.processImmediate (node:internal/timers:476:21) 2024-03-14 22:00:33.722 - error: net-tools.0 (29282) Cannot read properties of undefined (reading 'host') 2024-03-14 22:00:33.739 - error: net-tools.0 (29282) uncaught exception: Cannot read properties of undefined (reading 'host') 2024-03-14 22:00:33.747 - error: net-tools.0 (29282) TypeError: Cannot read properties of undefined (reading 'host') at /opt/iobroker/node_modules/iobroker.net-tools/main.js:167:63 at Array.map () at NetTools.onObjectChange (/opt/iobroker/node_modules/iobroker.net-tools/main.js:167:25) at NetTools.emit (node:events:517:28) at Immediate. (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:8729:49) at process.processImmediate (node:internal/timers:476:21) 2024-03-14 22:00:33.747 - error: net-tools.0 (29282) Cannot read properties of undefined (reading 'host') 2024-03-14 22:00:33.755 - error: net-tools.0 (29282) uncaught exception: Cannot read properties of undefined (reading 'host') 2024-03-14 22:00:33.756 - error: net-tools.0 (29282) TypeError: Cannot read properties of undefined (reading 'host') at /opt/iobroker/node_modules/iobroker.net-tools/main.js:167:63 at Array.map () at NetTools.onObjectChange (/opt/iobroker/node_modules/iobroker.net-tools/main.js:167:25) at NetTools.emit (node:events:517:28) at Immediate. (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:8729:49) at process.processImmediate (node:internal/timers:476:21) 2024-03-14 22:00:33.756 - error: net-tools.0 (29282) Cannot read properties of undefined (reading 'host') 2024-03-14 22:00:33.900 - info: net-tools.0 (29282) terminating 2024-03-14 22:00:33.915 - warn: net-tools.0 (29282) Terminated (UNCAUGHT_EXCEPTION): Without reason 2024-03-14 22:00:34.463 - info: net-tools.0 (29282) terminating 2024-03-14 22:00:34.749 - error: net-tools.0 (29282) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2024-03-14 22:00:35.047 - error: host.buanet-iobroker2 instance system.adapter.net-tools.0 terminated with code 6 (UNCAUGHT_EXCEPTION) 2024-03-14 22:01:10.040 - warn: host.buanet-iobroker2 instance system.adapter.net-tools.0 terminated due to SIGTERM
Another observation I made in the logs:
Whenever I open the Admin Page of the adapter, I will find a warning in the logs:
2024-03-14 21:51:40.427 - warn: admin.0 (13715) net-tools has an invalid jsonConfig: [{"instancePath":"/items/settings/items/interface/type","schemaPath":"#/definitions/componentType/enum","keyword":"enum","params":{"allowedValues":["alive","autocomplete","cron","fileSelector","text","textSendTo","number","port","color","checkbox","chips","header","slider","ip","user","room","func","select","icon","image","panel","password","file","sendTo","staticText","custom","pattern","table","accordion","instance","language","setState","certificate","certificates","staticImage","staticLink","divider","objectId","selectSendTo","autocompleteSendTo","checkLicense","uuid","timePicker","datePicker"]},"message":"must be equal to one of the allowed values"},{"instancePath":"/items/settings","schemaPath":"#/properties/items/patternProperties/%5E.%2B/allOf/8/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"}]
Hi, ich habe das gleiche Problem. Der Adapter stürzt ständig ab.
Bitte testet die version 1.0.7. Ihr könnt sie über npm installieren wenn ihr das Beta repository aktiviert.
Viel besser, die Fehlermeldungen sind weg, der Autoscan ist noch nicht ganz abgeschlossen, aber es tauchen schonmal eindeutig mehr Geraete auf.
Es gibt noch eon paar Warnings, gefuehlt jedes Geraet erhaelt folgende Warnung:
net-tools.0 | 2024-03-15 12:00:04.321 | warn | State "net-tools.0.e438836ef946.rps" has no existing object, this might lead to an error in future versions net-tools.0 | 2024-03-15 12:00:04.482 | warn | State "net-tools.0.e43883e6e9f5.rps" has no existing object, this might lead to an error in future versions net-tools.0 | 2024-03-15 12:00:04.547 | warn | State "net-tools.0.3eed6f3b3f05.rps" has no existing object, this might lead to an error in future versions net-tools.0 | 2024-03-15 12:00:12.942 | warn | State "net-tools.0.e43883e6e522.rps" has no existing object, this might lead to an error in future versions net-tools.0 | 2024-03-15 12:00:12.949 | warn | State "net-tools.0.e438836ef946.rps" has no existing object, this might lead to an error in future versions net-tools.0 | 2024-03-15 12:00:12.956 | warn | State "net-tools.0.e43883e6e9f5.rps" has no existing object, this might lead to an error in future versions net-tools.0 | 2024-03-15 12:00:12.960 | warn | State "net-tools.0.3eed6f3b3f05.rps" has no existing object, this might lead to an error in future versions net-tools.0 | 2024-03-15 12:00:22.559 | warn | State "net-tools.0.e43883e6e522.rps" has no existing object, this might lead to an error in future versions net-tools.0 | 2024-03-15 12:00:22.612 | warn | State "net-tools.0.e438836ef946.rps" has no existing object, this might lead to an error in future versions net-tools.0 | 2024-03-15 12:00:22.773 | warn | State "net-tools.0.e43883e6e9f5.rps" has no existing object, this might lead to an error in future versions
Einmal den kompletten Objektbaum loeschen hat das Problem behoben, war scheinbar noch Datenmuell vorhanden.
Hi, ja sieht wesentlich besser aus.
Bis jetzt keine Fehler mehr.
Mal abwarten.
Hi, funktioniert leider nicht.
@totocotonio Hast du den Objektbaum der Instantz auch gelöscht gehabt? Und wie lange lief es bvor der Fehler wieder auftratt?
Hi, ja ich hatte den Baum komplett gelöscht. Ich denke so ca. 5-8 min.
Dann stieg er aus und es kam die Fehlermeldung im Host.
Ok zweiter Anlauf, version 1.0.8 kann getestet werden.
Danke,
ok, Test läuft
Nein, funktioniert auch nicht.
Also irgendwas stimmt nicht. Die bemängelte stelle gibt es an der Stelle gar nicht mehr. Bist du wirklich auf version 1.0.8?
habe es über npm installiert
npm i iobroker.net-tools
auch das brachte keinen Erfolg
npm install iobroker.net-tools
system.adapter.net-tools : net-tools - v1.0.6
Er zeigt die Ver .1.0.6 an.
Muss der iob rebootet werden?
Normal doch nicht!
Reboot brachte keinen Erfolg
Nö kein reboot. npm i iobroker.net-tools@1.0.8
Ah, ok hatte die Version nicht dabei.
Also noch ein Versuch.
Ok, richtige Version wird jetzt angezeigt.
Das kommt im LOg
Ja das weis ich. Hab ich schon beim Admin gemeldet.
Ich habe auch Version 1.0.8 installiert, der Adapter laeuft (bis auf die Admin Warning) fehlerfrei.
Er findet aber relativ wenige Geraete und auch nur IPs im Subnetz bis etwa .100, obwohl das ganze Subnetz bis .255 konfiguriert ist.
Im Netzwerkbereich bis .100 werden 17 Geraete gefunden, 20 sind aber eigentlich vorhanden, alles ueber .100 wird garnicht gefunden. Wenn ich den Adapter konfiguriere, dass erst ab .100 gesucht werden soll, findet der Adapter auch Geraete in dem Bereich, aber auch nicht alle.
Ich werde mal eine tabellarische Aufstellung machen, vielleicht ergibt sich ja ein Muster.
Frage: Ueber VLANs hinweg wird grundsaetzlich nichts gefunden, gibt es da noch Moeglichekiten oder ist das einfach eine Limitierung der Suchmethode?
Tabelle:
IP Adapter Name Kategorie
192.168.1.1 Ja Dream Machine SE Router
192.168.1.2 Ja U-LTE-Pro LTE Antenne
192.168.1.3 Ja Erdgeschoss Switch
192.168.1.4 Ja Dachgeschoss Switch
192.168.1.5 Ja Versorgungsraum Switch
192.168.1.7 Ja Heimkino Mini Switch
192.168.1.8 Ja Wohnzimmer Access Point
192.168.1.9 Ja Kueche Access Point
192.168.1.10 Ja Gaeste Access Point
192.168.1.11 Ja Waschkueche Access Point
192.168.1.12 Ja Buero Access Point
192.168.1.13 Ja Schlafzimmer Access Point
192.168.1.15 Nein Martin Wohnzimmer Switch
192.168.1.16 Nein Martin Versorgungsraum Switch
192.168.1.26 Ja Google Pixel 7 Handy
192.168.1.31 Ja Siemens Spuelmaschine IOT
192.168.1.38 Nein Apple iPad Pro Tablet
192.168.1.53 Ja Shelly EM Backofen IOT
192.168.1.87 Ja unbekannt unbekannt taucht nicht im DHCP Server auf…
192.168.1.92 Nein DiskStation NAS (ioBroker Host)
192.168.1.98 Ja Schlafzimmer Harmony IOT
192.168.1.101 >100 VELUX KIX 300 Gateway IOT
192.168.1.102 >100 Google Nest Hub IOT
192.168.1.109 >100 Busch Jaeger freeAtHome IOT
192.168.1.119 >100 Apple iPad Air 4 Tablet
192.168.1.124 Nein BRWBCF4D4039D2B Laptop
192.168.1.125 >100 Apple iPhone SE 2020 Handy
192.168.1.146 >100 Epson Printer Drucker
192.168.1.148 >100 Hue Bridge IOT
192.168.1.156 >100 Google Nest Mini IOT
192.168.1.164 Nein martinsrepeater2-1750e Repeater
192.168.1.168 >100 FMNB1507 Laptop
192.168.1.171 Nein Martins Repeater 6000 Repeater
192.168.1.172 >100 Chromecast Kueche IOT
192.168.1.173 Nein HUAWEI_P10_lite-d1fe903d6 Handy
192.168.1.179 >100 Wohnzimmer Harmony IOT
192.168.1.189 Nein Martins Enpal Wechselrichter IOT
192.168.1.215 >100 Fritzbox 7590 Telefon
192.168.1.251 >100 Martins Amazon Fire TV Stick 2 IOT
@esusxunil Grundsätzlich ist es so das man MAC Adressen nur über den ARP Cache ermitteln kann, weil man nicht ohne weiteres auf den Layer 2 des Netzwerks zugreifen kann.
Jedes Gerät das im ARP cache steht kann auch vom Adapter gefunden werden.
Du kannst also auch mal abgleichen ob die Geräte dort drin stehen mit dem Befehl arp
in der Konsole.
Was mich jetzt interessieren würde, auf was für einem Gerät läuft dein ioBroker und wie ist die Auslastung (CPU & Netzwerk).
Hier mal mein Verständis zu VLANs: VLANs sind an sich abgeschlossene Netzwerke, daher können Geräte innerhalb eines VLANs nicht auf den Layer 2 eines anderen VLANs zugreifen. Das höchste der Gefühle wäre also dass das Gateway des VLANs die MAC Adressen eines anderen VLANs kennt. Hängt aber von der Konfiguration ab.
Zu den VLANs: Da könntest du Recht haben. Die MACs sind ja nur inerhalb eines Netzwerksegments sichbar. Sofern die Erkennung auf der MAC Tabelle bassiert, bleibt das wohl einfach eine Limitierung. Ich habe den ioBroker Host ins IOT VLAN (129.168.2.1/23) umgehängt, das solllte er sowieso letzendlich hin. Den Adapter wollte ich einsetzen um die Erreichbarkeit der IOT Devices zu überwachen, das würde mir also durchaus ausreichen.
Der ioBroker läuft auf einem Synology NAS in einem Docker Container - das Container Netzwerk läuft allerdings im Bridge Modus, der Container hat also vollen Zugriff aufs Netzwerk.
Netzwerkverkehr ist nicht der Rede wert, die Systemkonsole zeigt wenige kB/s an. CPU lag in dem beobachteten Zeitraum fast durchgängig bei ungefähr 25%.
Rufe ich arc in der Console des Containers - also nicht auf dem NAS, sondern wirklich im Container - dann sehe ich eine sehr lange Liste von Netzwerkgeräte, ob dort 100% enthalten weis ich nicht, aber deutlich mehr als im Adapter gefunden. Ziehe ich die unvollständigen Einträge aus der Liste ab, sind dort 84 Einträge mit IPs aus dem IOT VLAN vorhanden.
Auszug aus der Liste:
Schlafzimmer.localdomai ether 14:ae:85:70:a4:96 C eth1
Google-Nest-Mini.locald ether 20:1f:3b:81:d2:4f C eth1
shellypmmini-348518e091 ether 34:85:18:e0:91:d8 C eth1
fritz.localdomain ether 44:4e:6d:20:42:3d C eth1
172.17.0.2 ether 02:42:ac:11:00:02 C docker0
192.168.3.234 (incomplete) eth1
192.168.3.240 ether 04:5d:4b:b7:e3:41 C eth1
192.168.3.123 ether a8:03:2a:b8:99:4c C eth1
Der Adapter findet in diesem IOT Netzwerksegment sogar nur 8 Geräte mit einer IP bis 192.168.2.10 (von insgesamt eigentlich 53 Geräten)
@esusxunil wenn du bestimmte Geräte abfragen willst kannst du sie auch von Hand eintragen wenn sie nicht gefunden werden. Dazu musst halt die MAC Adresse und die IP wissen.
Ich hab eine Stelle im Code gefunden die unter Umständen dazu geführt hat das der Discovery Prozess einfach angehalten wurde, was dann logerschweise dazu führt das nur ein Teil der Geräte erkannt wurde. Das hab ich mit 1.0.9 behoben.
Version 1.0.9 starte bei mir nicht:
host.buanet-iobroker2
2024-03-20 15:41:26.219 error instance system.adapter.net-tools.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
host.buanet-iobroker2
2024-03-20 15:41:26.219 warn adapter "net-tools" seems to be installed for a different version of Node.js. Trying to rebuild it... 2 attempt
Nodeversion ist v18.19.1 - in den letzten Tagen unverändert
Hm sehr seltsamm die Meldung. Ich hab gerade eine neue Version gemacht weil da plötzlich Code drin war der den Start verhindert hat, vielleicht lag es daran.
Version 1.0.10 gestartet, ist wieder stabil, Suche laeuft gerade, poste hier dann die Ergebnisse.
MIt Version 1.10 bekomme ich anscheinend alle Geraete des Subnetzes angezeigt, ich habe Sie noch nicht im Detail ausgewertet, aber die Liste ist lang, das sieht gut aus.
Mir war nur eine Anmerkung im Log aufgefallen:
net-tools.0
2024-03-22 09:30:01.241 info Can not get mac for 192.168.2.2. Going to next IP.
net-tools.0
2024-03-22 09:30:01.899 info MAC address for 192.168.2.2: null
Der Host 192.168.2.2 ist witzigerweise der ioBroker Host, aebr gut dass kann auch tatsaechlich am Dockercontainer liegen. Da dies eh eine feste IP ist, habe ich ihn nun manuell hinzugefuegt.
Contact Details
sebastian.schnack@gmail.com
What happened?
The Adapter is crashing frequently and starting with a restart loop.
The startup looks good, license was accepted, port scan successful.
I use a docker container with a bridged network, that means network layer is fully accessible and older Version (below 1.0) worked without issue.
I use several VLANs, but for the beginning I just configured the IP Range from the Network the ioBroker is part of. I have some devices (IP below .20) with fixed IP Addresses like Switches and Access points, they are shown correctly. Most of the devises (80%) are missing.
I also tried to configure just a subset of IPs (.100 - .150), then some other devices show up but the adapter still crashes.
Adapter Version
1.0.6
JS-Controller Version
5.0.19
Node JS Version
18.19.1
NPM Version
10.2.4
Operating System
Debian
Relevant log output
Anything else?
No response