我正在使用 thingsboard V1.3.1。现在我正在开发 thingsboard 上的自定义控件小部件。我收到了 thingsboard 设备属性中的值。我想要通过传递 1 和 0 值来动态打开和关闭按钮。但我的问题是如何在 thingsboard 仪表板上自定义创建的开/关开关控件小部件上显示这个最新值。
任何帮助,将不胜感激。
提前致谢,
维斯瓦
我正在使用 thingsboard V1.3.1。现在我正在开发 thingsboard 上的自定义控件小部件。我收到了 thingsboard 设备属性中的值。我想要通过传递 1 和 0 值来动态打开和关闭按钮。但我的问题是如何在 thingsboard 仪表板上自定义创建的开/关开关控件小部件上显示这个最新值。
任何帮助,将不胜感激。
提前致谢,
维斯瓦
您可以通过首先在此处配置来设置要传递到小部件的参数!
attributeService = $scope.$injector.get('attributeService');
在self.onIni
函数内部,这将获得您刚刚在小部件数据源上设置的属性。
在此之后,您必须在小部件中恢复此信息。我建议您在self.onDataUpdated
函数中执行此操作(thingsboard 使用 AngularJS),以便按钮将更新该值。
self.onDataUpdated = function () {
for (let i=0;i<subscription.data.length;i++) {
let attributeValue = subscription.data[i].data[0][1];
let dataKey = subscription.data[i].dataKey.name;
if (dataKey === 'active') {
$scope.activeVal = (attributeValue === 'true');
}
}
};
这里不断地遍历每个属性,检查名称是否与“活动”匹配,如果是,则 $scope 属性 activeVal = 您传递给小部件的活动值。
谢谢它。