我正在开发一个使用Philips Hue SDK的应用程序。我想在日落之后执行一个 Action 。看起来桥上有一个传感器,如果用户当前处于白天,该传感器可以返回true或false。

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

最佳答案

您可以通过在网桥上适当设置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值在日出时变为true时,此规则将关闭所有灯(第0组)。您可以添加第二条规则以在日落时打开灯。

08-18 07:08