Giter VIP home page Giter VIP logo

netgear-enhanced-integration's Introduction

Supported

The supported sensors are:

  • Firmware
  • App Firmware ๐Ÿ†•
  • Device Config ๐Ÿ†•
  • Access Control Status
  • Traffic Meter
  • Traffic Meter Enabled
  • Traffic Meter Opt
  • LAN Config ๐Ÿ†•
  • WAN Info ๐Ÿ†•
  • Parental Control Enabled
  • All MAC Addresses
  • DNS Masq
  • Info
  • Supported Features
  • Speed Test Result
  • QOS Enabled
  • Bandwidth Control
  • 2G Guest Wifi
  • 5G Guest Wifi
  • WPA Security Key
  • 5G WPA Security Key
  • 2G Info
  • 5G Info
  • Channel ๐Ÿ†•
  • 2G Guest Wifi Info
  • 5G Guest Wifi Info
  • Smart Connect ๐Ÿ†•

The supported switches are:

  • Access Control
  • Traffic Meter
  • Parental Control
  • QOS
  • 2.4g Guest WiFi
  • 5g Guest WiFi
  • Run Speed Test (switch will always toggle to off)
  • Reboot Router (switch will always toggle to off)

Setup

  • Create the netgear_enhanced folder in custom_components.
  • Copy the files to the netgear_enhanced folder.

For sensors

  • Place the following code in your config under sensor:
    • Make sure to modify the parameters to fit your needs. It may cause some strain to have too many sensors polling data.
  - platform: netgear_enhanced
    host: !secret my_secret_ip
    username: !secret my_secret_netgear_user
    password: !secret my_secret_netgear_pass
    resources:
      - firmware
      - check_app_fw
      - get_device_config_info
      - access_control_on
      - traffic_meter
      - traffic_meter_on
      - traffic_meter_options
      - get_lan_config_info
      - get_wan_ip_info
      - parental_control_on
      - mac_address
      - dns_masq
      - info
      - supported_features
      - speed_test_result
      - qos_enabled
      - bw_control
      - 2g_guest_wifi_on
      - 5g_guest_wifi_on
      - 2g_wpa_key
      - 5g_wpa_key
      - 2g_wifi_info
      - 5g_wifi_info
      - get_channel
      - 2g_guest_wifi_info
      - 5g_guest_wifi_info
      - get_smart_conn

For switches

  • Place the following code in your config under switch:
    • Make sure to modify the parameters to fit your needs. There may be some delay in updating the switch due to the router changing configuration.
  - platform: netgear_enhanced
    host: !secret my_secret_ip
    username: !secret my_secret_netgear_user
    password: !secret my_secret_netgear_pass
    resources:
      - 'access_control'
      - 'traffic_meter'
      - 'parental_control'
      - 'qos'
      - '2g_guest_wifi'
      - '5g_guest_wifi'
      - 'run_speed_test'
      - 'reboot'

netgear-enhanced-integration's People

Contributors

gigz avatar roblandry avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

netgear-enhanced-integration's Issues

Update SwitchDevice to SwitchEntity class

Looks like one of the later updates made SwitchDevice deprecated

From the logs:

Log Details (WARNING)
Logger: homeassistant.components.switch
Source: components/switch/init.py:125
Integration: Switch (documentation, issues)
First occurred: 12:16:54 AM (1 occurrences)
Last logged: 12:16:54 AM

SwitchDevice is deprecated, modify NetgearEnhancedSwitch to extend SwitchEntity

No 'version' key in the manifest file.

No 'version' key in the manifest file for custom integration 'netgear_enhanced'. This will not be allowed in a future version of Home Assistant. Please report this to the maintainer of 'netgear_enhanced'

Potential Solution for V2 Login for RAX15

The Netgear Nighthawk RAX15 using port 80 will work if you force a v2 login.

For sensors and switches, I added the following:
1.) add these variables to def_setup_platform:
url = None
force_login_v2=True
2.) Under def _init- in self._api = NetgearEnhanced..
Added arg[5] and arg[6]

For device tracker,
1.) same variables under def get_scanner
2.) to Class NetgearDeviceScanner, add variables url and force_login_v2 to self._api

I hope that helps someone if they're using an RAX that won't connect. RAX40 and RAX80 both work without any changes to the code though none get attached devices and weird things happen on the RAX40 I assume because it's in AP mode.

multiple log issues

Hey,
getting this error in the logs, showing multiple times

2020-09-23 07:18:15 ERROR (SyncWorker_37) [pynetgear_enhanced] Connection error: HTTPConnectionPool(host='192.168.0.1', port=5000): Max retries exceeded with url: /soap/server_sa/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f94d9d310>: Failed to establish a new connection: [Errno 111] Connection refused'))
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 159, in _new_conn
conn = connection.create_connection(
File "/usr/local/lib/python3.8/site-packages/urllib3/util/connection.py", line 84, in create_connection
raise err
File "/usr/local/lib/python3.8/site-packages/urllib3/util/connection.py", line 74, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen
httplib_response = self._make_request(
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 392, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/local/lib/python3.8/http/client.py", line 1255, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1301, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1250, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1010, in _send_output
self.send(msg)
File "/usr/local/lib/python3.8/http/client.py", line 950, in send
self.connect()
File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 187, in connect
conn = self._new_conn()
File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 171, in _new_conn
raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f94d9d310>: Failed to establish a new connection: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 726, in urlopen
retries = retries.increment(
File "/usr/local/lib/python3.8/site-packages/urllib3/util/retry.py", line 439, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='192.168.0.1', port=5000): Max retries exceeded with url: /soap/server_sa/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f94d9d310>: Failed to establish a new connection: [Errno 111] Connection refused'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/pynetgear_enhanced/init.py", line 102, in _make_request
response = requests.post(self.soap_url, headers=headers,
File "/usr/local/lib/python3.8/site-packages/requests/api.py", line 119, in post
return request('post', url, data=data, json=json, **kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 516, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='192.168.0.1', port=5000): Max retries exceeded with url: /soap/server_sa/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f94d9d310>: Failed to establish a new connection: [Errno 111] Connection refused'))

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.