huawei-lte-api


Namehuawei-lte-api JSON
Version 1.10.0 PyPI version JSON
download
home_pagehttps://github.com/Salamek/huawei-lte-api
SummaryAPI For huawei LAN/WAN LTE Modems
upload_time2024-10-20 18:17:38
maintainerNone
docs_urlNone
authorAdam Schubert
requires_python>=3.7
licenseLGPL-3.0
keywords
VCS
bugtrack_url
requirements requests xmltodict pycryptodomex typing
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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

[![Tox tests](https://github.com/Salamek/huawei-lte-api/actions/workflows/python-test.yml/badge.svg)](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[![Tox tests](https://github.com/Salamek/huawei-lte-api/actions/workflows/python-test.yml/badge.svg)](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"
}
        
Elapsed time: 1.33501s