Skip to main content

Async, typed API client for Teltonika routers, built for Home Assistant

Project description

teltasync

teltasync is an async python library for interfacing with Teltonika routers via their HTTP API.

Installation

You can install the library using pip:

pip install teltasync

Usage

This is a simple example of how to use the library:

import asyncio

from teltasync import Teltasync


async def main():
    # Create client
    client = Teltasync(
        base_url="https://192.168.1.1/api",  # Full API URL
        username="admin",  # Admin username
        password="YOUR_PASSWORD",  # Admin password
        verify_ssl=False  # Most Teltonika devices use self-signed certs
    )

    try:
        # Get basic device info (no authentication required)
        device_info = await client.get_device_info()
        print(f"Device: {device_info.device_name} ({device_info.device_model})")

        # Validate credentials
        if await client.validate_credentials():
            print("Credentials are valid!")

            # Get detailed system information
            system_info = await client.get_system_info()
            print(f"Firmware version: {system_info.static.fw_version}")

            # Get modem status
            modems = await client.get_modem_status()
            for modem in modems:
                print(f"Modem {modem.id}: {modem.operator} ({modem.conntype})")
                print(f"  Signal: {modem.rssi} dBm")

        else:
            print("Invalid credentials!")

    finally:
        # Always close the session
        await client.close()


# Using as async context manager (recommended)
async def context_manager_example():
    async with Teltasync(
            base_url="https://192.168.1.1/api",
            username="admin",
            password="YOUR_PASSWORD",
            verify_ssl=False
    ) as client:
        device_info = await client.get_device_info()
        print(f"Device: {device_info.device_name}")
        # Session automatically closed when exiting context


# Run the example
if __name__ == "__main__":
    asyncio.run(main())

Supported Devices

Although it was currently only tested against a RUTX50, this library should work with most Teltonika routers that support the HTTP API, including:

  • RUT series (RUT240, RUT241, RUT950, RUT955, etc.)
  • RUTX series (RUTX09, RUTX11, RUTX12, etc.)
  • TRB series gateways
  • Other Teltonika devices with HTTP API support

Requirements

  • Python 3.13+
  • aiohttp
  • pydantic

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

teltasync-0.1.4.tar.gz (15.8 kB view details)

Uploaded Source

Built Distribution

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

teltasync-0.1.4-py3-none-any.whl (18.6 kB view details)

Uploaded Python 3

File details

Details for the file teltasync-0.1.4.tar.gz.

File metadata

  • Download URL: teltasync-0.1.4.tar.gz
  • Upload date:
  • Size: 15.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for teltasync-0.1.4.tar.gz
Algorithm Hash digest
SHA256 396d2a0eddaf2a444d6471200588df9e886637f5b63bc9ff95ecbbd6c9a1c8ab
MD5 4d1bd2b7a815118f90f60a6022fad977
BLAKE2b-256 3428617e9d2ec7877f7b7e36f8f875ce435867d52be36a5196afd810d060ea7c

See more details on using hashes here.

File details

Details for the file teltasync-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: teltasync-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 18.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for teltasync-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 71c1a5e6a19652e7734addc20ec7f2ab1719bd8dafee6d9b3abfda55b9328b86
MD5 5056d7128dd6f51a699ce78ee061b71b
BLAKE2b-256 3ce033f1d59530c00cf7b12086f34d94b142905058cf55f7684d68a9485f88be

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