Skip to content

Get started

Core concepts

How devices, device resources, properties, Data Buckets, dashboards, endpoints, products, projects and access tokens fit together in Thinger.io.

Concept2 min read

Thinger.io connects your devices to the data, dashboards and integrations you build on top of them. This page explains the main pieces and how they relate; each one has its own page in Platform.

CONNECTUSE THE DATAORGANIZE AND ACCESSDeviceIOTMP, MQTT or HTTPDevice resourcesinputs and outputsPropertiesconfiguration and stateData Bucketstores time seriesDashboardshows and controlsEndpointcalls other servicesProducttemplates for fleetsProjectshares with other usersAssettypes and groupsAccess tokenAPI, CLI and agents
The main pieces of Thinger.io

Devices ​

A device is anything connected to your account that sends or receives data: a microcontroller, a Linux computer, an MQTT or HTTP client, or a virtual device. Each device has a unique device ID in your account and authenticates with its device credentials. Its device type says how it connects: IOTMP, MQTT, HTTP, Virtual or Subdevice.

An IOTMP device exposes device resources: functions the platform can call. An input resource receives data from the platform, such as a command to switch a relay. An output resource sends data to it, such as a sensor reading. A device resource can be both. You call device resources from the console, the API, dashboards, other devices and AI agents.

Properties are named JSON values stored on the device in the platform: its configuration, its calibration, its last known state. They persist when the device is offline, and the device can read and write them.

Data ​

A Data Bucket stores device data as a time series. It is filled by the device itself, by reading a device resource at an interval, or from MQTT and HTTP messages. You query and export it, and dashboards chart it.

From device to dashboard ​

A reading can reach a dashboard in two ways. A widget can read a device resource live, while the device is online. Or the reading is stored first in a Data Bucket, and the widget charts its history; the bucket keeps the data when the device goes offline.

Devicedevice resourcetemperatureor MQTT and HTTPmessagesLive: the widget reads the device resource while the device is onlineData Bucket10:00 21.410:05 21.610:10 21.9time seriesHow the bucket fills:the platform reads the resourceat an interval, the device writesto it, or messages arrivehistoryDashboardGauge: 21.9 °CChart from the bucketButtons and sliders call inputresources of the device
From device to dashboard

Visualization and integrations ​

A dashboard is a screen of widgets (charts, gauges, maps, buttons) that shows and controls device data, in real time or from Data Buckets.

An endpoint is an outgoing integration: an HTTP request, an email, a Telegram message. Devices and rules call endpoints to notify or to send data to other services.

Organization and access ​

  • A product is a template for a fleet of devices that share properties, buckets, flows, API resources and dashboards. With Auto Provision, devices are created when they first connect.
  • A project groups resources to share them with other users, with members and roles.
  • An asset type or group classifies devices and other resources.
  • An access token grants a limited set of permissions to the REST API, for scripts, apps, the CLI and AI agents.
  • A plugin is a packaged application that runs on your instance and extends it, installed from Plugins > Marketplace.

How it fits together ​

PieceWhat it doesLearn more
DeviceConnects hardware and exposes device resources.Devices
PropertyKeeps configuration and state on the platform.Properties
Data BucketStores time series data.Data Buckets
DashboardShows and controls device data.Dashboards
EndpointCalls other services.Endpoints
ProductManages a fleet of devices with one definition.Products
ProjectShares resources with other users.Projects
AssetClassifies devices by type and group.Assets
Access tokenGives scoped access to the API.Access Tokens
PluginExtends the instance with an application.Plugins

Learn more ​