[APP][Pro] Netgear Router - Network control, Presence detection, Energy monitoring

Netgear - Network control, Presence detection, Energy monitoring

App to make Homey interact with Netgear routers.

  • Monitor and control your wifi network and its connected devices
  • Block the WiFi of your kids after dinner
  • Presence detection based on smartphone WiFi
  • Monitor the energy usage of your network devices, e.g. the T.V.

See and log:

  • internet connection status
  • the internet upload and download speed
  • connection status of attached devices
  • WiFi quality and bandwidth per device
  • Energy use per device

Act on:

  • device coming online or going offline (presence)
  • device bandwidth or wifi link change
  • detection of an unknown device connecting to the network
  • alarm when internet connection goes down
  • change of internet up/download speed
  • results of internet speed test
  • new router firmware available


  • send WakeOnLan (WOL) to a MAC address
  • block and allow an attached device by MAC address
  • enable and disable Guest Wifi
  • perform internet speed test
  • perform firmware upgrade
  • reboot the router

image image

image image

Router device setup in Homey

The app is intended for netgear devices that work in Router mode. When using the router in Access Point (AP) mode, you will not have all functionality, e.g. traffic statistics (up/download speed). Your Homey should be connected inside the LAN part of the router, not from outside (WAN). To setup go to “Devices” and add the Netgear router by filling in the admin password. After the router device is added successfully you can change the polling interval (set to 1 minute as default). On app startup, Homey will try to automatically enable traffic statistics (up/download speed) and access control (block/allow internet access for an attached device). The availablity of these functions depend ond router type, router mode and firmware level. The app will start collecting and remember MAC addresses of all devices that ever connected to the router. If you need to clear this list you can do so by checking the box “delete devicelist” in the device settings.

Presence detection

After adding your router to Homey, you can start adding the mobile devices that you want to track for presence. They will be reported as connected or disconnected based on the WiFi connection to your Netgear network.


You can finetune the ‘offline after delay’ in the device settings. If you get false disconnected messages, you should increase this delay. If you want faster detection, you can try decreasing this delay. You can also try reducing the polling interval of the router. The default polling interval is 1 minute, but if you make it too short your router can choke.


Note: if the app sometimes does not catch your phone entering the house, and you have multiple wifi SSID’s, check this setting: Support

Energy monitoring

After adding your router to Homey, you can add additional devices that you want to monitor for power, e.g. your T.V. or printer. Select an icon and select which information you want to show in the device, and include Energy. Enter the estimated / average power usage of the device when it is OFF or ON. Now when you turn on your T.V. you will see that the estimated power is included in Homey Energy tab.


Supported routers

In general: If you can use the Nighthawk or Genie app to manage the router, then this Homey app will most likely work. Some functionality, like blocking/unblocking an attached device, only work on certain router types. MAKE SURE YOU ARE ON THE LATEST ROUTER FIRMWARE!

You can check your router version by browsing to routerlogin.net. According to the Genie and NETGEAR Nighthawk app description, at least the following routers or extenders should work:

Nighthawk: AX8 AX12 Tri-Band AX12 XR300 XR450 XR500 XR700 AC2100 AC2400 AC2600 R9000 R8900 R8500 R8300 R8000 R8000P R7900P R7960P R7900 R7800 R7000P R7000 R6900P R6900v2 R6900 R6850 R6800 R7450 R6700v3 R6700v2 R6400v2 R6400 R6350 R6260 R6230 R6220 R6120 R6080 R6020

Nighthawk Extenders: EX7700

Other Wi-Fi Routers: Orbi AC1450 Centria (WNDR4700, WND4720) JNR1010 JNR3210 JR6150 JWNR2010 R6050 R6100 R6200 R6250 R6300 R7500 WNDR3400v2 WNDR3700v3 WNDR3800 WNDR4000 WNDR4300 WNDR4500 WNDRMAC WNR1000v2 WNR1500 WNR2020 WNR2020v2 WNR2000v3 WNR2200 WNR2500 WNR3500Lv2 WNR612v2 WNR614

DSL Modem Gateways: DGN2200B DGND3700B D3600 D6000 D6100 D6200 D6000 D6200B D6300 D6300B D6400 D7000 D7800 DGN1000 DGN2200v3 DGN2200v4 DGND3700v2 DGND3800B DGND4000

Cable Gateway: C7000 C6300 C6250 C3700 C3000 N450

Compatibility test

If your router isn’t working properly with this app, you can perform a compatibility test from the app settings tab. After performing the test you will be directed to the developer page on Github. Here you can create an issue, and paste the test result. Note: you need an account on Github to be able to create an issue.



If you like the app you can show your appreciation by posting it in the forum. If you really like the app you can buy me a beer.

Paypal donate


Version changelog: changelog.txt

1 Like

insightsLink_500 insightsUpDown_500


