前言

这些年写了不少智能家居教程,但是基本都是基于米家或者homekit,属于厂家搭建的平台,也比较小白化,自动化场景根据提示来完成就OK。

无论是米家还是homekit,都有一定局限性,比如产品本身不支持平台,就无法接入系统了,又比如条件设置比较简单,不能完成一些自己想要的自动化场景。

不是每位消费者都研究那么仔细,另外由于品牌自我圈地保护意识,当你选购了不同的产品需要多个APP操作,不能实现整体统一,会比较闹心。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(1)

比如现在流行的homekit和米家,有多个品牌在做,有的品牌同时支持米家和homekit,有的仅支持homekit,有的两者都不支持。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(2)

开源平台就是因此而诞生,可以兼容多家的设备,自己diy传感器,以及通过反向接入,进入到homekit界面里,包括自定义自动化场景,并且随着加入的人越来越多,现在开源平台homeassistant已经没有那么复杂了,众多大神贡献着自己的力量,你所要做的就是拿过来为我所用。

homeassistant其实并不复杂,至少从现在的趋势来看是越来越简单了,本文就是从零开始,主要讲解前期homeassistant的搭建、UI美化、设备接入,未来还有更多的系列教程,这大概是每一个玩智能家居都会经历的路线。

前期搭建所需的设备及搭建过程

开源智能家居因为需要长期在线,那么低功耗且一直可以开机的设备尤为关键,目前来看主要是NAS和更加复杂一些的树莓派,从性能设备上来说,主要区分为X86和ARM设备。

从入手难易程度来看,NAS更适合初步接触开源智能家居的小白,真的全部从零开始,包括学习电路板的焊接和编程,估计会劝退一大堆观望的用户。

这次主要以群晖的X86架构的NAS为平台搭建,毕竟群晖的NAS特性很适合小白使用,不会太过Geek范,界面平易近人,系统生态也很齐全。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(3)

我这里使用的平台为群晖的DS920 ,也是我目前使用作为备份的一台NAS设备。

这台DS920 我是设置了四盘RIAD10阵列,兼顾性能和安全,就是比较浪费硬盘空间,四块8T硬盘总共提供了14T左右备份空间。

日常使用中群晖920 负责同步备份我的MAC mini 雷电外设中的视频、图片文件,之前使用其他品牌,在win下同步备份运行稳定,但是到MAC系统中就出现了很奇怪的问题,几个月解决无果后,我换了群晖,目前自动同步备份运行很稳定。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(4)

DS920 性能比较强大,同时内存也是笔记本规格的DDR4,可以自己拓展,除了作为homeassistant智能家居的载体,还能同时胜任其他比如软路由等工作,可以做到一机多用。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(5)

其他品牌的NAS也是可以的,但是在易用性和界面友好程度上,群晖基本可以说是一哥的位置,不用担心太多幺蛾子和奇怪的问题。

Synolgy 2022发布会上也公布了不少未来的功能点,包括macOS的按需同步、手机端应用的优化等,都提上了日程,还是值得期待一下的。

回到homeassistant上,让我们开始。

对于小白们来说,我们的第一任务就是把系统装到NAS上去,其他什么都不需要思考。

如何安装homeassistant?

这里就要提及下群晖系统的一个套件,docker,你可以理解为一个容器,一个轻量化的虚拟机。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(6)

群晖的Docker图标是一个鲸鱼加一堆集装箱,你可以理解为homeassistant这个系统被打包成一个标准化的集装箱,放到了鲸鱼(Docker)上,鲸鱼还可以运送其他标准化的集装箱,这个集装箱内部可以是其他应用程序和操作系统,而不是像之前不同的货物不能混放运送。

所以我们现在要做的就是将homeassistant弄进Docker中。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(7)

Docker中的注册表,在这里可以找到已经被打包好成集装箱的程序或者系统,比如homeassistant,直接在搜索,就能找到收藏量高达2k的一个集装箱,我们选中后下载。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(8)

这个时候会弹出窗口让你选择标签,其实就是选择版本,一般情况下是推荐latest,也就是最新版本的homeassistant,但是这次教程我不建议选择最新的版本,因为homeassistant更新比较勤快,新版本修复了一些bug,但是也带来了不少bug,这次我就遇到了新版本homeassistant无法打开界面的问题。

