Read the statement by Michael Teeuw here.
MMM-NetworkScanner
-
Feature that turns off the mirror when you leave the house.
I was looking at this module and your other module MMM-ModuleScheduler and was looking for something to turn my monitor off when I am not home.
Your other module already lets me turn it off the display while I am asleep when combined with MMM-Remote-Control, and so I looked into doing the same for when I am out of the house (When my phone is not connected to my LAN).With a little help looking at MMM-ping I also managed to integrate IP address lockups and hostnames, so that if you have the option of IP addresses you can use them, and if not you can use MAC addresses, as I found IP addresses were more stable.
I am just about to send a pull request, but for now I have the forked version here. I am very new to node.js still and so any feedback from anyone willing to try this out would be appreciated.
-
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 serveronly
instead ofpm2
ornpm
. 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
showLastSeen
optionCan 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.