以下简要说明个人使用homeasistant(简称HA)的过程以及遇到的坑。
我在网上找的homeassistant的教程很多都是几年前的,但是homeassistant的更新非常的频繁,虽然我也没看出来出现多少新功能了。

Home Assistant 介绍

谷歌解释:Home Assistant is an open-source home automation platform that focuses on privacy and local control.

是一个开源的家庭自动化控制管理平台。(这里就存在一个限制,一个HA只能用于一个家庭)

HA的用途

目前我们想要远程控制家里的电器等设备,首先需要购买智能家居,而智能家居市场上存在许多家居生态(米家、天猫、homekit、博联…),但他们质量层次不齐,并且各自有自己的协议,不同生态之间并不互通。因此购买的时候就会出现必须买同一家生态的设备的限制。
如果你全都要,那就可以用HA折腾折腾。HA可以作为桥梁,把市场上现有的生态集成到一起控制。被控制的设备不局限于市面上的,还可以是你自己买的wifi模块(esp8266)。
来自https://sspai.com/post/60414
Homeassistant:不仅仅是更优秀的智能家居解决方案 - 少数派

HA的结构

HA本质上分为三层:core、supervisor、OS。主要能为我们提供服务的东西就是core,其实就是个软件应用。supervisor是软件的管理层,有这一层我们才能安装Add-on(其他应用的总称,HA中的所有Add-on是和core平级运行的软件)。HAOS是HA他们自己搞出来的系统,这意味着你的设备就算连个操作系统都没有,它也能在上面运行。
因此它的安装版本是很灵活的,如果你没什么特别的需要可以只安装个core。

前排提示

如果你没有多余的可用设备,可以使用电脑虚拟机先试试,但是真正使用还是要搞一个常开设备。
如果不是在没有操作系统的设备上直接烧入HAOS,一般就是在linux系统环境搭载HA,这就需要懂一点linux指令和架构和远程ssh访问操作。那既然是在linux上安装就免不了使用docker。
HA毕竟国外的平台,很多资源可能需要通过国内镜像获取,或者科学上网。
大概率需要github账号。
需要懂一点计算机网络原理(IP地址、局域网部分)。

在什么设备上安装HA

HA是我们自己为自己提供的服务,需要像商家服务器那样准备一个服务器来搭载和运行HA,其实就是需要一个运行设备(NAS、软路由、树莓派、PC、root过的安卓手机、阿里云…),HA理论上可以安装在任何机器上,不过还是按官方文档的推荐比较稳。HA配置要求也不高,并且如果我们要一直使用它就需要机器一直开着,因此最好是有一个功耗很低很省电的设备来搭载HA。

电脑开个虚拟机安装HA

我在还没有设备用的时候先用这种方法尝试体验过HA,官方是提供了各个虚拟机的HA系统的,我尝试过用VMware Workstation和Ubuntu,跟着文档一步步来就没问题。
(但是没有科学上网环境的话下载会非常的慢,国内镜像暂时没有找到)
电脑一直开着还是很耗电的,如果真的要使用HA还是得买功耗小的设备。

安卓手机上搭载HA

这个方案只建议那些有一个旧的安卓手机并且喜欢折腾的同学使用,毕竟直接拿自己在用的手机root再折腾风险还是有点高的。
另外我并没有成功,但是整理了一些教程,提供参考。

关于root

建议使用小米、一加、魅族等官方支持解锁并且提供刷机包的厂商。网上瞎找的刷机包大多作者是携带私货的,可能会把一些垃圾软件设置成系统软件,删起来就很麻烦。
我最开始是打算把好几年前的honor9lite给root了当运行设备。但是华为早在2018年就关闭了官方bl锁解锁渠道。这都2022了,也不知道openkirin的意义在哪里。目前唯一渠道是找万能某宝帮你,解个锁30好几的,他明明可以直接抢我的钱,但还是帮我接了个锁。

root参考教程:
玩机必看!带你入坑安卓刷机,小白也能看懂的ROOT基础指南来啦!_哔哩哔哩_bilibili

