Skip to content
This repository was archived by the owner on May 22, 2026. It is now read-only.

Commit 503bef0

Browse files
committed
Merge branch 'staging/4.2' into release/4.2
2 parents 7e25dfd + 4ff1b0b commit 503bef0

18 files changed

Lines changed: 229 additions & 74 deletions

File tree

_includes/docs/user-guide/attributes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ The user may change the attribute via UI. The script or other server-side applic
138138

139139
#### Administration UI
140140

141-
{% include images-gallery.html imageCollection="shared-attrs-ui" %}
141+
{% include images-gallery.html imageCollection="shared-attrs-ui" showListImageTitles="true" %}
142142

143143
{% include templates/info-banner.md content=bulk_provisioning %}
144144

_includes/docs/user-guide/ui/devices.md

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,17 @@ Tenant administrators and users with appropriate permissions can create, edit, o
3636
### Adding new device
3737

3838
To add a new device:
39-
- Navigate to **Entities** ⟶ **Devices**. {% unless docsPrefix == null %}By default, you will see the "**All**" asset group.{% endunless %}
39+
- Navigate to **Entities** ⟶ **Devices**. {% unless docsPrefix == null %}By default, you will see the "**All**" device group.{% endunless %}
4040
- Click the "**+**" icon in the upper-right corner and select "**Add new device**" from drop-down menu.
4141
- In the device creation form, fill in the required fields:
4242
- **Name** – a unique name for the device.
4343
- **[Device profile](/docs/{{docsPrefix}}user-guide/device-profiles/){:target="_blank"}** – by default, the profile is set to "**default**", but you can choose a different profile if needed.
44-
- Optional fields such as label or description can be filled in if needed.
44+
{% if (docsPrefix == "pe/") or (docsPrefix == "paas/") or (docsPrefix == "paas/eu/") %}
45+
- **Owner and groups:** Helps with organization and access control.
46+
- **Owner**: Select the owner from the dropdown list. The device will be created at that owner’s level. By default, the field is pre-filled with the Customer or Tenant name based on where you add the device. You can change it before confirming adding.
47+
- **Groups**: Optional field. Add the device to existing device groups or create a new one at the selected owner level. Note: every device is automatically added to the "**All**" group of that owner.
48+
{% endif %}
49+
- Optional fields such as **Label** or **Description** can be filled in if needed.
4550
- Click "**Add**".
4651

4752
Device successfully created and is now available in the list.
@@ -162,6 +167,11 @@ On the "<b>Devices</b>" page there is an option "<b>Include customer entities</b
162167

163168
{% include images-gallery.html imageCollection="include-customer-entities" showListImageTitles="true" %}
164169

