如何结交爱丽丝和HomeBridge

图片

UPD 08/06/2019:发生了,有可能要求爱丽丝本人打开灯 。 该项目在github上 。 检查他的家桥,一切正常。 我认为进一步支持我的技能是不合适的。

除了智能家居,我一直希望有一个能说俄语的语音助手。 结果,我决定抓住机会,从Yandex.Station那里选出一个粗略的新专栏,与年轻但已经受到许多爱丽丝的喜爱。 最初的印象很棒,但是当我听到很多笑话并讲得足够多时,我开始学习本专栏的实际内容。 最重要的是,我对Alice与智能家居的互动问题感兴趣。

问题描述
我的家是基于HomeBridge服务器的。 关于Habré和其他资源( 一个两个三个 )的配置和使用的文章很多,因此在此我不再赘述。 尚未深入研究问题,我确信Alice的技能目录已经有很多与智能家居控制系统交互的解决方案。 事实证明,在撰写本文时,“智能家居”主题上的大多数技能都需要带有显示器的设备来工作,该设备不适合该工作站。 似乎可以满足要求并且知道如何在不显示的情况下工作的唯一技能是Alfred 。 该技能不适合我,因为它与服务相关-IFTTT。 假设我想创建一个在智能家居系统中运行的虚拟交换机,并允许您将脚本绑定到其当前状态。 Alfred使用IFTTT的WebHook服务,只能通过它在IFTTT applet中创建的触发器进行操作但是无法获取applet的当前状态(可以打开或关闭该开关,但是无法找到该开关现在处于什么状态)。

为了解决上述问题,创建了Alice-HomeBridge服务,该服务旨在连接Yandex.Alice语音助手和各种智能家居控制系统。 此外,以设置为例,我们将考虑HomeBridge的配置,但是这种方法也适用于其他系统,例如Home AssistantopenHAB等。

该服务允许用户在网站上注册后创建虚拟交换机。



您可以使用专门生成的GET服务请求来更改或找出交换机的状态。



为了使服务与语音助手“ Alice”进行交互,创建了“ Lazy Jimmy”技能。

懒惰的吉米
告诉爱丽丝:“懒惰的吉米,快点跑吧”,他会为您提供激活码的通知,您可以在个人帐户中找到该激活码。



激活后,您可以使用“打开”或“关闭”命令更改开关的状态。 例如,如果您说“打开灯”,则“灯”开关的状态将变为正。 如果您只是说“ Light”,那么开关的状态将变为相反的状态。

为了使对话听起来更加自然,可以使用名称更易理解的名称创建开关,例如“ With Utrechk”,然后您可以告诉Alice“ Tell Jimmy With Utrechk”,并且开关的状态将改变。

仍然需要配置HomeBridge。 例如,我们将使用cmdswitch2扩展名。 为HomeKit创建一个名为“ Alice Button 1”的开关。

{ "platform": "cmdSwitch2", "name": "CMD Switch", "switches": [ { "name": "Alice Button 1", "on_cmd": "curl --silent \"http://alicehomebridge.org/alice/switches.php?switch=34&hb=ADB7BYBT728O&state=set&val=true\"", "off_cmd": "curl --silent \"http://alicehomebridge.org/alice/switches.php?switch=34&hb=ADB7BYBT728O&state=set&val=false\"", "state_cmd": "curl --silent \"http://alicehomebridge.org/alice/switches.php?switch=34&hb=ADB7BYBT728O&state=get\" | grep -oh \"true\"", "polling": true, "interval": 2 } ] } 

为了避免不必要的请求使服务器超载,请将interval参数设置为至少2秒。

一切准备就绪。



现在,如果您说“爱丽丝用懒人的话告诉懒惰的吉米”,则“爱丽丝按钮1”开关将改变状态。 这是与定制的HomeKit脚本结合使用时一切工作的演示:


完整版的HomeBridge配置文件

PS大多数智能家居管理系统(例如HomeKit)都支持脚本。 您可以创建要在特定情况下使用的脚本,例如,当您醒来并将其呼叫分配给“打开Utrechok开关”事件时。

PS我的服务正在发展,而且,从温和的角度来看,它仍然远非理想。 但是爱丽丝还拒绝不时接受某些短语。 例如,她完美地传达了“打开灯”这一短语,但是她没有通过“早安”这一短语。 我希望Yandex知道此问题,并将尽快解决。 等待您的评论。

Source: https://habr.com/ru/post/zh-CN434184/


All Articles