简介
ThingsBoard提供强大功能——创建和自定义交互式可视化界面,即仪表板。仪表板是用于高效监控和管理数据与设备的工具。 借助ThingsBoard仪表板,用户可根据自身需求调整界面,更便捷地查看物联网设备和数据。每个仪表板可以放置多个部件,具有良好的灵活性和可定制性。 仪表板不限于单一数据源,可展示来自设备、资产等多种实体的数据。您还可以将仪表板分配给指定客户,确保相关人员或团队能访问所需数据。

ThingsBoard仪表板为用户提供以下能力:
-
数据可视化:用户可创建图表、图形、表格等各种部件,可视化来自已连接设备的数据,便于运维人员和分析师分析信息、跟踪设备状态。
-
设备管理:仪表板可用于对设备执行管理操作,如开关设备、修改参数等。用户可设置操作并响应设备的实时数据。
-
交互性:仪表板可设计按钮、开关等交互元素,使用户能与设备和数据交互。
-
显示定制:用户可自定义部件的布局与尺寸、配色、字体等可视化选项,打造友好且信息丰富的界面。
-
基于角色的访问:ThingsBoard支持根据用户角色控制对仪表板的访问权限。这有助于保障数据安全与保密性。
本指南介绍主要概念及各种仪表板设置。
创建新仪表板
要添加新仪表板,请执行以下步骤:
- 登录ThingsBoard实例后,通过左侧主菜单进入“Dashboards”页面。然后点击页面右上角“+”号,并在下拉菜单中选择“Create new dashboard”。
- 在打开的对话框中,需输入仪表板标题,描述为可选项。点击“Add”。
- 仪表板创建后会自动打开。点击右上角“Save”按钮进行保存。
- 首个仪表板已成功创建。后续新增的仪表板会显示在列表顶部,默认按创建时间排序。
仪表板工具栏
开始使用仪表板前,请先熟悉界面及各功能的用途。
仪表板工具栏可让您 添加新部件、 管理状态、 布局、 设置、 实体别名、 过滤器、 版本控制,以及通过工具栏对应图标配置时间窗口。
部分图标(状态、布局、设置、实体别名、过滤器、版本控制、添加新部件)仅在\u201c编辑\u201d模式下可见,其余图标在\u201c查看\u201d和\u201c编辑\u201d模式下均可见。 您可通过设置隐藏这些图标或将工具栏默认设为最小化。
编辑模式
进入仪表板编辑模式:打开要编辑的仪表板,点击屏幕右上角的\u201c编辑模式\u201d按钮。
进入编辑模式后,可通过仪表板工具栏添加新元素和控件。 请使用\u201c保存\u201d按钮保存更改;若需放弃未保存的修改,可点击\u201c取消\u201d按钮。
添加新部件
所有物联网仪表板均由ThingsBoard部件构成。 部件是在仪表板上展示特定信息或功能的元素。 部件用于数据可视化、远程设备控制、告警管理以及展示静态自定义HTML内容。
向仪表板添加部件的步骤:
- 打开仪表板并切换到Edit mode。
- 点击页面顶部+ Add widget。如果这是仪表板中的第一个部件,也可点击页面中央Add new widget打开部件包对话框。
- 选择widget bundle(例如Charts)。要快速查找目标部件,可点击放大镜图标,在搜索栏输入部件名称。
- 选择一个部件(例如Time series chart)以打开Add widget对话框。
- 指定data source,至少添加一个data key,然后点击Add,再执行Apply changes。
- 部件已创建。
每个部件通常都有特定设置和参数,可按需自定义其行为与外观。 更多关于部件、如何创建部件及其设置的说明,请点击下方按钮:
时间窗口
时间窗口用于在处理遥测数据时定义时间区间。 所有时序部件和告警部件均使用时间窗口,除非配置为使用各自的部件时间窗口。 对于时序部件,ThingsBoard会拉取时间戳落在时间窗口内的遥测数据;对于告警部件,会拉取创建时间落在时间窗口内的告警。
时间窗口可有两种模式:
- 实时模式:部件持续从服务器接收更新,自动显示当前时间戳下落在时间窗口内的数据;
- 历史模式:部件仅在首次加载时接收数据,不再通过WebSocket接收更新。
时间窗口主要参数:
- 最近:显示指定时间区间内的实时数据(如最近5分钟、最近1小时或最近24小时)。
- 范围:显示固定时段的数据,如2024年12月1日至12月7日。
- 相对:使用预设区间,如当天、前一天或前一个月。
要显示所需时间段的数据,请在时间窗口内设置时间范围并点击\u201c更新\u201d。
聚合
数据聚合函数应用于时序数据,不适用于告警。当前提供六种聚合函数:
- 最小值:在所选时间区间内取所有数据的最小值。适用于显示最小值,如一小时内最低温度。
- 最大值:在所选时间区间内取所有数据的最大值。适用于显示最大值,如最高能耗。
- 平均值:计算所选区间内所有数据的算术平均值。适用于分析平均指标,如日平均湿度。
- 求和:计算所选时间区间内所有值的总和。适用于统计用水量、用电量等总量。
- 计数:统计所选区间内的记录数。适用于评估接收数据量或事件数量。
- 无:不应用任何聚合函数,传输原始数据。适用于需要每个未处理值的场景。
当您不希望将所有原始时序数据拉到用户界面、而希望在数据库层面预聚合时,可使用数据聚合。
使用聚合函数有助于节省网络带宽、降低客户端浏览器的计算负担。建议尽量使用聚合函数,尤其在处理大量原始数据点时。
分组间隔
按指定时间间隔对时序值分组,可在既定周期内分析数据,更清晰、更高效地处理大量数据。
例如,若设备每10分钟发送一次温度数据,但需要按小时的平均值,可将分组间隔设为1小时并选用\u201c平均值\u201d聚合函数,即可在客户端无需额外处理的情况下获得结果。
当时间区间较长且希望在不修改时间戳的前提下放大查看数据时,可进行缩放。 将两个滑块向中间移动以指定要显示数据的时段。 要恢复图表原始大小,将滑块移回默认位置即可。
ThingsBoard支持时区配置。默认情况下,仪表板使用浏览器提供的时区。 您可以设置为浏览器时区或指定国家时区。在时区栏输入名称可快速查找所需时区。
时间窗口设置
可通过隐藏部分配置项为最终用户定制时间窗口。进入仪表板编辑模式,点击仪表板工具栏上的\u201c编辑时间窗口\u201d图标。在弹出窗口中点击\u201c齿轮\u201d图标,即可打开时间窗口配置界面。
在此可进行以下配置:
时间窗口:
- 向最终用户隐藏时间窗口区域:用户无法修改已设置的时间区间。
也可向最终用户隐藏\u201c最近\u201d、\u201c范围\u201d(历史)或\u201c相对\u201d区间。
可编辑用户可用的区间列表。此外,每个区间都可配置分组间隔并设置默认分组间隔。
聚合函数:
- 向最终用户隐藏聚合:用户无法修改或禁用您在配置阶段设置的聚合函数。
可编辑可用聚合函数列表,指定最终用户可用的聚合函数。
分组间隔:
- 向最终用户隐藏分组间隔:用户无法修改配置阶段设置的分组间隔。
- 向最终用户隐藏时区:禁止用户修改时区。
仅在聚合为\u201c无\u201d时可用:
- 最大数据点数:限制所选时间窗口内时序部件渲染的数据点数量。对于自托管安装,此限制可通过DASHBOARD_MAX_DATAPOINTS_LIMIT 参数配置。
过滤器
实体过滤器用于为实体别名解析出的实体列表指定过滤条件。
举例:假设有数千台\u201c温度计\u201d设备,希望仅显示特定型号且电池电量在某一范围内的设备。 假设温度计型号存储在属性中,电池电量存储在时序数据中。 可定义过滤器:传感器型号为\u201cDHT22\u201d且电池电量低于20%。
- 打开仪表板,进入编辑模式,点击右上角“Filters”按钮。在弹窗中点击“Add filter”按钮。
- 在弹窗中点击“Add key filter”按钮。
- 输入键名,选择键类型和值类型。然后添加一个用于判断传感器型号是否为“DHT22”的过滤器,并点击“Add”。
- 再添加一个键过滤器。
- 添加用于判断电池电量是否低于20%的过滤器。
- 点击“Add”按钮添加新过滤器。
- 点击“Save”并应用所有更改。
过滤器仅作用于属性或时序键的\u201c最新\u201d值。请勿用此功能过滤历史时序值。
可使用\u201c复杂\u201d过滤器在同一键上组合多个逻辑表达式,例如:\u201c(A > 0 and A < 20) or (A > 50 and A < 100)\u201d。 也可用\u201cand\u201d关系组合不同键的两个表达式,例如:\u201c(A > 0 and A < 20) and (B > 50 and B < 100)\u201d。 目前尚不支持对不同键使用“or”组合,例如:“(A > 0 and A < 20) or (B > 50 and B < 100)”不可用。
更多过滤器使用示例请参见以下视频:
实体别名
实体别名决定仪表板上要显示的实体(设备、资产等)。 可把别名视为对一个或多个设备的引用,这类引用可以是静态或动态的。
静态别名的示例:单实体别名。在别名对话框中一次性配置实体。 具有访问权限的用户看到的都是相同数据。
动态别名示例:设备类型别名,可显示特定类型的所有设备(如\u201c温度计\u201d)。 此别名是动态的,因为设备列表取决于使用仪表板的用户。 如果您以租户管理员身份登录,此别名将允许访问所有温度计设备。 但如果您以客户用户身份登录,此别名将解析为分配给/由该客户拥有的温度计设备。
下面创建一个动态别名,用于显示\u201c智能传感器\u201d类型的所有设备。
- 打开仪表板,进入编辑模式,点击右上角“Entity aliases”按钮。在弹窗中点击“Add alias”按钮。
- 在弹窗中输入别名名称,选择过滤类型和设备类型,然后点击“Add”按钮。
- 点击“Save”按钮保存别名并保存所有更改。
更多信息请参阅实体别名文档。
设置
仪表板设置用于调整整体外观,可修改标题、徽标并定制工具栏。
定制仪表板时,进入编辑模式,然后点击仪表板窗口右上角的\u201c齿轮\u201d图标打开仪表板设置窗口。
标题设置
若要在仪表板上显示标题,需勾选\u201c显示仪表板标题\u201d。默认文字颜色为黑色。 可点击色圈,通过标题颜色参数中的滑块调整颜色和透明度。 修改后的标题会显示在仪表板左上角。
仪表板徽标设置
可设置在全屏模式下显示的仪表板徽标:勾选\u201c在仪表板全屏模式下显示徽标\u201d并上传徽标图片。
工具栏设置
\u201c显示仪表板选择\u201d\u201c显示实体选择\u201d\u201c显示过滤器\u201d\u201c显示时间窗口\u201d\u201c显示导出\u201d和\u201c显示更新仪表板图片\u201d这些勾选项控制仪表板工具栏面板中对应选项的显示与否。
\u201c显示过滤器\u201d仅当至少创建一个过滤器后才会出现在工具栏上。 若已创建过滤器,但希望限制客户修改设备指标的能力,可取消勾选相应选项以在工具栏上隐藏过滤器。
可显示或隐藏工具栏图标。例如,在仪表板页面上隐藏\u201c显示仪表板选择\u201d\u201c显示时间窗口\u201d和\u201c显示导出\u201d图标。
\u201c隐藏工具栏\u201d会将工具栏从仪表板页面隐藏。 此时屏幕右上角会出现\u201c进入编辑模式\u201d图标。
\u201c保持工具栏展开\u201d控制仪表板页面上工具栏的显示方式。 若取消勾选,工具栏将收起。此时屏幕右上角会显示三点图标。 点击该图标可展开隐藏的工具栏。
布局
布局决定部件在仪表板网格上的显示与排布方式。更多布局说明请参阅单独文档。
状态
状态功能用于在仪表板中建立层级结构。要正确使用状态,需为部件分配特定操作,以便在不同状态之间快速切换。 操作步骤:进入编辑模式,点击仪表板窗口左上角双叠方块的\u201c管理仪表板状态\u201d按钮,将打开管理仪表板状态配置窗口。
由于尚未创建任何状态,当前只有\u201c根状态\u201d即仪表板本身。根状态定义层级的主状态。 创建额外状态后,可点击\u201c铅笔\u201d图标(编辑仪表板状态)并勾选\u201c根状态\u201d复选框来更改根状态。
要添加新状态,点击窗口右上角的\u201c+\u201d图标,将打开添加仪表板状态窗口。 输入名称后,状态ID会根据名称自动生成,您也可手动修改。点击\u201c添加\u201d后保存所有更改。
为特定部件设置对应操作后,即可在不同状态间切换。 添加操作时,点击部件右上角的\u201c铅笔\u201d图标(编辑部件)进入部件配置模式。 进入\u201c操作\u201d标签页,点击\u201c+\u201d图标添加新操作。
将打开\u201c添加操作\u201d窗口。
- 操作来源:为达成目标需执行的具体动作。
- 名称:操作的自定义标题。
- 图标:操作对应的符号。
- 类型:操作的意图。
本例中,类型 应选择\u201c导航到新仪表板状态\u201d。选择后会出现\u201c目标仪表板状态\u201d选项,需选择新创建的状态。 配置完成后点击\u201c添加\u201d。新操作将出现在操作列表中。点击窗口右上角的\u201c应用\u201d按钮以保存更改。
由于选择的是\u201c行点击\u201d操作,需点击部件的行来触发操作。点击后会立即切换到所选状态。
若要让状态以实体命名,可在状态名称中使用 ${entityName}。这样,在执行操作时,将跳转到以参与操作的实体名称命名的状态。
管理仪表板
对仪表板可执行以下操作:导出JSON格式仪表板、将仪表板设为公开、管理已分配客户、编辑仪表板和删除仪表板,通过仪表板旁的对应图标操作。
以下逐项说明各操作。
导出仪表板
在ThingsBoard中可将仪表板导出为JSON格式的配置文件。 此文件可用于将仪表板或部件配置迁移到另一实例。
导出仪表板:进入 “Dashboards” 页面, 在列表中找到要导出的仪表板,点击其名称旁的\u201c导出仪表板\u201d按钮。包含控制面板所有设置的JSON格式配置文件将保存到您的电脑。
也可从工具栏直接导出:打开仪表板,点击屏幕右上角的\u201c导出仪表板\u201d按钮。 仪表板将导出为JSON格式的配置文件。
在ThingsBoard专业版中,除JSON格式外,仪表板还可导出为PDF、PNG和JPEG等格式。适用于通过邮件发送或打印仪表板中显示的数据。
导入仪表板
可从JSON配置文件导入仪表板,适用于从其他实例迁移仪表板配置。
导入仪表板步骤如下:
- 进入“Dashboards”页面,点击右上角“+”按钮,并在下拉菜单中选择“Import dashboard”。
- 在导入仪表板窗口中,上传仪表板配置JSON文件并点击“Import”。
- 仪表板已导入,打开它。
- 如图所示,仪表板及其所有部件已一并导入。
将仪表板设为公开
可将仪表板设为公开,并与他人共享链接。
操作步骤如下:
- 进入“Dashboards”页面,点击目标仪表板旁的“Make public”图标。
- 仪表板现已公开。在弹窗中点击“Copy public link”图标。你可以通过该链接共享仪表板,例如通过邮件发送,或使用快捷按钮分享到社交网络。
- 后续可在仪表板详情窗口中找到该公开链接。
若要将仪表板恢复为私有,请按以下步骤操作:
- 点击目标仪表板旁的“Make private”图标。
- 在确认对话框中点击“Yes”。
管理已分配客户
可将仪表板分配给客户。客户仅能查看仪表板,无法对其进行其他操作。
将仪表板分配给客户的步骤:
- 进入“Dashboards”页面,点击目标仪表板旁的“Manage assigned customers”图标。
- 选择要分配该仪表板的客户,点击“Update”。
- 仪表板已分配给所选客户。
也可取消客户的仪表板分配。操作如下:
- 进入“Dashboards”页面,点击目标仪表板旁的“Manage assigned customers”图标。
- 将客户从已分配客户列表中移除,点击“Update”。
- 已分配客户列表已更新。
要同时向客户分配/取消分配多个仪表板,可选中目标仪表板,使用\u201c分配仪表板\u201d和\u201c取消分配仪表板\u201d按钮。
- 进入“Dashboards”页面,勾选一个或多个仪表板,然后使用右上角“Assign Dashboards”或“Unassign Dashboards”按钮执行相应操作。
- 选择要分配仪表板的客户,然后点击“Assign”。
- 所选仪表板的客户分配列表已更新。
编辑仪表板
可编辑标题、描述等字段。修改后请记得保存。 完成以上步骤即可成功更新仪表板信息。
操作步骤示例:
- 进入“Dashboards”页面,点击要编辑的仪表板旁“Dashboard details”图标。
- 点击“pencil”图标进入编辑模式。
- 编辑所需字段,例如修改仪表板标题、填写描述。编辑完成后记得保存所有更改。
- 仪表板信息已更新。
删除仪表板
可通过以下任一方式删除仪表板:
方式一:
- 进入“Dashboards”页面,点击要删除仪表板名称对应的“Trash”图标。
- 在对话框中确认删除该仪表板。
方式二:
- 点击要删除的仪表板旁“Dashboard details”图标。
- 在仪表板详情中点击“Delete dashboard”按钮。
- 在对话框中确认删除该仪表板。
也可批量删除多个仪表板。
- 勾选一个或多个要删除的仪表板,点击右上角“Trash”垃圾桶图标。
- 在对话框中确认删除仪表板。