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 @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
                                      • D Offline
                                        derek7467
                                        last edited by

                                        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.

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

                                          @derek7467
                                          as you said, IP works fine MAC doesn’t… MAC was working up until the update where you could add the ‘last seen xxx min ago’ option.

                                          D slametpsS 2 Replies Last reply Reply Quote 0
                                          • D Offline
                                            derek7467 @pugsly
                                            last edited by

                                            @pugsly yea I’m in same boat. I haven’t read all the code just yet but I imagine the way it performs the ARP scan by Mac is the culprit. For now I set my untangle router to serve out static DHCP leases and thus my problem is gone.

                                            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