一、前言 网上有许多homeassistant自动播报天气的教程,但这些教程比较老,都是一两年以前的版本,随着homeassistant版本的升级,有些代码会报错。另外,本人的homeassistant配置在群辉docker中,与教程中基于树莓派的homeassistant也有区别,群辉没有音频输出端口,因此无法通过安装VLC外接音箱输出音频,只能通过局域网串流的方式发送到局域网音频设备进行播放,通过1天的调试终于成功解决这一问题。
二、搭建环境主机型号:群辉DS918+ DSM版本:DSM 6.2.3-25426 Update 3 Docker版本:18.09.0-0519 安装类型:Home Assistant Container Homeassistant版本: core-2021.4.6 语音合成:百度TTS 音频播放设备:海美迪机顶盒+polk回音壁
三、方法步骤
1. 群辉安装Docker套件套件中心中搜多“docker”进行安装。 2. 安装Homeassistant官网有基于群辉docker的安装教程,网上也有很多类似教程,过程非常简单,安装过程不再详述。 3. 安装百度TTS百度云控制台 网上许多类似教程,安装过程非常简单,简单几步就可以安装好,因此不再详述,具体可以度娘,这里只提醒一点要注意的地方,百度TTS需要申请百度开发者账号,然后前往人工智能-语音技术,点击语音合成选项,再点击上方的创建应用。 应用创建好后就可以看到AppID、API Key、Secret Key等信息。这还没完,百度TTS是收费项目,免费使用是需要申请限额的,如果不申请限额,后续是无法调用百度TTS服务,Homeassistant会报错,所以别忘记了领取免费额度,这是很多教程都没有注明的“坑”。
4. 设置语音播放实体网上教程都是安装VLC、kodi等实体,现在很多电视机顶盒自带局域网播放功能,因此无需另外安装语音播放实体,只需将机顶盒接入路由器,省去了一些中间步骤。然后编辑Homeassistant的configuration.yaml文件,在空白处填写一下代码: # 自动发现DLNA设备
discovery:
enable:
- dlna_dmr然后重启Homeassistant,便可自动发现海美迪机顶盒,作为TTS的语音播放器。 我的机顶盒中也安装了kodi,所以kodi也被发现了,实际上我是在设置kodi中无意中发现机顶盒可以作为播放器使用的,以后就不用安装kodi,简化了步骤,也不用安装过多的软件,软件越少越好,够用就行。 5. 配置自动化程序配置自动化程序的时候也遇到了一个坑,网上的教程虽然给出了代码,但在调用TTS过程中始终报错,不知道为啥,本人不是程序猿,和大多数人一样,对于Homeassistant也是个小白,度娘了一天,看得头晕脑胀,还是不会。后来看到一篇文章,具体哪篇文章忘记了,大概说的是Homeassistant的发展历程,以前基本上撸代码,可视化很少,发展到现在,很多东西做了可视化的处理,但同时也保留了代码编辑,因此我就找呀找呀找,终于被我发现了一片新大陆,自动化程序编辑的可视化面板,这可真是我这种小白的福音,感谢那位Homeassistant的历史老师,激发了我的灵感。 点击配置-自动化,再点击右下角的添加自动化。 点击“从空的自动化开始”,开始进入自动化的配置 名字随便起,描述也随意,模式,我也不知道啥意思,第一次选了个“单点”,结果自动化没有调用,所以我猜测这个选项意思是必须用户点击才能调用。重启估计是上次调用后重启Homeassistant才能再次调用,就一个“队列”比较像,选了“队列”,长度默认10没改,启用/禁用自动化默认开启不用改。
触发条件选项中有多个出发条件可供选择,我设置的是早上7点30分开始播报,另外还可以设置多个触发条件。 环境条件是自动化流程中的逻辑处理部分,其中给出了多个环境条件类型,最简单的就是数值型,同样可以添加多个环境条件。 最后就是动作设置部分,简单的动作可以通过可视化编辑器编辑,稍微复杂一点的智能通过撸代码的方式编辑,以下便是我的配置信息,传感器利用的是和风天气组件的传感器,如果抄作业,必须安装和风天气组件,具体教程自行度娘,非常简单,这里就不展开。
四、结束语Homeassistant发展到现在,有很多版本,每次升级可以说都会带来一些坑,以前的教程就会失效,好在现在的Homeassistant的可视化程度逐渐完善,一方面可以减少我这种小白学习负担,另一方面可以减少“出坑率”。 此外这次发现机顶盒可以作为播放器使用也减少了一个配置步骤,家里没有树莓派,没有蓝牙音箱一样可以实现语音播报的功能,只不过机顶盒必须24小时开机才行。
|