Skip to content

Commit 0592fd2

Browse files
committed
Merge branch 'staging/3.9' into release/3.9
2 parents 22df281 + 48d5f7d commit 0592fd2

File tree

170 files changed

+2212
-444
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

170 files changed

+2212
-444
lines changed
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
0:
2+
title: "ThingsBoard UI fundamentals: data modeling and visual representation"
3+
additionalText: "2 hours"
4+
additionalFaIcon : "far fa-clock fa-lg"
5+
allTextContentIcon: "fas fa-check"
6+
allTextContentIconColor: "#2A7DEC"
7+
textContentCollection:
8+
0:
9+
textContent: "Learn how to navigate the ThingsBoard UI confidently, understanding its layout, navigation, and key features."
10+
1:
11+
textContent: "Explore the ThingsBoard hierarchy: SysAdmin, Tenants, Customers, and Users, along with roles and permissions."
12+
2:
13+
textContent: "Learn how to configure Tenant Profiles."
14+
3:
15+
textContent: "Manage core entities like Devices, Assets, and Entity Views."
16+
4:
17+
textContent: "Learn how to group Devices and Assets for better scalability (PE Feature)."
18+
5:
19+
textContent: "Work with entity attributes and telemetry data to retrieve both real-time and historical insights."
20+
6:
21+
textContent: "Understand entity relations, different relationship types, and how they define connections between entities."
22+
7:
23+
textContent: "Explore real-world use cases of entity relations in ThingsBoard."
24+
8:
25+
textContent: "Identify common limitations and best practices to avoid performance bottlenecks."
26+
9:
27+
textContent: "Apply knowledge through real-world scenarios."
28+
10:
29+
textContent: "Discuss best practices for ThingsBoard UI and data management."
30+
1:
31+
title: "ThingsBoard dashboard & widget mastery"
32+
additionalText: "2 hours"
33+
additionalFaIcon : "far fa-clock fa-lg"
34+
allTextContentIcon: "fas fa-check"
35+
allTextContentIconColor: "#2A7DEC"
36+
textContentCollection:
37+
0:
38+
textContent: "Deep Dive into ThingsBoard Dashboards to understand Entity Aliases, Time Window selection, General Settings, and Dashboard States."
39+
1:
40+
textContent: "Explore state transitions and how to enhance user experience."
41+
2:
42+
textContent: "Learn how to customize Chart, Markdown/HTML Card, and Map widgets."
43+
3:
44+
textContent: "Utilize Custom Tooltips and Dashboard Actions to improve usability and interaction."
45+
4:
46+
textContent: "Create dashboards with multiple states to display Asset hierarchy."
47+
5:
48+
textContent: "Implement drill-down functionality for detailed views of assets and devices."
49+
6:
50+
textContent: "Discuss advanced visualization strategies."
51+
7:
52+
textContent: "Gain hands-on experience with dashboard configurations."
53+
2:
54+
title: "ThingsBoard custom widget development (session 1)"
55+
additionalText: "2 hours"
56+
additionalFaIcon : "far fa-clock fa-lg"
57+
allTextContentIcon: "fas fa-check"
58+
allTextContentIconColor: "#2A7DEC"
59+
textContentCollection:
60+
0:
61+
textContent: "Recommended for users with JavaScript and Angular experience"
62+
faIcon: "fas fa-exclamation-circle"
63+
faIconColor: "#F36500"
64+
1:
65+
textContent: "Learn how to use the ThingsBoard Widget Editor, its layout, and key features."
66+
2:
67+
textContent: "Explore how to navigate, create, and configure widget bundles."
68+
3:
69+
textContent: "Manage widgets efficiently through importing, modifying, and exporting."
70+
4:
71+
textContent: "Learn how to build Control Widgets: develop widgets for real-time user interactions."
72+
5:
73+
textContent: "Develop Static Widgets: Create non-interactive elements for structured data display."
74+
6:
75+
textContent: "Understand how to develop Markdown/HTML Widgets: Enhance dashboards with flexible content."
76+
7:
77+
textContent: "Learn how to structure widgets for performance, scalability, and maintainability."
78+
8:
79+
textContent: "Troubleshoot common widget development challenges."
80+
9:
81+
textContent: "Gain hands-on experience in custom widget creation."
82+
3:
83+
title: "ThingsBoard custom widget development (session 2)"
84+
additionalText: "2 hours"
85+
additionalFaIcon : "far fa-clock fa-lg"
86+
allTextContentIcon: "fas fa-check"
87+
allTextContentIconColor: "#2A7DEC"
88+
textContentCollection:
89+
0:
90+
textContent: "Recommended for users with JavaScript and Angular experience"
91+
faIcon: "fas fa-exclamation-circle"
92+
faIconColor: "#F36500"
93+
1:
94+
textContent: "Understand complex widget structures and custom logic implementation."
95+
2:
96+
textContent: "Work with the Last Values widgets for real-time data representation."
97+
3:
98+
textContent: "Learn how to Develop Time-Series Widgets."
99+
4:
100+
textContent: "Build a Time-Series Table to structure historical data."
101+
5:
102+
textContent: "Create a Dynamic Line Chart to visualize trends in telemetry data."
103+
6:
104+
textContent: "Implement custom action templates for interactive dashboards."
105+
8:
106+
textContent: "Use HTML extensions for advanced data manipulation."
107+
9:
108+
textContent: "Discuss common custom widget challenges."
109+
10:
110+
textContent: "Learn best practices for scalable and maintainable widget development."
111+
Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
0:
2+
title: "Rule engine deep dive: data processing & automation in ThingsBoard"
3+
additionalText: "2 hours"
4+
additionalFaIcon : "far fa-clock fa-lg"
5+
allTextContentIcon: "fas fa-check"
6+
allTextContentIconColor: "#2A7DEC"
7+
textContentCollection:
8+
0:
9+
textContent: "Learn what a Rule Engine is and how it helps process data automatically."
10+
1:
11+
textContent: "Understand how messages flow through rule chains."
12+
2:
13+
textContent: "Understand the differences between regular and edge rule chains."
14+
3:
15+
textContent: "Discover how data arrives in the rule chains, including messages produced by the device and platform-generated events (e.g., lifecycle events)."
16+
4:
17+
textContent: "Explore what a Rule Node is and understand its purpose."
18+
5:
19+
textContent: "Understand why there are different types of nodes (filter, enrichment, transformation, actions, analytics, and external) and how they work together in a rule chain."
20+
6:
21+
textContent: "Learn how to filter, modify, and enrich incoming data, store telemetry, trigger alarms, and send REST API calls, using nodes."
22+
7:
23+
textContent: "Use script nodes (TBEL and JavaScript) to enable flexible message processing."
24+
8:
25+
textContent: "Understand how the Rule Engine operates on a deeper level, including message handling through queues."
26+
9:
27+
textContent: "Learn how different queue settings affect processing latency and throughput, and how incorrect configurations can cause failures."
28+
10:
29+
textContent: "Identify common mistakes when working with queues, such as Kafka consumer polling issues."
30+
11:
31+
textContent: "Use debug mode and logging to track message flow and troubleshoot execution problems."
32+
12:
33+
textContent: "Understand how to handle large-scale data loads while maintaining high system performance."
34+
13:
35+
textContent: "Optimize rule chains to reduce unnecessary actions and improve processing speed."
36+
1:
37+
title: "Security model & access management"
38+
additionalText: "2 hours"
39+
additionalFaIcon : "far fa-clock fa-lg"
40+
allTextContentIcon: "fas fa-check"
41+
allTextContentIconColor: "#2A7DEC"
42+
textContentCollection:
43+
0:
44+
textContent: "Explore the hierarchy model, including system administrators, tenants, customers, and sub-customers and permissions on different levels."
45+
1:
46+
textContent: "Learn how to use entity groups to efficiently manage access control for multiple users."
47+
2:
48+
textContent: "Understand how to use role-based access control (RBAC) and control user access and permissions."
49+
3:
50+
textContent: "Understand the difference between generic and group roles."
51+
4:
52+
textContent: "Learn how to structure user roles, groups, and permissions to ensure secure access management."
53+
5:
54+
textContent: "Gain practical knowledge of how to configure access to dashboards and devices at different user levels."
55+
6:
56+
textContent: "Discover how to create a clear separation between administrators and end users, allowing only limited access."
57+
7:
58+
textContent: "Learn how to fix permission errors by setting correct roles."
59+
8:
60+
textContent: "Configure security settings, including password policies, JWT settings, 2FA, and OAuth 2.0 authentication."
61+
9:
62+
textContent: "Understand the importance of audit logs for tracking user activity and identifying security breaches."
63+
10:
64+
textContent: "Learn how to prevent common security risks, such as manipulating the Host header in login requests."
65+
11:
66+
textContent: "Discover how security is implemented in REST API (e.g., user authorities)."
67+
2:
68+
title: "Alarm management"
69+
additionalText: "2 hours"
70+
additionalFaIcon : "far fa-clock fa-lg"
71+
allTextContentIcon: "fas fa-check"
72+
allTextContentIconColor: "#2A7DEC"
73+
textContentCollection:
74+
0:
75+
textContent: "Understand what an alarm is in ThingsBoard and how it models real-life abnormal conditions."
76+
1:
77+
textContent: "Learn about alarm types and their intended usage(e.g. threshold-exceeded alarm)."
78+
2:
79+
textContent: "Explore alarm severity levels and how they help prioritize incidents."
80+
3:
81+
textContent: "Understand alarm statuses and how they indicate whether the issue is happening now or is already over. "
82+
4:
83+
textContent: "Learn how alarm uniqueness works to prevent duplicate alarms for the same real-life event."
84+
5:
85+
textContent: "Discover alarm timing concepts, including created time, start time, and end time."
86+
6:
87+
textContent: "Learn how to assign responsibility for alarms using the assignee feature."
88+
7:
89+
textContent: "Understand how alarm comments work, differentiating between user-defined and system-generated comments."
90+
8:
91+
textContent: "Understand how alarm rules define when alarms are created and cleared."
92+
9:
93+
textContent: "Explore different rule conditions and how they are evaluated."
94+
10:
95+
textContent: "Learn how to configure alarm propagation settings for efficient alert management."
96+
11:
97+
textContent: "Work with alarm-related Rule Engine nodes, including alarm status filters, create, count and clear alarm nodes."
98+
12:
99+
textContent: "Learn how to send alarm notifications via email, SMS, and the notification centre."
100+
13:
101+
textContent: "Configure an alarm escalation chain to ensure critical alarms receive the necessary attention."
102+
14:
103+
textContent: "Manage alarms using the REST API, including creating, acknowledging, and clearing alarms programmatically."
104+
3:
105+
title: "ThingsBoard platform API fundamentals (session 1)"
106+
additionalText: "2 hours"
107+
additionalFaIcon : "far fa-clock fa-lg"
108+
allTextContentIcon: "fas fa-check"
109+
allTextContentIconColor: "#2A7DEC"
110+
textContentCollection:
111+
0:
112+
textContent: "Understand how to interact with ThingsBoard using the REST API."
113+
1:
114+
textContent: "Learn how to use Swagger UI for testing, developing, and exploring APIs."
115+
2:
116+
textContent: "Discover how authentication and authorization work in REST API."
117+
3:
118+
textContent: "Learn how to obtain and use JWT tokens for secure API access."
119+
4:
120+
textContent: "Explore entity hierarchy access control."
121+
5:
122+
textContent: "Understand user authorities and how RBAC applies to API interactions."
123+
6:
124+
textContent: "Learn how to troubleshoot API permission issues and handle errors."
125+
7:
126+
textContent: "Work with CRUD APIs to create, update, and delete entities programmatically."
127+
8:
128+
textContent: "Use Entity Data Query to efficiently fetch and aggregate data from multiple entities."
129+
9:
130+
textContent: "Learn how to manage attributes via the Attributes API, including fetching, uploading, and subscribing to updates."
131+
10:
132+
textContent: "Work with Time Series API for fetching and uploading telemetry data."
133+
4:
134+
title: "ThingsBoard platform API fundamentals (session 2)"
135+
additionalText: "2 hours"
136+
additionalFaIcon : "far fa-clock fa-lg"
137+
allTextContentIcon: "fas fa-check"
138+
allTextContentIconColor: "#2A7DEC"
139+
textContentCollection:
140+
0:
141+
textContent: "Get an overview of different data transport protocols such as MQTT, HTTP, CoAP, LwM2M, and SNMP."
142+
1:
143+
textContent: "Learn how to send and receive data using MQTT, HTTP, and CoAP protocols."
144+
2:
145+
textContent: "Understand how Remote Procedure Calls (RPC) work in ThingsBoard."
146+
3:
147+
textContent: "Learn different ways to send RPC commands from server to device and vice versa."
148+
4:
149+
textContent: "Discover how to use WebSockets for real-time communication with ThingsBoard."
150+
5:
151+
textContent: "Learn how to subscribe to WebSocket updates and integrate them into applications."
152+
5:
153+
title: "Custom node development in rule engine"
154+
additionalText: "2 hours"
155+
additionalFaIcon : "far fa-clock fa-lg"
156+
allTextContentIcon: "fas fa-check"
157+
allTextContentIconColor: "#2A7DEC"
158+
textContentCollection:
159+
0:
160+
textContent: "Recommended for users with Java development experience"
161+
faIcon: "fas fa-exclamation-circle"
162+
faIconColor: "#F36500"
163+
1:
164+
textContent: "Learn how to write a custom rule node from scratch and integrate it into ThingsBoard."
165+
2:
166+
textContent: "Explore a prepared project template that includes a basic skeleton and sample custom nodes."
167+
3:
168+
textContent: "Use internal ThingsBoard APIs to manipulate and execute various operations within the system."
169+
4:
170+
textContent: "Manage entity data, update records, store information, and send data using custom nodes."
171+
5:
172+
textContent: "Learn how to deploy a custom node to a self-hosted ThingsBoard instance."
173+
6:
174+
textContent: "Explore rule node versioning and upgrade mechanisms."
175+
7:
176+
textContent: "Work with the @RuleNode annotation and understand its role in ThingsBoard."
177+
8:
178+
textContent: "Use the TbNode interface to define custom logic within a rule node."
179+
9:
180+
textContent: "Handle message transformations, including modifying message payloads and metadata."
181+
10:
182+
textContent: "Understand the lifecycle of a rule node, including initialization, updates, and deletion."
183+
11:
184+
textContent: "Optimize performance by utilizing asynchronous programming and efficient threading."
185+
12:
186+
textContent: "Learn how to avoid common mistakes when implementing custom nodes."
187+
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
0:
2+
title: "ThingsBoard and IoT gateway essentials – from connectivity to SCADA visualisation"
3+
additionalText: "2 hours"
4+
additionalFaIcon : "far fa-clock fa-lg"
5+
allTextContentIcon: "fas fa-check"
6+
allTextContentIconColor: "#2A7DEC"
7+
textContentCollection:
8+
0:
9+
textContent: "Learn the main device connectivity possibilities and fundamentals of the ThingsBoard IoT Gateway option."
10+
1:
11+
textContent: "Understand what ThingsBoard IoT Gateway is and explore the variety of capabilities and protocols it provides."
12+
2:
13+
textContent: "Learn about rule chains – what they are, how they work, and how to set them up with practical examples such as processing data with default rule chains, editing them, and assigning custom rule chains to devices."
14+
3:
15+
textContent: "Dive into a quick overview of ThingsBoard IoT data visualisation."
16+
4:
17+
textContent: "Learning how to set up a dashboard with an example of SCADA systems in traditional and high-performance modes."
18+
5:
19+
textContent: "Learn how to use acquired knowledge to develop a SCADA system from scratch or by utilising existing solution templates."
20+
6:
21+
textContent: "Review the SCADA water pool template, including setting up the solution, a walkthrough, and an explanation of its inner workings."
22+
7:
23+
textContent: "Configure additional features on top of the SCADA pool template to create new solutions."
24+
8:
25+
textContent: "Engage in a Q&A session to ask questions and clarify any doubts."
26+
1:
27+
title: "SCADA intro – fundamentals of SCADA interface and dashboard creation"
28+
additionalText: "2 hours"
29+
additionalFaIcon : "far fa-clock fa-lg"
30+
allTextContentIcon: "fas fa-check"
31+
allTextContentIconColor: "#2A7DEC"
32+
textContentCollection:
33+
0:
34+
textContent: "Learn the core functions of the SCADA user interface."
35+
1:
36+
textContent: "Understand the structure and navigation of the SCADA platform."
37+
2:
38+
textContent: "Discover how to create a basic dashboard using pre-configured symbols."
39+
3:
40+
textContent: "Use layout settings—such as grid, toolbar, and scaling options—for effective dashboard customization."
41+
4:
42+
textContent: "Work with different configurations to adjust the user interface to various operational scenarios."
43+
5:
44+
textContent: "Engage in a Q&A session to clear up any doubts and strengthen your skills."
45+
2:
46+
title: "SCADA advanced - symbol management and tag configuration"
47+
additionalText: "2 hours"
48+
additionalFaIcon : "far fa-clock fa-lg"
49+
allTextContentIcon: "fas fa-check"
50+
allTextContentIconColor: "#2A7DEC"
51+
textContentCollection:
52+
0:
53+
textContent: "Learn how to navigate and manage the library of existing SCADA symbols."
54+
1:
55+
textContent: "Understand the process of searching, configuring, and adding symbols to dashboards."
56+
2:
57+
textContent: "Discover how to create new SCADA symbols and integrate them into your dashboard."
58+
3:
59+
textContent: "Use the built-in editor or XML to work with tags for real-time data visualization."
60+
4:
61+
textContent: "Work with tags effectively and ensure they update data correctly and interact smoothly."
62+
5:
63+
textContent: "Engage in a Q&A session to better understand advanced topics."
64+
3:
65+
title: "SCADA mastery – advanced properties, behaviors, and widget engineering"
66+
additionalText: "2 hours"
67+
additionalFaIcon : "far fa-clock fa-lg"
68+
allTextContentIcon: "fas fa-check"
69+
allTextContentIconColor: "#2A7DEC"
70+
textContentCollection:
71+
0:
72+
textContent: 'Learn to set key behaviour parameters like “Value”, “Action,” and “Widget Action”.'
73+
1:
74+
textContent: "Understand the difference between static and dynamic properties and how to configure them."
75+
2:
76+
textContent: "Discover the principles of data binding, animations, and event reactions that drive interactive dashboard elements."
77+
3:
78+
textContent: "Use custom widget development techniques to optimize dashboard performance."
79+
4:
80+
textContent: "Work with custom widgets and bundles, integrating interactive elements into your dashboards."
81+
5:
82+
textContent: "Engage in a Q&A session to resolve any queries and ensure mastery of advanced development concepts."
83+

0 commit comments

Comments
 (0)