Read the statement by Michael Teeuw here.
MMM-NetworkScanner
-
Is it possible to add some color to the icons?
-
I do love this module! I have one bizarre problem. Whenever my “Kirsten” device is not home, the module will not get past “Loading”. As long as she is home, the module loads OK. If I take her out of the list, it also loads OK.
{ module: 'MMM-NetworkScanner', position: 'bottom_right', config: { devices: [ { macAddress: "cc:29:f5:36:ca:fe", name: "Kirsten", icon: "female"}, { macAddress: "c4:9a:02:8c:50:72", name: "Robert" , icon: "male"}, ], showUnknown: false, showOffline: true, keepAlive: 75, updateInterval: 5 }Any thoughts? Thanks!
-
@outjet I have a couple of thoughts. It looks like your update interval is very short. If you increased this to at least 10 seconds it might do something. It takes my Pi3 ~3 seconds to do the arp-scan command so if you are running a Pi2 it might be taking too long.
If that does nothing then I would suggest visiting your pi from a different machine. If you open chrome and go to your mirror ip port 8080 e.g. 19.168.3.14:8080 and then hit f12 the developer tools should show up. If you then go to the Console tab and reload the page, some errors should show up, and if you paste them here it might be useful.
If no errors show up then try running the module with the command
node serveronlyinstead ofpm2ornpm. This will throw probably more errors which could help.OR
If you have static IP addresses you could try my fork here
-
@BenNewsome Thank you for the reply! I increased the interval as you suggested, and reverted a change I forgot I made to the .js, which got things going.
I remembered I altered the code to show: “Robert - Last seen 23 minutes ago”.

This has been working really nicely except when one of the devices is not online at module load time … My lack of JS skills catching up with me.
//Name deviceItem.innerHTML += (device.name ? device.name + ". Last seen " + device.lastSeen.fromNow(): device.macAddress ) ;I reverted to the original code and all is back to working, I’ll need to work on troubleshooting the “last seen” functionality to keep working if a device has not yet been seen. (if you see anything obvious, a penny for your thoughts!)
Thanks again
-
@outjet i guess the problem is that you try to access
device.lastSeen.fromNow()this will probably result in cannot run method fromNow of undefined -
@BenNewsome Hi Ben - I’m commited elsewhere at the moment so sorry for not getting back to you sooner. Thanks for the pull request - I’ve accepted it and merged it into the module for all to share!
-
@outjet I’ve not been able to spend much time on the Mirror (or this module) recently but I’ve just updated the module to include @BenNewsome’s additional functionality along with a
showLastSeenoptionCan you try updating your module and adding this to your config.js file e.g.
showLastSeen: true, -
This was working great for me until the latest git pull. I am getting the following errors now.
mm-0 (err): at Function.Module._resolveFilename (/home/pi/MagicMirror/node_modules/electron-prebuilt/dist/resources/electron.asar/common/reset-search-paths.js:35:12)
mm-0 (err): at Function.Module._load (module.js:403:25)
mm-0 (err): at Module.require (module.js:483:17)
mm-0 (err): at require (internal/module.js:20:19)
mm-0 (err): at Object. (/home/pi/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:10:14)
mm-0 (err): at Module._compile (module.js:556:32)
mm-0 (err): at Object.Module._extensions…js (module.js:565:10)
mm-0 (err): at Module.load (module.js:473:32)
mm-0 (err): at tryModuleLoad (module.js:432:12)
mm-0 (err): { Error: Cannot find module ‘ping’
mm-0 (err): at Module._resolveFilename (module.js:455:15)
mm-0 (err): at Function.Module._resolveFilename (/home/pi/MagicMirror/node_modules/electron-prebuilt/dist/resources/electron.asar/common/reset-search-paths.js:35:12)
mm-0 (err): at Function.Module._load (module.js:403:25)
mm-0 (err): at Module.require (module.js:483:17)
mm-0 (err): at require (internal/module.js:20:19)
mm-0 (err): at Object. (/home/pi/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:10:14)
mm-0 (err): at Module._compile (module.js:556:32)
mm-0 (err): at Object.Module._extensions…js (module.js:565:10)
mm-0 (err): at Module.load (module.js:473:32)
mm-0 (err): at tryModuleLoad (module.js:432:12) code: ‘MODULE_NOT_FOUND’ } -
@ianperrin No problem, thanks for the great module(s). I hope I accidentally didn’t break anything as I’m pretty new to Node.
-
@pugsly Sorry thats from my update. Have you done a NPM install inside the module as it has a new dependency?
Hopefully this will fix the problem.
-
@BenNewsome yes I did
-
@BenNewsome I see that it installed two things under \Magicmirror\modules\MMM-NetworkScanner\node_modules
one dir called ping which is what the error says it can’t find
the other called sudo (that one kinda worries me).Anyway it still doesn’t work.
-
@pugsly Hi pugsly,
sudo is for arp-scan which is the MAC address checker as this requires sudo to be called.Ping is the one I added which just calls the ping command from node.
Could you try editing the file:
/home/pi/MagicMirror/modules/MMM-NetworkScanner/node_helper.jsOn line 10 it says
const ping = require('ping')Could you replace it with:
const ping = require("ping");(Change the speach marks and add a semicolon.)
I have no idea if this is the reason as it works fine on my system, but it is my current best guess.
-
@BenNewsome Sorry… same thing, still says can’t find module ‘ping’.
-
@pugsly I think I have managed to replicate your error.
Could you run the following command.
(cd /home/pi/MagicMirror/modules/MMM-NetworkScanner && npm install)npm install needs running from the module directory so that it downloads the npm ping module. When I delete the ping module I get the error you do, and when I run the command above the error goes away.
-
@BenNewsome any easy way to change the text color? I’m able to change text size via custom.css but the color doesn’t seem to take.
-
@ianperrin said in MMM-NetworkScanner:
there no such thing as a stupid question so keep asking away…
Hi, and please help. Thank you.
I’ve got this module running but the only devices that will show as active are the Github from the sample config and the showUnknown devices which I have turned off. All others that I have added appear as offline. I’m using the MAC addresses that I got from my router and they are correct and all in lower case. I read above where that might be an issue. I did
git pullandnpm installin theMMM-NetworkScannerfolder.{ module: 'MMM-NetworkScanner', position: 'top_left', config: { devices: [ { ipAddress: "github.com", name: "Github", icon: "globe"}, { ipAddress: "192.168.1.4", name: "MykleDesktop", icon: "desktop"}, { macAddress: "mac.address.all.lower.case", name: "DoveMBP", icon: "laptop"}, { macAddress: "mac.address.all.lower.case", name: "MyklesiPhone", icon: "mobile"}, { macAddress: "mac.address.all.lower.case", name: "JayAndroid", icon: "mobile"}, { macAddress: "mac.address.all.lower.case", name: "DonnaMBP", icon: "laptop"}, { macAddress: "mac.address.all.lower.case", name: "DonnaiPhone", icon: "mobile"}, { macAddress: "mac.address.all.lower.case", name: "NikkiiPhone", icon: "mobile"}, ], showUnknown: false, showOffline: true, showLastSeen: true, keepAlive: 180, updateInterval: 10, residents: "Mobile", // I tried this with each name of the devices above and each icon name occupiedCMD: {notification: 'TEST', payload: {action: 'occupiedCMD'}}, vacantCMD: {notification: 'TEST', payload: {action: 'vacantCMD'}}, } -
@Mykle1 looks like when i use IP, it shows offline vs online accurately. When i use MAC or a web address, it doesnt. Something is wrong with the scan by mac option.
-
@BenNewsome
Removed it, did a new clone, and ran the npm install (See Below). Still getting the error that ping is missing and all of my MAC machines are grayed out.pi@MagicMirror:~/MagicMirror/modules/MMM-NetworkScanner $ cd …
pi@MagicMirror:~/MagicMirror/modules $ sudo rm -r ~/MagicMirror/modules/MMM-Netw orkScanner
pi@MagicMirror:~/MagicMirror/modules $ git clone https://github.com/ianperrin/MM M-NetworkScanner.git
Cloning into ‘MMM-NetworkScanner’…
remote: Counting objects: 132, done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 132 (delta 6), reused 0 (delta 0), pack-reused 116
Receiving objects: 100% (132/132), 80.07 KiB | 0 bytes/s, done.
Resolving deltas: 100% (74/74), done.
Checking connectivity… done.
pi@MagicMirror:~/MagicMirror/modules $ cd /home/pi/MagicMirror/modules/MMM-Netwo rkScanner && npm install
ping@0.1.10 node_modules/ping
└── q@1.4.1sudo@1.0.3 node_modules/sudo
├── inpath@1.0.2
├── pidof@1.0.2
└── read@1.0.7 (mute-stream@0.0.7)
pi@MagicMirror:~/MagicMirror/modules/MMM-NetworkScanner $mm-0 (err): at Function.Module._resolveFilename (/home/pi/MagicMirror/node_modules/electron-prebuilt/dist/resources/electron.asar/common/reset-search-paths.js:35:12)
mm-0 (err): at Function.Module._load (module.js:403:25)
mm-0 (err): at Module.require (module.js:483:17)
mm-0 (err): at require (internal/module.js:20:19)
mm-0 (err): at Object. (/home/pi/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:10:14)
mm-0 (err): at Module._compile (module.js:556:32)
mm-0 (err): at Object.Module._extensions…js (module.js:565:10)
mm-0 (err): at Module.load (module.js:473:32)
mm-0 (err): at tryModuleLoad (module.js:432:12)
mm-0 (err): { Error: Cannot find module ‘ping’
mm-0 (err): at Module._resolveFilename (module.js:455:15)
mm-0 (err): at Function.Module._resolveFilename (/home/pi/MagicMirror/node_modules/electron-prebuilt/dist/resources/electron.asar/common/reset-search-paths.js:35:12)
mm-0 (err): at Function.Module._load (module.js:403:25)
mm-0 (err): at Module.require (module.js:483:17)
mm-0 (err): at require (internal/module.js:20:19)
mm-0 (err): at Object. (/home/pi/MagicMirror/modules/MMM-NetworkScanner/node_helper.js:10:14)
mm-0 (err): at Module._compile (module.js:556:32)
mm-0 (err): at Object.Module._extensions…js (module.js:565:10)
mm-0 (err): at Module.load (module.js:473:32)
mm-0 (err): at tryModuleLoad (module.js:432:12) code: ‘MODULE_NOT_FOUND’ }mm-0 (out): { macAddress: ‘18:b4:30:1d:f6:50’,
mm-0 (out): name: ‘Nest Thermostat’,
mm-0 (out): icon: ‘dot-circle-o’ }, -
Only difference between you and I is you run the install with the &&. Remove it again, rerun from the beginning and manually CD into the directory and run the install from there. Skip using the && to install all in one shot.
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