我们很高兴推出 ThingsBoard 版本 3.9.0!此版本包括高性能 SCADA HMI、新的移动应用中心、可重用的 JavaScript 资源等。
高性能 SCADA HMI
为了响应宝贵的社区反馈,我们推出了高性能 SCADA 人机界面 (HMI)。这些接口设计用于 简单和功能性,遵循行业标准。他们使用中性配色方案来减少视觉干扰并突出显示重要信息,从而增强警报管理。虽然 ThingsBoard 将继续支持传统和高性能 SCADA HMI,但我们的开发工作现在将更多地集中在增强高性能 SCADA 符号上。

新的“获取警报状态”操作
我们很高兴推出用于配置 SCADA 符号的“获取警报状态”操作。此功能可实现警报状态的实时可视化,并按类型和严重性进行过滤。您还可以使用此功能来设置其他小部件(如开关和按钮)的行为。

移动中心
用户现在可以使用简单的 UI 表单轻松定制他们的移动应用程序。自定义选项包括设置 OAuth 2.0 客户并安排 布局 移动应用程序页面。专业版还提供了 自助注册 设置功能,允许直接通过移动应用程序设置新客户。这些设置适用于 Android 和 iOS 应用程序,这些应用程序现在组织为 应用程序包。此外,您可以实时修改这些设置,而无需发布新版本的应用程序。

您现在可以配置多个 OAuth 2.0 客户端授权移动应用程序用户。设置完成后,移动应用程序中的用户将立即可以使用相应的授权按钮。

这布局 步骤使您能够通过重新排列和修改页面内容来个性化底部菜单栏。您可以选择对最终用户隐藏一些默认页面,甚至可以添加您自己的自定义页面来显示特定的仪表板。

在此更新中,我们为移动应用程序用户启用了自助注册设置。现在,您可以配置注册表单字段、验证码属性,并定义用户隐私策略和使用条款。此外,您可以指定注册时分配给新用户的角色。

我们很高兴地宣布支持 企业 验证码 现在仅在我们的移动应用程序中提供。
JavaScript 库
我们很高兴在参考资料部分介绍一个新的 JavaScript 库。该库具有两种类型的资源:模块和扩展。 扩展,它们是 Angular 组件,是以前版本的一部分,现在已迁移到新的 JavaScript 库。
模块 是一个新增功能,允许在应用程序的不同部分重用自定义 JavaScript 逻辑。要利用此功能,用户需要添加模块类型的新 JavaScript 资源。

添加模块类型 JavaScript 资源后,您可以在平台内的任何 JavaScript 编辑器中重用此代码,例如数据后处理函数、单元格内容函数和自定义操作。为此,只需单击“模块”图标,选择您的 JS 模块,提供别名,然后在 JavaScript 编辑器中使用此别名来引用您的模块。下面是一个简单的例子:

请注意,您还可以使用模块内的小部件上下文来执行 API 调用。
延长时间窗口可见性参数
我们增强了时间窗口功能,为仪表板开发人员提供了更大的控制权。您现在可以限制可见 时间间隔, 聚合函数, 和分组间隔 可供仪表板最终用户使用。此更新可确保更精确地控制最终用户可以访问的时间窗口设置。

规则节点、集成和转换器中的调试配置
我们升级了调试配置以增强故障排除过程。为了防止大量调试事件,您可以将调试模式设置为仅记录失败事件。还有一个选项可以捕获指定时间范围内的所有调试事件,防止意外使调试模式保持活动状态并达到事件速率限制。默认情况下,完整调试模式的活动时间为 15 分钟,但您可以使用以下命令自定义此持续时间: DEBUG_MODE_MAX_DURATION_MINUTES 环境变量。

网关管理仪表板
ThingsBoard 网关管理仪表板已重新定位到实体部分下的专用菜单项。这使我们能够独立于核心 ThingsBoard 发布周期更新网关管理仪表板,确保用户始终能够访问最新功能、错误修复和优化。如果您的 ThingsBoard 实例连接到互联网,仪表板更新将自动应用。
网关仪表板的源代码现在存储在 网关管理扩展存储库。更新是从与 ThingsBoard 发行版本相对应的分支获取的,例如release/3.9 或正在进行的开发的主分支。
请注意,以前的网关仪表板现已过时,并且可能无法正常工作。为了获得最佳的用户体验,我们强烈建议转换到新的网关页面并停止使用旧的仪表板。您可以分叉我们的 Gateway Dashboard 存储库并配置您的 ThingsBoard 实例,以使用以下命令从您的分叉同步 Gateway Dashboard TB_GATEWAY_DASHBOARD_SYNC_REPOSITORY_URL环境变量。

更新了二维码小部件配置
将自定义二维码集成到您的应用程序中变得更加方便。现在,您只需从应用程序中心选择您想要用来获取二维码的捆绑包即可。

域的单一存储
我们已成功迁移所有域 白色标签和自助注册 设置到OAuth 2.0 –> Domains下的单一存储中,使域审核更加方便。

改进了仪表板和小部件的资源处理
导出仪表板或小部件现在会自动包含所有关联的资源,例如图像、SCADA 符号和 JavaScript 模块。导入时,这些资源会自动解析 - 通过重用现有资源或创建新资源 - 使帐户和环境之间的仪表板传输更加容易。此更新确保仪表板和小部件可以立即使用。此外,我们在导出过程中实现了资源重复数据删除,从而在多次引用图像时显着减小文件大小。

弃用第三方技术
在我们为即将发布的 ThingsBoard 4.0 版本做准备时,我们正在对我们支持的技术进行战略性改变。首先,我们将不再支持 时间尺度 对于较小的设置,选择使用纯 PostgreSQL;对于较大的设置,选择使用 PostgreSQL + Cassandra 的组合。我们相信这种方法对于我们的用例来说会更有效。
更重要的是,我们将服务间通信支持的队列类型缩小到仅 Kafka(微服务和整体设置)和内存队列(仅限整体设置)。这一决定源于需要利用 Kafka 的独特功能,这些功能对于 ThingsBoard 4.0 中的多项新功能至关重要,而这些功能是 Pub/Sub、RabbitMQ、AWS SQS 和 Azure Service Bus 等其他技术所不提供的。从 4.0 版本开始,将不再支持这些其他队列技术。鉴于 Kafka 作为广泛采用的标准的地位及其跨各种云基础设施部署的便利性,我们预计用户将能够顺利过渡。随后将发布有关此转变的详细博客文章。
请注意,此更新不会影响任何现有集成或规则节点。您可以继续使用 RabbitMQ、SQS、Service Bus 和 PubSub 进行规则节点和集成。
角18
我们已将 ThingsBoard 从 Angular 15 升级到 Angular 18,由于优化了渲染,性能显着提升。此升级增强了与新版本库和第三方依赖项的兼容性,确保平台保持最新状态并为未来更新做好准备。
对于在自定义小部件或操作中使用 Angular Flex-Layout 的开发人员,我们建议过渡到 Tailwind CSS 或利用 ThingsBoard 扩展来增强功能。