Skip to content

Commit 473fb78

Browse files
committed
Merge branch 'staging/3.9' into release/3.9
2 parents 0592fd2 + e431486 commit 473fb78

19 files changed

+382
-130
lines changed

_config.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ release:
9090
pe_edge_ver: 3.9pe
9191
pe_edge_full_ver: 3.9.0EDGEPE
9292
# <<< EDGE
93-
ce_flutter_app_ver: 1.4.0
94-
pe_flutter_app_ver: 1.4.0
93+
ce_flutter_app_ver: 1.5.0
94+
pe_flutter_app_ver: 1.5.0
9595
broker_full_ver: 2.0.1
9696
broker_branch: release-2.0.1
97-
trendz_ver: 1.12.0
97+
trendz_ver: 1.13.0

_includes/accordion.liquid

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
{% for accordionItem in accordionCollection %}
1313
<div class="accordion-item">
1414
<div class="accordion-preview accordion-toggle {% if openStatus == "firstOpened" and forloop.first %}opened{% endif %}{% if openStatus == "allOpened" %}opened{% endif %}" id="{{ collectionMap }}-{{ forloop.index }}">
15-
<h2 class="accordion-title">{{ accordionItem[1].title }}</h2>
15+
<p class="accordion-title">{{ accordionItem[1].title }}</p>
1616
<div class="accordion-additional">
1717
<div class="accordion-additional-content">
1818
{% if accordionItem[1].additionalFaIcon %}
@@ -27,14 +27,6 @@
2727
</span>
2828
</div>
2929
</div>
30-
<div class="accordion-subtitle">
31-
{% if accordionItem[1].subtitle %}
32-
{% if accordionItem[1].subtitleIcon %}
33-
<i class="{{ accordionItem[1].subtitleIcon }}"></i>
34-
{% endif %}
35-
<span>{{ accordionItem[1].subtitle }}</span>
36-
{% endif %}
37-
</div>
3830
<div class="accordion-content {% if openStatus == "firstOpened" and forloop.first or openStatus == "allOpened" %}opened{% endif %}{% if openStatus == "allOpened" %}opened{% endif %}" id="{{ collectionMap }}-{{ forloop.index }}">
3931
<ul>
4032
{% for textContent in accordionItem[1].textContentCollection %}

_includes/accordion.sass

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,6 @@
44
.accordion-item
55
padding: 57.5px 32px
66
border-bottom: 1.5px solid #3E9AF81F
7-
.accordion-subtitle
8-
display: flex
9-
align-items: center
10-
gap: 8px
117
.accordion-toggle
128
cursor: pointer
139
.accordion-preview
@@ -45,7 +41,6 @@
4541
display: flex
4642
flex-direction: column
4743
gap: 16px
48-
margin-top: 30px
4944
padding-left: 0
5045
li
5146
display: flex
@@ -59,8 +54,10 @@
5954
.accordion-chevron
6055
transform: rotate(180deg)
6156
.accordion-content.opened
57+
height: auto
6258
opacity: 1
6359
grid-template-rows: 1fr
60+
padding-top: 30px
6461
@media screen and (max-width: 1279px)
6562
.accordion-collection
6663
.accordion-item

_includes/carousel.liquid

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@
144144
{% endfor %}
145145
</ul>
146146
{% endif %}
147-
<h2 style="font-size:{{ titleSize }}; color: {{ titleColor }}; line-height: {{ titleLineHeight }}; font-weight: {{ titleWeight }};">{{ carouselItem[1].title }}</h2>
147+
<span style="font-size:{{ titleSize }}; color: {{ titleColor }}; line-height: {{ titleLineHeight }}; font-weight: {{ titleWeight }}; text-align: center">{{ carouselItem[1].title }}</span>
148148
</div>
149149
<p style="font-size:{{ descriptionSize }}; color: {{ descriptionColor }}; line-height: {{descriptionLineHeight}}; font-weight: {{ descriptionWeight }}">{{ carouselItem[1].description }}</p>
150150
<div id="{{ carouselItem[1].linkId }}" class="card-link">

_includes/docs/edge/faq.md

