A HiveMQ extension that stores MQTT publish data into TDengine using customizable JSON templates and storage policies.
The HiveMQ TDengine JDSL Plugin is an experimental extension for HiveMQ that intelligently routes and stores published MQTT data into a TDengine time-series database. It enables users to define flexible JSON templates and storage strategies through configuration, automating the data ingestion process without writing custom code.
Custom JSON Templating — Define JSON templates with variable placeholders (e.g., $gateway$) to map MQTT payloads to TDengine schemas.
Dynamic SQL Generation — Automatically generates TDengine SQL statements (CREATE DATABASE, CREATE TABLE, IMPORT) based on templates and incoming data.
Flexible Storage Policies — Configure database names, super tables, tags, and data retention (keep days) per topic or template.
Asynchronous Processing — Uses an interceptor to asynchronously save data on inbound publish events, minimizing impact on HiveMQ performance.
Multi-Platform Support — Leverages a Go-based JDSL core compiled to native libraries (Linux/Windows) with a Java JNA wrapper for cross-platform compatibility.
The project embraces an experimental, configuration-driven approach, allowing users to "store what they imagine" into TDengine by simply defining JSON templates, prioritizing flexibility and automation over rigid schemas.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.