‹ Reports
The Dispatch

ThingsBoard Development Focuses on UI and Integration Enhancements Amidst Active Community Engagement

ThingsBoard, an open-source IoT platform for device management and data visualization, is experiencing active development with a focus on user interface improvements and integration capabilities. The project, with over 17,000 stars on GitHub, continues to address community feedback and expand its feature set.

Recent Activity

Recent issues and pull requests indicate a significant focus on enhancing the user interface and improving integration with external systems. Issues like #11616 and #11610 highlight ongoing challenges with widget customization, while #11615 underscores deployment configuration complexities. The development team has been actively addressing these concerns through various bug fixes and feature enhancements.

Development Team Activities

Of Note

  1. UI Customization Challenges: Persistent issues with widget customization suggest a need for more intuitive design tools or better documentation.
  2. Deployment Configuration Complexity: Docker-related issues like #11615 indicate potential hurdles for users in setting up or updating their environments.
  3. Integration Focus: Multiple questions about external system integration highlight the complexity of IoT deployments.
  4. Internationalization Requests: Feature requests such as #10763 for enhanced internationalization reflect a growing global user base.
  5. Active Community Engagement: The high number of stars and forks, along with regular updates, indicates strong community involvement and responsiveness from the development team.

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 25 12 32 0 1
30 Days 109 78 215 2 1
90 Days 311 190 789 3 1
All Time 6484 5742 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
ArtemDzhereleiko 2 21/22/1 19 49 25392
Andrii Landiak 1 2/2/1 7 204 5575
Igor Kulikov 2 0/0/0 20 79 5436
Vladyslav Prykhodko 2 15/14/2 24 88 2346
Kulikov 2 4/3/1 7 32 2309
mpetrov 2 0/0/0 5 12 603
Viacheslav Klimov 3 11/11/1 12 44 577
Yevhen Bondarenko 2 13/8/2 12 28 510
Iryna Matveieva 1 5/6/0 7 7 446
Ruslan Vasylkiv 1 3/4/0 5 23 258
Dmytro Skarzhynets 1 1/1/0 2 5 229
Volodymyr Babak 1 3/3/0 11 9 153
Ekaterina Chantsova 1 3/3/0 4 6 34
Daria Shevchenko 1 2/4/0 4 7 20
Illia Barkov 1 1/0/0 1 2 16
devaskim 1 1/1/0 1 1 6
ThingsBoard Bot 1 0/0/0 1 1 2
Mujahed Altahle (mtahle) 0 1/0/1 0 0 0
Dmytro Zolotarenko (d2eight) 0 0/1/0 0 0 0
Anna Bondar (Aniutikm) 0 0/0/1 0 0 0
Shvaika Dmytro (ShvaykaD) 0 1/0/1 0 0 0
Andrew Shvayka 0 0/0/0 0 0 0
Francesco (maghibus) 0 2/0/2 0 0 0
Ikko Eltociear Ashimine (eltociear) 0 2/1/0 0 0 0
Al-Kitani (kitaniman) 0 2/0/2 0 0 0
Serhii Skoryi (sskoryi-256) 0 3/0/1 0 0 0
None (AldirchEugene) 0 1/1/0 0 0 0
Max Petrov 0 10/14/0 0 0 0
Sergey Matvienko (smatvienko-tb) 0 0/1/0 0 0 0
None (CloudWise-Lukemiao) 0 1/0/0 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

Recent GitHub issue activity for the ThingsBoard project shows a mix of questions, bug reports, and feature requests. Notably, there are several issues related to the user interface and customization of widgets, indicating ongoing challenges with user experience and flexibility. Additionally, there are multiple questions about integrating external systems and handling large datasets, reflecting the complexity of IoT environments.

A notable anomaly is the recurring theme of issues related to MQTT integration and rule engine performance, suggesting potential areas for improvement in handling high data volumes and complex configurations. Additionally, there are several feature requests for enhanced internationalization and support for additional communication protocols, highlighting the diverse needs of the global user base.

Issue Details

