本地家庭执行重新启动Google Nest集线器

时间:2019-09-16 20:31:31

标签: local execution google-smart-home

当尝试从Google Nest集线器对设备执行HTTP本地执行时,集线器将重新启动。完成,发现和识别都可以。使用的代码:

      const deviceCommand = new smarthome.DataFlow.HttpRequestData();
      deviceCommand.data =  "";
      deviceCommand.deviceId = device.id;
      deviceCommand.isSecure = false;
      deviceCommand.method = smarthome.Constants.HttpOperation.GET;
      deviceCommand.port = 80;
      deviceCommand.protocol = smarthome.Constants.Protocol.HTTP;
      deviceCommand.requestId = executeRequest.requestId;
      deviceCommand.path = "http://192.168.1.10/json.htm?command=On";

谢谢您的建议。

2 个答案:

答案 0 :(得分:0)

您不应在path参数中包括整个目标URL,而应仅包括路径部分。 DeviceManager API根据deviceId知道设备的目标地址,并将构造适当的URL。

我希望您的命令看起来更像这样(请注意,我还删除了一些您不需要包含的其他属性):

const deviceCommand = new smarthome.DataFlow.HttpRequestData();
deviceCommand.deviceId = device.id;
deviceCommand.isSecure = false;
deviceCommand.method = smarthome.Constants.HttpOperation.GET;
deviceCommand.port = 80;
deviceCommand.requestId = executeRequest.requestId;
deviceCommand.path = "/json.htm?Command=On";

答案 1 :(得分:0)

使用deviceCommand.path = "/json.htm?Command=On"

修复