Skip to content

Commit 9485dde

Browse files
committed
Merge with master
2 parents 10f9209 + 851742c commit 9485dde

11 files changed

Lines changed: 147 additions & 118 deletions

File tree

_includes/docs/paas/subscription.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -687,17 +687,16 @@ See product [homepage](/products/trendz/){:target="_blank"} for more details.
687687

688688
## How to cancel my subscription?
689689

690-
To terminate your ThingsBoard Cloud subscription, follow these steps:
690+
To cancel your ThingsBoars {{cloudPrefix}} Cloud subscription, follow these steps:
691691

692-
- Log in to ThingsBoard Cloud as Tenant Administrator;
693-
- Navigate to the "**Plan and billing**" page in the main navigation menu;
694-
- Locate the **Management** section, which contains your subscription details and options to control it;
695-
- Click the "**Cancel subscription**" button and follow the instructions to cancel your subscription;
696-
- Confirm the action by clicking the "**Cancel subscription**" button in the confirmation window.
692+
- Navigate to **Plan and billing**.
693+
- Click **Cancel subscription**.
694+
- Follow the on-screen instructions.
695+
- Confirm the cancellation by clicking **Cancel subscription** in the confirmation dialog.
697696

698-
{% capture difference %}
697+
{% capture update-only-keys-cluster-mode %}
699698
**Note:**
700699
<br>
701700
This action cannot be undone. This will **permanently delete** your tenant account, all devices, assets, dashboards, rule-chains, users and other entities, all telemetry data and alarms.
702701
{% endcapture %}
703-
{% include templates/info-banner.md content=difference %}
702+
{% include templates/warn-banner.md content=update-only-keys-cluster-mode %}

_includes/docs/user-guide/calculated-fields/related-entities-aggregation-calculated-field.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Define the relationship type between the target entity and the related entities
3838

