首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

家庭数字化系统 - 在树莓派上架设 Home Assistant

2024-12-17 来源:化拓教育网

本文索引:

Home Assistant 简介

前提条件

为了验证预期效果,最好提前准备好以下设备:

  • 一台安装了 Raspbian 系统的树莓派 3B+,安装指南可参考
  • 任何支持 HA 的智能设备一台,本文选用了 。

安装 Home Assistant

拉取 HomeAssistan Docker Image

$ docker run -d --name="home-assistant" -v /path/to/your/config:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/raspberrypi3-homeassistant
$ docker run -d --name="home-assistant" -v ~/.homeassistant:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/raspberrypi3-homeassistant

Unable to find image 'homeassistant/raspberrypi3-homeassistant:0.69.1' locally
0.69.1: Pulling from homeassistant/raspberrypi3-homeassistant
95d54dd4bdad: Pull complete
72bf7d76c392: Pull complete
9620ed938a4f: Pull complete
a16372392f2e: Pull complete
cd5a28710c58: Downloading [===================================>               ]  2.695MB/3.766MB
9b376789f5cb: Downloading [====>                                              ]   1.49MB/16MB
428cd24e8c1b: Download complete
3e7ded663f3a: Downloading [=>                                                 ]  45.59kB/2.24MB
5ad200a39e9a: Waiting
47c50281d4f4: Waiting
34a35918edbb: Waiting
ff968d62969e: Waiting
88d8e837fc65: Waiting
0048f1b252d1: Waiting
fe24e50f4c0c: Waiting
8a894406a1f7: Waiting
c521d5fa0262: Waiting
b87db931bad3: Waiting
faa8f2005c47: Waiting
0316d5cde9e4: Waiting
aca6725ed6a1: Waiting

# ...Docker 正从远程拉取所需的 image...

Digest: sha256:76d8f1dee1d372fee469f688275854865e12ca662d4090800bb1a3ea5cefdf0f
Status: Downloaded newer image for homeassistant/raspberrypi3-homeassistant:0.69.1
c360dbc77bede87b4eae2210d7b2df11c80f13a5acb227feaf53b3b8554ef2cd

安装完成后,HomeAssistantcontainer 已经开始运行:

$ docker ps

CONTAINER ID        IMAGE                                             COMMAND                  CREATED             STATUS              PORTS               NAMES
c360dbc77bed        homeassistant/raspberrypi3-homeassistant:0.69.1   "/usr/bin/entry.sh p…"   5 minutes ago       Up 5 minutes                            home-assistant

查看刚刚指定的配置文件目录,出现了以下文件及目录:

$ ls -l .homeassistant

-rw-r--r-- 1 root root      2 May 21 03:42 automations.yaml
-rw-r--r-- 1 root root   1800 May 21 03:42 configuration.yaml
-rw-r--r-- 1 root root      0 May 21 03:42 customize.yaml
drwxr-xr-x 2 root root   4096 May 21 03:42 deps
-rw-r--r-- 1 root root      0 May 21 03:42 groups.yaml
-rw-r--r-- 1 root root    106 May 21 03:43 home-assistant.log
-rw-r--r-- 1 root root 126976 May 21 04:11 home-assistant_v2.db
-rw-r--r-- 1 root root      0 May 21 03:42 scripts.yaml
-rw-r--r-- 1 root root    157 May 21 03:42 secrets.yaml
drwxr-xr-x 2 root root   4096 May 21 03:43 tts

config 目录(此处为 ~/homeassistant/)下的 configuration.yaml 是配置文件的入口点,其他由 yaml 为扩展名的配置文件均是为了实现独立管理而单独分离出来的文件,可在 configuration.yaml 文档中找到如下入口载入这些配置文件:

  customize: !include customize.yaml
  group: !include groups.yaml
  automation: !include automations.yaml
  script: !include scripts.yaml
成功启动的 Web UI 欢迎页面

HA 会自动查找接入同一网络中的智能设备,是因为 configuration.yaml 中默认配置了 Discovery 组件:

# Discover some devices automatically
discovery:

接入 HA 的设备无需打开相应的 App 进行绑定。

开机启动 HA Container

一切正常之后,每次重启树莓派必须手动执行 docker container start [Container ID]/NAME 的方式来启动 HA 服务,我们需要将其做成服务或加入开机启动脚本,编辑 /etc/rc.local 文件:

$ sudo nano /etc/rc.local

docker container start home-assistant

重启树莓派,HA 开机启动成功,至此,一个基本款的家庭 HA 搭建就完成了。

更新 HA

HA 目前仍然在快速迭代中,对应的 Docker Image 也会同步放出。要更新以 Docker Container 运行的 HA 实例,只要重新拉取最新版本的 Image 即可:


$ docker stop home-assistant
$ docker pull homeassistant/raspberrypi3-homeassistant
$ docker container rm home-assistant
$ docker run -d --name="home-assistant" -v /path/to/your/config:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/raspberrypi3-homeassistant

只要保持 containername 一致,已添加至开机启动脚本中的代码在更新完 Image 之后无需更改。

显示全文