Lines changed: 179 additions & 75 deletions
Large diffs are not rendered by default.

_layouts/devices-library-article.liquid

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@
4040
{% endfor %}
4141
{% if siteData[foundTOC].notitle == "true" or page.notitle == "true" %}{% assign notitle = "true" %}{% endif %}
4242

43+
{% assign foundProduct = site.data.products | where: "tag", docsTag %}
44+
{% assign productInfo = foundProduct[0] %}
45+
4346
<!Doctype html>
4447
<html id="docs" class="{{ siteData[foundTOC].bigheader }} {{ productInfo.tag }}">
4548

docs/edge/faq.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
---
22
layout: docwithnav-edge
3-
title: FAQ
4-
description: ThingsBoard Edge FAQ
3+
title: Frequently Asked Questions
4+
description: ThingsBoard Edge FAQs
55

66
---
7+
78
{% assign docsPrefix = "edge/" %}
9+
{% assign edgeName = "Community Edition" %}
810
{% include docs/edge/faq.md %}
911

docs/pe/edge/faq.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
---
22
layout: docwithnav-pe-edge
3-
title: FAQ
4-
description: ThingsBoard Edge FAQ
3+
title: Frequently Asked Questions
4+
description: ThingsBoard Edge FAQs
55

66
---
77

88
{% assign docsPrefix = "pe/edge/" %}
9+
{% assign peDocsPrefix = "pe/" %}
10+
{% assign edgeName = "Professional Edition" %}
911
{% include docs/edge/faq.md %}

docs/services/services.sass

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -181,11 +181,11 @@
181181
font-size: 48px
182182
font-weight: 600
183183
line-height: 60px
184-
.trainings-h3
184+
.trainings-h2
185185
font-size: 48px
186186
font-weight: 600
187187
line-height: 60px
188-
.trainings-h4
188+
.course-name
189189
color: #212529
190190
font-size: 32px
191191
font-weight: 500
@@ -396,7 +396,7 @@
396396

397397
.courses
398398
padding: 100px 0
399-
.trainings-h3
399+
.trainings-h2
400400
text-align: center
401401
.contact
402402
.trainings-h4
@@ -463,7 +463,7 @@
463463
.trainings
464464
.trainings-h4
465465
font-size: 28px
466-
.trainings-h3
466+
.trainings-h2
467467
font-size: 32px
468468
.trainings-h1
469469
font-size: 32px

