Google Home在已配置了ssl证书的Home assistant下的使用

2020-08-24 14:42:05 0点赞 1收藏 2评论

本文的讨论都是基于以下前提条件:

  1. 你的home assistant能够从外网访问,你的域名申请了ssl证书,通过外网访问你的ha(home assistant缩写,下同)时是使用https协议。

  2. 你有Googe Home(或Google Home mini)。

  3. 你的Google Home有接入ha。

ha在配置文件中使用了external_url和internal_url替代了之前在http组件下的base_url。

当你在ha中使用Google Home的media_player实体进行TTS时,ha会在你ha的/config/tts目录下生产一个mp3文件,并播放它。这时你可以在这个media_player实体属性的media_content_id中看到这个mp3对于Google Home的地址。

以下是我做的不同配置条件下的对比数据:

Google Home在已配置了ssl证书的Home assistant下的使用

从以上对比数据可以有以下几点结论:

  1. 不配置ssl、external_url和internal_url时,最为简单,一切正常(方案一)。但使用也是受限(没了ssl证书、没了外网登录);

  2. 当配置了ssl,而没有设置internal_url时,Google Home的tts文件地址默认使用ha所在的内网地址(方案二、方案五);

  3. 当配置了ssl和internal_url,Google Home的tts文件地址是和internal_url的设置保持一致(方案三、方案四、方案六);

  4. 如果你的ssl证书是单一域名的情况,那么Google Home使用https://内网地址时是无法播放的(因为你的内网地址是没有ssl证书的)(方案二、方案四、方案五);

  5. 配置了ssl,而ssl证书又是单一域名的,那么要正常使用Google Home就只能将internal_url配置成外网地址(方案六)

以上就是我在配置了ssl(单一域名证书)、external_url和internal_url后使用Google Home时碰到的问题。虽然也能按方案六配置来正常使用(我也是一直是这么做),特别是我使用Google Home来播放本地音乐时,一直就是使用外网的地址,这让我一直都很不爽快,我在家里用家里的设备播放家里NAS内的音乐还要绕外网一大圈!不爽久了,就盘它!


参照了https://community.home-assistant.io/t/tts-with-ssl-on/207875上的说明,再制定出了解决问题的技术路线:

  1. 要有份通配符SSL证书,并配置给ha;

  2. 将内网映射到包含在ssl证书内的子域名;

  3. 没了。简单就两步。

用了一周六的时间搞定了以上两步骤,从此王子和灰姑娘过上了幸福的生活。

以上两步的具体过程就自行百度了哈(下周末有时间有需求再继写)。


展开 收起
2评论

  • 精彩
  • 最新
  • 大佬,请教个问题
    自从用了三星手机的后,Google home就挂掉了,语音唤醒都是提示语音未注册,但在手机app上注册成功了,各种尝试,各种Google解决方法后终于变成了一个单纯的蓝牙音箱
    但还是想不通为什么会这样,

    校验提示文案

    提交
  • 条件我都满足,但用HA的MEDIA_PLAYER时就是没动静,能贴一下你的GOOGLE TTS 和media_player在CONFIGURATION.YAML中怎么设置的吗?

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
1
扫一下,分享更方便,购买更轻松