【问题标题】:Display assigned customer title in Thingsboard Alarm widget在 Thingsboard 警报小部件中显示分配的客户头衔
【发布时间】:2022-11-21 23:09:51
【问题描述】:

对于租户仪表板,我们希望警报小部件将设备分配的客户头衔显示为数据字段。

我当前的解决方法是使用单元格内容函数从警报对象 (alarm.customerId.id) 中检索 customerId,并将其静态转换为标题字符串。据我所知,在单元内容函数中使用 customerService 通过异步 getCustomer API 调用动态查找客户头衔是不可能的,也不是一个好主意。

我在没有创建自定义警报小部件的情况下想到的几个选项是:

  1. 使用客户详细信息规则链获取标题并将其存储在警报详细信息中。添加警报详细信息中的标题作为数据源。缺点是我需要将大量警报规则从设备配置文件移至自定义规则链。
  2. 使用规则链中的实体分配事件将分配的客户标题存储为设备时间序列或属性。添加分配的客户标题时间序列/属性作为数据源。我怀疑副作用是这将显示最后分配给设备的标题,而不是创建警报时的标题。通常不会重新分配设备,也不会修改客户名称,因此我认为这里的缺点很小。

    任何其他想法或建议将不胜感激!

【问题讨论】:

    标签: thingsboard


    【解决方案1】:

    当我在租户仪表板中有一个设备列表时,我有同样的问题来获取他们的客户名称。

    我执行了以下步骤,并测试了它也适用于警报:

    打开您的警报小部件,选择操作窗口(最后一个)并添加起源于“行点击”(https://thingsboard.io/docs/user-guide/ui/widget-actions/#3-on-row-click) 的操作,然后键入“更新当前仪表板状态”(https://thingsboard.io/docs/user-guide/ui/widget-actions/#update-current-dashboard-state)。

    回到你的仪表板,打开编辑模式并添加一个名称为“owner”(或任何你想要的)的别名,然后输入“仪表板状态的实体所有者”(https://thingsboard.io/docs/user-guide/ui/aliases/#alias-types)

    在您的仪表板 (https://thingsboard.io/docs/user-guide/ui/widget-library/#entity-admin-widgets) 中创建一个新的实体管理小部件并选择您之前创建的别名(您不需要输入任何密钥)。

    保存所有,现在当你点击你的警报小部件的行时,实体管理小部件将显示你点击的警报的客户名称(因为你已经有客户实体,你还可以显示该客户的其他信息)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-27
      • 1970-01-01
      • 2011-11-05
      • 1970-01-01
      相关资源
      最近更新 更多