大屏使用问题_物联网平台

如何在大屏内展示告警列表?

答案

💡提示

如果需要将告警列表直接展示在大屏内,可以使用大屏组件"分页表格(适合告警或者设备列表)

"搭配动态接口使用。

动态接口配置:

大屏操作:


如何在大屏内进行属性下发?

答案

💡提示

如果需要在大屏内对设备数据进行控制,首先要保证设备物模型属性为读写,并使用"联动设备文本"组件达到对应的效果。

配置数据源:

💡注意

默认接口只会返回10个设备的消息,如果需要请求的设备数据超过10个,可以手动修改接口params里面的pagesize为合理数值。

大屏操作:

💡注意

使用“联动设备文本”搭配公共接口时,如果将接口过滤器写在公共接口内,则需要每一个组件配置一个公共接口,使用时,会重复配置,但可以配置不同的请求频率。也可以将接口过滤器写在组件过滤器内,使用时,只需要选择同一个公共接口,过滤器写在组件内,配置该公共接口的组件只会调用一次 ,且请求频率一致。

第一种方式(多个公共接口,支持不同频率):

第二种方式(单个公共接口,推荐,请求频率一致):

过滤器:

💡提示

示例过程过滤器可以通过修改filterDeviceData内容,返回不同的控制项,不使用过滤器会返回所有设备所以物模型属性的控制。该示例建议使用公共接口。

function filterDeviceData(data, deviceName, functionNames) {
    // 确保 functionNames 是数组,如果是字符串则转为单元素数组
    var names = Array.isArray(functionNames) ? functionNames : [functionNames];
    
    // 过滤 items
    var filteredItems = [];
    for (var i = 0; i < data.items.length; i++) {
        var item = data.items[i];
        if (item.name === deviceName) {
            // 复制 item 避免修改原对象
            var newItem = {};
            for (var key in item) {
                if (item.hasOwnProperty(key)) {
                    newItem[key] = item[key];
                }
            }
            // 过滤 timeseries
            if (newItem.timeseries && Array.isArray(newItem.timeseries)) {
                var filteredTs = [];
                for (var j = 0; j < newItem.timeseries.length; j++) {
                    var tsEntry = newItem.timeseries[j];
                    var funcName = tsEntry.thingsModel && tsEntry.thingsModel.functionName;
                    // 检查 functionName 是否在允许列表中
                    if (funcName && names.indexOf(funcName) !== -1) {
                        filteredTs.push(tsEntry);
                    }
                }
                newItem.timeseries = filteredTs;
            }
            filteredItems.push(newItem);
        }
    }
    
    // 构造返回结果
    return {
        total: filteredItems.length,
        items: filteredItems
    };
}
//mqtt为设备名称只填一个  测试下发为物模型属性名称可多选  过滤器其他内容不变
res = filterDeviceData(res, "mqtt", ["测试下发"]);
delete res.items[0].name;
return res;

云腾五洲-AI助理