MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MMM-NetworkScanner

    Scheduled Pinned Locked Moved Utilities
    networkscannerstatusmac address
    117 Posts 32 Posters 233.2k Views 33 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B Offline
      BenNewsome
      last edited by BenNewsome

      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.

      I 1 Reply Last reply Reply Quote 0
      • S Offline
        Speedy-one
        last edited by

        Is it possible to add some color to the icons?

        1 Reply Last reply Reply Quote 0
        • outjetO Offline
          outjet
          last edited by

          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!

          B 1 Reply Last reply Reply Quote 0
          • B Offline
            BenNewsome @outjet
            last edited by

            @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 of pm2 or npm. This will throw probably more errors which could help.

            OR

            If you have static IP addresses you could try my fork here

            outjetO 1 Reply Last reply Reply Quote 0
            • outjetO Offline
              outjet @BenNewsome
              last edited by

              @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”.
              alt text

              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

              strawberry 3.141S I 2 Replies Last reply Reply Quote 0
              • strawberry 3.141S Offline
                strawberry 3.141 Project Sponsor Module Developer @outjet
                last edited by

                @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

                Please create a github issue if you need help, so I can keep track

                1 Reply Last reply Reply Quote 0
                • I Offline
                  ianperrin @BenNewsome
                  last edited by

                  @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!

                  "Live as if you were to die tomorrow. Learn as if you were to live forever." - Mahatma Gandhi

                  B 1 Reply Last reply Reply Quote 0
                  • I Offline
                    ianperrin @outjet
                    last edited by

                    @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 option

                    Can you try updating your module and adding this to your config.js file e.g. showLastSeen: true,

                    "Live as if you were to die tomorrow. Learn as if you were to live forever." - Mahatma Gandhi

                    1 Reply Last reply Reply Quote 1
                    • pugslyP Offline
                      pugsly
                      last edited by

                      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’ }

                      B 1 Reply Last reply Reply Quote 0
                      • B Offline
                        BenNewsome @ianperrin
                        last edited by

                        @ianperrin No problem, thanks for the great module(s). I hope I accidentally didn’t break anything as I’m pretty new to Node.

                        1 Reply Last reply Reply Quote 0
                        • B Offline
                          BenNewsome @pugsly
                          last edited by

                          @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.

                          pugslyP 2 Replies Last reply Reply Quote 0
                          • pugslyP Offline
                            pugsly @BenNewsome
                            last edited by

                            @BenNewsome yes I did

                            1 Reply Last reply Reply Quote 0
                            • pugslyP Offline
                              pugsly @BenNewsome
                              last edited by

                              @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.

                              B 1 Reply Last reply Reply Quote 0
                              • B Offline
                                BenNewsome @pugsly
                                last edited by

                                @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.js

                                On 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.

                                pugslyP 1 Reply Last reply Reply Quote 0
                                • pugslyP Offline
                                  pugsly @BenNewsome
                                  last edited by

                                  @BenNewsome Sorry… same thing, still says can’t find module ‘ping’.

                                  B 1 Reply Last reply Reply Quote 0
                                  • B Offline
                                    BenNewsome @pugsly
                                    last edited by

                                    @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.

                                    D pugslyP 2 Replies Last reply Reply Quote 0
                                    • D Offline
                                      derek7467 @BenNewsome
                                      last edited by

                                      @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.

                                      1 Reply Last reply Reply Quote 0
                                      • Mykle1M Offline
                                        Mykle1 Project Sponsor Module Developer @ianperrin
                                        last edited by yawns

                                        @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 pull and npm install in the MMM-NetworkScanner folder.

                                        {
                                                		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'}},
                                                		}
                                        

                                        Create a working config
                                        How to add modules

                                        D 1 Reply Last reply Reply Quote 0
                                        • D Offline
                                          derek7467 @Mykle1
                                          last edited by

                                          @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.

                                          1 Reply Last reply Reply Quote 1
                                          • pugslyP Offline
                                            pugsly @BenNewsome
                                            last edited by

                                            @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.1

                                            sudo@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’ },

                                            1 Reply Last reply Reply Quote 0

                                            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
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 2 / 6
                                            • First post
                                              Last post
                                            Enjoying MagicMirror? Please consider a donation!
                                            MagicMirror created by Michael Teeuw.
                                            Forum managed by Sam, technical setup by Karsten.
                                            This forum is using NodeBB as its core | Contributors
                                            Contact | Privacy Policy