diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/telemetry/TbMsgAttributesNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/telemetry/TbMsgAttributesNode.java
index 909fca51d4..c04f5b474d 100644
--- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/telemetry/TbMsgAttributesNode.java
+++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/telemetry/TbMsgAttributesNode.java
@@ -67,10 +67,11 @@ import static org.thingsboard.server.common.data.msg.TbMsgType.POST_ATTRIBUTES_R
Saves attribute data with a configurable scope and according to configured processing strategies.
""",
nodeDetails = """
- Node performs two actions:
+ Node performs three actions:
- Attributes: save attribute data to a database.
- WebSockets: notify WebSockets subscriptions about attribute data updates.
+ - Calculated fields: notify calculated fields about attribute data updates.
For each action, three processing strategies are available:
@@ -86,12 +87,15 @@ import static org.thingsboard.server.common.data.msg.TbMsgType.POST_ATTRIBUTES_R
- On every message: applies the "On every message" strategy to all actions.
- Deduplicate: applies the "Deduplicate" strategy (with a specified interval) to all actions.
- - WebSockets only: applies the "Skip" strategy to Attributes, and the "On every message" strategy to WebSockets.
+ - WebSockets only: for all actions except WebSocket notifications, the "Skip" strategy is applied, while WebSocket notifications use the "On every message" strategy.
Advanced: configure each action’s strategy independently.
+ The node supports three attribute scopes: Client attributes, Shared attributes, and Server attributes.
+ You can set the default scope in the node configuration, or override it by specifying a valid scope property in the message metadata.
+
Additionally:
- If Save attributes only if the value changes is enabled, the rule node compares the received attribute value with the current stored value and skips the save operation if they match.
diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/telemetry/TbMsgTimeseriesNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/telemetry/TbMsgTimeseriesNode.java
index 31cfd5c898..8017be9a04 100644
--- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/telemetry/TbMsgTimeseriesNode.java
+++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/telemetry/TbMsgTimeseriesNode.java
@@ -61,7 +61,7 @@ import static org.thingsboard.server.common.data.msg.TbMsgType.POST_TELEMETRY_RE
Saves time series data with a configurable TTL and according to configured processing strategies.
""",
nodeDetails = """
- Node performs three actions:
+ Node performs four actions:
- Time series: save time series data to a
ts_kv table in a DB.
- Latest values: save time series data to a
ts_kv_latest table in a DB.
@@ -82,7 +82,7 @@ import static org.thingsboard.server.common.data.msg.TbMsgType.POST_TELEMETRY_RE
- On every message: applies the "On every message" strategy to all actions.
- Deduplicate: applies the "Deduplicate" strategy (with a specified interval) to all actions.
- - WebSockets only: applies the "Skip" strategy to Time series and Latest values, and the "On every message" strategy to WebSockets.
+ - WebSockets only: for all actions except WebSocket notifications, the "Skip" strategy is applied, while WebSocket notifications use the "On every message" strategy.
- Advanced: configure each action’s strategy independently.