仪表板基础操作:创建仪表板、添加别名、配置时间窗口、仪表板状态与权限管理

仪表板是 ThingsBoard 数据可视化的核心载体。本章将系统讲解仪表板的四大基础操作:从零创建仪表板、通过别名机制解耦数据源、灵活配置时间窗口,以及利用状态与权限实现多角色协作。掌握这些操作是后续自定义图表与报表开发的前提。

2.1 创建仪表板

在 ThingsBoard 中,仪表板是一个包含多个小部件(Widget)的容器。创建仪表板有两种主要入口:

  • 实体仪表板(Entity Dashboard):绑定到特定实体(如设备、资产),打开时自动加载该实体的数据。
  • 普通仪表板(Regular Dashboard):独立存在,可通过别名手动指定数据源。

创建步骤(以普通仪表板为例):

  1. 登录 ThingsBoard,进入左侧菜单 仪表板(Dashboards)。
  2. 点击右上角 “+” 按钮,选择 “创建新仪表板”。
  3. 输入仪表板标题(如“工厂产线监控”),可选填描述。
  4. 点击 “添加”,系统自动进入仪表板编辑模式。
  5. 在编辑模式下,点击 “添加新小部件”,选择小部件类型并配置数据源。
提示: 创建仪表板时,建议在标题中包含项目或场景关键词(如“车间A_温度监控”),便于后期搜索与权限分配。

2.2 添加别名

别名(Alias)是 ThingsBoard 仪表板中数据源的逻辑引用。它允许小部件通过别名名称访问实体,而不直接绑定实体 ID。当实体发生变化(如设备替换)时,只需更新别名定义,无需逐个修改小部件。

别名类型及适用场景:

别名类型 说明 典型场景
单个实体 直接指定一个设备或资产 监控单一关键设备
实体列表 指定多个实体,小部件可遍历显示 批量查看同类传感器
实体组 引用一个实体组(Entity Group) 按区域或类型分组监控
资产/设备类型 按类型动态匹配所有实体 新增设备自动纳入仪表板
关系查询 基于实体关系链查找目标实体 从资产向下查找关联设备

添加别名步骤:

  1. 在仪表板编辑模式下,点击顶部 “实体别名” 图标(或通过菜单 “仪表板设置” → “实体别名”)。
  2. 点击 “添加别名”,输入别名名称(如 温度传感器组)。
  3. 选择别名类型(如“实体组”),并配置过滤条件。
  4. 点击 “测试” 验证别名是否能正确解析到实体。
  5. 保存别名配置,返回小部件编辑时即可在数据源中选择该别名。
最佳实践: 别名名称建议使用有意义的英文或拼音(如 temp_sensor_group),避免使用中文或特殊字符,确保在表达式和脚本中稳定引用。

2.3 配置时间窗口

时间窗口决定了小部件展示数据的时间范围。ThingsBoard 提供多种时间窗口模式,满足实时监控与历史分析需求。

时间窗口配置入口:

  • 仪表板级时间窗口:在仪表板设置中统一配置,所有小部件默认继承。
  • 小部件级时间窗口:在单个小部件的“高级”设置中覆盖仪表板级配置。

常见时间窗口类型:

类型 配置方式 示例
实时窗口 指定最近 N 分钟/小时 最近 30 分钟
固定区间 指定起止时间 2025-01-01 00:00 ~ 2025-01-02 00:00
动态区间 基于当前时间偏移 昨天全天、本周至今
聚合窗口 按固定间隔聚合历史数据 过去 7 天,按小时聚合

配置时间窗口时,需注意 聚合策略 与 数据点限制:

  • 聚合策略:支持 AVG、MIN、MAX、SUM、COUNT、NONE(原始值)。
  • 数据点限制:默认最大 500 点,超出时系统自动降采样。
注意: 时间窗口设置过大会导致前端渲染卡顿。建议实时窗口不超过 24 小时,历史窗口配合聚合策略使用,并适当降低数据点限制。

2.4 仪表板状态与权限管理

ThingsBoard 的仪表板状态(State)机制允许在一个仪表板内创建多个视图,通过状态切换实现多页面导航。权限管理则控制不同用户对仪表板的访问与操作级别。

2.4.1 仪表板状态

状态可以理解为仪表板的“页面”或“标签页”。每个状态可以包含不同的小部件布局和数据源配置。

创建与管理状态:

  1. 在仪表板编辑模式下,点击顶部 “管理仪表板状态” 按钮。
  2. 点击 “添加状态”,输入状态名称(如“总览”、“设备详情”)。
  3. 设置状态的根状态(默认进入的页面)和状态间的导航关系。
  4. 通过 “状态切换小部件”(如按钮、下拉框)实现用户交互切换。

状态切换支持两种模式:

  • 静态切换:用户点击按钮直接跳转到指定状态。
  • 动态切换:根据实体或数据值动态决定跳转目标(如点击设备卡片跳转到该设备详情状态)。

2.4.2 权限管理

仪表板权限基于 ThingsBoard 的角色体系(租户管理员、客户用户、匿名用户)。权限分为三个层级:

权限级别 可执行操作 适用角色
只读 查看仪表板、查看数据 客户用户、访客
编辑 修改小部件、调整布局、添加/删除小部件 租户管理员、高级用户
管理 修改仪表板设置、管理别名、管理状态、分配权限 租户管理员

权限分配步骤:

  1. 在仪表板列表页,点击目标仪表板的 “分配权限” 图标。
  2. 选择用户或用户组,设置权限级别(只读/编辑/管理)。
  3. 可选:勾选 “公开” 使仪表板对匿名用户可见(需系统配置支持)。
  4. 保存后,被授权用户登录即可按权限操作仪表板。
提示: 对于需要分发给客户的仪表板,建议创建只读权限的客户用户,并开启“隐藏仪表板工具栏”选项,防止客户误操作。
仪表板基础操作流程与权限层级 仪表板基础操作流程与权限层级 创建仪表板 添加别名 配置时间窗口 仪表板状态 权限管理 管理权限 编辑权限 只读权限 权限层级说明 管理:完全控制 编辑:修改小部件与布局 只读:仅查看数据 权限关联

2.5 综合操作示例

以下是一个完整的仪表板创建与配置示例,涵盖别名、时间窗口、状态与权限的协同使用:

// 场景:为“车间A”创建监控仪表板
// 1. 创建仪表板
//    标题:车间A_环境监控
//    描述:监控温度、湿度、PM2.5

// 2. 添加别名
//    别名1:temp_sensors(类型:实体组,过滤:类型=温度传感器,标签=车间A)
//    别名2:humidity_sensors(类型:实体组,过滤:类型=湿度传感器,标签=车间A)
//    别名3:pm_sensors(类型:实体组,过滤:类型=PM2.5传感器,标签=车间A)

// 3. 配置时间窗口
//    仪表板级:最近1小时,聚合策略=AVG,数据点限制=200
//    小部件级(历史趋势图):最近24小时,聚合策略=AVG,数据点限制=500

// 4. 创建状态
//    状态1:总览(根状态,显示所有传感器实时值)
//    状态2:温度详情(显示温度趋势图与报警列表)
//    状态3:湿度详情(显示湿度趋势图与报警列表)

// 5. 分配权限
//    租户管理员:管理权限
//    车间主任(客户用户):编辑权限
//    巡检员(客户用户):只读权限
关键点: 别名是仪表板灵活性的基石。通过实体组别名,新增传感器自动出现在仪表板中;通过状态切换,一个仪表板可承载多个分析视图;通过权限分层,不同角色各司其职。