我看到Hue API在" Daylight"传感器,地理位置的字段以及日出/日落偏移。
具体来说:
lat
long
sunriseoffset
sunsetoffset
目前发布的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"
}
您可以看到我设置的纬度和经度值(默认情况下它们是'无')。
现在很明显,日出和日落偏移不是计算值。相反,它们用于配置传感器值何时从白天跳到非白天或反之亦然 - 例如,日光变为真实"日出偏移"日出后几分钟。
桥梁是否知道给定地理位置的日出和日落时间?
如果是这样,我是否可以可靠地查询此传感器以确定日照或日照时的日照和日照?
答案 0 :(得分:10)
Supported sensors页面上有日光传感器的说明,Sensors页面上的传感器说明,您需要Rules才能充分利用传感器。
日光传感器会在有日光时将状态值daylight
设置为true
,而在没有日期时设置false
,当然会考虑您指定的偏移(以分钟为单位)在传感器配置中。
要更改日光传感器配置,请使用PUT
上的/api/<username>/sensors/1/config
与以下正文:
{
"long": "1.5333W",
"lat": "56.2442N",
"sunriseoffset": 30,
"sunsetoffset": -30
}
这意味着状态daylight
值将在日落前变为false
30分钟,在日出后变为true
30分钟,其中日落/日出时间将根据您的{{ 1}}(经度)和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 }
}
]
}
值必须daylight
(等于)eq
。