Files
up-n-atom ad59fb89d7 Bump version
Updates sagemcom_api dependency to version 1.1.0
Corrects url encoding for set_value_by_xpath
2024-10-05 23:21:58 -04:00

93 lines
2.3 KiB
Markdown

# Sagemcom Modem Remote Client
## Prerequisite
Install [git](https://git-scm.com/downloads/) and [python3](https://www.python.org/downloads/)
## Build Package
```bash
git clone https://github.com/up-n-atom/sagemcom-modem-scripts.git
cd sagemcom-modem-scripts
git checkout cli
pip3 install build
python3 -m build
```
## Install via build package
```bash
python3 -m venv .venv
source .venv/bin/activate
pip install dist/xmo_remote_client-0.0.6-py3-none-any.whl
deactivate
```
## Install via Github release
```bash
python3 -m venv .venv
source .venv/bin/activate
pip install https://github.com/up-n-atom/sagemcom-modem-scripts/releases/download/v0.0.6/xmo_remote_client-0.0.6-py3-none-any.whl
deactivate
```
## Use from Source
```bash
python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt
python3 -m xmo ...
```
## Usage
```
Usage: python -m xmo [OPTIONS] COMMAND1 [ARGS]... [COMMAND2 [ARGS]...]...
Options:
-H, --host IPV4ADDRESS Hostname or host IP
-u, --username TEXT Administrator username
-p, --password TEXT Administrator password [required]
-a, --auth-method [MD5|SHA512] Authentication method
--help Show this message and exit.
Commands:
disable-advanced-dmz
disable-wifi-radios
enable-advanced-dmz
get-onu-mode
get-value
get-wan-mode
set-dns-servers
set-value
```
### Bell Home/Giga Hub Examples
> [!NOTE]
> The **Home Hub 4000** uses `MD5` authentication, which can be enabled using either `-a` _or_ `--auth-method` option, eg. `-a MD5`
```bash
source .venv/bin/activate
# List available commands
xmo-remote-client --help
# Dump Device tree
xmo-remote-client get-value --path "Device"
# Get WAN mode
xmo-remote-client get-wan-mode
# Enable local DNS server ie. Pi-hole
xmo-remote-client set-dns-servers -s 192.168.2.254 192.168.2.254
# Disable 5G and 2.4G radios
xmo-remote-client disable-wifi-radios -r RADIO5G -r RADIO2G4
# Disable radio w/ radio prompt
xmo-remote-client disable-wifi-radios
# Enable advanced DMZ w/ MAC address prompt
xmo-remote-client enable-advanced-dmz
# Get ONU mode
xmo-remote-client get-onu-mode
# Get multiple values ie. OLT info
xmo-remote-client get-value --path "Device/Optical/G988/General/OltG/OltVendorId" --path "Device/Optical/G988/General/OltG/Version"
deactivate
```