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.
  • 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.5

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.5
File Size Uploaded
thingsboard_gateway-3.8.5.tar.gz 375.3 kB Details

Built distribution (wheel)

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

Total release size: 894.4 kB

Release files / thingsboard_gateway-3.8.5.tar.gz

Download URL thingsboard_gateway-3.8.5.tar.gz
Size 375.3 kB
Tags Source
SHA-256 checksum
How to use checksums
0364d6e879ef57e1a203b44e713f1e8b4c28fc94814ec2d1346c4f1fde264527
BLAKE2b-256 checksum
How to use checksums
701906a89bdb7a11cc6c0ce0112039142373746b2919fb879bdc2c50d5ac44c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.19

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

Download URL thingsboard_gateway-3.8.5-py3-none-any.whl
Size 519.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0f1a03fb5aecc7c0f5db34eecd35843ad55c41a89d93c362fe55aa60664169bd
BLAKE2b-256 checksum
How to use checksums
2c95268a5c67ed172da5c451021fef80cf585ce5d22cdd10637fe7c8f5064f54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.19

Release history Release notifications | RSS feed

This release

3.8.5 This release

2 release files

3.8.4

1 release file

3.8.3

1 release file

3.8.2

1 release file

3.8.1

1 release file

3.8.0

1 release file

3.7.9

1 release file

3.7.8

1 release file

3.7.7

1 release file

3.7.6

1 release file

3.7.5

1 release file

3.7.4

1 release file

3.7.3

1 release file

3.7.2

1 release file

3.7.1

1 release file

3.7.0

1 release file

3.6.3

1 release file

3.6.2

1 release file

3.6.1

1 release file

3.6

1 release file

3.5.3

1 release file

3.5.2

1 release file

3.5.1

1 release file

3.5

1 release file

3.4.6

1 release file

3.4.5

1 release file

3.4.4

1 release file

3.4.3.1

1 release file

3.4.3

1 release file

3.4.2

1 release file

3.4.1

1 release file

3.4

1 release file

3.3

1 release file

3.2

1 release file

3.1

1 release file

3.0-0

1 release file

2.9

1 release file

2.8

1 release file

2.7

1 release file

2.6

1 release file

2.5.5

1 release file

2.5.4

1 release file

2.5.2

1 release file

2.5.1

1 release file

2.5.0

1 release file

2.4.1

1 release file

2.4.0

1 release file

2.3.1.1

1 release file

2.3.1

1 release file

2.3.0

1 release file

2.2.5

1 release file

2.2.4

1 release file

2.2.3.2

1 release file

2.2.3.1

1 release file

2.2.3

1 release file

2.2.2.1

1 release file

2.2.2

1 release file

2.2.1

1 release file

2.2

1 release file

2.1.0.9

1 release file

2.1.0.8

1 release file

2.1.0.7

1 release file

2.1.0.6

1 release file

2.1.0.5

1 release file

2.1.0.4

1 release file

2.1.0.3

1 release file

2.1.0.2

1 release file

2.1

1 release file

2.0.0.9

1 release file

2.0.0.8

1 release file

2.0.0.5

1 release file

2.0.0.4

1 release file

2.0.0.3

1 release file

2.0

1 release file

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