Skip to main content

Join our Discord

ThingsBoard IoT Gateway

The ThingsBoard IoT Gateway is an open-source, Python-based application that enables seamless integration of legacy and third-party devices with the ThingsBoard IoT platform. It serves as a protocol adapter that collects data from external sources and publishes it to ThingsBoard via a unified format.

📖 What is ThingsBoard IoT Gateway?

💡 New to ThingsBoard? Learn what ThingsBoard is


🚀 Getting Started

Curious how the ThingsBoard IoT Gateway works in action?

➡️ Follow our Getting Started Guide to:

  • 🚀 Run the gateway in minutes using pre-configured demo servers
  • 🔄 Simulate device data collection and processing workflows
  • 🧪 Explore telemetry, attributes, and RPCs without real devices
  • 🖥️ Test integration with ThingsBoard Community or Professional Edition

💡 Ideal for evaluation, proof-of-concept, and learning how the gateway processes and routes data.


What is ThingsBoard IoT Gateway?

🔌 Gateway Features

ThingsBoard IoT Gateway supports a wide range of industrial and IoT protocols out of the box. Each connector enables collecting data from external systems, transforming it into a unified format, and forwarding it to ThingsBoard.

📟 Industrial & SCADA Protocols

  • Modbus – Integrate with Modbus TCP/RTU devices like PLCs and energy meters.
  • OPC-UA – Connect to industrial automation systems using the OPC-UA protocol.
  • S7 - Connect to Siemens S7 PLCs and collect data from them.
  • CAN – Communicate with devices over the Controller Area Network (e.g., automotive, industrial equipment).
  • ODBC – Retrieve telemetry from SQL-compliant databases.

🌐 IoT & Networking Protocols

  • MQTT – Subscribe to external MQTT brokers and ingest messages.
  • REST API – Push data to REST endpoints created by gateway.
  • Request Connector – Periodically pull data from HTTP(S) APIs and ingest response payloads.
  • FTP – Read files from FTP/SFTP servers for batch data ingestion.
  • Socket – Request data via raw TCP/UDP socket connections.
  • SNMP – Poll SNMP devices to collect MIB data from routers, switches, sensors.
  • XMPP – Receive telemetry from XMPP-based chat/device networks.

📡 Smart Energy & Charging

  • OCPP – Integrate EV charging stations using Open Charge Point Protocol.

🏠 Smart Building & Home Automation

  • BACnet – Gather building automation data (HVAC, lighting, fire systems).
  • KNX – Interface with KNX-based building automation systems.
  • BLE – Scan and connect to BLE-enabled devices (e.g., beacons, wearables).

🧩 Extensibility

  • Custom Connectors – Build your own protocol handlers using Python to support any proprietary system or emerging protocol.

✨ All connectors support flexible configuration, data transformation, and integration with the ThingsBoard platform's device model.

🧰 Core Gateway Capabilities

In addition to multi-protocol support, the ThingsBoard IoT Gateway includes robust features for reliability, remote management, and automation:

🔒 Reliability & Resilience

  • Data persistence – Buffers telemetry locally to prevent data loss during network or system outages.
  • Automatic reconnection – Automatically restores connection to the ThingsBoard cluster after temporary failures.

🔄 Unified Data Processing

  • Data mapping engine – Transforms raw input from devices into ThingsBoard’s unified data format using customizable converters.

🛠️ Remote Management & Control

🔄 Device Lifecycle Handling

🏗️ Architecture Overview

The IoT Gateway is implemented in Python, allowing powerful extension and customization. It follows a modular architecture resembling microservices.

  • Custom connectors let you interface with new devices or services.
  • Custom converters allow transformation of incoming messages to a ThingsBoard-compatible format.
  • The Gateway provides simple integration APIs, and encapsulates common ThingsBoard related tasks: device provisioning, local data persistence and delivery, message converters and other.

Ideal for edge use cases where flexibility and protocol diversity are key.


💬 Support & Community

Need help or want to share ideas?

🐞 Found a bug? Please open an issue.


⭐ Contributing

We welcome contributions! Feel free to fork the repo, open PRs, or help triage issues.


⚖️ License

This project is licensed under the Apache 2.0 License.


🌟 Don't forget to star the repository to show your ❤️ and support!

Metadata

Release files for thingsboard-gateway 3.8.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for thingsboard-gateway 3.8.6
File Size Uploaded Provenance Actions
thingsboard_gateway-3.8.6.tar.gz 309.1 kB Without provenance Details for thingsboard_gateway-3.8.6.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for thingsboard-gateway 3.8.6
File Interpreter ABI Platform Actions
thingsboard_gateway-3.8.6-py3-none-any.whl Python 3 none any Details for thingsboard_gateway-3.8.6-py3-none-any.whl

Total release size: 762.7 kB

Release files / thingsboard_gateway-3.8.6.tar.gz

Download URL thingsboard_gateway-3.8.6.tar.gz
Size 309.1 kB
Tags Source
SHA-256 checksum
How to use checksums
a87ae2e479cc277bc94bc911397ab906537188923c20756ff8e4f5754a860615
BLAKE2b-256 checksum
How to use checksums
b05c60dd6b6b73b400d3bcad6e0c74711e7b8376db694e032ad43ce8c4fd5a0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / thingsboard_gateway-3.8.6-py3-none-any.whl

Download URL thingsboard_gateway-3.8.6-py3-none-any.whl
Size 453.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6f6301a1f0604cf4ba6d08325a59c3356a7a588e3b60a33cefbbdaeabc3a06ad
BLAKE2b-256 checksum
How to use checksums
cad36519cc587622e3dccb5274e86cff13f2b50e636144add4771eadc76ae0ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Security for thingsboard-gateway 3.8.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

3.8.6 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page