Python GoogleAssistant API,控制连接到GoogleHome的灯开关

Python GoogleAssistant API,控制连接到GoogleHome的灯开关,python,google-assistant-sdk,Python,Google Assistant Sdk,我有一台机器,它能快速输出.png文件。它被同步到机器B,我在机器B上查看它 有时机器A由于任何原因崩溃并停止执行计划的作业,这意味着机器B上的文件将变旧 我想让机器B运行一个脚本,查看文件是否超过1天,如果超过1天,则重置机器a上的电源开关,以便可以冷启动。开关连接到谷歌主页,但我知道我必须使用助手API 我已经安装了googleassistantsdk[samples]软件包。有人能告诉我一些如何查询和返回所有设备的代码,然后打开和关闭该设备上的开关吗?谷歌助手sdk用于处理音频请求 从文档

我有一台机器,它能快速输出
.png
文件。它被同步到机器B,我在机器B上查看它

有时机器A由于任何原因崩溃并停止执行计划的作业,这意味着机器B上的文件将变旧

我想让机器B运行一个脚本,查看文件是否超过1天,如果超过1天,则重置机器a上的电源开关,以便可以冷启动。开关连接到谷歌主页,但我知道我必须使用助手API


我已经安装了
googleassistantsdk[samples]
软件包。有人能告诉我一些如何查询和返回所有设备的代码,然后打开和关闭该设备上的开关吗?

谷歌助手sdk用于处理音频请求

从文档:

您的项目捕获一个话语(一个语音请求,比如我的日历上有什么?),将其发送给Google助手,并在话语的原始文本之外接收语音响应


虽然您可以将其用于一些录制的短语,但直接连接到交换机或使用类似IFTTT的服务更有意义。这是一种什么样的开关?

不幸的是,许多智能家居公司正在为消费者而不是开发商生产产品。谷歌的SDK允许开发者将消费者的语音请求流式传输到他们的服务器,并将其转化为行动。同样,Gosund只对Amazon和Google的API访问感兴趣。它们是API,可能没有文档记录供公众使用

为了回答您的具体问题,如果您想使用Google Assistant SDK,您可以将您的交换机命名为“服务器A交换机”,并录制一段简短的视频,其中您说“关闭服务器A交换机”和“打开服务器A交换机”,然后将这两个视频发送到Google。google将请求与您的特定帐户匹配的方式是通过OAuth2令牌,google将为您提供有效的登录凭据

如果Gosund与googleassistant一起工作,那么它有一个标准的OAuth2服务器端点以及一个与googleassistant兼容的API端点。我只建议,如果你想有一些乐趣反向工程它

在您的Google Assistant应用程序中,如果您尝试添加Gosund集成,第一个屏幕弹出窗口是url端点,您可以在其中为一次性代码交换有效的Gosund帐户凭据,然后交换OAuth2访问和刷新令牌。通过访问令牌,理论上您可以控制交换机。您要发送的命令由Google标准化。但是,您必须确定将它们发送到哪里。这里最好的办法可能是给他们的开发者发电子邮件

您熟悉OAuth2吗?如果不是,我不建议做上述任何一项

您的另一个选择是防止服务器A硬件崩溃。这是我推荐的最少工作量。您应该从一个永不崩溃的服务器开始,保持这种状态,并在其上添加内容。如果您只有两台服务器,它们应该能够维持数月的正常运行时间。使用cron或systemctl运行计划的作业,并配备一个监视程序,在检测到错误时重新启动作业。如果您的作业正在崩溃服务器,可以将其放在类似docker之类的VM中,这将为您提供即时的自动重启功能


你可以做的另一件骇人的事情是通过他们的用户界面或应用程序,安排你的gosund插头每天关闭和打开一次,或者以您认为最理想的频率。您是否有任何当前正在使用的示例代码可以发布?您可以查看Google提供的这些代码。您可以共享您正在使用的设备设置类型。这是Gosund智能插头。我不想使用IFTTT,我想留在谷歌生态系统中。首先,如果你有超过一定数量的设备,IFTTT会向你收费。还有身份验证,我宁愿把它都放在谷歌上,这样更安全。我知道这是为了让录制的短语触发动作。为什么我不能直接触发行动?他们不会暴露,可能会防止滥用。要从Google内部完成这项工作,我认为您必须创建一个设备服务,并将事件发送到Google,然后在Google home中进行编排。使用tasmota或esp easy闪存交换机可能更容易,并且可以直接在网络上控制交换机。看见