【好玩的开源项目】Docker下部署HomeAssistant智能家居系统
- 一、HomeAssistant介绍
-
- [1.1 HomeAssistant简介](#1.1 HomeAssistant简介)
- [1.2 HomeAssistant特点](#1.2 HomeAssistant特点)
- 二、本地环境介绍
-
- [2.1 本地环境规划](#2.1 本地环境规划)
- [2.2 本次实践介绍](#2.2 本次实践介绍)
- 三、本地环境检查
-
- [3.1 检查Docker服务状态](#3.1 检查Docker服务状态)
- [3.2 检查Docker版本](#3.2 检查Docker版本)
- [3.3 检查docker compose 版本](#3.3 检查docker compose 版本)
- 四、下载HomeAssistant镜像
- 五、部署HomeAssistant智能家居平台
-
- [5.1 创建挂载目录](#5.1 创建挂载目录)
- [5.2 创建HomeAssistant容器](#5.2 创建HomeAssistant容器)
- [5.3 检查HomeAssistant容器状态](#5.3 检查HomeAssistant容器状态)
- [5.4 检查HomeAssistant容器日志](#5.4 检查HomeAssistant容器日志)
- 六、HomeAssistant初始配置
-
- [6.1 设置用户名与密码](#6.1 设置用户名与密码)
- [6.2 设置基本信息](#6.2 设置基本信息)
- [6.3 收集信息](#6.3 收集信息)
- [6.4 完成初始配置](#6.4 完成初始配置)
- 七、访问HomeAssistant
一、HomeAssistant介绍
1.1 HomeAssistant简介
Home Assistant是一个自由开源的智能家居自动化平台,它可以控制并监测各种智能家居设备、传感器和其他物联网设备。Home Assistant可以运行在树莓派、NVIDIA Jetson Nano等低功耗设备上,使用户可以快速搭建自己的智能家居系统。Home Assistant支持数百种设备和平台,同时提供Web界面、Android和iOS应用程序以及API接口,供用户进行控制和监测。Home Assistant 还提供了强大的自动化功能,可以自动化处理各种家庭场景,例如灯光控制、温度调节、安防监控等。总之,Home Assistant是一款功能强大而又易于使用的智能家居自动化平台。
1.2 HomeAssistant特点
Home Assistant是一个开源的自动化系统,它提供了许多特点:
-
灵活:Home Assistant支持多种智能家居设备和平台,包括Zigbee、Z-Wave、Wi-Fi、RF等,使你的智能家居更加灵活。
-
自由:Home Assistant是开源的,它提供了一个自由的平台,让用户可以自由地修改和定制。
-
可扩展性:Home Assistant支持插件式的扩展,用户可以根据需要安装适当的插件来满足自己的需求。
-
安全性:Home Assistant提供了安全性保护措施,包括SSL/TLS加密、两步验证等,保证了系统的安全性。
-
强大的自动化:Home Assistant提供了强大的自动化功能,可以根据用户的需求自动完成一系列的任务,如自动开关灯光、控制温度、监控安全等。
-
移动支持:Home Assistant提供了移动APP,可以随时随地控制家居设备。
-
多语言支持:Home Assistant支持多种语言,包括英语、中文、法语等,方便用户选择自己熟悉的语言。
二、本地环境介绍
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为centos7.6。
hostname | IP地址 | 操作系统版本 | Docker版本 |
---|---|---|---|
dokcer | 192.168.3.166 | centos 7.6 | 2 20.10.17 |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下HomeAssistant智能家居系统。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
bash
[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2023-11-01 16:47:28 CST; 2h 4min ago
Docs: https://docs.docker.com
Main PID: 9988 (dockerd)
Tasks: 22
Memory: 147.1M
CGroup: /system.slice/docker.service
3.2 检查Docker版本
检查Docker版本
bash
[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
bash
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0
四、下载HomeAssistant镜像
从docker hub拉取HomeAssistant镜像
bash
[root@jeven ~]# docker pull homeassistant/home-assistant:latest
latest: Pulling from homeassistant/home-assistant
a0d0a0d46f8b: Pull complete
d567b0a8a3d8: Pull complete
8e962a5cc883: Pull complete
7a7e58b8c695: Pull complete
3a54af39c26b: Pull complete
22cc6fc9aa0a: Pull complete
5a61d8e557df: Pull complete
c72924640d9e: Pull complete
4e99633ee711: Pull complete
482621e4117c: Pull complete
cad0dcfb7d48: Pull complete
02f62869bfe2: Pull complete
e7abe960e15b: Pull complete
ca147e4c5a90: Pull complete
348313674aef: Pull complete
882bba681f42: Pull complete
fd24487b4af5: Pull complete
d54dbfc3617c: Pull complete
8929cf1cf783: Pull complete
61ec4587fb6b: Pull complete
e6cb8c968c6f: Pull complete
bec28da251c3: Pull complete
4d6fa8a0042f: Pull complete
4e56e5cf2921: Pull complete
c43a64d5c8cb: Pull complete
046e0d768d75: Pull complete
77dbf3cf1171: Pull complete
bd426e9002a0: Pull complete
Digest: sha256:81d381f5008c082a37da97d8b08dd8b358dae7ecf49e62ce3ef1eeaefc4381bb
Status: Downloaded newer image for homeassistant/home-assistant:latest
docker.io/homeassistant/home-assistant:latest
五、部署HomeAssistant智能家居平台
5.1 创建挂载目录
创建挂载目录
bash
mkdir -p /data/homeassistant/config && cd /data/homeassistant/
设置挂载目录权限
bash
chmod -R 777 /data/homeassistant/
5.2 创建HomeAssistant容器
使用docker-cli快速部署HomeAssistant容器
bash
docker run -d \
--restart always \
--name homeassistant \
-v /data/homeassistant/config:/config \
-e TZ=Asia/Shanghai \
-p 8123:8123 \
homeassistant/home-assistant:latest
使用docker compose运行HomeAssistant容器
yaml
version: '3'
services:
homeassistant:
image: homeassistant/home-assistant:latest
container_name: homeassistant
restart: always
volumes:
- /data/homeassistant/config:/config
environment:
- TZ=Asia/Shanghai
ports:
- "8123:8123"
- 使用docker-compose.yaml文件创建slash容器
bash
docker compose up -d
5.3 检查HomeAssistant容器状态
检查HomeAssistant容器状态,确保HomeAssistant容器正常启动。
bash
[root@jeven homeassistant]# docker compose ps
NAME COMMAND SERVICE STATUS PORTS
homeassistant "/init" homeassistant running 0.0.0.0:8123->8123/tcp, :::8123->8123/tcp
5.4 检查HomeAssistant容器日志
检查HomeAssistant容器日志,确保HomeAssistant服务正常运行。
bash
[root@jeven homeassistant]# docker compose logs
homeassistant | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.
homeassistant | [s6-init] ensuring user provided files have correct perms...exited 0.
homeassistant | [fix-attrs.d] applying ownership & permissions fixes...
homeassistant | [fix-attrs.d] done.
homeassistant | [cont-init.d] executing container initialization scripts...
homeassistant | [cont-init.d] done.
homeassistant | [services.d] starting services
homeassistant | [services.d] done.
六、HomeAssistant初始配置
6.1 设置用户名与密码
访问地址:http://192.168.3.166:8123/,将IP替换为自己服务器IP地址。设置用户名与密码,自定义设置即可。
6.2 设置基本信息
设置安装名称,时区、货币等信息,自定义设置即可。
6.3 收集信息
可以勾选不同要求的信息收集,这里不勾选,选择"下一步"。
6.4 完成初始配置
点击"完成",完成HomeAssistant初始配置。
七、访问HomeAssistant
初始化完成,自动跳转到HomeAssistant首页。