docs/services/trainings.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,22 @@ description: ThingsBoard training sessions
2222
<div class="trainings-contact">
2323
<div class="contact">
2424
<div class="contact-label">
25-
<h4 class="trainings-h4">Training sessions</h4>
25+
<span class="course-name">Training sessions</span>
2626
<p>Fast, informative, and engaging</p>
2727
</div>
28-
<a class="contact-us-button" href="/docs/contact-us/">Contact Us</a>
28+
<a class="contact-us-button" href="/docs/contact-us/?subject=Training">Contact Us</a>
2929
</div>
3030
<p class="contact-text">
3131
Our ThingsBoard training sessions are practical workshops led by experts from the ThingsBoard team, created especially for your company’s engineers. We offer fifteen 2-hour sessions that explain the basics of using ThingsBoard. Even though our documentation is detailed, these sessions focus on the most important points, helping you start IoT solution development quickly and easily.
3232
</p>
33-
<a class="contact-us-button contact-us-button-hidden" href="/docs/contact-us/">Contact Us</a>
33+
<a class="contact-us-button contact-us-button-hidden" href="/docs/contact-us/?subject=Training">Contact Us</a>
3434
</div>
3535
</div>
3636
<div class="trainings-cards">
3737
<div class="trainings-wrapper">
3838
<div class="trainings-cards-wrapper">
3939
<div class="trainings-card">
40-
<h4 class="trainings-h4">Who is this for</h4>
40+
<span class="course-name">Who is this for</span>
4141
<ul>
4242
<li>
4343
<img src="https://img.thingsboard.io/trainings/icon_people.svg" alt="Users icon">
@@ -54,7 +54,7 @@ description: ThingsBoard training sessions
5454
</ul>
5555
</div>
5656
<div class="trainings-card">
57-
<h4 class="trainings-h4">Primary goals of the training</h4>
57+
<span class="course-name">Primary goals of the training</span>
5858
<ul>
5959
<li>
6060
<img src="https://img.thingsboard.io/trainings/icon_arrow-growth.svg" alt="Graph icon">
@@ -75,46 +75,46 @@ description: ThingsBoard training sessions
7575
</div>
7676
<div class="courses">
7777
<div class="trainings-wrapper">
78-
<h3 class="trainings-h3">Training courses</h3>
78+
<h2 class="trainings-h2">Training courses</h2>
7979
{% include carousel.liquid items = 3 itemsHigher960 = 1 itemsHigher600 = 1 itemsHigher0 = 1 dotButtonMode = "circle" collectionMap = "trainings-carousel" cardMode = true carouselMargin = 0 stagePadding = 0 navMode = "smallArrow" titleSize = "28px" titleColor = "#000000DE" titleWeight = "500" titleLineHeight = "38px" descriptionSize = "18px" descriptionColor = "#0000008A" descriptionLineHeight = "24px" linkSize = "16px" linkLineHeight = "24px" linkWeight = "400" %}
8080
<div class="owl-carousel-toggle-content" id="owl-carousel-0">
8181
<div class="owl-carousel-toggle-content-item" id="data-visualization">
8282
<div class="trainings-contact">
8383
<div class="contact">
8484
<div>
85-
<h4 class="trainings-h4">Data visualization</h4>
85+
<span class="course-name">Data visualization</span>
8686
</div>
87-
<a class="contact-us-button" href="/docs/contact-us/">Contact Us</a>
87+
<a class="contact-us-button" href="/docs/contact-us/?subject=Training">Contact Us</a>
8888
</div>
8989
<p class="contact-text">
9090
Learn how to effectively model and visualize data using the ThingsBoard platform. This training block covers the essentials of ThingsBoard's Web UI, entity management, and advanced data visualization techniques. You will gain hands-on experience with creating and customizing widgets, as well as building comprehensive dashboards that provide insightful data representations for your IoT projects.
9191
</p>
92-
<a class="contact-us-button contact-us-button-hidden" href="/docs/contact-us/">Contact Us</a>
92+
<a class="contact-us-button contact-us-button-hidden" href="/docs/contact-us/?subject=Training">Contact Us</a>
9393
</div>
9494
{% include accordion.liquid collectionMap = "trainings-data-visualization-accordion-collection" openStatus = "firstOpened" %}
9595
</div>
9696
<div class="owl-carousel-toggle-content-item" id="administration">
9797
<div class="trainings-contact">
9898
<div class="contact">
9999
<div>
100-
<h4 class="trainings-h4">ThingsBoard administration</h4>
100+
<span class="course-name">ThingsBoard administration</span>
101101
</div>
102-
<a class="contact-us-button" href="/docs/contact-us/">Contact Us</a>
102+
<a class="contact-us-button" href="/docs/contact-us/?subject=Training">Contact Us</a>
103103
</div>
104104
<p class="contact-text">
105105
This training provides administrators with the skills needed to successfully deploy, configure, and manage ThingsBoard in various environments. You will learn monolithic and cluster-based deployment strategies, understand architecture components. This training covers hands-on AWS deployment, troubleshooting common issues using logs and diagnostic tools, and improving ThingsBoard’s performance and stability.
106106
</p>
107-
<a class="contact-us-button contact-us-button-hidden" href="/docs/contact-us/">Contact Us</a>
107+
<a class="contact-us-button contact-us-button-hidden" href="/docs/contact-us/?subject=Training">Contact Us</a>
108108
</div>
109109
{% include accordion.liquid collectionMap = "trainings-thingsboard-administration-accordion-collection" openStatus = "firstOpened" %}
110110
</div>
111111
<div class="owl-carousel-toggle-content-item" id="scada">
112112
<div class="trainings-contact">
113113
<div class="contact">
114114
<div>
115-
<h4 class="trainings-h4">SCADA system</h4>
115+
<span class="course-name">SCADA system</span>
116116
</div>
117-
<a class="contact-us-button" href="/docs/contact-us/">Contact Us</a>
117+
<a class="contact-us-button" href="/docs/contact-us/?subject=Training">Contact Us</a>
118118
</div>
119119
<div class="contact-text">
120120
<p class="test">
@@ -127,22 +127,22 @@ description: ThingsBoard training sessions
127127
</span>
128128
</p>
129129
</div>
130-
<a class="contact-us-button contact-us-button-hidden" href="/docs/contact-us/">Contact Us</a>
130+
<a class="contact-us-button contact-us-button-hidden" href="/docs/contact-us/?subject=Training">Contact Us</a>
131131
</div>
132132
{% include accordion.liquid collectionMap = "trainings-scada-accordion-collection" openStatus = "firstOpened" %}
133133
</div>
134134
<div class="owl-carousel-toggle-content-item" id="management">
135135
<div class="trainings-contact">
136136
<div class="contact">
137137
<div>
138-
<h4 class="trainings-h4">Platform management and security</h4>
138+
<span class="course-name">Platform management and security</span>
139139
</div>
140-
<a class="contact-us-button" href="/docs/contact-us/">Contact Us</a>
140+
<a class="contact-us-button" href="/docs/contact-us/?subject=Training">Contact Us</a>
141141
</div>
142142
<p class="contact-text">
143143
This training program helps participants gain a strong understanding of ThingsBoard’s main features through hands-on practice. It covers data automation using the Rule Engine, user access control with RBAC, alarm management, and API interaction. Advanced users will also learn custom rule node development to extend the system capabilities. This program is perfect for professionals who want to build scalable, secure, high-performing IoT solutions using ThingsBoard.
144144
</p>
145-
<a class="contact-us-button contact-us-button-hidden" href="/docs/contact-us/">Contact Us</a>
145+
<a class="contact-us-button contact-us-button-hidden" href="/docs/contact-us/?subject=Training">Contact Us</a>
146146
</div>
147147
{% include accordion.liquid collectionMap = "trainings-platform-management-accordion-collection" openStatus = "firstOpened" %}
148148
</div>
@@ -181,7 +181,7 @@ description: ThingsBoard training sessions
181181
<p>
182182
Professional training tailored for your needs. Get in touch and start learning!
183183
</p>
184-
<a class="contact-us-button" href="/docs/contact-us/">Contact Us</a>
184+
<a class="contact-us-button" href="/docs/contact-us/?subject=Training">Contact Us</a>
185185
</div>
186186
</div>
187187
</div>