root后安装HA

root之后我尝试了网上的一些教程安装HA,但大多是通过使用linux的模拟软件来安装HA,这些软件运行配置时间比较久,命令行界面对手机也不友好。如果你没有科学上网的环境,大概率也会因为网络原因安装HA失败。

安卓安装HA参考教程:
小白从零开始:一台安卓手机安装homeassistant将米家设备接入苹果homekit_软件应用_什么值得买 (smzdm.com)
安卓手机安装HomeAssistant(无需Root,不含Supervisor) - 掘金 (juejin.cn)

树莓派上安装HA

树莓派(其实就是一个小型电脑主机)是对新手来说比较推荐的,因为某种意义上比其他设备要“便宜”(目前第4代800~900),而且网上大多数教程是针对树莓派的。(买了以后我才知道斐讯n1盒子也可以搭载HA并且只要小几百…)

树莓派在拿到手的时候是没有操作系统在里面的。此时你面临一个选择:
1、直接将HA烧录进树莓派。(这样树莓派暂时只能运行HA)
2、先安装树莓派官方的系统(基于linux debian系统)再安装HA。(比较麻烦)

树莓派直接烧录HA

这个是官方推荐操作,直接看官网就可以。
不过也有网易视频教程:HomeAssistant智能家居实战篇 - 网易云课堂 (163.com)
国内HA树莓派镜像:HASSOS国内镜像

树莓派利用docker安装HA

你可以在树莓派官网上找最新的(32位)系统(3代和4代其实已经支持使用64位系统,但是官网为了兼容前两代的树莓派还是提供的32位升级方法:树莓派更新64位内核 - 知乎)并跟着教程安装。安装完成后需要配置你的树莓派系统账号、开启ssh权限等。

有个很离谱的点,官方文档默认你有显示器可以连接树莓派,但是谁使用树莓派会用显示器连着用…在刚启动系统的时候可能需要连显示器然后鼠标点击来进行初始化配置…巧的是我刚好有显示器。所以没显示器的情况建议自行搜索一下其他办法。

官方提供的第二个安装方式是用docker-compose安装HA,但是这个方式安装的HA没有supervisor,没有supervisor意味着无法通过Samba(一个Add-on)安装HACS社区,也就不能安装社区大神做的Xiaomi MIoT集成(这个集成可以通过登录小米账号获取你的米家设备,比HA自带的功能更完善)

于是我另外找了一个可以安装supervisor的教程,这个博主的blog真的好看欸:
详解树莓派上如何安装Home Assistant Supervised - Mintimate’s Blog

但是我到最后一步会出现安装不上的报错(因为网络问题,所以玩HA还是需要一点科学上网的条件的)

云端服务器上安装HA

如果自己不想买个设备一直放着也可以考虑一下云端服务器…阿里云和腾讯云都有新人限时优惠,但是正常收费时间久了并不一定比买个树莓派便宜。而且云端服务器存在网络延迟问题,添加集成也会比本地麻烦。但是好处是你可以人在外面控制家里的设备,不需要单独做内网穿透。
像阿里云提供的服务器是linux的操作系统,安装操作基本跟树莓派是一样的。

使用HA

HA自带一个web界面的操控入口,安装完成并运行以后可以直接通过树莓派的ip+8123端口访问HA的web界面,刚进入会需要注册管理员账号。在概览界面可以看出来,HA本身是可以作为控制端的,你可以直接在这个界面上控制设备。
在这里插入图片描述
而且因为是web界面,这意味着手机可以连接wifi后通过浏览器访问这个ip地址进入操控界面。不过homeassistant也有官方app,不过app里面也是通过ip地址访问。
在这里插入图片描述
在这里插入图片描述

Add-on