目前我自己尝试可以正常运行的homeassistant版本是2021.11.5,高版本的问题应该会修复。

选定好了版本后等待下载完成。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(9)

下载完成后在映像中双击,开始配置homeassistant的一些参数和设定。

在资源限制中我们要为homeassistant设定一个CPU优先顺序以及内存限制,我因为自己增加了一条内存,总容量为12GB,所以给homeassistant 设定了2G运行内存。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(10)

勾选下启用自动重新启动,桌面快捷方式则是在群晖的系统桌面上创建,这个就随意了。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(11)

这里我们在群晖的docker文件夹里面创建一个文件夹,我这里命名为homeassistant,系统的配置文件、UI美化文件,包括后期的所有文件都在这个文件夹内。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(12)

装载路径是什么?homeassistant需要一个文件夹来存放配置文件,这个文件夹是我们刚才创建的,所以路径就是/config,config就是配置的意思,同理,如果另一个系统需要一个文件夹来存放数据文件,那么路径就会变成/db,db是datebase,也就是数据的意思。

理解装载路径后,就算你重新升级homeassistant,只要homeassistant这个文件夹内的数据没有被删除,所有的配置都还在,无需重新手动梳理一遍。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(13)

网络设置中我们直接勾选与docker host相同的网络,也就是和群晖使用同一个网络,省去了映射端口的麻烦。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(14)

环境中我们新增一个时间,也就是TZ,设置为Asia/Shanghai,其实就是东八区时间。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(15)

勾选向导完成后运行此容器,点击完成,就完成了最初的搭建。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(16)

在容器中可以看到目前运行的时间,在编辑中有重启操作,我们接下来的很多步骤都需要在这里进行重启,如果你遇到了设置后homeassistant达不到预期目标,很可能就是没有重启。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(17)

输入你的NAS IP地址:8123,就可以打开homeassistant的初始界面了,默认端口号就是8123。

这里用户名可以是中文。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(18)

不过这样的界面你觉得如何?是不是很简单,内心毫无波澜,我们玩开源智能家居,除了整合不同平台的设备,美观也是非常看中的,如果界面太过于朴素,那为什么我不继续玩单一的米家呢?

homeassistant界面的美化

因为开源,网上有很多超级大神做的UI美化包,拿来所用,岂不美哉,当然如果你有更强的设计动手能力,也可以自己制作更好的主题,并且更换。

主题的更换,包括我们后期很多设备接入智能家居,都需要一个homeassistant智能家居平台的一个内部商店,你可以理解为有了这个商店,我们才可以在这个商店内找到很多资源,才可以进行下去。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(19)

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(20)

在安装hacs这个商店之前,我们需要在群晖的homeassistant根文件夹下创建一个自定义组件的文件夹,命名为custom_components,在这个自定义组件文件夹下新建hacs的文件夹。

这里其实还需要创建一个WWW的文件夹。

接下来需要下载HACS,玩homeassistant,我们需要经常访问的一个网站叫做github,这个网站你可以理解为一个面向开源以及私有软件项目的托管平台,是程序猿心中的YYDS,是神。

HACS以及很多资源,都是从github上获取的,这里也需要注册一个账号,后续都会用到。

访问https://github.com/hacs/integration/releases/,获取最新版本的HACS。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(21)

下载好的HACS文件夹是一个压缩包,直接解压,并且拷贝所有的文件到我们刚才新建的HACS文件里就好。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(22)

重启容器,就是我刚才提及到重启方式。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(23)

进入到homeassistant中,在配置中找到集成。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(24)

如果你操作步骤都没有问题,可以在设置新集成中搜索到HACS,如果还是搜索不到,那么就是出错了,或者没有重启。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(25)

搜到HACS继续下去,这里会弹出一个激活窗口,建议搜之前先在github上登录自己的账号。

弹出激活窗口后会收到一串激活码,点击界面上出现的链接,在链接中填写刚才的激活码就可以激活设备了。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(26)

出现HACS区域选项就意味着成功了。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(27)

此刻我们的左边栏就多了HACS这个商店了,在商店里可以找到很多我们需要的东西。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(28)

这个是正常的表现,稍等片刻就行,右侧的前端就是我们要获取精美UI需要关注的。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(29)

如果出现这个流量超限提示,那么安心去睡个觉什么的,第二天再继续。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(30)

