当尝试从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";
谢谢您的建议。
答案 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"