无尽的天空 發表於 2025-8-17 00:09:00

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

<h1 id="背景">背景</h1>
<p>已经有很多Apple Home的配件,然后因为部分配件是小米、以及其他厂商的,且手头有一个暂时都不会用上的老笔记本电脑,就想着试试安装Home Assistant(以下简称HS),并且使用</p>
<h1 id="最后成功的思路">最后成功的思路</h1>
<p>使用macvlan,给在Docker运行的HS做了一个固定的IP,然后访问</p>
<h1 id="踩坑记录">踩坑记录</h1>
<p>是的,还没开始就开始写踩坑记录了</p>
<ul>
<li>直接在CentOS上安装HS,然后从CentOS 7 开始各种安装组件等,都不行</li>
<li>CentOS 7 不行,那CentOS 8 是不是会好一些呢,并不行。</li>
<li>CentOS 8 直接安装不行之后,使用CentOS 8 然后安装docker(podman) 成功了,但是无法正常的监听端口,也就是说我的设备添加不到Apple Home中,白折腾了(这部分是新的容器创建的时候不停权限不足,这么说吧,基本上一个文件都创建不了)</li>
<li>安装成功后,一定一定一定要注意在Apple里面设置的时候选择的域,否则会有几百个实体
<ul>
<li>安装完,添加了设备之后记得去设备里面把不需要的实体禁用,不然都会显示在里面</li>
<li>如果不小心已经添加到了Apple Home家庭中,需要在Apple Home家庭中删除这部分的配件的方法是:在家庭的首页-&gt;点击右上角的三个点-&gt;家庭设置-&gt;家庭中枢与桥接-&gt;在桥接设备中找到刚才添加的HASS的桥接设备删除(如果在添加的时候重命名了,那就是自己命名的名字。或者看看详情</li>
<li>删除家庭中的配件只有这种方法,其他的卸载Apple Home 或者 还原所有设置都是没有作用的!!!!</li>
</ul>
</li>
</ul>
<h1 id="正文">正文</h1>
<p>1、安装的环境:Cent OS 7<br>
2、安装方法,使用Docker安装<br>
3、安装步骤</p>
<ul>
<li>安装Docker</li>
</ul>
<pre><code class="language-#">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 &lt;&lt;-'EOF'

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
</code></pre>
<ul>
<li>配置macvlan
<ul>
<li>注意实际网段,这里给的是192.168.1.200,实际可能是192.168.0.200</li>
<li>注意parnet的值,是自己的实际使用的网卡的值,比如可能是enp1s0这样的,运行 ip link 查看自己的网卡信息</li>
</ul>
</li>
</ul>
<pre><code class="language-#"># 替换为您的实际网络信息
# 例如:主机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
</code></pre>
<ul>
<li>在Docker中安装Home Assistant
<ul>
<li>这里说明一下,如果使用了macvlan就不能再使用host的网络模式了,因为他是单独的暴露出去的一个IP的原因?</li>
</ul>
</li>
</ul>
<pre><code class="language-#">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
</code></pre>
<ul>
<li>防火墙配置</li>
</ul>
<pre><code class="language-#">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
</code></pre>
<ul>
<li>其他
<ul>
<li>至此,就安装成功了,然后HACS相关的因为是有一个备份,直接还原进去就好了,也就忘了怎么弄的了</li>
<li>另外,不要相信AI的监听在Home kit是监听在哪个端口上面的,直接运行起来添加一个配件试试,不行的话再来找原因(找了很久为啥根据AI的命令执行就是没有指定的内容出现,最后也是试了一下发现可以了)</li>
<li>需要自己在路由器中保留这个IP,防止后续DHCP导致的IP冲突(直接只让路由器分配1-199的IP了)</li>
</ul>
</li>
</ul>
<p>以上,有很多内容都是Deep Seek生成<br>
感谢【已解决】无法连入HomeKit怎么排查原因呢提供的思路<br>
中间也有很多的错误,已经尽量的把踩过的坑都写出来了,然后出错之后的命令就只能具体情况具体分析了</p><br><br>
来源:https://www.cnblogs.com/Anthoney/p/19042814
頁: [1]
查看完整版本: 记录一次Home Assistant的安装和使用