thingsboard/summary/27-图表显示设备名称配置指南.md

9.5 KiB
Raw Permalink Blame History

图表显示设备名称配置指南

问题描述

在 ThingsBoard 的时间序列图表中,图表标签只显示通用的 "Temperature" 等名称,无法区分不同设备的数据。

解决方案

在配置图表的数据源时,可以使用变量来自定义标签,显示设备名称。

配置步骤

1. 进入图表配置

  1. 在 Dashboard 中,点击图表组件进入编辑模式
  2. 右侧会显示配置面板

2. 配置数据键标签(在"数据"标签页)

  1. 点击配置面板顶部的 "数据" 标签页
  2. 找到 "数据键"Data Keys部分
  3. 对于每个数据键,点击展开或编辑
  4. "标签"Label字段中使用以下变量格式

可用的变量:

  • ${entityName} - 设备名称(推荐)
  • ${deviceName} - 设备名称(与 entityName 相同)
  • ${entityLabel} - 设备标签(如果有设置)
  • ${dsName} - 数据源名称
  • ${aliasName} - 别名名称

示例配置:

${entityName} - 温度

或者:

${entityName}

或者组合使用:

${entityName} (${entityLabel})

3. 具体操作示例

假设你有 4 个设备,每个设备都发送 airport.temperature 数据:

  1. 在"数据"标签页中:

    • 找到数据键配置区域
    • 对于 airport.temperature 这个数据键
    • 将标签从 Temperature 改为:${entityName} - 温度
  2. 如果使用 Entity Alias

    • 如果使用了 Entity Alias如 "所有设备"
    • 标签会显示为:设备名称 - 温度
    • 例如:7CTDM7H00B5EM1 - 温度

4. 图例显示

配置后图表的图例Legend会显示

  • 7CTDM7H00B5EM1 - 温度
  • 7CTXM9Q00B02H2 - 温度
  • 7CTXN5K00B0AXM - 温度
  • 7CTXM9500B01LA - 温度

这样就能清楚地区分不同设备的数据了。

详细配置说明

数据键标签格式

数据 标签页 → 数据键标签 字段中:

格式1仅设备名称

${entityName}

格式2设备名称 + 描述

${entityName} - 温度

格式3设备标签如果有

${entityLabel}

格式4数据源名称

${dsName}

格式5组合使用

${entityName} (${entityLabel})

变量说明

