如何使用日落和日出数据

时间:2014-11-06 15:19:26

标签: philips-hue

我看到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"
}

您可以看到我设置的纬度和经度值(默认情况下它们是'无')。

现在很明显,日出和日落偏移不是计算值。相反,它们用于配置传感器值何时从白天跳到非白天或反之亦然 - 例如,日光变为真实"日出偏移"日出后几分钟。

桥梁是否知道给定地理位置的日出和日落时间?

如果是这样,我是否可以可靠地查询此传感器以确定日照或日照时的日照和日照?

1 个答案:

答案 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