4

我看到 Hue API 在“日光”传感器上提供了地理位置字段和日出/日落偏移量。

再具体一点:

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"
}

您可以看到我设置的纬度和经度值(默认为“无”)。

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

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

如果是这样,考虑到日出和日落,我是否可以可靠地查询此传感器以确定日光或非日光?

4

1 回答 1

10

支持的传感器页面有对日光传感器的描述,传感器页面有传感器的描述,您需要规则才能充分利用传感器。

日光传感器会将状态值设置daylighttrue有日光时和false没有日光时,当然要考虑到您在传感器配置中指定的偏移量(以分钟为单位)。

要更改您的日光传感器配置,请使用PUT以下/api/<username>/sensors/1/config主体:

{
    "long": "1.5333W",
    "lat": "56.2442N",
    "sunriseoffset": 30,
    "sunsetoffset": -30
}

这意味着状态daylight值将更改为false日落前30 分钟和true日出后 30 分钟,其中日落/日出时间是根据您的long(经度)和lat(纬度)值计算的。

例如,为了在日落时开灯,您需要指定一个规则,条件是daylight值必须等于false

将 a POSTon/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(等于)值false

于 2014-11-11T19:15:37.993 回答