Home Assistant 秘籍:用华为小艺召唤 Home Assistant Assist,语音控制智能家居更丝滑

引言

上一期文章我们已经成功实现了长按电源键唤醒 Home Assistant Assist,然后通过语音控制智能设备(但是据群友反馈国产手机似乎无法替换系统自带的语音助手)。最后留下一个问题:如果我希望完全免提唤醒,而不依赖长按电源键,有没有办法呢?

当时我给出的思路是:使用MacroDroid + AutoVoice组合去实现,大概可以分为以下几步:

  1. 1. AutoVoice 持续监听你的自定义语音关键词(例如 “助手”)。
  2. 2. MacroDroid 监听 AutoVoice 事件,并自动触发 Home Assistant Assist(或直接调用 Home Assistant 自动化)。
  3. 3. Home Assistant Assist 接收语音指令,并执行设备控制,如开灯、调节温度等。

当时这部分内容本来是留给小伙伴们自己折腾,但由于上一期内容几乎国产手机无法操作,于是打算这一期内容给出详细完整的实现方案,让你真正实现免提语音唤醒 Home Assistant Assist,解锁更丝滑的智能家居体验!

华为小艺

本来,我的计划是使用 AutoVoice 来监听语音唤醒,从而触发 Home Assistant Assist。然而,实际操作时发现,AutoVoice 依赖 Google 服务,难以完全独立运行,这让我不得不重新思考方案。

由于我使用的是华为手机,它自带的小艺语音助手具备强大的语音识别和自动化能力。于是,我开始思考:有没有办法利用小艺,让它来监听语音唤醒,并直接触发 Home Assistant Assist 呢?其实属于曲线救国

经过一番探索,我成功实现,思路大致如下:

这次,我就带大家一步步实现这个过程。

国产其它品牌手机方法类似。

华为智慧生活设置自动化

打开华为智慧生活App,新建一个场景:

当对小艺说:呼叫Jarvis时,发送消息通知 Hey Nabu

MacroDroid 监听消息通知

添加一个触发器用来接收华为智慧生活App发送的消息通知Hey Nabu

这里Hey Nabu大家可以自定义,记得要和华为智慧生活那边发送消息内容匹配。

MacroDroid 拉起 Assist 服务

添加一个动作来触发Home Assistant Assist

最终配置效果如下

这样,你就可以直接用语音唤醒 Assist,而不需要按任何按钮,实现真正的免提 Home Assistant 语音控制体验!

测试

总结

虽然这个方法成功打通了手机自带助手的免提唤醒,让 Home Assistant Assist 更加便捷可用,但严格来说,它仍然属于一种“曲线救国”的方案。

此外,由于 Assist 目前不支持连续语音交互,每次只能执行一条语音指令。如果想继续语音控制,就必须手动点击屏幕上的语音按钮,或者再次用小艺唤醒 Javier,整体体验算不上完美,但聊胜于无

那么,不知道大家是怎么看的? 还是说你有更好的想法?欢迎在评论区交流!