引言
上一期文章我们已经成功实现了长按电源键唤醒 Home Assistant Assist,然后通过语音控制智能设备(但是据群友反馈国产手机似乎无法替换系统自带的语音助手)。最后留下一个问题:如果我希望完全免提唤醒,而不依赖长按电源键,有没有办法呢?
当时我给出的思路是:使用MacroDroid + AutoVoice组合去实现,大概可以分为以下几步:
-
1. AutoVoice 持续监听你的自定义语音关键词(例如 “助手”)。 -
2. MacroDroid 监听 AutoVoice 事件,并自动触发 Home Assistant Assist(或直接调用 Home Assistant 自动化)。 -
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,整体体验算不上完美,但聊胜于无。
那么,不知道大家是怎么看的? 还是说你有更好的想法?欢迎在评论区交流!