Read the statement by Michael Teeuw here.
MMM-NetworkScanner-loading...indefinitely
-
@jthirasilpa hm… can u show me show me these lines from node_helper.js
scanNetworkMAC: function() { this.log(this.name + " is performing arp-scan"); var self = this; // Target hosts/network supplied in config or entire localnet var arpHosts = this.config.network || '-l'; var options = { cachePassword: true, prompt: 'Password,' + this.config.Password // put your password where ???? are (notice the quotes around) } var arp = sudo(['arp-scan', '-q', arpHosts], options);
I tested here with three different addresses… some coming online later… worked, no errors…
-
@karsten13
Hi - it seems to function correctly - it returns the IP and MAC addresses of the various clients on the network. -
@sdetweil
I tried it both ways - but should the ‘password’ field in the helper file be filled in? -
@jthirasilpa no… use the config.js
the reference to the options variable should be from line 47, not 42…
so, something is wrong with the code u have in node_helper.js
did u follow my steps above exactly?
-
Sorry I’m not being clear. I know that I need to modify the config.js (and have done so), but in line 45 of node_helper.js (as shown below) there is:
prompt: 'Password,' + this.config.Password // put your password where ???? are (notice the quotes around)
Should I leave this as is or fill in the password? That is where I have tried it both ways.
Code you asked for from node_helper.js:
scanNetworkMAC: function() { 38 this.log(this.name + " is performing arp-scan"); 39 40 var self = this; 41 // Target hosts/network supplied in config or entire localnet 42 var arpHosts = this.config.network || '-l'; 43 var options = { 44 cachePassword: true, 45 prompt: 'Password,' + this.config.Password // put your password where ???? are (notice the quotes around) 46 } 47 var arp = sudo(['arp-scan', '-q', arpHosts], options);
-
@jthirasilpa oh, i see I should have removed the comment… you do not need to change any code…
but the error does not match the code u are running now…
please do
pm2 stop 0 pm2 flush pm2 start 0 pm2 logs
that error must have been from yesterday
-
Hmm
So with the password entered only in the config file, the error output still references line 42
var arpHosts = this.config.network || '-l';
Error output:
0|mm | [19:37:36.956] [ERROR] TypeError: Cannot read property 'network' of undefined 0|mm | at Class.scanNetworkMAC (/home/jojo/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:42:36) 0|mm | at Class.socketNotificationReceived (/home/jojo/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:30:18) 0|mm | at Socket.<anonymous> (/home/jojo/MagicMirror/js/node_helper.js:113:11) 0|mm | at Socket.emit (events.js:198:13) 0|mm | at /home/jojo/MagicMirror/node_modules/socket.io/lib/socket.js:528:12 0|mm | at process._tickCallback (internal/process/next_tick.js:61:11) 0|mm | [19:37:50.982] [LOG] MMM-NetworkScanner received SCAN_NETWORK 0|mm | [19:37:50.983] [LOG] MMM-NetworkScanner is performing arp-scan 0|mm | [19:37:50.984] [LOG] Whoops! There was an uncaught exception... 0|mm | [19:37:50.984] [ERROR] 0|mm | TypeError: Cannot read property 'network' of undefined 0|mm | at Class.scanNetworkMAC (/home/jojo/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:42:36) 0|mm | at Class.socketNotificationReceived (/home/jojo/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:30:18) 0|mm | at Socket.<anonymous> (/home/jojo/MagicMirror/js/node_helper.js:113:11) 0|mm | at Socket.emit (events.js:198:13) 0|mm | at /home/jojo/MagicMirror/node_modules/socket.io/lib/socket.js:528:12 0|mm | at process._tickCallback (internal/process/next_tick.js:61:11) 0|mm | [19:37:50.985] [LOG] 0|mm | MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection? 0|mm | [19:37:50.986] [LOG] If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues 0|mm | [19:38:21.046] [LOG] 0|mm | MMM-NetworkScanner received SCAN_NETWORK 0|mm | [19:38:21.047] [LOG] 0|mm | MMM-NetworkScanner is performing arp-scan 0|mm | [19:38:21.048] [LOG] Whoops! There was an uncaught exception... 0|mm | [19:38:21.048] [ERROR] 0|mm | TypeError: Cannot read property 'network' of undefined 0|mm | at Class.scanNetworkMAC (/home/jojo/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:42:36) 0|mm | at Class.socketNotificationReceived (/home/jojo/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:30:18) 0|mm | at Socket.<anonymous> (/home/jojo/MagicMirror/js/node_helper.js:113:11) 0|mm | at Socket.emit (events.js:198:13) 0|mm | at /home/jojo/MagicMirror/node_modules/socket.io/lib/socket.js:528:12 0|mm | at process._tickCallback (internal/process/next_tick.js:61:11)
-
@jthirasilpa said in MMM-NetworkScanner-loading...indefinitely:
0|mm | [19:37:36.956] [ERROR] TypeError: Cannot read property ‘network’ of undefined
0|mm | at Class.scanNetworkMAC (/home/jojo/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:42:36)Ok, but not ‘options’…
now, to check, this system is case sensitive… so in config.js it MUST look like this, right?
keepAlive: 300, updateInterval: 5, Password: 'pi' // added password (note capital P) }
using your password of course
-
That is how the config looks.
Still getting the node_helper line 42 error. Will park this for now. Thank you for spending so much time on this Sam - much appreciated. Will come back to this later in the week.
-
@jthirasilpa update the current code
cd ~MagicMirror/modules/MMM-NetworkScanner git pull
then you can shutdown and restart the MM app
there was a tiny timing gap where the config info is not yet set, when the helper is asked to scan the network…
let me know