分页: 1 / 1

求一个lua脚本将pms7003的三个数据分开

发表于 : 周日 12月 15, 2019 12:47
zhuyuanxue
如题,向大神求一个lua脚本将pms7003的三个数据分开,谢谢了!

Re: 求一个lua脚本将pms7003的三个数据分开

发表于 : 周日 12月 15, 2019 16:19
zhuyuanxue
自己写了一个,但是不行,求大神看看错在那里。
commandArray = {}

if devicechanged['Dust'] then

local device = otherdevices_svalues["Dust"]
print(device)

local pm1, pm25, pm10

_,_,pm1, pm25, pm10 = string.find(device, "(.+);(.+);(.+)")

print(pm1) --show temp in LOG
print(pm25) --show humidity in LOG
print(pm10) --show humstat in LOG,

commandArray[1] = {['UpdateDevice'] = 10 .. '|0|' .. pm25}
commandArray[2] = {['UpdateDevice'] = 11 .. '|0|' .. pm10}

end
return commandArray

Re: 求一个lua脚本将pms7003的三个数据分开

发表于 : 周日 12月 15, 2019 20:59
zhuyuanxue
自己解决了,脚本如下,分享给需要的人
commandArray = {}

if devicechanged['Dust'] then

local device = otherdevices_svalues["Dust"]
print(device)

local pm1, pm25, pm10

_,_,pm1, pm25, pm10 = string.find(device, "(.+);(.+);(.+)")

print(pm1) --show temp in LOG
print(pm25) --show humidity in LOG
print(pm10) --show humstat in LOG,


commandArray[1] = {['UpdateDevice'] = 10 .. '|0|' .. pm25}
commandArray[2] = {['UpdateDevice'] = 11 .. '|0|' .. pm10}

end
return commandArray

Re: 求一个lua脚本将pms7003的三个数据分开

发表于 : 周日 12月 15, 2019 20:59
zhuyuanxue
莫名其妙的就好了

Re: 求一个lua脚本将pms7003的三个数据分开

发表于 : 周五 12月 20, 2019 16:56
zhuyuanxue
需要先建立一个类型为文本的虚拟传感器

Re: 求一个lua脚本将pms7003的三个数据分开

发表于 : 周五 12月 20, 2019 23:43
jiahao
首先感谢脚本分享,传感器能正常检测了
其次想问一下,这样的话如何触发逻辑判断,比如根据PM2.5自动触发事件。
我研究了一下好像不能用blocky

谢谢

Re: 求一个lua脚本将pms7003的三个数据分开

发表于 : 周一 12月 23, 2019 10:46
jiahao
jiahao 写了: 周五 12月 20, 2019 23:43 首先感谢脚本分享,传感器能正常检测了
其次想问一下,这样的话如何触发逻辑判断,比如根据PM2.5自动触发事件。
我研究了一下好像不能用blocky

谢谢
解决了。
因为返回的是string,所以要转换成int:

pm25n = tonumber(pm25)
if pm25n > 25 and pm25n < 50 then
commandArray['Low']='On'
end

Re: 求一个lua脚本将pms7003的三个数据分开

发表于 : 周一 12月 23, 2019 20:12
zhuyuanxue
jiahao 写了: 周一 12月 23, 2019 10:46
jiahao 写了: 周五 12月 20, 2019 23:43 首先感谢脚本分享,传感器能正常检测了
其次想问一下,这样的话如何触发逻辑判断,比如根据PM2.5自动触发事件。
我研究了一下好像不能用blocky

谢谢
解决了。
因为返回的是string,所以要转换成int:

pm25n = tonumber(pm25)
if pm25n > 25 and pm25n < 50 then
commandArray['Low']='On'
end
能不能把全部的脚本分享出来,可能我也需要,懒得再研究了,谢谢

Re: 求一个lua脚本将pms7003的三个数据分开

发表于 : 周一 3月 09, 2020 15:57
jiahao
就是我发的,然后上面用你分享的脚本

Re: 求一个lua脚本将pms7003的三个数据分开

发表于 : 周一 3月 09, 2020 15:57
jiahao
zhuyuanxue 写了: 周一 12月 23, 2019 20:12
jiahao 写了: 周一 12月 23, 2019 10:46
jiahao 写了: 周五 12月 20, 2019 23:43 首先感谢脚本分享,传感器能正常检测了
其次想问一下,这样的话如何触发逻辑判断,比如根据PM2.5自动触发事件。
我研究了一下好像不能用blocky

谢谢
解决了。
因为返回的是string,所以要转换成int:

pm25n = tonumber(pm25)
if pm25n > 25 and pm25n < 50 then
commandArray['Low']='On'
end
能不能把全部的脚本分享出来,可能我也需要,懒得再研究了,谢谢
就是我发的,然后上面用你分享的脚本