Skip to content

Cookie preferences

We use cookies for our own analytics, to see how our campaigns perform and, if you allow it, to load content from other services such as the Google site search. We never sell your data. Necessary cookies keep the site working and cannot be switched off. See our Cookie Policy for details and our Privacy Policy for how we handle personal data.

Security, load balancing and remembering your cookie choice.

Show us which pages people read, how they find the site and where they get stuck, so we can improve it (Google Analytics, Microsoft Clarity).

Show us which of our ad campaigns bring visitors to the site and remember the campaign or partner link you arrived from (Google Ads, LinkedIn, Meta, partner program). We do not use these cookies to build advertising profiles.

Load the site search from Google when you use it. Google sets its own cookies and shows ads in the search results.

© 2026 The ThingsBoard Authors
180 Try for free

ThingsBoard Cloud

Choose your data region

Your data stays in the region you choose, for residency and compliance. No credit card required.

Rather run it yourself? Install on your own servers

Telemetry synchronization

ThingsBoard Edge stores all telemetry locally and pushes it to the server through rule chains. You control which data is synchronized, in which direction, and how it is stored on each side. This gives you precise control over bandwidth and data retention on the server.

For an overview of how telemetry synchronization works, see Telemetry synchronization.

Configuring attribute sync from Edge to the server

Section titled “Configuring attribute sync from Edge to the server”

The default Edge Root Rule Chain already sends attribute changes to the server: the message type switch node routes Attributes Updated and Attributes Deleted to a push to cloud node, and Post attributes goes through Save Client Attributes to another push to cloud node. If you built your own Edge rule chain, add these connections. The Attributes scope field of the push to cloud node (Server attributes in the default chain) applies when the message does not carry its own scope: attributes that devices post arrive on the server as server attributes unless you change it to Client attributes.

Which database tables the server updates depends on the save time series node in the server rule chain. In the node settings, under Processing settings, select Advanced and set the Latest values strategy:

Latest values strategy Tables updated Use it when
On every message ts_kv (history) and ts_kv_latest (latest values) Dashboards on the server must show the current device state next to historical charts.
Skip ts_kv only; ts_kv_latest stays unchanged The server is used only for historical analysis or reporting, and the current state is monitored on Edge.

Configuring attribute sync from the server to Edge

Section titled “Configuring attribute sync from the server to Edge”

To send attribute changes from the server to Edge, add a push to edge node to the root rule chain of the server. Connect the message type switch node to it with the Attributes Updated and Attributes Deleted labels, then click Apply changes. The attribute scope is set in the Attributes scope field of the push to edge node.

Edge always keeps a local copy of the data it receives from devices or from the server. This enables offline operation and local processing.

  • When a device sends data to Edge: Edge writes the telemetry to its local database first. Then the rule chain decides whether to push it to the server through the push to cloud node. In the default Edge Root Rule Chain, the message type switch node routes Post telemetry to save time series, and save time series connects to push to cloud with the Success label, so every telemetry message is sent to the server. Remove or filter that connection to keep some data on the Edge only.
  • When an Edge Event arrives from the server: The Edge rule chain processes the event and stores it according to the save time series node settings. The same two Latest values strategies apply as on the server: On every message writes to ts_kv and ts_kv_latest, which Edge dashboards need to show the current value next to historical data. Skip writes only to ts_kv, which is enough for audit or logging scenarios where the current state is not needed locally.