如何使用日落和日出数据

cap*_*ica 4 philips-hue

我看到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.