在前端中只勾选主题,可以找到很多主题,我这里用的是一个比较知名大神做的IOS Dark mode and light mode主题。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(31)

选择下载就行了,正常情况下可以直接安装成功,重启后就能在界面设置端选择新主题。

但是,如果你的网络不是很好,或者奇奇怪怪的原因导致无法安装成功,那就需要自己手动安装主题了,这个稍微有一点复杂。

内置下载安装失败的手动安装

首先是我们需要自己去下载这个主题,在主题介绍的界面有链接,直接点进去就可以看到文件包。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(32)

下载按钮在右侧的code上,下载后我们其实只需要其中的themes文件夹中的文件。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(33)

在homeassistant中新建一个主题文件夹,themes。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(34)

此刻我们打开下载之后需要的themes文件夹,这些文件就是我们需要的。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(35)

在我们刚才新建的themes文件夹下再建立一个和配置文件同名的文件夹,为ios-themes,将刚才的文件全部拷贝到这里。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(36)

然后我们需要修改一个配置文件,在根目录下,为configuration.yaml。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(37)

修改配置文件需要群晖docker下的一个文本编辑工具。

或者你可以将文件下来在win中使用notepad 编辑器修改后覆盖上传,不能使用自带的文本编辑器,会出现问题。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(38)

在这个配置文件里增加两行就可以。

frontend: themes: !include_dir_merge_named themes

这两行代码就是让系统理解我们在新建文件里的配置文件。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(39)

重启后就能选用其他主题了。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(40)

是不是好看了很多?

接入智能家居设备(米家系)

接下来我们要进行智能家居设备的接入了。

HA本身代码是开源的,只要支持标准的蓝牙mesh和wifi都可以接入HA。

如果你的设备是米家系,那么可以直接使用大神的高度集成插件的方式,直接一次性接入。

如果你的设备是一些常见体量很高的设备,也同样可以使用大神们早已搞定的方案接入,有些甚至已经集成到了官方APP中,可以直接授权接入到homeassistant中。

如果是一些小众设备,支持wifi接入的,需要通过一些手段去获取这些设备的一个关键key,配合IP地址去实现接入。

不过随着厂商们出于自身利益的考虑,很多设备无法去获取这个关键参数,想要玩开源,可能真的需要从DIY传感器开始了。

这次我们先从最简单的开始,也就是大神做的米家系高度集成插件,接入米家的设备可以全部打包接入到HA中。

一次性讲解太多复杂的内容可能导致弃坑。

这个大神制作的集成插件名称是xiaomi mioT。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(41)

在配置中的集成是可以添加插件的,但是xiaomi mioT直接搜索是没有的,需要我们在HACS商店中先添加这个插件。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(42)

同美化界面一样,HACS这次需要点击集成去搜索xiaomi mioT。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(43)

不过这次是国内大神制作的插件,有中文版,正常情况下搜索到直接安装即可。

如果和美化UI一样安装失败,插件作者也贴心的给出了手动安装的方法,这里我就不详细介绍了,中文写的明明白白。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(44)

安装重启容器后此刻在配置中就能找到xiaomi mioT。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(45)

两种方式可以接,第一种是最轻松,小白也可以快速搞定的接入方式,通过小米账号,但是这种方式会接入所有你小米账号下的设备,包括不在局域网中,其他环境中的米家设备。

而且这种方式也会受到账号本身的一些限制。

第二种是通过IP/token,需要自己去用手段搜索设备的token添加,不是很复杂,但是数量上,像我动辄几十个设备就比较吃力,但是后期基本还是走这条路。

这里就聊第一种,也是最合适小白的。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(46)

勾选中后可以选中需要接入的智能家居设备。

home assistant添加群晖 基于群晖轻松玩转开源homeassistant智能家居前期搭建(47)

不过我这里只是演示下,详细的后续添加和设定自动化场景要在我手动token接入HA中另起炉灶,单独出一篇后续。

总结

相对于早期HA需要手动添加代码,和安装中大量代码的复杂方式,现在的HA对小白非常友好,基本上可以按照步骤一步一步来,有一点点基础就能搞定。

下一篇属于后续的局域网接入,包括一些非米家系设备,自动化场景,以及更深的优化美化UI界面,属于进阶教程。

,