4/10/2024
消息规则 在 ThingsCloud 中发挥着重要的作用,它可以按照设定的条件,对设备和云平台之间传递的消息进行各种计算、处理、流转等操作。
消息规则支持多种类型的规则,其中包括常用的预处理规则:
消息规则中的预处理操作可以满足大多数场景需要,不过在有些情况下,我们不希望改变设备属性本身的数据格式,而仅需要在可视化看板中数据展示的时候进行一些预处理计算,或者在下发或更新设备属性时,进行快速的预处理,这时候就可以使用看板的数据预处理功能。
看板的数据预处理,支持 显示值预处理 和 更新值预处理。
显示值预处理 是指在显示属性值时执行预处理函数,仅用于显示,不会对设备属性进行实际修改。更新值预处理 是指在更新属性值时执行预处理函数,会对设备属性进行实际修改。
下面我们来看几个例子吧!
我们已将电能表接入 ThingsCloud,实现了累计用电量的数据采集。在 ThingsCloud 可视化看板中,可以轻松的展示不同时间范围的总用电量。
接下来,我们看看如何在看板中显示碳排放量的计算结果。
要计算用电量的碳排放,您需要知道每千瓦时电的碳排放因子。二氧化碳排放因子指从电网获取和消费单位电量(1kWh)所导致的间接二氧化碳排放。
这个因子会因地区的能源结构不同而有较大差异,例如,以化石燃料为主的发电方式碳排放较高,而以水力、风力、太阳能等可再生能源为主的发电方式碳排放较低。截止 2020 年,我国不同地域的能源结构数据如下:
计算碳排放量的公式如下:
碳排放量(千克CO2) = 用电量(千瓦时)x 碳排放因子(千克CO2/千瓦时)
举个例子:
如果一个工厂在一年内使用了4000千瓦时的电,并且当地的碳排放因子是0.5千克CO₂/千瓦时,则该工厂一年的电力碳排放量为:
4000千瓦时 * 0.5千克CO2/千瓦时 = 2000千克CO2
这样,您就可以根据用电量估算出碳排放量,对于评估环境影响和制定减排策略都是很有帮助的。
接下来,我们在看板中添加一个普通的数值组件,数据源设置为电表的有功总电能属性,打开属性设置,可以看到数值组件支持数据预处理,勾选开启预处理。
假设当前的碳排放因子是 0.5,只需编写一个简单的函数代码,对原来有数值 value
进行计算,返回计算结果给看板组件用于显示。在显示值预处理函数中编写如下:
return value*0.5;
同样,还可以在每日用电量统计的历史数据时序图中,对每个时间点的数值都进行预处理计算,如下图:
经过预处理后,我们看到的是计算后的数值,这些计算仅在显示时有效,并不会修改原数据。
学会碳排放量的预处理计算后,同理,您也可以进行电费的计算。
对于固定费率的用电价格,将总用电量乘一个价格系数即可,假如办公区的电费是 0.84元/度,显示值预处理函数如下:
这里我们先通过数据源的历史数据,自动计算今日的用电量,在经过预处理,生成今日电费,如下图:
利用显示值的预处理功能,您还可以实现各种数值单位转换,满足全球不同地域客户的度量衡规范。例如:温度单位转换,距离单位转换,能量消耗单位转换等。
这里我们将其中一个温度传感器的数值,从摄氏度转为华氏度,计算公式可以简化为:
F = 1.8 * C + 32
这里,( C ) 是摄氏温度,而 ( F ) 是计算得出的华氏温度。
在看板的显示值预处理中,编写一个简单的预处理代码,如下图:
有些时候您会遇到一些设备上报的 JSON 格式别出心裁,例如:
{ "relay3": [{ "value": true }]}
如果不想在消息规则中进行预处理,仅希望在看板中显示为开关量组件,可以编写显示值预处理函数如下:
return value[0].value;
这样便可以提取出数组和对象中的开关量值,使用开关组件正确的展示状态,如下图:
对于上边提到的开关状态,如果下发时也需要保持和上报的格式相同,这里可以使用更新值预处理函数,如下:
return [ { value: value, },];
在操作开关组件时,预处理函数便会将开关量转化为实际要下发的数组格式。
这一篇介绍的看板数据预处理,您学会了吗?快来尝试一下!
ThingsCloud 是新一代物联网设备统一接入平台,帮助企业在极短的时间内搭建个性化的物联网平台和应用,并适应不断变化的发展需求。目前广泛应用于制造、电力、能源、环境、农业、楼宇、家居、教育、交通、物流、自动化等领域。
ThingsCloud 可接入各类网关,传感器、执行器、控制器、通信模组、智能硬件等,实现数据采集、远程控制,数据分析、告警通知、智能联动。还可以零代码生成项目应用 SaaS 和用户应用 App,并开放 API 和实时消息,便于业务系统集成和扩展开发。
通过使用 ThingsCloud,企业可以大大缩短搭建物联网系统的时间,节省软件开发费用,降低定制开发的风险,快速落地数字化和智能化项目。我们的客户遍布各行业,包括中国石化、中国铁塔、中国燃气、吉林大学、北控水务、ACE、中国民航大学、西安交通大学、精量电子、大秦铁路、宁波水利局等。
5000+ 企业在使用 ThingsCloud