Add some useful scripts
This commit is contained in:
@@ -0,0 +1,2 @@
|
|||||||
|
config_modem.py
|
||||||
|
__pycache__
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
from sagemcom_api.enums import EncryptionMethod
|
||||||
|
from sagemcom_api.client import SagemcomClient
|
||||||
|
import json
|
||||||
|
|
||||||
|
HOST = '192.168.2.1'
|
||||||
|
USERNAME = 'admin'
|
||||||
|
PASSWORD = ''
|
||||||
|
ENCRYPTION_METHOD = EncryptionMethod.SHA512 # EncryptionMethod.MD5 or EncryptionMethod.SHA512
|
||||||
|
SSL = True
|
||||||
|
WIFI_RADIOS = ['RADIO2G4', 'RADIO5G', 'RADIO6G']
|
||||||
|
ADMZ_MAC = ''
|
||||||
|
|
||||||
|
|
||||||
|
async def modem() -> SagemcomClient:
|
||||||
|
return SagemcomClient(
|
||||||
|
host = HOST,
|
||||||
|
username = USERNAME,
|
||||||
|
password = PASSWORD,
|
||||||
|
authentication_method = ENCRYPTION_METHOD,
|
||||||
|
ssl = SSL,
|
||||||
|
keep_keys = True,
|
||||||
|
)
|
||||||
|
|
||||||
|
def dump(value) -> str:
|
||||||
|
print(json.dumps(value, indent = 2))
|
||||||
Executable
+18
@@ -0,0 +1,18 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
import asyncio
|
||||||
|
from sagemcom_api.client import SagemcomClient
|
||||||
|
from modem_config import *
|
||||||
|
|
||||||
|
async def main() -> None:
|
||||||
|
async with await modem() as client:
|
||||||
|
try:
|
||||||
|
await client.login()
|
||||||
|
|
||||||
|
except Exception as exception: # pylint: disable=broad-except
|
||||||
|
print(exception)
|
||||||
|
return
|
||||||
|
|
||||||
|
for radio in WIFI_RADIOS:
|
||||||
|
await client.set_value_by_xpath("Device/WiFi/Radios/Radio[Alias='" + radio + "']/Enable", False)
|
||||||
|
|
||||||
|
asyncio.run(main())
|
||||||
+33
@@ -0,0 +1,33 @@
|
|||||||
|
import asyncio
|
||||||
|
from sagemcom_api.client import SagemcomClient
|
||||||
|
from config_modem import *
|
||||||
|
|
||||||
|
async def main() -> None:
|
||||||
|
async with await modem() as client:
|
||||||
|
try:
|
||||||
|
await client.login()
|
||||||
|
|
||||||
|
except Exception as exception: # pylint: disable=broad-except
|
||||||
|
print(exception)
|
||||||
|
return
|
||||||
|
|
||||||
|
# Print device information of Sagemcom F@st router
|
||||||
|
# device_info = await client.get_device_info()
|
||||||
|
# print(f"{device_info.id} {device_info.model_name}")
|
||||||
|
|
||||||
|
# Print connected devices
|
||||||
|
# devices = await client.get_hosts()
|
||||||
|
|
||||||
|
# for device in devices:
|
||||||
|
# if device.active:
|
||||||
|
# print(f"{device.id} - {device.name}")
|
||||||
|
|
||||||
|
# Retrieve values via XPath notation, output is a dict
|
||||||
|
custom_command_output = await client.get_value_by_xpath('Device/Services/BellNetworkCfg')
|
||||||
|
|
||||||
|
dump(custom_command_output)
|
||||||
|
|
||||||
|
# await client.set_value_by_xpath("Device/Services/BellNetworkCfg/SetBridgeMode", "on")
|
||||||
|
|
||||||
|
|
||||||
|
asyncio.run(main())
|
||||||
Executable
+19
@@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
import asyncio
|
||||||
|
from sagemcom_api.client import SagemcomClient
|
||||||
|
from modem_config import *
|
||||||
|
|
||||||
|
async def main() -> None:
|
||||||
|
async with await modem() as client:
|
||||||
|
try:
|
||||||
|
await client.login()
|
||||||
|
|
||||||
|
except Exception as exception: # pylint: disable=broad-except
|
||||||
|
print(exception)
|
||||||
|
return
|
||||||
|
|
||||||
|
await client.set_value_by_xpath('Device/Services/BellNetworkCfg/AdvancedDMZ/Enable', False)
|
||||||
|
await client.set_value_by_xpath('Device/Services/BellNetworkCfg/AdvancedDMZ/AdvancedDMZhost', ADMZ_MAC)
|
||||||
|
await client.set_value_by_xpath('Device/Services/BellNetworkCfg/AdvancedDMZ/Enable', True)
|
||||||
|
|
||||||
|
asyncio.run(main())
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
git+https://github.com/djGrrr/python-sagemcom-api.git@master#egg=sagemcom_api
|
||||||
Executable
+17
@@ -0,0 +1,17 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
import asyncio
|
||||||
|
from sagemcom_api.client import SagemcomClient
|
||||||
|
from modem_config import *
|
||||||
|
|
||||||
|
async def main() -> None:
|
||||||
|
async with await modem() as client:
|
||||||
|
try:
|
||||||
|
await client.login()
|
||||||
|
|
||||||
|
except Exception as exception: # pylint: disable=broad-except
|
||||||
|
print(exception)
|
||||||
|
return
|
||||||
|
|
||||||
|
await client.set_value_by_xpath('Device/Services/BellNetworkCfg/VoiceAllowedWANModes', 'ftth,gpon,xgspon')
|
||||||
|
|
||||||
|
asyncio.run(main())
|
||||||
Reference in New Issue
Block a user