我有一个openhab 2.1设置,我正在使用http绑定从我的色调桥接器获取额外的数据,但尚未在hue绑定中提供。我最感兴趣的是运动传感器中内置的光和温度传感器,但我也希望能够对按钮按下做出反应(因为这是交互式的,尽可能延迟)。
所以我选择使用http绑定轮询桥。
我有:
hue.url=http://192.168.61.21/api/[KEY]/sensors/
hue.updateInterval=500
我正在使用JS或JSONPATH转换来提取值。
我遇到的问题是:
我可以很容易地做到:
Number hue_dimmer_buttons_study_1 "Study Dimmer (last button)" { http="<[hue:500:JSONPATH($.16.state.buttonevent)]" }
Number hue_dimmer_scene_study_1 "Study Dimmer (current scene)" { http="<[hue:500:JSONPATH($.17.state.status)]" }
并从整个列表中获取值。但我只能进行这样的转换并从JSON获取原始值,或者我可以进行其他转换(例如映射&#34; true&#34;到&#34; ON&#34;以及1995到19.95 ) - 我不能两者兼顾。
另外,如果我仍然检索所有传感器状态,我也可以从同一个字符串中检索所有值 - 为此,我唯一的选择是为每个SENSOR写一个(例如)getHueTemperature.js,即:
getHueTemperature14.js:
(function(i) {
return JSON.parse(input).14.state.temperature / 100;
})(input)
然后执行:
[...] { http="<[hue:500:JS(getHueTemperature14.js)]" }
我无法传递我想要提取的元素,然后对所有传感器使用一个转换,例如:
getHueTemperature.js:
(function(i) {
return JSON.parse(input)[element].state.temperature / 100;
})(input, element)
然后:
[...] { http="<[hue:500:JS(getHueTemperature.js,14)]" }
......或者我可以吗?任何帮助都将非常感激。
感谢
。室