Domoticz面板中可以添加JSON格式的信息。这里以添加彩云天气API信息为例。
基本步骤:
- 添加HTTP/HTTPS poller虚拟硬件
- 添加虚拟设备
- 编写lua脚本
- 脚本放在制定目录下
添加HTTP/HTTPS poller 类型硬件
URL—— 是彩云天气API的地址,实际上就是JSON格式数据。
命令 ——tianqi_paraser.lua 是我们后面需要编写的脚本,文件名可以自己命名。
刷新 ——是Json数据刷新的频率,可以根据自己的需要设置,我这里为了测试需要设置为5秒刷新一次
添加虚拟设备
注意有一些设备需要选择custom sensor,否则数据显示不了,记住每个虚拟设备对应的idx编号,后面lua编程中需要用到。
编写Lua脚本
--
s = request['content'];
local temperature = domoticz_applyJsonPath(s, '.result.temperature')
local humidity = domoticz_applyJsonPath(s, '.result.humidity')
local status=domoticz_applyJsonPath(s, '.result.status')
local skycon = domoticz_applyJsonPath(s, '.result.skycon')
local aqi = domoticz_applyJsonPath(s, '.result.aqi')
local pm25 = domoticz_applyJsonPath(s, '.result.pm25')
local pressure = domoticz_applyJsonPath(s, '.result.pres')
-- 下面的 3 2 4 5是虚拟设备对应的idx编号
domoticz_updateDevice(3,'',tostring(humidity*100))
domoticz_updateDevice(2,'',tostring(temperature))
domoticz_updateDevice(4,'',tostring(pm25))
domoticz_updateDevice(5,'',tostring(pressure))
将tianqi_paraser.lua 放在Domoticz\scripts\lua_parsers目录中
参考 https://xujiwei.com/blog/2017/03/homeautomation-domoticz/
https://www.cnblogs.com/HintLee/p/9557182.html
https://www.domoticz.cn/forum/viewtopic.php?p=1059