记录一次Home Assistant的安装和使用

背景

已经有很多Apple Home的配件,然后因为部分配件是小米、以及其他厂商的,且手头有一个暂时都不会用上的老笔记本电脑,就想着试试安装Home Assistant(以下简称HS),并且使用

最后成功的思路

使用macvlan,给在Docker运行的HS做了一个固定的IP,然后访问

踩坑记录

是的,还没开始就开始写踩坑记录了

  • 直接在CentOS上安装HS,然后从CentOS 7 开始各种安装组件等,都不行
  • CentOS 7 不行,那CentOS 8 是不是会好一些呢,并不行。
  • CentOS 8 直接安装不行之后,使用CentOS 8 然后安装docker(podman) 成功了,但是无法正常的监听端口,也就是说我的设备添加不到Apple Home中,白折腾了(这部分是新的容器创建的时候不停权限不足,这么说吧,基本上一个文件都创建不了)
  • 安装成功后,一定一定一定要注意在Apple里面设置的时候选择的域,否则会有几百个实体
    • 安装完,添加了设备之后记得去设备里面把不需要的实体禁用,不然都会显示在里面
    • 如果不小心已经添加到了Apple Home家庭中,需要在Apple Home家庭中删除这部分的配件的方法是:在家庭的首页->点击右上角的三个点->家庭设置->家庭中枢与桥接->在桥接设备中找到刚才添加的HASS的桥接设备删除(如果在添加的时候重命名了,那就是自己命名的名字。或者看看详情
    • 删除家庭中的配件只有这种方法,其他的卸载Apple Home 或者 还原所有设置都是没有作用的!!!!

正文

1、安装的环境:Cent OS 7
2、安装方法,使用Docker安装
3、安装步骤

  • 安装Docker
sudo yum remove -y docker* containerd.io podman*
sudo rm -rf /var/lib/docker
sudo rm -rf /etc/docker

# 2. 配置阿里云 Docker 镜像源,注意,这个配置文件里面不能用注释
sudo tee /etc/yum.repos.d/docker-ce.repo <<-'EOF'
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=0 
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
EOF

# 3. 安装必要工具和依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 4. 安装 Docker 组件(跳过 GPG 检查)
sudo yum install -y --nogpgcheck \
  docker-ce \
  docker-ce-cli \
  containerd.io \
  docker-buildx-plugin \
  docker-compose-plugin

# 5. 启动 Docker
sudo systemctl start docker
sudo systemctl enable docker

# 6. 验证安装
sudo docker version
  • 配置macvlan
    • 注意实际网段,这里给的是192.168.1.200,实际可能是192.168.0.200
    • 注意parnet的值,是自己的实际使用的网卡的值,比如可能是enp1s0这样的,运行 ip link 查看自己的网卡信息
# 替换为您的实际网络信息
# 例如:主机IP=192.168.0.114, 网关=192.168.0.1, 子网掩码=24
sudo docker network create -d macvlan \
  --subnet=192.168.0.0/24 \
  --gateway=192.168.0.1 \
  --ip-range=192.168.0.200/32 \
  -o parent=enp1s0 \
  -o macvlan_mode=bridge \
  --aux-address="host_reserved=192.168.0.114" \
  macvlan_net
  
  # 这里是验证是否成功
  # 列出所有 Docker 网络
docker network ls

# 查看 macvlan 网络详情
docker network inspect macvlan_net
  • 在Docker中安装Home Assistant
    • 这里说明一下,如果使用了macvlan就不能再使用host的网络模式了,因为他是单独的暴露出去的一个IP的原因?
mkdir -p ~/homeassistant/config

# 运行容器
# 或者直接使用完整镜像地址下载容器
docker pull docker.m.daocloud.io/homeassistant/home-assistant:stable

# network是上面macvlan里面创建的名字
# 这个有一个包需要下载特别长的时间,原因未知,改了很多的源都会出现这个情况,超过50M的包好像都会下载很久,耐心等待就好了
docker run -d \
 --name homeassistant \
 --network macvlan_net \
 --restart unless-stopped \
 --privileged \
 -v /etc/localtime:/etc/localtime:ro \
 -v ~/homeassistant/config:/config \
 -e TZ=Asia/Shanghai \
 docker.m.daocloud.io/homeassistant/home-assistant:stable
  • 防火墙配置
sudo firewall-cmd --permanent --add-port=5353/udp
sudo firewall-cmd --permanent --add-port=1900/udp

# 允许 Home Assistant 端口
sudo firewall-cmd --permanent --add-port=8123/tcp

# 重载防火墙
sudo firewall-cmd --reload
  • 其他
    • 至此,就安装成功了,然后HACS相关的因为是有一个备份,直接还原进去就好了,也就忘了怎么弄的了
    • 另外,不要相信AI的监听在Home kit是监听在哪个端口上面的,直接运行起来添加一个配件试试,不行的话再来找原因(找了很久为啥根据AI的命令执行就是没有指定的内容出现,最后也是试了一下发现可以了)
    • 需要自己在路由器中保留这个IP,防止后续DHCP导致的IP冲突(直接只让路由器分配1-199的IP了)

以上,有很多内容都是Deep Seek生成
感谢【已解决】无法连入HomeKit怎么排查原因呢提供的思路
中间也有很多的错误,已经尽量的把踩过的坑都写出来了,然后出错之后的命令就只能具体情况具体分析了

posted on 2025-08-17 00:09  凋鱼  阅读(102)  评论(0)    收藏  举报

导航