五年荣誉奖章 十年荣誉奖章 特殊贡献奖 金点子奖 原创精英奖 新人进步奖 首届动画大赛奖 第二届动画大赛奖 第二届动画大赛奖 [LCG]年度幸运奖 2012CM大赛活动勋章 百科全书奖章五年荣誉奖章 十年荣誉奖章 特殊贡献奖 金点子奖 原创精英奖 新人进步奖 首届动画大赛奖 第二届动画大赛奖 特殊贡献奖 金点子奖 原创精英奖 新人进步奖 首届动画大赛奖 第二届动画大赛奖 第二届动画大赛奖 [LCG]年度幸运奖 [LCG]年度幸运奖 2012CM大赛活动勋章 百科全书奖章

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;
     }
}

posted @ 2023-01-11 13:12  idemor  阅读(24720)  评论(0编辑  收藏  举报