homeassistant久仰大名,据说可以一统各大物联网平台的设备,家里各平台的设备都有一点,控制起来很不方便,于是乎我也来尝尝~
homeassistant官网 https://www.home-assistant.io/
HACS https://github.com/hacs/integration
准备
1.Linux系统(Window)其实也类似
2.安装好docker
docker安装homeassistant
官方有几个版本可供选择,安装方式可以:直接刷HA的系统,也可以用Docker安装,还可以直接安装在物理机上,具体区别如下:
我采用的是Docker进行安装,也就是Container
,从上图也可以看到,直接刷系统功能是最全的,而用Docker容器的方式最方便,但是就没法用Supervisor
,被阉割掉了一些系统管理、监控等功能,等有空再试试吧(咕咕咕~)
HA官方安装教程中提供的镜像估计是docker私服,镜像地址是ghcr.io/home-assistant/home-assistant:stable
,所以下载速度比较慢(不,是很慢=。=)
然而在dockerhub也能找到HA官方上传的镜像,所以可以从docker官方直接拉取镜像,docker换成国内源之后就快了
docker要换成国内源可以编辑
/etc/docker/daemon.json
来更换,如果没有这个文件就创建一个,然后添加想要的源,我的是这样的,供参考:
{
“registry-mirrors” : [
“https://registry.docker-cn.com”,
“https://docker.mirrors.ustc.edu.cn”,
“http://hub-mirror.c.163.com”,
“https://cr.console.aliyun.com/”
]
}
然后重启docker服务即可systemctl restart docker.service
拉取最新镜像
docker pull homeassistant/home-assistant
如果需要稳定版本
docker pull homeassistant/home-assistant:stable
启动命令
docker run -d \
--name homeassistant \
--privileged \
--restart=unless-stopped \
-e TZ=Asia/Shanghai \
-v /data/homeassistant:/config \
--network=host \
homeassistant/home-assistant
-v /data/homeassistant:/config
这一项需要根据自己实际情况修改,即把自己物理机某文件夹挂载到容器内,我是建了个文件夹/data/homeassistant
来存放HA的文件
如果pull稳定版本,记得最后面是
homeassistant/home-assistant:stable
镜像官方有多个编译版本,会自动适配,我在树莓派(ARM)和云服务器(x86)都部署了,命令是相同的,不需要区分CPU架构
启动完成后,根据提示配置就可以了~
成功启动~!
安装HACS
HACS(Home Assistant Community Store)是HA的第三方应用商店,有很多dalao们写的各种插件,可以连接各大物联网平台(某米某猫等)的设备,是一个必装的集成
前面我也说了,我的HA相关文件都放到了/data/homeassistant
下,所以下面的命令要根据自己实际情况进行调整
mkdir /data/homeassistant
mkdir /data/homeassistant/www
mkdir /data/homeassistant/custom_components
mkdir /data/homeassistant/custom_components/hacs
说明一下,上面创建的几个文件夹都是为安装HACS而准备的,/www
是存放未来HACS安装的各种首页磁贴啥的(官方叫Lovelace ),/custom_components/hacs
是存放等会要安装的HACS文件
接下来就是下载HACS相关文件进行安装了
一般来说,直接从HACS的github下载最新的releases即可https://github.com/hacs/integration/releases/,但需要注意的是,HACS对HA的版本有要求,如果你安装的是低版本的HA,是没法装高版本的HACS的,我云服务器装的是2021.12.8 stable版的HA,没法用最新的HACS,所以尝试了几个版本发现1.22.0可用,而树莓派安装的是最新的HA,就安装最新的HACS。所以如果安装失败,可以适当降低版本
cd hacs
wget https://download.fastgit.org/hacs/integration/releases/download/1.22.0/hacs.zip
unzip hacs.zip
我用CentOS和Raspbian都自带了unzip解压,木有的话自行安装unzip或者其他解压程序哈,不赘述
解压完毕,需要重启HA
这个时候就可以在【配置】–> 【设备与服务】–>右下角【添加集成】中搜索到HACS了
添加后,根据提示一路配置下去
需要绑定到自己的github账号,建议提前登录好自己的github后,再点击上面的链接(注意自己当前网络环境能否登上~)
输入一串密钥后,就可以绑定自己的github账号到HACS
绑定完成后HA会有提示,如果还是一直在转圈那就多试几次,提前登录好账号的话基本上可以一次搞定
然后左边的菜单栏就有HACS了!如果没有的话重启HA也会有了
homeassistant接入设备
有了HACS,就可以很方便接入设备了~以接入某米的设备为例
在HACS搜索,出现了很多插件,MIoT这个就适配了不少设备,就用它来吧
添加插件后,就可以输入自己的账号用户密码,然后就能添加自己账号下的设备到HA了
简单地添加到首页看看
good~这样的话就可以用HA,把各大平台的设备都添加进来统一管理啦!
homeassistant App
HA官方提供了APP,iOS和Android都有,可自行下载~
https://www.github.com/home-assistant/iOS
https://github.com/home-assistant/android
温馨提示:
App需要填入自己的HA地址,所以如果服务跑在家里的话,需要内网穿透或者公网才能在外面使用噢~
如果HA内网穿透,configuration.yaml
需要加上下面内容,同时内网穿透服务器(如ngrok、frp等)的nginx需要开启websocket
支持,否则会出现外网无法访问、能访问但是无法登录等问题。
HA配置文件configuration.yaml
http:
use_x_forwarded_for: True
trusted_proxies:
- 127.0.0.1/24
- ::1/128
nginx配置参考(用frp内网穿透)
server {
listen 80;
server_name *.frp.yourdomain.cn frp.yourdomain.cn;
location / {
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 下面两行提供websocket支持,homeassistant需要
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:8080;
}
}