+Configure computation of system-level metrics / KPIs that would describe overall system behavior.
diff --git a/docs/trendz/ai-assistance-prompts.md b/docs/trendz/ai-assistance-prompts.md
index b0cd8c7016..907584b8b8 100644
--- a/docs/trendz/ai-assistance-prompts.md
+++ b/docs/trendz/ai-assistance-prompts.md
@@ -22,15 +22,12 @@ trendz-prompts-create-new-prompt:
title: 1. Write the prompt content.
2:
image: /images/trendz/ai/prompts/create-new-prompt-3.png
- title: 2. Confirm everything looks as expected.
+ title: 2. Enter a prompt name.
3:
image: /images/trendz/ai/prompts/create-new-prompt-4.png
- title: 3. Enter a prompt name.
+ title: 3. Save the prompt.
4:
image: /images/trendz/ai/prompts/create-new-prompt-5.png
- title: 4. Save the prompt.
- 5:
- image: /images/trendz/ai/prompts/create-new-prompt-6.png
title: A new prompt has been created.
trendz-prompts-check-selected-prompt:
@@ -53,10 +50,7 @@ trendz-prompts-edit-selected-prompt:
title: 2. Update the prompt content;
3:
image: /images/trendz/ai/prompts/edit-selected-prompt-4.png
- title: 3. Confirm everything looks as expected;
- 4:
- image: /images/trendz/ai/prompts/edit-selected-prompt-5.png
- title: 4. Save the prompt.
+ title: 3. Save the prompt.
trendz-prompts-delete-selected-prompt:
0:
@@ -88,14 +82,6 @@ trendz-prompts-markdown-preview:
image: /images/trendz/ai/prompts/markdown-preview-2.png
title: To exit preview mode, you can click the "Hide Preview" button.
-trendz-prompts-markdown-fullscreen:
- 0:
- image: /images/trendz/ai/prompts/markdown-fullscreen-1.png
- title: You can enter fullscreen mode in the Markdown tab by clicking the "Fullscreen" button in the upper right corner of the tab.
- 1:
- image: /images/trendz/ai/prompts/markdown-fullscreen-2.png
- title: To exit fullscreen mode, you can click the same button again.
-
trendz-prompts-markdown-blocks:
0:
image: /images/trendz/ai/prompts/markdown-blocks.png
@@ -112,15 +98,24 @@ trendz-prompts-markdown-rename:
image: /images/trendz/ai/prompts/markdown-rename-3.png
text: Click any free space to confirm the changes.
-trendz-prompts-markdown-confirm:
- 0:
- image: /images/trendz/ai/prompts/markdown-confirm.png
- text: During the creation or editing process, you can confirm or decline the prompt changes.
-
trendz-prompts-markdown-save:
0:
image: /images/trendz/ai/prompts/markdown-save.png
text: After editing the prompt, you can either save or cancel the changes.
+
+trendz-prompts-test:
+ 0:
+ image: /images/trendz/ai/prompts/test-selected-prompt-1.png
+ text: Click the *Run test* button in the upper-right corner of the prompt editor.
+ 1:
+ image: /images/trendz/ai/prompts/test-selected-prompt-2.png
+ text: A test panel will open on the right side with a Select View dropdown. Choose one of your saved views from the dropdown menu.
+ 2:
+ image: /images/trendz/ai/prompts/test-selected-prompt-3.png
+ text: Click the *Test prompt* button to generate the summary.
+ 3:
+ image: /images/trendz/ai/prompts/test-selected-prompt-4.png
+ text: See the result.
---
* TOC
@@ -160,12 +155,23 @@ To access the Prompts tab, you can follow these steps:
Then, you can follow these steps:
1. Write the prompt content;
- 2. Confirm everything looks as expected;
- 3. Enter a prompt name;
- 4. Save the prompt.
+ 2. Enter a prompt name;
+ 3. Save the prompt.
{% include images-gallery.html imageCollection="trendz-prompts-create-new-prompt" %}
+ * **Test prompt**
+
+ The Test feature allows you to preview how your prompt will analyze and summarize actual data from your saved views. This is especially useful when creating or refining custom prompts,
+ as it lets you see the AI-generated output in real-time before applying the prompt to production dashboards.
+
+ To test your prompt, follow the next steps:
+ 1. Click the *Run test* button in the upper-right corner of the prompt editor;
+ 2. A test panel will open on the right side with a Select View dropdown. Choose one of your saved views from the dropdown menu.
+ 3. Click the *Test prompt* button to generate the summary.
+
+ {% include images-gallery.html imageCollection="trendz-prompts-test" %}
+
* **Check selected prompt and Copy prompt ID**
You can click on any prompt in the table to view its content. This will take you to the Markdown tab
@@ -184,8 +190,7 @@ To access the Prompts tab, you can follow these steps:
1. Press the *Edit* button;
2. Update the prompt content;
- 3. Confirm everything looks as expected;
- 4. Save the prompt.
+ 3. Save the prompt.
{% include images-gallery.html imageCollection="trendz-prompts-edit-selected-prompt" %}
@@ -221,14 +226,6 @@ To access the Prompts tab, you can follow these steps:
{% include images-gallery.html imageCollection="trendz-prompts-markdown-preview" %}
-* **Fullscreen Button**
-
- You can enter fullscreen mode in the Markdown tab by clicking the *Fullscreen* button in the upper right corner of the tab.
-
- To exit fullscreen mode, you can click the same button again.
-
- {% include images-gallery.html imageCollection="trendz-prompts-markdown-fullscreen" %}
-
* **Markdown Blocks**
The Markdown tab supports various markdown blocks. In the upper left corner of the screen, you can find shortcuts for the following blocks:
@@ -255,17 +252,6 @@ To access the Prompts tab, you can follow these steps:
{% include images-gallery.html imageCollection="trendz-prompts-markdown-rename" %}
-* **Confirm/Decline**
-
- During the creation or editing process, you can confirm or decline the prompt changes.
-
- - If you confirm, all prompt changes will be applied.
- - If you decline, all prompt changes will be discarded.
-
- **Note:** The prompt changes will not be applied until you click the "Save" button.
-
- {% include images-gallery.html imageCollection="trendz-prompts-markdown-confirm" %}
-
* **Save/Cancel**
After editing the prompt, you can either save or cancel the changes.
diff --git a/docs/trendz/ai-widget-summary.md b/docs/trendz/ai-widget-summary.md
index ae465c2e29..d95f11000a 100644
--- a/docs/trendz/ai-widget-summary.md
+++ b/docs/trendz/ai-widget-summary.md
@@ -6,66 +6,87 @@ description: Step-by-step guide to set up AI Widget Summary.
trendz-js-summary-module-install:
0:
image: /images/trendz/ai/widget-ai-summary/install-trendz-js-module-1.png
- title: Open the Settings page in the Trendz App and click the Upload Module button.
+ title: "Open the Settings page in the Trendz App and click the Upload Module button."
1:
image: /images/trendz/ai/widget-ai-summary/install-trendz-js-module-2.png
- title: Confirm that the module has been uploaded successfully and appears in the list.
-
-trendz-summary-custom-action:
+ title: "Confirm that the module has been uploaded successfully and appears in the list."
+
+thingsboard-ai-widget-summary:
0:
- image: /images/trendz/ai/widget-ai-summary/trendz-summary-action-1.png
- title: Open the dashboard containing the widget you want to enhance and switch to Edit mode.
+ image: /images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-1.png
+ title: "Open the dashboard containing your widget. Switch to Edit mode."
1:
- image: /images/trendz/ai/widget-ai-summary/trendz-summary-action-2.png
- title: Open the widget settings.
+ image: /images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-2.png
+ title: "Click Edit Widget on widget you want to add custom AI summary action."
2:
- image: /images/trendz/ai/widget-ai-summary/trendz-summary-action-3.png
- title: Navigate to the Actions tab and add new action.
+ image: /images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-3.png
+ title: "Go to the Actions tab and click Add action."
3:
- image: /images/trendz/ai/widget-ai-summary/trendz-summary-action-4.png
- title: Select Custom action as action type.
+ image: /images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-4.png
+ title: "Configure: Action source, Name, Button icon and Action."
+
+thingsboard-ai-widget-summary-v3.9:
+ 0:
+ image: /images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.9-1.png
+ title: "Click Modules than click Add module. Set Alias as trendz and JS module resource as Trendz AI Summary Module. Than click Apply."
+ 1:
+ image: /images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.9-2.png
+ title: "In the custom action code field, add trendz.getAnalytics(widgetContext, true);, than click Add."
+ 2:
+ image: /images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-1.png
+ title: "Click Apply."
+ 3:
+ image: /images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-2.png
+ title: "Click Save."
4:
- image: /images/trendz/ai/widget-ai-summary/trendz-summary-action-5.png
- title: If you're on **v3.9+**, select the uploaded **Trendz Summary Module**..
- 5:
- image: /images/trendz/ai/widget-ai-summary/trendz-summary-action-6.png
- title: If you're on **v3.6–v3.8**, paste the custom JavaScript code manually.
- 6:
- image: /images/trendz/ai/widget-ai-summary/trendz-summary-action-7.png
- title: Inside the action, call the `getAnalytics()` method.
- 7:
- image: /images/trendz/ai/widget-ai-summary/trendz-summary-action-8.png
- title: After configuring the action, a header button will appear on your widget. When you click this button, a dialog window will open, showing a summary generated based on your widget's data and the Trendz prompt.
+ image: /images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-3.png
+ title: "Verify that a new button appears in your widget header."
+
+
+thingsboard-ai-widget-summary-v3.6:
+ 0:
+ image: /images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.6.png
+ title: "Manually copy the full JavaScript code from `custom-action-ai-summary.js` into your custom action field. At the end of the custom action code field, add trendz.getAnalytics(widgetContext, true);. Than click Add."
+ 1:
+ image: /images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-1.png
+ title: "Click Apply."
+ 2:
+ image: /images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-2.png
+ title: "Click Save."
+ 3:
+ image: /images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-3.png
+ title: "Verify that a new button appears in your widget header."
+
trendz-ai-summary-trendz-widget-example:
0:
image: /images/trendz/ai/widget-ai-summary/trendz-widget-example-1.png
- title: 1. Press the "AI summary" button in the upper corner of the widget.
+ title: "1. Press the 'AI summary' button in the upper corner of the widget."
1:
image: /images/trendz/ai/widget-ai-summary/trendz-widget-example-2.png
- title: 2. See view the AI summary at the top of the Trendz widget.
+ title: "2. See view the AI summary at the top of the Trendz widget."
trendz-ai-summary-trendz-enable-button:
0:
image: /images/trendz/ai/widget-ai-summary/trendz-setting-common.png
- title: Open the desired view. Go to "View Settings".
+ title: "Open the desired view. Go to 'View Settings'."
1:
image: /images/trendz/ai/widget-ai-summary/trendz-enable-button-1.png
- title: Go to the "View Mode Fields" section. Choose the preferred mode to show or hide the AI Summary button.
+ title: "Go to the 'View Mode Fields' section. Choose the preferred mode to show or hide the AI Summary button."
2:
image: /images/trendz/ai/widget-ai-summary/trendz-enable-button-2.png
- title: Save the changes.
+ title: "Save the changes."
trendz-ai-summary-trendz-set-up-prompt:
0:
image: /images/trendz/ai/widget-ai-summary/trendz-setting-common.png
- title: Open the desired view. Go to "View Settings".
+ title: "Open the desired view. Go to 'View Settings'."
1:
image: /images/trendz/ai/widget-ai-summary/trendz-set-up-prompt-1.png
- title: Go to the "AI Assistant" section. Choose the preferred prompt from the dropdown menu.
+ title: "Go to the 'AI Assistant' section. Choose the preferred prompt from the dropdown menu."
2:
image: /images/trendz/ai/widget-ai-summary/trendz-set-up-prompt-2.png
- title: Save the changes.
+ title: "Save the changes."
---
* TOC
@@ -77,64 +98,127 @@ The returned output appears in the widget, giving operators a quick status diges
Several ways are available for integrating AI summaries with different types of widgets.
-## ThingsBoard Widgets
-You can easily integrate custom prompts from Trendz to generate a summary of the data displayed in your ThingsBoard widgets.
-This feature is available starting from **ThingsBoard PE v3.6 and higher**.
-### Trendz Summary JS Module
-Depending on your ThingsBoard version, the setup process is slightly different:
+## ThingsBoard Widgets Integration with Trendz AI
+
+You can easily integrate **Trendz AI prompts** into your ThingsBoard widgets to generate data summaries directly within the widget header.
+
+> **Available since:** ThingsBoard PE v3.6+
+
+### Trendz Summary JavaScript Module
+
+To enable Trendz AI features in ThingsBoard widget headers, connect the **Trendz AI Summary Module**. The setup process varies slightly depending on your ThingsBoard version.
#### ThingsBoard v3.9 and Higher
-Since v3.9, ThingsBoard supports using JS Modules directly in widget actions, making summary configuration straightforward.
-To set up the Trendz Summary Module:
-* Open the Settings page in the Trendz App.
-* Click the Upload Module button.
-* Confirm that the module has been uploaded successfully and appears in the list.
+
+Starting from v3.9, ThingsBoard supports JS Modules directly in widget actions, simplifying the configuration.
+
+**Steps:**
+
+1. Open the **Settings** page in the Trendz app.
+2. Click **Upload Module**.
+3. Confirm the module appears in the list after upload.
{% include images-gallery.html imageCollection="trendz-js-summary-module-install" %}
-Once the module is uploaded, you can easily reference it in the Actions section of your ThingsBoard widget.
+Once uploaded, you can reference the module in your widget’s **Actions** configuration.
#### ThingsBoard v3.6–v3.8
-In earlier ThingsBoard versions (v3.6–v3.8), JS Modules cannot be used directly in widget actions. Instead, you will need to manually copy and paste a provided JavaScript module into your custom action.
-To download the custom Trendz Summary JavaScript module, use the following link (replace `` with the URL of your own Trendz instance):
-```
+
+For older versions, JS Modules cannot be used directly. You’ll need to manually include the provided JavaScript code in your widget action.
+
+**Download the custom module:**
+
+```bash
http:///apiTrendz/publicApi/download/custom-action-ai-summary.js
```
-{: .copy-code}
-### Configuring a Custom Action to Get Telemetry Summary
+Replace `` with your own Trendz instance URL.
-After you have either uploaded the JS Module (v3.9+) or copied the custom code (v3.6–v3.8), follow these steps to configure your widget:
+### Configure a Custom Action for Telemetry Summary
-1. Open the dashboard containing the widget you want to enhance and switch to Edit mode.
-2. Open the widget settings and navigate to the Actions tab.
-3. Select Custom action as action type.
-3. Add a new **Action**:
- - If you're on **v3.9+**, select the uploaded **Trendz Summary Module**.
- - If you're on **v3.6–v3.8**, paste the custom JavaScript code manually.
-4. Inside the action, call the `getAnalytics()` method with the following parameters:
+1. Open the dashboard containing your widget.
+2. Switch to **Edit mode**.
+3. Click **Edit Widget** on widget you want to add custom AI summary action.
+4. Go to the **Actions** tab.
+5. Click **Add action** and configure:
+ - **Action source:** Widget header button
+ - **Name:** Any (e.g., `AI Summary`)
+ - **Button icon:** Choose any (default: `⋯`)
+ - **Action:** Custom action
+
+
+{% include images-gallery.html imageCollection="thingsboard-ai-widget-summary" %}
+
+#### ThingsBoard v3.9 and Higher
+
+You can use the JS module directly in the custom action:
+
+1. Click **Modules** → **Add module**.
+2. Set the following:
+ * **Alias:** `trendz`
+ * **JS module resource:** `Trendz AI Summary Module` *(The name may vary in whitelabeled versions.)*
+
+3. Click **Apply**.
+4. In the custom action code field, add:
+ ```js
+ trendz.getAnalytics(widgetContext, true);
+ ```
+
+5. Click **Add**, then **Apply**, and finally **Save widget**.
+
+{% include images-gallery.html imageCollection="thingsboard-ai-widget-summary-v3.9" %}
+
+#### ThingsBoard v3.6–v3.8
+
+1. Manually copy the full JavaScript code from `custom-action-ai-summary.js` into your custom action field.
+2. At the end of the custom action code field, add:
+
+ ```js
+ trendz.getAnalytics(widgetContext, true);
+ ```
+3. Click **Add**, then **Apply**, and finally **Save widget**.
+
+{% include images-gallery.html imageCollection="thingsboard-ai-widget-summary-v3.6" %}
+
+### Using the Custom Action
+
+After configuration, a new button appears in your widget header.
+Clicking it opens a dialog showing a summary generated by Trendz AI based on your widget’s data and prompt settings.
+
+You can improve text quolity that are generated with AI summary functionality, adding your custom instructions or
+additional business knowladges about your data using getAnalytics() advanced parameters.
+
+### Advanced Usage of `getAnalytics()`
+
+The `getAnalytics()` method supports three usage modes:
+
+#### 1. Default Prompt from Trendz
+
+Uses the system default prompt (Trendz System Default Summary Prompt):
```js
-getAnalytics(widgetContext, useDefaultPrompt, promptIdOrText);
+getAnalytics(widgetContext, true);
```
-Where:
-- **`widgetContext`** – the current widget context (**required**).
-- **`useDefaultPrompt`** – set to `true` to use the default Trendz prompt, or `false` to use your custom prompt.
-- **`promptIdOrText`** (**optional**) – either the **ID** of a saved prompt from Trendz or a **custom prompt text**.
-Example (with *promptId*):
+#### 2. Custom Inline Text
+
+Use Trendz only as the LLM model and provide your own text prompt:
+
```js
-getAnalytics(widgetContext, false, 'ef348780-a034-4ea9-9225-8b6ad112c451');
+getAnalytics(widgetContext, false, 'Identify which tanks require additional attention and explain why.');
```
-**⚠️ Note:** We recommend using the **ID** of a saved prompt from Trendz.
-Using this approach simplifies prompt management and modification.
-To learn more about Trendz Prompts, refer [here](/docs/trendz/ai-prompts-overview).
+#### 3. Saved Prompt by ID
+
+Use a saved prompt from Trendz by specifying its ID:
+
+```js
+getAnalytics(widgetContext, false, 'ef348780-a034-4ea9-9225-8b6ad112c451');
+```
-After configuring the action, a header button will appear on your widget.
-When you click this button, a dialog window will open, showing a summary generated based on your widget's data and the Trendz prompt.
+> **Recommendation:** Use the **Prompt ID** from Trendz for easier management and updates.
-{% include images-gallery.html imageCollection="trendz-summary-custom-action" %}
+Learn more about managing prompts in [Trendz AI Prompts Overview](/docs/trendz/ai-assistance-prompts).
## Trendz Widgets
diff --git a/docs/trendz/anomaly/build.md b/docs/trendz/anomaly/build.md
index 4d400c0b49..6fa271bda8 100644
--- a/docs/trendz/anomaly/build.md
+++ b/docs/trendz/anomaly/build.md
@@ -3,12 +3,54 @@ layout: docwithnav-trendz
title: Anomaly Model Properties
description: How to train anomaly models using historical data. Covers segmentation, preprocessing, and the "Build" task
+general-settings:
+ 0:
+ image: /images/trendz/anomaly/general-settings.png
+ title: 'General Settings'
+
+clustering-settings:
+ 0:
+ image: /images/trendz/anomaly/clustering-settings-k-means.png
+ title: 'Clustering Settings For K-Means'
+ 1:
+ image: /images/trendz/anomaly/clustering-settings-dbscan.png
+ title: 'Clustering Settings For DBSCAN'
+ 2:
+ image: /images/trendz/anomaly/clustering-settings-gmm.png
+ title: 'Clustering Settings For GMM (Gaussian Mixture Model)'
+
+segmentation-settings:
+ 0:
+ image: /images/trendz/anomaly/segmentation-settings.png
+ title: 'Segmentation Settings'
+
+anomaly-detection-settings:
+ 0:
+ image: /images/trendz/anomaly/anomaly-detection-settings-feature-based.png
+ title: 'Anomaly Detection Settings (Feature based)'
+ 1:
+ image: /images/trendz/anomaly/anomaly-detection-settings-behaviour-based.png
+ title: 'Anomaly Detection Settings (Behaviour based)'
+
+limits-settings:
+ 0:
+ image: /images/trendz/anomaly/limits-settings.png
+ title: 'Limits Settings'
+
+alarm-configuration:
+ 0:
+ image: /images/trendz/anomaly/alarm-configuration-before-build.png
+ title: 'Alarm Configuration (before build)'
+ 1:
+ image: /images/trendz/anomaly/alarm-configuration-after-build.png
+ title: 'Alarm Configuration (after build)'
+
---
* TOC
{:toc}
-## Build Properties
+## Anomaly Model Properties
### General Settings
@@ -24,17 +66,17 @@ or devices and which time range will be used for training the anomaly model.
We recommend choosing only the necessary fields that are potentially related to each other. For example:
vibrations could be related to motor temperature or load.
-* **Items for Model Training:**
+* **Items:** (for Model Training)
Select the specific items (e.g., particular devices or assets) within the entity to focus your analysis.
We recommend choosing the most normal data to improve anomaly detection (you can identify this by building a model on all assets first).
-* **Time Range for Model Training:**
+* **Timerange for Anomaly Detection:** (for Model Training)
Define the historical data period that the model will use for training. For example, you can set a time range of the
past 3 months or 1 year, depending on the availability and relevance of data.
Additionally, it's possible to specify telemetry saving options here.
-* **Telemetry Key:** Telemetry key that will be used during reprocess/refresh to produce the same anomaly score and anomaly score index.
+* **Key:** Telemetry key that will be used during reprocess/refresh to save anomaly score and anomaly score index to ThingsBoard.
* **Telemetry Storage Frequency:** This parameter specifies the aggregation level at which the anomaly score and anomaly score index will be stored in ThingsBoard.
We recommend specifying a telemetry storage frequency that is:
@@ -44,7 +86,9 @@ Additionally, it's possible to specify telemetry saving options here.
Find out more about refresh/reprocess [here](/docs/trendz/anomaly/refresh-reprocess).
Find out more about saving telemetry to ThingsBoard [here](/docs/trendz/anomaly/save-to-tb).
-### Model Properties
+{% include images-gallery.html imageCollection="general-settings" %}
+
+### Advanced Properties
#### Clustering Settings
@@ -54,18 +98,22 @@ These settings define which clustering algorithm will be used to detect anomalie
Supported methods:
- **K-Means:** Splits data into a fixed number of groups. Anomalies are points far from their group center.
**Use when:** Data is clean, consistent, and you know how many clusters to expect.
- [Learn more about K-Means](https://scikit-learn.org/stable/modules/clustering.html#k-means)
+ [Learn more about K-Means](https://scikit-learn.org/stable/modules/clustering.html#k-means).
+
+ Additional parameters:
+ - **Max Iterations**: How many times K-Means should try to improve the clustering.
+
- **DBSCAN:** Groups data based on how close and dense points are. Anomalies are isolated or low-density points.
**Use when:** You have noisy data or clusters of different shapes/sizes.
- [Learn more about DBSCAN](https://scikit-learn.org/stable/modules/clustering.html#dbscan)
+ [Learn more about DBSCAN](https://scikit-learn.org/stable/modules/clustering.html#dbscan).
- - **GMM (Gaussian Mixture Model):** Models data as a mix of several normal distributions. Anomalies are points with low probability.
- **Use when:** You need flexible clustering and probabilistic results.
- [Learn more about GMM](https://scikit-learn.org/stable/modules/mixture.html)
+ Additional parameters:
+ - **Max Epsilon**: Maximum distance between points to consider them as part of the same group.
+ - **Min Points in Cluster:** Minimum number of nearby points to form a valid cluster.
-- **Max Iterations (for K-Means):** How many times K-Means should try to improve the clustering.
-- **Max Epsilon (for DBSCAN):** Maximum distance between points to consider them as part of the same group.
-- **Min Points in Cluster (for DBSCAN):** Minimum number of nearby points to form a valid cluster.
+ - **GMM (Gaussian Mixture Model):** Models data as a mix of several normal distributions. Anomalies are points with low probability.
+ **Use when:** You need flexible clustering and probabilistic results.
+ [Learn more about GMM](https://scikit-learn.org/stable/modules/mixture.html).
- **Cluster Count:** Number of clusters to create.
@@ -76,6 +124,8 @@ These settings define which clustering algorithm will be used to detect anomalie
- **Manhattan:** Adds up all absolute differences.
- **Canberra:** Highlights small values and sparsity.
+{% include images-gallery.html imageCollection="clustering-settings" %}
+
#### Segmentation Settings
Splitting telemetry into smaller, manageable time windows helps analyze behavior more accurately.
@@ -91,16 +141,19 @@ Splitting telemetry into smaller, manageable time windows helps analyze behavior
- **Min Segment Duration:** Minimum time span for a segment to be considered valid.
- **Min Points in Segment:** Minimum number of data points required for a valid segment.
+{% include images-gallery.html imageCollection="segmentation-settings" %}
+
#### Anomaly Detection Settings
After segmenting the data, extract useful features that help the model understand behavior and check each segment for anomalies:
- **Comparison Type:** Defines how segments will be compared.
- **Behavior-based:** Captures overall patterns and trends in the data.
- - **Feature-based:** Focuses on specific measurements or attributes derived from the data.
-- **Aggregation (Applicable only for Behavior-based Comparison Type):** Function used to summarize data within a segment (AVG, MIN, MAX, SUM, COUNT).
-- **Aggregation Points (Applicable only for Behavior-based Comparison Type):** Number of points considered when calculating aggregations.
+ Additional parameters:
+ - **Aggregation:** Function used to summarize data within a segment (AVG, MIN, MAX, SUM, COUNT).
+ - **Aggregation Points:** The number of points into which each segment will be divided before aggregation.
+ - **Feature-based:** Focuses on specific measurements or attributes derived from the data.
- **Score Threshold Percent:** This is the percentile threshold used to classify whether a segment is anomalous.
Segments with anomaly scores above this threshold are marked as anomalies.
@@ -110,13 +163,16 @@ After segmenting the data, extract useful features that help the model understan
- **Cluster Joining Strategy:** This setting allows the system to treat anomalies from nearby segments even if they
belong to different clusters as a single, continuous anomaly.
+{% include images-gallery.html imageCollection="anomaly-detection-settings" %}
#### Limits
- **Max Points Count:** Maximum number of data points used for training and detection.
- **Max Segments Count:** Maximum number of segments the system will handle during processing.
-### Alarm Configuration Properties
+{% include images-gallery.html imageCollection="limits-settings" %}
+
+### Alarm Configuration
- **Alarm Type:** Configure the type/category of alarm that will be created for detected anomalies. This setting helps categorize alarms
within ThingsBoard.
@@ -126,6 +182,8 @@ After segmenting the data, extract useful features that help the model understan
- **Severities:** This section becomes available after the first model build and allows you to configure threshold values for alarm
severities (e.g., Critical, Major, Minor). Trendz automatically generates default thresholds based on the anomaly score distribution.
+{% include images-gallery.html imageCollection="alarm-configuration" %}
+
## Best Practices
1. **Select Relevant Data for Training:**
diff --git a/docs/trendz/anomaly/overview.md b/docs/trendz/anomaly/overview.md
index ac88901182..5003bbd736 100644
--- a/docs/trendz/anomaly/overview.md
+++ b/docs/trendz/anomaly/overview.md
@@ -5,41 +5,41 @@ description: Introduction to anomaly detection in Trendz
page-anomaly-models:
0:
- image: /images/trendz/anomaly/with-preview/page-anomaly-models.png
+ image: /images/trendz/anomaly/page-anomaly-models.png
title: 'Anomaly Models Tab'
page-cluster-info-tab:
0:
- image: /images/trendz/anomaly/with-preview/page-cluster-info-all.png
+ image: /images/trendz/anomaly/page-cluster-info-all.png
title: 'Cluster Info Tab'
1:
- image: /images/trendz/anomaly/with-preview/page-cluster-info-specific.png
+ image: /images/trendz/anomaly/page-cluster-info-specific.png
title: 'Cluster Info Tab (Specific Cluster)'
page-input-tab:
0:
- image: /images/trendz/anomaly/with-preview/page-input-tab.png
+ image: /images/trendz/anomaly/page-input-tab.png
title: 'Input Tab'
page-review-tab:
0:
- image: /images/trendz/anomaly/with-preview/page-review-tab.png
+ image: /images/trendz/anomaly/page-review-tab.png
title: 'Review Tab'
page-summary-tab:
0:
- image: /images/trendz/anomaly/with-preview/page-summary-calendar.png
+ image: /images/trendz/anomaly/page-summary-calendar.png
title: 'Summary Tab: Calendar Mode'
1:
- image: /images/trendz/anomaly/with-preview/page-summary-dynamic.png
+ image: /images/trendz/anomaly/page-summary-dynamic.png
title: 'Summary Tab: Dynamic Mode'
2:
- image: /images/trendz/anomaly/with-preview/page-summary-review.png
+ image: /images/trendz/anomaly/page-summary-review.png
title: 'Summary Tab: Review Mode'
page-task-tab:
0:
- image: /images/trendz/anomaly/with-preview/page-task-tab.png
+ image: /images/trendz/anomaly/page-task-tab.png
title: 'Task Tab'
---
@@ -85,7 +85,7 @@ In Trendz, anomaly detection is based on two core metrics:
Let’s explore a real-world example showing pump vibrations right after startup:
-
+
- **Anomaly A**
- Characterized by a **sharp vibration spike** lasting ~5 seconds.
diff --git a/docs/trendz/batch-calculated-fields.md b/docs/trendz/calculations/batch.md
similarity index 98%
rename from docs/trendz/batch-calculated-fields.md
rename to docs/trendz/calculations/batch.md
index d590602802..5e8a941559 100755
--- a/docs/trendz/batch-calculated-fields.md
+++ b/docs/trendz/calculations/batch.md
@@ -2,8 +2,8 @@
layout: docwithnav-trendz
assignees:
- vparomskiy
-title: Batch Calculated Fields
-description: Batch Calculated Fields
+title: Batch Calculation Fields
+description: Batch Calculation Fields
---
* TOC
diff --git a/docs/trendz/calculations/native.md b/docs/trendz/calculations/native.md
new file mode 100644
index 0000000000..7989761480
--- /dev/null
+++ b/docs/trendz/calculations/native.md
@@ -0,0 +1,362 @@
+---
+layout: docwithnav-trendz
+title: Native Calculation Fields
+description: Native Calculation Fields
+---
+
+* TOC
+{:toc}
+
+Native Calculations are calculation fields designed with minimal restrictions and maximum flexibility. They allow you to
+freely define which relations, telemetries, or attributes to use and from which time range. You can use five input
+parameters and five available functions to fetch telemetries, attributes, or relations from any timerange for any entity.
+All these functions or parameters will be covered later in this article.
+
+## Rules
+
+The only rule is the required output format. The code must return an array of timestamp/value objects:
+
+```
+[{"ts": , "value": }]
+```
+
+This timeseries could be saved to ThingsBoard when a reprocess or refresh job is set up for the originator.
+
+## Parameters
+
+Within a Native Calculation, you can use the following parameters:
+
+1. **startTs** - start timestamp (in ms)
+2. **endTs** - end timestamp (in ms)
+3. **groupBy** - grouping interval ('minute', 'hour', 'day', 'week', or 'month')
+4. **tzName** - timezone of the user who runs the task (e.g., test, refresh, or reprocess)
+5. **tzOffsetMs** - offset in milliseconds between UTC and the user’s timezone
+
+These parameters may differ depending on the calculation context.
+
+## Functions
+
+### get_originator_id()
+
+Returns the ID (UUID) of the current calculation originator.
+
+```python
+originator_id = get_originator_id()
+```
+
+### get_originator_type()
+
+Returns the type ('DEVICE' or 'ASSET') of the current originator.
+
+```python
+originator_type = get_originator_type()
+```
+
+### get_telemetries()
+
+Fetch telemetry data from any available entity.
+
+```python
+get_telemetries(
+ keys, # required: list of telemetry keys (e.g., ['key1', 'key2'])
+ from_ts,# optional: start timestamp in ms (default startTs parameter)
+ to_ts, # optional: end timestamp in ms (default endTs parameter)
+ entity_id, # optional: entity ID (defaults to originator ID)
+ entity_type # optional: entity type (DEVICE or ASSET, defaults to originator type)
+)
+```
+
+Returns a dictionary of telemetry values:
+
+```
+{
+ "key1": [{"value": "", "ts": ""}, ...],
+ "key2": [{"value": "", "ts": ""}],
+ ...
+}
+```
+
+#### Examples
+
+Fetch telemetries (temperature and heat_consumption) from originator with default timerange:
+
+```python
+keys = ['temperature', 'heat_consumption']
+telemetries = get_telemetries(keys)
+```
+
+Fetch telemetries with custom timerange:
+
+```python
+keys = ['temperature', 'heat_consumption']
+from_ts = 1704067200000 # 1 Jan 2024
+to_ts = 1735689600000 # 1 Jan 2025
+telemetries = get_telemetries(keys, from_ts=from_ts, to_ts=to_ts)
+```
+
+Fetch telemetries from device with id `8c790660-782a-4c7b-ae07-0c3163a6f968` with default timerange:
+
+```python
+keys = ['temperature', 'heat_consumption']
+entity_id = '8c790660-782a-4c7b-ae07-0c3163a6f968'
+entity_type = 'DEVICE'
+telemetries = get_telemetries(keys, entity_id=entity_id, entity_type=entity_type)
+```
+
+Fetch telemetries from device with id `8c790660-782a-4c7b-ae07-0c3163a6f968` with custom timerange:
+
+```python
+keys = ['temperature', 'heat_consumption']
+from_ts = 1704067200000 # 1 Jan 2024
+to_ts = 1735689600000 # 1 Jan 2025
+entity_id = '8c790660-782a-4c7b-ae07-0c3163a6f968'
+entity_type = 'DEVICE'
+telemetries = get_telemetries(keys, from_ts=from_ts, to_ts=to_ts, entity_id=entity_id, entity_type=entity_type)
+```
+
+Use retrieved telemetries in custom logic:
+
+```python
+if not telemetries['temperature']:
+ print('No temperature telemetry found in the given range.')
+ return []
+
+for temperature_reading in telemetries['temperature']:
+ value = temperature_reading['value']
+ ts = temperature_reading['ts']
+ # Perform custom logic here
+```
+
+### get_attributes()
+
+Fetch attributes data from any available entity.
+
+```python
+get_attributes(
+ attributes, # required: list of attributes [{'scope': 'SERVER_SCOPE', 'key': 'attribute_key'}, ...]
+ entity_id, # optional: entity ID (defaults to originator ID)
+ entity_type # optional: entity type (DEVICE or ASSET, defaults to originator type)
+)
+```
+
+Returns a dictionary grouped by scope:
+
+```
+{
+ "SERVER_SCOPE": {"attribute_key_1": "", ...},
+ "CLIENT_SCOPE": {...},
+ "SHARED_SCOPE": {...}
+}
+```
+
+#### Examples
+
+Fetch area attribute (server scope) from originator:
+
+```python
+attributes = [{'scope': 'SERVER_SCOPE', 'key': 'area'}]
+fetched_attributes = get_attributes(attributes)
+area = fetched_attributes.get('SERVER_SCOPE', {}).get('area')
+```
+
+Fetch area attribute (server scope) from asset with id `4e0aba8c-772d-4d61-9f16-3d8c896b1600`:
+
+```python
+attributes = [{'scope': 'SERVER_SCOPE', 'key': 'area'}]
+entity_id = '4e0aba8c-772d-4d61-9f16-3d8c896b1600'
+entity_type = 'ASSET'
+fetched_attributes = get_attributes(attributes, entity_id=entity_id, entity_type=entity_type)
+area = fetched_attributes.get('SERVER_SCOPE', {}).get('area')
+```
+
+### get_relations()
+
+Fetch relations data from any available entity.
+
+```python
+get_relations(
+ entity_id, # optional: entity ID (defaults to originator ID)
+ entity_type, # optional: entity type (DEVICE or ASSET, defaults to originator type)
+ direction, # optional: direction (FROM or TO), keep empty if any
+ relation_type, # optional: relation type, keep empty if any
+ target_entity_type, # optional: target entity type, keep empty if any
+ target_entity_profile_name # optional: target entity profile name, keep empty if any
+)
+```
+
+Returns a list of relations:
+
+```
+[
+ {
+ "relationType": "",
+ "direction": "",
+ "entityId": "",
+ "entityType": "",
+ "entityProfileName": ""
+ }, ...
+]
+```
+
+#### Examples
+
+Fetch all relations for originator:
+
+```python
+relations = get_relations()
+```
+
+Fetch only relations with type Contains, direction TO, and target assets with profile EM apartment:
+
+```python
+relations = get_relations(direction='TO', relation_type='Contains', target_entity_type='ASSET', target_entity_profile_name='EM apartment')
+```
+
+Fetch all relations for device with id `8c790660-782a-4c7b-ae07-0c3163a6f968`:
+
+```python
+entity_id = '8c790660-782a-4c7b-ae07-0c3163a6f968'
+entity_type = 'DEVICE'
+relations = get_relations(entity_id=entity_id, entity_type=entity_type)
+```
+
+Fetch only relations with type Contains, direction TO, and target assets with profile EM apartment for device with id `8c790660-782a-4c7b-ae07-0c3163a6f968`:
+
+```python
+entity_id = '8c790660-782a-4c7b-ae07-0c3163a6f968'
+entity_type = 'DEVICE'
+relations = get_relations(entity_id=entity_id, entity_type=entity_type, direction='TO', relation_type='Contains', target_entity_type='ASSET', target_entity_profile_name='EM apartment')
+```
+
+Relations usage: fetch area attribute from associated asset:
+
+```python
+relations = get_relations(direction='TO', relation_type='Contains', target_entity_type='ASSET', target_entity_profile_name='EM apartment')
+if not relations:
+ print('No associated EM apartment found.')
+ return []
+
+apartment_id = relations[0]['entityId']
+apartment_type = relations[0]['entityType']
+attributes = [{'scope': 'SERVER_SCOPE', 'key': 'area'}]
+fetched_attributes = get_attributes(attributes, entity_id=apartment_id, entity_type=apartment_type)
+area = fetched_attributes.get('SERVER_SCOPE', {}).get('area')
+```
+
+## Best Practices
+
+Use Native Calculations when:
+
+* You need flexible relation navigation or telemetry fetching.
+* You want to experiment using the Metric Explorer.
+
+Avoid Native Calculations when:
+
+* The same result can be achieved with Simple or Batched Calculations (they perform better).
+
+## Limitations
+
+Native Calculations only support the **Fixed timerange** strategy.
+
+## Example
+
+Example Native Calculation to compute temperature difference between a heat meter and the building average:
+
+```python
+import statistics
+
+# 1. Fetch the 'temperature' telemetry from the current EM heat meter.
+heat_meter_temperature_data = get_telemetries(keys=["temperature"])
+if not heat_meter_temperature_data or "temperature" not in heat_meter_temperature_data:
+ print("Temperature telemetry not found for the heat meter.")
+ return []
+
+heat_meter_temperature_values = heat_meter_temperature_data["temperature"]
+if not heat_meter_temperature_values:
+ print("Temperature telemetry values are empty.")
+ return []
+
+# 2. Traverse from 'EM heat meter' to 'EM apartment' using relation type 'Contains' (direction TO).
+apartment_relations = get_relations(direction="TO", relation_type="Contains", target_entity_type="ASSET", target_entity_profile_name="EM apartment")
+if not apartment_relations:
+ print("No related apartment found for the heat meter.")
+ return []
+
+apartment_id = apartment_relations[0]["entityId"]
+apartment_type = apartment_relations[0]["entityType"]
+print(f"Apartment ID: {apartment_id}")
+
+# 3. Traverse from 'EM apartment' to 'EM building' using relation type 'Contains' (direction TO).
+building_relations = get_relations(entity_id=apartment_id, entity_type=apartment_type, direction="TO", relation_type="Contains", target_entity_type="ASSET", target_entity_profile_name="EM building")
+if not building_relations:
+ print("No related building found for the apartment.")
+ return []
+
+building_id = building_relations[0]["entityId"]
+building_type = building_relations[0]["entityType"]
+print(f"Building ID: {building_id}")
+
+# 4. Find all 'EM apartment' entities related to the 'EM building' using relation type 'Contains' (direction FROM).
+apartment_relations_from_building = get_relations(entity_id=building_id, entity_type=building_type, direction="FROM", relation_type="Contains", target_entity_type="ASSET", target_entity_profile_name="EM apartment")
+if not apartment_relations_from_building:
+ print("No related apartments found for the building.")
+ return []
+
+building_heat_meter_temperatures = {}
+# 5. For each 'EM apartment', find all related 'EM heat meter' entities using relation type 'Contains' (direction FROM).
+for apartment in apartment_relations_from_building:
+ apartment_id = apartment["entityId"]
+ apartment_type = apartment["entityType"]
+
+ heat_meter_relations_from_apartment = get_relations(entity_id=apartment_id, entity_type=apartment_type, direction="FROM", relation_type="Contains", target_entity_type="DEVICE", target_entity_profile_name="EM heat meter")
+ if heat_meter_relations_from_apartment:
+ for heat_meter in heat_meter_relations_from_apartment:
+ heat_meter_id = heat_meter["entityId"]
+ heat_meter_type = heat_meter["entityType"]
+
+ # 6. For each 'EM heat meter' found in step 5, fetch the 'temperature' telemetry.
+ heat_meter_temperature_data = get_telemetries(keys=["temperature"], entity_id=heat_meter_id, entity_type=heat_meter_type)
+ if heat_meter_temperature_data and "temperature" in heat_meter_temperature_data:
+ heat_meter_temperature_values = heat_meter_temperature_data["temperature"]
+ if heat_meter_temperature_values:
+ for temp_data in heat_meter_temperature_values:
+ ts = temp_data["ts"]
+ value = temp_data["value"]
+ try:
+ value = float(value)
+ if ts not in building_heat_meter_temperatures:
+ building_heat_meter_temperatures[ts] = []
+ building_heat_meter_temperatures[ts].append(value)
+ except ValueError as e:
+ print(f"Error converting temperature value to float: {e}")
+ continue
+
+# 7. Calculate the average temperature of all 'EM heat meter' entities within the building for each timestamp.
+building_average_temperatures = {}
+for ts, temperatures in building_heat_meter_temperatures.items():
+ if temperatures:
+ building_average_temperatures[ts] = statistics.mean(temperatures)
+
+# 8. Calculate the temperature difference for each time interval.
+temperature_differences = []
+for temp_data in heat_meter_temperature_values:
+ ts = temp_data["ts"]
+ heat_meter_temperature = temp_data["value"]
+ try:
+ heat_meter_temperature = float(heat_meter_temperature)
+ if ts in building_average_temperatures:
+ building_average_temperature = building_average_temperatures[ts]
+ temperature_difference = heat_meter_temperature - building_average_temperature
+ temperature_differences.append({"ts": ts, "value": temperature_difference})
+ except ValueError as e:
+ print(f"Error converting temperature value to float: {e}")
+ continue
+
+# 9. Output the 'temperature_difference' as the metric value.
+res = temperature_differences
+return res
+```
+
+## Next Steps
+
+{% assign currentGuide = "CalculatedFields" %}{% include templates/trndz-guides-banner.md %}
diff --git a/docs/trendz/calculated-fields.md b/docs/trendz/calculations/overview.md
similarity index 91%
rename from docs/trendz/calculated-fields.md
rename to docs/trendz/calculations/overview.md
index a1c152a5ba..9beb786dc3 100755
--- a/docs/trendz/calculated-fields.md
+++ b/docs/trendz/calculations/overview.md
@@ -18,7 +18,7 @@ To access the calculated fields tool, click on the icon **√x** labeled "Calcu
Within this section, a table lists all created calculated fields, along with key details. You can open, modify, or perform other actions on any of these fields.
To create a new calculated field, click the "Create Calculation Field" button.
-
+
## Function Tab
@@ -51,10 +51,10 @@ Aggregation function applied to a grouped dataset. Find more details about [Aggr
* *Dynamic Strategy:* Loads new data since the last calculation.
* *Fixed Strategy:* Uses a predefined time range for each execution.
-For details on writing functions for [Calculated Fields](/docs/trendz/calculated-fields/#examples), refer to the corresponding documentation section.
-Choose to work with aggregated or raw data by enabling [batch mode](/docs/trendz/batch-calculated-fields/) as needed.
+For details on writing functions for [Calculated Fields](/docs/trendz/calculations/overview/#examples), refer to the corresponding documentation section.
+Choose to work with aggregated or raw data by enabling [batch mode](/docs/trendz/calculations/batch/) as needed.
-
+
@@ -75,7 +75,7 @@ The Input section allows you to define and understand the data that will be used
This setup makes sure the data is defined correctly, allowing for accurate calculations and useful insights.
-
+
@@ -89,7 +89,7 @@ When you click "Run test," you will access the Output tab, featuring the followi
***Logs:*** Shows logs similar to those in the browser console.
-
+
@@ -112,7 +112,7 @@ var fahrenheit = celsius*1.8 + 32;
return fahrenheit;
{% endhighlight %}
-
+
**Multiple fields for calculation**
@@ -134,7 +134,7 @@ var size = uniq(apartment.area);
return (energy + heat) / size;
{% endhighlight %}
-
+
**Get original field value**
@@ -164,9 +164,9 @@ If a field with the same name or key already exists, the system will notify you
During the saving process, you have the option to "Enable" the calculated field. When enabled, the calculated field will be recorded as telemetry in ThingsBoard with the specified parameters.
-
+
-For more details, refer to the [Save Metric to ThingsBoard](/docs/trendz/save-calculated-to-thingsboard/) section.
+For more details, refer to the [Save Metric to ThingsBoard](/docs/trendz/calculations/save-to-thingsboard/) section.
**Modifying and Re-Saving Calculations**
@@ -187,7 +187,7 @@ Once saved, you can modify your calculations as needed. Here's how the process w
* *Future Data:* Without running the Reprocess Task, the updated calculation only applies to new data recorded after re-saving, leaving historical data unchanged.
* *How to Run the Reprocess Task:* Go to the Tasks tab and click the “Run Reprocess Task” button to apply the updated calculation to all relevant historical data.
-
+
This functionality ensures seamless management of calculations, consistently reflecting updates across all areas where the calculation is applied.
@@ -200,7 +200,7 @@ Once you have created and saved a calculation in Trendz, it can be used in view
* *Business Entities List:* Calculations created by a tenant will appear in the list of business entities under the name provided during creation. This allows for easy selection and integration into view fields.
* *Telemetry Display for Customers:* Once enabled, the calculated data becomes visible to end users as telemetry. It will be displayed under the key name defined in the calculation, making it accessible in dashboards and widgets.
-
+
**Using the Calculation in Views**
@@ -210,13 +210,13 @@ Simply select the desired calculation to include it in the view field. The data
* *ThingsBoard Data (TB):* Calculations saved as telemetry in ThingsBoard can be displayed in view fields for historical or periodically updated data. These calculations update according to the schedule set in the task settings.
* *Real-Time Data (RT):* For immediate data needs, real-time calculations can be utilized. Note that RT calculations might take longer to process than batch-calculated data.
-
+
**Editing and Managing Calculations:**
To adjust or manage a calculation after adding it to a view field, access the calculation settings directly from the view field configuration by pressing the "Go to calculation field" button.
-
+
## Disabled Calculation
@@ -224,7 +224,7 @@ To adjust or manage a calculation after adding it to a view field, access the ca
If a calculated field is disabled isn't saved in ThingsBoard as telemetry, it will appear normally in the list of business entity fields.
However, when you drag this field into the chart-building area, a red bell icon will appear next to it. By clicking on the red bell icon, you can go directly to the created calculated field, where you can enable it as telemetry.
-
+
By following these steps, you can effectively use created calculations within view fields, making sure your data analysis is both complete and exact.
diff --git a/docs/trendz/save-calculated-to-thingsboard.md b/docs/trendz/calculations/save-to-thingsboard.md
similarity index 98%
rename from docs/trendz/save-calculated-to-thingsboard.md
rename to docs/trendz/calculations/save-to-thingsboard.md
index 3630fefddf..f96cc91ec4 100755
--- a/docs/trendz/save-calculated-to-thingsboard.md
+++ b/docs/trendz/calculations/save-to-thingsboard.md
@@ -56,7 +56,7 @@ When these settings are saved, your calculations are recorded in ThingsBoard as
The data generated appears in the construction of view fields in the list of business entities under the name assigned to the calculation at the time of creation and,
if activated, will be updated according to the specified frequency when creating the task. The created calculation will appear in the view fields under the name given to the calculation during its creation.
-
+
If the calculation is not activated, it can still be used when constructing view fields, but users will receive a reminder indicating that no task has been created for this calculation.
diff --git a/docs/trendz/calculate-time-to-value.md b/docs/trendz/calculations/time-to-value.md
similarity index 95%
rename from docs/trendz/calculate-time-to-value.md
rename to docs/trendz/calculations/time-to-value.md
index 14ab5528eb..ce74cceb08 100644
--- a/docs/trendz/calculate-time-to-value.md
+++ b/docs/trendz/calculations/time-to-value.md
@@ -7,29 +7,29 @@ description: Calculate time to value based on predicted telemetry
calc-time-to-value-chart:
0:
- image: /images/trendz/calc-time-to-value-1.png
+ image: /images/trendz/calculations/calc-time-to-value-1.png
calc-time-to-value-script:
0:
- image: /images/trendz/calc-time-to-value-2.png
+ image: /images/trendz/calculations/calc-time-to-value-2.png
calc-time-to-value-output:
0:
- image: /images/trendz/calc-time-to-value-3.png
+ image: /images/trendz/calculations/calc-time-to-value-3.png
calc-time-to-value-job:
0:
- image: /images/trendz/calc-time-to-value-4.png
+ image: /images/trendz/calculations/calc-time-to-value-4.png
calc-time-to-value-table:
0:
- image: /images/trendz/calc-time-to-value-5.png
+ image: /images/trendz/calculations/calc-time-to-value-5.png
calc-time-to-value-alarm:
0:
- image: /images/trendz/calc-time-to-value-6.png
+ image: /images/trendz/calculations/calc-time-to-value-6.png
1:
- image: /images/trendz/calc-time-to-value-7.png
+ image: /images/trendz/calculations/calc-time-to-value-7.png
---
* TOC
diff --git a/docs/trendz/custom-ai-model-configuration.md b/docs/trendz/custom-ai-model-configuration.md
index 1bf062ee63..f6873202e3 100644
--- a/docs/trendz/custom-ai-model-configuration.md
+++ b/docs/trendz/custom-ai-model-configuration.md
@@ -1,51 +1,206 @@
---
layout: docwithnav-trendz
-title: Large Language Model (LLM) Configuration
-description: Step-by-step guide how to configure Large Language Model (LLM).
+title: Enable AI Features
+description: Step-by-step guide how to set uo AI Settings in Trendz
-trendz-assistance-use-own-model:
+ai-settings:
0:
- image: /images/trendz/ai/ai-model-configuration/use-own-model-1.png
- title: To enable/configure your own model, it’s necessary to go Setting -> General -> AI Assistance
+ image: /images/trendz/ai/settings/ai-settings-1.png
+ title: "Navigate to Settings → AI Assistant tab."
+ 1:
+ image: /images/trendz/ai/settings/ai-settings-2.png
+ title: "The AI Features section."
+ 2:
+ image: /images/trendz/ai/settings/ai-settings-3.png
+ title: "The AI Models section."
-trendz-assistance-ai-models:
+ai-models:
0:
- image: /images/trendz/ai/ai-model-configuration/ai-google-model.png
- title: Google (Recommended)
+ image: /images/trendz/ai/settings/ai-models-1.png
+ title: "Click the New AI Model button."
1:
- image: /images/trendz/ai/ai-model-configuration/ai-openai-model.png
- title: Open AI
+ image: /images/trendz/ai/settings/ai-models-2.png
+ title: "Enter a Name (any label you wish to identify the model in the list)."
2:
- image: /images/trendz/ai/ai-model-configuration/ai-aws-model.png
- title: Amazon Bedrock
+ image: /images/trendz/ai/settings/ai-models-3.png
+ title: "Choose a Provider (currently supported: `OPEN_AI`, `GOOGLE`, `AMAZON_BEDROCK`, `CUSTOM`)."
3:
- image: /images/trendz/ai/ai-model-configuration/ai-custom-model.png
- title: Other Models (Custom)
+ image: /images/trendz/ai/settings/ai-models-4.png
+ title: "Enter the Model Name (specific to the provider)."
+ 4:
+ image: /images/trendz/ai/settings/ai-models-5.png
+ title: "Provide additional parameters (like Base URL or API Key), depending on the provider."
+ 5:
+ image: /images/trendz/ai/settings/ai-models-6.png
+ title: "Set the Temperature and Top P parameters."
+ 6:
+ image: /images/trendz/ai/settings/ai-models-7.png
+ title: "Click Save."
+ 7:
+ image: /images/trendz/ai/settings/ai-models-8.png
+ title: "If everything is set up correctly, you will see a success message."
+
+model-delete:
+ 0:
+ image: /images/trendz/ai/settings/model-delete-1.png
+ title: "Actions → Delete."
+ 1:
+ image: /images/trendz/ai/settings/model-delete-2.png
+ title: "Confirm."
+
+model-edit:
+ 0:
+ image: /images/trendz/ai/settings/model-edit-1.png
+ title: "Actions → Edit."
+ 1:
+ image: /images/trendz/ai/settings/model-edit-2.png
+ title: "Change Properties → Save."
+
+ai-features:
+ 0:
+ image: /images/trendz/ai/settings/ai-features-1.png
+ title: "To enable AI features, toggle Enable AI Features on."
+ 1:
+ image: /images/trendz/ai/settings/ai-features-2.png
+ title: "Use Single Model: apply a single AI model for all features."
+ 2:
+ image: /images/trendz/ai/settings/ai-features-3.png
+ title: "Custom per Feature Configuration: assign different AI models to specific features."
+ 3:
+ image: /images/trendz/ai/settings/ai-features-4.png
+ title: "To switch between options, enable or disable Use Single Model checkbox."
+ 4:
+ image: /images/trendz/ai/settings/ai-features-5.png
+ title: "If a feature is disabled, neither you nor other users will be able to access AI capabilities related to it."
+ 5:
+ image: /images/trendz/ai/settings/ai-features-6.png
+ title: "Once all configurations are completed, click Save to apply the changes."
+
+providers:
+ 0:
+ image: /images/trendz/ai/settings/providers-1.png
+ title: "Open AI."
+ 1:
+ image: /images/trendz/ai/settings/providers-2.png
+ title: "Google (Recommended)."
+ 2:
+ image: /images/trendz/ai/settings/providers-3.png
+ title: "Amazon Bedrock."
+ 3:
+ image: /images/trendz/ai/settings/providers-4.png
+ title: "Other Models (Custom)."
+
---
* TOC
{:toc}
-To enable the AI features on the self-hosted Trendz application, or to not be related to the provided by cloud token limits, it is possible to configure your own large language model.
+Trendz proposes a wide range of features that rely on large language models (AI models).
+
+For cloud installations, Trendz provides a default AI model with a limited number of requests available. To extend this
+request limit or to enable additional AI features, you need to configure the **AI Settings** section.
+
+## AI Settings
+
+Navigate to **Settings → AI Assistant** tab.
+
+This section contains two parts: the **AI Features** section and the **AI Models** section. Before configuring the
+AI Features, you must add at least one AI Model.
+
+{% include images-gallery.html imageCollection="ai-settings" %}
+
+### AI Models
+
+To add a new AI model:
+
+1. Click the **New AI Model** button.
+2. Enter a **Name** (any label you wish to identify the model in the list).
+3. Choose a **Provider** (currently supported: `OPEN_AI`, `GOOGLE`, `AMAZON_BEDROCK`, `CUSTOM`).
+4. Enter the **Model Name** (specific to the provider).
+5. Provide additional parameters (like Base URL or API Key), depending on the provider.
+6. Set the **Temperature** and **Top P** parameters.
+7. Click **Save**.
+
+If everything is set up correctly, you will see a success message.
+
+{% include images-gallery.html imageCollection="ai-models" %}
+
+* **Temperature** determines how creative or deterministic the model is. A lower value (e.g., 0) produces more repetitive
+and predictable responses, while a higher value increases creativity and diversity.
+* **Top P** (nucleus sampling) controls the probability distribution used when generating responses. Lower values
+restrict the model to more likely outputs; higher values allow more variety.
+
+Once a model is created, you can add as many as you need - for instance, different models from multiple providers for different features.
+
+To delete a Model: Click **Actions → Delete → Confirm**.
+
+**Important:** If you delete a model that is already used in AI Features, the feature using this model will be disabled.
+
+{% include images-gallery.html imageCollection="model-delete" %}
+
+To edit a Model: Click **Actions → Edit → Change Properties → Save**.
+
+{% include images-gallery.html imageCollection="model-edit" %}
+
+### AI Features
+
+To enable AI features, toggle **Enable AI Features** on.
+
+Once enabled, you will see two configuration options:
+
+* **Use Single Model:** apply a single AI model for all features.
+* **Custom per Feature Configuration:** assign different AI models to specific features.
+
+To switch between options, enable or disable **Use Single Model** checkbox.
+
+If you select the single model option, the same model will be used for all AI functions. For more flexibility, you can
+assign different models to the following features:
-To enable/configure your own model, it’s necessary to go: *Setting* -> *General* -> *AI Assistant*
-{% include images-gallery.html imageCollection="trendz-assistance-use-own-model" %}
+1. **Prompts** - used for AI View Summary (learn more [here](/docs/trendz/ai-widget-summary/#trendz-widgets)).
+2. **View Assistant** - used for View Assistant features (learn more [here](/docs/trendz/ai-assistance-overview/)).
+3. **Metric Code Assistant** - used for Metric Explorer feature (learn more [here](/docs/trendz/metric/overview/)).
-To use the own model it’s necessary to enable **Use own model**. After enabling the own model it’s possible to choose an AI provider and model. Additionally, it’s necessary to enter *API key* or
-*Access Key* and *Secret Key* (related to the chosen provider).
+Different features may require different model configurations:
-⚠️ *Note*: each AI Assistance request uses around 10000 input tokens and 1000 output tokes. Token usage is related to the difficulty of request and provided topology size.
+* **Quick models** - for fast responses (e.g., View Assistant)
+* **Cost-efficient models** - for lightweight tasks (e.g., Prompts)
+* **Advanced models** - for complex reasoning (e.g., Metric Code Assistant)
+
+If a feature is disabled, neither you nor other users will be able to access AI capabilities related to it.
+
+Once all configurations are completed, click **Save** to apply the changes.
+
+{% include images-gallery.html imageCollection="ai-features" %}
+
+## AI Model Providers Overview
+
+Currently, Trendz could be integrated with the following providers:
-Currently, Trendz could be integrated with the following models:
* OPEN_AI
-* AMAZON_BEDROCK
* GOOGLE
+* AMAZON_BEDROCK
* CUSTOM (OpenAI API)
-{% include images-gallery.html imageCollection="trendz-assistance-ai-models" %}
+{% include images-gallery.html imageCollection="providers" %}
+
+### Open AI
+
+Please refer to the [Open AI API key documentation](https://platform.openai.com/api-keys) to find out how to create API keys for Open AI models.
-⚠️ *Note*: to save any changes in the configuration it’s necessary to press the “Save” button.
+Supported models:
+* Gpt-4o (Recommended - high performance)
+ * Input (1m) token price: 2.5$
+ * Output (1m) token price: 10$
+* Gpt-4o-mini (Recommended - cost efficiency)
+ * Input (1m) token price: 0.15$
+ * Output (1m) token price: 0.6$
+* o3-mini (Recommended - cost efficiency, high performance but slow speed)
+ * Input (1m) token price: 1.1$
+ * Output (1m) token price: 4.4$
+* o4-mini (Recommended - cost efficiency, high performance but slow speed)
+ * Input (1m) token price: 1.1$
+ * Output (1m) token price: 4.4$
-## Google (Recommended):
+### Google (Recommended):
Please refer to the [Google API key documentation](https://ai.google.dev/gemini-api/docs/api-key) to find out how to create an API key for Google models.
@@ -66,25 +221,7 @@ Supported models:
* Input (1m) token price: 0.3$
* Output (1m) token price: 2.5$
-## Open AI
-
-Please refer to the [Open AI API key documentation](https://platform.openai.com/api-keys) to find out how to create API keys for Open AI models.
-
-Supported models:
-* Gpt-4o (Recommended - high performance)
- * Input (1m) token price: 2.5$
- * Output (1m) token price: 10$
-* Gpt-4o-mini (Recommended - cost efficiency)
- * Input (1m) token price: 0.15$
- * Output (1m) token price: 0.6$
-* o3-mini (Recommended - cost efficiency, high performance but slow speed)
- * Input (1m) token price: 1.1$
- * Output (1m) token price: 4.4$
-* o4-mini (Recommended - cost efficiency, high performance but slow speed)
- * Input (1m) token price: 1.1$
- * Output (1m) token price: 4.4$
-
-## Amazon Bedrock
+### Amazon Bedrock
Please refer to [AWS API key documentation](https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started-api.html) to find out how to create Access key IDs and Secret access keys.
@@ -121,7 +258,7 @@ Supported models:
* Input (1m) token price: 3$
* Output (1m) token price: 12$
-## Other Models (Custom)
+### Other Models (Custom)
It’s possible to connect any model that supports the OpenAI API standard. To do this, choose the *Custom* provider,
enter the model URL, model name, and API key.
diff --git a/docs/trendz/data-filtering.md b/docs/trendz/data-filtering.md
index 9429a0e15f..fc958d44cf 100755
--- a/docs/trendz/data-filtering.md
+++ b/docs/trendz/data-filtering.md
@@ -59,7 +59,7 @@ Same logic work if you want to filter asset/devices by customer that they belong
## Filter by date
This feature allows the filtering of telemetry data based on specific date periods, providing greater control over how data is displayed. You can filter your telemetry data by:
-* **Hour:** Filters data by the hour of the day (0-59).
+* **Hour:** Filters data by the hour of the day (0-23).
* **Day:** Filters data by the day of the week (Mon-Sun).
* **Date:** Filters data by the day of the month (1-31).
* **Month:** Filters data by the month of the year (Jan-Dec).
diff --git a/docs/trendz/getting-started.md b/docs/trendz/getting-started.md
index 9924d980d2..75b087c6ca 100644
--- a/docs/trendz/getting-started.md
+++ b/docs/trendz/getting-started.md
@@ -307,7 +307,7 @@ Firstly, we will create a calculated field, it could be used across multiple vie
* Enable *calculation result saving* and click the **Save** button
(you can leave the other properties as default)
-Your calculated field is now ready to use. Learn more about calculated fields [here](/docs/trendz/calculated-fields).
+Your calculated field is now ready to use. Learn more about calculated fields [here](/docs/trendz/calculations/overview).
{% include images-gallery.html imageCollection="create-calculation" %}
diff --git a/docs/trendz/index.md b/docs/trendz/index.md
index 087154b56c..771a235ad4 100644
--- a/docs/trendz/index.md
+++ b/docs/trendz/index.md
@@ -47,27 +47,50 @@ and explore step-by-step how-to guides for constructing end-to-end IoT solutions
-
+
+
+
-
diff --git a/docs/trendz/metric/generate-new-metric.md b/docs/trendz/metric/generate-new-metric.md
new file mode 100644
index 0000000000..07cdb936dd
--- /dev/null
+++ b/docs/trendz/metric/generate-new-metric.md
@@ -0,0 +1,550 @@
+---
+layout: docwithnav-trendz
+title: Generate New Metrics
+description: Generate new metrics using Trendz Metric Explorer
+
+metric-definition:
+ 0:
+ image: /images/trendz/metric/new-metric/metric-definition.png
+ title: "A Metric Definition is an object that describes a future metric. Basically, it includes Metric Name, Metric Description and How to calculate metrics."
+
+generated-metric:
+ 0:
+ image: /images/trendz/metric/new-metric/generated-metric-1.png
+ title: "A Generated Metric is an implemented metric definition. It contains Python code that can be executed."
+ 1:
+ image: /images/trendz/metric/new-metric/generated-metric-2.png
+ title: "A generated metric does not represent points in ThingsBoard."
+
+native-calculation:
+ 0:
+ image: /images/trendz/metric/new-metric/native-calculation-1.png
+ title: "Each metric can be converted into a Native Calculation Field. This field contains the code from the metric that is already integrated into the Trendz ecosystem."
+ 1:
+ image: /images/trendz/metric/new-metric/native-calculation-2.png
+ title: "At this level, we still do not have points in ThingsBoard."
+ 2:
+ image: /images/trendz/metric/new-metric/native-calculation-3.png
+ title: "But we can use this Calculation Field as a real-time Calculation Field."
+
+native-calculation-with-telemetry:
+ 0:
+ image: /images/trendz/metric/new-metric/native-calculation-with-telemetry.png
+ title: "Native Calculation field with set up a reprocess and refresh job. It has telemetry in ThingsBoard."
+
+create-new-metric:
+ 0:
+ image: /images/trendz/metric/new-metric/create-new-metric-1.png
+ title: "Choose the business entity for which the metric will be generated."
+ 1:
+ image: /images/trendz/metric/new-metric/create-new-metric-2.png
+ title: "Choose the item on which the metric will be tested."
+ 2:
+ image: /images/trendz/metric/new-metric/create-new-metric-3.png
+ title: "Choose the timerange on which the metric will be tested."
+ 3:
+ image: /images/trendz/metric/new-metric/create-new-metric-4.png
+ title: "Click + New Metric."
+
+ai-suggestions:
+ 0:
+ image: /images/trendz/metric/new-metric/ai-suggestions-1.png
+ title: "The AI agent will propose six different metrics based on your telemetries and topology."
+ 1:
+ image: /images/trendz/metric/new-metric/ai-suggestions-2.png
+ title: "You can check each metric by clicking on it - you will see a metric definition (name, description, and how it’s calculated) and use cases."
+ 2:
+ image: /images/trendz/metric/new-metric/ai-suggestions-3.png
+ title: "If you don’t like the generated metrics, click Refresh Ideas to generate new AI suggestions."
+ 3:
+ image: /images/trendz/metric/new-metric/ai-suggestions-4.png
+ title: "If you like a metric, click Implement Field."
+ 4:
+ image: /images/trendz/metric/new-metric/ai-suggestions-5.png
+ title: "Then you will be redirected to the Generated Metric Overview tab."
+
+ai-suggestions-without-ai:
+ 0:
+ image: /images/trendz/metric/new-metric/ai-suggestions-without-ai.png
+ title: "AI Suggestions are disabled if the AI Feature Metric Code Assistant is not enabled."
+
+create-manually:
+ 0:
+ image: /images/trendz/metric/new-metric/create-manually-1.png
+ title: "To switch to Create Manually option, click Create Manually button."
+ 1:
+ image: /images/trendz/metric/new-metric/create-manually-2.png
+ title: "If you want to generate a metric without AI, just submit a Field Name."
+ 2:
+ image: /images/trendz/metric/new-metric/create-manually-3.png
+ title: "If you want to generate it with AI, click the checkbox Use AI to create metric, and then fill in these fields Description and Computation Logic and Use Relations."
+ 3:
+ image: /images/trendz/metric/new-metric/create-manually-4.png
+ title: "When everything is submitted, click Create Custom Field."
+ 4:
+ image: /images/trendz/metric/new-metric/create-manually-5.png
+ title: "Then you will be redirected to the Generated Metric Overview tab."
+
+create-manually-without-ai:
+ 0:
+ image: /images/trendz/metric/new-metric/create-manually-without-ai.png
+ title: "Generate with AI is disabled if the AI Feature Metric Code Assistant is not enabled."
+
+code-editor:
+ 0:
+ image: /images/trendz/metric/new-metric/code-editor-1.png
+ title: "Once the code is modified, you can save it using the Save Changes button."
+ 1:
+ image: /images/trendz/metric/new-metric/code-editor-2.png
+ title: "Once the code is modified, you can revert changes using the Cancel Changes button."
+ 2:
+ image: /images/trendz/metric/new-metric/code-editor-3.png
+ title: "If the code has problems, you’ll see a red cross next to the line with the issue."
+
+test-code:
+ 0:
+ image: /images/trendz/metric/new-metric/test-code-1.png
+ title: "To test code, press the Run Test button."
+ 1:
+ image: /images/trendz/metric/new-metric/test-code-2.png
+ title: "Then you’ll be redirected to the graph."
+
+show-logs:
+ 0:
+ image: /images/trendz/metric/new-metric/show-logs.png
+ title: "To access the log section, click the Logs button in the upper-left corner of the screen."
+
+show-details:
+ 0:
+ image: /images/trendz/metric/new-metric/show-details.png
+ title: "To view the Metric Definition from which this metric was created, click the Metric Details button."
+
+ai-chat-send:
+ 0:
+ image: /images/trendz/metric/new-metric/ai-chat-send-1.png
+ title: "Type new message in the text field."
+ 1:
+ image: /images/trendz/metric/new-metric/ai-chat-send-2.png
+ title: "Review the new generated code with applied by AI changes."
+
+ai-chat-review:
+ 0:
+ image: /images/trendz/metric/new-metric/ai-chat-review-1.png
+ title: "Click on your past messages."
+ 1:
+ image: /images/trendz/metric/new-metric/ai-chat-review-2.png
+ title: "Review the code that was generated by AI after this message."
+
+ai-chat-edit:
+ 0:
+ image: /images/trendz/metric/new-metric/ai-chat-edit-1.png
+ title: "Click the Edit button next to your message."
+ 1:
+ image: /images/trendz/metric/new-metric/ai-chat-edit-2.png
+ title: "Modify the text and confirm the update."
+ 2:
+ image: /images/trendz/metric/new-metric/ai-chat-edit-3.png
+ title: "Review the new generated code with your applied changes."
+
+ai-chat-clear:
+ 0:
+ image: /images/trendz/metric/new-metric/ai-chat-clear-1.png
+ title: "Click the Clear History button."
+ 1:
+ image: /images/trendz/metric/new-metric/ai-chat-clear-2.png
+ title: "Confirm the action by clicking Clear."
+ 2:
+ image: /images/trendz/metric/new-metric/ai-chat-clear-3.png
+ title: "See empty chat."
+
+ai-assistance-without-ai:
+ 0:
+ image: /images/trendz/metric/new-metric/ai-assistance-without-ai.png
+ title: "The AI assistant is disabled if the AI Feature Metric Code Assistant is not enabled."
+
+create-calculation:
+ 0:
+ image: /images/trendz/metric/new-metric/create-calculation-1.png
+ title: "Click Save Calculation."
+ 1:
+ image: /images/trendz/metric/new-metric/create-calculation-2.png
+ title: "Enter the Calculation Name (shown in Trendz) and Calculation Key (shown in ThingsBoard)."
+ 2:
+ image: /images/trendz/metric/new-metric/create-calculation-3.png
+ title: "Click Save."
+ 3:
+ image: /images/trendz/metric/new-metric/create-calculation-4.png
+ title: "Now the calculation field is saved in Trendz but still does not have telemetry points in ThingsBoard."
+
+run-reprocess:
+ 0:
+ image: /images/trendz/metric/new-metric/run-reprocess-1.png
+ title: "Click the Run button to start the process."
+ 1:
+ image: /images/trendz/metric/new-metric/run-reprocess-2.png
+ title: "Select the time range for reprocessing (this defines the period of data to be saved to ThingsBoard)."
+ 2:
+ image: /images/trendz/metric/new-metric/run-reprocess-3.png
+ title: "Choose the items to include in the save operation (you can select the current item, all items, or a subset of items)."
+ 3:
+ image: /images/trendz/metric/new-metric/run-reprocess-4.png
+ title: "Click Run to begin the task."
+ 4:
+ image: /images/trendz/metric/new-metric/run-reprocess-5.png
+ title: "Wait until the reprocess task completes. You can navigate to other metrics while the process is running."
+
+metric-rename:
+ 0:
+ image: /images/trendz/metric/new-metric/metric-rename-1.png
+ title: "Click the Change Name button next to the metric name."
+ 1:
+ image: /images/trendz/metric/new-metric/metric-rename-2.png
+ title: "Enter a new name and click Save."
+ 2:
+ image: /images/trendz/metric/new-metric/metric-rename-3.png
+ title: "The metric name was changed."
+
+metric-delete:
+ 0:
+ image: /images/trendz/metric/new-metric/metric-delete-1.png
+ title: "Click the Delete button next to the metric name."
+ 1:
+ image: /images/trendz/metric/new-metric/metric-delete-2.png
+ title: "Click Delete again to confirm."
+ 2:
+ image: /images/trendz/metric/new-metric/metric-delete-3.png
+ title: "The metric was deleted."
+
+open-calculation:
+ 0:
+ image: /images/trendz/metric/new-metric/open-calculation-1.png
+ title: "Click Open Calculation button."
+ 1:
+ image: /images/trendz/metric/new-metric/open-calculation-2.png
+ title: "The calculation field was opened."
+
+associated-calculation:
+ 0:
+ image: /images/trendz/metric/new-metric/associated-calculation-1.png
+ title: 'If the code of the associated Calculation Field was modified, you will see the warning "Calculation field is not synced with the metric".'
+ 1:
+ image: /images/trendz/metric/new-metric/associated-calculation-2.png
+ title: 'If the metric itself was changed, you will see the warning "Calculation field is outdated and needs to be updated".'
+
+update-calculation:
+ 0:
+ image: /images/trendz/metric/new-metric/update-calculation-1.png
+ title: "Click Save calculation button."
+ 1:
+ image: /images/trendz/metric/new-metric/update-calculation-2.png
+ title: "Choose Update existing calculation option and click Save button to update the associated Calculation Field."
+ 2:
+ image: /images/trendz/metric/new-metric/update-calculation-3.png
+ title: "Choose Create new calculation option and click Save button to create new Calculation Field."
+
+tabs-create-calculation:
+ 0:
+ image: /images/trendz/metric/new-metric/tabs-create-calculation-1.png
+ title: "If a Native Calculation isn't created for the chosen metric, you will be prompted to create a Calculation Field from it."
+ 1:
+ image: /images/trendz/metric/new-metric/tabs-create-calculation-2.png
+ title: "If a Native Calculation isn't created for the chosen metric, you will be prompted to create a Calculation Field from it."
+
+tabs-reprocess-calculation:
+ 0:
+ image: /images/trendz/metric/new-metric/tabs-reprocess-calculation-1.png
+ title: "If a Native Calculation was created from the chosen metric but has no points in the selected time range, you will be prompted to run a reprocess job to save data points to ThingsBoard."
+ 1:
+ image: /images/trendz/metric/new-metric/tabs-reprocess-calculation-2.png
+ title: "If a Native Calculation was created from the chosen metric but has no points in the selected time range, you will be prompted to run a reprocess job to save data points to ThingsBoard."
+
+tabs-with-data:
+ 0:
+ image: /images/trendz/metric/new-metric/tabs-with-data.png
+ title: "Once telemetry is saved to ThingsBoard, you can check the generated data on each tab."
+
+---
+
+* TOC
+{:toc}
+
+## Key Concepts
+
+Trendz Metric Explorer allows you to create new metrics from existing telemetries. Let's describe the flow of metric creation:
+
+### Metric Definition
+
+A Metric Definition is an object that describes a future metric. Basically, it includes:
+
+1. **Metric Name** - The name that will appear in the fields tab (in the generated metrics folder).
+2. **Metric Description** - A short description explaining what this metric should do.
+3. **How to calculate metrics** - A step-by-step instruction explaining how to calculate this metric.
+
+A Metric Definition does not have any implementation, it’s just a textual description of what should be implemented - a blueprint for a future metric.
+
+{% include images-gallery.html imageCollection="metric-definition" %}
+
+### Generated Metric
+
+A Generated Metric is an implemented metric definition. It contains Python code that can be executed to generate telemetry
+points (graph or table of values). A metric does not represent points in ThingsBoard, it calculates values in real time.
+Also, you cannot use a generated metric directly in the Trendz ecosystem - it’s just a template for a future ThingsBoard telemetry.
+
+{% include images-gallery.html imageCollection="generated-metric" %}
+
+### Native Calculation Field
+
+Each metric can be converted into a **Native Calculation Field**. This field contains the code from the metric that is already integrated
+into the Trendz ecosystem. At this level, we still do not have points in ThingsBoard, but we can use this Calculation Field as a
+real-time Calculation Field.
+
+Read more about Native Calculation Fields [here](/docs/trendz/calculations/native/).
+
+{% include images-gallery.html imageCollection="native-calculation" %}
+
+### Native Calculation Field with Telemetry Points
+
+To save telemetry points to ThingsBoard, it’s necessary to set up a **reprocess** or **refresh job** for the Native Calculation Field.
+
+The flow of saving metric telemetry to ThingsBoard is described [here](/docs/trendz/metric/save-to-thingsboard/).
+
+{% include images-gallery.html imageCollection="native-calculation-with-telemetry" %}
+
+## Create New Metric
+
+To create a new metric, you need to:
+
+1. Choose the business entity for which the metric will be generated.
+2. Choose the item on which the metric will be tested.
+3. Choose the timerange on which the metric will be tested.
+4. Click **+ New Metric**.
+
+{% include images-gallery.html imageCollection="create-new-metric" %}
+
+You will see two options:
+
+### AI Suggestions
+
+The AI agent will propose six different metrics based on your telemetries and topology. You can check each metric
+by clicking on it - you will see a metric definition (name, description, and how it’s calculated) and use cases.
+
+If you don’t like the generated metrics, click **Refresh Ideas** to generate new AI suggestions.
+
+If you like a metric, click **Implement Field**. Then you will be redirected to the **Generated Metric Overview** tab.
+This tab’s functionality will be covered later in this article.
+
+{% include images-gallery.html imageCollection="ai-suggestions" %}
+
+**Important note:** AI Suggestions are disabled if the AI Feature **Metric Code Assistant** is not enabled.
+Learn how to enable it [here](/docs/trendz/custom-ai-model-configuration/).
+
+{% include images-gallery.html imageCollection="ai-suggestions-without-ai" %}
+
+### Create Manually
+
+This option allows you to create any metric you want, with or without AI assistance.
+To switch to it, click **Create Manually** button.
+
+If you want to generate a metric without AI, just submit a **Field Name**. You will see this name in the
+generated metrics folder.
+
+If you want to generate it with AI, click the checkbox **Use AI to create metric**, and then fill in these fields:
+
+1. **Description and Computation Logic** - Describe what your field should do and how it should be implemented.
+2. **Use Relations** - If yes, this code will be able to use telemetries from related entities.
+
+When everything is submitted, click **Create Custom Field** and you will be redirected to the overview tab with the generated code.
+This functionality is described in the next section.
+
+{% include images-gallery.html imageCollection="create-manually" %}
+
+**Important note:** Generate with AI is disabled if the AI Feature **Metric Code Assistant** is not enabled.
+Learn how to enable it [here](/docs/trendz/custom-ai-model-configuration/).
+
+{% include images-gallery.html imageCollection="create-manually-without-ai" %}
+
+## Generated Metrics Actions
+
+You can access the **Generated Metrics Overview** section in several ways:
+
+1. Click on any metric from the **Generated Metric Fields** section.
+2. Implement a metric using methods from the **Create New Metric** section of this documentation.
+
+If you generated the metric without AI, you will see an empty code editor; otherwise, you will see AI-generated code.
+
+### Code Editor
+
+In the code editor, you can write or modify metric code. This code has the same syntax as the Native Calculation Field.
+You can read about it [here](/docs/trendz/calculations/native/).
+
+Once the code is modified, you can save it using the **Save Changes** button or revert changes using **Cancel Changes** button.
+
+If the code has problems, you’ll see a red cross next to the line with the issue.
+
+{% include images-gallery.html imageCollection="code-editor" %}
+
+### Test Code
+
+To test code, press the **Run Test** button. Then you’ll be redirected to the graph. The logic of this graph is the
+same as in the overview tab of a regular metric. This graph or table will show points that the metric code
+generates for the chosen item. You can read more about the overview tab [here](/docs/trendz/metric/overview/#overview-tab).
+
+{% include images-gallery.html imageCollection="test-code" %}
+
+### Show Logs
+
+To access the log section, click the **Logs** button in the upper-left corner of the screen.
+
+{% include images-gallery.html imageCollection="show-logs" %}
+
+### Show Details
+
+To view the Metric Definition from which this metric was created, click the **Metric Details** button.
+
+{% include images-gallery.html imageCollection="show-details" %}
+
+### AI Assistant
+
+To interact with AI Assistant, click the Ask AI button. You can:
+
+1. Ask questions about your code.
+2. Request AI to rewrite or refactor code.
+3. Ask AI to detect and fix bugs.
+
+In the chat interface, you can:
+
+**Send a new message to the chat:**
+
+1. Type new message in the text field.
+2. Review the new generated code with applied by AI changes.
+
+{% include images-gallery.html imageCollection="ai-chat-send" %}
+
+**Review code generated in previous interactions:**
+
+1. Click on your past messages.
+2. Review the code that was generated by AI after this message.
+
+{% include images-gallery.html imageCollection="ai-chat-review" %}
+
+**Edit previous messages to rerun them with modifications:**
+
+1. Click the Edit button next to your message.
+2. Modify the text and confirm the update.
+3. Review the new generated code with your applied changes.
+
+{% include images-gallery.html imageCollection="ai-chat-edit" %}
+
+**Clear chat history:**
+
+1. Click the Clear History button.
+2. Confirm the action by clicking Clear.
+
+{% include images-gallery.html imageCollection="ai-chat-clear" %}
+
+**Important note:** The AI Assistant will only be available if the AI Feature **Metric Code Assistant** is not enabled.
+Learn how to enable it [here](/docs/trendz/custom-ai-model-configuration/).
+
+{% include images-gallery.html imageCollection="ai-assistance-without-ai" %}
+
+### Create Calculation Field
+
+You can use the metric across Trendz and even ThingsBoard by saving it to the Native Calculation. To do this:
+
+1. Click **Save Calculation**.
+2. Enter the **Calculation Name** (shown in Trendz) and **Calculation Key** (shown in ThingsBoard).
+3. Click **Save**.
+
+Now the calculation field is saved in Trendz but still does not have telemetry points in ThingsBoard.
+
+{% include images-gallery.html imageCollection="create-calculation" %}
+
+You can also be prompted to run a **Reprocess Task** that saves data to ThingsBoard:
+
+1. Click the **Run** button to start the process.
+2. Select the **time range** for reprocessing (this defines the period of data to be saved to ThingsBoard).
+3. Choose the **items** to include in the save operation (you can select the current item, all items, or a subset of items).
+4. Click **Run** to begin the task.
+5. Wait until the reprocess task completes. You can navigate to other metrics while the process is running.
+
+Once the reprocess task is completed, the telemetry points will be saved to ThingsBoard.
+
+{% include images-gallery.html imageCollection="run-reprocess" %}
+
+For detailed instructions on saving telemetries to ThingsBoard, follow the [guide](/docs/trendz/metric/use-in-thingsboard/).
+
+### Manage Associated Calculation Field
+
+If the metric has an associated Calculation Field, you can open it by clicking the **Open Calculation** button.
+
+{% include images-gallery.html imageCollection="open-calculation" %}
+
+If the code of the associated Calculation Field was modified, you will see the warning **"Calculation field is not synced with the metric"**.
+If the metric itself was changed, you will see the warning **"Calculation field is outdated and needs to be updated"**.
+
+{% include images-gallery.html imageCollection="associated-calculation" %}
+
+To update the associated Calculation Field or create a new one:
+
+1. Click the **Save calculation** button.
+2. Choose **Update existing calculation** and click **Save** to update the associated Calculation Field.
+3. Choose **Create new calculation** and click **Save** to create a new Calculation Field.
+
+If the **Create new calculation** option is selected, the metric will now be associated with the newly created Calculation Field.
+
+{% include images-gallery.html imageCollection="update-calculation" %}
+
+### Other Actions
+
+To rename a metric:
+
+1. Click the **Change Name** button next to the metric name.
+2. Enter a new name.
+3. Click **Save**.
+
+{% include images-gallery.html imageCollection="metric-rename" %}
+
+To delete a metric:
+
+1. Click the **Delete** button next to the metric name.
+2. Click **Delete** again to confirm.
+
+{% include images-gallery.html imageCollection="metric-delete" %}
+
+## Tabs Section
+
+It's possible to see **Statistics**, **Time Patterns**, and **Range Analysis** for a generated metric only if it has a
+corresponding Native Calculation, for which telemetry data is present in ThingsBoard for the chosen time range.
+
+If a Native Calculation isn't created for the chosen metric, you will be prompted to create a Calculation Field from it.
+
+{% include images-gallery.html imageCollection="tabs-create-calculation" %}
+
+If a Native Calculation was created from the chosen metric but has no points in the selected time range, you will be prompted
+to run a reprocess job to save data points to ThingsBoard.
+
+{% include images-gallery.html imageCollection="tabs-reprocess-calculation" %}
+
+Once telemetry is saved to ThingsBoard, you can check the generated data on each tab.
+
+{% include images-gallery.html imageCollection="tabs-with-data" %}
+
+Read more about these tabs [here](/docs/trendz/metric/overview/#tabs-section).
+
+For detailed instructions on saving telemetries to ThingsBoard, follow the [guide](/docs/trendz/metric/use-in-thingsboard/).
+
+## Best Practices
+
+1. If you need to create a specific metric, use AI to create it in **Manual** mode.
+2. If generated code isn’t working: check logs, verify relations.
+3. If generated code fails by timeout: increase it for the Python Executor or check how often `get_telemetries`
+ is called. If it’s called in a loop, ask AI to call it once per device. This can improve performance. You
+ can also decrease the time range to reduce the number of analyzed points.
+4. Give clear instructions to AI - not just “Fix my code,” but point out the cause of the bug.
+5. Save your work regularly using the **Save** button.
+6. You can ask AI to create code with more comments to explain what each part does or ask it to remove them to make
+ the code more readable. You can also ask it to add more logs for better debugging in the logs section.
+
+## Next Steps
+
+{% assign currentGuide = "MetricExplorer" %}{% include templates/trndz-guides-banner.md %}
diff --git a/docs/trendz/metric/overview.md b/docs/trendz/metric/overview.md
new file mode 100644
index 0000000000..bfb797139c
--- /dev/null
+++ b/docs/trendz/metric/overview.md
@@ -0,0 +1,377 @@
+---
+layout: docwithnav-trendz
+title: Metric Exploration Overview
+description: Introducing into metric exploration in Trendz
+
+section-overview:
+ 0:
+ image: /images/trendz/metric/overview/section-overview-1.png
+ title: 'Header - Entity, Item, and Timerange selection.'
+ 1:
+ image: /images/trendz/metric/overview/section-overview-2.png
+ title: 'Fields Section - Telemetries and attributes grouped by category.'
+ 2:
+ image: /images/trendz/metric/overview/section-overview-3.png
+ title: 'Tabs Section - Data analysis and visualization tools.'
+
+header-overview:
+ 0:
+ image: /images/trendz/metric/overview/header-overview-1.png
+ title: 'Select an Entity (Device or Asset profile).'
+ 1:
+ image: /images/trendz/metric/overview/header-overview-2.png
+ title: 'Select an Item (Device or Asset) you want to explore.'
+ 2:
+ image: /images/trendz/metric/overview/header-overview-3.png
+ title: 'Specify the timerange for the analysis.'
+ 3:
+ image: /images/trendz/metric/overview/header-overview-4.png
+ title: 'Choose a metric (telemetry or attribute) for analysis.'
+
+fields-overview:
+ 0:
+ image: /images/trendz/metric/overview/fields-overview-1.png
+ title: 'Anomaly - Anomalies (Anomaly Score or Anomaly Score Index) detected by Trendz Anomaly Models and saved to ThingsBoard.'
+ 1:
+ image: /images/trendz/metric/overview/fields-overview-2.png
+ title: 'Attribute - Attributes from ThingsBoard.'
+ 2:
+ image: /images/trendz/metric/overview/fields-overview-3.png
+ title: 'Calculation - Calculations saved by Trendz Calculation Fields to ThingsBoard.'
+ 3:
+ image: /images/trendz/metric/overview/fields-overview-4.png
+ title: 'Generated Metrics - Metrics created by the Metric Explorer.'
+ 4:
+ image: /images/trendz/metric/overview/fields-overview-5.png
+ title: 'Prediction - Predictions generated by Trendz Prediction Models and saved to ThingsBoard.'
+ 5:
+ image: /images/trendz/metric/overview/fields-overview-6.png
+ title: 'Telemetry - Raw telemetries from ThingsBoard.'
+
+inactive-telemetries:
+ 0:
+ image: /images/trendz/metric/overview/inactive-telemetries-1.png
+ title: 'If a telemetry you are interested in is missing, click the Show Inactive Telemetries button to display telemetries that exist for the item but have no data in the selected timerange.'
+ 1:
+ image: /images/trendz/metric/overview/inactive-telemetries-2.png
+ title: 'If a telemetry you are interested in is missing, click the Show Inactive Telemetries button to display telemetries that exist for the item but have no data in the selected timerange.'
+ 2:
+ image: /images/trendz/metric/overview/topology-discovery.png
+ title: 'If it still does not appear, perform a refresh topology to sync the latest ThingsBoard structure with Trendz.'
+
+new-metric-button:
+ 0:
+ image: /images/trendz/metric/overview/new-metric-button.png
+ title: 'You can also use the + New Metric button to create new metrics from existing ones.'
+
+fields-attributes:
+ 0:
+ image: /images/trendz/metric/overview/examples-attributes.png
+ title: 'Clicking an attribute displays its value.'
+
+telemetry-tabs:
+ 0:
+ image: /images/trendz/metric/overview/telemetry-tabs-1.png
+ title: 'Overview - Line chart or table view of telemetry values.'
+ 1:
+ image: /images/trendz/metric/overview/telemetry-tabs-2.png
+ title: 'Statistics - Basic statistical summary for the selected timerange.'
+ 2:
+ image: /images/trendz/metric/overview/telemetry-tabs-3.png
+ title: 'Time Patterns - Behavioral patterns across time units.'
+ 3:
+ image: /images/trendz/metric/overview/telemetry-tabs-4.png
+ title: 'Range Analysis - Distribution of telemetry values over time and range intervals.'
+
+go-to-entity:
+ 0:
+ image: /images/trendz/metric/overview/go-to-entity-1.png
+ title: 'Go to Entity button for quick navigation to the related Trendz entity.'
+ 1:
+ image: /images/trendz/metric/overview/go-to-entity-2.png
+ title: 'Go to Entity button for quick navigation to the related Trendz entity.'
+
+fields-generated-metrics:
+ 0:
+ image: /images/trendz/metric/overview/examples-generated-metrics.png
+ title: 'Displays metrics generated directly within the Metric Explorer.'
+
+autoscale:
+ 0:
+ image: /images/trendz/metric/overview/autoscale-1.png
+ title: 'When autoscale is disabled, the chart’s Y-axis range starts at 0 and ends at the maximum value.'
+ 1:
+ image: /images/trendz/metric/overview/autoscale-2.png
+ title: 'When autoscale is enabled, the Y-axis range starts at the minimum value and ends at the maximum value.'
+
+tabs-overview-charts:
+ 0:
+ image: /images/trendz/metric/overview/tabs-overview-charts-1.png
+ title: 'Switch between Table and Line Chart views.'
+ 1:
+ image: /images/trendz/metric/overview/tabs-overview-charts-2.png
+ title: 'Switch between Table and Line Chart views.'
+
+tabs-overview-aggregation:
+ 0:
+ image: /images/trendz/metric/overview/tabs-overview-aggregation-1.png
+ title: 'Configure grouping units'
+ 1:
+ image: /images/trendz/metric/overview/tabs-overview-aggregation-2.png
+ title: 'Configure aggregation methods'
+
+tabs-statistics:
+ 0:
+ image: /images/trendz/metric/overview/telemetry-tabs-2.png
+ title: 'Displays fundamental statistics for the telemetry within the selected timerange.'
+
+tabs-time-patterns:
+ 0:
+ image: /images/trendz/metric/overview/tabs-time-patterns-1.png
+ title: 'Hour of Day Distribution - Aggregation by hour of day.'
+ 1:
+ image: /images/trendz/metric/overview/tabs-time-patterns-2.png
+ title: 'Day of Week Distribution - Aggregation by day of week.'
+ 2:
+ image: /images/trendz/metric/overview/tabs-time-patterns-3.png
+ title: 'Weekly Heatmap - Aggregation by hour and weekday.'
+ 3:
+ image: /images/trendz/metric/overview/tabs-time-patterns-4.png
+ title: 'Calendar Heatmap - Aggregation by calendar days.'
+
+tabs-range-default-actions:
+ 0:
+ image: /images/trendz/metric/overview/tabs-range-default-actions-1.png
+ title: 'Configure ranges with colors.'
+ 1:
+ image: /images/trendz/metric/overview/tabs-range-default-actions-2.png
+ title: 'Remove ranges.'
+ 2:
+ image: /images/trendz/metric/overview/tabs-range-default-actions-3.png
+ title: 'Add ranges.'
+ 3:
+ image: /images/trendz/metric/overview/tabs-range-default-actions-4.png
+ title: 'Reset to default (three automatically calculated ranges).'
+
+tabs-range-views:
+ 0:
+ image: /images/trendz/metric/overview/tabs-range-views-1.png
+ title: 'After configuration, click Rebuild to build views.'
+ 1:
+ image: /images/trendz/metric/overview/tabs-range-views-2.png
+ title: 'Summary Cards - Total duration or percentage.'
+ 2:
+ image: /images/trendz/metric/overview/tabs-range-views-3.png
+ title: 'Charts - Duration or percentage grouped by time.'
+ 3:
+ image: /images/trendz/metric/overview/tabs-range-views-4.png
+ title: 'Range Summary - Most frequent range and analysis period.'
+
+tabs-range-customization:
+ 0:
+ image: /images/trendz/metric/overview/tabs-range-customization-1.png
+ title: 'Value Aggregation - Duration or duration percent.'
+ 1:
+ image: /images/trendz/metric/overview/tabs-range-customization-2.png
+ title: 'Time Aggregation - Select time unit.'
+ 2:
+ image: /images/trendz/metric/overview/tabs-range-customization-3.png
+ title: 'Chart Type - Line Chart.'
+ 3:
+ image: /images/trendz/metric/overview/tabs-range-customization-4.png
+ title: 'Chart Type - Stacked Bar.'
+
+tabs-range-save-view:
+ 0:
+ image: /images/trendz/metric/overview/tabs-range-save-view-1.png
+ title: 'Click Save View'
+ 1:
+ image: /images/trendz/metric/overview/tabs-range-save-view-2.png
+ title: 'Click Save'
+ 2:
+ image: /images/trendz/metric/overview/tabs-range-save-view-3.png
+ title: 'The view is saved.'
+
+---
+
+* TOC
+{:toc}
+
+The **Trendz Metric Explorer** is a feature that allows users to validate which telemetries have data, review statistics,
+analyze time patterns, and explore general telemetry behavior. It also enables the generation of new metrics from existing
+ones using **AI Assistance** or **AI Suggestions**. All generated metrics can be fully integrated into the Trendz ecosystem
+and used within **ThingsBoard**.
+
+You can access the Metric Explorer by clicking the  icon.
+
+The interface consists of three main sections:
+
+1. **Header** - Entity, Item, and Timerange selection.
+2. **Fields Section** - Telemetries and attributes grouped by category.
+3. **Tabs Section** - Data analysis and visualization tools.
+
+{% include images-gallery.html imageCollection="section-overview" %}
+
+To begin, select an **Entity** (Device or Asset profile), an **Item** (Device or Asset) you want to explore and specify
+the **timerange** for the analysis - you can change these settings at any time during exploring.
+
+After selecting the entity, item, and timerange, choose a metric (telemetry or attribute) for analysis. Interaction with
+metrics is described in the next section.
+
+{% include images-gallery.html imageCollection="header-overview" %}
+
+## Fields Section
+
+This section displays all telemetries and attributes available in both ThingsBoard and Trendz.
+
+Telemetries and attributes are divided into up to six groups:
+
+1. **Anomaly** - Anomalies (Anomaly Score or Anomaly Score Index) detected by Trendz Anomaly Models and saved to ThingsBoard.
+2. **Attribute** - Attributes from ThingsBoard.
+3. **Calculation** - Calculations saved by Trendz Calculation Fields to ThingsBoard.
+4. **Generated Metrics** - Metrics created by the Metric Explorer.
+5. **Prediction** - Predictions generated by Trendz Prediction Models and saved to ThingsBoard.
+6. **Telemetry** - Raw telemetries from ThingsBoard.
+
+{% include images-gallery.html imageCollection="fields-overview" %}
+
+> Note: Groups are only shown if the item contains telemetries in that category.
+
+Each group lists all available telemetries. If a telemetry you are interested in is missing, click the **Show Inactive Telemetries** button to
+display telemetries that exist for the item but have no data in the selected timerange. If it still does not appear,
+perform a **topology discovery** to sync the latest ThingsBoard structure with Trendz.
+
+{% include images-gallery.html imageCollection="inactive-telemetries" %}
+
+You can also use the **+ New Metric** button to create new metrics from existing ones. This functionality is described [here](/docs/trendz/metric/generate-new-metric).
+
+{% include images-gallery.html imageCollection="new-metric-button" %}
+
+### Attributes
+
+Lists all attributes of the selected item with their corresponding Trendz business entity fields.
+Clicking an attribute displays its value.
+
+{% include images-gallery.html imageCollection="fields-attributes" %}
+
+### Telemetries
+
+Displays all telemetries of the selected item that have at least one data point within the timerange.
+
+Each telemetry offers four tabs:
+
+1. **Overview** - Line chart or table view of telemetry values.
+2. **Statistics** - Basic statistical summary for the selected timerange.
+3. **Time Patterns** - Behavioral patterns across time units.
+4. **Range Analysis** - Distribution of telemetry values over time and range intervals.
+
+Interaction with tabs is described in details in the [Tabs Section](/docs/trendz/metric/overview/#tabs-section).
+
+{% include images-gallery.html imageCollection="telemetry-tabs" %}
+
+### Calculations, Predictions, and Anomalies
+
+Telemetries generated by Trendz entities (Calculation Fields, Prediction Models, or Anomaly Models). These have the same
+tab structure as regular telemetries, with an additional **Go to Entity** button for quick navigation to the related
+Trendz entity.
+
+{% include images-gallery.html imageCollection="go-to-entity" %}
+
+If the field you are interested in does not appear in an appropriate folder, ensure the entity is saving telemetry to ThingsBoard.
+Refer to the respective guides to set up jobs to save telemetry to ThingsBoard:
+
+* [Calculation Field](/docs/trendz/calculations/save-to-thingsboard)
+* [Prediction Model](/docs/trendz/prediction-save-to-tb)
+* [Anomaly Model](/docs/trendz/anomaly/save-to-tb)
+
+### Generated Metrics
+
+Displays metrics generated directly within the Metric Explorer. Read more about generated metrics [here](/docs/trendz/metric/generate-new-metric).
+
+{% include images-gallery.html imageCollection="fields-generated-metrics" %}
+
+## Tabs Section
+
+When a telemetry is selected, the **Tabs Section** displays analytical views useful for exploration.
+
+You can zoom any chart in any tab, using **Ctrl + Mouse Scroll**.
+
+You can enable or disable autoscale for any chart in any tab. When autoscale is disabled, the chart’s Y-axis range
+starts at 0 and ends at the maximum value. When autoscale is enabled, the Y-axis range starts at the minimum value
+and ends at the maximum value.
+
+{% include images-gallery.html imageCollection="autoscale" %}
+
+### Overview Tab
+
+Shows the historical trend of the telemetry within the selected timerange.
+
+* Switch between **Table** and **Line Chart** views.
+
+{% include images-gallery.html imageCollection="tabs-overview-charts" %}
+
+* Configure grouping units and aggregation methods.
+
+{% include images-gallery.html imageCollection="tabs-overview-aggregation" %}
+
+### Statistics Tab
+
+Displays fundamental statistics for the telemetry within the selected timerange:
+
+* **First Data Point** - Earliest available record.
+* **Latest Data Point** - Most recent record.
+* **Avg Step** - Average time gap between points.
+* **Minimum**, **Maximum**, **Average** - Basic numeric summaries.
+* **Volatility** - Frequency of telemetry changes.
+* **Value Distribution** - Histogram showing value spread.
+* **Data Availability** - Histogram showing temporal distribution of points.
+
+{% include images-gallery.html imageCollection="tabs-statistics" %}
+
+### Time Patterns Tab
+
+Analyzes telemetry behavior across time-based aggregations. Independent timeranges and aggregations can be set per chart.
+
+Charts include:
+
+1. **Hour of Day Distribution** - Aggregation by hour of day.
+2. **Day of Week Distribution** - Aggregation by day of week.
+3. **Weekly Heatmap** - Aggregation by hour and weekday.
+4. **Calendar Heatmap** - Aggregation by calendar days.
+
+{% include images-gallery.html imageCollection="tabs-time-patterns" %}
+
+### Range Analysis Tab
+
+Explores telemetry state durations and distributions.
+
+You can:
+
+1. Configure ranges with colors, names, and value limits.
+2. Add or remove ranges.
+3. Reset to default (three automatically calculated ranges).
+
+{% include images-gallery.html imageCollection="tabs-range-default-actions" %}
+
+After configuration, click **Rebuild** to view:
+
+* **Summary Cards** - Total duration or percentage.
+* **Charts** - Duration or percentage grouped by time.
+* **Range Summary** - Most frequent range and analysis period.
+
+{% include images-gallery.html imageCollection="tabs-range-views" %}
+
+Chart customization options:
+
+* **Value Aggregation** - Duration or duration percent.
+* **Time Aggregation** - Select time unit.
+* **Chart Type** - Stacked Bar or Line Chart.
+
+{% include images-gallery.html imageCollection="tabs-range-customization" %}
+
+You can save the range configuration as a **View** using the **Save View** button, and later embed it into a ThingsBoard dashboard.
+Refer to the documentation on sharing views to ThingsBoard for details.
+
+## Next Steps
+
+{% assign currentGuide = "MetricExplorer" %}{% include templates/trndz-guides-banner.md %}
diff --git a/docs/trendz/metric/use-in-thingsboard.md b/docs/trendz/metric/use-in-thingsboard.md
new file mode 100644
index 0000000000..b2f3de047b
--- /dev/null
+++ b/docs/trendz/metric/use-in-thingsboard.md
@@ -0,0 +1,248 @@
+---
+layout: docwithnav-trendz
+title: Use New Metrics in ThingsBoard
+description: Step-by-step guide to use new Metrics in ThingsBoard
+
+calculation-create:
+ 0:
+ image: /images/trendz/metric/use-in-thingsboard/calculation-create-1.png
+ title: "Click Save Calculation."
+ 1:
+ image: /images/trendz/metric/use-in-thingsboard/calculation-create-2.png
+ title: "Specify the following parameters: Calculation Name and Calculation Key"
+ 2:
+ image: /images/trendz/metric/use-in-thingsboard/calculation-create-3.png
+ title: "Click Save"
+ 3:
+ image: /images/trendz/metric/use-in-thingsboard/calculation-create-4.png
+ title: "The calculation field appears in the Calculation folder."
+ 4:
+ image: /images/trendz/metric/use-in-thingsboard/calculation-create-5.png
+ title: "The calculation field appears in the Calculation folder."
+
+calculation-parameters:
+ 0:
+ image: /images/trendz/metric/use-in-thingsboard/calculation-parameters-1.png
+ title: "Before saving telemetry to ThingsBoard, verify Grouping Interval, Aggregation and Time."
+ 1:
+ image: /images/trendz/metric/use-in-thingsboard/calculation-parameters-2.png
+ title: "Click Save Field to apply changes."
+ 2:
+ image: /images/trendz/metric/use-in-thingsboard/calculation-parameters-3.png
+ title: "Click save."
+ 3:
+ image: /images/trendz/metric/use-in-thingsboard/calculation-parameters-4.png
+ title: "You will be prompted to enable the calculation field (run refresh task). You can do it right away or later. The process of running the refresh task is described in another article."
+
+calculation-reprocess:
+ 0:
+ image: /images/trendz/metric/use-in-thingsboard/reprocess-task-1.png
+ title: "Open the Tasks tab and click Run Reprocess Task button."
+ 1:
+ image: /images/trendz/metric/use-in-thingsboard/reprocess-task-2.png
+ title: "Select a time range for reprocessing."
+ 2:
+ image: /images/trendz/metric/use-in-thingsboard/reprocess-task-3.png
+ title: "Choose items to run the job on (you can apply the same calculation to all entities with the same entity profile)."
+ 3:
+ image: /images/trendz/metric/use-in-thingsboard/reprocess-task-4.png
+ title: "Click Run button."
+
+calculation-refresh:
+ 0:
+ image: /images/trendz/metric/use-in-thingsboard/refresh-task-1.png
+ title: "Click the Jobs button."
+ 1:
+ image: /images/trendz/metric/use-in-thingsboard/refresh-task-2.png
+ title: "Enable calculation result saving."
+ 2:
+ image: /images/trendz/metric/use-in-thingsboard/refresh-task-3.png
+ title: "Set the start date (from which data will be saved)."
+ 3:
+ image: /images/trendz/metric/use-in-thingsboard/refresh-task-4.png
+ title: "Define the frequency (how often the job runs)."
+ 4:
+ image: /images/trendz/metric/use-in-thingsboard/refresh-task-5.png
+ title: "Choose the target items (entities with the same entity profile) for automatic updates."
+ 5:
+ image: /images/trendz/metric/use-in-thingsboard/refresh-task-6.png
+ title: "Click Save button."
+ 6:
+ image: /images/trendz/metric/use-in-thingsboard/refresh-task-7.png
+ title: "Once the refresh job is set up, you will see the Enabled status next to the calculation name. "
+
+use-alarms:
+ 0:
+ image: /images/trendz/metric/use-in-thingsboard/use-alarms-1.png
+ title: "Open the entity profile where the calculation is created."
+ 1:
+ image: /images/trendz/metric/use-in-thingsboard/use-alarms-2.png
+ title: "Navigate to Alarm Rules and toggle Edit mode."
+ 2:
+ image: /images/trendz/metric/use-in-thingsboard/use-alarms-3.png
+ title: "Click Add alarm rule and set up create and clear alarm rules."
+ 3:
+ image: /images/trendz/metric/use-in-thingsboard/use-alarms-4.png
+ title: "Click Apply changes."
+ 4:
+ image: /images/trendz/metric/use-in-thingsboard/use-alarms-5.png
+ title: "Alarm rules are set up."
+ 5:
+ image: /images/trendz/metric/use-in-thingsboard/use-alarms-6.png
+ title: "Alarm was created by alarm rule."
+
+---
+
+* TOC
+{:toc}
+
+All metrics created with Metric Explorer can be integrated into ThingsBoard. They can be used wherever telemetry is supported:
+
+* Visualizations
+* Rule Engine
+* Alarm Profiles
+
+Trendz allows you to automatically save metrics as telemetry to ThingsBoard or generate metrics from historical data and store them as telemetry.
+In this guide, we explore how to configure automatic saving of metrics to ThingsBoard and how to use this telemetry in ThingsBoard.
+
+## Save to ThingsBoard
+
+Setting up saving a metric to ThingsBoard is divided into 3 parts:
+
+* Create a calculation field: an entity that supports telemetry save to ThingsBoard.
+* Run a reprocess task to process historical data.
+* Run a refresh task to automatically update telemetry.
+
+### Create Calculation Field
+
+You can create a calculation field from a metric by clicking **Save Calculation**.
+
+Specify the following parameters:
+
+1. **Calculation Name** – the name displayed in Trendz.
+2. **Calculation Key** – the telemetry key used in ThingsBoard (prefixed with `_ECD_`).
+
+**Example:**
+
+If you save a calculation named **Energy Consumption Rate** with the key **energy_consumption_rate**:
+
+1. Trendz will show a new field called *Energy Consumption Rate*.
+2. Telemetry will be saved in ThingsBoard with the key `_ECD_energy_consumption_rate` (once refresh and reprocess jobs are configured).
+
+Then click **Save** — after that, the calculation field appears in the **Calculation** folder.
+
+{% include images-gallery.html imageCollection="calculation-create" %}
+
+Before saving telemetry to ThingsBoard, verify the following parameters:
+
+1. **Grouping Interval** – defines how data is aggregated (e.g., *HOUR* means one point per hour in ThingsBoard).
+2. **Aggregation** – specifies how multiple values in the same interval are combined (e.g., *SUM* aggregates values within the same hour).
+3. **Time** – defines the time range used by refresh jobs (e.g., *Last 7 Days* for daily updates).
+
+**Recommended time settings:**
+
+* **Today** – for minute or hourly jobs.
+* **Last 7 Days** – for daily jobs.
+* **Last 14 Days** – for weekly jobs.
+* **Last 3 Months** – for monthly jobs.
+
+You can also adjust additional parameters as needed. Read more about the calculation field interface [here](/docs/trendz/calculations/overview/).
+
+Click **Save Field** and confirm saving by clicking the **Save** button to apply changes.
+You will be prompted to enable the calculation field (run refresh task). You can do it right away or later.
+The process of running the refresh task is described in another article.
+
+{% include images-gallery.html imageCollection="calculation-create" %}
+
+### Run Reprocess Task
+
+Once the calculation field is created and all parameters are set up, you can run a **Reprocess Job** to save historical
+data to ThingsBoard.
+
+Steps:
+
+1. Open the **Tasks** tab.
+2. Click **Run Reprocess Task** button.
+3. Select a time range for reprocessing.
+4. Choose items to run the job on (you can apply the same calculation to all entities with the same entity profile).
+5. Click **Run** button.
+
+After completion, the telemetry will appear in ThingsBoard with the appropriate key.
+
+{% include images-gallery.html imageCollection="calculation-reprocess" %}
+
+Read more about reprocess task [here](/docs/trendz/calculations/save-to-thingsboard).
+
+### Run Refresh Task
+
+You can automate telemetry updates using a **Refresh Job**.
+
+Steps:
+
+1. Click the **Jobs** button.
+2. Enable **calculation result saving**.
+3. Set the **start date** (from which data will be saved).
+4. Define the **frequency** (how often the job runs).
+5. Choose the target items (entities with the same entity profile) for automatic updates.
+6. Click **Save** button.
+
+Once the refresh job is set up, you will see the **Enabled** status next to the calculation name.
+From now on, telemetry will update automatically at the specified frequency for the selected items.
+
+{% include images-gallery.html imageCollection="calculation-refresh" %}
+
+Read more about refresh task [here](/docs/trendz/calculations/save-to-thingsboard).
+
+## Use in ThingsBoard
+
+Once the calculation field, refresh job, and reprocess job are configured,
+the generated telemetry remains continuously updated in ThingsBoard.
+
+You can now use the metric in ThingsBoard.
+
+### Automatic Alarm Creation
+
+Since the telemetry exists in ThingsBoard, you can create alarms based on it:
+
+1. Open the entity profile where the calculation is created.
+2. Navigate to **Alarm Rules** and toggle **Edit mode**.
+3. Click **Add alarm rule** and set up create and clear alarm rules.
+4. Click **Apply changes**.
+
+**Example:** You can create a metric that calculates deviations from the average temperature for sensors in a building.
+If the deviation exceeds a threshold, an alarm will be triggered. This can detect device overheating or events such as a
+forgotten open window or broken refrigerator.
+
+In this example, we created an alarm rule that triggers alarms when the absolute temperature deviation is greater than
+10 and clears them when it is not. The alarm type is **"Abnormal Temperature"** and the severity is **"Warning"**.
+
+Whenever the calculation refresh produces values that meet the alarm conditions, an alert will be triggered.
+
+{% include images-gallery.html imageCollection="use-alarms" %}
+
+### Trendz Visualizations
+
+Visualize the generated metric using any Trendz widget, such as a line chart, heatmap, or state view
+(from the Range Analysis tab). You can also share the view with ThingsBoard.
+
+Read about Trendz Visualizations [here](/docs/trendz/visualizations-overview).
+
+Read about how to share Trendz Views with ThingsBoard [here](/docs/trendz/embed-visuals).
+
+### Predict Future Values
+
+You can use Trendz **Prediction Models** to forecast future values of the generated metric.
+You can then visualize them and share this view with ThingsBoard.
+
+Learn more about prediction models [here](/docs/trendz/prediction).
+
+### Detect Anomalies
+
+You can detect anomalies or outages in the generated metric using **Trendz Anomaly Models**.
+If an anomaly is found, you can set up automatic alarm creation.
+
+Learn more about anomaly detection [here](/docs/trendz/anomaly/overview).
+
+## Next Steps
+
+{% assign currentGuide = "MetricExplorer" %}{% include templates/trndz-guides-banner.md %}
diff --git a/docs/trendz/mix-sql-datasource.md b/docs/trendz/mix-sql-datasource.md
index 5a5913db3a..295f26f983 100755
--- a/docs/trendz/mix-sql-datasource.md
+++ b/docs/trendz/mix-sql-datasource.md
@@ -4,115 +4,311 @@ assignees:
- vparomskiy
title: Combine data from ThingsBoard and external databases
description: Combine data from ThingsBoard and external SQL databases to compute metrics and analyze trends.
+
+settings-add:
+ 0:
+ image: /images/trendz/datasource/external-datasources-settings-add-1.png
+ title: 'Go to Settings, then the System tab, under the External Data Source section, click Add new data source.'
+ 1:
+ image: /images/trendz/datasource/external-datasources-settings-add-2.png
+ title: 'Fill in the form with your database connection details and click the Save button.'
+
+settings-see:
+ 0:
+ image: /images/trendz/datasource/external-datasources-settings-see-1.png
+ title: 'Under the External Data Source section, click See all data sources.'
+ 1:
+ image: /images/trendz/datasource/external-datasources-settings-see-2.png
+ title: 'Here you will see a table with two columns: Data Source URL, Database type and Actions.'
+
+settings-delete:
+ 0:
+ image: /images/trendz/datasource/external-datasources-settings-delete-1.png
+ title: 'Under the External Data Source section, click See all data sources.'
+ 1:
+ image: /images/trendz/datasource/external-datasources-settings-delete-2.png
+ title: 'Click the three dots under the Actions column and click Delete.'
+ 2:
+ image: /images/trendz/datasource/external-datasources-settings-delete-3.png
+ title: 'External datasource was deleted successfully.'
+
+settings-edit:
+ 0:
+ image: /images/trendz/datasource/external-datasources-settings-edit-1.png
+ title: 'Click the three dots under the Actions column and click Edit.'
+ 1:
+ image: /images/trendz/datasource/external-datasources-settings-edit-2.png
+ title: 'Edit URL/Database Type/Login/Password. Click Save. Confirm the update, verifying which entities would be affected.'
+ 2:
+ image: /images/trendz/datasource/external-datasources-settings-edit-3.png
+ title: 'If the database connection is established, you will see a success message; otherwise, you will see an error message.'
+
+db-data:
+ 0:
+ image: /images/trendz/datasource/external-datasources-db-data.png
+ title: 'Demo data from "building_consumption" table.'
+
+step-1:
+ 0:
+ image: /images/trendz/datasource/external-datasources-step-1-1.png
+ title: 'Go to the Business Entities section and click Add Business Entity.'
+ 1:
+ image: /images/trendz/datasource/external-datasources-step-1-2.png
+ title: 'Enter Name, Table Name, Entity Type and Datasource.'
+
+step-2:
+ 0:
+ image: /images/trendz/datasource/external-datasources-step-2-1.png
+ title: 'Go to the Fields section and click Add field.'
+ 1:
+ image: /images/trendz/datasource/external-datasources-step-2-2.png
+ title: 'Enter Name, Field Type, Query Type, Key and set Use Field as Business Entity Key.'
+
+step-3:
+ 0:
+ image: /images/trendz/datasource/external-datasources-step-3-1.png
+ title: 'Click Add field.'
+ 1:
+ image: /images/trendz/datasource/external-datasources-step-3-2.png
+ title: 'Enter Name, Field Type, Query Type, Key and set Use Field as Telemetry Timestamp.'
+
+step-4:
+ 0:
+ image: /images/trendz/datasource/external-datasources-step-4-1.png
+ title: 'Click Add field.'
+ 1:
+ image: /images/trendz/datasource/external-datasources-step-4-2.png
+ title: 'Enter Name, Field Type, Query Type and Key for heat_consumption column.'
+ 2:
+ image: /images/trendz/datasource/external-datasources-step-4-3.png
+ title: 'Enter Name, Field Type, Query Type and Key for energy_consumption column.'
+
+step-5:
+ 0:
+ image: /images/trendz/datasource/external-datasources-step-5-1.png
+ title: 'Go to the Relations section and click Add relation.'
+ 1:
+ image: /images/trendz/datasource/external-datasources-step-5-2.png
+ title: 'Enter Name, Direction, Selected Business Entity and set Enabled.'
+ 2:
+ image: /images/trendz/datasource/external-datasources-step-5-3.png
+ title: 'Click Save.'
+
+step-6:
+ 0:
+ image: /images/trendz/datasource/external-datasources-step-6-1.png
+ title: 'Go to the home page. Click Create View and choose the Table view type.'
+ 1:
+ image: /images/trendz/datasource/external-datasources-step-6-2.png
+ title: 'Drag and drop the business entity name field associated with the external business entity into the column section (EM building).'
+ 2:
+ image: /images/trendz/datasource/external-datasources-step-6-3.png
+ title: 'Drag and drop any field from the external business entity into the column section (energy_consumption).'
+ 3:
+ image: /images/trendz/datasource/external-datasources-step-6-4.png
+ title: 'Select date range with data.'
+ 4:
+ image: /images/trendz/datasource/external-datasources-step-6-5.png
+ title: 'Click Build Report.'
+
---
* TOC
{:toc}
+
+## Overview
+
+The external datasource features are designed for:
+
+* **Performance optimization**:
+
+ * Significantly reducing load on ThingsBoard.
+ * Increasing the speed of visualization builds.
+ * Optimizing Trendz resource usage, allowing more data to be shown without adding additional RAM to Trendz.
+* **Third-party integrations**:
+
+ * Ability to integrate with data outside the ThingsBoard system.
+
+## External Datasource Table Format
+
+Currently, Trendz supports the following database providers:
+
+* PostgreSQL (version 9.4+)
+* MySQL (version 5.0+)
+* MSSQL (version 2016+)
+* Oracle (version 9i+)
+
+Trendz can use a table from this datasource if:
+
+1. The table contains a column with the Device/Asset ID.
+2. The table contains a column with a bigint timestamp in ms.
+3. All other columns can have any format.
+
+## Manage External SQL Datasource
+
+The first step is to tell Trendz how to connect to your external SQL database.
+
+### Add External SQL Datasource
+
+To add a new external SQL datasource:
+
+* Go to **Settings**, then the **System** tab.
+* Under the **External Data Source** section, click **Add new data source**.
+* Fill in the form with your database connection details:
+
+ * URL in JDBC format
+ * Database Type
+ * Login
+ * Password
+* Click the **Save** button.
+
+If a database connection is established, you will see a success message; otherwise, you will see an error message.
+
+{% include images-gallery.html imageCollection="settings-add" %}
+
+### See All External Datasources
+
+To see all external datasources:
+
+* Go to **Settings**, then the **System** tab.
+* Under the **External Data Source** section, click **See all data sources**.
+
+Here you will see a table with three columns: **Data Source URL**, **Database type** and **Actions**.
+
+{% include images-gallery.html imageCollection="settings-see" %}
+
+To delete an external datasource:
+
+* Click the three dots under the **Actions** column.
+* Click **Delete**.
+* Confirm the deletion, verifying which entities would be affected.
+
+{% include images-gallery.html imageCollection="settings-delete" %}
+
+To edit an external datasource:
+
+* Click the three dots under the **Actions** column.
+* Click **Edit**.
+* Edit URL/Database Type/Login/Password.
+* Confirm the update, verifying which entities would be affected.
+
+If the database connection is established, you will see a success message; otherwise, you will see an error message.
+
+{% include images-gallery.html imageCollection="settings-edit" %}
+
+## Define External Business Entity
+
+To use tables from external data sources, you need to add an external business entity.
+You can read more about business entities [here](/docs/trendz/business-entities).
+
+Here are 6 simple steps to create such a business entity:
+
+For demonstration purposes, we will create an external business entity to pull data from the following PostgreSQL table:
-ThingsBoard is a reliable platform to manage your IoT entities – from devices and assets to customers and users. All these entities produce data: attributes and telemetry information, stored and organized neatly in the system.
-Trendz lets you look at the data, calculate metrics, spot unusual patterns, and even predict what might happen next. But IoT solution is limited by data reported from sensors, there are other systems that can provide useful data for your business.
-To support such cases we updated Trendz to work with more than just ThingsBoard data. You can now also pull data from external SQL databases into Trendz.
-This means you can combine data from ThingsBoard with data from other systems and look at everything together in one place.
-
-**For example:** if you have machine performance data in ThingsBoard and maintenance logs or factory production rates in an external SQL database, you can merge and analyze them together in Trendz.
-
-In this article, we'll show you how this new feature works, give you some examples of how it can be helpful, and walk you through the setup process step by step. Let’s get started!
-
-## Add external SQL datasource
-First step is to tell Trendz how to connect to your external SQL database.
-
-* Got to **Settings** -> **External data sources**
-* Click **Add new datasource** button
-* Fill in the form with your database connection details like, url, login and password. For example
- * **URL**: `jdbc:postgresql://localhost:5432/externaldb`
- * **Login**: `postgres`
- * **Password**: `postgres`
-* Save changes
-
-## Define external Business Entity
-Next step is to tell Trendz what data you want to pull from your external SQL database. Trendz has a concept of `Business Entity` that represents a group of ThingsBoard entities, like device/asset/customer.
-Trendz also supports 'external' business entities that are not stored in ThingsBoard, but in external SQL database. Note that business entity is not a single entity or row in the table,
-but a definition of a group of entities with same common parameters - type, attributes, telemetry fields. Finally, business entities are connected between each other with relations or foreign keys. All this information represent a `topology graph` in Trendz.
-
-To add exeternal business entity in Trendz topology follow these steps:
-* Go to **Business Entities** page in Trendz
-* Click **Add business entity** button
-* Configure `Criteria` tab
- * `Name` - name of the business entity
- * `Entity type` = **EXTERNAL** - this is how Trendz knows that this business entity is not stored in ThingsBoard
- * `Datasource` - select datasource that you added in previous step
- * `Table` - type name of the table that should be used to pull data from
-* Configure `Fields` tab
- * For each column in a table create a separate field under business entity
- * `Name` - name of the field
- * `Key` - column name in the table
- * `Query type` = **TELEMETRY**
- * For timestamp field in external table you must enable `Use Field as Telemetry Timestamp` checkbox
-
-Finally, we need to tell Trendz how external Business Entity conencted with other entities in ThignsBoard. For example, if you have a table with `device_id` column, you can use it to connect external business entity with ThingsBoard devices.
-
-* Configure `Relations` tab
- * Click **Add relation** button
- * `Name` - set name of the relation
- * `Direction` - set to **FROM**
- * `Selected business entity` - select related ThingsBoard business entity from the list
- * Enable created relation
-* Save changes
-
-## Security and data visibility
-With the exciting capability to pull data from both ThingsBoard and external SQL tables into Trendz, it's essential that we address an important aspect: security and data visibility.
-Users should be confident that their data remains protected and is shown only to those with the right permissions. Here's how it works:
-
-An external SQL table might have information for various entities in our system. When creating visualizations in Trendz that combine data from ThingsBoard and these external tables, we prioritize ensuring that users only see what they're allowed to see.
-ThingsBoard already has a system in place where specific user permissions are set for each entity. Trendz taps into these permissions.
-Because Trendz understands how the external SQL table links to entities in ThingsBoard, it can smartly filter data from the external sources.
-
-To give a clearer picture, consider this: Let's say we have an external SQL table storing maintenance history for every machine in a factory.
-Each of these machines is also registered as an entity in ThingsBoard.
-Now, if certain users are only given access to specific machines in ThingsBoard, when they view a Trendz visualization that combines machine data and maintenance history, they'll only see the maintenance details for the machines they have access to.
-
-In this case, if we want to see what was an average maintenance period for factory equiment, Trendz will provide us with an average value based on the data that we have access to.
-In essence, this setup ensures that data remains secure and visible only to the right eyes, maintaining a seamless and trusted user experience.
-
-## Data grouping and aggregation
-In this part we want to explain how Trendz mix data from ThignsBoard and external SQL datasources. To make it we will use a simple example:
-Imagine you want to see a report showing the total maintenance duration for each type of equipment maintenance, broken down monthly for the past year.
-We already have `Equipment` entity in ThingsBoard and `Maintenance` entity in external SQL database. And we alredy configured Trendz topology graph to connect these two entities via relation.
-
-To build such report we need to create a new visualization in Trendz, probably stacked bar chart nad add following fields into it:
-* Equipment serial number (from ThingsBoard) set to `uniq` aggregation.
-* Maintenance type (a text column from an external SQL table) with `uniq` aggregation.
-* Duration (an integer column from the same external SQL table) with `sum` aggregation.
-
-Here is a simplified process how Trendz will build this report:
-* Fetch list of equipment entities form ThignsBoard that are visible to current user.
-* Build SQL query to fetch data from external SQL table. This query will have `WHERE` clause to filter data only for equipment entities that we fetched from ThingsBoard.
-* Add configured filter conditions, time grouping and aggregation functions to the query.
-
-Final query will look like this:
```sql
-SELECT
- date_trunc('month', start_at) AS month_start,
- maintenance_type,
- SUM(duration) AS total_duration
-FROM
- maintenance_history
-WHERE
- equipment_id IN (:ids)
- AND start_at > '2022-01-01'
- AND start_at < '2023-01-01'
-GROUP BY
- maintenance_type,
- date_trunc('month', start_at);
+CREATE TABLE IF NOT EXISTS building_consumption (
+ id UUID PRIMARY KEY,
+ building_id UUID NOT NULL,
+ heat_consumption BIGINT NOT NULL,
+ energy_consumption BIGINT NOT NULL,
+ ts BIGINT NOT NULL
+);
```
-## Save incoming telemetry from ThingsBoard into external SQL table
-Certain telemetry formats can be difficult to fetch for reporting. At times, retrieving and aggregating data can consume a lot of time, affecting performance.
-One effective solution is to utilize external SQL tables. ThingsBord Rule Engine is a palce where we define how incoming telemetry streams are processed in the ssytem.
-By duplicating the incoming telemetry from Rule Engine into custom SQL table, we ensure the data is in an easily accessible format and properly configured indexes further enhance data fetching speeds.
-By registering this table as external business entity in Trendz, we can build reports faster, and utilize the flexibility Trendz offers for data visualization and analysis.
+{% include images-gallery.html imageCollection="db-data" %}
+
+### Step 1: Add External Business Entity
+
+* Go to the **Business Entities** section.
+* Click **Add Business Entity**.
+* Enter any name that you want to see in the left section (*Building Consumption Data*).
+* Set **Entity Type** to "External".
+* Enter the table name from which you want to retrieve data (*building_consumption*). Note: table names are case-sensitive.
+* Choose the datasource from which you want to retrieve data.
+
+{% include images-gallery.html imageCollection="step-1" %}
+
+### Step 2: Add Key Entity Field
+
+* Go to the **Fields** tab.
+* Click **Add field**
+* Enter any name that you want to see in the fields section (*Building ID*).
+* Choose **String** as the field type.
+* Choose **Attribute** as the query type.
+* In the Key field, enter the column name that contains Device/Asset IDs from the specified table (*building_id*). Note: column names are case-sensitive.
+* Check the box **Use Field as Business Entity Key**.
+
+{% include images-gallery.html imageCollection="step-2" %}
+
+### Step 3: Add Timestamp Entity Field
+
+* Click **Add field**.
+* Enter any name that you want to see in the fields section (*Timestamp*).
+* Choose **Numeric** as the field type.
+* Choose **Telemetry** as the query type.
+* In the Key field, enter the column name containing the timestamp in ms for the data from the specified table (*ts*). Note: column names are case-sensitive.
+* Check the box **Use Field as Telemetry Timestamp**.
+
+{% include images-gallery.html imageCollection="step-3" %}
+
+### Step 4: Add Other Telemetry Entity Fields
+
+* Click **Add field**.
+* Enter any name that you want to see in the fields section (*Heat Consumption* / *Energy Consumption*).
+* Choose the appropriate field type for the data.
+* Choose **Telemetry** as the query type.
+* In the Key field, enter the column name of the data you want to use from the specified table (*heat_consumption* / *energy_consumption*). Note: column names are case-sensitive.
+
+Repeat Step 4 as many times as you need to add columns.
+To remove the current field, click the delete button in the upper-right corner.
+You can read more about the business entities tab [here](/docs/trendz/business-entities).
+
+{% include images-gallery.html imageCollection="step-4" %}
+
+### Step 5: Add Relations to ThingsBoard Business Entity
+
+* Go to the **Relations** tab.
+* Click **Add relation**.
+* Enter any name (*External*).
+* Set direction to **TO**.
+* Select the business entity you want to connect the external business entity with, the key column from Step 2 should contain the ID of the device/asset associated with the chosen business entity (*EM building*).
+* Check the **Enabled** box.
+* Click **Save**.
+
+{% include images-gallery.html imageCollection="step-5" %}
+
+### Step 6: Verify by Building a Simple View
+
+Now you can create views associated with the external business entity.
+Note: in the view, it is necessary to use at least one entity from ThingsBoard.
+
+You can build the simplest view to verify that everything is set up properly:
+
+* Go to the home page.
+* Click **Create View** and choose the **Table** view type.
+* Drag and drop the business entity name field associated with the external business entity into the column section (*EM building*).
+* Drag and drop any field from the external business entity into the column section (*energy_consumption*).
+* Select date range with data.
+* Click **Build Report**.
+
+If the view is successfully built, then the external business entity was successfully set up.
+If any errors occur during the build, please validate Steps 1–6.
+
+**Important to highlight:** Trendz can use data from an external datasource only together with related data from ThingsBoard. It could be just item names or other data.
+
+{% include images-gallery.html imageCollection="step-6" %}
+
+## Security and Data Visibility
+
+Trendz ensures that users only see data they are permitted to access. Data from external SQL tables is filtered based on asset/device IDs,
+matching the permissions already set in ThingsBoard.
+
+When combining ThingsBoard and external data in visualizations, Trendz uses the entity links to filter external data.
+For example, if an external table stores maintenance history for factory machines, users will only see maintenance details for machines they have access to in ThingsBoard.
+
+This approach ensures data security and provides accurate insights based solely on accessible data.
-Here is a brief concept how to make it happen:
-* Transform and Enrich Incoming Data: Before storing, enhance inciming telemetry event in ThingsBoard Rule Engine to suit your reporting needs.
-* Create custom rule node in Rule Engine: This node's job will be to save the telemetry data into the external SQL table.
-* Migrate historical data into the external SQL table: This step is optional, but if you want to build reports on historical data that you already have, you'll need to migrate it into the external SQL table.
\ No newline at end of file
+## Next Steps
+
+{% assign currentGuide = "" %}{% include templates/trndz-guides-banner.md %}
+
\ No newline at end of file
diff --git a/docs/trendz/post-installation-steps.md b/docs/trendz/post-installation-steps.md
index 5e10401c07..e2b0220f03 100644
--- a/docs/trendz/post-installation-steps.md
+++ b/docs/trendz/post-installation-steps.md
@@ -129,4 +129,4 @@ There, you can enable the **Use own model** option, select an AI provider (OpenA
For more details on configuring AI Assistant, you can read more [here](/docs/trendz/custom-ai-model-configuration.md).
-
+
diff --git a/docs/trendz/predict-remaining-time.md b/docs/trendz/predict-remaining-time.md
index 81ff6f203b..9cb272cbf2 100755
--- a/docs/trendz/predict-remaining-time.md
+++ b/docs/trendz/predict-remaining-time.md
@@ -15,7 +15,7 @@ Trendz introduces a powerful feature for calculating time-to-event using calcula
With this feature, you can proactively manage resources, set up alarms, and take preventive measures to avoid downtime or failures.
-To learn more about how to set up and use this feature, refer to our detailed guide: [Calculate time to value](/docs/trendz/calculate-time-to-value).
+To learn more about how to set up and use this feature, refer to our detailed guide: [Calculate time to value](/docs/trendz/calculations/time-to-value).
## Next Steps
diff --git a/docs/trendz/settings.md b/docs/trendz/settings.md
index ed1b96453a..811672a147 100644
--- a/docs/trendz/settings.md
+++ b/docs/trendz/settings.md
@@ -148,12 +148,18 @@ Check the status under the **Trendz Settings** section:
- If not installed - uploads the settings.
- If outdated - updates them.
-### AI Assistant
+### AI Settings
-Here it's possible to configure the LLM for the [AI Assistant](/docs/trendz/ai-assistance-overview) and the [AI Widget Summary](/docs/trendz/ai-widget-summary).
-You can learn how to configure a own AI model in the [LLM Configuration guide](/docs/trendz/custom-ai-model-configuration/).
+Here it's possible to configure the AI Model for the next features:
+
+* [Metric Explorer](/docs/trendz/metric/overview)
+* [View AI Assistant](/docs/trendz/ai-assistance-overview)
+* [AI Widget Summary](/docs/trendz/ai-widget-summary)
+
+You can learn how to configure AI Setting [here](/docs/trendz/custom-ai-model-configuration/).
## System
+
### Import / Export
To migrate data from one Trendz instance to another, use the built-in **Import/Export** mechanism.
diff --git a/docs/trendz/visualizations-ai-card.md b/docs/trendz/visualizations-ai-card.md
new file mode 100644
index 0000000000..9f91bdf283
--- /dev/null
+++ b/docs/trendz/visualizations-ai-card.md
@@ -0,0 +1,105 @@
+---
+layout: docwithnav-trendz
+assignees:
+- vparomskiy
+title: AI Card
+---
+
+* TOC
+{:toc}
+
+The AI Card provides a comprehensive view of cumulative telemetry data over a selected time range, enriched with forecasting and an AI-generated summary. This visualization is ideal for monitoring energy consumption, sales metrics, equipment performance, or any cumulative measurements where understanding both historical trends and future projections is critical.
+
+Key Features:
+* **Cumulative Telemetry:** The chart displays cumulative values, where each data point represents the sum of the current and all previous readings within the selected period.
+* **Forecasting:** The card includes a predicted trend for the upcoming period, helping you anticipate future values based on historical patterns.
+* **AI Summary:** An automatically generated interpretation of the data provides quick insights without manual analysis.
+
+## Base AI Card
+
+Follow these steps to create a Base AI Card:
+
+**Step 1: Select Your Telemetry Field.** Choose the specific telemetry field you wish to analyze (e.g., energy consumption, temperature, sales volume).
+
+**Step 2: Configure the Value Column.** Drag and drop your selected telemetry field into the Value column.
+
+**Step 3: Choose Your Time Range.** Select the desired time range for analysis. The system uses this range to determine what data to display and what period to predict. *Example:* If today is October 27th and you select the *This Month* time range, the chart will show real data for the first 27 days and a prediction for the remaining 4 days (October 28th, 29th, 30th, and 31st).
+
+**Step 4: Build the Report.** Once your telemetry and time range are configured, click the Build Report button to generate the card.
+
+The AI Card presents the next key elements (numbered in the screenshot):
+1. **Current Cumulative Value:** The total cumulative value for the selected time range, including the predicted data. This value is color-coded based on performance thresholds
+2. **Difference from Previous Period:** Shows both the absolute change and percentage difference of the Current Cumulative Value compared to the equivalent previous period.
+3. **Historical Data (Solid Line):** Represents actual cumulative telemetry data recorded up to the current day.
+4. **Predicted Data (Dashed Line):** Extends past the current date to show the forecasted trend for the remainder of your selected period.
+5. **Previous Period Trend Area (Shaded Region):** Displays the cumulative trend from the previous equivalent period, providing a visual baseline for comparison against current data
+6. **AI Summary:** An automatically generated interpretation based on analysis of the previous period, current data, and predictions. The summary is created using your selected AI prompt.
+
+
+## AI Card Configuration
+
+### Prediction Configuration
+
+**Prediction Method**
+
+The AI Card uses **Fourier Transformation** as the default prediction method, but you can easily switch to alternative approaches based on your data characteristics.
+
+To change the prediction method:
+1. Click on the telemetry field in the Value column to open settings
+2. Navigate to the Prediction section
+3. Select your desired method from the available options
+
+
+
+**Prediction Time Range**
+
+The AI Card's primary goal is to provide complete analysis (historical plus predicted data) for a specific period.
+
+We recommend using predefined ranges such as *This Month* or *This Year* to ensure the combined real and predicted data covers a meaningful, easy-to-interpret period. But you can select any custom time range.
+The system generates predictions specifically for all dates within that range that fall after the current timestamp.
+
+Example Scenarios:
+* **This Month range:** Combines actual data from the start of the month through today with predictions for the remaining days
+* **Custom range (Oct 1 - Nov 15):** If today is October 27th, shows actual data for Oct 1-27 and predictions for Oct 28 - Nov 15
+
+### AI Summary Configuration
+
+The AI Summary feature provides automatically generated interpretation of your cumulative telemetry data and trends. You control both the feature's visibility and the analysis approach.
+
+If you prefer not to use AI features on the card:
+
+1. Navigate to **Chart settings → AI Assistant menu**
+2. Uncheck **Show AI summary**
+
+The AI prompt determines the focus and content of your generated summary, so you can select the prompt that in the best way interprets your data:
+1. Go to **Chart settings → AI Assistant menu**
+2. Select your desired prompt from the **Prompt** dropdown
+
+You can create custom prompts tailored to your specific use cases. Learn more in the [Trendz AI Prompts Overview](/docs/trendz/ai-assistance-prompts)
+
+
+
+### Value Color Threshold Logic
+
+The AI Card uses color-coding to provide immediate visual feedback on the current cumulative value's performance relative to the previous period.
+
+The current cumulative value displayed at the top of the card changes color based on the magnitude of change compared to the previous period:
+
+* **Blue (Normal Performance):** The value appears in blue when the absolute percentage change is within the threshold range (10% by default). This indicates stable, expected performance.
+
+
+
+* **Red (Significant Deviation):** The value appears in red when the absolute percentage change exceeds the threshold (more than 10% by default). This signals a significant deviation or performance shift requiring attention.
+
+
+
+**Customizing the Threshold**
+
+You can adjust the sensitivity of the color-coding system through the **Value Color Logic** setting:
+* Default: Uses the standard 10% threshold for all color calculations.
+* Custom: Allows you to set a specific threshold percentage that matches your performance monitoring needs.
+ * Example: Set to 5% for more sensitive deviation alerts
+ * Example: Set to 20% for less frequent alerts on larger changes only
+* Unset: Disables color-coding entirely. The current cumulative value displays without color highlighting, regardless of the percentage difference.
+
+
diff --git a/images/trendz/ai-card-prediction.png b/images/trendz/ai-card-prediction.png
new file mode 100644
index 0000000000..3fd2985274
Binary files /dev/null and b/images/trendz/ai-card-prediction.png differ
diff --git a/images/trendz/ai-card-summary.png b/images/trendz/ai-card-summary.png
new file mode 100644
index 0000000000..57c2ad8fec
Binary files /dev/null and b/images/trendz/ai-card-summary.png differ
diff --git a/images/trendz/ai-card-threshold-config.png b/images/trendz/ai-card-threshold-config.png
new file mode 100644
index 0000000000..cab45e25b9
Binary files /dev/null and b/images/trendz/ai-card-threshold-config.png differ
diff --git a/images/trendz/ai-card-threshold-deviation.png b/images/trendz/ai-card-threshold-deviation.png
new file mode 100644
index 0000000000..0f78c78c18
Binary files /dev/null and b/images/trendz/ai-card-threshold-deviation.png differ
diff --git a/images/trendz/ai-card-threshold-normal.png b/images/trendz/ai-card-threshold-normal.png
new file mode 100644
index 0000000000..e10cf426d2
Binary files /dev/null and b/images/trendz/ai-card-threshold-normal.png differ
diff --git a/images/trendz/ai/ai-model-configuration/ai-aws-model-preview.png b/images/trendz/ai/ai-model-configuration/ai-aws-model-preview.png
deleted file mode 100644
index 04fe1bdf7a..0000000000
Binary files a/images/trendz/ai/ai-model-configuration/ai-aws-model-preview.png and /dev/null differ
diff --git a/images/trendz/ai/ai-model-configuration/ai-aws-model.png b/images/trendz/ai/ai-model-configuration/ai-aws-model.png
deleted file mode 100644
index 85accf24ce..0000000000
Binary files a/images/trendz/ai/ai-model-configuration/ai-aws-model.png and /dev/null differ
diff --git a/images/trendz/ai/ai-model-configuration/ai-custom-model-preview.png b/images/trendz/ai/ai-model-configuration/ai-custom-model-preview.png
deleted file mode 100644
index 331fe812e7..0000000000
Binary files a/images/trendz/ai/ai-model-configuration/ai-custom-model-preview.png and /dev/null differ
diff --git a/images/trendz/ai/ai-model-configuration/ai-custom-model.png b/images/trendz/ai/ai-model-configuration/ai-custom-model.png
deleted file mode 100644
index be3233b0c1..0000000000
Binary files a/images/trendz/ai/ai-model-configuration/ai-custom-model.png and /dev/null differ
diff --git a/images/trendz/ai/ai-model-configuration/ai-google-model-preview.png b/images/trendz/ai/ai-model-configuration/ai-google-model-preview.png
deleted file mode 100644
index 2cb6a91781..0000000000
Binary files a/images/trendz/ai/ai-model-configuration/ai-google-model-preview.png and /dev/null differ
diff --git a/images/trendz/ai/ai-model-configuration/ai-google-model.png b/images/trendz/ai/ai-model-configuration/ai-google-model.png
deleted file mode 100644
index 6f286233ef..0000000000
Binary files a/images/trendz/ai/ai-model-configuration/ai-google-model.png and /dev/null differ
diff --git a/images/trendz/ai/ai-model-configuration/ai-openai-model-preview.png b/images/trendz/ai/ai-model-configuration/ai-openai-model-preview.png
deleted file mode 100644
index 38af829aae..0000000000
Binary files a/images/trendz/ai/ai-model-configuration/ai-openai-model-preview.png and /dev/null differ
diff --git a/images/trendz/ai/ai-model-configuration/ai-openai-model.png b/images/trendz/ai/ai-model-configuration/ai-openai-model.png
deleted file mode 100644
index 1c3a41f9c7..0000000000
Binary files a/images/trendz/ai/ai-model-configuration/ai-openai-model.png and /dev/null differ
diff --git a/images/trendz/ai/ai-model-configuration/use-own-model-1-preview.png b/images/trendz/ai/ai-model-configuration/use-own-model-1-preview.png
deleted file mode 100644
index b94093dd7d..0000000000
Binary files a/images/trendz/ai/ai-model-configuration/use-own-model-1-preview.png and /dev/null differ
diff --git a/images/trendz/ai/ai-model-configuration/use-own-model-1.png b/images/trendz/ai/ai-model-configuration/use-own-model-1.png
deleted file mode 100644
index 96017058c8..0000000000
Binary files a/images/trendz/ai/ai-model-configuration/use-own-model-1.png and /dev/null differ
diff --git a/images/trendz/ai/overview-ai-assistance-icon-preview.png b/images/trendz/ai/overview-ai-assistance-icon-preview.png
deleted file mode 100644
index b2a6e76b87..0000000000
Binary files a/images/trendz/ai/overview-ai-assistance-icon-preview.png and /dev/null differ
diff --git a/images/trendz/ai/prompts/check-selected-prompt-1-preview.png b/images/trendz/ai/prompts/check-selected-prompt-1-preview.png
index 0d965b4cc4..0359487db7 100644
Binary files a/images/trendz/ai/prompts/check-selected-prompt-1-preview.png and b/images/trendz/ai/prompts/check-selected-prompt-1-preview.png differ
diff --git a/images/trendz/ai/prompts/check-selected-prompt-1.png b/images/trendz/ai/prompts/check-selected-prompt-1.png
index 58c42e6ef6..fc503773e2 100644
Binary files a/images/trendz/ai/prompts/check-selected-prompt-1.png and b/images/trendz/ai/prompts/check-selected-prompt-1.png differ
diff --git a/images/trendz/ai/prompts/check-selected-prompt-2-preview.png b/images/trendz/ai/prompts/check-selected-prompt-2-preview.png
index d904df030b..ad6f64dde8 100644
Binary files a/images/trendz/ai/prompts/check-selected-prompt-2-preview.png and b/images/trendz/ai/prompts/check-selected-prompt-2-preview.png differ
diff --git a/images/trendz/ai/prompts/check-selected-prompt-2.png b/images/trendz/ai/prompts/check-selected-prompt-2.png
index caee219a3e..1d9462cf5b 100644
Binary files a/images/trendz/ai/prompts/check-selected-prompt-2.png and b/images/trendz/ai/prompts/check-selected-prompt-2.png differ
diff --git a/images/trendz/ai/prompts/create-new-prompt-1-preview.png b/images/trendz/ai/prompts/create-new-prompt-1-preview.png
index da7e0c18b4..9e9f101852 100644
Binary files a/images/trendz/ai/prompts/create-new-prompt-1-preview.png and b/images/trendz/ai/prompts/create-new-prompt-1-preview.png differ
diff --git a/images/trendz/ai/prompts/create-new-prompt-1.png b/images/trendz/ai/prompts/create-new-prompt-1.png
index da2bd609d7..892754310f 100644
Binary files a/images/trendz/ai/prompts/create-new-prompt-1.png and b/images/trendz/ai/prompts/create-new-prompt-1.png differ
diff --git a/images/trendz/ai/prompts/create-new-prompt-2-preview.png b/images/trendz/ai/prompts/create-new-prompt-2-preview.png
index 2ab7ff6b6a..2dfed3dd3e 100644
Binary files a/images/trendz/ai/prompts/create-new-prompt-2-preview.png and b/images/trendz/ai/prompts/create-new-prompt-2-preview.png differ
diff --git a/images/trendz/ai/prompts/create-new-prompt-2.png b/images/trendz/ai/prompts/create-new-prompt-2.png
index 828bbe4e0d..159a737b84 100644
Binary files a/images/trendz/ai/prompts/create-new-prompt-2.png and b/images/trendz/ai/prompts/create-new-prompt-2.png differ
diff --git a/images/trendz/ai/prompts/create-new-prompt-3-preview.png b/images/trendz/ai/prompts/create-new-prompt-3-preview.png
index 4b299998bf..c9736b236f 100644
Binary files a/images/trendz/ai/prompts/create-new-prompt-3-preview.png and b/images/trendz/ai/prompts/create-new-prompt-3-preview.png differ
diff --git a/images/trendz/ai/prompts/create-new-prompt-3.png b/images/trendz/ai/prompts/create-new-prompt-3.png
index bcb712c7e3..4f5b850ce7 100644
Binary files a/images/trendz/ai/prompts/create-new-prompt-3.png and b/images/trendz/ai/prompts/create-new-prompt-3.png differ
diff --git a/images/trendz/ai/prompts/create-new-prompt-4-preview.png b/images/trendz/ai/prompts/create-new-prompt-4-preview.png
index 7a39e77eb7..5e4d0ae92e 100644
Binary files a/images/trendz/ai/prompts/create-new-prompt-4-preview.png and b/images/trendz/ai/prompts/create-new-prompt-4-preview.png differ
diff --git a/images/trendz/ai/prompts/create-new-prompt-4.png b/images/trendz/ai/prompts/create-new-prompt-4.png
index 2454ab2bd2..91d5735cb0 100644
Binary files a/images/trendz/ai/prompts/create-new-prompt-4.png and b/images/trendz/ai/prompts/create-new-prompt-4.png differ
diff --git a/images/trendz/ai/prompts/create-new-prompt-5-preview.png b/images/trendz/ai/prompts/create-new-prompt-5-preview.png
index a3c3b51d39..53c85414b2 100644
Binary files a/images/trendz/ai/prompts/create-new-prompt-5-preview.png and b/images/trendz/ai/prompts/create-new-prompt-5-preview.png differ
diff --git a/images/trendz/ai/prompts/create-new-prompt-5.png b/images/trendz/ai/prompts/create-new-prompt-5.png
index d1667e0948..ce2cdd5583 100644
Binary files a/images/trendz/ai/prompts/create-new-prompt-5.png and b/images/trendz/ai/prompts/create-new-prompt-5.png differ
diff --git a/images/trendz/ai/prompts/create-new-prompt-6-preview.png b/images/trendz/ai/prompts/create-new-prompt-6-preview.png
deleted file mode 100644
index bb35c38da7..0000000000
Binary files a/images/trendz/ai/prompts/create-new-prompt-6-preview.png and /dev/null differ
diff --git a/images/trendz/ai/prompts/create-new-prompt-6.png b/images/trendz/ai/prompts/create-new-prompt-6.png
deleted file mode 100644
index 4d0451b854..0000000000
Binary files a/images/trendz/ai/prompts/create-new-prompt-6.png and /dev/null differ
diff --git a/images/trendz/ai/prompts/edit-selected-prompt-1-preview.png b/images/trendz/ai/prompts/edit-selected-prompt-1-preview.png
index 01c5ccc01e..ffaf3f4794 100644
Binary files a/images/trendz/ai/prompts/edit-selected-prompt-1-preview.png and b/images/trendz/ai/prompts/edit-selected-prompt-1-preview.png differ
diff --git a/images/trendz/ai/prompts/edit-selected-prompt-1.png b/images/trendz/ai/prompts/edit-selected-prompt-1.png
index 64cc5863ff..a69b001e76 100644
Binary files a/images/trendz/ai/prompts/edit-selected-prompt-1.png and b/images/trendz/ai/prompts/edit-selected-prompt-1.png differ
diff --git a/images/trendz/ai/prompts/edit-selected-prompt-2-preview.png b/images/trendz/ai/prompts/edit-selected-prompt-2-preview.png
index 6c1cf7245f..df2d680f1c 100644
Binary files a/images/trendz/ai/prompts/edit-selected-prompt-2-preview.png and b/images/trendz/ai/prompts/edit-selected-prompt-2-preview.png differ
diff --git a/images/trendz/ai/prompts/edit-selected-prompt-2.png b/images/trendz/ai/prompts/edit-selected-prompt-2.png
index a232be90fa..211b7b25b9 100644
Binary files a/images/trendz/ai/prompts/edit-selected-prompt-2.png and b/images/trendz/ai/prompts/edit-selected-prompt-2.png differ
diff --git a/images/trendz/ai/prompts/edit-selected-prompt-3-preview.png b/images/trendz/ai/prompts/edit-selected-prompt-3-preview.png
index 21c5b668a2..9200267a25 100644
Binary files a/images/trendz/ai/prompts/edit-selected-prompt-3-preview.png and b/images/trendz/ai/prompts/edit-selected-prompt-3-preview.png differ
diff --git a/images/trendz/ai/prompts/edit-selected-prompt-3.png b/images/trendz/ai/prompts/edit-selected-prompt-3.png
index 770aabdef8..276ae6a10d 100644
Binary files a/images/trendz/ai/prompts/edit-selected-prompt-3.png and b/images/trendz/ai/prompts/edit-selected-prompt-3.png differ
diff --git a/images/trendz/ai/prompts/edit-selected-prompt-4-preview.png b/images/trendz/ai/prompts/edit-selected-prompt-4-preview.png
index d9676c57ef..eddfaa8c87 100644
Binary files a/images/trendz/ai/prompts/edit-selected-prompt-4-preview.png and b/images/trendz/ai/prompts/edit-selected-prompt-4-preview.png differ
diff --git a/images/trendz/ai/prompts/edit-selected-prompt-4.png b/images/trendz/ai/prompts/edit-selected-prompt-4.png
index 5d885577cb..d1e9b355b4 100644
Binary files a/images/trendz/ai/prompts/edit-selected-prompt-4.png and b/images/trendz/ai/prompts/edit-selected-prompt-4.png differ
diff --git a/images/trendz/ai/prompts/edit-selected-prompt-5-preview.png b/images/trendz/ai/prompts/edit-selected-prompt-5-preview.png
deleted file mode 100644
index ee8414324c..0000000000
Binary files a/images/trendz/ai/prompts/edit-selected-prompt-5-preview.png and /dev/null differ
diff --git a/images/trendz/ai/prompts/edit-selected-prompt-5.png b/images/trendz/ai/prompts/edit-selected-prompt-5.png
deleted file mode 100644
index 9680831d0f..0000000000
Binary files a/images/trendz/ai/prompts/edit-selected-prompt-5.png and /dev/null differ
diff --git a/images/trendz/ai/prompts/markdown-blocks-preview.png b/images/trendz/ai/prompts/markdown-blocks-preview.png
index 3c4eb88d2d..e49ef78f62 100644
Binary files a/images/trendz/ai/prompts/markdown-blocks-preview.png and b/images/trendz/ai/prompts/markdown-blocks-preview.png differ
diff --git a/images/trendz/ai/prompts/markdown-blocks.png b/images/trendz/ai/prompts/markdown-blocks.png
index bca575912a..c32cee845b 100644
Binary files a/images/trendz/ai/prompts/markdown-blocks.png and b/images/trendz/ai/prompts/markdown-blocks.png differ
diff --git a/images/trendz/ai/prompts/markdown-fullscreen-1-preview.png b/images/trendz/ai/prompts/markdown-fullscreen-1-preview.png
deleted file mode 100644
index 7ef16314d1..0000000000
Binary files a/images/trendz/ai/prompts/markdown-fullscreen-1-preview.png and /dev/null differ
diff --git a/images/trendz/ai/prompts/markdown-fullscreen-1.png b/images/trendz/ai/prompts/markdown-fullscreen-1.png
deleted file mode 100644
index bbc856651d..0000000000
Binary files a/images/trendz/ai/prompts/markdown-fullscreen-1.png and /dev/null differ
diff --git a/images/trendz/ai/prompts/markdown-fullscreen-2-preview.png b/images/trendz/ai/prompts/markdown-fullscreen-2-preview.png
deleted file mode 100644
index bd80594978..0000000000
Binary files a/images/trendz/ai/prompts/markdown-fullscreen-2-preview.png and /dev/null differ
diff --git a/images/trendz/ai/prompts/markdown-fullscreen-2.png b/images/trendz/ai/prompts/markdown-fullscreen-2.png
deleted file mode 100644
index fd022db9bb..0000000000
Binary files a/images/trendz/ai/prompts/markdown-fullscreen-2.png and /dev/null differ
diff --git a/images/trendz/ai/prompts/markdown-preview-1-preview.png b/images/trendz/ai/prompts/markdown-preview-1-preview.png
index 732167a265..5cff38eee5 100644
Binary files a/images/trendz/ai/prompts/markdown-preview-1-preview.png and b/images/trendz/ai/prompts/markdown-preview-1-preview.png differ
diff --git a/images/trendz/ai/prompts/markdown-preview-1.png b/images/trendz/ai/prompts/markdown-preview-1.png
index f6f8b3ec2c..dd30de2b7a 100644
Binary files a/images/trendz/ai/prompts/markdown-preview-1.png and b/images/trendz/ai/prompts/markdown-preview-1.png differ
diff --git a/images/trendz/ai/prompts/markdown-preview-2-preview.png b/images/trendz/ai/prompts/markdown-preview-2-preview.png
index 003361f3dd..0444f50988 100644
Binary files a/images/trendz/ai/prompts/markdown-preview-2-preview.png and b/images/trendz/ai/prompts/markdown-preview-2-preview.png differ
diff --git a/images/trendz/ai/prompts/markdown-preview-2.png b/images/trendz/ai/prompts/markdown-preview-2.png
index 76c0f03469..fc4091d7af 100644
Binary files a/images/trendz/ai/prompts/markdown-preview-2.png and b/images/trendz/ai/prompts/markdown-preview-2.png differ
diff --git a/images/trendz/ai/prompts/markdown-rename-1-preview.png b/images/trendz/ai/prompts/markdown-rename-1-preview.png
index c6d8d432d1..86dbbe5945 100644
Binary files a/images/trendz/ai/prompts/markdown-rename-1-preview.png and b/images/trendz/ai/prompts/markdown-rename-1-preview.png differ
diff --git a/images/trendz/ai/prompts/markdown-rename-1.png b/images/trendz/ai/prompts/markdown-rename-1.png
index 490dc0e022..46c39f5b83 100644
Binary files a/images/trendz/ai/prompts/markdown-rename-1.png and b/images/trendz/ai/prompts/markdown-rename-1.png differ
diff --git a/images/trendz/ai/prompts/markdown-rename-2-preview.png b/images/trendz/ai/prompts/markdown-rename-2-preview.png
index 2589fab35a..52ee3e3bc1 100644
Binary files a/images/trendz/ai/prompts/markdown-rename-2-preview.png and b/images/trendz/ai/prompts/markdown-rename-2-preview.png differ
diff --git a/images/trendz/ai/prompts/markdown-rename-2.png b/images/trendz/ai/prompts/markdown-rename-2.png
index aecc55e93d..0ad0b2929f 100644
Binary files a/images/trendz/ai/prompts/markdown-rename-2.png and b/images/trendz/ai/prompts/markdown-rename-2.png differ
diff --git a/images/trendz/ai/prompts/markdown-rename-3-preview.png b/images/trendz/ai/prompts/markdown-rename-3-preview.png
index 4965795ec4..e3d5b5921b 100644
Binary files a/images/trendz/ai/prompts/markdown-rename-3-preview.png and b/images/trendz/ai/prompts/markdown-rename-3-preview.png differ
diff --git a/images/trendz/ai/prompts/markdown-rename-3.png b/images/trendz/ai/prompts/markdown-rename-3.png
index 8d57c77c21..c2e6181aad 100644
Binary files a/images/trendz/ai/prompts/markdown-rename-3.png and b/images/trendz/ai/prompts/markdown-rename-3.png differ
diff --git a/images/trendz/ai/prompts/markdown-save-preview.png b/images/trendz/ai/prompts/markdown-save-preview.png
index 7a1e95f3a0..d994ec3b11 100644
Binary files a/images/trendz/ai/prompts/markdown-save-preview.png and b/images/trendz/ai/prompts/markdown-save-preview.png differ
diff --git a/images/trendz/ai/prompts/markdown-save.png b/images/trendz/ai/prompts/markdown-save.png
index 57c5d17133..e36a66ee03 100644
Binary files a/images/trendz/ai/prompts/markdown-save.png and b/images/trendz/ai/prompts/markdown-save.png differ
diff --git a/images/trendz/ai/prompts/test-selected-prompt-1-preview.png b/images/trendz/ai/prompts/test-selected-prompt-1-preview.png
new file mode 100644
index 0000000000..148078000f
Binary files /dev/null and b/images/trendz/ai/prompts/test-selected-prompt-1-preview.png differ
diff --git a/images/trendz/ai/prompts/test-selected-prompt-1.png b/images/trendz/ai/prompts/test-selected-prompt-1.png
new file mode 100644
index 0000000000..05ae05bfe4
Binary files /dev/null and b/images/trendz/ai/prompts/test-selected-prompt-1.png differ
diff --git a/images/trendz/ai/prompts/test-selected-prompt-2-preview.png b/images/trendz/ai/prompts/test-selected-prompt-2-preview.png
new file mode 100644
index 0000000000..96f83afbb1
Binary files /dev/null and b/images/trendz/ai/prompts/test-selected-prompt-2-preview.png differ
diff --git a/images/trendz/ai/prompts/test-selected-prompt-2.png b/images/trendz/ai/prompts/test-selected-prompt-2.png
new file mode 100644
index 0000000000..c9a6d78a68
Binary files /dev/null and b/images/trendz/ai/prompts/test-selected-prompt-2.png differ
diff --git a/images/trendz/ai/prompts/test-selected-prompt-3-preview.png b/images/trendz/ai/prompts/test-selected-prompt-3-preview.png
new file mode 100644
index 0000000000..450d5819e1
Binary files /dev/null and b/images/trendz/ai/prompts/test-selected-prompt-3-preview.png differ
diff --git a/images/trendz/ai/prompts/test-selected-prompt-3.png b/images/trendz/ai/prompts/test-selected-prompt-3.png
new file mode 100644
index 0000000000..bd36f4dceb
Binary files /dev/null and b/images/trendz/ai/prompts/test-selected-prompt-3.png differ
diff --git a/images/trendz/ai/prompts/test-selected-prompt-4-preview.png b/images/trendz/ai/prompts/test-selected-prompt-4-preview.png
new file mode 100644
index 0000000000..5ab95c5e1d
Binary files /dev/null and b/images/trendz/ai/prompts/test-selected-prompt-4-preview.png differ
diff --git a/images/trendz/ai/prompts/test-selected-prompt-4.png b/images/trendz/ai/prompts/test-selected-prompt-4.png
new file mode 100644
index 0000000000..cf1f56c28d
Binary files /dev/null and b/images/trendz/ai/prompts/test-selected-prompt-4.png differ
diff --git a/images/trendz/ai/settings/ai-features-1-preview.png b/images/trendz/ai/settings/ai-features-1-preview.png
new file mode 100644
index 0000000000..7bf150694a
Binary files /dev/null and b/images/trendz/ai/settings/ai-features-1-preview.png differ
diff --git a/images/trendz/ai/settings/ai-features-1.png b/images/trendz/ai/settings/ai-features-1.png
new file mode 100644
index 0000000000..01745bb5cb
Binary files /dev/null and b/images/trendz/ai/settings/ai-features-1.png differ
diff --git a/images/trendz/ai/settings/ai-features-2-preview.png b/images/trendz/ai/settings/ai-features-2-preview.png
new file mode 100644
index 0000000000..0087c2f445
Binary files /dev/null and b/images/trendz/ai/settings/ai-features-2-preview.png differ
diff --git a/images/trendz/ai/settings/ai-features-2.png b/images/trendz/ai/settings/ai-features-2.png
new file mode 100644
index 0000000000..ff8ef064c5
Binary files /dev/null and b/images/trendz/ai/settings/ai-features-2.png differ
diff --git a/images/trendz/ai/settings/ai-features-3-preview.png b/images/trendz/ai/settings/ai-features-3-preview.png
new file mode 100644
index 0000000000..336363a551
Binary files /dev/null and b/images/trendz/ai/settings/ai-features-3-preview.png differ
diff --git a/images/trendz/ai/settings/ai-features-3.png b/images/trendz/ai/settings/ai-features-3.png
new file mode 100644
index 0000000000..f14a5429b8
Binary files /dev/null and b/images/trendz/ai/settings/ai-features-3.png differ
diff --git a/images/trendz/ai/settings/ai-features-4-preview.png b/images/trendz/ai/settings/ai-features-4-preview.png
new file mode 100644
index 0000000000..99a3c925d2
Binary files /dev/null and b/images/trendz/ai/settings/ai-features-4-preview.png differ
diff --git a/images/trendz/ai/settings/ai-features-4.png b/images/trendz/ai/settings/ai-features-4.png
new file mode 100644
index 0000000000..0f99b635cd
Binary files /dev/null and b/images/trendz/ai/settings/ai-features-4.png differ
diff --git a/images/trendz/ai/settings/ai-features-5-preview.png b/images/trendz/ai/settings/ai-features-5-preview.png
new file mode 100644
index 0000000000..c2b03527c9
Binary files /dev/null and b/images/trendz/ai/settings/ai-features-5-preview.png differ
diff --git a/images/trendz/ai/settings/ai-features-5.png b/images/trendz/ai/settings/ai-features-5.png
new file mode 100644
index 0000000000..c675805fae
Binary files /dev/null and b/images/trendz/ai/settings/ai-features-5.png differ
diff --git a/images/trendz/ai/settings/ai-features-6-preview.png b/images/trendz/ai/settings/ai-features-6-preview.png
new file mode 100644
index 0000000000..93b60d59ce
Binary files /dev/null and b/images/trendz/ai/settings/ai-features-6-preview.png differ
diff --git a/images/trendz/ai/settings/ai-features-6.png b/images/trendz/ai/settings/ai-features-6.png
new file mode 100644
index 0000000000..d383f52df1
Binary files /dev/null and b/images/trendz/ai/settings/ai-features-6.png differ
diff --git a/images/trendz/ai/settings/ai-models-1-preview.png b/images/trendz/ai/settings/ai-models-1-preview.png
new file mode 100644
index 0000000000..434b0d19c8
Binary files /dev/null and b/images/trendz/ai/settings/ai-models-1-preview.png differ
diff --git a/images/trendz/ai/settings/ai-models-1.png b/images/trendz/ai/settings/ai-models-1.png
new file mode 100644
index 0000000000..fe14909660
Binary files /dev/null and b/images/trendz/ai/settings/ai-models-1.png differ
diff --git a/images/trendz/ai/settings/ai-models-2-preview.png b/images/trendz/ai/settings/ai-models-2-preview.png
new file mode 100644
index 0000000000..a8b79d8d3a
Binary files /dev/null and b/images/trendz/ai/settings/ai-models-2-preview.png differ
diff --git a/images/trendz/ai/settings/ai-models-2.png b/images/trendz/ai/settings/ai-models-2.png
new file mode 100644
index 0000000000..b68320344e
Binary files /dev/null and b/images/trendz/ai/settings/ai-models-2.png differ
diff --git a/images/trendz/ai/settings/ai-models-3-preview.png b/images/trendz/ai/settings/ai-models-3-preview.png
new file mode 100644
index 0000000000..a45f43b7ec
Binary files /dev/null and b/images/trendz/ai/settings/ai-models-3-preview.png differ
diff --git a/images/trendz/ai/settings/ai-models-3.png b/images/trendz/ai/settings/ai-models-3.png
new file mode 100644
index 0000000000..1ff8d6b9fb
Binary files /dev/null and b/images/trendz/ai/settings/ai-models-3.png differ
diff --git a/images/trendz/ai/settings/ai-models-4-preview.png b/images/trendz/ai/settings/ai-models-4-preview.png
new file mode 100644
index 0000000000..996ab53edd
Binary files /dev/null and b/images/trendz/ai/settings/ai-models-4-preview.png differ
diff --git a/images/trendz/ai/settings/ai-models-4.png b/images/trendz/ai/settings/ai-models-4.png
new file mode 100644
index 0000000000..b67f4c4e1c
Binary files /dev/null and b/images/trendz/ai/settings/ai-models-4.png differ
diff --git a/images/trendz/ai/settings/ai-models-5-preview.png b/images/trendz/ai/settings/ai-models-5-preview.png
new file mode 100644
index 0000000000..e8c120293f
Binary files /dev/null and b/images/trendz/ai/settings/ai-models-5-preview.png differ
diff --git a/images/trendz/ai/settings/ai-models-5.png b/images/trendz/ai/settings/ai-models-5.png
new file mode 100644
index 0000000000..047b78b55a
Binary files /dev/null and b/images/trendz/ai/settings/ai-models-5.png differ
diff --git a/images/trendz/ai/settings/ai-models-6-preview.png b/images/trendz/ai/settings/ai-models-6-preview.png
new file mode 100644
index 0000000000..7e655c8fc6
Binary files /dev/null and b/images/trendz/ai/settings/ai-models-6-preview.png differ
diff --git a/images/trendz/ai/settings/ai-models-6.png b/images/trendz/ai/settings/ai-models-6.png
new file mode 100644
index 0000000000..f4882f6c5b
Binary files /dev/null and b/images/trendz/ai/settings/ai-models-6.png differ
diff --git a/images/trendz/ai/settings/ai-models-7-preview.png b/images/trendz/ai/settings/ai-models-7-preview.png
new file mode 100644
index 0000000000..2790b8e7ca
Binary files /dev/null and b/images/trendz/ai/settings/ai-models-7-preview.png differ
diff --git a/images/trendz/ai/settings/ai-models-7.png b/images/trendz/ai/settings/ai-models-7.png
new file mode 100644
index 0000000000..7dfc8aef44
Binary files /dev/null and b/images/trendz/ai/settings/ai-models-7.png differ
diff --git a/images/trendz/ai/settings/ai-models-8-preview.png b/images/trendz/ai/settings/ai-models-8-preview.png
new file mode 100644
index 0000000000..72b947e3cd
Binary files /dev/null and b/images/trendz/ai/settings/ai-models-8-preview.png differ
diff --git a/images/trendz/ai/settings/ai-models-8.png b/images/trendz/ai/settings/ai-models-8.png
new file mode 100644
index 0000000000..46c3602a16
Binary files /dev/null and b/images/trendz/ai/settings/ai-models-8.png differ
diff --git a/images/trendz/ai/settings/ai-settings-1-preview.png b/images/trendz/ai/settings/ai-settings-1-preview.png
new file mode 100644
index 0000000000..bae8b573c9
Binary files /dev/null and b/images/trendz/ai/settings/ai-settings-1-preview.png differ
diff --git a/images/trendz/ai/settings/ai-settings-1.png b/images/trendz/ai/settings/ai-settings-1.png
new file mode 100644
index 0000000000..38741a3198
Binary files /dev/null and b/images/trendz/ai/settings/ai-settings-1.png differ
diff --git a/images/trendz/ai/settings/ai-settings-2-preview.png b/images/trendz/ai/settings/ai-settings-2-preview.png
new file mode 100644
index 0000000000..c4eb9def29
Binary files /dev/null and b/images/trendz/ai/settings/ai-settings-2-preview.png differ
diff --git a/images/trendz/ai/settings/ai-settings-2.png b/images/trendz/ai/settings/ai-settings-2.png
new file mode 100644
index 0000000000..431183e6e9
Binary files /dev/null and b/images/trendz/ai/settings/ai-settings-2.png differ
diff --git a/images/trendz/ai/settings/ai-settings-3-preview.png b/images/trendz/ai/settings/ai-settings-3-preview.png
new file mode 100644
index 0000000000..91a11ffa59
Binary files /dev/null and b/images/trendz/ai/settings/ai-settings-3-preview.png differ
diff --git a/images/trendz/ai/settings/ai-settings-3.png b/images/trendz/ai/settings/ai-settings-3.png
new file mode 100644
index 0000000000..c0251b2025
Binary files /dev/null and b/images/trendz/ai/settings/ai-settings-3.png differ
diff --git a/images/trendz/ai/settings/model-delete-1-preview.png b/images/trendz/ai/settings/model-delete-1-preview.png
new file mode 100644
index 0000000000..e91ac91394
Binary files /dev/null and b/images/trendz/ai/settings/model-delete-1-preview.png differ
diff --git a/images/trendz/ai/settings/model-delete-1.png b/images/trendz/ai/settings/model-delete-1.png
new file mode 100644
index 0000000000..df69637123
Binary files /dev/null and b/images/trendz/ai/settings/model-delete-1.png differ
diff --git a/images/trendz/ai/settings/model-delete-2-preview.png b/images/trendz/ai/settings/model-delete-2-preview.png
new file mode 100644
index 0000000000..50fa8c8ea8
Binary files /dev/null and b/images/trendz/ai/settings/model-delete-2-preview.png differ
diff --git a/images/trendz/ai/settings/model-delete-2.png b/images/trendz/ai/settings/model-delete-2.png
new file mode 100644
index 0000000000..4c59d19ab8
Binary files /dev/null and b/images/trendz/ai/settings/model-delete-2.png differ
diff --git a/images/trendz/ai/settings/model-edit-1-preview.png b/images/trendz/ai/settings/model-edit-1-preview.png
new file mode 100644
index 0000000000..b5f7ff7a7a
Binary files /dev/null and b/images/trendz/ai/settings/model-edit-1-preview.png differ
diff --git a/images/trendz/ai/settings/model-edit-1.png b/images/trendz/ai/settings/model-edit-1.png
new file mode 100644
index 0000000000..5190ad8290
Binary files /dev/null and b/images/trendz/ai/settings/model-edit-1.png differ
diff --git a/images/trendz/ai/settings/model-edit-2-preview.png b/images/trendz/ai/settings/model-edit-2-preview.png
new file mode 100644
index 0000000000..acb50c155d
Binary files /dev/null and b/images/trendz/ai/settings/model-edit-2-preview.png differ
diff --git a/images/trendz/ai/settings/model-edit-2.png b/images/trendz/ai/settings/model-edit-2.png
new file mode 100644
index 0000000000..9bc044d267
Binary files /dev/null and b/images/trendz/ai/settings/model-edit-2.png differ
diff --git a/images/trendz/ai/settings/providers-1-preview.png b/images/trendz/ai/settings/providers-1-preview.png
new file mode 100644
index 0000000000..0d0fef5e2f
Binary files /dev/null and b/images/trendz/ai/settings/providers-1-preview.png differ
diff --git a/images/trendz/ai/settings/providers-1.png b/images/trendz/ai/settings/providers-1.png
new file mode 100644
index 0000000000..1bc4708490
Binary files /dev/null and b/images/trendz/ai/settings/providers-1.png differ
diff --git a/images/trendz/ai/settings/providers-2-preview.png b/images/trendz/ai/settings/providers-2-preview.png
new file mode 100644
index 0000000000..0ebcf8f580
Binary files /dev/null and b/images/trendz/ai/settings/providers-2-preview.png differ
diff --git a/images/trendz/ai/settings/providers-2.png b/images/trendz/ai/settings/providers-2.png
new file mode 100644
index 0000000000..72ba7db0fe
Binary files /dev/null and b/images/trendz/ai/settings/providers-2.png differ
diff --git a/images/trendz/ai/settings/providers-3-preview.png b/images/trendz/ai/settings/providers-3-preview.png
new file mode 100644
index 0000000000..f6d3cf36a7
Binary files /dev/null and b/images/trendz/ai/settings/providers-3-preview.png differ
diff --git a/images/trendz/ai/settings/providers-3.png b/images/trendz/ai/settings/providers-3.png
new file mode 100644
index 0000000000..e775a35a6e
Binary files /dev/null and b/images/trendz/ai/settings/providers-3.png differ
diff --git a/images/trendz/ai/settings/providers-4-preview.png b/images/trendz/ai/settings/providers-4-preview.png
new file mode 100644
index 0000000000..4019cb4998
Binary files /dev/null and b/images/trendz/ai/settings/providers-4-preview.png differ
diff --git a/images/trendz/ai/settings/providers-4.png b/images/trendz/ai/settings/providers-4.png
new file mode 100644
index 0000000000..a6e7d20d61
Binary files /dev/null and b/images/trendz/ai/settings/providers-4.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-1-preview.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-1-preview.png
new file mode 100644
index 0000000000..a6cc10d441
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-1-preview.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-1.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-1.png
new file mode 100644
index 0000000000..ae9efaaf13
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-1.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-2-preview.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-2-preview.png
new file mode 100644
index 0000000000..86eef9947c
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-2-preview.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-2.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-2.png
new file mode 100644
index 0000000000..dd65d251d2
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-2.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-3-preview.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-3-preview.png
new file mode 100644
index 0000000000..4ab842e8e0
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-3-preview.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-3.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-3.png
new file mode 100644
index 0000000000..10e949b359
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-3.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-4-preview.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-4-preview.png
new file mode 100644
index 0000000000..d4b8dcde17
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-4-preview.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-4.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-4.png
new file mode 100644
index 0000000000..d19ee5761f
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-4.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-1-preview.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-1-preview.png
new file mode 100644
index 0000000000..34935ec2e1
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-1-preview.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-1.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-1.png
new file mode 100644
index 0000000000..ae253f39ae
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-1.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-2-preview.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-2-preview.png
new file mode 100644
index 0000000000..386db40d8b
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-2-preview.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-2.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-2.png
new file mode 100644
index 0000000000..924aef989e
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-2.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-3-preview.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-3-preview.png
new file mode 100644
index 0000000000..b569a67f49
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-3-preview.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-3.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-3.png
new file mode 100644
index 0000000000..33213fb12a
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-common-3.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-usage-1-preview.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-usage-1-preview.png
new file mode 100644
index 0000000000..a4207abf41
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-usage-1-preview.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-usage-1.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-usage-1.png
new file mode 100644
index 0000000000..cbd73ae61d
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-usage-1.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-usage-2-preview.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-usage-2-preview.png
new file mode 100644
index 0000000000..c368669f63
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-usage-2-preview.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-usage-2.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-usage-2.png
new file mode 100644
index 0000000000..696a66199d
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-usage-2.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.6-preview.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.6-preview.png
new file mode 100644
index 0000000000..4713b3978d
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.6-preview.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.6.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.6.png
new file mode 100644
index 0000000000..7d45c93a2e
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.6.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.9-1-preview.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.9-1-preview.png
new file mode 100644
index 0000000000..39a6c7c908
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.9-1-preview.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.9-1.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.9-1.png
new file mode 100644
index 0000000000..7985e5d2d1
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.9-1.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.9-2-preview.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.9-2-preview.png
new file mode 100644
index 0000000000..9608032269
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.9-2-preview.png differ
diff --git a/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.9-2.png b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.9-2.png
new file mode 100644
index 0000000000..8d8537a41f
Binary files /dev/null and b/images/trendz/ai/widget-ai-summary/thingsboard-ai-widget-summary-v3.9-2.png differ
diff --git a/images/trendz/ai/widget-ai-summary/trendz-summary-action-1-preview.png b/images/trendz/ai/widget-ai-summary/trendz-summary-action-1-preview.png
deleted file mode 100644
index 92df9b4ea0..0000000000
Binary files a/images/trendz/ai/widget-ai-summary/trendz-summary-action-1-preview.png and /dev/null differ
diff --git a/images/trendz/ai/widget-ai-summary/trendz-summary-action-1.png b/images/trendz/ai/widget-ai-summary/trendz-summary-action-1.png
deleted file mode 100644
index 0020774f25..0000000000
Binary files a/images/trendz/ai/widget-ai-summary/trendz-summary-action-1.png and /dev/null differ
diff --git a/images/trendz/ai/widget-ai-summary/trendz-summary-action-2-preview.png b/images/trendz/ai/widget-ai-summary/trendz-summary-action-2-preview.png
deleted file mode 100644
index 6352cd0a0b..0000000000
Binary files a/images/trendz/ai/widget-ai-summary/trendz-summary-action-2-preview.png and /dev/null differ
diff --git a/images/trendz/ai/widget-ai-summary/trendz-summary-action-2.png b/images/trendz/ai/widget-ai-summary/trendz-summary-action-2.png
deleted file mode 100644
index e6c667b9a3..0000000000
Binary files a/images/trendz/ai/widget-ai-summary/trendz-summary-action-2.png and /dev/null differ
diff --git a/images/trendz/ai/widget-ai-summary/trendz-summary-action-3-preview.png b/images/trendz/ai/widget-ai-summary/trendz-summary-action-3-preview.png
deleted file mode 100644
index 2c0f0ed50a..0000000000
Binary files a/images/trendz/ai/widget-ai-summary/trendz-summary-action-3-preview.png and /dev/null differ
diff --git a/images/trendz/ai/widget-ai-summary/trendz-summary-action-3.png b/images/trendz/ai/widget-ai-summary/trendz-summary-action-3.png
deleted file mode 100644
index 41eca4b8d2..0000000000
Binary files a/images/trendz/ai/widget-ai-summary/trendz-summary-action-3.png and /dev/null differ
diff --git a/images/trendz/ai/widget-ai-summary/trendz-summary-action-4-preview.png b/images/trendz/ai/widget-ai-summary/trendz-summary-action-4-preview.png
deleted file mode 100644
index 67ddb28e32..0000000000
Binary files a/images/trendz/ai/widget-ai-summary/trendz-summary-action-4-preview.png and /dev/null differ
diff --git a/images/trendz/ai/widget-ai-summary/trendz-summary-action-4.png b/images/trendz/ai/widget-ai-summary/trendz-summary-action-4.png
deleted file mode 100644
index 7e8eba349f..0000000000
Binary files a/images/trendz/ai/widget-ai-summary/trendz-summary-action-4.png and /dev/null differ
diff --git a/images/trendz/ai/widget-ai-summary/trendz-summary-action-5-preview.png b/images/trendz/ai/widget-ai-summary/trendz-summary-action-5-preview.png
deleted file mode 100644
index fed62ff792..0000000000
Binary files a/images/trendz/ai/widget-ai-summary/trendz-summary-action-5-preview.png and /dev/null differ
diff --git a/images/trendz/ai/widget-ai-summary/trendz-summary-action-5.png b/images/trendz/ai/widget-ai-summary/trendz-summary-action-5.png
deleted file mode 100644
index 7369b6f1d5..0000000000
Binary files a/images/trendz/ai/widget-ai-summary/trendz-summary-action-5.png and /dev/null differ
diff --git a/images/trendz/ai/widget-ai-summary/trendz-summary-action-6-preview.png b/images/trendz/ai/widget-ai-summary/trendz-summary-action-6-preview.png
deleted file mode 100644
index 925b04b11f..0000000000
Binary files a/images/trendz/ai/widget-ai-summary/trendz-summary-action-6-preview.png and /dev/null differ
diff --git a/images/trendz/ai/widget-ai-summary/trendz-summary-action-6.png b/images/trendz/ai/widget-ai-summary/trendz-summary-action-6.png
deleted file mode 100644
index 23b8d13afb..0000000000
Binary files a/images/trendz/ai/widget-ai-summary/trendz-summary-action-6.png and /dev/null differ
diff --git a/images/trendz/ai/widget-ai-summary/trendz-summary-action-7-preview.png b/images/trendz/ai/widget-ai-summary/trendz-summary-action-7-preview.png
deleted file mode 100644
index f4b931d45e..0000000000
Binary files a/images/trendz/ai/widget-ai-summary/trendz-summary-action-7-preview.png and /dev/null differ
diff --git a/images/trendz/ai/widget-ai-summary/trendz-summary-action-7.png b/images/trendz/ai/widget-ai-summary/trendz-summary-action-7.png
deleted file mode 100644
index 9e666a56b1..0000000000
Binary files a/images/trendz/ai/widget-ai-summary/trendz-summary-action-7.png and /dev/null differ
diff --git a/images/trendz/ai/widget-ai-summary/trendz-summary-action-8-preview.png b/images/trendz/ai/widget-ai-summary/trendz-summary-action-8-preview.png
deleted file mode 100644
index fad3a5e4f1..0000000000
Binary files a/images/trendz/ai/widget-ai-summary/trendz-summary-action-8-preview.png and /dev/null differ
diff --git a/images/trendz/ai/widget-ai-summary/trendz-summary-action-8.png b/images/trendz/ai/widget-ai-summary/trendz-summary-action-8.png
deleted file mode 100644
index 2ccca5d756..0000000000
Binary files a/images/trendz/ai/widget-ai-summary/trendz-summary-action-8.png and /dev/null differ
diff --git a/images/trendz/anomaly/alarm-configuration-after-build-preview.png b/images/trendz/anomaly/alarm-configuration-after-build-preview.png
new file mode 100644
index 0000000000..2baacb80da
Binary files /dev/null and b/images/trendz/anomaly/alarm-configuration-after-build-preview.png differ
diff --git a/images/trendz/anomaly/alarm-configuration-after-build.png b/images/trendz/anomaly/alarm-configuration-after-build.png
new file mode 100644
index 0000000000..431440fe57
Binary files /dev/null and b/images/trendz/anomaly/alarm-configuration-after-build.png differ
diff --git a/images/trendz/anomaly/alarm-configuration-before-build-preview.png b/images/trendz/anomaly/alarm-configuration-before-build-preview.png
new file mode 100644
index 0000000000..0707ba26e5
Binary files /dev/null and b/images/trendz/anomaly/alarm-configuration-before-build-preview.png differ
diff --git a/images/trendz/anomaly/alarm-configuration-before-build.png b/images/trendz/anomaly/alarm-configuration-before-build.png
new file mode 100644
index 0000000000..e2f0dd6463
Binary files /dev/null and b/images/trendz/anomaly/alarm-configuration-before-build.png differ
diff --git a/images/trendz/anomaly/anomaly-detection-settings-behaviour-based-preview.png b/images/trendz/anomaly/anomaly-detection-settings-behaviour-based-preview.png
new file mode 100644
index 0000000000..1425e311d3
Binary files /dev/null and b/images/trendz/anomaly/anomaly-detection-settings-behaviour-based-preview.png differ
diff --git a/images/trendz/anomaly/anomaly-detection-settings-behaviour-based.png b/images/trendz/anomaly/anomaly-detection-settings-behaviour-based.png
new file mode 100644
index 0000000000..d23bfc2b5d
Binary files /dev/null and b/images/trendz/anomaly/anomaly-detection-settings-behaviour-based.png differ
diff --git a/images/trendz/anomaly/anomaly-detection-settings-feature-based-preview.png b/images/trendz/anomaly/anomaly-detection-settings-feature-based-preview.png
new file mode 100644
index 0000000000..b58bd81129
Binary files /dev/null and b/images/trendz/anomaly/anomaly-detection-settings-feature-based-preview.png differ
diff --git a/images/trendz/anomaly/anomaly-detection-settings-feature-based.png b/images/trendz/anomaly/anomaly-detection-settings-feature-based.png
new file mode 100644
index 0000000000..5b0e916733
Binary files /dev/null and b/images/trendz/anomaly/anomaly-detection-settings-feature-based.png differ
diff --git a/images/trendz/anomaly/clustering-settings-dbscan-preview.png b/images/trendz/anomaly/clustering-settings-dbscan-preview.png
new file mode 100644
index 0000000000..9360095695
Binary files /dev/null and b/images/trendz/anomaly/clustering-settings-dbscan-preview.png differ
diff --git a/images/trendz/anomaly/clustering-settings-dbscan.png b/images/trendz/anomaly/clustering-settings-dbscan.png
new file mode 100644
index 0000000000..091db871e6
Binary files /dev/null and b/images/trendz/anomaly/clustering-settings-dbscan.png differ
diff --git a/images/trendz/anomaly/clustering-settings-gmm-preview.png b/images/trendz/anomaly/clustering-settings-gmm-preview.png
new file mode 100644
index 0000000000..d1df3fc739
Binary files /dev/null and b/images/trendz/anomaly/clustering-settings-gmm-preview.png differ
diff --git a/images/trendz/anomaly/clustering-settings-gmm.png b/images/trendz/anomaly/clustering-settings-gmm.png
new file mode 100644
index 0000000000..4a9791412e
Binary files /dev/null and b/images/trendz/anomaly/clustering-settings-gmm.png differ
diff --git a/images/trendz/anomaly/clustering-settings-k-means-preview.png b/images/trendz/anomaly/clustering-settings-k-means-preview.png
new file mode 100644
index 0000000000..3e64d264b7
Binary files /dev/null and b/images/trendz/anomaly/clustering-settings-k-means-preview.png differ
diff --git a/images/trendz/anomaly/clustering-settings-k-means.png b/images/trendz/anomaly/clustering-settings-k-means.png
new file mode 100644
index 0000000000..6b40873b9e
Binary files /dev/null and b/images/trendz/anomaly/clustering-settings-k-means.png differ
diff --git a/images/trendz/anomaly/general-settings-preview.png b/images/trendz/anomaly/general-settings-preview.png
new file mode 100644
index 0000000000..8e86972b88
Binary files /dev/null and b/images/trendz/anomaly/general-settings-preview.png differ
diff --git a/images/trendz/anomaly/general-settings.png b/images/trendz/anomaly/general-settings.png
new file mode 100644
index 0000000000..998542e08d
Binary files /dev/null and b/images/trendz/anomaly/general-settings.png differ
diff --git a/images/trendz/anomaly/limits-settings-preview.png b/images/trendz/anomaly/limits-settings-preview.png
new file mode 100644
index 0000000000..92edbf521e
Binary files /dev/null and b/images/trendz/anomaly/limits-settings-preview.png differ
diff --git a/images/trendz/anomaly/limits-settings.png b/images/trendz/anomaly/limits-settings.png
new file mode 100644
index 0000000000..4cc2613ceb
Binary files /dev/null and b/images/trendz/anomaly/limits-settings.png differ
diff --git a/images/trendz/anomaly/with-preview/page-anomaly-models-preview.png b/images/trendz/anomaly/page-anomaly-models-preview.png
similarity index 100%
rename from images/trendz/anomaly/with-preview/page-anomaly-models-preview.png
rename to images/trendz/anomaly/page-anomaly-models-preview.png
diff --git a/images/trendz/anomaly/with-preview/page-anomaly-models.png b/images/trendz/anomaly/page-anomaly-models.png
similarity index 100%
rename from images/trendz/anomaly/with-preview/page-anomaly-models.png
rename to images/trendz/anomaly/page-anomaly-models.png
diff --git a/images/trendz/anomaly/page-cluster-info-all-preview.png b/images/trendz/anomaly/page-cluster-info-all-preview.png
new file mode 100644
index 0000000000..24ddca00d3
Binary files /dev/null and b/images/trendz/anomaly/page-cluster-info-all-preview.png differ
diff --git a/images/trendz/anomaly/page-cluster-info-all.png b/images/trendz/anomaly/page-cluster-info-all.png
new file mode 100644
index 0000000000..3be08e34d2
Binary files /dev/null and b/images/trendz/anomaly/page-cluster-info-all.png differ
diff --git a/images/trendz/anomaly/page-cluster-info-specific-preview.png b/images/trendz/anomaly/page-cluster-info-specific-preview.png
new file mode 100644
index 0000000000..506029def6
Binary files /dev/null and b/images/trendz/anomaly/page-cluster-info-specific-preview.png differ
diff --git a/images/trendz/anomaly/page-cluster-info-specific.png b/images/trendz/anomaly/page-cluster-info-specific.png
new file mode 100644
index 0000000000..38b16f14c0
Binary files /dev/null and b/images/trendz/anomaly/page-cluster-info-specific.png differ
diff --git a/images/trendz/anomaly/page-input-tab-preview.png b/images/trendz/anomaly/page-input-tab-preview.png
new file mode 100644
index 0000000000..5ee9c6112e
Binary files /dev/null and b/images/trendz/anomaly/page-input-tab-preview.png differ
diff --git a/images/trendz/anomaly/page-input-tab.png b/images/trendz/anomaly/page-input-tab.png
new file mode 100644
index 0000000000..1ab96958cd
Binary files /dev/null and b/images/trendz/anomaly/page-input-tab.png differ
diff --git a/images/trendz/anomaly/page-review-tab-preview.png b/images/trendz/anomaly/page-review-tab-preview.png
new file mode 100644
index 0000000000..82dc5931d2
Binary files /dev/null and b/images/trendz/anomaly/page-review-tab-preview.png differ
diff --git a/images/trendz/anomaly/page-review-tab.png b/images/trendz/anomaly/page-review-tab.png
new file mode 100644
index 0000000000..df631d4858
Binary files /dev/null and b/images/trendz/anomaly/page-review-tab.png differ
diff --git a/images/trendz/anomaly/page-summary-calendar-preview.png b/images/trendz/anomaly/page-summary-calendar-preview.png
new file mode 100644
index 0000000000..bddeb9e8ee
Binary files /dev/null and b/images/trendz/anomaly/page-summary-calendar-preview.png differ
diff --git a/images/trendz/anomaly/page-summary-calendar.png b/images/trendz/anomaly/page-summary-calendar.png
new file mode 100644
index 0000000000..60654b213c
Binary files /dev/null and b/images/trendz/anomaly/page-summary-calendar.png differ
diff --git a/images/trendz/anomaly/page-summary-dynamic-preview.png b/images/trendz/anomaly/page-summary-dynamic-preview.png
new file mode 100644
index 0000000000..d85835faea
Binary files /dev/null and b/images/trendz/anomaly/page-summary-dynamic-preview.png differ
diff --git a/images/trendz/anomaly/page-summary-dynamic.png b/images/trendz/anomaly/page-summary-dynamic.png
new file mode 100644
index 0000000000..14fbf80c2b
Binary files /dev/null and b/images/trendz/anomaly/page-summary-dynamic.png differ
diff --git a/images/trendz/anomaly/page-summary-review-preview.png b/images/trendz/anomaly/page-summary-review-preview.png
new file mode 100644
index 0000000000..fd7e7f0220
Binary files /dev/null and b/images/trendz/anomaly/page-summary-review-preview.png differ
diff --git a/images/trendz/anomaly/page-summary-review.png b/images/trendz/anomaly/page-summary-review.png
new file mode 100644
index 0000000000..096db09c0c
Binary files /dev/null and b/images/trendz/anomaly/page-summary-review.png differ
diff --git a/images/trendz/anomaly/page-task-tab-preview.png b/images/trendz/anomaly/page-task-tab-preview.png
new file mode 100644
index 0000000000..7fbbf7b7bc
Binary files /dev/null and b/images/trendz/anomaly/page-task-tab-preview.png differ
diff --git a/images/trendz/anomaly/page-task-tab.png b/images/trendz/anomaly/page-task-tab.png
new file mode 100644
index 0000000000..9bcd1fba04
Binary files /dev/null and b/images/trendz/anomaly/page-task-tab.png differ
diff --git a/images/trendz/anomaly/segmentation-settings-preview.png b/images/trendz/anomaly/segmentation-settings-preview.png
new file mode 100644
index 0000000000..bb6911d9d8
Binary files /dev/null and b/images/trendz/anomaly/segmentation-settings-preview.png differ
diff --git a/images/trendz/anomaly/segmentation-settings.png b/images/trendz/anomaly/segmentation-settings.png
new file mode 100644
index 0000000000..6f281e1169
Binary files /dev/null and b/images/trendz/anomaly/segmentation-settings.png differ
diff --git a/images/trendz/anomaly/with-preview/page-cluster-info-all-preview.png b/images/trendz/anomaly/with-preview/page-cluster-info-all-preview.png
deleted file mode 100644
index 17988230bf..0000000000
Binary files a/images/trendz/anomaly/with-preview/page-cluster-info-all-preview.png and /dev/null differ
diff --git a/images/trendz/anomaly/with-preview/page-cluster-info-all.png b/images/trendz/anomaly/with-preview/page-cluster-info-all.png
deleted file mode 100644
index a2550204dc..0000000000
Binary files a/images/trendz/anomaly/with-preview/page-cluster-info-all.png and /dev/null differ
diff --git a/images/trendz/anomaly/with-preview/page-cluster-info-specific-preview.png b/images/trendz/anomaly/with-preview/page-cluster-info-specific-preview.png
deleted file mode 100644
index 82bdec6397..0000000000
Binary files a/images/trendz/anomaly/with-preview/page-cluster-info-specific-preview.png and /dev/null differ
diff --git a/images/trendz/anomaly/with-preview/page-cluster-info-specific.png b/images/trendz/anomaly/with-preview/page-cluster-info-specific.png
deleted file mode 100644
index 18bceb643c..0000000000
Binary files a/images/trendz/anomaly/with-preview/page-cluster-info-specific.png and /dev/null differ
diff --git a/images/trendz/anomaly/with-preview/page-input-tab-preview.png b/images/trendz/anomaly/with-preview/page-input-tab-preview.png
deleted file mode 100644
index 02b6cd58c4..0000000000
Binary files a/images/trendz/anomaly/with-preview/page-input-tab-preview.png and /dev/null differ
diff --git a/images/trendz/anomaly/with-preview/page-input-tab.png b/images/trendz/anomaly/with-preview/page-input-tab.png
deleted file mode 100644
index bf8b42c4f6..0000000000
Binary files a/images/trendz/anomaly/with-preview/page-input-tab.png and /dev/null differ
diff --git a/images/trendz/anomaly/with-preview/page-review-tab-preview.png b/images/trendz/anomaly/with-preview/page-review-tab-preview.png
deleted file mode 100644
index 36558de7a1..0000000000
Binary files a/images/trendz/anomaly/with-preview/page-review-tab-preview.png and /dev/null differ
diff --git a/images/trendz/anomaly/with-preview/page-review-tab.png b/images/trendz/anomaly/with-preview/page-review-tab.png
deleted file mode 100644
index 202d50d12a..0000000000
Binary files a/images/trendz/anomaly/with-preview/page-review-tab.png and /dev/null differ
diff --git a/images/trendz/anomaly/with-preview/page-summary-calendar-preview.png b/images/trendz/anomaly/with-preview/page-summary-calendar-preview.png
deleted file mode 100644
index 8dd96b57cb..0000000000
Binary files a/images/trendz/anomaly/with-preview/page-summary-calendar-preview.png and /dev/null differ
diff --git a/images/trendz/anomaly/with-preview/page-summary-calendar.png b/images/trendz/anomaly/with-preview/page-summary-calendar.png
deleted file mode 100644
index ee7318f4f3..0000000000
Binary files a/images/trendz/anomaly/with-preview/page-summary-calendar.png and /dev/null differ
diff --git a/images/trendz/anomaly/with-preview/page-summary-dynamic-preview.png b/images/trendz/anomaly/with-preview/page-summary-dynamic-preview.png
deleted file mode 100644
index 9f1c2c7aa5..0000000000
Binary files a/images/trendz/anomaly/with-preview/page-summary-dynamic-preview.png and /dev/null differ
diff --git a/images/trendz/anomaly/with-preview/page-summary-dynamic.png b/images/trendz/anomaly/with-preview/page-summary-dynamic.png
deleted file mode 100644
index 0c9022ba9d..0000000000
Binary files a/images/trendz/anomaly/with-preview/page-summary-dynamic.png and /dev/null differ
diff --git a/images/trendz/anomaly/with-preview/page-summary-review-preview.png b/images/trendz/anomaly/with-preview/page-summary-review-preview.png
deleted file mode 100644
index 70a6ec8069..0000000000
Binary files a/images/trendz/anomaly/with-preview/page-summary-review-preview.png and /dev/null differ
diff --git a/images/trendz/anomaly/with-preview/page-summary-review.png b/images/trendz/anomaly/with-preview/page-summary-review.png
deleted file mode 100644
index bf2835aa47..0000000000
Binary files a/images/trendz/anomaly/with-preview/page-summary-review.png and /dev/null differ
diff --git a/images/trendz/anomaly/with-preview/page-task-tab-preview.png b/images/trendz/anomaly/with-preview/page-task-tab-preview.png
deleted file mode 100644
index 6154dc1930..0000000000
Binary files a/images/trendz/anomaly/with-preview/page-task-tab-preview.png and /dev/null differ
diff --git a/images/trendz/anomaly/with-preview/page-task-tab.png b/images/trendz/anomaly/with-preview/page-task-tab.png
deleted file mode 100644
index 975dd50905..0000000000
Binary files a/images/trendz/anomaly/with-preview/page-task-tab.png and /dev/null differ
diff --git a/images/trendz/anomaly/score_vs_index.png b/images/trendz/anomaly/without-preview/score_vs_index.png
similarity index 100%
rename from images/trendz/anomaly/score_vs_index.png
rename to images/trendz/anomaly/without-preview/score_vs_index.png
diff --git a/images/trendz/base-ai-card.png b/images/trendz/base-ai-card.png
new file mode 100644
index 0000000000..1fa0c160be
Binary files /dev/null and b/images/trendz/base-ai-card.png differ
diff --git a/images/trendz/calc-time-to-value-1-preview.png b/images/trendz/calculations/calc-time-to-value-1-preview.png
similarity index 100%
rename from images/trendz/calc-time-to-value-1-preview.png
rename to images/trendz/calculations/calc-time-to-value-1-preview.png
diff --git a/images/trendz/calc-time-to-value-1.png b/images/trendz/calculations/calc-time-to-value-1.png
similarity index 100%
rename from images/trendz/calc-time-to-value-1.png
rename to images/trendz/calculations/calc-time-to-value-1.png
diff --git a/images/trendz/calc-time-to-value-2-preview.png b/images/trendz/calculations/calc-time-to-value-2-preview.png
similarity index 100%
rename from images/trendz/calc-time-to-value-2-preview.png
rename to images/trendz/calculations/calc-time-to-value-2-preview.png
diff --git a/images/trendz/calc-time-to-value-2.png b/images/trendz/calculations/calc-time-to-value-2.png
similarity index 100%
rename from images/trendz/calc-time-to-value-2.png
rename to images/trendz/calculations/calc-time-to-value-2.png
diff --git a/images/trendz/calc-time-to-value-3-preview.png b/images/trendz/calculations/calc-time-to-value-3-preview.png
similarity index 100%
rename from images/trendz/calc-time-to-value-3-preview.png
rename to images/trendz/calculations/calc-time-to-value-3-preview.png
diff --git a/images/trendz/calc-time-to-value-3.png b/images/trendz/calculations/calc-time-to-value-3.png
similarity index 100%
rename from images/trendz/calc-time-to-value-3.png
rename to images/trendz/calculations/calc-time-to-value-3.png
diff --git a/images/trendz/calc-time-to-value-4-preview.png b/images/trendz/calculations/calc-time-to-value-4-preview.png
similarity index 100%
rename from images/trendz/calc-time-to-value-4-preview.png
rename to images/trendz/calculations/calc-time-to-value-4-preview.png
diff --git a/images/trendz/calc-time-to-value-4.png b/images/trendz/calculations/calc-time-to-value-4.png
similarity index 100%
rename from images/trendz/calc-time-to-value-4.png
rename to images/trendz/calculations/calc-time-to-value-4.png
diff --git a/images/trendz/calc-time-to-value-5-preview.png b/images/trendz/calculations/calc-time-to-value-5-preview.png
similarity index 100%
rename from images/trendz/calc-time-to-value-5-preview.png
rename to images/trendz/calculations/calc-time-to-value-5-preview.png
diff --git a/images/trendz/calc-time-to-value-5.png b/images/trendz/calculations/calc-time-to-value-5.png
similarity index 100%
rename from images/trendz/calc-time-to-value-5.png
rename to images/trendz/calculations/calc-time-to-value-5.png
diff --git a/images/trendz/calc-time-to-value-6-preview.png b/images/trendz/calculations/calc-time-to-value-6-preview.png
similarity index 100%
rename from images/trendz/calc-time-to-value-6-preview.png
rename to images/trendz/calculations/calc-time-to-value-6-preview.png
diff --git a/images/trendz/calc-time-to-value-6.png b/images/trendz/calculations/calc-time-to-value-6.png
similarity index 100%
rename from images/trendz/calc-time-to-value-6.png
rename to images/trendz/calculations/calc-time-to-value-6.png
diff --git a/images/trendz/calc-time-to-value-7-preview.png b/images/trendz/calculations/calc-time-to-value-7-preview.png
similarity index 100%
rename from images/trendz/calc-time-to-value-7-preview.png
rename to images/trendz/calculations/calc-time-to-value-7-preview.png
diff --git a/images/trendz/calc-time-to-value-7.png b/images/trendz/calculations/calc-time-to-value-7.png
similarity index 100%
rename from images/trendz/calc-time-to-value-7.png
rename to images/trendz/calculations/calc-time-to-value-7.png
diff --git a/images/trendz/calculated-complex-config-preview.png b/images/trendz/calculations/calculated-complex-config-preview.png
similarity index 100%
rename from images/trendz/calculated-complex-config-preview.png
rename to images/trendz/calculations/calculated-complex-config-preview.png
diff --git a/images/trendz/calculated-complex-config.png b/images/trendz/calculations/calculated-complex-config.png
similarity index 100%
rename from images/trendz/calculated-complex-config.png
rename to images/trendz/calculations/calculated-complex-config.png
diff --git a/images/trendz/calculated-complex-result-preview.png b/images/trendz/calculations/calculated-complex-result-preview.png
similarity index 100%
rename from images/trendz/calculated-complex-result-preview.png
rename to images/trendz/calculations/calculated-complex-result-preview.png
diff --git a/images/trendz/calculated-complex-result.png b/images/trendz/calculations/calculated-complex-result.png
similarity index 100%
rename from images/trendz/calculated-complex-result.png
rename to images/trendz/calculations/calculated-complex-result.png
diff --git a/images/trendz/calculated-disabled-bell.png b/images/trendz/calculations/calculated-disabled-bell.png
similarity index 100%
rename from images/trendz/calculated-disabled-bell.png
rename to images/trendz/calculations/calculated-disabled-bell.png
diff --git a/images/trendz/calculated-enable.png b/images/trendz/calculations/calculated-enable.png
similarity index 100%
rename from images/trendz/calculated-enable.png
rename to images/trendz/calculations/calculated-enable.png
diff --git a/images/trendz/calculated-field-create.png b/images/trendz/calculations/calculated-field-create.png
similarity index 100%
rename from images/trendz/calculated-field-create.png
rename to images/trendz/calculations/calculated-field-create.png
diff --git a/images/trendz/calculated-function-tab.png b/images/trendz/calculations/calculated-function-tab.png
similarity index 100%
rename from images/trendz/calculated-function-tab.png
rename to images/trendz/calculations/calculated-function-tab.png
diff --git a/images/trendz/calculated-go-to-calculation.png b/images/trendz/calculations/calculated-go-to-calculation.png
similarity index 100%
rename from images/trendz/calculated-go-to-calculation.png
rename to images/trendz/calculations/calculated-go-to-calculation.png
diff --git a/images/trendz/calculated-input-tab.png b/images/trendz/calculations/calculated-input-tab.png
similarity index 100%
rename from images/trendz/calculated-input-tab.png
rename to images/trendz/calculations/calculated-input-tab.png
diff --git a/images/trendz/calculated-output-tab.png b/images/trendz/calculations/calculated-output-tab.png
similarity index 100%
rename from images/trendz/calculated-output-tab.png
rename to images/trendz/calculations/calculated-output-tab.png
diff --git a/images/trendz/calculated-real-time.png b/images/trendz/calculations/calculated-real-time.png
similarity index 100%
rename from images/trendz/calculated-real-time.png
rename to images/trendz/calculations/calculated-real-time.png
diff --git a/images/trendz/calculated-reprocess-task.png b/images/trendz/calculations/calculated-reprocess-task.png
similarity index 100%
rename from images/trendz/calculated-reprocess-task.png
rename to images/trendz/calculations/calculated-reprocess-task.png
diff --git a/images/trendz/calculated-simple-preview.png b/images/trendz/calculations/calculated-simple-preview.png
similarity index 100%
rename from images/trendz/calculated-simple-preview.png
rename to images/trendz/calculations/calculated-simple-preview.png
diff --git a/images/trendz/calculated-simple.png b/images/trendz/calculations/calculated-simple.png
similarity index 100%
rename from images/trendz/calculated-simple.png
rename to images/trendz/calculations/calculated-simple.png
diff --git a/images/trendz/calculated-view-fields.png b/images/trendz/calculations/calculated-view-fields.png
similarity index 100%
rename from images/trendz/calculated-view-fields.png
rename to images/trendz/calculations/calculated-view-fields.png
diff --git a/images/trendz/name-calculation-field.png b/images/trendz/calculations/name-calculation-field.png
similarity index 100%
rename from images/trendz/name-calculation-field.png
rename to images/trendz/calculations/name-calculation-field.png
diff --git a/images/trendz/datasource/external-datasources-db-data-preview.png b/images/trendz/datasource/external-datasources-db-data-preview.png
new file mode 100644
index 0000000000..e9b508f81a
Binary files /dev/null and b/images/trendz/datasource/external-datasources-db-data-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-db-data.png b/images/trendz/datasource/external-datasources-db-data.png
new file mode 100644
index 0000000000..2f321f13ed
Binary files /dev/null and b/images/trendz/datasource/external-datasources-db-data.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-add-1-preview.png b/images/trendz/datasource/external-datasources-settings-add-1-preview.png
new file mode 100644
index 0000000000..4a419ebaa0
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-add-1-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-add-1.png b/images/trendz/datasource/external-datasources-settings-add-1.png
new file mode 100644
index 0000000000..37606d9ad6
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-add-1.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-add-2-preview.png b/images/trendz/datasource/external-datasources-settings-add-2-preview.png
new file mode 100644
index 0000000000..748b15d329
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-add-2-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-add-2.png b/images/trendz/datasource/external-datasources-settings-add-2.png
new file mode 100644
index 0000000000..946a577ca5
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-add-2.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-delete-1-preview.png b/images/trendz/datasource/external-datasources-settings-delete-1-preview.png
new file mode 100644
index 0000000000..99e860e1bb
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-delete-1-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-delete-1.png b/images/trendz/datasource/external-datasources-settings-delete-1.png
new file mode 100644
index 0000000000..e9a7595c80
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-delete-1.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-delete-2-preview.png b/images/trendz/datasource/external-datasources-settings-delete-2-preview.png
new file mode 100644
index 0000000000..74ca2d4cf9
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-delete-2-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-delete-2.png b/images/trendz/datasource/external-datasources-settings-delete-2.png
new file mode 100644
index 0000000000..8ac492befd
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-delete-2.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-delete-3-preview.png b/images/trendz/datasource/external-datasources-settings-delete-3-preview.png
new file mode 100644
index 0000000000..39207f148c
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-delete-3-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-delete-3.png b/images/trendz/datasource/external-datasources-settings-delete-3.png
new file mode 100644
index 0000000000..cf2efa3235
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-delete-3.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-edit-1-preview.png b/images/trendz/datasource/external-datasources-settings-edit-1-preview.png
new file mode 100644
index 0000000000..65c412bba6
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-edit-1-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-edit-1.png b/images/trendz/datasource/external-datasources-settings-edit-1.png
new file mode 100644
index 0000000000..17efb873cc
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-edit-1.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-edit-2-preview.png b/images/trendz/datasource/external-datasources-settings-edit-2-preview.png
new file mode 100644
index 0000000000..f19942f857
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-edit-2-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-edit-2.png b/images/trendz/datasource/external-datasources-settings-edit-2.png
new file mode 100644
index 0000000000..2c9535379e
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-edit-2.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-edit-3-preview.png b/images/trendz/datasource/external-datasources-settings-edit-3-preview.png
new file mode 100644
index 0000000000..a8bdd4b992
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-edit-3-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-edit-3.png b/images/trendz/datasource/external-datasources-settings-edit-3.png
new file mode 100644
index 0000000000..9f28974ab3
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-edit-3.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-see-1-preview.png b/images/trendz/datasource/external-datasources-settings-see-1-preview.png
new file mode 100644
index 0000000000..9409bf82b8
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-see-1-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-see-1.png b/images/trendz/datasource/external-datasources-settings-see-1.png
new file mode 100644
index 0000000000..94fd0a423c
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-see-1.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-see-2-preview.png b/images/trendz/datasource/external-datasources-settings-see-2-preview.png
new file mode 100644
index 0000000000..70ce3f5edf
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-see-2-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-settings-see-2.png b/images/trendz/datasource/external-datasources-settings-see-2.png
new file mode 100644
index 0000000000..3a6627155c
Binary files /dev/null and b/images/trendz/datasource/external-datasources-settings-see-2.png differ
diff --git a/images/trendz/datasource/external-datasources-step-1-1-preview.png b/images/trendz/datasource/external-datasources-step-1-1-preview.png
new file mode 100644
index 0000000000..f94ca48243
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-1-1-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-step-1-1.png b/images/trendz/datasource/external-datasources-step-1-1.png
new file mode 100644
index 0000000000..2b535d4480
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-1-1.png differ
diff --git a/images/trendz/datasource/external-datasources-step-1-2-preview.png b/images/trendz/datasource/external-datasources-step-1-2-preview.png
new file mode 100644
index 0000000000..f2b15faf35
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-1-2-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-step-1-2.png b/images/trendz/datasource/external-datasources-step-1-2.png
new file mode 100644
index 0000000000..74e6199b33
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-1-2.png differ
diff --git a/images/trendz/datasource/external-datasources-step-2-1-preview.png b/images/trendz/datasource/external-datasources-step-2-1-preview.png
new file mode 100644
index 0000000000..b3d167fe0b
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-2-1-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-step-2-1.png b/images/trendz/datasource/external-datasources-step-2-1.png
new file mode 100644
index 0000000000..067c15c604
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-2-1.png differ
diff --git a/images/trendz/datasource/external-datasources-step-2-2-preview.png b/images/trendz/datasource/external-datasources-step-2-2-preview.png
new file mode 100644
index 0000000000..de2d20500d
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-2-2-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-step-2-2.png b/images/trendz/datasource/external-datasources-step-2-2.png
new file mode 100644
index 0000000000..7b195ea0ed
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-2-2.png differ
diff --git a/images/trendz/datasource/external-datasources-step-3-1-preview.png b/images/trendz/datasource/external-datasources-step-3-1-preview.png
new file mode 100644
index 0000000000..74e4a954f9
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-3-1-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-step-3-1.png b/images/trendz/datasource/external-datasources-step-3-1.png
new file mode 100644
index 0000000000..e8a7a4e483
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-3-1.png differ
diff --git a/images/trendz/datasource/external-datasources-step-3-2-preview.png b/images/trendz/datasource/external-datasources-step-3-2-preview.png
new file mode 100644
index 0000000000..f3d7d8406d
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-3-2-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-step-3-2.png b/images/trendz/datasource/external-datasources-step-3-2.png
new file mode 100644
index 0000000000..69a169877b
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-3-2.png differ
diff --git a/images/trendz/datasource/external-datasources-step-4-1-preview.png b/images/trendz/datasource/external-datasources-step-4-1-preview.png
new file mode 100644
index 0000000000..58fb8e9029
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-4-1-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-step-4-1.png b/images/trendz/datasource/external-datasources-step-4-1.png
new file mode 100644
index 0000000000..30657b3bf7
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-4-1.png differ
diff --git a/images/trendz/datasource/external-datasources-step-4-2-preview.png b/images/trendz/datasource/external-datasources-step-4-2-preview.png
new file mode 100644
index 0000000000..bc7699cf6c
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-4-2-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-step-4-2.png b/images/trendz/datasource/external-datasources-step-4-2.png
new file mode 100644
index 0000000000..aa4200d69c
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-4-2.png differ
diff --git a/images/trendz/datasource/external-datasources-step-4-3-preview.png b/images/trendz/datasource/external-datasources-step-4-3-preview.png
new file mode 100644
index 0000000000..abd9b1eeb7
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-4-3-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-step-4-3.png b/images/trendz/datasource/external-datasources-step-4-3.png
new file mode 100644
index 0000000000..13a0836875
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-4-3.png differ
diff --git a/images/trendz/datasource/external-datasources-step-5-1-preview.png b/images/trendz/datasource/external-datasources-step-5-1-preview.png
new file mode 100644
index 0000000000..7c3f2aff34
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-5-1-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-step-5-1.png b/images/trendz/datasource/external-datasources-step-5-1.png
new file mode 100644
index 0000000000..0ca528f34f
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-5-1.png differ
diff --git a/images/trendz/datasource/external-datasources-step-5-2-preview.png b/images/trendz/datasource/external-datasources-step-5-2-preview.png
new file mode 100644
index 0000000000..10c5b0eeb8
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-5-2-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-step-5-2.png b/images/trendz/datasource/external-datasources-step-5-2.png
new file mode 100644
index 0000000000..26653634af
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-5-2.png differ
diff --git a/images/trendz/datasource/external-datasources-step-5-3-preview.png b/images/trendz/datasource/external-datasources-step-5-3-preview.png
new file mode 100644
index 0000000000..163caf5cb5
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-5-3-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-step-5-3.png b/images/trendz/datasource/external-datasources-step-5-3.png
new file mode 100644
index 0000000000..a0cc7b9282
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-5-3.png differ
diff --git a/images/trendz/datasource/external-datasources-step-6-1-preview.png b/images/trendz/datasource/external-datasources-step-6-1-preview.png
new file mode 100644
index 0000000000..90b42e4481
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-6-1-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-step-6-1.png b/images/trendz/datasource/external-datasources-step-6-1.png
new file mode 100644
index 0000000000..1501a6fbab
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-6-1.png differ
diff --git a/images/trendz/datasource/external-datasources-step-6-2-preview.png b/images/trendz/datasource/external-datasources-step-6-2-preview.png
new file mode 100644
index 0000000000..1af9512855
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-6-2-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-step-6-2.png b/images/trendz/datasource/external-datasources-step-6-2.png
new file mode 100644
index 0000000000..e88c1dc827
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-6-2.png differ
diff --git a/images/trendz/datasource/external-datasources-step-6-3-preview.png b/images/trendz/datasource/external-datasources-step-6-3-preview.png
new file mode 100644
index 0000000000..3a4296a493
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-6-3-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-step-6-3.png b/images/trendz/datasource/external-datasources-step-6-3.png
new file mode 100644
index 0000000000..01eb7579e1
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-6-3.png differ
diff --git a/images/trendz/datasource/external-datasources-step-6-4-preview.png b/images/trendz/datasource/external-datasources-step-6-4-preview.png
new file mode 100644
index 0000000000..b6cdad7ed8
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-6-4-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-step-6-4.png b/images/trendz/datasource/external-datasources-step-6-4.png
new file mode 100644
index 0000000000..85f1265339
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-6-4.png differ
diff --git a/images/trendz/datasource/external-datasources-step-6-5-preview.png b/images/trendz/datasource/external-datasources-step-6-5-preview.png
new file mode 100644
index 0000000000..806fc8b3e4
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-6-5-preview.png differ
diff --git a/images/trendz/datasource/external-datasources-step-6-5.png b/images/trendz/datasource/external-datasources-step-6-5.png
new file mode 100644
index 0000000000..b5e4790b56
Binary files /dev/null and b/images/trendz/datasource/external-datasources-step-6-5.png differ
diff --git a/images/trendz/icons/metric-explorer.svg b/images/trendz/icons/metric-explorer.svg
new file mode 100644
index 0000000000..54f4dd2a7a
--- /dev/null
+++ b/images/trendz/icons/metric-explorer.svg
@@ -0,0 +1,4 @@
+
diff --git a/images/trendz/icons/views.svg b/images/trendz/icons/views.svg
new file mode 100644
index 0000000000..9324d4e11f
--- /dev/null
+++ b/images/trendz/icons/views.svg
@@ -0,0 +1,4 @@
+
diff --git a/images/trendz/metric/new-metric/ai-assistance-without-ai-preview.png b/images/trendz/metric/new-metric/ai-assistance-without-ai-preview.png
new file mode 100644
index 0000000000..c1e05d4fe8
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-assistance-without-ai-preview.png differ
diff --git a/images/trendz/metric/new-metric/ai-assistance-without-ai.png b/images/trendz/metric/new-metric/ai-assistance-without-ai.png
new file mode 100644
index 0000000000..adb984e54e
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-assistance-without-ai.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-clear-1-preview.png b/images/trendz/metric/new-metric/ai-chat-clear-1-preview.png
new file mode 100644
index 0000000000..01fb8d3b78
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-clear-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-clear-1.png b/images/trendz/metric/new-metric/ai-chat-clear-1.png
new file mode 100644
index 0000000000..bd2b19707e
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-clear-1.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-clear-2-preview.png b/images/trendz/metric/new-metric/ai-chat-clear-2-preview.png
new file mode 100644
index 0000000000..6518d8b0ac
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-clear-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-clear-2.png b/images/trendz/metric/new-metric/ai-chat-clear-2.png
new file mode 100644
index 0000000000..ec6df6a744
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-clear-2.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-clear-3-preview.png b/images/trendz/metric/new-metric/ai-chat-clear-3-preview.png
new file mode 100644
index 0000000000..41bdc290cc
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-clear-3-preview.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-clear-3.png b/images/trendz/metric/new-metric/ai-chat-clear-3.png
new file mode 100644
index 0000000000..9c08e2db19
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-clear-3.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-edit-1-preview.png b/images/trendz/metric/new-metric/ai-chat-edit-1-preview.png
new file mode 100644
index 0000000000..feb8df786c
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-edit-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-edit-1.png b/images/trendz/metric/new-metric/ai-chat-edit-1.png
new file mode 100644
index 0000000000..9f51e02b68
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-edit-1.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-edit-2-preview.png b/images/trendz/metric/new-metric/ai-chat-edit-2-preview.png
new file mode 100644
index 0000000000..c12f5ff316
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-edit-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-edit-2.png b/images/trendz/metric/new-metric/ai-chat-edit-2.png
new file mode 100644
index 0000000000..e8d6034d06
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-edit-2.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-edit-3-preview.png b/images/trendz/metric/new-metric/ai-chat-edit-3-preview.png
new file mode 100644
index 0000000000..95bb299e8c
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-edit-3-preview.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-edit-3.png b/images/trendz/metric/new-metric/ai-chat-edit-3.png
new file mode 100644
index 0000000000..83f18b4c28
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-edit-3.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-review-1-preview.png b/images/trendz/metric/new-metric/ai-chat-review-1-preview.png
new file mode 100644
index 0000000000..dd02e1d869
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-review-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-review-1.png b/images/trendz/metric/new-metric/ai-chat-review-1.png
new file mode 100644
index 0000000000..932098e00f
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-review-1.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-review-2-preview.png b/images/trendz/metric/new-metric/ai-chat-review-2-preview.png
new file mode 100644
index 0000000000..486ab8e05f
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-review-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-review-2.png b/images/trendz/metric/new-metric/ai-chat-review-2.png
new file mode 100644
index 0000000000..5d0354d410
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-review-2.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-send-1-preview.png b/images/trendz/metric/new-metric/ai-chat-send-1-preview.png
new file mode 100644
index 0000000000..97faeeb979
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-send-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-send-1.png b/images/trendz/metric/new-metric/ai-chat-send-1.png
new file mode 100644
index 0000000000..ead361958e
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-send-1.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-send-2-preview.png b/images/trendz/metric/new-metric/ai-chat-send-2-preview.png
new file mode 100644
index 0000000000..587877c114
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-send-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/ai-chat-send-2.png b/images/trendz/metric/new-metric/ai-chat-send-2.png
new file mode 100644
index 0000000000..2366c6f806
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-chat-send-2.png differ
diff --git a/images/trendz/metric/new-metric/ai-suggestions-1-preview.png b/images/trendz/metric/new-metric/ai-suggestions-1-preview.png
new file mode 100644
index 0000000000..cc6fcc81c4
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-suggestions-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/ai-suggestions-1.png b/images/trendz/metric/new-metric/ai-suggestions-1.png
new file mode 100644
index 0000000000..62f61e3e63
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-suggestions-1.png differ
diff --git a/images/trendz/metric/new-metric/ai-suggestions-2-preview.png b/images/trendz/metric/new-metric/ai-suggestions-2-preview.png
new file mode 100644
index 0000000000..a90ef0a557
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-suggestions-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/ai-suggestions-2.png b/images/trendz/metric/new-metric/ai-suggestions-2.png
new file mode 100644
index 0000000000..2461330645
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-suggestions-2.png differ
diff --git a/images/trendz/metric/new-metric/ai-suggestions-3-preview.png b/images/trendz/metric/new-metric/ai-suggestions-3-preview.png
new file mode 100644
index 0000000000..c29608874c
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-suggestions-3-preview.png differ
diff --git a/images/trendz/metric/new-metric/ai-suggestions-3.png b/images/trendz/metric/new-metric/ai-suggestions-3.png
new file mode 100644
index 0000000000..fcbcb7675f
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-suggestions-3.png differ
diff --git a/images/trendz/metric/new-metric/ai-suggestions-4-preview.png b/images/trendz/metric/new-metric/ai-suggestions-4-preview.png
new file mode 100644
index 0000000000..f4e40cef13
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-suggestions-4-preview.png differ
diff --git a/images/trendz/metric/new-metric/ai-suggestions-4.png b/images/trendz/metric/new-metric/ai-suggestions-4.png
new file mode 100644
index 0000000000..cf9680a224
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-suggestions-4.png differ
diff --git a/images/trendz/metric/new-metric/ai-suggestions-5-preview.png b/images/trendz/metric/new-metric/ai-suggestions-5-preview.png
new file mode 100644
index 0000000000..213644c1bf
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-suggestions-5-preview.png differ
diff --git a/images/trendz/metric/new-metric/ai-suggestions-5.png b/images/trendz/metric/new-metric/ai-suggestions-5.png
new file mode 100644
index 0000000000..8b755e4489
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-suggestions-5.png differ
diff --git a/images/trendz/metric/new-metric/ai-suggestions-without-ai-preview.png b/images/trendz/metric/new-metric/ai-suggestions-without-ai-preview.png
new file mode 100644
index 0000000000..dad4ed9967
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-suggestions-without-ai-preview.png differ
diff --git a/images/trendz/metric/new-metric/ai-suggestions-without-ai.png b/images/trendz/metric/new-metric/ai-suggestions-without-ai.png
new file mode 100644
index 0000000000..7fbfee3dc0
Binary files /dev/null and b/images/trendz/metric/new-metric/ai-suggestions-without-ai.png differ
diff --git a/images/trendz/metric/new-metric/associated-calculation-1-preview.png b/images/trendz/metric/new-metric/associated-calculation-1-preview.png
new file mode 100644
index 0000000000..3078410b0c
Binary files /dev/null and b/images/trendz/metric/new-metric/associated-calculation-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/associated-calculation-1.png b/images/trendz/metric/new-metric/associated-calculation-1.png
new file mode 100644
index 0000000000..ac874879ee
Binary files /dev/null and b/images/trendz/metric/new-metric/associated-calculation-1.png differ
diff --git a/images/trendz/metric/new-metric/associated-calculation-2-preview.png b/images/trendz/metric/new-metric/associated-calculation-2-preview.png
new file mode 100644
index 0000000000..fd0424f422
Binary files /dev/null and b/images/trendz/metric/new-metric/associated-calculation-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/associated-calculation-2.png b/images/trendz/metric/new-metric/associated-calculation-2.png
new file mode 100644
index 0000000000..cd43c83857
Binary files /dev/null and b/images/trendz/metric/new-metric/associated-calculation-2.png differ
diff --git a/images/trendz/metric/new-metric/code-editor-1-preview.png b/images/trendz/metric/new-metric/code-editor-1-preview.png
new file mode 100644
index 0000000000..4965c1acef
Binary files /dev/null and b/images/trendz/metric/new-metric/code-editor-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/code-editor-1.png b/images/trendz/metric/new-metric/code-editor-1.png
new file mode 100644
index 0000000000..a85abdd1c0
Binary files /dev/null and b/images/trendz/metric/new-metric/code-editor-1.png differ
diff --git a/images/trendz/metric/new-metric/code-editor-2-preview.png b/images/trendz/metric/new-metric/code-editor-2-preview.png
new file mode 100644
index 0000000000..970b46115e
Binary files /dev/null and b/images/trendz/metric/new-metric/code-editor-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/code-editor-2.png b/images/trendz/metric/new-metric/code-editor-2.png
new file mode 100644
index 0000000000..367e5eb3da
Binary files /dev/null and b/images/trendz/metric/new-metric/code-editor-2.png differ
diff --git a/images/trendz/metric/new-metric/code-editor-3-preview.png b/images/trendz/metric/new-metric/code-editor-3-preview.png
new file mode 100644
index 0000000000..56553139ab
Binary files /dev/null and b/images/trendz/metric/new-metric/code-editor-3-preview.png differ
diff --git a/images/trendz/metric/new-metric/code-editor-3.png b/images/trendz/metric/new-metric/code-editor-3.png
new file mode 100644
index 0000000000..50afbfccd9
Binary files /dev/null and b/images/trendz/metric/new-metric/code-editor-3.png differ
diff --git a/images/trendz/metric/new-metric/create-calculation-1-preview.png b/images/trendz/metric/new-metric/create-calculation-1-preview.png
new file mode 100644
index 0000000000..7d7a509132
Binary files /dev/null and b/images/trendz/metric/new-metric/create-calculation-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/create-calculation-1.png b/images/trendz/metric/new-metric/create-calculation-1.png
new file mode 100644
index 0000000000..f75eb0e479
Binary files /dev/null and b/images/trendz/metric/new-metric/create-calculation-1.png differ
diff --git a/images/trendz/metric/new-metric/create-calculation-2-preview.png b/images/trendz/metric/new-metric/create-calculation-2-preview.png
new file mode 100644
index 0000000000..9a85aecd96
Binary files /dev/null and b/images/trendz/metric/new-metric/create-calculation-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/create-calculation-2.png b/images/trendz/metric/new-metric/create-calculation-2.png
new file mode 100644
index 0000000000..4c53082b2b
Binary files /dev/null and b/images/trendz/metric/new-metric/create-calculation-2.png differ
diff --git a/images/trendz/metric/new-metric/create-calculation-3-preview.png b/images/trendz/metric/new-metric/create-calculation-3-preview.png
new file mode 100644
index 0000000000..48b5c549ca
Binary files /dev/null and b/images/trendz/metric/new-metric/create-calculation-3-preview.png differ
diff --git a/images/trendz/metric/new-metric/create-calculation-3.png b/images/trendz/metric/new-metric/create-calculation-3.png
new file mode 100644
index 0000000000..d9d2630950
Binary files /dev/null and b/images/trendz/metric/new-metric/create-calculation-3.png differ
diff --git a/images/trendz/metric/new-metric/create-calculation-4-preview.png b/images/trendz/metric/new-metric/create-calculation-4-preview.png
new file mode 100644
index 0000000000..ae815d6792
Binary files /dev/null and b/images/trendz/metric/new-metric/create-calculation-4-preview.png differ
diff --git a/images/trendz/metric/new-metric/create-calculation-4.png b/images/trendz/metric/new-metric/create-calculation-4.png
new file mode 100644
index 0000000000..ee97caa94a
Binary files /dev/null and b/images/trendz/metric/new-metric/create-calculation-4.png differ
diff --git a/images/trendz/metric/new-metric/create-manually-1-preview.png b/images/trendz/metric/new-metric/create-manually-1-preview.png
new file mode 100644
index 0000000000..a2bbfd9211
Binary files /dev/null and b/images/trendz/metric/new-metric/create-manually-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/create-manually-1.png b/images/trendz/metric/new-metric/create-manually-1.png
new file mode 100644
index 0000000000..8352f23019
Binary files /dev/null and b/images/trendz/metric/new-metric/create-manually-1.png differ
diff --git a/images/trendz/metric/new-metric/create-manually-2-preview.png b/images/trendz/metric/new-metric/create-manually-2-preview.png
new file mode 100644
index 0000000000..bcea3a0b05
Binary files /dev/null and b/images/trendz/metric/new-metric/create-manually-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/create-manually-2.png b/images/trendz/metric/new-metric/create-manually-2.png
new file mode 100644
index 0000000000..9f5336f3a8
Binary files /dev/null and b/images/trendz/metric/new-metric/create-manually-2.png differ
diff --git a/images/trendz/metric/new-metric/create-manually-3-preview.png b/images/trendz/metric/new-metric/create-manually-3-preview.png
new file mode 100644
index 0000000000..ebc685fa56
Binary files /dev/null and b/images/trendz/metric/new-metric/create-manually-3-preview.png differ
diff --git a/images/trendz/metric/new-metric/create-manually-3.png b/images/trendz/metric/new-metric/create-manually-3.png
new file mode 100644
index 0000000000..14cd76ba71
Binary files /dev/null and b/images/trendz/metric/new-metric/create-manually-3.png differ
diff --git a/images/trendz/metric/new-metric/create-manually-4-preview.png b/images/trendz/metric/new-metric/create-manually-4-preview.png
new file mode 100644
index 0000000000..45a093793e
Binary files /dev/null and b/images/trendz/metric/new-metric/create-manually-4-preview.png differ
diff --git a/images/trendz/metric/new-metric/create-manually-4.png b/images/trendz/metric/new-metric/create-manually-4.png
new file mode 100644
index 0000000000..70a0e0b6c9
Binary files /dev/null and b/images/trendz/metric/new-metric/create-manually-4.png differ
diff --git a/images/trendz/metric/new-metric/create-manually-5-preview.png b/images/trendz/metric/new-metric/create-manually-5-preview.png
new file mode 100644
index 0000000000..9d6917cb73
Binary files /dev/null and b/images/trendz/metric/new-metric/create-manually-5-preview.png differ
diff --git a/images/trendz/metric/new-metric/create-manually-5.png b/images/trendz/metric/new-metric/create-manually-5.png
new file mode 100644
index 0000000000..69b3c30dc2
Binary files /dev/null and b/images/trendz/metric/new-metric/create-manually-5.png differ
diff --git a/images/trendz/metric/new-metric/create-manually-without-ai-preview.png b/images/trendz/metric/new-metric/create-manually-without-ai-preview.png
new file mode 100644
index 0000000000..961f573431
Binary files /dev/null and b/images/trendz/metric/new-metric/create-manually-without-ai-preview.png differ
diff --git a/images/trendz/metric/new-metric/create-manually-without-ai.png b/images/trendz/metric/new-metric/create-manually-without-ai.png
new file mode 100644
index 0000000000..93b6f8bf66
Binary files /dev/null and b/images/trendz/metric/new-metric/create-manually-without-ai.png differ
diff --git a/images/trendz/metric/new-metric/create-new-metric-1-preview.png b/images/trendz/metric/new-metric/create-new-metric-1-preview.png
new file mode 100644
index 0000000000..472a015d09
Binary files /dev/null and b/images/trendz/metric/new-metric/create-new-metric-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/create-new-metric-1.png b/images/trendz/metric/new-metric/create-new-metric-1.png
new file mode 100644
index 0000000000..f588057576
Binary files /dev/null and b/images/trendz/metric/new-metric/create-new-metric-1.png differ
diff --git a/images/trendz/metric/new-metric/create-new-metric-2-preview.png b/images/trendz/metric/new-metric/create-new-metric-2-preview.png
new file mode 100644
index 0000000000..09f5d49cd9
Binary files /dev/null and b/images/trendz/metric/new-metric/create-new-metric-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/create-new-metric-2.png b/images/trendz/metric/new-metric/create-new-metric-2.png
new file mode 100644
index 0000000000..0b3fb46c88
Binary files /dev/null and b/images/trendz/metric/new-metric/create-new-metric-2.png differ
diff --git a/images/trendz/metric/new-metric/create-new-metric-3-preview.png b/images/trendz/metric/new-metric/create-new-metric-3-preview.png
new file mode 100644
index 0000000000..b356704213
Binary files /dev/null and b/images/trendz/metric/new-metric/create-new-metric-3-preview.png differ
diff --git a/images/trendz/metric/new-metric/create-new-metric-3.png b/images/trendz/metric/new-metric/create-new-metric-3.png
new file mode 100644
index 0000000000..9abc816d33
Binary files /dev/null and b/images/trendz/metric/new-metric/create-new-metric-3.png differ
diff --git a/images/trendz/metric/new-metric/create-new-metric-4-preview.png b/images/trendz/metric/new-metric/create-new-metric-4-preview.png
new file mode 100644
index 0000000000..907eb16884
Binary files /dev/null and b/images/trendz/metric/new-metric/create-new-metric-4-preview.png differ
diff --git a/images/trendz/metric/new-metric/create-new-metric-4.png b/images/trendz/metric/new-metric/create-new-metric-4.png
new file mode 100644
index 0000000000..ef22ccb97e
Binary files /dev/null and b/images/trendz/metric/new-metric/create-new-metric-4.png differ
diff --git a/images/trendz/metric/new-metric/generated-metric-1-preview.png b/images/trendz/metric/new-metric/generated-metric-1-preview.png
new file mode 100644
index 0000000000..9037ff0994
Binary files /dev/null and b/images/trendz/metric/new-metric/generated-metric-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/generated-metric-1.png b/images/trendz/metric/new-metric/generated-metric-1.png
new file mode 100644
index 0000000000..41202b2dd2
Binary files /dev/null and b/images/trendz/metric/new-metric/generated-metric-1.png differ
diff --git a/images/trendz/metric/new-metric/generated-metric-2-preview.png b/images/trendz/metric/new-metric/generated-metric-2-preview.png
new file mode 100644
index 0000000000..b15ae12318
Binary files /dev/null and b/images/trendz/metric/new-metric/generated-metric-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/generated-metric-2.png b/images/trendz/metric/new-metric/generated-metric-2.png
new file mode 100644
index 0000000000..045a392bbe
Binary files /dev/null and b/images/trendz/metric/new-metric/generated-metric-2.png differ
diff --git a/images/trendz/metric/new-metric/metric-definition-preview.png b/images/trendz/metric/new-metric/metric-definition-preview.png
new file mode 100644
index 0000000000..2e89c211ac
Binary files /dev/null and b/images/trendz/metric/new-metric/metric-definition-preview.png differ
diff --git a/images/trendz/metric/new-metric/metric-definition.png b/images/trendz/metric/new-metric/metric-definition.png
new file mode 100644
index 0000000000..e2a1212f80
Binary files /dev/null and b/images/trendz/metric/new-metric/metric-definition.png differ
diff --git a/images/trendz/metric/new-metric/metric-delete-1-preview.png b/images/trendz/metric/new-metric/metric-delete-1-preview.png
new file mode 100644
index 0000000000..0ad8fc294d
Binary files /dev/null and b/images/trendz/metric/new-metric/metric-delete-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/metric-delete-1.png b/images/trendz/metric/new-metric/metric-delete-1.png
new file mode 100644
index 0000000000..d6adf0595d
Binary files /dev/null and b/images/trendz/metric/new-metric/metric-delete-1.png differ
diff --git a/images/trendz/metric/new-metric/metric-delete-2-preview.png b/images/trendz/metric/new-metric/metric-delete-2-preview.png
new file mode 100644
index 0000000000..674b87a02d
Binary files /dev/null and b/images/trendz/metric/new-metric/metric-delete-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/metric-delete-2.png b/images/trendz/metric/new-metric/metric-delete-2.png
new file mode 100644
index 0000000000..323129b09c
Binary files /dev/null and b/images/trendz/metric/new-metric/metric-delete-2.png differ
diff --git a/images/trendz/metric/new-metric/metric-delete-3-preview.png b/images/trendz/metric/new-metric/metric-delete-3-preview.png
new file mode 100644
index 0000000000..cdc2fe9bfa
Binary files /dev/null and b/images/trendz/metric/new-metric/metric-delete-3-preview.png differ
diff --git a/images/trendz/metric/new-metric/metric-delete-3.png b/images/trendz/metric/new-metric/metric-delete-3.png
new file mode 100644
index 0000000000..023abfc8ce
Binary files /dev/null and b/images/trendz/metric/new-metric/metric-delete-3.png differ
diff --git a/images/trendz/metric/new-metric/metric-rename-1-preview.png b/images/trendz/metric/new-metric/metric-rename-1-preview.png
new file mode 100644
index 0000000000..650727a512
Binary files /dev/null and b/images/trendz/metric/new-metric/metric-rename-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/metric-rename-1.png b/images/trendz/metric/new-metric/metric-rename-1.png
new file mode 100644
index 0000000000..32ca9c5be0
Binary files /dev/null and b/images/trendz/metric/new-metric/metric-rename-1.png differ
diff --git a/images/trendz/metric/new-metric/metric-rename-2-preview.png b/images/trendz/metric/new-metric/metric-rename-2-preview.png
new file mode 100644
index 0000000000..133a426768
Binary files /dev/null and b/images/trendz/metric/new-metric/metric-rename-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/metric-rename-2.png b/images/trendz/metric/new-metric/metric-rename-2.png
new file mode 100644
index 0000000000..0ca48e07c4
Binary files /dev/null and b/images/trendz/metric/new-metric/metric-rename-2.png differ
diff --git a/images/trendz/metric/new-metric/metric-rename-3-preview.png b/images/trendz/metric/new-metric/metric-rename-3-preview.png
new file mode 100644
index 0000000000..d855632d9e
Binary files /dev/null and b/images/trendz/metric/new-metric/metric-rename-3-preview.png differ
diff --git a/images/trendz/metric/new-metric/metric-rename-3.png b/images/trendz/metric/new-metric/metric-rename-3.png
new file mode 100644
index 0000000000..1b53551b76
Binary files /dev/null and b/images/trendz/metric/new-metric/metric-rename-3.png differ
diff --git a/images/trendz/metric/new-metric/native-calculation-1-preview.png b/images/trendz/metric/new-metric/native-calculation-1-preview.png
new file mode 100644
index 0000000000..311ea19d16
Binary files /dev/null and b/images/trendz/metric/new-metric/native-calculation-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/native-calculation-1.png b/images/trendz/metric/new-metric/native-calculation-1.png
new file mode 100644
index 0000000000..6b0d557904
Binary files /dev/null and b/images/trendz/metric/new-metric/native-calculation-1.png differ
diff --git a/images/trendz/metric/new-metric/native-calculation-2-preview.png b/images/trendz/metric/new-metric/native-calculation-2-preview.png
new file mode 100644
index 0000000000..ee93ff12ad
Binary files /dev/null and b/images/trendz/metric/new-metric/native-calculation-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/native-calculation-2.png b/images/trendz/metric/new-metric/native-calculation-2.png
new file mode 100644
index 0000000000..07fce43b63
Binary files /dev/null and b/images/trendz/metric/new-metric/native-calculation-2.png differ
diff --git a/images/trendz/metric/new-metric/native-calculation-3-preview.png b/images/trendz/metric/new-metric/native-calculation-3-preview.png
new file mode 100644
index 0000000000..3cb60fc5ed
Binary files /dev/null and b/images/trendz/metric/new-metric/native-calculation-3-preview.png differ
diff --git a/images/trendz/metric/new-metric/native-calculation-3.png b/images/trendz/metric/new-metric/native-calculation-3.png
new file mode 100644
index 0000000000..b85da099cb
Binary files /dev/null and b/images/trendz/metric/new-metric/native-calculation-3.png differ
diff --git a/images/trendz/metric/new-metric/native-calculation-with-telemetry-preview.png b/images/trendz/metric/new-metric/native-calculation-with-telemetry-preview.png
new file mode 100644
index 0000000000..3172027560
Binary files /dev/null and b/images/trendz/metric/new-metric/native-calculation-with-telemetry-preview.png differ
diff --git a/images/trendz/metric/new-metric/native-calculation-with-telemetry.png b/images/trendz/metric/new-metric/native-calculation-with-telemetry.png
new file mode 100644
index 0000000000..3c12629d7a
Binary files /dev/null and b/images/trendz/metric/new-metric/native-calculation-with-telemetry.png differ
diff --git a/images/trendz/metric/new-metric/open-calculation-1-preview.png b/images/trendz/metric/new-metric/open-calculation-1-preview.png
new file mode 100644
index 0000000000..a2bd5463a6
Binary files /dev/null and b/images/trendz/metric/new-metric/open-calculation-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/open-calculation-1.png b/images/trendz/metric/new-metric/open-calculation-1.png
new file mode 100644
index 0000000000..72fed7b863
Binary files /dev/null and b/images/trendz/metric/new-metric/open-calculation-1.png differ
diff --git a/images/trendz/metric/new-metric/open-calculation-2-preview.png b/images/trendz/metric/new-metric/open-calculation-2-preview.png
new file mode 100644
index 0000000000..51f3bcaacd
Binary files /dev/null and b/images/trendz/metric/new-metric/open-calculation-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/open-calculation-2.png b/images/trendz/metric/new-metric/open-calculation-2.png
new file mode 100644
index 0000000000..09ae6f08a5
Binary files /dev/null and b/images/trendz/metric/new-metric/open-calculation-2.png differ
diff --git a/images/trendz/metric/new-metric/run-reprocess-1-preview.png b/images/trendz/metric/new-metric/run-reprocess-1-preview.png
new file mode 100644
index 0000000000..e282457ee8
Binary files /dev/null and b/images/trendz/metric/new-metric/run-reprocess-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/run-reprocess-1.png b/images/trendz/metric/new-metric/run-reprocess-1.png
new file mode 100644
index 0000000000..8fef7c3753
Binary files /dev/null and b/images/trendz/metric/new-metric/run-reprocess-1.png differ
diff --git a/images/trendz/metric/new-metric/run-reprocess-2-preview.png b/images/trendz/metric/new-metric/run-reprocess-2-preview.png
new file mode 100644
index 0000000000..287c3dbea0
Binary files /dev/null and b/images/trendz/metric/new-metric/run-reprocess-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/run-reprocess-2.png b/images/trendz/metric/new-metric/run-reprocess-2.png
new file mode 100644
index 0000000000..d9e0abc45f
Binary files /dev/null and b/images/trendz/metric/new-metric/run-reprocess-2.png differ
diff --git a/images/trendz/metric/new-metric/run-reprocess-3-preview.png b/images/trendz/metric/new-metric/run-reprocess-3-preview.png
new file mode 100644
index 0000000000..a7d61e08e0
Binary files /dev/null and b/images/trendz/metric/new-metric/run-reprocess-3-preview.png differ
diff --git a/images/trendz/metric/new-metric/run-reprocess-3.png b/images/trendz/metric/new-metric/run-reprocess-3.png
new file mode 100644
index 0000000000..e6614e183a
Binary files /dev/null and b/images/trendz/metric/new-metric/run-reprocess-3.png differ
diff --git a/images/trendz/metric/new-metric/run-reprocess-4-preview.png b/images/trendz/metric/new-metric/run-reprocess-4-preview.png
new file mode 100644
index 0000000000..f1a5909faf
Binary files /dev/null and b/images/trendz/metric/new-metric/run-reprocess-4-preview.png differ
diff --git a/images/trendz/metric/new-metric/run-reprocess-4.png b/images/trendz/metric/new-metric/run-reprocess-4.png
new file mode 100644
index 0000000000..b21a2ec804
Binary files /dev/null and b/images/trendz/metric/new-metric/run-reprocess-4.png differ
diff --git a/images/trendz/metric/new-metric/run-reprocess-5-preview.png b/images/trendz/metric/new-metric/run-reprocess-5-preview.png
new file mode 100644
index 0000000000..eb250c1300
Binary files /dev/null and b/images/trendz/metric/new-metric/run-reprocess-5-preview.png differ
diff --git a/images/trendz/metric/new-metric/run-reprocess-5.png b/images/trendz/metric/new-metric/run-reprocess-5.png
new file mode 100644
index 0000000000..a379da5449
Binary files /dev/null and b/images/trendz/metric/new-metric/run-reprocess-5.png differ
diff --git a/images/trendz/metric/new-metric/show-details-preview.png b/images/trendz/metric/new-metric/show-details-preview.png
new file mode 100644
index 0000000000..cd97da4955
Binary files /dev/null and b/images/trendz/metric/new-metric/show-details-preview.png differ
diff --git a/images/trendz/metric/new-metric/show-details.png b/images/trendz/metric/new-metric/show-details.png
new file mode 100644
index 0000000000..c908654990
Binary files /dev/null and b/images/trendz/metric/new-metric/show-details.png differ
diff --git a/images/trendz/metric/new-metric/show-logs-preview.png b/images/trendz/metric/new-metric/show-logs-preview.png
new file mode 100644
index 0000000000..31a74c2bdb
Binary files /dev/null and b/images/trendz/metric/new-metric/show-logs-preview.png differ
diff --git a/images/trendz/metric/new-metric/show-logs.png b/images/trendz/metric/new-metric/show-logs.png
new file mode 100644
index 0000000000..a4e296d6ba
Binary files /dev/null and b/images/trendz/metric/new-metric/show-logs.png differ
diff --git a/images/trendz/metric/new-metric/tabs-create-calculation-1-preview.png b/images/trendz/metric/new-metric/tabs-create-calculation-1-preview.png
new file mode 100644
index 0000000000..afd33a078e
Binary files /dev/null and b/images/trendz/metric/new-metric/tabs-create-calculation-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/tabs-create-calculation-1.png b/images/trendz/metric/new-metric/tabs-create-calculation-1.png
new file mode 100644
index 0000000000..4b6045c3b7
Binary files /dev/null and b/images/trendz/metric/new-metric/tabs-create-calculation-1.png differ
diff --git a/images/trendz/metric/new-metric/tabs-create-calculation-2-preview.png b/images/trendz/metric/new-metric/tabs-create-calculation-2-preview.png
new file mode 100644
index 0000000000..6d4d7b9a15
Binary files /dev/null and b/images/trendz/metric/new-metric/tabs-create-calculation-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/tabs-create-calculation-2.png b/images/trendz/metric/new-metric/tabs-create-calculation-2.png
new file mode 100644
index 0000000000..67ab82bbbd
Binary files /dev/null and b/images/trendz/metric/new-metric/tabs-create-calculation-2.png differ
diff --git a/images/trendz/metric/new-metric/tabs-reprocess-calculation-1-preview.png b/images/trendz/metric/new-metric/tabs-reprocess-calculation-1-preview.png
new file mode 100644
index 0000000000..1ec4c248a4
Binary files /dev/null and b/images/trendz/metric/new-metric/tabs-reprocess-calculation-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/tabs-reprocess-calculation-1.png b/images/trendz/metric/new-metric/tabs-reprocess-calculation-1.png
new file mode 100644
index 0000000000..78453d8fa3
Binary files /dev/null and b/images/trendz/metric/new-metric/tabs-reprocess-calculation-1.png differ
diff --git a/images/trendz/metric/new-metric/tabs-reprocess-calculation-2-preview.png b/images/trendz/metric/new-metric/tabs-reprocess-calculation-2-preview.png
new file mode 100644
index 0000000000..64d2e962e3
Binary files /dev/null and b/images/trendz/metric/new-metric/tabs-reprocess-calculation-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/tabs-reprocess-calculation-2.png b/images/trendz/metric/new-metric/tabs-reprocess-calculation-2.png
new file mode 100644
index 0000000000..f67ff6690f
Binary files /dev/null and b/images/trendz/metric/new-metric/tabs-reprocess-calculation-2.png differ
diff --git a/images/trendz/metric/new-metric/tabs-with-data-preview.png b/images/trendz/metric/new-metric/tabs-with-data-preview.png
new file mode 100644
index 0000000000..dc4f45f8a5
Binary files /dev/null and b/images/trendz/metric/new-metric/tabs-with-data-preview.png differ
diff --git a/images/trendz/metric/new-metric/tabs-with-data.png b/images/trendz/metric/new-metric/tabs-with-data.png
new file mode 100644
index 0000000000..01989cf326
Binary files /dev/null and b/images/trendz/metric/new-metric/tabs-with-data.png differ
diff --git a/images/trendz/metric/new-metric/test-code-1-preview.png b/images/trendz/metric/new-metric/test-code-1-preview.png
new file mode 100644
index 0000000000..a33b1ed8bb
Binary files /dev/null and b/images/trendz/metric/new-metric/test-code-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/test-code-1.png b/images/trendz/metric/new-metric/test-code-1.png
new file mode 100644
index 0000000000..914f6f068f
Binary files /dev/null and b/images/trendz/metric/new-metric/test-code-1.png differ
diff --git a/images/trendz/metric/new-metric/test-code-2-preview.png b/images/trendz/metric/new-metric/test-code-2-preview.png
new file mode 100644
index 0000000000..d4279559a6
Binary files /dev/null and b/images/trendz/metric/new-metric/test-code-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/test-code-2.png b/images/trendz/metric/new-metric/test-code-2.png
new file mode 100644
index 0000000000..c9a95a281c
Binary files /dev/null and b/images/trendz/metric/new-metric/test-code-2.png differ
diff --git a/images/trendz/metric/new-metric/update-calculation-1-preview.png b/images/trendz/metric/new-metric/update-calculation-1-preview.png
new file mode 100644
index 0000000000..eb53c1b3d8
Binary files /dev/null and b/images/trendz/metric/new-metric/update-calculation-1-preview.png differ
diff --git a/images/trendz/metric/new-metric/update-calculation-1.png b/images/trendz/metric/new-metric/update-calculation-1.png
new file mode 100644
index 0000000000..88b1c3e042
Binary files /dev/null and b/images/trendz/metric/new-metric/update-calculation-1.png differ
diff --git a/images/trendz/metric/new-metric/update-calculation-2-preview.png b/images/trendz/metric/new-metric/update-calculation-2-preview.png
new file mode 100644
index 0000000000..828e979925
Binary files /dev/null and b/images/trendz/metric/new-metric/update-calculation-2-preview.png differ
diff --git a/images/trendz/metric/new-metric/update-calculation-2.png b/images/trendz/metric/new-metric/update-calculation-2.png
new file mode 100644
index 0000000000..4e5cec9372
Binary files /dev/null and b/images/trendz/metric/new-metric/update-calculation-2.png differ
diff --git a/images/trendz/metric/new-metric/update-calculation-3-preview.png b/images/trendz/metric/new-metric/update-calculation-3-preview.png
new file mode 100644
index 0000000000..ecb96f50e7
Binary files /dev/null and b/images/trendz/metric/new-metric/update-calculation-3-preview.png differ
diff --git a/images/trendz/metric/new-metric/update-calculation-3.png b/images/trendz/metric/new-metric/update-calculation-3.png
new file mode 100644
index 0000000000..e73cd285f2
Binary files /dev/null and b/images/trendz/metric/new-metric/update-calculation-3.png differ
diff --git a/images/trendz/metric/overview/autoscale-1-preview.png b/images/trendz/metric/overview/autoscale-1-preview.png
new file mode 100644
index 0000000000..c6342a089a
Binary files /dev/null and b/images/trendz/metric/overview/autoscale-1-preview.png differ
diff --git a/images/trendz/metric/overview/autoscale-1.png b/images/trendz/metric/overview/autoscale-1.png
new file mode 100644
index 0000000000..d530e007b5
Binary files /dev/null and b/images/trendz/metric/overview/autoscale-1.png differ
diff --git a/images/trendz/metric/overview/autoscale-2-preview.png b/images/trendz/metric/overview/autoscale-2-preview.png
new file mode 100644
index 0000000000..9ea274865e
Binary files /dev/null and b/images/trendz/metric/overview/autoscale-2-preview.png differ
diff --git a/images/trendz/metric/overview/autoscale-2.png b/images/trendz/metric/overview/autoscale-2.png
new file mode 100644
index 0000000000..d2d6512fc5
Binary files /dev/null and b/images/trendz/metric/overview/autoscale-2.png differ
diff --git a/images/trendz/metric/overview/chart-icon-without-preview.svg b/images/trendz/metric/overview/chart-icon-without-preview.svg
new file mode 100644
index 0000000000..7734eecd6e
--- /dev/null
+++ b/images/trendz/metric/overview/chart-icon-without-preview.svg
@@ -0,0 +1,3 @@
+
diff --git a/images/trendz/metric/overview/examples-attributes-preview.png b/images/trendz/metric/overview/examples-attributes-preview.png
new file mode 100644
index 0000000000..da4277200f
Binary files /dev/null and b/images/trendz/metric/overview/examples-attributes-preview.png differ
diff --git a/images/trendz/metric/overview/examples-attributes.png b/images/trendz/metric/overview/examples-attributes.png
new file mode 100644
index 0000000000..6b31d9a2b3
Binary files /dev/null and b/images/trendz/metric/overview/examples-attributes.png differ
diff --git a/images/trendz/metric/overview/examples-generated-metrics-preview.png b/images/trendz/metric/overview/examples-generated-metrics-preview.png
new file mode 100644
index 0000000000..a97f3cf8e1
Binary files /dev/null and b/images/trendz/metric/overview/examples-generated-metrics-preview.png differ
diff --git a/images/trendz/metric/overview/examples-generated-metrics.png b/images/trendz/metric/overview/examples-generated-metrics.png
new file mode 100644
index 0000000000..b59e46d8e2
Binary files /dev/null and b/images/trendz/metric/overview/examples-generated-metrics.png differ
diff --git a/images/trendz/metric/overview/fields-overview-1-preview.png b/images/trendz/metric/overview/fields-overview-1-preview.png
new file mode 100644
index 0000000000..7252ab8418
Binary files /dev/null and b/images/trendz/metric/overview/fields-overview-1-preview.png differ
diff --git a/images/trendz/metric/overview/fields-overview-1.png b/images/trendz/metric/overview/fields-overview-1.png
new file mode 100644
index 0000000000..ad132793fa
Binary files /dev/null and b/images/trendz/metric/overview/fields-overview-1.png differ
diff --git a/images/trendz/metric/overview/fields-overview-2-preview.png b/images/trendz/metric/overview/fields-overview-2-preview.png
new file mode 100644
index 0000000000..ea80a3dcdd
Binary files /dev/null and b/images/trendz/metric/overview/fields-overview-2-preview.png differ
diff --git a/images/trendz/metric/overview/fields-overview-2.png b/images/trendz/metric/overview/fields-overview-2.png
new file mode 100644
index 0000000000..395a7a1f32
Binary files /dev/null and b/images/trendz/metric/overview/fields-overview-2.png differ
diff --git a/images/trendz/metric/overview/fields-overview-3-preview.png b/images/trendz/metric/overview/fields-overview-3-preview.png
new file mode 100644
index 0000000000..f6eb4347e8
Binary files /dev/null and b/images/trendz/metric/overview/fields-overview-3-preview.png differ
diff --git a/images/trendz/metric/overview/fields-overview-3.png b/images/trendz/metric/overview/fields-overview-3.png
new file mode 100644
index 0000000000..018749635a
Binary files /dev/null and b/images/trendz/metric/overview/fields-overview-3.png differ
diff --git a/images/trendz/metric/overview/fields-overview-4-preview.png b/images/trendz/metric/overview/fields-overview-4-preview.png
new file mode 100644
index 0000000000..35e5ae5c4b
Binary files /dev/null and b/images/trendz/metric/overview/fields-overview-4-preview.png differ
diff --git a/images/trendz/metric/overview/fields-overview-4.png b/images/trendz/metric/overview/fields-overview-4.png
new file mode 100644
index 0000000000..396868221a
Binary files /dev/null and b/images/trendz/metric/overview/fields-overview-4.png differ
diff --git a/images/trendz/metric/overview/fields-overview-5-preview.png b/images/trendz/metric/overview/fields-overview-5-preview.png
new file mode 100644
index 0000000000..690116f8d0
Binary files /dev/null and b/images/trendz/metric/overview/fields-overview-5-preview.png differ
diff --git a/images/trendz/metric/overview/fields-overview-5.png b/images/trendz/metric/overview/fields-overview-5.png
new file mode 100644
index 0000000000..3ac0a4ef0a
Binary files /dev/null and b/images/trendz/metric/overview/fields-overview-5.png differ
diff --git a/images/trendz/metric/overview/fields-overview-6-preview.png b/images/trendz/metric/overview/fields-overview-6-preview.png
new file mode 100644
index 0000000000..b1f3df3a69
Binary files /dev/null and b/images/trendz/metric/overview/fields-overview-6-preview.png differ
diff --git a/images/trendz/metric/overview/fields-overview-6.png b/images/trendz/metric/overview/fields-overview-6.png
new file mode 100644
index 0000000000..f83d7ddd80
Binary files /dev/null and b/images/trendz/metric/overview/fields-overview-6.png differ
diff --git a/images/trendz/metric/overview/go-to-entity-1-preview.png b/images/trendz/metric/overview/go-to-entity-1-preview.png
new file mode 100644
index 0000000000..dba2759b38
Binary files /dev/null and b/images/trendz/metric/overview/go-to-entity-1-preview.png differ
diff --git a/images/trendz/metric/overview/go-to-entity-1.png b/images/trendz/metric/overview/go-to-entity-1.png
new file mode 100644
index 0000000000..09dcff103a
Binary files /dev/null and b/images/trendz/metric/overview/go-to-entity-1.png differ
diff --git a/images/trendz/metric/overview/go-to-entity-2-preview.png b/images/trendz/metric/overview/go-to-entity-2-preview.png
new file mode 100644
index 0000000000..bcd93b19f0
Binary files /dev/null and b/images/trendz/metric/overview/go-to-entity-2-preview.png differ
diff --git a/images/trendz/metric/overview/go-to-entity-2.png b/images/trendz/metric/overview/go-to-entity-2.png
new file mode 100644
index 0000000000..25d13bc427
Binary files /dev/null and b/images/trendz/metric/overview/go-to-entity-2.png differ
diff --git a/images/trendz/metric/overview/header-overview-1-preview.png b/images/trendz/metric/overview/header-overview-1-preview.png
new file mode 100644
index 0000000000..ae208be29f
Binary files /dev/null and b/images/trendz/metric/overview/header-overview-1-preview.png differ
diff --git a/images/trendz/metric/overview/header-overview-1.png b/images/trendz/metric/overview/header-overview-1.png
new file mode 100644
index 0000000000..ae67ac213a
Binary files /dev/null and b/images/trendz/metric/overview/header-overview-1.png differ
diff --git a/images/trendz/metric/overview/header-overview-2-preview.png b/images/trendz/metric/overview/header-overview-2-preview.png
new file mode 100644
index 0000000000..8fcf2bbbef
Binary files /dev/null and b/images/trendz/metric/overview/header-overview-2-preview.png differ
diff --git a/images/trendz/metric/overview/header-overview-2.png b/images/trendz/metric/overview/header-overview-2.png
new file mode 100644
index 0000000000..7dd66ebe79
Binary files /dev/null and b/images/trendz/metric/overview/header-overview-2.png differ
diff --git a/images/trendz/metric/overview/header-overview-3-preview.png b/images/trendz/metric/overview/header-overview-3-preview.png
new file mode 100644
index 0000000000..c69bde96c0
Binary files /dev/null and b/images/trendz/metric/overview/header-overview-3-preview.png differ
diff --git a/images/trendz/metric/overview/header-overview-3.png b/images/trendz/metric/overview/header-overview-3.png
new file mode 100644
index 0000000000..cdc4047525
Binary files /dev/null and b/images/trendz/metric/overview/header-overview-3.png differ
diff --git a/images/trendz/metric/overview/header-overview-4-preview.png b/images/trendz/metric/overview/header-overview-4-preview.png
new file mode 100644
index 0000000000..a042db7950
Binary files /dev/null and b/images/trendz/metric/overview/header-overview-4-preview.png differ
diff --git a/images/trendz/metric/overview/header-overview-4.png b/images/trendz/metric/overview/header-overview-4.png
new file mode 100644
index 0000000000..6c1aa07658
Binary files /dev/null and b/images/trendz/metric/overview/header-overview-4.png differ
diff --git a/images/trendz/metric/overview/inactive-telemetries-1-preview.png b/images/trendz/metric/overview/inactive-telemetries-1-preview.png
new file mode 100644
index 0000000000..cde45d82a2
Binary files /dev/null and b/images/trendz/metric/overview/inactive-telemetries-1-preview.png differ
diff --git a/images/trendz/metric/overview/inactive-telemetries-1.png b/images/trendz/metric/overview/inactive-telemetries-1.png
new file mode 100644
index 0000000000..c7a9f79cdb
Binary files /dev/null and b/images/trendz/metric/overview/inactive-telemetries-1.png differ
diff --git a/images/trendz/metric/overview/inactive-telemetries-2-preview.png b/images/trendz/metric/overview/inactive-telemetries-2-preview.png
new file mode 100644
index 0000000000..d58ee4e0c7
Binary files /dev/null and b/images/trendz/metric/overview/inactive-telemetries-2-preview.png differ
diff --git a/images/trendz/metric/overview/inactive-telemetries-2.png b/images/trendz/metric/overview/inactive-telemetries-2.png
new file mode 100644
index 0000000000..b0a2f76bc3
Binary files /dev/null and b/images/trendz/metric/overview/inactive-telemetries-2.png differ
diff --git a/images/trendz/metric/overview/new-metric-button-preview.png b/images/trendz/metric/overview/new-metric-button-preview.png
new file mode 100644
index 0000000000..ee1d2396be
Binary files /dev/null and b/images/trendz/metric/overview/new-metric-button-preview.png differ
diff --git a/images/trendz/metric/overview/new-metric-button.png b/images/trendz/metric/overview/new-metric-button.png
new file mode 100644
index 0000000000..15d643df3d
Binary files /dev/null and b/images/trendz/metric/overview/new-metric-button.png differ
diff --git a/images/trendz/metric/overview/section-overview-1-preview.png b/images/trendz/metric/overview/section-overview-1-preview.png
new file mode 100644
index 0000000000..a90be83af1
Binary files /dev/null and b/images/trendz/metric/overview/section-overview-1-preview.png differ
diff --git a/images/trendz/metric/overview/section-overview-1.png b/images/trendz/metric/overview/section-overview-1.png
new file mode 100644
index 0000000000..982f7fc834
Binary files /dev/null and b/images/trendz/metric/overview/section-overview-1.png differ
diff --git a/images/trendz/metric/overview/section-overview-2-preview.png b/images/trendz/metric/overview/section-overview-2-preview.png
new file mode 100644
index 0000000000..e2bea48e9a
Binary files /dev/null and b/images/trendz/metric/overview/section-overview-2-preview.png differ
diff --git a/images/trendz/metric/overview/section-overview-2.png b/images/trendz/metric/overview/section-overview-2.png
new file mode 100644
index 0000000000..a8ee4e4cc4
Binary files /dev/null and b/images/trendz/metric/overview/section-overview-2.png differ
diff --git a/images/trendz/metric/overview/section-overview-3-preview.png b/images/trendz/metric/overview/section-overview-3-preview.png
new file mode 100644
index 0000000000..1c7e2a8413
Binary files /dev/null and b/images/trendz/metric/overview/section-overview-3-preview.png differ
diff --git a/images/trendz/metric/overview/section-overview-3.png b/images/trendz/metric/overview/section-overview-3.png
new file mode 100644
index 0000000000..6f7d81c64f
Binary files /dev/null and b/images/trendz/metric/overview/section-overview-3.png differ
diff --git a/images/trendz/metric/overview/tabs-overview-aggregation-1-preview.png b/images/trendz/metric/overview/tabs-overview-aggregation-1-preview.png
new file mode 100644
index 0000000000..4012fee069
Binary files /dev/null and b/images/trendz/metric/overview/tabs-overview-aggregation-1-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-overview-aggregation-1.png b/images/trendz/metric/overview/tabs-overview-aggregation-1.png
new file mode 100644
index 0000000000..4e9319ef2d
Binary files /dev/null and b/images/trendz/metric/overview/tabs-overview-aggregation-1.png differ
diff --git a/images/trendz/metric/overview/tabs-overview-aggregation-2-preview.png b/images/trendz/metric/overview/tabs-overview-aggregation-2-preview.png
new file mode 100644
index 0000000000..681b2ec70f
Binary files /dev/null and b/images/trendz/metric/overview/tabs-overview-aggregation-2-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-overview-aggregation-2.png b/images/trendz/metric/overview/tabs-overview-aggregation-2.png
new file mode 100644
index 0000000000..ce67060392
Binary files /dev/null and b/images/trendz/metric/overview/tabs-overview-aggregation-2.png differ
diff --git a/images/trendz/metric/overview/tabs-overview-charts-1-preview.png b/images/trendz/metric/overview/tabs-overview-charts-1-preview.png
new file mode 100644
index 0000000000..77028df5f6
Binary files /dev/null and b/images/trendz/metric/overview/tabs-overview-charts-1-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-overview-charts-1.png b/images/trendz/metric/overview/tabs-overview-charts-1.png
new file mode 100644
index 0000000000..6a576b53c1
Binary files /dev/null and b/images/trendz/metric/overview/tabs-overview-charts-1.png differ
diff --git a/images/trendz/metric/overview/tabs-overview-charts-2-preview.png b/images/trendz/metric/overview/tabs-overview-charts-2-preview.png
new file mode 100644
index 0000000000..dea066ad00
Binary files /dev/null and b/images/trendz/metric/overview/tabs-overview-charts-2-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-overview-charts-2.png b/images/trendz/metric/overview/tabs-overview-charts-2.png
new file mode 100644
index 0000000000..4b84aa0d1d
Binary files /dev/null and b/images/trendz/metric/overview/tabs-overview-charts-2.png differ
diff --git a/images/trendz/metric/overview/tabs-range-customization-1-preview.png b/images/trendz/metric/overview/tabs-range-customization-1-preview.png
new file mode 100644
index 0000000000..7c96aa949e
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-customization-1-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-range-customization-1.png b/images/trendz/metric/overview/tabs-range-customization-1.png
new file mode 100644
index 0000000000..f0acb0a9f6
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-customization-1.png differ
diff --git a/images/trendz/metric/overview/tabs-range-customization-2-preview.png b/images/trendz/metric/overview/tabs-range-customization-2-preview.png
new file mode 100644
index 0000000000..fbe083cdea
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-customization-2-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-range-customization-2.png b/images/trendz/metric/overview/tabs-range-customization-2.png
new file mode 100644
index 0000000000..c7d5348ef0
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-customization-2.png differ
diff --git a/images/trendz/metric/overview/tabs-range-customization-3-preview.png b/images/trendz/metric/overview/tabs-range-customization-3-preview.png
new file mode 100644
index 0000000000..20355494ac
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-customization-3-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-range-customization-3.png b/images/trendz/metric/overview/tabs-range-customization-3.png
new file mode 100644
index 0000000000..804b8b7575
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-customization-3.png differ
diff --git a/images/trendz/metric/overview/tabs-range-customization-4-preview.png b/images/trendz/metric/overview/tabs-range-customization-4-preview.png
new file mode 100644
index 0000000000..2a8d68ee74
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-customization-4-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-range-customization-4.png b/images/trendz/metric/overview/tabs-range-customization-4.png
new file mode 100644
index 0000000000..17fcebd5b5
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-customization-4.png differ
diff --git a/images/trendz/metric/overview/tabs-range-default-actions-1-preview.png b/images/trendz/metric/overview/tabs-range-default-actions-1-preview.png
new file mode 100644
index 0000000000..37cf5a77a7
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-default-actions-1-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-range-default-actions-1.png b/images/trendz/metric/overview/tabs-range-default-actions-1.png
new file mode 100644
index 0000000000..74d65bc96a
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-default-actions-1.png differ
diff --git a/images/trendz/metric/overview/tabs-range-default-actions-2-preview.png b/images/trendz/metric/overview/tabs-range-default-actions-2-preview.png
new file mode 100644
index 0000000000..21ffe08c80
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-default-actions-2-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-range-default-actions-2.png b/images/trendz/metric/overview/tabs-range-default-actions-2.png
new file mode 100644
index 0000000000..8ea50a0aed
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-default-actions-2.png differ
diff --git a/images/trendz/metric/overview/tabs-range-default-actions-3-preview.png b/images/trendz/metric/overview/tabs-range-default-actions-3-preview.png
new file mode 100644
index 0000000000..a3d372e544
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-default-actions-3-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-range-default-actions-3.png b/images/trendz/metric/overview/tabs-range-default-actions-3.png
new file mode 100644
index 0000000000..08fc713adb
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-default-actions-3.png differ
diff --git a/images/trendz/metric/overview/tabs-range-default-actions-4-preview.png b/images/trendz/metric/overview/tabs-range-default-actions-4-preview.png
new file mode 100644
index 0000000000..8734159b7b
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-default-actions-4-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-range-default-actions-4.png b/images/trendz/metric/overview/tabs-range-default-actions-4.png
new file mode 100644
index 0000000000..82f93f9a78
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-default-actions-4.png differ
diff --git a/images/trendz/metric/overview/tabs-range-save-view-1-preview.png b/images/trendz/metric/overview/tabs-range-save-view-1-preview.png
new file mode 100644
index 0000000000..64562054da
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-save-view-1-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-range-save-view-1.png b/images/trendz/metric/overview/tabs-range-save-view-1.png
new file mode 100644
index 0000000000..f37201838e
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-save-view-1.png differ
diff --git a/images/trendz/metric/overview/tabs-range-save-view-2-preview.png b/images/trendz/metric/overview/tabs-range-save-view-2-preview.png
new file mode 100644
index 0000000000..fafcc23135
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-save-view-2-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-range-save-view-2.png b/images/trendz/metric/overview/tabs-range-save-view-2.png
new file mode 100644
index 0000000000..773f0f2a19
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-save-view-2.png differ
diff --git a/images/trendz/metric/overview/tabs-range-save-view-3-preview.png b/images/trendz/metric/overview/tabs-range-save-view-3-preview.png
new file mode 100644
index 0000000000..f12ddf8007
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-save-view-3-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-range-save-view-3.png b/images/trendz/metric/overview/tabs-range-save-view-3.png
new file mode 100644
index 0000000000..1250f4a08f
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-save-view-3.png differ
diff --git a/images/trendz/metric/overview/tabs-range-views-1-preview.png b/images/trendz/metric/overview/tabs-range-views-1-preview.png
new file mode 100644
index 0000000000..e27e21ae76
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-views-1-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-range-views-1.png b/images/trendz/metric/overview/tabs-range-views-1.png
new file mode 100644
index 0000000000..362e7be578
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-views-1.png differ
diff --git a/images/trendz/metric/overview/tabs-range-views-2-preview.png b/images/trendz/metric/overview/tabs-range-views-2-preview.png
new file mode 100644
index 0000000000..a39da13f61
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-views-2-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-range-views-2.png b/images/trendz/metric/overview/tabs-range-views-2.png
new file mode 100644
index 0000000000..5b68a502d2
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-views-2.png differ
diff --git a/images/trendz/metric/overview/tabs-range-views-3-preview.png b/images/trendz/metric/overview/tabs-range-views-3-preview.png
new file mode 100644
index 0000000000..9fd51eb57f
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-views-3-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-range-views-3.png b/images/trendz/metric/overview/tabs-range-views-3.png
new file mode 100644
index 0000000000..da7260c79e
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-views-3.png differ
diff --git a/images/trendz/metric/overview/tabs-range-views-4-preview.png b/images/trendz/metric/overview/tabs-range-views-4-preview.png
new file mode 100644
index 0000000000..518c7a1980
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-views-4-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-range-views-4.png b/images/trendz/metric/overview/tabs-range-views-4.png
new file mode 100644
index 0000000000..1ea3762b02
Binary files /dev/null and b/images/trendz/metric/overview/tabs-range-views-4.png differ
diff --git a/images/trendz/metric/overview/tabs-time-patterns-1-preview.png b/images/trendz/metric/overview/tabs-time-patterns-1-preview.png
new file mode 100644
index 0000000000..f4188abfe2
Binary files /dev/null and b/images/trendz/metric/overview/tabs-time-patterns-1-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-time-patterns-1.png b/images/trendz/metric/overview/tabs-time-patterns-1.png
new file mode 100644
index 0000000000..afeb846f66
Binary files /dev/null and b/images/trendz/metric/overview/tabs-time-patterns-1.png differ
diff --git a/images/trendz/metric/overview/tabs-time-patterns-2-preview.png b/images/trendz/metric/overview/tabs-time-patterns-2-preview.png
new file mode 100644
index 0000000000..143d00b99f
Binary files /dev/null and b/images/trendz/metric/overview/tabs-time-patterns-2-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-time-patterns-2.png b/images/trendz/metric/overview/tabs-time-patterns-2.png
new file mode 100644
index 0000000000..342000a458
Binary files /dev/null and b/images/trendz/metric/overview/tabs-time-patterns-2.png differ
diff --git a/images/trendz/metric/overview/tabs-time-patterns-3-preview.png b/images/trendz/metric/overview/tabs-time-patterns-3-preview.png
new file mode 100644
index 0000000000..8f6f4d617e
Binary files /dev/null and b/images/trendz/metric/overview/tabs-time-patterns-3-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-time-patterns-3.png b/images/trendz/metric/overview/tabs-time-patterns-3.png
new file mode 100644
index 0000000000..f949b54698
Binary files /dev/null and b/images/trendz/metric/overview/tabs-time-patterns-3.png differ
diff --git a/images/trendz/metric/overview/tabs-time-patterns-4-preview.png b/images/trendz/metric/overview/tabs-time-patterns-4-preview.png
new file mode 100644
index 0000000000..7160c20831
Binary files /dev/null and b/images/trendz/metric/overview/tabs-time-patterns-4-preview.png differ
diff --git a/images/trendz/metric/overview/tabs-time-patterns-4.png b/images/trendz/metric/overview/tabs-time-patterns-4.png
new file mode 100644
index 0000000000..9228a6b74b
Binary files /dev/null and b/images/trendz/metric/overview/tabs-time-patterns-4.png differ
diff --git a/images/trendz/metric/overview/telemetry-tabs-1-preview.png b/images/trendz/metric/overview/telemetry-tabs-1-preview.png
new file mode 100644
index 0000000000..9f610de85b
Binary files /dev/null and b/images/trendz/metric/overview/telemetry-tabs-1-preview.png differ
diff --git a/images/trendz/metric/overview/telemetry-tabs-1.png b/images/trendz/metric/overview/telemetry-tabs-1.png
new file mode 100644
index 0000000000..65a72f154c
Binary files /dev/null and b/images/trendz/metric/overview/telemetry-tabs-1.png differ
diff --git a/images/trendz/metric/overview/telemetry-tabs-2-preview.png b/images/trendz/metric/overview/telemetry-tabs-2-preview.png
new file mode 100644
index 0000000000..aab61401ed
Binary files /dev/null and b/images/trendz/metric/overview/telemetry-tabs-2-preview.png differ
diff --git a/images/trendz/metric/overview/telemetry-tabs-2.png b/images/trendz/metric/overview/telemetry-tabs-2.png
new file mode 100644
index 0000000000..45db1cb0c9
Binary files /dev/null and b/images/trendz/metric/overview/telemetry-tabs-2.png differ
diff --git a/images/trendz/metric/overview/telemetry-tabs-3-preview.png b/images/trendz/metric/overview/telemetry-tabs-3-preview.png
new file mode 100644
index 0000000000..9df04edaec
Binary files /dev/null and b/images/trendz/metric/overview/telemetry-tabs-3-preview.png differ
diff --git a/images/trendz/metric/overview/telemetry-tabs-3.png b/images/trendz/metric/overview/telemetry-tabs-3.png
new file mode 100644
index 0000000000..10a9e964b4
Binary files /dev/null and b/images/trendz/metric/overview/telemetry-tabs-3.png differ
diff --git a/images/trendz/metric/overview/telemetry-tabs-4-preview.png b/images/trendz/metric/overview/telemetry-tabs-4-preview.png
new file mode 100644
index 0000000000..a0c22a3ade
Binary files /dev/null and b/images/trendz/metric/overview/telemetry-tabs-4-preview.png differ
diff --git a/images/trendz/metric/overview/telemetry-tabs-4.png b/images/trendz/metric/overview/telemetry-tabs-4.png
new file mode 100644
index 0000000000..8003129dd0
Binary files /dev/null and b/images/trendz/metric/overview/telemetry-tabs-4.png differ
diff --git a/images/trendz/metric/overview/topology-discovery-preview.png b/images/trendz/metric/overview/topology-discovery-preview.png
new file mode 100644
index 0000000000..faa4c3b546
Binary files /dev/null and b/images/trendz/metric/overview/topology-discovery-preview.png differ
diff --git a/images/trendz/metric/overview/topology-discovery.png b/images/trendz/metric/overview/topology-discovery.png
new file mode 100644
index 0000000000..5f56ffd0bd
Binary files /dev/null and b/images/trendz/metric/overview/topology-discovery.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/calculation-create-1-preview.png b/images/trendz/metric/use-in-thingsboard/calculation-create-1-preview.png
new file mode 100644
index 0000000000..09186b6bdd
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/calculation-create-1-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/calculation-create-1.png b/images/trendz/metric/use-in-thingsboard/calculation-create-1.png
new file mode 100644
index 0000000000..d003286dbe
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/calculation-create-1.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/calculation-create-2-preview.png b/images/trendz/metric/use-in-thingsboard/calculation-create-2-preview.png
new file mode 100644
index 0000000000..c1fee3e51e
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/calculation-create-2-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/calculation-create-2.png b/images/trendz/metric/use-in-thingsboard/calculation-create-2.png
new file mode 100644
index 0000000000..051cf95d5d
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/calculation-create-2.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/calculation-create-3-preview.png b/images/trendz/metric/use-in-thingsboard/calculation-create-3-preview.png
new file mode 100644
index 0000000000..08e4ba04c4
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/calculation-create-3-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/calculation-create-3.png b/images/trendz/metric/use-in-thingsboard/calculation-create-3.png
new file mode 100644
index 0000000000..d09387dcbe
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/calculation-create-3.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/calculation-create-4-preview.png b/images/trendz/metric/use-in-thingsboard/calculation-create-4-preview.png
new file mode 100644
index 0000000000..618a301951
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/calculation-create-4-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/calculation-create-4.png b/images/trendz/metric/use-in-thingsboard/calculation-create-4.png
new file mode 100644
index 0000000000..f1a5cf80e6
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/calculation-create-4.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/calculation-create-5-preview.png b/images/trendz/metric/use-in-thingsboard/calculation-create-5-preview.png
new file mode 100644
index 0000000000..90ff34c125
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/calculation-create-5-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/calculation-create-5.png b/images/trendz/metric/use-in-thingsboard/calculation-create-5.png
new file mode 100644
index 0000000000..6d7064ee24
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/calculation-create-5.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/calculation-parameters-1-preview.png b/images/trendz/metric/use-in-thingsboard/calculation-parameters-1-preview.png
new file mode 100644
index 0000000000..5295250ecc
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/calculation-parameters-1-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/calculation-parameters-1.png b/images/trendz/metric/use-in-thingsboard/calculation-parameters-1.png
new file mode 100644
index 0000000000..5594ffeefe
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/calculation-parameters-1.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/calculation-parameters-2-preview.png b/images/trendz/metric/use-in-thingsboard/calculation-parameters-2-preview.png
new file mode 100644
index 0000000000..611f007494
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/calculation-parameters-2-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/calculation-parameters-2.png b/images/trendz/metric/use-in-thingsboard/calculation-parameters-2.png
new file mode 100644
index 0000000000..f8533efc24
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/calculation-parameters-2.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/calculation-parameters-3-preview.png b/images/trendz/metric/use-in-thingsboard/calculation-parameters-3-preview.png
new file mode 100644
index 0000000000..7b84bdaeee
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/calculation-parameters-3-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/calculation-parameters-3.png b/images/trendz/metric/use-in-thingsboard/calculation-parameters-3.png
new file mode 100644
index 0000000000..670adc085d
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/calculation-parameters-3.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/calculation-parameters-4-preview.png b/images/trendz/metric/use-in-thingsboard/calculation-parameters-4-preview.png
new file mode 100644
index 0000000000..15693696e0
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/calculation-parameters-4-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/calculation-parameters-4.png b/images/trendz/metric/use-in-thingsboard/calculation-parameters-4.png
new file mode 100644
index 0000000000..d3e990d497
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/calculation-parameters-4.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/refresh-task-1-preview.png b/images/trendz/metric/use-in-thingsboard/refresh-task-1-preview.png
new file mode 100644
index 0000000000..f2d6bf269e
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/refresh-task-1-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/refresh-task-1.png b/images/trendz/metric/use-in-thingsboard/refresh-task-1.png
new file mode 100644
index 0000000000..2ab80d3693
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/refresh-task-1.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/refresh-task-2-preview.png b/images/trendz/metric/use-in-thingsboard/refresh-task-2-preview.png
new file mode 100644
index 0000000000..3203fb27db
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/refresh-task-2-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/refresh-task-2.png b/images/trendz/metric/use-in-thingsboard/refresh-task-2.png
new file mode 100644
index 0000000000..e695ead20d
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/refresh-task-2.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/refresh-task-3-preview.png b/images/trendz/metric/use-in-thingsboard/refresh-task-3-preview.png
new file mode 100644
index 0000000000..44f8b3ea33
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/refresh-task-3-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/refresh-task-3.png b/images/trendz/metric/use-in-thingsboard/refresh-task-3.png
new file mode 100644
index 0000000000..3a9b9d5364
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/refresh-task-3.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/refresh-task-4-preview.png b/images/trendz/metric/use-in-thingsboard/refresh-task-4-preview.png
new file mode 100644
index 0000000000..ec9f9ef3bb
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/refresh-task-4-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/refresh-task-4.png b/images/trendz/metric/use-in-thingsboard/refresh-task-4.png
new file mode 100644
index 0000000000..1680c7674b
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/refresh-task-4.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/refresh-task-5-preview.png b/images/trendz/metric/use-in-thingsboard/refresh-task-5-preview.png
new file mode 100644
index 0000000000..17e1fb1b12
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/refresh-task-5-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/refresh-task-5.png b/images/trendz/metric/use-in-thingsboard/refresh-task-5.png
new file mode 100644
index 0000000000..f633554a52
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/refresh-task-5.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/refresh-task-6-preview.png b/images/trendz/metric/use-in-thingsboard/refresh-task-6-preview.png
new file mode 100644
index 0000000000..733e0a8de3
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/refresh-task-6-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/refresh-task-6.png b/images/trendz/metric/use-in-thingsboard/refresh-task-6.png
new file mode 100644
index 0000000000..f04a0f795d
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/refresh-task-6.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/refresh-task-7-preview.png b/images/trendz/metric/use-in-thingsboard/refresh-task-7-preview.png
new file mode 100644
index 0000000000..3173553efc
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/refresh-task-7-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/refresh-task-7.png b/images/trendz/metric/use-in-thingsboard/refresh-task-7.png
new file mode 100644
index 0000000000..4b925112c1
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/refresh-task-7.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/reprocess-task-1-preview.png b/images/trendz/metric/use-in-thingsboard/reprocess-task-1-preview.png
new file mode 100644
index 0000000000..962ebc735d
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/reprocess-task-1-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/reprocess-task-1.png b/images/trendz/metric/use-in-thingsboard/reprocess-task-1.png
new file mode 100644
index 0000000000..16b0acde24
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/reprocess-task-1.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/reprocess-task-2-preview.png b/images/trendz/metric/use-in-thingsboard/reprocess-task-2-preview.png
new file mode 100644
index 0000000000..b659bda669
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/reprocess-task-2-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/reprocess-task-2.png b/images/trendz/metric/use-in-thingsboard/reprocess-task-2.png
new file mode 100644
index 0000000000..1e0847fec2
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/reprocess-task-2.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/reprocess-task-3-preview.png b/images/trendz/metric/use-in-thingsboard/reprocess-task-3-preview.png
new file mode 100644
index 0000000000..e2a2bc24f4
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/reprocess-task-3-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/reprocess-task-3.png b/images/trendz/metric/use-in-thingsboard/reprocess-task-3.png
new file mode 100644
index 0000000000..bb6e3ccb53
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/reprocess-task-3.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/reprocess-task-4-preview.png b/images/trendz/metric/use-in-thingsboard/reprocess-task-4-preview.png
new file mode 100644
index 0000000000..9e41d219ea
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/reprocess-task-4-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/reprocess-task-4.png b/images/trendz/metric/use-in-thingsboard/reprocess-task-4.png
new file mode 100644
index 0000000000..37495c58a8
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/reprocess-task-4.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/use-alarms-1-preview.png b/images/trendz/metric/use-in-thingsboard/use-alarms-1-preview.png
new file mode 100644
index 0000000000..121df83633
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/use-alarms-1-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/use-alarms-1.png b/images/trendz/metric/use-in-thingsboard/use-alarms-1.png
new file mode 100644
index 0000000000..7305eac7da
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/use-alarms-1.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/use-alarms-2-preview.png b/images/trendz/metric/use-in-thingsboard/use-alarms-2-preview.png
new file mode 100644
index 0000000000..62fa994834
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/use-alarms-2-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/use-alarms-2.png b/images/trendz/metric/use-in-thingsboard/use-alarms-2.png
new file mode 100644
index 0000000000..20d8129cc2
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/use-alarms-2.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/use-alarms-3-preview.png b/images/trendz/metric/use-in-thingsboard/use-alarms-3-preview.png
new file mode 100644
index 0000000000..18e663eb19
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/use-alarms-3-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/use-alarms-3.png b/images/trendz/metric/use-in-thingsboard/use-alarms-3.png
new file mode 100644
index 0000000000..38a2549b69
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/use-alarms-3.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/use-alarms-4-preview.png b/images/trendz/metric/use-in-thingsboard/use-alarms-4-preview.png
new file mode 100644
index 0000000000..9ebd4278e2
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/use-alarms-4-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/use-alarms-4.png b/images/trendz/metric/use-in-thingsboard/use-alarms-4.png
new file mode 100644
index 0000000000..fe48e85a69
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/use-alarms-4.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/use-alarms-5-preview.png b/images/trendz/metric/use-in-thingsboard/use-alarms-5-preview.png
new file mode 100644
index 0000000000..73dcd509d4
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/use-alarms-5-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/use-alarms-5.png b/images/trendz/metric/use-in-thingsboard/use-alarms-5.png
new file mode 100644
index 0000000000..bd724c14a9
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/use-alarms-5.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/use-alarms-6-preview.png b/images/trendz/metric/use-in-thingsboard/use-alarms-6-preview.png
new file mode 100644
index 0000000000..2dece1b596
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/use-alarms-6-preview.png differ
diff --git a/images/trendz/metric/use-in-thingsboard/use-alarms-6.png b/images/trendz/metric/use-in-thingsboard/use-alarms-6.png
new file mode 100644
index 0000000000..48e6d0fcb7
Binary files /dev/null and b/images/trendz/metric/use-in-thingsboard/use-alarms-6.png differ
diff --git a/installations/index.html b/installations/index.html
index 94a4f08798..ce1200e4a6 100644
--- a/installations/index.html
+++ b/installations/index.html
@@ -599,7 +599,7 @@
Calculated fields are one of the most powerful features for KPI monitoring and prediction. Based on the input data, calculated fields allow you to run statistical functions and create new data items by applying calculations.