170+
## Share device
171+
You can share devices by adding them to a device group and then sharing the group with a customer.
172+
173+
For detailed instructions, please see the section on how to [Share device group](#share-device-group).
174+
165175
{% endif %}
166176

167177
{% unless docsPrefix == null %}
@@ -189,7 +199,7 @@ To make the group private again, follow the same steps using the "**Make private
189199

190200
## Share device group
191201

192-
You can share an device group with one or more customers. This is useful, for example, when multiple customers need access to the same device.
202+
You can share a device group with one or more customers. This is useful, for example, when multiple customers need access to the same device.
193203

194204
> You cannot share an individual device — only the device group that contains it.
195205
@@ -201,6 +211,23 @@ To share an device group:
201211
- Confirm the action by clicking "**Share**".
202212

203213
{% include images-gallery.html imageCollection="share-device-group" %}
214+
215+
**Managing and Verifying Permissions**
216+
217+
After a device group has been shared, you can view, edit, or revoke permissions at any time.
218+
219+
1. From the "Device groups" list, click on the pencil button of the desired group to open the "Entity group details".
220+
221+
2. Navigate to the Permissions tab.
222+
223+
3. On this tab, you will see a complete list of all permissions granted for this group. Here you can:
224+
225+
- **Add** a new permission: Click the "+" icon in the top right corner of the panel. A dialog window will appear where you can select a role and a user group to grant access to.
226+
227+
- **Edit** an existing permission: Click the pencil icon next to the permission you want to modify.
228+
229+
- **Delete** a permission: Click the trash can icon to remove access for that user group.
230+
204231
{% endunless %}
205232

206233
## Device details

_includes/docs/user-guide/widgets.md

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -409,19 +409,19 @@ In the legend settings, you can:
409409

410410
The legend displays a label for each [data key](/docs/{{docsPrefix}}user-guide/widgets/#data-keys). When a widget contains data from multiple devices, or when several devices use the same data key name (for example, temperature), it may be difficult to determine which key value corresponds to which device in the legend or tooltip.
411411

412-
To make the legend or tooltip clearer, you should use <b>${entityName}</b> or <b>${entityLabel}</b> in the data key configuration.
412+
To make the legend clearer, you should use **${entityName}** or **${entityLabel}** in the **Label** field of the data key configuration.
413413

414-
- <b>${entityName}</b> – a variable that automatically inserts the system name of the entity in the legend or tooltip. This helps clearly identify the object, especially when its technical name or unique identifier is important.
415-
Example: If a device has the name <b>sensor-101</b>, then in the field where <b>${entityName}</b> is used, you will see <b>sensor-101</b>.
414+
- **${entityName}** – a variable that automatically inserts the system name of the entity in the legend. This helps clearly identify the object, especially when its technical name or unique identifier is important.
415+
Example: If a device has the name **sensor-101**, then in the field where **${entityName}** is used, you will see **sensor-101**.
416416

417417
{% include images-gallery.html imageCollection="entity-name-legend" %}
418418

419-
- <b>${entityLabel}</b> – a variable that inserts the entity&#39;s label in the legend or tooltip.. This is often used as a human-readable label and allows you to display a more descriptive name of the device or entity.
419+
- **${entityLabel}** – a variable that inserts the entity's label in the legend. This is often used as a human-readable label and allows you to display a more descriptive name of the device or entity.
420420
Example: A device has:
421-
- <b>Name</b> = <b>sensor-101</b>
422-
- <b>Label</b> = <b>Temperature Sensor, Warehouse #1</b>
421+
- **Name** = **sensor-101**
422+
- **Label** = **Temperature Sensor, Warehouse #1**
423423

424-
In the field where <b>${entityLabel}</b> is used, the operator will see the more understandable text: <b>Temperature Sensor, Warehouse #1</b>.
424+
In the field where **${entityLabel}** is used, the operator will see the more understandable text: **Temperature Sensor, Warehouse #1**.
425425

426426
{% include images-gallery.html imageCollection="entity-label-legend" %}
427427

@@ -466,7 +466,23 @@ You can change the appearance of the chart grid: customize the color of the back
466466

467467
- **Show cumulative values in stacking mode**. While stacking mode is on, you can check the box "Cumulative values" to enable your chart to display sum of all entity values.
468468

469-
**Tooltip value format function, f(value, latestData)** is used when you want to manually customize the tooltip.
469+
Tooltip value format function, **f(value, latestData)** is used when you want to manually customize the tooltip.
470+
471+
To make the tooltip clearer, you should use **${entityName}** or **${entityLabel}** in the **Label** field of the data key configuration.
472+
473+
- **${entityName}** – a variable that automatically inserts the system name of the entity in the tooltip. This helps clearly identify the object, especially when its technical name or unique identifier is important.
474+
Example: If a device has the name **Sensor 1**, then in the field where **${entityName}** is used, you will see **Sensor 1**.
475+
476+
{% include images-gallery.html imageCollection="entity-name-tooltip" %}
477+
478+
- **${entityLabel}** – a variable that inserts the entity's label in the tooltip. This is often used as a human-readable label and allows you to display a more descriptive name of the device or entity.
479+
Example: A device has:
480+
- **Name** = **Sensor 1**
481+
- **Label** = **Sensor 1 Label**
482+
483+
In the field where **${entityLabel}** is used, the operator will see the more understandable text: **Sensor 1 Label**.
484+
485+
{% include images-gallery.html imageCollection="entity-label-tooltip" %}
470486

471487
You can customize the values that will be displayed in the tooltip via tooltip settings or
472488
[Advanced Data key configuration](/docs/{{docsPrefix}}user-guide/ui/advanced-data-key-configuration/#tooltip-settings){:target="_blank"}.

_includes/templates/iot-gateway/bacnet-connector/examples/shared-attributes-and-rpc/attribute-updates.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,22 @@ Let’s add an attribute update to our configuration. For this purpose, follow t
1111

1212
{% assign attributeUpdates = '
1313
===
14-
image: /images/gateway/bacnet-connector/examples/select-created-gateway.png,
14+
image: https://img.thingsboard.io/gateway/bacnet-connector/examples/select-created-gateway.png,
1515
title: Go to "**Entities**" → "**Gateways**" in the left sidebar and select your gateway.
1616
===
17-
image: /images/gateway/bacnet-connector/examples/select-connector-configuration.png,
17+
image: https://img.thingsboard.io/gateway/bacnet-connector/examples/select-connector-configuration.png,
1818
title: Click on the "**Connectors configuration**" button on the right side menu.
1919
===
20-
image: /images/gateway/bacnet-connector/examples/select-device-configuration.png,
20+
image: https://img.thingsboard.io/gateway/bacnet-connector/examples/select-device-configuration.png,
2121
title: Select the created BACnet connector and click on the "**Devices**" tab. Make sure you have configured and connected device (if you don’t know how to do it, see [Application settings](/docs/iot-gateway/config/bacnet/#application) and [Data mapping](/docs/iot-gateway/config/bacnet/#data-mapping) sections of this guide). Click on the “**Pencil**” icon on a device you want to configure attribute updates for.
2222
===
23-
image: /images/gateway/bacnet-connector/examples/connector-configuration-attribute-updates-1.png,
23+
image: https://img.thingsboard.io/gateway/bacnet-connector/examples/connector-configuration-attribute-updates-1.png,
2424
title: Scroll down to the “**Attribute updates**” section and click on the “**Pencil**” icon to edit the attribute updates.
2525
===
26-
image: /images/gateway/bacnet-connector/examples/connector-configuration-attribute-updates-2.png,
26+
image: https://img.thingsboard.io/gateway/bacnet-connector/examples/connector-configuration-attribute-updates-2.png,
2727
title: Click on the “**Add attribute update**” button. In our case, we will add `relay` attribute update, so the “**Key**” field, enter `relay`, select the “**Object ID**” as **Analog Input** and "**1**", "**Property ID**" as "**Present Value**".
2828
===
29-
image: /images/gateway/bacnet-connector/examples/connector-configuration-attribute-updates-3.png,
29+
image: https://img.thingsboard.io/gateway/bacnet-connector/examples/connector-configuration-attribute-updates-3.png,
3030
title: Remember to save your changes by clicking the “**Apply**” button and click save connector configuration button.
3131
'
3232
%}
@@ -39,9 +39,9 @@ with type "**Boolean**" set it to "**True**".
3939

4040
{% assign attributeUpdates2 = '
4141
===
42-
image: /images/gateway/bacnet-connector/examples/connector-configuration-attribute-updates-4.png,
42+
image: https://img.thingsboard.io/gateway/bacnet-connector/examples/connector-configuration-attribute-updates-4.png,
4343
===
44-
image: /images/gateway/bacnet-connector/examples/connector-configuration-attribute-updates-5.png,
44+
image: https://img.thingsboard.io/gateway/bacnet-connector/examples/connector-configuration-attribute-updates-5.png,
4545
'
4646
%}
4747

@@ -50,7 +50,7 @@ with type "**Boolean**" set it to "**True**".
5050
Now, let’s check the value of the relay Object ID. In the selected device, go to the "**Last telemetry**" tab and
5151
check the value of the `relay` telemetry. It should be `true` since we set the shared attribute to `true`.
5252

53-
![image](/images/gateway/bacnet-connector/examples/connector-configuration-attribute-updates-6.png)
53+
![image](https://img.thingsboard.io/gateway/bacnet-connector/examples/connector-configuration-attribute-updates-6.png)
5454

5555
Try to change the value of the `relay` shared attribute to `false`. After a few seconds, you should see that the
5656
`relay` telemetry value has changed to `false`, which means that the attribute update worked correctly.

_includes/templates/iot-gateway/bacnet-connector/examples/shared-attributes-and-rpc/reserved-rpc.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Response:
2929
{"result": {"value": "inactive"}}
3030
```
3131

32-
![image](/images/gateway/bacnet-connector/examples/reserved-rpc-result-1.png)
32+
![image](https://img.thingsboard.io/gateway/bacnet-connector/examples/reserved-rpc-result-1.png)
3333

3434
So, the `GET` method returns the current value of the relay, and we can see that the relay is off.
3535

@@ -52,7 +52,7 @@ Response:
5252

5353
And as you can see, from the screenshot below, the relay telemetry value has changed to `1`:
5454

55-
![image](/images/gateway/bacnet-connector/examples/reserved-rpc-result-2.png)
55+
![image](https://img.thingsboard.io/gateway/bacnet-connector/examples/reserved-rpc-result-2.png)
5656

5757
Also, let’s check the value of the relay telemetry again:
5858

@@ -66,7 +66,7 @@ Response:
6666
{"result": {"value": "active"}}
6767
```
6868

69-
![image](/images/gateway/bacnet-connector/examples/reserved-rpc-result-3.png)
69+
![image](https://img.thingsboard.io/gateway/bacnet-connector/examples/reserved-rpc-result-3.png)
7070

7171
Full configuration for BACnet connector for the examples above will look like this
7272
(**make sure to use the right device host and port**):

_includes/templates/iot-gateway/bacnet-connector/examples/shared-attributes-and-rpc/rpc-to-device.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,22 @@ we need to configure the BACnet connector to support RPC calls. For this purpose
77

88
{% assign rpcToDevice = '
99
===
10-
image: /images/gateway/bacnet-connector/examples/select-created-gateway.png,
10+
image: https://img.thingsboard.io/gateway/bacnet-connector/examples/select-created-gateway.png,
1111
title: Go to "**Entities**" → "**Gateways**" in the left sidebar and select your gateway.
1212
===
13-
image: /images/gateway/bacnet-connector/examples/select-connector-configuration.png,
13+
image: https://img.thingsboard.io/gateway/bacnet-connector/examples/select-connector-configuration.png,
1414
title: Click on the "**Connectors configuration**" button on the right side menu.
1515
===
16-
image: /images/gateway/bacnet-connector/examples/select-device-configuration.png,
16+
image: https://img.thingsboard.io/gateway/bacnet-connector/examples/select-device-configuration.png,
1717
title: Select the created BACnet connector and click on the "**Devices**" tab. Make sure you have configured and connected device (if you don’t know how to do it, see [Application settings](/docs/iot-gateway/config/bacnet/#application) and [Data mapping](/docs/iot-gateway/config/bacnet/#data-mapping) sections of this guide). Click on the “**Pencil**” icon on a device you want to configure attribute updates for.
1818
===
19-
image: /images/gateway/bacnet-connector/examples/rpc-to-device-1.png,
19+
image: https://img.thingsboard.io/gateway/bacnet-connector/examples/rpc-to-device-1.png,
2020
title: Scroll down to the "**RPC methods**" section and click on the "**Pencil**" icon to edit the RPC methods.
2121
===
22-
image: /images/gateway/bacnet-connector/examples/rpc-to-device-2.png,
22+
image: https://img.thingsboard.io/gateway/bacnet-connector/examples/rpc-to-device-2.png,
2323
title: Click on the "**Add method**" button. Fill in the "**Method**" field with `getTemperature`, select the "**Request Type**" as "**Read Property**", "**Object ID**" as "**Analog Value**" and "**1**", and "**Property ID**" as "**Present Value**".
2424
===
25-
image: /images/gateway/bacnet-connector/examples/rpc-to-device-3.png,
25+
image: https://img.thingsboard.io/gateway/bacnet-connector/examples/rpc-to-device-3.png,
2626
title: Remember to save your changes by clicking the "**Apply**" button and click save connector configuration button.
2727
'
2828
%}
@@ -38,7 +38,7 @@ getTemperature
3838

3939
Response:
4040

41-
![image](/images/gateway/bacnet-connector/examples/rpc-to-device-4.png)
41+
![image](https://img.thingsboard.io/gateway/bacnet-connector/examples/rpc-to-device-4.png)
4242

4343
{% capture difference %}
4444
The RPC Debug Terminal is used only for example purpose, so you can use any other widget that supports RPC calls.

_includes/templates/iot-gateway/bacnet-connector/examples/time-series-and-attributes/discovering-all-device.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,4 +92,4 @@ messages from all devices. After receiving the IAm message, the connector will a
9292
device found with the specified templates and start reading data from the objects. The screenshot below shows what the
9393
device list looks like after automatic discovery:
9494

95-
![image](/images/gateway/bacnet-connector/examples/discovered-devices-overview.png)
95+
![image](https://img.thingsboard.io/gateway/bacnet-connector/examples/discovered-devices-overview.png)

_includes/templates/iot-gateway/bacnet-connector/examples/time-series-and-attributes/reading-all-device-objects.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,4 @@ be read.
5050
After saving the changes and starting the connector, you can see that the corresponding device has been added to the
5151
platform, and its telemetry has started to fill with all the device objects:
5252

53-
![image](/images/gateway/bacnet-connector/examples/device-objects-overview.png)
53+
![image](https://img.thingsboard.io/gateway/bacnet-connector/examples/device-objects-overview.png)

0 commit comments

Comments
 (0)