我正在使用 Google Home 测试我的智能家居网络钩子

问题描述

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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...