Merge pull request #970 from labmonkey/asuswrt-import
Some checks are pending
docker / docker_dev (push) Waiting to run

[ASUSWRT] Added router port to configurtation
This commit is contained in:
Jokob @NetAlertX
2025-01-21 06:43:42 +11:00
committed by GitHub
2 changed files with 38 additions and 7 deletions

View File

@@ -207,7 +207,7 @@
"description": [
{
"language_code": "en_us",
"string": "Router ip(do not include <code>http://</code> or <code>https://</code>)."
"string": "Router ip(do not include port, <code>http://</code> or <code>https://</code>)."
}
]
},
@@ -242,6 +242,37 @@
}
]
},
{
"function": "port",
"type": {
"dataType": "string",
"elements": [
{
"elementType": "input",
"elementOptions": [],
"transformers": []
}
]
},
"default_value": "",
"options": [],
"localized": [
"name",
"description"
],
"name": [
{
"language_code": "en_us",
"string": "Router port"
}
],
"description": [
{
"language_code": "en_us",
"string": "Router port. Leave empty for default."
}
]
},
{
"function": "password",
"type": {

View File

@@ -77,8 +77,13 @@ def get_device_data():
# Create aiohttp session
session = aiohttp.ClientSession(loop=loop)
port = get_setting_value("ASUSWRT_port").strip()
mylog("verbose", [f"[{pluginName}] Connecting to the Router..."])
router = AsusRouter( # required - both IP and URL supported
hostname=get_setting_value("ASUSWRT_host"), # required
port=(None if not port else port), # optional
username=get_setting_value("ASUSWRT_user"), # required
password=get_setting_value("ASUSWRT_password"), # required
use_ssl=get_setting_value("ASUSWRT_ssl"), # optional
@@ -86,14 +91,9 @@ def get_device_data():
)
# Connect to the router
# Throws an error in case of failure
loop.run_until_complete(router.async_connect())
if router.connected:
mylog("verbose", [f"[{pluginName}] logged in successfully."])
else:
mylog("error", [f"[{pluginName}] failed to login."])
return []
# Now you can use the router object to call methods
clients = loop.run_until_complete(router.async_get_data(AsusData.CLIENTS))