Most Recently Created Issues

  • #11616: Getting the alarm metadata (comment) in a widget.

    • Priority: Low
    • Status: Open
    • Created: 0 days ago
  • #11615: Using Docker image "thingsboard/tb-postgres:latest" pg_ctl: directory "/data/db" is not a database cluster directory.

    • Priority: High
    • Status: Open
    • Created: 0 days ago
  • #11610: Create Users.

    • Priority: Medium
    • Status: Open
    • Created: 0 days ago

Most Recently Updated Issues

  • #11601: 'Sort datakeys in legend' sometimes hides wrong timeseries.

    • Priority: Medium
    • Status: Closed
    • Updated: 0 days ago
  • #11595: Having error while building esp32-ota repository.

    • Priority: Medium
    • Status: Open
    • Updated: 3 days ago

Important Observations

  1. There is a significant number of issues related to UI customization and widget functionality (#11616, #11610), indicating a need for more intuitive design tools or documentation.
  2. The Docker-related issue (#11615) suggests potential challenges with deployment configurations that could impact new users or those updating their systems.
  3. Closed issues like #11601 reflect ongoing efforts to address bugs in existing features, which is crucial for maintaining platform stability.
  4. The presence of multiple questions about integrating with external systems (e.g., MQTT, LwM2M) highlights the complexity of IoT deployments and the need for robust integration capabilities.
  5. Feature requests such as those for internationalization (#10763) suggest an expanding global user base with diverse requirements.

Overall, the activity reflects a dynamic project with active community engagement focused on improving usability and expanding functionality to meet varied IoT needs.

Report On: Fetch pull requests



Overview

The ThingsBoard repository on GitHub is a robust open-source IoT platform that has garnered significant community interest, as evidenced by its substantial number of stars and forks. The project is actively maintained, with ongoing development reflected in its numerous commits and branches. It offers a comprehensive suite of features for IoT device management, data processing, and visualization, supported by extensive documentation and community resources.

Summary of Pull Requests

  1. #11618: Introduced a new environment variable TB_POOL_MAX_CONNECTIONS to configure maxConnections in TbHttpClient. This enhancement aims to improve HTTP client configuration flexibility.

  2. #11617: Corrected a typographical error in EdgeGrpcSession.java, changing "attemps" to "attempts". This minor change improves code readability.

  3. #11612: Refactored versioned caching, including renaming CacheKey to VersionedCacheKey. This refactor aims to enhance cache management and clarity in naming conventions.

  4. #11607: Implemented a new API for gateway latency measurement in the MQTT transport layer. This feature provides detailed latency metrics for connectors.

  5. #11605: Added a multi-device timeseries filter API to the telemetry module, allowing filtering on values across multiple devices within a specified time range.

  6. #11597: Fixed a bug in the LwM2M transport related to composite observer updates, ensuring proper server responses.

  7. #11583: Migrated from Office 365 Connectors to Microsoft Teams Workflows, updating notification cards from MessageCard to AdaptiveCard format.

  8. #11573: Developed a multi-geofencing rule node that supports multiple geofences and generates various events based on geofence interactions.

  9. #11516: Enhanced gateway MQTT connectors with version compatibility features, enabling configuration upgrades and downgrades.

  10. #11501: Improved subscription management by adding batch removal capabilities and optimizing state updates.

  11. #11476: Proposed adding support for Apache IoTDB as a datasource, enhancing the platform's data storage options.

  12. #11397: Introduced validation for gateway connectors' configurations, focusing on MQTT and Modbus connectors.

  13. #11379: Updated UI components by changing icons in the General Configuration section for better visual consistency.

  14. #11378: Extended functionality for building Socket connectors using the UI, adding various configuration options and hints.

  15. #11341: Enabled provisioning of gateway devices during device creation using the device provisioning feature.

  16. #11244: Implemented auto-restart functionality via systemd for ThingsBoard services, improving service reliability.

  17. #11140: Enhanced the delay node with additional tests and configuration options for setting time units using patterns.

  18. #11092: Recommended using ClickHouse for storing events, suggesting potential performance improvements in event storage.

  19. #11087: Added tests for the originator telemetry node to ensure robustness and reliability of telemetry data handling.

  20. #10936: Introduced a feature to capture message processing failures even when rule node debug events are disabled, aiding in debugging complex scenarios.

Analysis of Pull Requests

The recent pull requests reflect an ongoing effort to enhance ThingsBoard's capabilities across various dimensions, including performance optimization, feature expansion, bug fixes, and user experience improvements:

  • Performance Enhancements: Several PRs focus on improving performance and scalability (e.g., #11618's HTTP client configuration, #11476's IoTDB support). These changes aim to optimize resource usage and expand data storage options.

  • Feature Expansion: New features like the gateway latency API (#11607) and multi-geofencing rule node (#11573) demonstrate an emphasis on extending the platform's functionality to support more complex IoT scenarios.

  • Bug Fixes and Stability Improvements: Fixes such as those in #11597 (LwM2M transport) highlight efforts to ensure stability and reliability in existing functionalities.

  • User Experience Improvements: UI enhancements (e.g., #11379's icon updates) and usability features like auto-restart (#11244) indicate ongoing attention to user experience.

  • Backward Compatibility and Version Management: Efforts like #11516's MQTT connector version management reflect a commitment to maintaining backward compatibility while introducing new features.

  • Testing and Reliability: The addition of tests (e.g., #11087's telemetry node tests) underscores the importance placed on ensuring system reliability through comprehensive testing.

Overall, these pull requests illustrate ThingsBoard's active development cycle focused on enhancing both backend performance and frontend usability while maintaining robust system reliability through continuous testing and bug fixes.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Activities

  • Igor Kulikov (ikulikov)

    • Worked on UI improvements, SCADA system enhancements, and bug fixes.
    • Collaborated with Artem Dzhereleiko and Vladyslav Prykhodko on various features.
    • Involved in multiple merges and pull requests.
  • Vladyslav Prykhodko (vvlladd28)

    • Focused on UI refactoring, widget settings, and layout improvements.
    • Engaged in fixing bugs related to dashboard configurations and SCADA editor support for iOS.
  • Andrew Shvayka (ashvayka)

    • No recent commits, but involved in merging pull requests related to bug fixes and feature enhancements.
  • Viacheslav Klimov (ViacheslavKlimov)

    • Worked on hotfixes, caching improvements, and security settings.
    • Addressed issues with Edge Root Rule Chain cache and dashboard error messages.
  • Artem Dzhereleiko

    • Contributed to SCADA symbol updates, widget enhancements, and bug fixes.
    • Collaborated with Igor Kulikov on SCADA-related features.
  • Yevhen Bondarenko (YevhenBondarenko)

    • Focused on MQTT service configurations and caching strategies.
    • Worked on bug fixes related to session limits and HTTP client configurations.
  • Volodymyr Babak (volodymyr-babak)

    • Addressed issues with Edge Root Rule Chain cache and test error messages.
    • Made improvements to the rule engine components.
  • Ruslan Vasylkiv (rusikv)

    • Refactored alias controller interfaces and improved OAuth2 UI components.
    • Fixed bugs related to chart tooltips and widget rendering.

Patterns, Themes, and Conclusions

  1. Active Development: The team is actively working on various aspects of the ThingsBoard platform, including UI enhancements, bug fixes, and feature additions. There is a strong focus on improving the user interface and ensuring backward compatibility.

  2. Collaboration: Team members frequently collaborate on different features and bug fixes. This is evident from the numerous merge requests involving multiple contributors.

  3. Focus Areas: Recent activities have concentrated on SCADA system improvements, caching strategies, security settings, and UI refactoring. These areas indicate the team's priorities in enhancing platform performance and user experience.

  4. Continuous Integration: The repository shows signs of continuous integration with frequent merges into the master branch and hotfix branches. This suggests a robust development workflow aimed at maintaining code quality and stability.

  5. Community Engagement: The ThingsBoard repository is actively maintained with significant community interest, as indicated by the number of stars and forks. The team appears responsive to community feedback through regular updates and feature enhancements.