## Movistar Router Library
This is a simple client to interact with Movistar routers
Tested with:
- Askey RFT3505VW
![Python package](https://raw.githubusercontent.com/Eitol/router-movistar/main/docs/router.png)
## Installation
```bash
pip install router_movistar
```
## Methods
### get_router_info()
Returns a objects with the following fields:
- devices: Array of objects representing the devices connected to the local network. Each object contains the following fields:
- status: Boolean indicating whether the device is connected.
- device_name: String representing the name of the device.
- ip_address: String representing the IP address of the device on the local network.
- interface: String representing the network interface used by the device.
- mac_address: String representing the MAC address of the device.
- router_brand: String representing the brand of the router.
- model: String representing the model of the router.
- serial_number: String representing the serial number of the router.
- hardware_version: String representing the hardware version of the router.
- software_version: String representing the software version of the router.
- firmware_version: String representing the firmware version of the router.
- status: String representing the connectivity status of the router.
- wan_ip: String representing the Wide Area Network IP address of the router.
- local_gateway_ip: String representing the Local Area Network IP address of the router.
- subnet_mask: String representing the subnet mask of the router's LAN.
- dns1, dns2: Strings representing the Domain Name System servers used by the router.
- wifi_24ghz_status, wifi_5ghz_status: Strings representing the status (Enabled/Disabled) of the 2.4GHz and 5GHz Wi-Fi bands respectively.
- ssid_24ghz, ssid_5ghz: Strings representing the Service Set Identifiers (name of the Wi-Fi network) for the 2.4GHz and 5GHz bands respectively.
- hide_ssid_24ghz, hide_ssid_5ghz: Booleans representing whether the SSID is hidden for the 2.4GHz and 5GHz bands respectively.
- wifi_24ghz_password, wifi_5ghz_password: Strings representing the password for the 2.4GHz and 5GHz Wi-Fi bands respectively.
- wifi_24ghz_encryption, wifi_5ghz_encryption: Strings representing the encryption type for the 2.4GHz and 5GHz Wi-Fi bands respectively.
- auth_method_24ghz, auth_method_5ghz: Strings representing the authentication method for the 2.4GHz and 5GHz Wi-Fi bands respectively.
- encryption_24ghz, encryption_5ghz: Strings representing the encryption type for the 2.4GHz and 5GHz Wi-Fi bands respectively.
- wifi_5ghz_channel: Integer representing the channel number for the 5GHz Wi-Fi band.
- iptv_service, iptv_service_ip, iptv_addressing_type: Strings representing the IPTV service details.
- voip_terminal, voip_status, voip_an, voip_ss, voip_le: Strings representing VOIP service information.
- ont_id: String representing the Optical Network Terminal ID.
#### Example
```json
{
"devices": [
{
"status": true,
"device_name": "MacBook-Pro (2)",
"ip_address": "192.168.1.99",
"interface": "eth4.0",
"mac_address": "CE:51:A0:D9:4C:12"
},
{
"status": true,
"device_name": "Samsung-Washer",
"ip_address": "192.168.1.98",
"interface": "wl0",
"mac_address": "28:6D:97:68:3C:FD"
}
],
"router_brand": "Askey",
"model": "3505VW",
"serial_number": "C8B42225692B",
"hardware_version": "REV4_B6M",
"software_version": "CL_g000_R3505VWCL203_n48",
"firmware_version": "CL_g000_R3505VWCL203_n48",
"status": "Connected",
"wan_ip": "186.106.23.136",
"local_gateway_ip": "192.168.1.1",
"subnet_mask": "255.255.255.0",
"dns1": "",
"dns2": "",
"wifi_24ghz_status": "Enabled",
"ssid_24ghz": "familia_abreu",
"hide_ssid_24ghz": true,
"wifi_24ghz_password": "contrasena1234!",
"wifi_24ghz_encryption": "",
"auth_method_24ghz": "psk2",
"encryption_24ghz": "aes",
"wifi_5ghz_status": "Enabled",
"ssid_5ghz": "familia_abreu_5Ghz",
"wifi_5ghz_password": "contrasena1234!",
"wifi_5ghz_encryption": "tkip+aes",
"wifi_5ghz_channel": 56,
"hide_ssid_5ghz": false,
"auth_method_5ghz": "psk2",
"encryption_5ghz": "aes",
"iptv_service": "7.7.7.1",
"iptv_service_ip": "10.76.185.79",
"iptv_addressing_type": "STATIC",
"voip_terminal": "",
"voip_status": "",
"voip_an": "",
"voip_ss": "",
"voip_le": "",
"ont_id": ""
}
```
### reboot()
Reboots the router.
### Example
```python
from router_movistar.client import Client
password = 'your_password'
c = Client(password)
info = c.get_router_info()
print(info.model_dump_json(indent=2))
c.reboot()
```
Raw data
{
"_id": null,
"home_page": "https://github.com/Eitol/router_movistar",
"name": "router-movistar",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": null,
"author": "Hector Oliveros",
"author_email": "hector.oliveros.leon@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/04/6f/7d59b4b840fff0b66ac38ab83185fa6c2fea5d59315bb93e890158ad364d/router_movistar-1.0.3.tar.gz",
"platform": null,
"description": "## Movistar Router Library\n\nThis is a simple client to interact with Movistar routers\n\nTested with:\n\n- Askey RFT3505VW\n ![Python package](https://raw.githubusercontent.com/Eitol/router-movistar/main/docs/router.png)\n\n## Installation\n\n```bash\npip install router_movistar\n```\n\n## Methods\n\n### get_router_info()\n\nReturns a objects with the following fields:\n\n- devices: Array of objects representing the devices connected to the local network. Each object contains the following fields:\n - status: Boolean indicating whether the device is connected.\n - device_name: String representing the name of the device.\n - ip_address: String representing the IP address of the device on the local network.\n - interface: String representing the network interface used by the device.\n - mac_address: String representing the MAC address of the device.\n- router_brand: String representing the brand of the router.\n- model: String representing the model of the router.\n- serial_number: String representing the serial number of the router.\n- hardware_version: String representing the hardware version of the router.\n- software_version: String representing the software version of the router.\n- firmware_version: String representing the firmware version of the router.\n- status: String representing the connectivity status of the router.\n- wan_ip: String representing the Wide Area Network IP address of the router.\n- local_gateway_ip: String representing the Local Area Network IP address of the router.\n- subnet_mask: String representing the subnet mask of the router's LAN.\n- dns1, dns2: Strings representing the Domain Name System servers used by the router.\n- wifi_24ghz_status, wifi_5ghz_status: Strings representing the status (Enabled/Disabled) of the 2.4GHz and 5GHz Wi-Fi bands respectively.\n- ssid_24ghz, ssid_5ghz: Strings representing the Service Set Identifiers (name of the Wi-Fi network) for the 2.4GHz and 5GHz bands respectively.\n- hide_ssid_24ghz, hide_ssid_5ghz: Booleans representing whether the SSID is hidden for the 2.4GHz and 5GHz bands respectively.\n- wifi_24ghz_password, wifi_5ghz_password: Strings representing the password for the 2.4GHz and 5GHz Wi-Fi bands respectively.\n- wifi_24ghz_encryption, wifi_5ghz_encryption: Strings representing the encryption type for the 2.4GHz and 5GHz Wi-Fi bands respectively.\n- auth_method_24ghz, auth_method_5ghz: Strings representing the authentication method for the 2.4GHz and 5GHz Wi-Fi bands respectively.\n- encryption_24ghz, encryption_5ghz: Strings representing the encryption type for the 2.4GHz and 5GHz Wi-Fi bands respectively.\n- wifi_5ghz_channel: Integer representing the channel number for the 5GHz Wi-Fi band.\n- iptv_service, iptv_service_ip, iptv_addressing_type: Strings representing the IPTV service details.\n- voip_terminal, voip_status, voip_an, voip_ss, voip_le: Strings representing VOIP service information.\n- ont_id: String representing the Optical Network Terminal ID.\n\n#### Example\n```json\n{\n \"devices\": [\n {\n \"status\": true,\n \"device_name\": \"MacBook-Pro (2)\",\n \"ip_address\": \"192.168.1.99\",\n \"interface\": \"eth4.0\",\n \"mac_address\": \"CE:51:A0:D9:4C:12\"\n },\n {\n \"status\": true,\n \"device_name\": \"Samsung-Washer\",\n \"ip_address\": \"192.168.1.98\",\n \"interface\": \"wl0\",\n \"mac_address\": \"28:6D:97:68:3C:FD\"\n }\n ],\n \"router_brand\": \"Askey\",\n \"model\": \"3505VW\",\n \"serial_number\": \"C8B42225692B\",\n \"hardware_version\": \"REV4_B6M\",\n \"software_version\": \"CL_g000_R3505VWCL203_n48\",\n \"firmware_version\": \"CL_g000_R3505VWCL203_n48\",\n \"status\": \"Connected\",\n \"wan_ip\": \"186.106.23.136\",\n \"local_gateway_ip\": \"192.168.1.1\",\n \"subnet_mask\": \"255.255.255.0\",\n \"dns1\": \"\",\n \"dns2\": \"\",\n \"wifi_24ghz_status\": \"Enabled\",\n \"ssid_24ghz\": \"familia_abreu\",\n \"hide_ssid_24ghz\": true,\n \"wifi_24ghz_password\": \"contrasena1234!\",\n \"wifi_24ghz_encryption\": \"\",\n \"auth_method_24ghz\": \"psk2\",\n \"encryption_24ghz\": \"aes\",\n \"wifi_5ghz_status\": \"Enabled\",\n \"ssid_5ghz\": \"familia_abreu_5Ghz\",\n \"wifi_5ghz_password\": \"contrasena1234!\",\n \"wifi_5ghz_encryption\": \"tkip+aes\",\n \"wifi_5ghz_channel\": 56,\n \"hide_ssid_5ghz\": false,\n \"auth_method_5ghz\": \"psk2\",\n \"encryption_5ghz\": \"aes\",\n \"iptv_service\": \"7.7.7.1\",\n \"iptv_service_ip\": \"10.76.185.79\",\n \"iptv_addressing_type\": \"STATIC\",\n \"voip_terminal\": \"\",\n \"voip_status\": \"\",\n \"voip_an\": \"\",\n \"voip_ss\": \"\",\n \"voip_le\": \"\",\n \"ont_id\": \"\"\n}\n```\n\n### reboot()\n\nReboots the router.\n\n### Example\n```python\nfrom router_movistar.client import Client\n\npassword = 'your_password'\nc = Client(password)\ninfo = c.get_router_info()\nprint(info.model_dump_json(indent=2))\nc.reboot()\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A package to extract information from Movistar routers",
"version": "1.0.3",
"project_urls": {
"Homepage": "https://github.com/Eitol/router_movistar"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "da82ac10bbcf8ce0a76a0fcda49b2e084f391fc31134b743222189f28107da30",
"md5": "5d1838f92b1882ea73a3fc64ab401125",
"sha256": "191ecd1f1df4cd0ab1ec5b8d123b8ed32059f0aa66a7d1f11151ebc2848a51ec"
},
"downloads": -1,
"filename": "router_movistar-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5d1838f92b1882ea73a3fc64ab401125",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 6811,
"upload_time": "2024-06-05T02:59:13",
"upload_time_iso_8601": "2024-06-05T02:59:13.233746Z",
"url": "https://files.pythonhosted.org/packages/da/82/ac10bbcf8ce0a76a0fcda49b2e084f391fc31134b743222189f28107da30/router_movistar-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "046f7d59b4b840fff0b66ac38ab83185fa6c2fea5d59315bb93e890158ad364d",
"md5": "52e90b54601b0a537dc6e5238846792f",
"sha256": "fdd73f643e1937d54e7c1dc192ca00279851c31566d0e5e3b653138ba2ca8118"
},
"downloads": -1,
"filename": "router_movistar-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "52e90b54601b0a537dc6e5238846792f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 6161,
"upload_time": "2024-06-05T02:59:14",
"upload_time_iso_8601": "2024-06-05T02:59:14.247464Z",
"url": "https://files.pythonhosted.org/packages/04/6f/7d59b4b840fff0b66ac38ab83185fa6c2fea5d59315bb93e890158ad364d/router_movistar-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-05 02:59:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Eitol",
"github_project": "router_movistar",
"github_not_found": true,
"lcname": "router-movistar"
}