【问题标题】:Smart home google action not responding and device is always offline智能家居谷歌操作无响应且设备始终处于离线状态
【发布时间】:2022-01-26 06:29:20
【问题描述】:
我使用 action-on-google 和 nodeJs 创建了一个智能家居操作,它运行良好。当您说打开关闭时,它会向我的服务器发送 MQTT 请求,这意味着 onExecute 功能可以正常工作,但问题是谷歌没有通过 OK 响应我的命令,它说“抱歉,您的设备看起来现在不可用",我还观察到我的设备在 Google Home 应用程序中始终处于离线状态。是否需要使用 firebase 并从那里获取设备状态?
【问题讨论】:
标签:
node.js
device
google-home
google-smart-home
smart-device
【解决方案1】:
Firebase 是一种允许存储设备状态的网络服务。您可以随意使用其他网络服务。
如果您的设备处于离线状态,可能是因为您的 Google Home 应用尚未收到您设备的状态。
以下是 Google Home 应用接收设备数据的两种途径:
-
Google 服务器会发送一个action.devices.QUERYintent 并回调您的函数(例如onQuery)以通过您的履行获取您设备的数据,请参阅action.devices.QUERY。
因此,请在 onQuery 函数中打印日志,并确保您的函数正常工作。
-
您的智能家居操作必须使用 reportStateAndNotification 的 API 来更新您设备在 Home Graph 中的数据,请参阅 Method: devices.reportStateAndNotification。
如果 Google 助理提示您“抱歉,设备目前不可用”,可能是因为 Google 服务器没有从您的履行中收到正确的信息。请按照上面的建议再试一次。
如果您仍有问题,请查看您的 logs 以确定该设备的特定问题。