NETGEAR is aware of a growing number of phone and online scams. To learn how to stay safe click here.
Forum Discussion
nspaine
Dec 04, 2025Tutor
RS500 connected devices list doesn't match nighthawk and home assistant apps
Nighthawk app and Home Assistant app with Netgear integration don't read the full list of connected devices even though the 192.168.1.1 router admin portal shows the full list of connected devices. I...
CrimpOn
Dec 04, 2025Guru - Experienced User
It might be entertaining to see if this Python program works with your RS500:
# get_dev.py Python program to retrieve attached devices list from Netgear router
#
# Requires Python library "Requests". See https://pypi.org/project/requests/ for installation instructions
#
# requests==2.25.1
import requests
from requests.auth import HTTPBasicAuth
# urllib3==1.26.3
import urllib3
import json
# Define the IP of the router, admin user name (typically "admin"), and the admin password.
router_ip = '192.168.1.1'
admin_user = "admin"
admin_password = "Enter admin password here"
def get_connected_devices(url, admin, passwd):
r = requests.get(url, auth=HTTPBasicAuth(admin, passwd), verify=False)
devices = r.text.splitlines()[1][7:]
return r.status_code, devices
if __name__ == '__main__':
print('STATUS: Starting execution.')
urllib3.disable_warnings()
# Preparing to call get_connected_devices
# IP address for the Orbi router
# URL to query connected devices
router_url = 'https://'+router_ip+'/DEV_device_info.htm'
http_response, devices_text = get_connected_devices(router_url, admin_user, admin_password)
print("HTTP response ",http_response)
# The Netgear router sometimes does not honor the request and returns 401
# just try again and will succeed eventually
if http_response != 200 :
if http_response == 401 :
print ("This happens sometimes. Please run program again")
exit
else :
print(f'ERROR: Failed to retrieve devices from router: response code {http_response}.')
print('ERROR: Verify settings and hardware.')
else:
print('SUCCESS: Devices connected to router:')
print(json.dumps(json.loads(devices_text), sort_keys=True, indent=4))
print('STATUS: Finished execution.')