Skip to content

Simple client library for ThingsBoard - implementing the administration / user-space API (not device API) – written in Swift.

License

Notifications You must be signed in to change notification settings

JoooHannesk/tbrestclientlib

Repository files navigation

project_avatar_icon

TBRESTClientLib

Simple ReST client library for ThingsBoard - implementing the administration / user-space API (not device API) – written in Swift.

👓 Overview

ThingsBoard is an IoT platform that provides device management and administration, along with multiple options for storing and visualizing time-series data from sensors, field devices, machine control systems, and similar sources.

This library implements selected parts of the ThingsBoard administration and user-space API (not the device API) to enable convenient, programmatic interaction with a ThingsBoard server. For server compatibility details, please refer to the doc:ReleaseNotes.

Throughout this documentation, we aim to follow the official ThingsBoard nomenclature and API documentation as closely as possible. While every effort is made to stay aligned, minor deviations may occur.

🛠 Development Status – Available Functions (v0.0.20)

This library is under active development and is steadily expanding its coverage of the ThingsBoard API. As a result, not all API endpoints are available yet. For a detailed and up-to-date overview of the currently supported endpoints, please refer to the Usage section.

Currently supported functionality

⚠️ Caution: Prior to version 0.1.0, the public API may undergo refinements. Any breaking changes are expected to be manageable for existing users.

🥾 Motivation

This library originated as a sub-project of a larger system that required reliable and convenient API access to ThingsBoard server instances. As development progressed, it became clear that the API layer represented a substantial project on its own. Consequently, this component was extracted, generalized, and open-sourced for public use.

Please note that the library is under active development and does not yet cover the complete ThingsBoard API surface. The same limitation applies to response models: not all fields defined in the official API schemas are currently mapped or processed. Only those elements required by the original parent project are included.

For a detailed overview of the properties supported by each response model, please refer to TbDataModels.swift

📝 Documentation

🕰️ Release history

See what's new

  • Version 0.0.20 – 2025-12-29
  • Version 0.0.19 – 2025-11-08
  • Version 0.0.15 - 2025-08-19
  • Version 0.0.14 - 2025-08-18
  • Version 0.0.13 – 2025-07-17

💻 Requirements

This library works with and was tested on:

  • iOS >= 17.5
  • macOS >= 14.0

For compatibility to specific ThingsBoard server versions, refer to ThingsBoard Server Compatibility in this library documentation.

💾 Installation

📱 Usage

  • Please refer to library documentation: Usage

🧪 Unit & Integration Tests

  • Please refer to library documentation: Testing

📑 License

  • MIT License
  • Copyright (c) 2024 Johannes Kinzig
  • see LICENSE.txt

📇 Contact and Contribution

  • Johannes Kinzig – MailWeb
  • for contribution please refer to official documentation: Contribution

📑 Disclaimer

This library is an independent implementation developed by its author(s) and is not affiliated with, endorsed by, or officially associated with ThingsBoard Inc. in any way. For further details mail the author and/or refer to this library's license.

About

Simple client library for ThingsBoard - implementing the administration / user-space API (not device API) – written in Swift.

Topics

Resources

License

Stars

Watchers

Forks

Languages