7

我正在开发一个使用 Philips Hue SDK 的应用程序。如果在日落之后,我想执行一个动作。如果用户当前处于日光下,桥上似乎有一个传感器可以返回真或假。

我发现这方面的文档有点缺乏,或者至少我没有找到它。我找到了http://www.developers.meethue.com/documentation/supported-sensors但它没有提供有关如何使用它的信息。我发现的唯一另一件事是http://www.developers.meethue.com/documentation/java-sdk-getting-started#usingSensors,它只是说明了如何找到新的传感器。我不想要所有传感器,我只想访问日光传感器,然后检查是否是日光,如果没有则做某事。

4

1 回答 1

3

您可以通过在网桥上适当地设置 JSON 值来完成此操作。这是使用桥上的 debug/clip.html 工具的方法。您也可以使用 Hue API 之一来执行这些操作,但使用调试工具非常容易。

首先,使用您自己的经纬度放置(更新)日光传感器配置。这些值适用于内布拉斯加州的奥马哈。偏移量可以设置为正负 120 分钟,以使状态更改早于或晚于指定纬度/经度坐标的计算日出/日落时间。

/api/<username>/sensors/1/config

{
  "long": "96.0419W",
  "lat": "41.2647N",
  "sunriseoffset": 0,
  "sunsetoffset":  0
}

如果你做对了,这个state/daylight值应该会相应地改变。

现在,POST(创建)一个将根据日光状态触发的规则:

/api/<username>/rules

{
  "name": "Turn lights off at sunrise",
  "conditions": [
    {
      "address": "/sensors/1/state/daylight",
      "operator": "eq",
      "value": "true"
    }
  ],
  "actions": [
    {
      "address": "/groups/0/action",
      "method": "PUT",
      "body": {
        "on": false
      }
    }
  ]
}

当传感器的值在日出时state/daylight翻转到时,此规则将关闭所有灯(组 0) 。true您可以添加第二条规则以在日落时开灯。

于 2016-04-26T02:16:21.993 回答