docs/trendz/configuration-properties.md

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,43 @@ description: Trendz configuration properties description
144144
<td>ADMIN_PASSWORD</td>
145145
<td> </td>
146146
<td>Password for authenticating background requests to ThingsBoard</td>
147-
</tr>
148-
147+
</tr>
148+
<tr>
149+
<td>viewAssistance.enable</td>
150+
<td>VIEW_ASSISTANCE_ENABLE</td>
151+
<td>true</td>
152+
<td>Enable/disable AI assistant</td>
153+
</tr>
154+
<tr>
155+
<td>viewAssistance.quota.enable</td>
156+
<td>VIEW_ASSISTANCE_QUOTA_ENABLE</td>
157+
<td>true</td>
158+
<td>Enable/disable AI assistant</td>
159+
</tr>
160+
<tr>
161+
<td>viewAssistance.quota.maxRequestsForTenant</td>
162+
<td>VIEW_ASSISTANCE_MAX_REQUESTS_COUNT_FOR_QUOTA_FOR_TENANT</td>
163+
<td>10</td>
164+
<td>Max amount of AI requests for tenant per duration period</td>
165+
</tr>
166+
<tr>
167+
<td>viewAssistance.quota.maxRequestsForCustomer</td>
168+
<td>VIEW_ASSISTANCE_MAX_REQUESTS_COUNT_FOR_QUOTA_FOR_CUSTOMER</td>
169+
<td>10</td>
170+
<td>Max amount of AI requests for customer per duration period</td>
171+
</tr>
172+
<tr>
173+
<td>viewAssistance.quota.maxRequestsForUser</td>
174+
<td>VIEW_ASSISTANCE_MAX_REQUESTS_COUNT_FOR_QUOTA_FOR_USER</td>
175+
<td>10</td>
176+
<td>Max amount of AI requests for user per duration period</td>
177+
</tr>
178+
<tr>
179+
<td>viewAssistance.quota.durationInMinutes</td>
180+
<td>VIEW_ASSISTANCE_QUOTA_DURATION_IN_MINUTES</td>
181+
<td>1</td>
182+
<td>Duration period for quota</td>
183+
</tr>
149184
150185
</tbody>
151186
</table>