Hello Gruijter! I`ve connected the app with my router, but I am getting an error:
“2018-09-30 21:13:47 [err] [MyApp] unhandledRejection! TypeError: Cannot read property ‘0’ of undefined at parseString (/node_modules/netgear/netgear.js:462:97) at Parser. (/node_modules/xml2js/lib/parser.js:303:18) at emitOne (events.js:116:13) at Parser.emit (events.js:211:7) at SAXParser.onclosetag (/node_modules/xml2js/lib/parser.js:261:26) at emit (/node_modules/sax/lib/sax.js:624:35) at emitNode (/node_modules/sax/lib/sax.js:629:5) at closeTag (/node_modules/sax/lib/sax.js:889:7) at SAXParser.write (/node_modules/sax/lib/sax.js:1436:13) at Parser.exports.Parser.Parser.parseString (/node_modules/xml2js/lib/parser.js:322:31)” - am i doing something wrong?

1 Like

Hi Thomas. Thx for trying the app and reporting back. Could you please start an issue here:

and post there the outcome of this link: http://routerlogin.net/currentsetting.htm


After the last update I can not connect my router anymore.
I removed the Device Icon (It was showing a broken chain symbol) and tried to reinstall but I’m not able to (re)connect.
Receiving the error, by pushing the test button: connect ECONNREFUSED xxxxxxxx:5000 Where xxxxx is my Ip adress.
I do have the Nigthhawk X6 R8000.
It worked fine before the update
I changed the SOAP port to 5000 (It was that number the version before)
Also not changing the SOAP port is not working (I don’t know what the SOAP port is about)

I have the same problem…

New update is pending approval that should fix the pairing of r8000. In the meantime you can pair manually by entering your password, and use 5000 as soap port.

Concerning the xml parse error: please check the issue that has been created on github:

Hello Gruijter !

Thank you for your work ! Unfortunately it doesn’t work for me :cry:

I’ve tried the netgear homey app via the Homey App Store and get a “ECONNREFUSED” when a I want to connect.

Then I installed the last version via your github and the result is the same.

My Homey have the access control.

My routeur remote access is activate with port 8080.

My Router is a R7000 and here ici the log from Homey:

"2018-10-09 00:26:22 [err] [ManagerDrivers] [netgear] Pair error connect ECONNREFUSED

2018-10-09 00:26:22 [log] [ManagerDrivers] [netgear] using as soap host/port:

2018-10-09 00:26:22 [log] [ManagerDrivers] [netgear] {“Firmware”:“V1.0.9.42_10.2.44”,“RegionTag”:“R7000_WW”,“Region”:“ww”,“Model”:“R7000”,“InternetConnectionStatus”:“Up”,“ParentalControlSupported”:“1”,“CircleEnabled”:“0”,“OpenDNSEnabled”:“0”,“SOAPVersion”:“3.21”,“LoginMethod”:“2.0”,“ReadyShareSupportedLevel”:“29”,“XCloudSupported”:“1”,“DeviceMode”:“0”}

2018-10-09 00:26:22 [log] [ManagerDrivers] [netgear] save button pressed in frontend"

Here is info of “routerlogin.net/currentsetting”:

Firmware=V1.0.9.42_10.2.44 RegionTag=R7000_WW Region=ww Model=R7000 InternetConnectionStatus=Up ParentalControlSupported=1 CircleEnabled=0 OpenDNSEnabled=0 SOAPVersion=3.21 LoginMethod=2.0 ReadyShareSupportedLevel=29 XCloudSupported=1 DeviceMode=0

I don’t know what to do now ?

Have a nice day :slight_smile:


Hi Julian

For r7000 the soap Port is 5000, not 8080 :grinning:

Hello Gruijter,

It was 5000 but it did work with it so I changed it in Netgear config but error message is still the same…

I can printscreen my “Remote access” page from netgear when I’m home if it’s use full for you ??

Any other solution for me ??

Thank you for your quick answer :grinning:,


Remote access is not what you need for this app. You really need port 5000 for the R7000 (I tested a r7000 myself just yesterday, and it works great!)

Try these steps:

  • your homey must be connected to the wifi of the r7000
  • uninstall the netgear app from homey
  • restart the r7000 (power off and on)
  • restart homey
  • install the app
  • add router in devices
  • make sure to only type in the password, and port 5000

It should then work…

If not, please report an issue via github

1 Like

heyyyy !!

I’ve just try soap 5000 again and it works :heart_eyes:

Thank you Gruijter !

Have a nice day,



New version is in the making :stuck_out_tongue:

Cool new features:

  • enable/disable second guest wifi
  • perform internet speed test
  • check for new router firmware
  • update the router firmware


1 Like

Dear community,

Should I also add a condition card (and column) for the ‘new firmware available’? Or would that be waisting precious time on something nobody needs?

1 Like

New Version had been releases. Because of the overwelming requests for a conditions Card for checking New firmware, this Will be included in a next release.:joy:

The next release Will First be Published as beta because it has significant rewrites in the software. It will further reduce Memory usage, and Will support even more routers!

Stay tuned on this Channel😘

Thanks a lot for your work Gruijter !

1 Like

And here i Go, can´t access, i have a wnr3500l, any tips, port 80, 8080, 5000, 7000 does not work.

Hi @Skee,

Soap Port is Always 5000 or 80. But if you leave the field on 0 during pairing it should find the port itself. Let me know if it works for you.