Docker部署homeassitant

Docker部署homeassitant

image-20220216223114803

一、Docker介绍

我们知道,一台物理机需要运行多个程序,然而每个程序又需要各自不同的一堆依赖,所有程序全装上的话,整个物理机系统会变得混乱不堪,同时也容易出问题,使得我们后续维护比较困难。而如果利用docker,就可以直接下载一个镜像,投入使用,整个流程就变得简单了,详细介绍可以看官方文档。

image-20220217140850902

贴上地址:https://docs.docker.com/get-started/

二、部署homeassitant

本文采用的部署方式是:通过云服务器部署hass,之后通过hass集成小米智能家居设备。

准备一台云服务器

  • 操作系统:CentOS 7.7 64位

1、安装docker

连接上云服务器后:

贴下命令

# 先切换到root 用户,先安装一些基本环境:
yum install -y yum-utils device-mapper-persistent-data lvm2
#添加阿里云软件源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#然后安装 Docker 社区版
yum -y install docker-ce
#启动 docker
systemctl start docker  
#设定开机自动启动docker
systemctl enable docker   
#查看docker运行状态
systemctl status docker   
#查看 docker 版本信息
docker version

版本信息:

image-20220216225107325

  • docker 服务显示为绿色的 running 了,表示运行中

需要注意的是,docker 默认要求必须使用 root 用户或者 docker 用户组里的用户,才能进行操作

#把当前用户加入 docker 用户组
sudo usermod -a -G docker 用户名     
#重启 docker 服务
sudo systemctl restart docker       

2、安装portainer容器管理图形界面

  • portainer可以选择性安装,只是比较方便操作

    贴下命令:

#拉取最新镜像
docker pull portainer/portainer 
#运行容器
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
#参数说明:
-d:容器在后台运行;
-p 9000:9000:把容器的9000端口映射到宿主的9000端口,这是访问portainer管理页面需要用的端口
-v /var/run/docker.sock:/var/run/docker.sock :把宿主机目录挂载到容器中同样的位置
-v portainer_data:/data #把宿主机portainer_data数据卷挂载到容器/data目录

访问:IP+9000端口,就会看到 portainer 管理页面了

portainer 管理页面:

image-20220216225401982

3、部署hass

#拉取hass的最新版镜像(注意:根据自己需求选择对应版本,并不是越新越好)
docker pull homeassistant/home-assistant:latest
#创建容器并运行
docker run -d --name="hass" -v /home/hass/config:/config -p 8123:8123 -p homeassistant/home-assistant:latest
解释:
-d:表示在后台运行
–name:给容器设置一个名称,用于识别,这里起名叫做hass
-v:配置目录映射(容器内的指定目录直接映射到本地主机的对应目录,比如上面那句命令,意思就是将容器里hass的 config 目录映射到 /home/hass/config 这个目录里面)
-p:映射端口(将容器内的8123端口直接映射到物理机的8123端口,这样服务器的IP地址+端口号即可访问hass页面)
最后就是运行刚才下载的容器镜像了,对于其他的版本了,注意要加上tag,避免自动下载最新版本。

4、访问hass

  • 访问页面

image-20220217135925672

到此,hass就在云服务器就部署好了,下面通过Hass,连接智能设备,本文通过连接小米智能设备来演示。

三、连接小米智能家居设备

1、安装HACS

  • 安装HACS(Home Assistant Community Store,一个商店,集成丰富,依托于GitHub。
#进入hass目录,安装hacs
docker exec -it hass bash
wget -p -o - https://get.hacs.xyz |bash -
  • 重启hass

    image-20220217141659982

    image-20220217141739157

    经过与GitHub授权访问后,你可以将HACS添加进组件中了。

    hacs授权完成

2、安装xioami_miot

  • 通过hacs自动安装

    • 打开 Home Assistant 的 HACS 页面。
    • 搜索xiaomi_miot
    • 点击集成
    • 点击右下角的浏览并添加存储库
    • 在新打开的页面中找到Xiaomi MIoT,安装即可。
  • 手动安装

  1. 下载插件 zip 压缩包

    贴上: https://github.com/ha0y/xiaomi_miot_raw/archive/refs/heads/master.zip

  2. 依次打开压缩包中的xiaomi_miot_raw-master/custom_components文件夹。

  3. 将该文件夹中的xiaomi_miot_raw文件夹拷贝至自己 hass 安装目录的custom_components文件夹,即替换掉原来的xiaomi_miot_raw

  4. 重新启动 Home Assistant。

3、集成小米智能设备

  • 配置界面->添加集成->搜索xiaomi_miot->登录小米账号
  • 自动识别该账号下的智能设备
  • 添加

image-20220217144519709

现在,我们可以通过部署在云服务器上的Hass,来操控我们的小米智能家居设备了,所以索性买了灯泡和台灯试了试

image-20220217144631165

苹果用户的话,也可以直接下载Hass

当然,直接集成homekit,也可以同步小米的设备,能更方便的操作。大家可以试试

四、docker常用命令

附上docker常用的一些操作指令:

docker images 查看镜像
docker rmi 镜像id 删除镜像
docker ps-a 查看已有容器
docker start 容器id 运行容器
docke ps 显示所有运行中的容器
docker ps -a 显示所有容器
docker rm 容器 ID 或名称 删除容器
docker start 容器 ID 或名称 启动指定容器
docker stop 容器 ID 或名称 停止指定容器
docker restart 容器 ID 或名称 重启指定容器

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值