docs/trendz/install/docker.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ It is essential to follow these [instructions](/docs/trendz/post-installation-st
141141

142142
## Upgrade Trendz Service
143143

144-
Below is example on how to upgrade from 1.11.0 to {{ site.release.trendz_ver }}
144+
Below is example on how to upgrade from 1.12.0 to {{ site.release.trendz_ver }}
145145

146146
* Create a dump of your database:
147147

@@ -159,17 +159,17 @@ If you still rely on Docker Compose as docker-compose (with a hyphen) execute ne
159159
* Set upgradeversion variable to your **previous** Trendz version.
160160

161161
```bash
162-
docker compose exec mytrendz sh -c "echo '1.11.0' > /data/.upgradeversion"
162+
docker compose exec mytrendz sh -c "echo '1.12.0' > /data/.upgradeversion"
163163
```
164164
{: .copy-code}
165165

166166
{% capture dockerComposeStandalone %}
167167
If you still rely on Docker Compose as docker-compose (with a hyphen) execute next command:
168-
<br>**docker-compose exec mytrendz sh -c "echo '1.11.0' > /data/.upgradeversion"**
168+
<br>**docker-compose exec mytrendz sh -c "echo '1.12.0' > /data/.upgradeversion"**
169169
{% endcapture %}
170170
{% include templates/info-banner.md content=dockerComposeStandalone %}
171171

172-
* After this you need to update docker-compose.yml as in [Step 2](#docker-compose-setup) but with {{ site.release.trendz_ver }} instead of 1.11.0:
172+
* After this you need to update docker-compose.yml as in [Step 2](#docker-compose-setup) but with {{ site.release.trendz_ver }} instead of 1.12.0:
173173

174174
* Restart Trendz container
175175

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
wget https://dist.thingsboard.io/trendz-1.13.0.rpm
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
sudo rpm -Uvh trendz-1.13.0.rpm
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
wget https://dist.thingsboard.io/trendz-1.13.0.deb
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
sudo dpkg -i trendz-1.13.0.deb

docs/trendz/install/trndz-upgrade-instructions-kubernetes.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ description: ThingsBoard Trendz Analytics upgrade instructions kubernetes
88
* TOC
99
{:toc}
1010

11-
## Upgrading to 1.12.0
11+
## Upgrading to 1.13.0
1212

13-
These steps are applicable for 1.11.2 Trendz Analytics version.
13+
These steps are applicable for 1.12.0 Trendz Analytics version.
1414

1515
#### Obtain Trendz Kubernetes scripts
1616

@@ -45,13 +45,13 @@ kubectl scale deployment trendz-app-deployment --replicas=1
4545
Create a file “.upgradeversion” inside the directory by calling the command that must be executed by Trendz pod.
4646
Run the command:
4747
```text
48-
kubectl exec <POD_NAME> -- sh -c "echo '1.11.2' > /data/.upgradeversion"
48+
kubectl exec <POD_NAME> -- sh -c "echo '1.12.0' > /data/.upgradeversion"
4949
```
5050
You can get the pod name by the command:
5151
```text
5252
kubectl get pods -l app=trendz-app-pod-label
5353
```
54-
Use another version instead of '1.11.2' if another is needed
54+
Use another version instead of '1.12.0' if another is needed
5555

5656
#### Change image version
5757

0 commit comments

Comments
 (0)