有几个比较有用的Add-on需要提一下(部分Add-on需要开启在个人主页开启高级模式才能看到)
1、Samba share,将HA的配置文件共享到局域网,可以用电脑访问设备ip进入,方便我们把本地下载的资源放进去。
2、File Editer,配置文件编辑器,其实用Samba share也可以看到配置文件,但是直接用这个写比较方便。
3、SSH&Terminal,HA命令行界面,可以通过指令控制和下载东西,比如下载HACS社区商店,但事实上没有科学上网基本也下不了,最后还是会用github下载然后再通过Samba放进去。
网易云课堂有使用教程:
HomeAssistant智能家居实战篇 - 网易云课堂 (163.com)

HA接入其他生态

HA通过集成(integration)接入其他生态。
在这里插入图片描述
集成相当于用于建立连接的组件,通过这个组件可以与其他设备进行数据交换,组件是由homeassistant的社区开发者共同开发的,所以不同组件质量和水平是层次不齐的。大部分集成HA是自带的,可以直接搜得到,有些需要在HACS社区里下载。

米家接入HA

安装HACS和Xiaomi MIoT

社区官网:Home Assistant Community Store | HACS
官方提供的代码安装方式无法访问,建议在官方页面左下角进入github下载地址。
下载hacs.zip文件,解压以后整个放入samba分享的文件config\custom_components(可能需要自行创建)文件夹中。
如果重启HA以后未找到HACS,可能需要清除浏览器缓存。

有了HACS以后就可以在HACS里面搜索XIaomi MIoT集成,点击集成会出现安装指引。(直接下载一般是下不过来的,根据指引下载再通过samba放入配置文件夹)

MIoT集成(来自HACS社区)可以通过登录你的小米账号直接获取到你的米家中的所有设备,并在米家添加新设备时马上发现。

也可以不登录账号,用IP+token的方式添加设备,但是需要先获取token,比较麻烦。
参考教程:获取米家设备的token
另外网易云课堂里也有获取token的教学视频,比较靠后,需要往下翻比较多。
HomeAssistant智能家居实战篇 - 网易云课堂 (163.com)
在这里插入图片描述
在这里插入图片描述

Homekit接入HA

homekit接入不需要登录账号,但是也存在限制,就是你的苹果设备必须可以作为家居中枢设备,没有下面这几个apple设备是无法接入HA的(还好我有ipad)。并且homekit的接入方式属于反向接入,homekit可以将apple的设备显示到HA,也可以将HA的设备显示到homekit(homekit自动发现不需要配置),这意味着可以把HA作为桥梁,用homekit控制其他生态的设备。
关于apple的中枢其实跟小米的网关不太一样:
为什么苹果 HomeKit 需要一个家庭中枢才能远程控制,而米家就不需要?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

博联接入HA

我购买了一个博联的万能遥控器(博联RM mini4),可以学习和发送红外和射频指令,用于控制空调。这是一个曲线救国的方式,因为寝室里的空调并不能直接联网,但是可以通过红外控制,所以我们可以购买一个可以联网的遥控器来替代原来的遥控器。
请添加图片描述
博联的集成接入就比较简单粗暴,直接通过ip地址连接,这意味着不能像大神做的MIoT那样使用官方的app功能,也无法通过商家的渠道发现新设备。博联的app数据库中是有空调的控制指令的,但是无法直接用HA来控制,要想HA控制还是得另外从遥控器学习红外指令,并在HA里面创建一个开关来控制。
在这里插入图片描述
在这里插入图片描述
博联参考教程:Homeassistant中使用博联万能遥控器的方法及探索过程分享_哔哩哔哩_bilibili

内网穿透

内网穿透就是为你的局域网服务器映射一个公网上的ip,这样你就可以人在外面通过移动网络控制家里的东西。
我的方案是买了个花生棒,是比较方便不折腾的办法,不过普通用户的限制就是只提供了两个设备的免费穿透,而且是动态端口。
请添加图片描述
这个时候树莓派有自己的系统就变得非常的重要了,商家文档提供了在树莓派上运行花生壳的方法,但并没有提供在HA上的运行方法。当然没有树莓派系统你也可以在其他设备上运行花生壳,只要配置ip映射的是树莓派就行,但是这意味着你得多搞个设备一直开着做内网穿透。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