前言
搭建domoticz服务器也有段时间了,之前有了解到这个服务器支持彩云天气,今天查阅资料有幸看到这篇文章Domoticz 中添加彩云天气,在这里感谢作者 HintLee
按照博主的教程,加入彩云天气效果如下
下面我们来一起搭建吧
添加天气硬件
在设置,硬件中新建名为“彩云天气”的硬件,填入网址
https://api.caiyunapp.com/v2/Y2FpeXVuIGFuZHJpb2QgYXBp/123.45678,78.05675/realtime.json
经纬度123.45…,78.056需要自己查询,查询点这里
网页的自动定位不是很准确,会导致数据不精确,可以点“IP定位”
具体参数设置如下
创建虚拟传感器
点击“创建虚拟传感器”
分别创建温度、湿度、气压、PM2.5、PM10,其中 PM2.5,PM10 类型为Custom Sensor,单位 ug/m³,名字其实可以自定义
添加lua文件
新建一个文本文档,把下面的代码复制进去另存为caiyun_paraser.lua,将文件放到电脑软件安装目录Domoticz/scripts/lua_parsers/目录下,
s = request['content'];
local temperature = domoticz_applyJsonPath(s, '.result.temperature')
local humidity = domoticz_applyJsonPath(s, '.result.humidity')
local hum_stat = '0'
local bar = domoticz_applyJsonPath(s, '.result.pres')
local bar_for = '0'
local skycon = domoticz_applyJsonPath(s, '.result.skycon')
local pm25 = domoticz_applyJsonPath(s, '.result.pm25')
local pm10 = domoticz_applyJsonPath(s, '.result.pm10')
if humidity >= 0.4 and humidity <= 0.6 then
hum_stat = '1'
elseif humidity >= 0.3 and humidity <= 0.8 then
hum_stat = '0'
elseif humidity > 0.8 then
hum_stat = '3'
elseif humidity < 0.3 then
hum_stat = '2'
end
if skycon == 'CLEAR_DAY' or skycon == 'CLEAR_NIGHT' then
bar_for = '1'
elseif skycon == 'PARTLY_CLOUDY_DAY' or skycon == 'PARTLY_CLOUDY_NIGHT' then
bar_for = '2'
elseif skycon == 'CLOUDY' then
bar_for = '3'
elseif skycon == 'RAIN' then
bar_for = '4'
end
domoticz_updateDevice(3, 0, temperature)
domoticz_updateDevice(4, humidity*100, hum_stat)
domoticz_updateDevice(5, 0, tostring(bar/100)..';'..bar_for)
domoticz_updateDevice(6, 0, pm25)
domoticz_updateDevice(7, 0, pm10)
在代码的末尾记得修改对应的IDX
完成后,把domoticz服务器重新启动即可
本文转载自https://www.cnblogs.com/HintLee/p/9557182.htm
版权归原作者所有,如有侵权,请联系我删除