I am seeking a developer with experience in ThingsBoard PE 4.0 to create a set of custom widgets that replicate the functionality of Aspen Process Explorer (IP21). The goal is to provide users with a powerful tool to visualize, analyze, and manage historical data from IoT devices, similar to how process engineers interact with industrial systems.
Context and Equivalences
For this project, consider the following equivalences:
"Tags" in Aspen InfoPlus.21 are equivalent to "devices" in ThingsBoard
"Variables" or "parameters" of tags are equivalent to "telemetry" or "attributes" of devices in ThingsBoard
"Saved searches" or "favorites" in Aspen will be stored as user attributes in ThingsBoard
Required Functionality
1. Device Selection Widget
Search for devices by name, type, or attributes
Filter by group or relationships
Multiple device selection for visualization
Save selections as favorites (in user attributes)
Import/export saved selections
2. Historical Data Visualization Widget
Display multiple telemetry data series from different devices
Customize the appearance of each series (color, line type, thickness)
Support for multiple Y axes with different units of measurement
Time navigation tools (zoom, pan, interval selection)
Ability to add annotations at specific points
Data export (CSV, Excel)
Calculated statistics on selected ranges
3. Favorites Management Widget
Display configurations saved as favorites
Organize favorites into categories
Quick loading of saved configurations
Import/export configurations
4. Widget Integration
Widgets must interact with each other (e.g., Selection in widget 1 updates widget 2)
When saving a favorite, both the device selection and chart configuration must be stored
Annotations must be saved and loaded with favorites
Technical Specifications
Code Base:
Development based on the thingsboard-extensions repository (version 4.0)
Use of documented APIs and methods in ThingsBoard 4.0
Development Considerations:
Widgets developed with Angular following ThingsBoard patterns
Use of the event-based communication system between widgets
Storage of configurations in user attributes
Optimization for large volumes of historical data
Responsive and intuitive design similar to Aspen Process Explorer
Expected Deliverables
Complete source code for the developed widgets
Detailed documentation:
Installation instructions
User manual
Configuration examples
Packaging scripts for installation in ThingsBoard PE 4.0
Required Experience
Verifiable development of widgets for ThingsBoard 4.0
Experience with Angular and TypeScript
Knowledge of data visualization libraries (
Chart.js, Plotly, or similar)
Understanding of SCADA systems or industrial visualization tools (valued)
Test Scenarios
The widgets must work correctly in the following scenarios:
With few devices (1-10) and short time periods
With many devices (50+) and extended periods (months)
With different types of telemetry (numeric, boolean, strings)
On different browsers and devices (desktop, tablet)
Delivery term: Not specified