Read the statement by Michael Teeuw here.
MMM-NetworkScanner-loading...indefinitely
-
@jthirasilpa just do this… get my version of the module
cd ~/MagicMirror/modules mv MMM-NetworkScanner MMM-NetworkScanner.original git clone https://github.com/sdetweil/MMM-NetworkScanner cd MMM-NetworkScanner npm install cd ~/MagicMirror/config nano config.jsadd the following line to the config section of the network scanner module
Password: '??????', // where '?????' is you password in quotes, for example 'raspberry', note the trailing commactrl-o at save the config.js
ctrl-x to exit nanoRestart your MM
-
@sdetweil
Thanks Sam - tried your version of the module and modified the config.js accordingly. Still not quite working. Error logs as follows:0|mm | at process._tickCallback (internal/process/next_tick.js:61:11) 0|mm | [09:41:25.508] [ERROR] ReferenceError: options is not defined 0|mm | at Class.scanNetworkMAC (/home/jojo/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:42:54) 0|mm | at Class.socketNotificationReceived (/home/jojo/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:29: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 | [09:41:55.508] [ERROR] ReferenceError: options is not defined 0|mm | at Class.scanNetworkMAC (/home/jojo/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:42:54) 0|mm | at Class.socketNotificationReceived (/home/jojo/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:29: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 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 logsthat 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 pullthen 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
-
Is it bad to have this?
pi@raspberrypi ~ % sudo -l|grep NOPASS (ALL) NOPASSWD: ALL pi@raspberrypi ~ %Edit: To expand further, I have MMM-NetworkScanner running. I do not need to supply a password when I run sudo and I don’t have a password stored in a config file.
-
@sdetweil
Hi Sam - thanks I tried the update. Still getting the same error - from the log:[19:00:49.868] [ERROR] TypeError: Cannot read property 'network' of undefined at Class.scanNetworkMAC (/home/jojo/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:42:36) at Class.socketNotificationReceived (/home/jojo/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:30:18) at Socket.<anonymous> (/home/jojo/MagicMirror/js/node_helper.js:113:11) at Socket.emit (events.js:198:13) at /home/jojo/MagicMirror/node_modules/socket.io/lib/socket.js:528:12 at process._tickCallback (internal/process/next_tick.js:61:11) -
@jthirasilpa do another git pull from my repo… and try again
-
@sdetweil
Thanks SamTried update. Error log below:
[11:45:29.130] [ERROR] TypeError: Cannot read property 'network' of undefined at Class.scanNetworkMAC (/home/jojo/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:46:36) at Class.socketNotificationReceived (/home/jojo/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:33:18) at Socket.<anonymous> (/home/jojo/MagicMirror/js/node_helper.js:113:11) at Socket.emit (events.js:198:13) at /home/jojo/MagicMirror/node_modules/socket.io/lib/socket.js:528:12 at process._tickCallback (internal/process/next_tick.js:61:11)Node_helper code:
// Target hosts/network supplied in config or entire localnet 46 var arpHosts = self.config.network || '-l'; 47 var options = { 48 cachePassword: true, 49 prompt: 'Password,' + self.config.Password // put your password where ???? are (notice the quotes around) 50 } 51 var arp = sudo(['arp-scan', '-q', arpHosts]) //, options);Module entry in config.js:
{ 139 module: "MMM-NetworkScanner", 140 position: "bottom_center", 141 header: "Devices Online", 142 config: { 143 devices: [ 144 { ipAddress: "192.168.1.11", name: "Champagne", icon: "server"}, 145 { ipAddress: "192.168.1.15", name: "Millie", icon: "server"}, 146 { ipAddress: "192.168.1.17", name: "Marmite", icon: "server"} 147 ], 148 showUnknown: false, 149 showOffline: true, 150 keepAlive: 600, 151 showLastSeen: true, 152 updateInterval: 30, 153 Password: 'xxxx' 154 } 155 }, -
@jthirasilpa weird…
the trace shows, on a timer tick (in the modulename.js) the node+helper received a socket message (sendSocketNotification from modulename.js), and received in node_helper)
the notification is correct, and it starts to rescan the network…but, it has lost the config pointer for some reason…
weird…
please do another git pull
also add debug:true,
to the module config section
let me know
thanks
-
Thanks. Scan seems to find some devices, but does not display them on Mirror.
Here is output log:
[20:41:24.611] [LOG] MMM-NetworkScanner is performing arp-scan [20:41:24.650] [LOG] MMM-NetworkScanner is performing ip address scan [20:41:24.651] [LOG] MMM-NetworkScanner is checking device: Champagne [20:41:24.651] [LOG] MMM-NetworkScanner is pinging 192.168.1.11 [20:41:24.666] [LOG] MMM-NetworkScanner is checking device: Millie [20:41:24.667] [LOG] MMM-NetworkScanner is checking device: Marmite [20:41:24.667] [LOG] MMM-NetworkScanner is pinging 192.168.1.17 [20:41:24.690] [LOG] MMM-NetworkScanner is checking device: JoJo [20:41:24.691] [LOG] MMM-NetworkScanner is pinging 192.168.1.70 [20:41:24.705] [LOG] MMM-NetworkScanner completed SCAN_NETWORK [20:41:24.707] [LOG] MMM-NetworkScanner ping result: [ 'Champagne', true ] [20:41:26.741] [LOG] MMM-NetworkScanner ping result: [ 'Marmite', false ] [20:41:26.743] [LOG] MMM-NetworkScanner ping result: [ 'JoJo', false ] [20:41:54.605] [LOG] MMM-NetworkScanner received SCAN_NETWORK [20:41:54.605] [LOG] MMM-NetworkScanner is performing arp-scan [20:41:54.630] [LOG] MMM-NetworkScanner is performing ip address scan [20:41:54.631] [LOG] MMM-NetworkScanner is checking device: Champagne [20:41:54.631] [LOG] MMM-NetworkScanner is pinging 192.168.1.11 [20:41:54.644] [LOG] MMM-NetworkScanner is checking device: Millie [20:41:54.645] [LOG] MMM-NetworkScanner is checking device: Marmite [20:41:54.645] [LOG] MMM-NetworkScanner is pinging 192.168.1.17 [20:41:54.658] [LOG] MMM-NetworkScanner is checking device: JoJo [20:41:54.659] [LOG] MMM-NetworkScanner is pinging 192.168.1.70 [20:41:54.672] [LOG] MMM-NetworkScanner completed SCAN_NETWORK [20:41:54.675] [LOG] MMM-NetworkScanner ping result: [ 'Champagne', true ] [20:41:56.706] [LOG] MMM-NetworkScanner ping result: [ 'Marmite', false ] [20:41:56.707] [LOG] MMM-NetworkScanner ping result: [ 'JoJo', false ]Error log:
[20:35:38.953] [ERROR] (node:20348) MaxListenersExceededWarning: Possible Event Emitter memory leak detected. 11 error listeners added. Use emitter.setMaxListen ers() to increase limit [20:35:38.953] [ERROR] (node:20348) MaxListenersExceededWarning: Possible Event Emitter memory leak detected. 11 end listeners added. Use emitter.setMaxListener s() to increase limit [20:35:38.954] [ERROR] (node:20348) MaxListenersExceededWarning: Possible Event Emitter memory leak detected. 11 drain listeners added. Use emitter.setMaxListen ers() to increase limit [20:35:38.954] [ERROR] (node:20348) MaxListenersExceededWarning: Possible Event Emitter memory leak detected. 11 close listeners added. Use emitter.setMaxListen ers() to increase limit [20:35:38.955] [ERROR] (node:20348) MaxListenersExceededWarning: Possible Event Emitter memory leak detected. 11 data listeners added. Use emitter.setMaxListene rs() to increase limit -
@jthirasilpa said in MMM-NetworkScanner-loading...indefinitely:
[20:41:24.651] [LOG] MMM-NetworkScanner is pinging 192.168.1.11
[20:41:24.666] [LOG] MMM-NetworkScanner is checking device: Millie
[20:41:24.667] [LOG] MMM-NetworkScanner is checking device: Marmite
[20:41:24.667] [LOG] MMM-NetworkScanner is pinging 192.168.1.17
[20:41:24.690] [LOG] MMM-NetworkScanner is checking device: JoJo
[20:41:24.691] [LOG] MMM-NetworkScanner is pinging 192.168.1.70
[20:41:24.705] [LOG] MMM-NetworkScanner completed SCAN_NETWORK
[20:41:24.707] [LOG] MMM-NetworkScanner ping result: [ ‘Champagne’, true ]
[20:41:26.741] [LOG] MMM-NetworkScanner ping result: [ ‘Marmite’, false ]
[20:41:26.743] [LOG] MMM-NetworkScanner ping result: [ ‘JoJo’, false ]jojo isn’t in the configured list above… so, did u change the config?
and it says it will scan all the addresses in the devices list, but millie isn’t pinged…
what else do you have in bottom_center? it can get pushed off screen pretty easily…
-
Thanks - I did change the config to add one device “JoJo” with an IpAddress and I changed “Millie” from IpAddress to MacAddress (I am guessing that is why it is not showing in the ping result - but am not sure). I did not make any other changes to the config (apart from adding the debug line). There is no other bottom_center module and it clearly displays Devices Online “Loading…”, so I don’t think it’s the case that entries are being pushed off the page.
{ 139 module: "MMM-NetworkScanner", 140 position: "bottom_center", 141 header: "Devices Online", 142 config: { 143 devices: [ 144 { ipAddress: "192.168.1.11", name: "Champagne", icon: "server"}, 145 { macAddress: "xxxx", name: "Millie", icon: "server"}, 146 { ipAddress: "192.168.1.17", name: "Marmite", icon: "server"}, 147 { ipAddress: "192.168.1.70", name: "JoJo", icon: "male"} 148 ], 149 showUnknown: false, 150 showOffline: true, 151 keepAlive: 600, 152 showLastSeen: true, 153 updateInterval: 30, 154 debug: true, 155 Password: 'xxxx' 156 } 157 },
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login