一、HA 基础
1.1 啥是 HA,HA 能干啥
有的小伙伴会问,现在的智能家电都有对应的 APP,米家、HomeKit 等智能家居平台也能满足大部分人的需求,为啥还需要 HA?那是因为使用厂商提供的 APP,那只是智能家居的初级形态,也就是能实现联网手机控制,简单的场景联动,不同平台之间的设备无法互联互通,厂商现有的产品无法满足丰富多样的个性化需求。如果想要追求贾维斯那样真正的智能,就需要用到 HA 了。
Home Assistant是一个开源的智能家居系统软件,主要有两大功能:一是能接入所有平台的智能设备,打破不同厂商之间的壁垒,即使是不支持联网的传统家电,也可以通过 DIY 一些传感器和开关将其整合到 HA 中;二是可以自由地编程与控制,完全定制自动化场景,满足一切需求,万物互联,如你所愿。
其实对于大部分人来说,手上的智能设备也没几个,玩 HA 没多大必要,不过你可以在这个 demo网站 上体验一下 HA 的强大。
1.2 HA 安装方式
HA 是一个软件,需要安装到硬件上,就像 Windows 要装到主机上。如果你只是想体验下 HA,可以将 HA 装到你的 Windows 电脑上。一般来说 HA 是需要 24 小时运行的服务器,通常会将其部署到低功耗的 Linux 平台上,比如说 X86 架构的 NAS、迷你工控主机或者树莓派。
HA 官网有英文版各种平台的安装步骤。
每个平台都有不同的安装方式,按照功能由少到多分别是 Core、Container、Supervised、OS。
其中的一些功能名词解释:
Automations 是自动化,这是 HA 的灵魂;
Lovelace 是手机或者浏览器访问 HA 看到的前端界面,可以当成皮肤;
Blueprints 是来自社区的自动化和场景模板,为了降低自动化编写难度而生,通过蓝图可以快速创建家庭自动化实例;
Supervisor ,管理员,是用来管理和更新 Home Assistant Core,管理操作系统,管理 docker(HA 和加载项),以及管理前三者之前的 API 和互动。
Integrations 是集成/组件,是指把各种智能家居和服务接入到 HA 这个平台的方法和代码的专有名称,可以理解为官方插件;
Add-on 是加载项商店,可以下载 HA 社区或者第三方开发的许多插件。Integration 是 HomeAssistant 的组成部分,而 Add-on 不是。HomeAssistant 通过配置加载 Integration 程序,通过 Supervisor 管理 Add-on 的安装/配置/启停。
可以不用管这四种安装方式,目前要知道的是 HomeAssistant 的架构由应用程序 HomeAssistant Core、服务软件 HomeAssistant Supervisor 和操作系统 HomeAssistant Operating System 三部分组成,三套软件是相互独立的三个项目,有各自的版本号,可独立升级。
Core 作为控制中枢,其中包含连接各种不同外围设备的 Integration;Supervisor 管理与控制 Core、以及各种与 HomeAssistant 协同工作的软件——Add-on;
1.3 HA 方案选择
刚刚说到的不同平台有不同的安装方式,根据安装环境的不同,可以分为三大类安装方式:
在 python 环境或者 docker 中,仅安装HomeAssistant Core;
比如安装基于 Docker 容器的集成系统 Hass.io固件。安装到群辉 NAS 可以参考B站的这个视频,超详细的。
Hass.io 是一款 Home Assistant 特别定制的高集成度、图形化操作、易上手的 Home Assistant 系统。系统由
ResinOS 及 Docker 驱动,旨在简化 Home Assistant 的配置操作。在网上搜教程的时候经常会看到
Hass.io,不过官方的镜像文件更新停在了 2018 年,只支持到了树莓派 3。
在其它操作系统上,安装 HomeAssistant Supervisor 和 HomeAssistant Core,比如 Linux 系统,官方仅支持在 Centos 上直接安装 Surpervisor。
直接在硬件(或虚拟机)上完整安装 HassOS 系统。之前官方 OS 还没发布的时候,可以选择内置了 Home Assistant 的树莓派安装镜像 Hassbian 系统(已经停止更新)。或者选择HA中文文档站站长制作的 Hassbian 的中文本地化改版 Mossbian 系统(已停止维护)。还可以选择HACHINA中文网提供的 HASSOS 定制镜像(还在更新中);
官方推荐的安装方式是虚拟机、HassOS、或者仅在 python 虚拟环境中安装 core。
我准备将 HA 安装到树莓派 4B 上,无外乎两种安装方式:
其他操作系统为根系统,比如树莓派自家的 Raspbian 系统,手动进行安装HA。优点是 HA 只是这台树莓派提供的其中一项服务,树莓派还可以用作用途,比如部署 Wordpress 个人博客,或者部署 nextCloud 私人云盘。缺点是这种“套娃安装”,就像是在 Windows 里装一个 Linux 虚拟机,可能不太稳定,更新和维护没有官方 OS 及时。
第二种就是专机专用,直接安装 HassOS 系统,优点是安装简单,小白也能轻松上手,缺点是这台树莓派只能用来跑 HA 服务了,对于树莓派 4B 来说无所谓,如果是大几百的 mini 主机就有点浪费了。
二、安装 HA
我的这块树莓派 4B 是首发买的 2GB 版本,当时 300 出头拿下,现在树莓派的价格疯涨,都快成理财产品了。闲置许久,打算在树莓派 4B 上直接安装官方的 HassOS 系统,后面准备折腾下群晖 NAS 和软路由,到时候可以在 docker 或者在虚拟机里面装个 HA。
硬件准备:首发的树莓派 Type-C 供电设计有缺陷,需要一个 5V3A 电源,此外还要 16GB 以上的 microSD 卡+读卡器来安装系统,最好再准备一根网线。
装完 HA 后实测待机功率 3W,散热片温度 50℃,感觉还是有必要装一个带风扇的散热外壳的,缺点就是风扇声音太大了,不适合放在卧室。
2.1 安装 HassOS
在树莓派 4B 上安装官方的 HassOS 系统,安装步骤非常简单,跟装 Raspbian 系统一样,将镜像文件写入 SD 卡,插入树莓派开机即可。官网英文文档非常详细,英语不好的可以用 Chrome 浏览器自带的网页翻译。
首先格式化SD卡,下载 Balena Etcher 烧录软件。
可以选择在线安装,如果网络不好可以把镜像文件(haos_rpi4-64-7.1.img.xz)下载到本地,选择 64 位镜像文件和 SD 卡,点击 Flash。
等待几分钟,烧录完成,可能 Windows 会弹出来格式化 SD 卡弹窗,不能点。
等待烧录完成后弹出 SD 卡。
将 SD 卡插入树莓派,用网线连接到路由器,插电开机,等待几分钟打开浏览器输入 homeassistant.local:8123 如果一切正常的话就能进入HomeAssistant。HA 也就安装完成了。
第一个坑就来了,如果一段时间后打开浏览器还是没反应,或者打开网址却提示拒绝连接,就要外接一个显示器看下屏幕上的错误提示;或者看看能不能在路由器管理界面找到名字为 homeassistan 的设备,尝试用 ip:8123 访问。
如果连 HA 的网址都打不开,这边还是建议,,放弃吧…
首次打开 HA 网址需要初始化,提示等待 20 分钟。
实际经过几小时的漫长等待,终于进入到创建账户界面,输入账号密码后结果弹框报错,好在刷新后正常。
直接能识别出我的群晖 NAS 和华硕路由器,可以现在配置,也可以后面再说。
恭喜你,成功进入 HA 主页,万里长征第一步完成。
嫌文字太长不看的这里推荐一下 B 站 UP 我叫小纪的 7 分钟搭建 HomeAssistant 视频教程。
2.2 HA 主页介绍
HA 首页的侧边是菜单栏,右侧看到的是概览内容,里面能够看到刚才添加的路由器和 NAS 被分成了一大堆设备。菜单栏功能介绍如下:
概览:智能家居控制面板,也叫做仪表盘,可自定义卡片布局,是打开 HA 网页后看到的首页。
能源:监控家庭能源消耗情况,统计电力数据。
地图:可显示地理信息,如家、公司和家庭成员的位置信息。
日志:系统中各个实体的状态变化记录,如太阳升起和降落、灯的打开和闭合。
历史:以图像的形式显示各实体在某个时间段的状态信息。
媒体浏览器:将视频、音频和图像文件放在媒体目录中,就能在浏览器或支持的媒体播放器上浏览和播放这些文件。
开发者工具:包括实体状态、服务调用、显示模板以及事件触发的调试和开发。
配置:HA 配置页面,HA 所有可配置项基本可以在该页面找到。之前版本里的 Supervisor 菜单也移到了该界面。
通知:系统消息通知,如当系统检测到网络中存在可接入设备,会进行通知。
用户中心:用户自定义配置,以用户为单位进行配置,如系统语言、系统主题等。
每个菜单以及详情页的具体内容,我会在后面的内容里介绍。
最后点左下角头像,打开高级模式,以便获取更多的权限。
2.2 重启、关机与日志
HA 作为一个要 24 小时运行的系统,首页并没有提供开关机的快捷按钮,最好也不要直接给树莓派物理断电。前面说了 HA 由三部分组成,每部分是可以单独重启与关闭的。
core 的重启在配置-设置-服务控制中,相当于重启了一个应用程序,会重新加载一些配置文件。
比如修改一些配置信息需要重启后才能生效,可以先点击下检查配置,没问题后重启 core 即可。
Supervisor 和 System 的重启在配置-加载项、备份与 Supervisor 的系统页面中,在这里可以重启整个系统或者关机。
关闭 System 需要一点时间,点击关闭主机后不要立刻给树莓派断电,可以在电脑中 ping 下树莓派的 IP,等到没回复就说明彻底关机了。
同时这个页面的下方是日志信息,日后遇到的一些配置问题都可以在这里查看,你去 QQ 群或者论坛里问问题最好也带上日志信息的截图。
这里插个题外话,如果接下来想要玩好 HA 的话,最好能有个科学的网络环境,因为 HA 的每个插件和配置都离不开 GitHub,不能正常访问的话 HA 设置起来可以说是举步维艰。而且遇到问题了你也不知道是设置问题还是网络问题,科学的网络可以减少 80% 的问题。
三、关于侧边栏的 Supervisor 与 Add-ons
看网上的教程,包括比较新的一些视频教程,在树莓派上安装好 HassOS 后左侧边栏里就有了 Supervisor 选项,点进去就能看到加载项(Add-on)商店里有好多好多内容,接下来就是教你在 Supervisor 里安装各种 Integrations 和 add-ons。
而我的 HA 界面左侧栏却没有 Supervisor,然后就没有然后了。
后来在官方的Blog 中了解到,最新版本将侧边的 Supervisor 面板移除了,合并到了配置面板中。
看了眼更新频率,好家伙,一周几更,比 MIUI 还勤快,不过由于元旦假期,最新版要等到 2 月 2 日了。
打开 HA 界面,点击配置-第五项,就能发现“消失了的” Supervisor,点进去在右下角界面点击加载项商店,只能看到几个 Official add-ons(add-ons 可以理解为第三方的插件商店,具体使用方法见下一篇)。
要想获得更多的 add-ons,需要手动添加不同的 add-ons 仓库,点击右上角-仓库-添加一个加载项仓库,一些仓库链接如下,最常用的是社区库,其他的别管用不用的到,等网络好的时候赶紧添加了再说。
官方库:https://github.com/home-assistant/addons
官方HomeAssistant Add-ons同步更新仓库:https://gitee.com/hassiocn/addons
社区库:https://github.com/hassio-addons/repository
Zigbee2MQTT:https://github.com/zigbee2mqtt/hassio-zigbee2mqtt
视频检测: Frigate:https://github.com/blakeblackshear/frigate-hass-addons
媒体影音服务插件:https://github.com/petersendev/hassio-addons
房间综合检测 room_assistant:https://github.com/mKeRix/hassio-repo
因 github 国内无法正常访问,会导致插件加载不完全或无法添加成功,解决方案为:点击“加载项商店”--右上角“仓库(repo)”中填入国内镜像地址:https://hub.fastgit.org/hassio-addons/repository(仅供参考,未验证)
这下加载项商店里面的内容就变得丰富了。像 ESPHome、Node-Red 之类的插件就能直接搜到了。
四、小结
制作镜像 SD 卡,在树莓派上安装 HA,配置 HA 并添加插件仓库,以上内容如果一切顺利的话一个晚上就能搞定,而我第一次接触 HA,为了安装视频教程里的“SSH & Web Terminal”这个 Add-on 就花了整整好几天的时间。后来安装 HACS 和添加米家设备更是几经波折。
每个人遇到的问题千奇百怪,QQ 群和论坛里的大佬也没空没义务解答我们这些小白们的问题,对于想入门 HA 的萌新,我的建议是首先要有个科学的网络环境,然后有自己查资料的耐心,尤其是国外论坛,这样的话基本可以自行解决 90% 的问题,就是会比较耗时间, 这也是折腾的乐趣和意义。
后面我还会分享下常见 Add-ons 的安装与 Integrations 配置、Lovelace 界面美化、米家平台和基于 ESP8266 DIY 的设备的接入方法,场景联动的设置等,MQTT、Node-RED 等更高阶的内容等我学会了再更。