我看到Hue API在"日光"传感器上提供了地理位置和日出/日落偏移的字段.
再具体一点:
lat
long
sunriseoffset
sunsetoffset
Run Code Online (Sandbox Code Playgroud)
目前发布的API未提供有关如何使用日出/日落的任何信息.
如果我使用更新传感器API来设置纬度和经度,日出/日落偏移是否会自动填充数据,我可以查询这些以相应地调整我的光照时间表?我想做的事情,例如"每天,日落时开灯+ 20分钟".
我本人要自己实现必要的算法,但是根据这些领域我需要做什么?
测试时,我更新了传感器配置的纬度和经度,这是更新后查询传感器结果的转储:
{
"state": {
"daylight":false,
"lastupdated":"2014-11-06T19:19:31"
},
"config": {
"on":true,
"long":"1.5333W",
"lat":"56.2442N",
"sunriseoffset":30,
"sunsetoffset":-30
},
"name":"Daylight",
"type":"Daylight",
"modelid":"PHDL00",
"manufacturername":"Philips",
"swvversion":"1.0"
}
Run Code Online (Sandbox Code Playgroud)
您可以看到我设置的纬度和经度值(默认情况下它们是"无").
现在很明显,日出和日落偏移不是计算值.它们用于配置传感器值何时从白天跳到非白天或反之亦然 - 例如,日出变为真正的"日出偏移"日出后几分钟.
桥梁是否知道给定地理位置的日出和日落时间?
如果是这样,我是否可以可靠地查询此传感器以确定日照或日照,并考虑日出和日落?
Jes*_*sen 10
" 支持的传感器"页面上有日光传感器的说明," 传感器"页面上的传感器说明,您需要使用规则来充分利用传感器.
日光传感器将设置状态值daylight,以true当有日光和false当没有,当然考虑到偏移量(以分钟为单位),你在传感器配置中指定.
要改变你的日光传感器的配置,使用PUT上/api/<username>/sensors/1/config具有下列机构:
{
"long": "1.5333W",
"lat": "56.2442N",
"sunriseoffset": 30,
"sunsetoffset": -30
}
Run Code Online (Sandbox Code Playgroud)
这意味着状态daylight值将false在日落前变为30分钟,true在日出后变为30分钟,其中日落/日出时间将根据您的long(经度)和lat(纬度)值计算.
为了例如在日落时打开你的灯,你需要指定一个规则,条件是daylight值必须等于false.
使用POST上/api/<username>/rules具有下列机构:
{
"name": "Daylight rule",
"conditions": [
{
"address": "/sensors/1/state/daylight",
"operator": "eq",
"value": "false"
}
],
"actions": [
{
"address": "/groups/0/action",
"method": "PUT",
"body": { "on":true, "bri":254 }
}
]
}
Run Code Online (Sandbox Code Playgroud)
规则的条件是状态daylight值必须eq(等于)该值false.