Home Assistant 折腾记录
一、Docker安装
- 以 root 身份运行以下命令
su -
安装依赖
apt install \
apparmor \
jq \
wget \
curl \
udisks2 \
libglib2.0-bin \
network-manager \
dbus \
lsb-release \
systemd-journal-remote -y
- 将
/etc/apt/sources.list
文件默认的源替换为镜像
deb https://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb-src https://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb https://mirrors.aliyun.com/debian-security/ bullseye-security main
deb-src https://mirrors.aliyun.com/debian-security/ bullseye-security main
deb https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
deb-src https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
deb https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib
deb-src https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib
sudo apt install git
#设置的命令会将镜像代理的前缀写入 ~/.gitconfig
git config --global url."https://ghproxy.com/https://github.com".insteadOf "https://github.com"
- 更新系统索引、更新软件包
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
# 使用阿里镜像源下载并安装Docker
sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
#1.启动docker
sudo systemctl start docker
#2.开机启动docker
sudo systemctl enable docker
#3.启动 Docker 守护程序
sudo systemctl start docker
#4.将当前用户加入 docker 组
sudo usermod -aG docker $USER
#5.查看用户组docker中有没有当前用户
sudo cat /etc/group | grep docker
二、Home assistant安装
下载os-agent
#查看 cpu类型
uname -m
#下载相应 cpu 架构的包
wget https://github.com/home-assistant/os-agent/releases/download/1.5.1/os-agent_1.5.1_linux_x86_64.deb
#安装
sudo dpkg -i os-agent_1.5.1_linux_x86_64.deb
运行安装脚本
#下载安装脚本
wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
#安装
sudo dpkg -i homeassistant-supervised.deb
-
会弹出弹窗选择 qemux86-64,开始安装 home assistant,会下载 docker 镜像,此步骤需要一段时间。
-
但是,这个时候
http://<IP>:8123
无法进入Home Assisistant Supervised的管理页面,你需要重启一次服务器
sudo reboot
#1.重新检查是否换源成功
docker info
#2.docker镜像加速,在 nano /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件),加速镜像地址可在此找 https://gist.github.com/y0ngb1n/7e8f16af3242c7815e7ca2f0833d3ea6
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
"https://docker.m.daocloud.io",
"https://dockerproxy.com"
]
}
#3.重新启动服务
sudo systemctl daemon-reload
sudo systemctl restart docker
- HomeAssistant Supervised 安装完成后,可以查看运行的docker容器(如果并没有Homeassistant容器;那么等10min~20min再试试,期间保持服务器运行,Homeassistant会组建初始化完成):
docker ps -a
- 这时候出现了7个容器,并且其中有NAMES为
homeassistant
这个容器,且进入http://<IP>:4357
,可以查看Supervised的状态
http://<IP>:8123
提示Preparing Home Assistant,如果一直卡在准备界面就等,一天不行就两天。查看容器配置
-
进入HomeAssistant容器配置目录,一般容器里
/config
被挂载到宿主机的/usr/share/hassio/homeassistant
-
为配置方便,可以把config文件夹软连接至
home
目录:
sudo ln -s /usr/share/hassio/homeassistant $HOME/homeassistant_config
- 这样可以更方便地更改HomeAssistant的配置文件。如果服务器不可达,可以尝试安装Samba服务器插件。不过我本身主机配置过samba,就不通过SMB插件管理配置文件了。
整个HASS系统在
/usr/share/hassio
,通过Supervisor备份配置时,便会打包/usr/share/hassio
。需要系统迁移时,可以将/usr/share/hassio
拷贝至目的主机,然后使用HomeAssistant Supervised的安装脚本安装。
三、HACS插件商城
米家设备可以直接安装GitHub hass-xiaomi-miot 插件,也不一定非要通过HACS
# 进入容器内部执行
docker exec -it homeassistant bash
# 执行hacs安装命令
wget -O - https://hacs.vip/get | HUB_DOMAIN=ghproxy.com/github.com bash -
# 如果脚本遇到网络问题无法安装wget -O - https://hacs.vip/get | bash -,直接下载 https://github.com/hacs/integration/releases/latest/download/hacs.zip
# 然后把hacs.zip解压到容器的/config/custom_components/hacs目录,手动重启容器
#要退出容器命令行直接输入 exit
极速版HACS和原版HACS(
wget -O - https://get.hacs.xyz | bash -
)相比,对国内网络环境更加友好,能够大大提升下载速度!custom_components
就是插件目录
四、hass-xiaomi-miot配置
方法1: HACS
-
首次安装 HACS > 集成 > ➕ 浏览并下载存储库 > Xiaomi Miot Auto > 下载此存储库
-
升级插件 HACS > 集成 > Xiaomi Miot Auto > 更新 / 重新下载
方法2: 通过SSH或Terminal & SSH加载项执行一键安装命令
# 进入容器内部执行
docker exec -it homeassistant bash
# 安装插件
wget -q -O - https://raw.githubusercontent.com/al-one/hass-xiaomi-miot/master/install.sh | ARCHIVE_TAG=latest bash -
# 如果遇到下载缓慢或下载失败可以执行下面的命令
wget -q -O - https://ghproxy.com/raw.githubusercontent.com/al-one/hass-xiaomi-miot/master/install.sh | HUB_DOMAIN=ghproxy.com/github.com ARCHIVE_TAG=latest bash -
#要退出容器命令行直接输入 exit
Xiaomi Miot Auto:将米家的设备接入HA,且可以接入蓝牙网关下的设备,能自动判断设备是本地还是远程连接(除了支持Wi-Fi的,都是远程)
BLE Monitor:在不使用Miot集成的情况下,直接将蓝牙Mesh设备通过BLE直连至服务器。(但是板载蓝牙的距离和数据取回时间都很糟糕)
xiaomi
,选择 xiaomi-miot-auto,选择账号集成模式,输入小米账号(手机号)密码,选择自动模式
,接着基本就是下一步下一步了,点点点就好。五、Apple Homekit 配置
手机断开WIFI,后想远程控制Homekit需要一个中枢,可以是iPad、Apple TV、HomePod
六、主题
configuration.yaml
文件,然后重启 homeassistant (docker 安装方式为 /usr/share/hassio/homeassistant/configuration.yaml
)# Loads default set of integrations. Do not remove.
default_config:
# Text to speech
tts:
- platform: google_translate
# 添加下面两行配置,第二行最前面是两个空格
frontend:
themes: !include_dir_merge_named themes
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
七、安装图形化系统管理工具 cockpit(可选)
apt-get install cockpit cockpit-storaged cockpit-storaged
systemctl start cockpit
systemctl enable cockpit.socket
wget https://github.com/mrevjd/cockpit-docker/releases/download/v2.0.3/cockpit-docker.tar.gz
cd /usr/share/cockpit
tar xf cockpit-docker.tar.gz -C .