# huawei-lte-api
API For huawei LAN/WAN LTE Modems,
you can use this to simply send SMS, get information about your internet usage, signal, and tons of other stuff
[](https://github.com/Salamek/huawei-lte-api/actions/workflows/python-test.yml)
> Please consider sponsoring if you're using this package commercially, my time is not free :) You can sponsor me by clicking on "Sponsor" button in top button row. Thank You.
## Tested on:
#### 3G/LTE Routers:
* Huawei B310s-22
* Huawei B311-221
* Huawei B315s-22
* Huawei B525s-23a
* Huawei B525s-65a
* Huawei B715s-23c
* Huawei B528s
* Huawei B535-232
* Huawei B628-265
* Huawei B612-233
* Huawei B818-263
* Huawei E5180s-22
* Huawei E5186s-22a
* Huawei E5576-320
* Huawei E5577Cs-321
* Huawei E8231
* Huawei E5573s-320
* SoyeaLink B535-333
#### 3G/LTE USB sticks:
(Device must support NETWork mode aka. "HiLink" version, it wont work with serial mode)
* Huawei E3131
* Huawei E8372h-608
* Huawei E3372
* Huawei E3531
* Huawei E5530As-2
#### 5G Routers:
* Huawei 5G CPE Pro 2 (H122-373)
* Huawei 5G CPE Pro (H112-372)
(probably will work for other Huawei LTE devices too)
### Will NOT work on:
#### LTE Routers:
* Huawei B2368-22 (Incompatible firmware, testing device needed!)
* Huawei B593s-22 (Incompatible firmware, testing device needed!)
## Installation
### PIP (pip3 on some distros)
```bash
$ pip install huawei-lte-api
```
### Repository
You can also use these repositories maintained by me
#### Debian and derivatives
Add repository by running these commands
```
$ wget -O- https://repository.salamek.cz/deb/salamek.gpg | sudo tee /usr/share/keyrings/salamek-archive-keyring.gpg
$ echo "deb [signed-by=/usr/share/keyrings/salamek-archive-keyring.gpg] https://repository.salamek.cz/deb/pub all main" | sudo tee /etc/apt/sources.list.d/salamek.cz.list
```
And then you can install a package python3-huawei-lte-api
```
$ apt update && apt install python3-huawei-lte-api
```
#### Archlinux
Add repository by adding this at end of file /etc/pacman.conf
```
[salamek]
Server = https://repository.salamek.cz/arch/pub/any
SigLevel = Optional
```
and then install by running
```
$ pacman -Sy python-huawei-lte-api
```
#### Gentoo
```
$ emerge dev-python/huawei-lte-api
```
## Usage
```python3
from huawei_lte_api.Client import Client
from huawei_lte_api.Connection import Connection
# with Connection('http://192.168.8.1/') as connection: For limited access, I have valid credentials no need for limited access
with Connection('http://admin:MY_SUPER_TRUPER_PASSWORD@192.168.8.1/') as connection:
client = Client(connection) # This just simplifies access to separate API groups, you can use device = Device(connection) if you want
print(client.device.signal()) # Can be accessed without authorization
print(client.device.information()) # Needs valid authorization, will throw exception if invalid credentials are passed in URL
# For more API calls just look on code in the huawei_lte_api/api folder, there is no separate DOC yet
```
Result dict
```python
{'DeviceName': 'B310s-22', 'SerialNumber': 'MY_SERIAL_NUMBER', 'Imei': 'MY_IMEI', 'Imsi': 'MY_IMSI', 'Iccid': 'MY_ICCID', 'Msisdn': None, 'HardwareVersion': 'WL1B310FM03', 'SoftwareVersion': '21.311.06.03.55', 'WebUIVersion': '17.100.09.00.03', 'MacAddress1': 'EHM:MY:MAC', 'MacAddress2': None, 'ProductFamily': 'LTE', 'Classify': 'cpe', 'supportmode': None, 'workmode': 'LTE'}
```
## Code examples
Some code [examples](examples/) are in [/examples](examples/) folder
### Monitoring
* Monitoring traffic and signal https://github.com/littlejo/huawei-lte-examples
* Set band, show signal level and bandwidth for Huawei mobile broadband B525s-23a. https://github.com/octave21/huawei-lte
* Application that monitors Internet connectivity and restarts router when internet is not reachable https://github.com/Salamek/netkeeper
* Monitoring app with nice TUI interface (just like htop) https://github.com/pdo-smith/5gtop
### SMS
* Relay received SMS into your email https://github.com/chenwei791129/Huawei-LTE-Router-SMS-to-E-mail-Sender
## Ports to other languages
* TypeScript/JavaScript https://github.com/Salamek/huawei-lte-api-ts
* PHP https://github.com/icetee/huawei-lte-api-php
## Donations
* 250 CZK (9,79 EUR) for B535-232 fund, thx @larsvinc !
* 371,69 CZK (14,32 EUR) by Oleg Jusaew
Raw data
{
"_id": null,
"home_page": "https://github.com/Salamek/huawei-lte-api",
"name": "huawei-lte-api",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": null,
"author": "Adam Schubert",
"author_email": "adam.schubert@sg1-game.net",
"download_url": "https://files.pythonhosted.org/packages/ca/6c/9fd6c5d96bfb3bfe005cf19a6eb228427246a455bebcba45c43701a0f2a2/huawei-lte-api-1.10.0.tar.gz",
"platform": null,
"description": "# huawei-lte-api\nAPI For huawei LAN/WAN LTE Modems,\nyou can use this to simply send SMS, get information about your internet usage, signal, and tons of other stuff\n\n[](https://github.com/Salamek/huawei-lte-api/actions/workflows/python-test.yml)\n\n> Please consider sponsoring if you're using this package commercially, my time is not free :) You can sponsor me by clicking on \"Sponsor\" button in top button row. Thank You.\n\n\n## Tested on:\n#### 3G/LTE Routers:\n* Huawei B310s-22\n* Huawei B311-221\n* Huawei B315s-22\n* Huawei B525s-23a\n* Huawei B525s-65a\n* Huawei B715s-23c\n* Huawei B528s\n* Huawei B535-232\n* Huawei B628-265\n* Huawei B612-233\n* Huawei B818-263\n* Huawei E5180s-22\n* Huawei E5186s-22a\n* Huawei E5576-320\n* Huawei E5577Cs-321\n* Huawei E8231\n* Huawei E5573s-320\n* SoyeaLink B535-333\n \n \n#### 3G/LTE USB sticks:\n(Device must support NETWork mode aka. \"HiLink\" version, it wont work with serial mode)\n* Huawei E3131\n* Huawei E8372h-608\n* Huawei E3372\n* Huawei E3531\n* Huawei E5530As-2\n\n\n#### 5G Routers:\n* Huawei 5G CPE Pro 2 (H122-373)\n* Huawei 5G CPE Pro (H112-372)\n\n(probably will work for other Huawei LTE devices too)\n\n### Will NOT work on:\n#### LTE Routers:\n* Huawei B2368-22 (Incompatible firmware, testing device needed!)\n* Huawei B593s-22 (Incompatible firmware, testing device needed!)\n\n\n## Installation\n\n### PIP (pip3 on some distros)\n```bash\n$ pip install huawei-lte-api\n```\n### Repository\nYou can also use these repositories maintained by me\n#### Debian and derivatives\n\nAdd repository by running these commands\n\n```\n$ wget -O- https://repository.salamek.cz/deb/salamek.gpg | sudo tee /usr/share/keyrings/salamek-archive-keyring.gpg\n$ echo \"deb [signed-by=/usr/share/keyrings/salamek-archive-keyring.gpg] https://repository.salamek.cz/deb/pub all main\" | sudo tee /etc/apt/sources.list.d/salamek.cz.list\n```\n\nAnd then you can install a package python3-huawei-lte-api\n\n```\n$ apt update && apt install python3-huawei-lte-api\n```\n\n#### Archlinux\n\nAdd repository by adding this at end of file /etc/pacman.conf\n\n```\n[salamek]\nServer = https://repository.salamek.cz/arch/pub/any\nSigLevel = Optional\n```\n\nand then install by running\n\n```\n$ pacman -Sy python-huawei-lte-api\n```\n\n#### Gentoo\n\n```\n$ emerge dev-python/huawei-lte-api\n```\n\n\n## Usage\n\n```python3\nfrom huawei_lte_api.Client import Client\nfrom huawei_lte_api.Connection import Connection\n\n# with Connection('http://192.168.8.1/') as connection: For limited access, I have valid credentials no need for limited access\nwith Connection('http://admin:MY_SUPER_TRUPER_PASSWORD@192.168.8.1/') as connection:\n client = Client(connection) # This just simplifies access to separate API groups, you can use device = Device(connection) if you want\n\n print(client.device.signal()) # Can be accessed without authorization\n print(client.device.information()) # Needs valid authorization, will throw exception if invalid credentials are passed in URL\n\n\n# For more API calls just look on code in the huawei_lte_api/api folder, there is no separate DOC yet\n\n```\nResult dict\n```python\n{'DeviceName': 'B310s-22', 'SerialNumber': 'MY_SERIAL_NUMBER', 'Imei': 'MY_IMEI', 'Imsi': 'MY_IMSI', 'Iccid': 'MY_ICCID', 'Msisdn': None, 'HardwareVersion': 'WL1B310FM03', 'SoftwareVersion': '21.311.06.03.55', 'WebUIVersion': '17.100.09.00.03', 'MacAddress1': 'EHM:MY:MAC', 'MacAddress2': None, 'ProductFamily': 'LTE', 'Classify': 'cpe', 'supportmode': None, 'workmode': 'LTE'}\n```\n\n## Code examples\n\nSome code [examples](examples/) are in [/examples](examples/) folder\n\n### Monitoring\n\n* Monitoring traffic and signal https://github.com/littlejo/huawei-lte-examples\n* Set band, show signal level and bandwidth for Huawei mobile broadband B525s-23a. https://github.com/octave21/huawei-lte\n* Application that monitors Internet connectivity and restarts router when internet is not reachable https://github.com/Salamek/netkeeper\n* Monitoring app with nice TUI interface (just like htop) https://github.com/pdo-smith/5gtop\n\n### SMS\n\n* Relay received SMS into your email https://github.com/chenwei791129/Huawei-LTE-Router-SMS-to-E-mail-Sender\n\n## Ports to other languages\n\n* TypeScript/JavaScript https://github.com/Salamek/huawei-lte-api-ts\n* PHP https://github.com/icetee/huawei-lte-api-php\n\n## Donations\n\n* 250 CZK (9,79 EUR) for B535-232 fund, thx @larsvinc !\n* 371,69 CZK (14,32 EUR) by Oleg Jusaew\n\n",
"bugtrack_url": null,
"license": "LGPL-3.0",
"summary": "API For huawei LAN/WAN LTE Modems",
"version": "1.10.0",
"project_urls": {
"Homepage": "https://github.com/Salamek/huawei-lte-api",
"Release notes": "https://github.com/Salamek/huawei-lte-api/releases"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ca6c9fd6c5d96bfb3bfe005cf19a6eb228427246a455bebcba45c43701a0f2a2",
"md5": "02461730ab1f0b7c456ffc196fe5e9f9",
"sha256": "2264faf96b0c0ea5a29e642dbc3670413e935f311fb59ffd12ba1205613e2147"
},
"downloads": -1,
"filename": "huawei-lte-api-1.10.0.tar.gz",
"has_sig": false,
"md5_digest": "02461730ab1f0b7c456ffc196fe5e9f9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 36917,
"upload_time": "2024-10-20T18:17:38",
"upload_time_iso_8601": "2024-10-20T18:17:38.531071Z",
"url": "https://files.pythonhosted.org/packages/ca/6c/9fd6c5d96bfb3bfe005cf19a6eb228427246a455bebcba45c43701a0f2a2/huawei-lte-api-1.10.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-20 18:17:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Salamek",
"github_project": "huawei-lte-api",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "requests",
"specs": []
},
{
"name": "xmltodict",
"specs": []
},
{
"name": "pycryptodomex",
"specs": []
},
{
"name": "typing",
"specs": []
}
],
"tox": true,
"lcname": "huawei-lte-api"
}