Nest API查询 - 从入侵者警报控制系统

时间:2014-09-02 06:54:45

标签: nest-api

我正在考虑购买Nest,并对API功能有一些想法。我有一个入侵者/安全警报与房子周围的PIR。我打算做的是通过API在这个系统和Nest之间建立一个接口。

我的理由是使用来自警报PIR传感器的运动检测来“通知”Nest有人仍然在场所(由于它们的移动)并因此阻止Nest在房子时切换到其自动离开状态有人居住。

当房子在离开模式下武装时,我希望Nest立即进入自动离开状态。

所以我想知道的是,是否可以通过API执行以下操作:

1)保持/切换Nest进/出Home 2)将Nest置于自动离开状态

干杯伊恩

2 个答案:

答案 0 :(得分:1)

您可以将Nest切换为Away或Home,但无法控制Auto-Away。根据我的经验,Auto-Away可能不是你想要的,因为Nest似乎每次越过预定的加热/冷却等事件时都会退出Auto-Away模式。

这正是我使用API​​的方式 - 在设置闹钟时将Nest设置为Away,并在闹钟未设置时设置为Home。

答案 1 :(得分:0)

我遇到了关于使用我的安全警报运动检测器(我已经有一台显示器)的相同问题,让Nest知道某人在家。似乎Nest与其他可以提供Nest活动数据的公司合作,但API中没有任何相关信息。

我还有一个脚本,一旦警报布防,就会将Nest设置为离开模式,使用已发布的API很容易实现。

这是我的REST JavaScript函数,将Nest设置为home / away模式,原谅我糟糕的JavaScript(我是一个菜鸟)。

// Turn on/off away mode based on true/false parameter
function setAway(doAway) {
  var url = "https://developer-api.nest.com/structures/"+myNest.struct+"?auth="+myNest.auth;
  if (doAway) {
    var newState = "away";
  } else {
    var newState = "home";
  }
  var nowAway = isAway();

  var options = {
    method: "put",
    contentType: "application/json",
    accept: "application/json",
    payload: '{"away":"'+newState+'"}'
  };

  // only update if state changed
  if (doAway != nowAway) {
    var response = UrlFetchApp.fetch(url, options);
    var data = JSON.parse(response);
  }
}