问题描述
Google Home 应用告诉我该帐户已成功关联。我已经在亚马逊云上部署了履行服务。我已经实现了action.devices.sync的意图,然后我可以通过这个返回
公共类 GoogleActionApp 扩展了 SmartHomeApp {
private static final Logger LOGGER = LoggerFactory.getLogger(GoogleActionApp.class);
@Override
public void ondisconnect(@NotNull disconnectRequest disconnectRequest,@Nullable Map,? > map) {
}
@NotNull
@Override
public ExecuteResponse onExecute(@NotNull ExecuteRequest executeRequest,? > map) {
返回空值;
}
@NotNull
@Override
public QueryResponse onQuery(@NotNull QueryRequest queryRequest,? > map) {
返回空值;
}
@NotNull
@Override
public SyncResponse onSync(@NotNull SyncRequest syncRequest,? > map) {
SyncResponse.Payload payload = new SyncResponse.Payload();
payload.setAgentUserId("3476753456432");
payload.setDevices(
新的 SyncResponse.Payload.Device[] {
/* 新的 SyncResponse.Payload.Device.Builder()
.setId("123")
.setType("action.devices.types.OUTLET")
.addTrait("action.devices.traits.OnOff")
.setName(
Collections.singletonList("My Outlet 1234"),
“夜灯”,
Collections.singletonList("Wall plug"))
.setwillReportState(true)
SetDeviceInfo ("towns - out - inc","hs1234","3.2","11.4")
// .setCustomData(
新的 JSONObject()
.put("foovalue",74)
.put("barValue",true)
.put("bazValue","foo"))//
.build(),*/
新的 SyncResponse.Payload.Device.Builder()
.setId("456")
.setType("action.devices.types.LIGHT")
.addTrait("action.devices.traits.OnOff")
.addTrait("action.devices.traits.Brightness")
.addTrait("action.devices.traits.ColorTemperature")
//.addTrait("action.devices.traits.ColorSpectrum")
.setName(
Collections.singletonList("Lights Out Inc. 灯泡 A19 color hyperglow"),
“灯”,
Collections.singletonList("阅读灯"))
.setwillReportState(false)
SetDeviceInfo ("towns Out Inc.","hg11","1.2","5.4")
/* .setCustomData(
新的 JSONObject()
.put("foovalue",12)
.put("barValue",false)
.put("bazValue","bar"))*/
.build(),
});
return new SyncResponse(syncRequest.getRequestId(),payload);
}
if ("action.devices.SYNC".equals(intent)){
试试{
String jsonResponse= actionsApp.handleRequest(body,headers).get();
System.out.println(jsonResponse);
outputStream.write(jsonResponse.getBytes(Charset.forName("UTF-8")));
} catch (InterruptedException e) {
e.printstacktrace();
} catch (ExecutionException e) {
e.printstacktrace();
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)