操作场景
Home Assistant 是一款使用 Python 语言开发的家庭自动化平台,代码开源。您可使用通过 Home Assistant 搭建属于个人的智能家居平台。本文以 CentOS 7 操作系统的腾讯云轻量应用服务器为例,手动搭建 Home Assistant 平台。
示例软件版本
使用 Docker 应用容器引擎可以让 Home Assistant 的部署更加方便快捷,也更易于管理。腾讯云提供了 Docker 基础镜像,可以免去安装 Docker 的步骤,实现快速部署容器化应用。Mosquitto 是一个轻量级的MQTT服务应用,实现了MQTT协议版本3.1和3.1.1,它将负责终端设备与 Home Assistant 间的通讯。
- 镜像版本:CentOS7.6-Docker20
- Docker:20.10.12
- Home Assistant:core-2021.11.3
- Mosquitto:1.6.10
安装和配置Mosquitto
安装
代码语言:javascript复制yum install mosquitto
配置
添加用户
- 格式:sudo mosquitto_passwd -c [文件路径] [用户名]
sudo mosquitto_passwd -c /etc/mosquitto/pwdfile [用户名]
- 输入用户密码
- 再次输入用户密码
修改配置文件
- 目标是禁止匿名登录,并且设置用户密码文件路径。
配置文件路径:/etc/mosquitto/mosquitto.conf
- 用nano或者vim编辑这个文件,去掉如下两行语句注释,并且设置值
#设置不允许匿名登录
allow_anonymous false
#设置账户密码文件位置为:/etc/mosquitto/pwdfile
password_file /etc/mosquitto/pwdfile
启动服务,设置自启
- ps. 每次修改完配置都要重启服务才生效
# 自启动
> sudo systemctl enable mosquitto
# 运行服务
> sudo systemctl start mosquitto
设置腾讯云防火墙
- MQTT 使用1883端口通信,新建规则,开放1883端口。
安装和配置 Home Assistant 智能家居平台
安装
代码语言:javascript复制docker run -d --net="host" --name="ha" --restart=always --privileged=true -v ~/homeassistant:/config -p 8123:8123 -e TZ="Asia/Shanghai" homeassistant/home-assistant:latest
配置
设置腾讯云防火墙
- 新建规则,开放8123端口
配置 Home Assistant 账户密码
- 进入http://[服务器IP]:8123,输入用户名密码设置账户。
配置 Home Assistant 集成,添加外部 MQTT 服务
- 进入继集成页面
- 找到 MQTT 集成,进入配置界面
- 填写 MQTT 服务器信息,服务器为本机公网IP,用户名密码为安装Mosquitto时设置的用户名密码
- 如果配置正确,可以看到如下提示
至此,HomeAssistant智能家居平台搭建完成
使用效果展示
PC端WEB面板
手机APP端展示结果
温度历史