变量 说明 示例值
${entityName} 设备名称 7CTDM7H00B5EM1
${deviceName} 设备名称(同 entityName 7CTDM7H00B5EM1
${entityLabel} 设备标签(如果设置了) 设备A
${dsName} 数据源名称 设备数据源
${aliasName} Entity Alias 名称 所有无人机设备

多数据源场景

如果图表中有多个数据源(多个设备),每个数据源的数据键都会使用相同的标签格式,但 ${entityName} 会替换为对应设备的名称。

示例:

  • 设备1 7CTDM7H00B5EM1 的标签:7CTDM7H00B5EM1 - 温度
  • 设备2 7CTXM9Q00B02H2 的标签:7CTXM9Q00B02H2 - 温度

配置位置图示

配置面板
├── 数据 (Data) ← 在这里配置
│   ├── 数据源 (Datasources)
│   └── 数据键 (Data Keys)
│       └── 标签 (Label): ${entityName} - 温度
├── 外观 (Appearance)
├── 卡片 (Card)
├── 动作 (Actions)
└── 布局 (Layout)

验证配置

配置完成后:

  1. 查看图例:

    • 图表底部的图例应该显示设备名称
    • 例如:7CTDM7H00B5EM1 - 温度
  2. 查看悬停提示:

    • 鼠标悬停在图表线条上时
    • 提示框应该显示设备名称
  3. 查看汇总表:

    • 如果图表上方有汇总表
    • 表格中的行标题应该显示设备名称

常见问题

Q1: 配置后仍然显示 "Temperature"

原因:

  • 可能没有保存配置
  • 或者变量格式不正确

解决:

  1. 确保变量格式正确:${entityName} 而不是 {entityName}$entityName
  2. 点击 "应用" 按钮保存配置
  3. 刷新页面查看效果

Q2: 所有设备都显示相同的名称

原因:

  • 可能使用了 Entity Alias但没有正确配置多设备

解决:

  1. 检查数据源配置
  2. 确保 Entity Alias 选择了多个设备
  3. 或者为每个设备单独配置数据源

Q3: 变量显示为文本而不是设备名称

原因:

  • 变量格式错误
  • 或者数据源配置不正确

解决:

  1. 检查变量格式:使用 ${entityName} 而不是 ${entityName}(注意大括号)
  2. 确保数据源已正确关联到设备

高级配置

使用设备标签代替设备名称

如果设备设置了标签Label可以使用

${entityLabel} - 温度

这样会显示更友好的名称而不是设备ID。

组合多个变量

${entityName} (${entityLabel}) - 温度

显示效果:7CTDM7H00B5EM1 (设备A) - 温度

Y 轴显示实际数值配置

问题描述

如果 Y 轴显示的是比例尺(如 0-100而不是实际数值如 18、19、20、21需要配置 Y 轴设置。

配置步骤

1. 进入 Y 轴配置

  1. 在图表配置面板中,点击 "外观"Appearance标签页
  2. 找到 "Y 轴"Y Axes部分
  3. 展开 Y 轴配置(通常是 "default"

2. 配置 Y 轴标签显示

在 Y 轴配置中,确保以下设置:

  1. 显示刻度标签Show Tick Labels开启

    • 这个选项必须开启,否则不会显示数值
  2. 小数位数Decimals设置合适的数值

    • 例如:0(显示整数)或 1(显示一位小数)
    • 对于温度数据,通常设置为 01
  3. 单位Units可选

    • 例如:°C(如果显示温度)

3. 配置位置

配置面板
├── 外观 (Appearance) ← 在这里配置
│   └── Y 轴 (Y Axes)
│       └── default
│           ├── 显示刻度标签 (Show Tick Labels): ✓ 开启
│           ├── 小数位数 (Decimals): 0 或 1
│           └── 单位 (Units): °C (可选)

4. 具体操作

  1. 打开 Y 轴配置:

    • 点击 "外观" 标签页
    • 找到 "Y 轴" 部分
    • 点击展开 "default" Y 轴配置
  2. 启用标签显示:

    • 找到 "显示刻度标签"Show Tick Labels开关
    • 确保它是 开启 状态(绿色/蓝色)
  3. 设置小数位数:

    • 找到 "小数位数"Decimals字段
    • 设置为 0(整数)或 1(一位小数)
  4. 重要 - 清空最小值/最大值(让 Y 轴自动调整):

    • 找到 "最小值"Min字段
    • 清空该字段(留空,不要填 0 或其他值)
    • 找到 "最大值"Max字段
    • 清空该字段(留空,不要填 100 或其他值)
    • 这样 Y 轴会根据实际数据自动调整范围,而不是固定显示 0-100
  5. 可选 - 设置单位:

    • 找到 "单位"Units字段
    • 输入 °C(如果需要显示温度单位)
  6. 保存配置:

    • 点击 "应用" 按钮保存

Y 轴配置说明

配置项 说明 推荐值
显示刻度标签 控制是否在 Y 轴上显示数值 开启 ✓
小数位数 控制数值显示的小数位数 0整数或 1一位小数
单位 显示在 Y 轴标签后的单位 °C(温度)或留空
最小值 Y 轴的最小值(可选) 留空(自动)
最大值 Y 轴的最大值(可选) 留空(自动)

验证配置

配置完成后:

  1. 查看 Y 轴:

    • Y 轴左侧应该显示实际数值
    • 例如:10, 15, 20, 25, 30
    • 而不是比例尺或百分比
  2. 查看数值格式:

    • 如果设置了单位,应该显示:10°C, 15°C, 20°C
    • 如果设置了小数位数,应该显示对应的小数位

常见问题

Q1: Y 轴仍然显示比例尺

原因:

  • "显示刻度标签" 选项未开启
  • 或者小数位数设置不正确

解决:

  1. 确保 "显示刻度标签" 开关是 开启 状态
  2. 检查小数位数设置(建议设置为 01
  3. 点击 "应用" 保存配置
  4. 刷新页面查看效果

Q2: Y 轴数值显示不完整

原因:

  • 可能数值太大或太小,需要设置合适的范围

解决:

  1. 在 Y 轴配置中设置 "最小值"Min和 "最大值"Max
  2. 或者保持为空,让系统自动计算

Q4: Y 轴范围与汇总表数据不一致

问题描述:

  • 汇总表显示最大值、最小值、平均值都是 20 左右
  • 但 Y 轴显示到 100图表刻度范围过大

原因:

  • Y 轴的 "最大值" 被固定设置为 100
  • 应该设置为自动,让系统根据实际数据范围计算

解决:

  1. 在 Y 轴配置中找到 "最大值"Max字段
  2. 清空该字段(留空),让系统自动计算
  3. 同样,将 "最小值"Min字段也清空(留空)
  4. 点击 "应用" 保存配置

配置后效果:

  • Y 轴会自动根据数据的实际范围调整
  • 如果数据在 20-30°C 之间Y 轴会显示类似 15-35°C 的范围(包含一些边距)
  • 这样图表会更清晰地显示数据变化

Q3: Y 轴数值格式不正确

原因:

  • 小数位数设置不合适
  • 或者单位设置不正确

解决:

  1. 调整 "小数位数" 设置
  2. 检查 "单位" 设置是否正确
  3. 对于温度数据,建议小数位数为 01

参考