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.
    • I Offline
      ianperrin
      last edited by ianperrin

      Here is a module I have been working on to display the status of devices on the network.

      [card:ianperrin/MMM-NetworkScanner]

      The original concept was to display an indicator of who was at home based on whether the persons phone was connected to the network (see below). As these devices have dynamic IP addresses, MMM-Ping was not an option so I temporarily created this module to show the status of these devices based on their MAC Address.

      who is at home

      There are many other ways to use the module, including displaying (monitor?) the status of some/all devices connected to the network, though I’m not sure the MagicMirror it is the best place for this :)

      As ever this is work in progress, so check out the ReadMe file for installation and configuration notes, keep your module updated and do report any issues

      cc. @shashank @strawberry-3-141

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

      S 1 Reply Last reply Reply Quote 6
      • D Offline
        desq
        last edited by desq

        Hi ianperrin,

        I´m just getting a “loading”-Output.
        Even I did the “npm install” I get this;

        “MMM-NetworkScanner received SCAN_NETWORK
        MMM-NetworkScanner is scanning for mac addresses
        MMM-NetworkScanner received an error running arp 1 sudo: arp-scan: command not found”

        Okay my fault. RTFM
        (I did a “sudo apt-get install arp-scan” and now it´s working.)

        Thanks, desq

        strawberry 3.141S 1 Reply Last reply Reply Quote 0
        • strawberry 3.141S Offline
          strawberry 3.141 Project Sponsor Module Developer @desq
          last edited by

          @desq are you sure you did this step?

          cd ~/
          sudo apt-get install arp-scan   
          

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

          D 1 Reply Last reply Reply Quote 1
          • D Offline
            desq @strawberry 3.141
            last edited by

            @strawberry-3.141 now i did. I know. RTFM.

            1 Reply Last reply Reply Quote 1
            • S Offline
              shashank @ianperrin
              last edited by

              @ianperrin Thanks this module working great, now my MM inside the house can display once my car reaches Basement Parking as shown in the screenshot

              0_1474644592388_upload-270e49b3-7399-421e-aa65-71a81d30c01a

              1 Reply Last reply Reply Quote 2
              • D Offline
                DevilRev
                last edited by

                I’m quite new to this and would like the line seperator with headline which is missing for me, can you explain (eli5) to me how to add it like in your screenshot with a custom title?

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

                  @DevilRev

                  The header config is actually not specific to MMM-NetworkScanner, and can in fact be configured for any module. Try this

                      {
                          module: 'MMM-NetworkScanner',
                          header: 'Who is home',
                          position: 'top_left', 
                          config: {
                              // Optional config options
                          }        
                      },
                  

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

                  D 1 Reply Last reply Reply Quote 0
                  • D Offline
                    DevilRev @ianperrin
                    last edited by

                    @ianperrin Well. I feel kinda stupid but thank you!

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

                      @DevilRev there no such thing as a stupid question so keep asking away… ;)

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

                      Mykle1M 1 Reply Last reply Reply Quote 0
                      • K Offline
                        kclemen
                        last edited by kclemen

                        Cool module, shows directly the mobiles based on their MAC adress nicely. However, the online status is not displayed (yes, wifi is on and the mac addresses are correct :)). Any idea?

                        EDIT; seems that only lowercase MAC adress work. My mobile phone just popped up, after changing the MAC address from uppercase (copy of advanced ip scanner) to lowercase.

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

                          @kclemen said in MMM-NetworkScanner:

                          Cool module, shows directly the mobiles based on their MAC adress nicely. However, the online status is not displayed (yes, wifi is on and the mac addresses are correct :)). Any idea?

                          Could you post a copy of your config for the module - masking the MAC addresses ;)

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

                          K 1 Reply Last reply Reply Quote 0
                          • K Offline
                            kclemen @ianperrin
                            last edited by kclemen

                            @ianperrin I tough the problem was solved by what I stated in the edit of the previous post. But my mobile just went to offline on the mirror, even though wifi is still on…

                            {
                            module: ‘MMM-NetworkScanner’,
                            header: ‘Aanwezig in huis’,
                            position: ‘top_left’,
                            config: {
                            devices: [
                            { macAddress: “1xxx”, name: “mom”, icon: “mobile”},
                            { macAddress: “xxx”, name: “dad”, icon: “mobile”},
                            /**** { macAddress: “xxxc”, name: “Laptop”, icon: “laptop”}, /
                            /
                            { macAddress: “xxx”, name: “Mobile”, icon: “mobile”}, ****/
                            ],
                            showUnknown: false,
                            showOffline: true,
                            keepAlive: 300,
                            updateInterval: 60
                            }
                            },

                            1 Reply Last reply Reply Quote 0
                            • 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

                                            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
                                            • 1 / 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