Docker+HomeAssistant+HACS+设备接入教程
Docker+HomeAssistant+HACS+设备接入教程
homeassistant久仰大名,据说可以一统各大物联网平台的设备,家里各平台的设备都有一点,控制起来很不方便,于是乎我也来尝尝~ homeassistant官网 HACS
准备
1.Linux系统(Window)其实也类似 2.安装好docker
docker安装homeassistant
官方有几个版本可供选择,安装方式可以:直接刷HA的系统,也可以用Docker安装,还可以直接安装在物理机上,具体区别如下:
中提供的镜像估计是docker私服,镜像地址是ghcr.io/home-assistant/home-assistant:stable
,所以下载速度比较慢(不,是很慢=。=) 然而在,所以可以从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即可,但需要注意的是,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了
homeassistant接入设备
有了HACS,就可以很方便接入设备了~以接入某米的设备为例
在HACS搜索,出现了很多插件,MIoT这个就适配了不少设备,就用它来吧
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;
}
}