Skip to main content

A py package to access the T-Mobile Home Internet API

Project description

T-Mobile Home Internet API Client

A python client for the T-Mobile Home Internet API.

This package was developed for use by ha-tmobilehome, a Home Assistant integration.

Tested against a Sercomm TMO-G4SE gateway, hardware version R02 and software version 1.03.20.

Installation

pip install pytmhi

Usage

from pytmhi import TmiApiClient
client = TmiApiClient("admin",<admin-password>)
version = client.get_version()

Functions

All functions are synchronous (blocking).

Retrieve gateway device details, basic received signal values, and current time.

get_gateway_config()

Retrieve basic received signal values (same as included in above).

get_gateway_signal()

Retrieve detailed cell tower and received signal values.

get_cell()

Retrieve sim card data.

get_sim()

Retrieve wired and wireless client details.

get_clients()

Retrieve access point (wireless) settings.

get_ap_config(retries, retry_seconds)

After an update to the access point settings by set_ap_config, the gateway will need some time to configure the new settings. If an attempt is made to access the current settings while the gateway is busy, it will return HTTP 408 instead of data. These retry settings can be used to give the gateway time to recover.

Parameter Type Required? Default Description
retries dict optional 0 Times to retry if gateway is busy
retry_seconds dict optional 1 Seconds between retries

Set access point (wireless) settings.

Note: Gateway will reconfigure wireless settings and may not respond successfully to subsequent requests for a short period.

set_ap_config(new_ap_config)
Parameter Type Required? Description
new_ap_config dict required Contains entire contents from get_ap_config() with any changes to be made. (See example below.)

Cause immediate reboot of gateway.

Note: Gateway will reset and may lose communications for several minutes.

reboot_gateway()

Retrieve current version of API.

get_version()

Examples

Retrieve 4G RSRQ (Reference Signal Received Quality)

rsrq__4g = client.get_gateway_signal()["signal"]["4g"]["rsrq"]

Retrieve 5G Cell Tower ECGI (Cell Global Identifier)

ecgi_5g = client.get_cell()["cell"]["5g"]["ecgi"]

Turn off 2.4GHz Wi-Fi

Do not turn off Wi-Fi unless you are connected to the gateway via a cable!

Note: Gateway will reset and may lose communications for a minute or more.

access_point_config = client.get_ap_config()
access_point_config["2.4ghz"]["isRadioEnabled"] = False
client.set_ap_config(access_point_config)

Acknowledgements

Thanks to Michael R. Torres (micrictor) for providing the original version of this fork. Also thanks to Zachary Wander (zacharee), author of HINTControl, which provided a much-needed API reference.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytmhi-1.1.1.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytmhi-1.1.1-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file pytmhi-1.1.1.tar.gz.

File metadata

  • Download URL: pytmhi-1.1.1.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for pytmhi-1.1.1.tar.gz
Algorithm Hash digest
SHA256 ed29f50892b79e5795fb3ba5be6c86f5a60881e9ea5a25747f85158d1fcc8e6b
MD5 b7d1b1fbce7b9d7830a1f9fb878a190e
BLAKE2b-256 9e4df47e1544d910e9eccb97950a53f9d593081965c3296074693a586540f897

See more details on using hashes here.

File details

Details for the file pytmhi-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: pytmhi-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for pytmhi-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a469c7443af1cfb57cd5a65dcf6dc44d8c74f55abe6bef79231707b9fe5a98b5
MD5 646d15d3f6c7df71b5d425865bece0ba
BLAKE2b-256 01489572e184e0ff2b590a1f78d5953447c8eb48ee4eae9bdd123e068d6662f7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page