3939
{% assign relatedPathToRelatedEntities = '
4040
===
41-
image: https://img.thingsboard.io/user-guide/calculated-fields/related-entities/related-entities-aggregation-path-to-related-entities-1-ce.png
41+
image: /images/user-guide/calculated-fields/related-entities/related-entities-aggregation-path-to-related-entities-1-ce.png
4242
title: Define the path to the entities from which the data will be read for aggregation, as well as the relationship type between the target entity and the related entities.
4343
'
4444
%}
@@ -61,7 +61,7 @@ For more details about arguments and configuration, see the [Arguments](/docs/us
6161

6262
{% assign relatedArgument = '
6363
===
64-
image: https://img.thingsboard.io/user-guide/calculated-fields/related-entities/related-entities-aggregation-argument-1-ce.png
64+
image: /images/user-guide/calculated-fields/related-entities/related-entities-aggregation-argument-1-ce.png
6565
title: Click **Add argument** (1) and fill in the required fields:<br>select the **Argument type** (2), specify the **Time series key / Attribute key** (3) to read data from, enter the **Argument name** (4) that will be used in the metrics, and set the **Default value** (5).<br>Then click **Add** (6).”
6666
'
6767
%}
@@ -93,7 +93,7 @@ return temperature > 10 && status == "active";
9393

9494
{% assign relatedMetrics = '
9595
===
96-
image: https://img.thingsboard.io/user-guide/calculated-fields/related-entities/related-entities-aggregation-metrics-1-ce.png
96+
image: /images/user-guide/calculated-fields/related-entities/related-entities-aggregation-metrics-1-ce.png
9797
title: Click **Add metric** (1) and configure the following:<br>specify the **metric name** (2), select the **aggregation type** (3), optionally enable a **filter** (4), choose the **value source** (Key or Function) (5), and enter the **argument name** (6) that will be used as the data source.<br>Then click **Add** (7).
9898
'
9999
%}
@@ -109,13 +109,13 @@ How it works:
109109
- additional updates arriving within the interval do not trigger aggregation again
110110
- after the interval ends, aggregation run again using the latest available data
111111

112-
> Minimum time between telemetry aggregations: 60 seconds.
112+
> Minimum time between telemetry aggregations: 10 seconds.
113113
114114
This prevents excessive reprocessing and reduces system load in high-frequency environments.
115115

116116
{% assign relatedDeduplicationInterval = '
117117
===
118-
image: https://img.thingsboard.io/user-guide/calculated-fields/related-entities/related-entities-aggregation-metrics-2-ce.png
118+
image: /images/user-guide/calculated-fields/related-entities/related-entities-aggregation-metrics-2-ce.png
119119
title: **Deduplication interval** is the minimum time period between repeated aggregations. It limits how often a calculated field can re-aggregate data from related entities in response to frequent updates.
120120
'
121121
%}
@@ -175,13 +175,13 @@ Import multiple smart devices that publish <span class="code-light">temperature<
175175
176176
{% assign exampleRelatedEntities1 = '
177177
===
178-
image: https://img.thingsboard.io/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-1-ce.png
178+
image: /images/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-1-ce.png
179179
title: Go to the **Devices** and **import** device configurations from a CSV file.
180180
===
181-
image: https://img.thingsboard.io/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-2-ce.png
181+
image: /images/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-2-ce.png
182182
title: Name: Smart Device 1<br>Type: sensor<br>Time series: temperature
183183
===
184-
image: https://img.thingsboard.io/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-3-ce.png
184+
image: /images/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-3-ce.png
185185
title: Imported smart devices that publish **temperature** telemetry.
186186
'
187187
%}
@@ -200,7 +200,7 @@ Import the asset that represents the building.
200200

201201
{% assign exampleRelatedEntities2 = '
202202
===
203-
image: https://img.thingsboard.io/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-4-ce.png
203+
image: /images/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-4-ce.png
204204
title: Import the demonstration asset Building A.
205205
'
206206
%}
@@ -217,7 +217,7 @@ These relations define the set of related entities whose telemetry will be aggre
217217

218218
{% assign examplePropagation33 = '
219219
===
220-
image: https://img.thingsboard.io/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-5-ce.png
220+
image: /images/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-5-ce.png
221221
title: Create relationships between Building A and all smart sensors: Relationship direction: From (Devices &#8702; Building A); Relationship type: Manages
222222

223223
'
@@ -238,23 +238,23 @@ The field will:
238238

239239
{% assign examplePropagation34 = '
240240
===
241-
https://img.thingsboard.io/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-6-ce.png
241+
/images/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-6-ce.png
242242
title: Go to the **Calculated fields** tab and import the calculated field configuration.
243243
===
244-
https://img.thingsboard.io/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-7-ce.png
244+
/images/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-7-ce.png
245245
title: Apply the calculated field to the **building** asset profile.<br>Propagation path to related entities: **Relation direction**: Down to child; **Relation type**: Manages.
246246
===
247-
https://img.thingsboard.io/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-8-ce.png
247+
/images/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-8-ce.png
248248
title: Argument settings:<br>- **Argument type:** Latest telemetry<br>- **Time series key:** temperature<br>- **Argument name:** temperature<br>- **Default value:** 0.
249249
===
250-
https://img.thingsboard.io/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-9-ce.png
250+
/images/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-9-ce.png
251251
title: First metric settings:<br>- **Metric name:** avgTemperature<br>- **Aggregation:** Average<br>- **Value source:** key<br>- **Argument name:** temperature.
252252
===
253-
https://img.thingsboard.io/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-10-ce.png
253+
/images/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-10-ce.png
254254
title: Second metric settings:<br>- **Metric name:** maxTemperature<br>- **Aggregation:** Maximum<br>- **Value source:** key<br>- **Argument name:** temperature.
255255
===
256-
https://img.thingsboard.io/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-11-ce.png
257-
title: Deduplication interval: 60 seconds.<br>The output value will be stored as a telemetry. Click **Add** to save the calculation field.
256+
/images/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-11-ce.png
257+
title: Deduplication interval: 10 seconds.<br>The output value will be stored as a telemetry. Click **Add** to save the calculation field.
258258
'
259259
%}
260260

@@ -275,7 +275,7 @@ Example:
275275

276276
{% assign examplePropagation33 = '
277277
===
278-
https://img.thingsboard.io/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-12-ce.png
278+
/images/user-guide/calculated-fields/related-entities/related-entities-cf-example-1-12-ce.png
279279
title: The Building A asset stores the aggregated telemetry values, such as:<br>- **avgTemperature** — average temperature across all sensors<br>- **maxTemperature** — maximum temperature measured by one of the sensors
280280
'
281281
%}

_includes/docs/user-guide/calculated-fields/time-series-data-aggregation-calculated-field.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Click **Add argument** and fill in the required fields:
3535

3636
{% assign timeSeriesAggrArgument = '
3737
===
38-
image: https://img.thingsboard.io/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggregation-argument-1-ce.png
38+
image: /images/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggregation-argument-1-ce.png
3939
title: Click **Add argument** (1) and fill in the required fields:<br>- **Time series key** (2) — the telemetry key whose data will be aggregated (for example, temperature, power, voltage)<br>- **Argument name** (3) — the variable name referenced by metrics.<br>Then click **Add** (4).
4040
'
4141
%}
@@ -50,16 +50,16 @@ Each metric produces **one output telemetry key (Metric name)** by applying one
5050

5151
Click the **Add metric** button and fill in the required fields:
5252
- **Metric name**: output telemetry key name (e.g., tempAvg, tempMax)
53-
- **Aggregation**: Average / Min / Max / Sum / Count / Count unique
53+
- **Aggregation**: Average / Min / Max / Sum / Count
5454
- **Argument name**: the argument whose value is being aggregated.
5555
- **Default value**: used if the interval contains no data
5656

5757
> You can create multiple metrics from the same argument (e.g., <span class="code-light">tempAvg</span>, <span class="code-light">tempMin</span>, <span class="code-light">tempMax</span>).
5858
5959
{% assign timeSeriesAggrMetric = '
6060
===
61-
image: https://img.thingsboard.io/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggregation-metric-1-ce.png
62-
title: Click the **Add metric** button (1) and fill in the required fields:<br>- **Metric name** (2): output telemetry key name (e.g., tempAvg, tempMax)<br>- **Aggregation** (3): Average / Min / Max / Sum / Count / Count unique<br>- **Argument name** (4): the argument whose value is being aggregated.<br>- **Default value** (5): used if the interval contains no data<br>Then click **Add** (6).
61+
image: /images/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggregation-metric-1-ce.png
62+
title: Click the **Add metric** button (1) and fill in the required fields:<br>- **Metric name** (2): output telemetry key name (e.g., tempAvg, tempMax)<br>- **Aggregation** (3): Average / Min / Max / Sum / Count<br>- **Argument name** (4): the argument whose value is being aggregated.<br>- **Default value** (5): used if the interval contains no data<br>Then click **Add** (6).
6363
'
6464
%}
6565

@@ -76,7 +76,7 @@ Example: **every 1 hour** produces results at 00:00, 01:00, 02:00, etc.
7676

7777
{% assign timeSeriesDataAggregationInterval = '
7878
===
79-
image: https://img.thingsboard.io/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggregation-interval-1-ce.png
79+
image: /images/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggregation-interval-1-ce.png
8080
title: Defines how often aggregation runs and how time boundaries are aligned.
8181
'
8282
%}
@@ -93,7 +93,7 @@ Useful when telemetry arrives slightly after boundaries or when aligning with ex
9393

9494
{% assign advancedIntervalOption1 = '
9595
===
96-
image: https://img.thingsboard.io/user-guide/calculated-fields/time-series-data-aggregation/time-series-agr-advanced-interval-1-ce.png
96+
image: /images/user-guide/calculated-fields/time-series-data-aggregation/time-series-agr-advanced-interval-1-ce.png
9797
title: Shifts the start of each interval by a fixed offset (e.g., +10 minutes → 00:10, 01:10…).
9898
'
9999
%}
@@ -106,7 +106,7 @@ If late telemetry belongs to that interval, the system recalculates the result t
106106

107107
{% assign advancedIntervalOption2 = '
108108
===
109-
image: https://img.thingsboard.io/user-guide/calculated-fields/time-series-data-aggregation/time-series-agr-advanced-interval-2-ce.png
109+
image: /images/user-guide/calculated-fields/time-series-data-aggregation/time-series-agr-advanced-interval-2-ce.png
110110
title: Defines how long the system waits for late telemetry after an interval ends.
111111
'
112112
%}
@@ -120,7 +120,7 @@ Calculates aggregates during the current (not yet finished) interval and stores
120120

121121
{% assign advancedIntervalOption3 = '
122122
===
123-
image: https://img.thingsboard.io/user-guide/calculated-fields/time-series-data-aggregation/time-series-agr-advanced-interval-3-ce.png
123+
image: /images/user-guide/calculated-fields/time-series-data-aggregation/time-series-agr-advanced-interval-3-ce.png
124124
title: Calculates aggregates during the current (not yet finished) interval and stores intermediate values.
125125
'
126126
%}
@@ -174,13 +174,13 @@ Import a device that publishes <span class="code-light">power</span> and <span c
174174
175175
{% assign exampleTimeSeriesDataAggregation1 = '
176176
===
177-
image: https://img.thingsboard.io/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-1-ce.png
177+
image: /images/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-1-ce.png
178178
title: Go to the **Devices** and **import** device configurations from a CSV file.
179179
===
180-
image: https://img.thingsboard.io/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-2-ce.png
180+
image: /images/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-2-ce.png
181181
title: Name: Energy Meter 1<br>Type: energy-meter<br>Time series: power, energy
182182
===
183-
image: https://img.thingsboard.io/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-3-ce.png
183+
image: /images/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-3-ce.png
184184
title: The imported device that publishes **power** and **energy** telemetry.
185185
'
186186
%}
@@ -211,28 +211,28 @@ Ensure the calculated field is configured as:
211211

212212
{% assign exampleTimeSeriesDataAggregation4 = '
213213
===
214-
https://img.thingsboard.io/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-4-ce.png
214+
/images/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-4-ce.png
215215
title: Go to the **Calculated fields** tab and import the calculated field configuration.
216216
===
217-
https://img.thingsboard.io/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-5-ce.png
217+
/images/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-5-ce.png
218218
title: Apply the calculated field to the **energy-meter** device profile.
219219
===
220-
https://img.thingsboard.io/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-6-ce.png
220+
/images/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-6-ce.png
221221
title: First argument settings:<br>- **Time series key:** energy<br>- **Argument name:** energy.
222222
===
223-
https://img.thingsboard.io/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-7-ce.png
223+
/images/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-7-ce.png
224224
title: Second argument settings:<br>- **Time series key:** power<br>- **Argument name:** power.
225225
===
226-
https://img.thingsboard.io/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-8-ce.png
226+
/images/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-8-ce.png
227227
title: First metric settings:<br>- **Metric name:** energyHourlySum<br>- **Aggregation:** Sum<br>- **Argument name:** energy.
228228
===
229-
https://img.thingsboard.io/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-9-ce.png
229+
/images/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-9-ce.png
230230
title: Second metric settings:<br>- **Metric name:** powerHourlyAvg<br>- **Aggregation:** Average<br>- **Argument name:** power.
231231
===
232-
https://img.thingsboard.io/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-10-ce.png
232+
/images/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-10-ce.png
233233
title: Third metric settings:<br>- **Metric name:** powerHourlyMax<br>- **Aggregation:** Maximum<br>- **Argument name:** power.
234234
===
235-
https://img.thingsboard.io/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-11-ce.png
235+
/images/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-11-ce.png
236236
title: Aggregation interval: Hour; Time zone: use your reporting time zone.<br>The computed values are stored as telemetry (time series) keys.<br>Click **Add** to save the calculation field.
237237
'
238238
%}
@@ -259,7 +259,7 @@ Example output for one interval:
259259

260260
{% assign examplePropagation33 = '
261261
===
262-
https://img.thingsboard.io/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-12-ce.png
262+
/images/user-guide/calculated-fields/time-series-data-aggregation/time-series-data-aggr-cf-example-1-12-ce.png
263263
title: On the **Energy Meter 1** device, the aggregated values are stored as telemetry (time series) keys:<br>- **powerHourlyAvg** — hourly average power usage<br>- **powerHourlyMax** — hourly peak power usage<br>- **energyHourlySum** — hourly energy consumption
264264
'
265265
%}

_includes/pricing/calculator.sass

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -809,6 +809,9 @@ $bg-white: #fff
809809
display: flex
810810
align-items: center
811811
gap: 6px
812+
.strikethrough-text
813+
text-decoration: line-through
814+
color: #9E9E9E
812815
.tooltip
813816
position: relative
814817
&:hover

_includes/pricing/tbmq-payg-calculator.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,7 @@ <h3>Calculation summary</h3>
394394
<div class="results-total">
395395
<span>Total</span>
396396
<span class="total-value">
397-
${formatCurrency(totalPrice)}/month
397+
${formatCurrency(totalPrice)} ${isInitialState ? `<span class="strikethrough-text">${formatCurrency(plan.basePrice)}</span>` : ''}/month
398398
<span class="tooltip">${infoIcon}<span class="tooltip-text">${tooltipText}</span></span>
399399
</span>
400400
</div>

0 commit comments

Comments
 (0)