You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _includes/docs/edge/user-guide/install/config.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3485,7 +3485,7 @@
3485
3485
<td>LWM2M_DTLS_CONNECTION_ID_LENGTH</td>
3486
3486
<td></td>
3487
3487
<td> CoAP DTLS connection ID length for LWM2M. RFC 9146, Connection Identifier for DTLS 1.2
3488
-
Default: off
3488
+
Default: 8
3489
3489
Control usage of DTLS connection ID length (CID).
3490
3490
- 'off' to deactivate it.
3491
3491
- 'on' to activate Connection ID support (same as CID 0 or more 0).
@@ -3599,7 +3599,7 @@
3599
3599
<tr>
3600
3600
<td>transport.lwm2m.bootstrap.id</td>
3601
3601
<td>LWM2M_SERVER_ID_BS</td>
3602
-
<td>111</td>
3602
+
<td>null</td>
3603
3603
<td> Default value in LwM2M client after start in mode Bootstrap for the object : name "LWM2M Security" field: "Short Server ID" (deviceProfile: Bootstrap.BOOTSTRAP SERVER.Short ID)</td>
3604
3604
</tr>
3605
3605
<tr>
@@ -3932,7 +3932,7 @@
3932
3932
<td>COAP_DTLS_CONNECTION_ID_LENGTH</td>
3933
3933
<td></td>
3934
3934
<td> CoAP DTLS connection ID length. RFC 9146, Connection Identifier for DTLS 1.2
3935
-
Default: off
3935
+
Default: 8
3936
3936
Control usage of DTLS connection ID length (CID).
3937
3937
- 'off' to deactivate it.
3938
3938
- 'on' to activate Connection ID support (same as CID 0 or more 0).
Copy file name to clipboardExpand all lines: _includes/docs/pe/edge/user-guide/install/config.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3881,7 +3881,7 @@
3881
3881
<td>LWM2M_DTLS_CONNECTION_ID_LENGTH</td>
3882
3882
<td></td>
3883
3883
<td> CoAP DTLS connection ID length for LWM2M. RFC 9146, Connection Identifier for DTLS 1.2
3884
-
Default: off
3884
+
Default: 8
3885
3885
Control usage of DTLS connection ID length (CID).
3886
3886
- 'off' to deactivate it.
3887
3887
- 'on' to activate Connection ID support (same as CID 0 or more 0).
@@ -3995,7 +3995,7 @@
3995
3995
<tr>
3996
3996
<td>transport.lwm2m.bootstrap.id</td>
3997
3997
<td>LWM2M_SERVER_ID_BS</td>
3998
-
<td>111</td>
3998
+
<td>null</td>
3999
3999
<td> Default value in LwM2M client after start in mode Bootstrap for the object : name "LWM2M Security" field: "Short Server ID" (deviceProfile: Bootstrap.BOOTSTRAP SERVER.Short ID)</td>
4000
4000
</tr>
4001
4001
<tr>
@@ -4328,7 +4328,7 @@
4328
4328
<td>COAP_DTLS_CONNECTION_ID_LENGTH</td>
4329
4329
<td></td>
4330
4330
<td> CoAP DTLS connection ID length. RFC 9146, Connection Identifier for DTLS 1.2
4331
-
Default: off
4331
+
Default: 8
4332
4332
Control usage of DTLS connection ID length (CID).
4333
4333
- 'off' to deactivate it.
4334
4334
- 'on' to activate Connection ID support (same as CID 0 or more 0).
Copy file name to clipboardExpand all lines: _includes/docs/pe/user-guide/install/core-rule-engine-config.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3803,7 +3803,7 @@
3803
3803
<td>LWM2M_DTLS_CONNECTION_ID_LENGTH</td>
3804
3804
<td></td>
3805
3805
<td> CoAP DTLS connection ID length for LWM2M. RFC 9146, Connection Identifier for DTLS 1.2
3806
-
Default: off
3806
+
Default: 8
3807
3807
Control usage of DTLS connection ID length (CID).
3808
3808
- 'off' to deactivate it.
3809
3809
- 'on' to activate Connection ID support (same as CID 0 or more 0).
@@ -3917,7 +3917,7 @@
3917
3917
<tr>
3918
3918
<td>transport.lwm2m.bootstrap.id</td>
3919
3919
<td>LWM2M_SERVER_ID_BS</td>
3920
-
<td>111</td>
3920
+
<td>null</td>
3921
3921
<td> Default value in LwM2M client after start in mode Bootstrap for the object : name "LWM2M Security" field: "Short Server ID" (deviceProfile: Bootstrap.BOOTSTRAP SERVER.Short ID)</td>
3922
3922
</tr>
3923
3923
<tr>
@@ -4250,7 +4250,7 @@
4250
4250
<td>COAP_DTLS_CONNECTION_ID_LENGTH</td>
4251
4251
<td></td>
4252
4252
<td> CoAP DTLS connection ID length. RFC 9146, Connection Identifier for DTLS 1.2
4253
-
Default: off
4253
+
Default: 8
4254
4254
Control usage of DTLS connection ID length (CID).
4255
4255
- 'off' to deactivate it.
4256
4256
- 'on' to activate Connection ID support (same as CID 0 or more 0).
Copy file name to clipboardExpand all lines: _includes/docs/pe/user-guide/install/lwm2m-transport-config.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -425,7 +425,7 @@
425
425
<td>LWM2M_DTLS_CONNECTION_ID_LENGTH</td>
426
426
<td></td>
427
427
<td> CoAP DTLS connection ID length for LWM2M. RFC 9146, Connection Identifier for DTLS 1.2
428
-
Default: off
428
+
Default: 8
429
429
Control usage of DTLS connection ID length (CID).
430
430
- 'off' to deactivate it.
431
431
- 'on' to activate Connection ID support (same as CID 0 or more 0).
@@ -539,7 +539,7 @@
539
539
<tr>
540
540
<td>transport.lwm2m.bootstrap.id</td>
541
541
<td>LWM2M_SERVER_ID_BS</td>
542
-
<td>111</td>
542
+
<td>null</td>
543
543
<td> Default value in Lwm2mClient after start in mode Bootstrap for the object : name "LWM2M Security" field: "Short Server ID" (deviceProfile: Bootstrap.BOOTSTRAP SERVER.Short ID)</td>
@@ -18,10 +18,118 @@ The registry enables efficient serialization/deserialization of telemetry data.
18
18
19
19
**LwM2M object structure**
20
20
21
-
When an LwM2M device registers with the server, it provides a list of supported LwM2M Objects. Each object has:
22
-
- An **object** ID
23
-
- A **version**
24
-
- One or multiple **instances**
21
+
### DTLS Connection ID (CID) — used only when security mode is enabled
22
+
23
+
- The default server-side CID length is now 8 bytes
24
+
25
+
(parameter COAP_DTLS_CONNECTION_ID_LENGTH in tb-lwm2m-transport.yml).
26
+
27
+
- Setting the server CID length to 8 bytes automatically enables the MultiNodeConnectionIdGenerator, which assigns a unique CID to each client session.
28
+
This improves DTLS connection resilience and allows stable operation in multi-node deployments.
29
+
30
+
- With LWM2M_DTLS_CONNECTION_ID_LENGTH = 8, the following behavior is enabled:
31
+
32
+
- MultiNode Connection ID generator with NodeID = 0x00 (applicable for a single-server deployment).
33
+
34
+
- Ensures DTLS session continuity across reconnects, especially in NATed or unstable network environments.
35
+
36
+
- Table: CID length alignment between LWM2M client and server
<td>Server does not support CID → CID not used</td>
65
+
</tr>
66
+
<tr>
67
+
<td>3</td>
68
+
<td>null</td>
69
+
<td>4</td>
70
+
<td><b>DTLS 1.2 (no CID)</b></td>
71
+
<td>–</td>
72
+
<td>Client does not initiate CID → handshake without Connection ID</td>
73
+
</tr>
74
+
<tr>
75
+
<td>4</td>
76
+
<td>0</td>
77
+
<td>0</td>
78
+
<td><b>DTLS 1.2 (no CID)</b></td>
79
+
<td>–</td>
80
+
<td>CID allowed but not generated by either side</td>
81
+
</tr>
82
+
<tr>
83
+
<td>5</td>
84
+
<td>1</td>
85
+
<td>1</td>
86
+
<td><b>DTLS 1.2 + CID active</b></td>
87
+
<td>–</td>
88
+
<td>Short CID (SingleNode mode)</td>
89
+
</tr>
90
+
<tr>
91
+
<td>6</td>
92
+
<td>3</td>
93
+
<td>3</td>
94
+
<td><b>DTLS 1.2 + CID active</b></td>
95
+
<td>–</td>
96
+
<td>CID = 3 bytes, single-node mode</td>
97
+
</tr>
98
+
<tr>
99
+
<td>7</td>
100
+
<td>1</td>
101
+
<td>5</td>
102
+
<td><b>DTLS 1.2 + CID active (MultiNode)</b></td>
103
+
<td>0x00</td>
104
+
<td>Server CID > 4 bytes → server generates NodeID</td>
105
+
</tr>
106
+
<tr>
107
+
<td>8</td>
108
+
<td>2</td>
109
+
<td>8</td>
110
+
<td><b>DTLS 1.2 + CID active (MultiNode)</b></td>
111
+
<td>0x00</td>
112
+
<td>Server CID = 8 bytes → server generates NodeID</td>
113
+
</tr>
114
+
<tr>
115
+
<td>9</td>
116
+
<td>16</td>
117
+
<td>2</td>
118
+
<td><b>DTLS 1.2 + CID active</b></td>
119
+
<td>–</td>
120
+
<td>Server without NodeID, client uses long CID</td>
121
+
</tr>
122
+
<tr>
123
+
<td>10</td>
124
+
<td>null</td>
125
+
<td>8</td>
126
+
<td><b>DTLS 1.2 (no CID)</b></td>
127
+
<td>0x00</td>
128
+
<td>Server in MultiNode mode, but client does not support CID</td>
129
+
</tr>
130
+
</tbody>
131
+
</table>
132
+
25
133
26
134
### Handling of Object Versions in the LwM2M Model Structure
27
135
@@ -166,18 +274,37 @@ Now let's configure how ThingsBoard should process LwM2M object data:
166
274
All settings in the device profile are used to initialize the LwM2M client during the **Registration** operation.<br>
167
275
Any changes in the device profile settings are applied immediately if the LwM2M client session is active, or during the next **Update Registration**.
168
276
169
-
> ⚠️ **Important:** All profile configuration changes are applied **only** if the object version in the profile matches the version used by the LwM2M client, according to the rules described in the [Handling of Object Versions in the LwM2M Model Structure](#handling-of-object-versions-in-the-lwm2m-model-structure).
277
+
> ⚠️ **Important:** All profile configuration changes are applied **only** if the object version in the profile matches the version used by the LwM2M client, according to the rules described in the [Handling of Object Versions in the LwM2M Model Structure](#handling-of-object-versions-in-the-lwm2m-model-structure).<br>
278
+
If you are not sure which object versions are used by the LwM2M client, or if this information is not available in advance, then after the LwM2M client connects to the server, complete information about supported objects and their versions is displayed in the client's telemetry logs.
279
+
280
+
Example of a registration log after an LwM2M client connects to the server:
- Check the "**Attributes**" box for any data you want to retrieve when the device connects and store it as ThingsBoard **attributes**.
175
291
- Check the "**Telemetry**" and/or "**Observe**" boxes if you want the Server to monitor those values, fetch updates, and store them as ThingsBoard **telemetry**.
176
-
- By default, the **observe strategy** - **Single**. You can choose **observe strategy** - **Composite all** or **Composite by object** to reduce traffic or group resources differently.
177
-
- By default, the **observe strategy** is set to **Single**. You can switch to **Composite all** or **Composite by object** to reduce traffic or to group resources more efficiently.
178
-
- Click "Save" to apply the changes.
179
292
180
-
{% include images-gallery.html imageCollection="configure-mapping" %}
293
+
{% include images-gallery.html imageCollection="configure-mapping-1" %}
294
+
295
+
**2. Initialize attributes and telemetry using Observe strategy**
296
+
297
+
By default, the **Initialize attributes and telemetry using Observe strategy** option is **disabled**, which means attributes and telemetry are initialized by reading their values **one by one**; when **enabled**, they are initialized by subscribing to their values **using the selected Observe strategy**.
298
+
299
+
{% include images-gallery.html imageCollection="configure-mapping-2" %}
300
+
301
+
**3. Observe strategy**
302
+
303
+
By default, the **Observe strategy** is set to **Single**, but you can switch to **Composite all** or **Composite by object** to reduce traffic or group resources more efficiently.
304
+
305
+
Click "**Save**" to apply the changes.
306
+
307
+
{% include images-gallery.html imageCollection="configure-mapping-3" %}
181
308
182
309
> ⚠️ **Note**: If you uncheck all items (Attributes, Telemetry, Observe) for an object, it **will not appear** in the device profile configuration.
183
310
@@ -1017,6 +1144,14 @@ Execute {"id":"5/0/2"}
1017
1144
```
1018
1145
{: .copy-code}
1019
1146
1147
+
- **Alternative command** inputs available via the device credentials interface:
1148
+
1149
+
*"client registration update"* (in the debug terminal: Execute {"id":"1/0/8"}):
Copy file name to clipboardExpand all lines: _includes/docs/user-guide/install/core-rule-engine-config.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3341,7 +3341,7 @@
3341
3341
<td>LWM2M_DTLS_CONNECTION_ID_LENGTH</td>
3342
3342
<td></td>
3343
3343
<td> CoAP DTLS connection ID length for LWM2M. RFC 9146, Connection Identifier for DTLS 1.2
3344
-
Default: off
3344
+
Default: 8
3345
3345
Control usage of DTLS connection ID length (CID).
3346
3346
- 'off' to deactivate it.
3347
3347
- 'on' to activate Connection ID support (same as CID 0 or more 0).
@@ -3455,7 +3455,7 @@
3455
3455
<tr>
3456
3456
<td>transport.lwm2m.bootstrap.id</td>
3457
3457
<td>LWM2M_SERVER_ID_BS</td>
3458
-
<td>111</td>
3458
+
<td>null</td>
3459
3459
<td> Default value in LwM2M client after start in mode Bootstrap for the object : name "LWM2M Security" field: "Short Server ID" (deviceProfile: Bootstrap.BOOTSTRAP SERVER.Short ID)</td>
3460
3460
</tr>
3461
3461
<tr>
@@ -3788,7 +3788,7 @@
3788
3788
<td>COAP_DTLS_CONNECTION_ID_LENGTH</td>
3789
3789
<td></td>
3790
3790
<td> CoAP DTLS connection ID length. RFC 9146, Connection Identifier for DTLS 1.2
3791
-
Default: off
3791
+
Default: 8
3792
3792
Control usage of DTLS connection ID length (CID).
3793
3793
- 'off' to deactivate it.
3794
3794
- 'on' to activate Connection ID support (same as CID 0 or more 0).
Copy file name to clipboardExpand all lines: _includes/docs/user-guide/install/lwm2m-transport-config.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -425,7 +425,7 @@
425
425
<td>LWM2M_DTLS_CONNECTION_ID_LENGTH</td>
426
426
<td></td>
427
427
<td> CoAP DTLS connection ID length for LWM2M. RFC 9146, Connection Identifier for DTLS 1.2
428
-
Default: off
428
+
Default: 8
429
429
Control usage of DTLS connection ID length (CID).
430
430
- 'off' to deactivate it.
431
431
- 'on' to activate Connection ID support (same as CID 0 or more 0).
@@ -539,7 +539,7 @@
539
539
<tr>
540
540
<td>transport.lwm2m.bootstrap.id</td>
541
541
<td>LWM2M_SERVER_ID_BS</td>
542
-
<td>111</td>
542
+
<td>null</td>
543
543
<td> Default value in Lwm2mClient after start in mode Bootstrap for the object : name "LWM2M Security" field: "Short Server ID" (deviceProfile: Bootstrap.BOOTSTRAP SERVER.Short ID)</td>
0 commit comments