**前言:**嗨,大家好!今天我们要聊的是如何把一个小小的香橙派Zero3变成你家的智能家居控制中心。通过安装CasaOS轻NAS系统和HomeAssistant,再结合cpolar内网穿透工具,你将能够轻松远程管理所有智能设备,而无需复杂的公网IP设置或路由器配置。
**什么是HomeAssistant?**
首先,让我们简单了解一下HomeAssistant。它是一个开源的智能家居平台,支持多种品牌和协议,如苹果、小米、MQTT等。通过HomeAssistant,你可以把家中的各种智能设备整合在一起,实现跨品牌的联动和自动化控制。比如,你可以设定当门锁被打开时自动开启灯光,或者在你离家后自动关闭所有电器。
**为什么选择香橙派Zero3?**
香橙派Zero3是一款小巧、功耗低的单板计算机,非常适合用作24小时在线的小型服务器。它不仅价格亲民,而且性能稳定,可以像路由器一样长时间联网运行。这使得它成为安装HomeAssistant的理想选择。

目录
[1. 添加镜像源](#1. 添加镜像源)
[2. 部署HomeAssistant](#2. 部署HomeAssistant)
[3. HA系统初始化配置](#3. HA系统初始化配置)
[4. HA系统添加智能设备](#4. HA系统添加智能设备)
[5. 安装cpolar内网穿透](#5. 安装cpolar内网穿透)
[6. 配置固定公网地址](#6. 配置固定公网地址)
1. 添加镜像源
我这里演示的环境是已经刷好CasaOS的香橙派Zero3小主机。
不知道如何操作的可以看下这篇教程:[**香橙派Orange Pi zero3如何刷CasaOS轻NAS系统**]([香橙派Orange Pi zero3刷CasaOS轻NAS系统与远程浏览本地文档或影视资源_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1vY2mYUEyL/?spm_id_from=333.999.0.0))
首先,我们需要在浏览器中输入香橙派ip地址(在路由器中查看*名为orangepizero3的就是*),进入CasaOS管理界面。
然后进入终端,使用root账号密码登录。

进入终端后执行下方命令:
```shell
nano /etc/docker/daemon.json
```

在编辑器中输入新的镜像源地址:
```json
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
]
}
```

然后按Crtl+X键保存这个镜像源,退出编辑器回到终端后执行下方命令重新启动docker服务:
```shell
systemctl restart docker
```

2. 部署HomeAssistant
上边的操作完成之后,我们回到casaos主界面点击系统自带的App Store应用中心。
刚安装casaos系统会发现里边的应用太少了,想要添加更多应用,只要点击目前APP下拉框中的更多应用。


然后点击问号,会自动在浏览器中打开一个添加更多应用的页面:

复制这个页面中的这些地址,然后回到CasaOS应用中心界面。

将复制的地址粘贴到刚才带有问号的输入框中,然后点击添加,系统就会自动更新更多应用到应用中心界面,可以从几十个增加到几百个。

在添加应用时,就可以在应用商店中搜索HomeAssistant,出现后点击安装即可自动进行部署:


时间有点长,耐心等待即可,安装好后点击图标打开:

可以看到,浏览器中打开了homeassistant初始化流程界面,地址是香橙派主机IP+8123端口:

3. HA系统初始化配置
首先点击创建我的智能家居按钮,跳转到创建用户界面,填写好信息后点击创建用户:

地区选择,可以手动定位,也可以选择自动检测:

点击下一步:

这里提示发现了兼容的设备,可以先点击完成,后面自己设置:

现在就完成了初始化配置,进入了HA系统的管理界面:

4. HA系统添加智能设备
4.1 添加已发现的设备
首先点击左下角的设置:

选择设备与服务:

在这里可以对已发现的设备进行配置:

拿我现在已发现的这台群晖NAS来进行演示,首先点击配置

然后输入你的NAS登录账号密码,与NAS使用的端口号,点击提交:

稍等HA系统既可以自动创建配置,点击完成即可。
现在我们在Home Assistant的首页,即可看到新增了群晖NAS设备的相关信息。

4.2 添加HACS插件安装设备
如果想配置没有发现的智能设备,我们可以通过安装HACS插件的方式来添加设备。
首先,我们点击casaos终端,依然通过root账号密码登录:
执行下方命令,查看安装的所有容器信息:
```shell
docker ps -a
```

**复制HomeAssistant容器的ID**
然后执行下方命令
```shell
docker exec -it 容器ID bash
```
然后执行下方命令安装hacs插件:
```shell
wget -O - https://get.hacs.xyz | bash -
```

安装完成后,重新打开终端,执行下方命令重启docker服务即可:
```shell
systemctl restart docker
```

然后重新打开Home Assistant管理界面,点击设置:

选择设备与服务:

点击右下角的添加集成,输入HACS:

点击HACS后,弹出的提示框中全选后点击提交:

然后复制弹出的提示框中的这串字符,点击上方选项1中的链接:

然后在打开的github页面中登录你的账号,没有的话注册一个,然后登录将这串字符粘贴到里边:点击继续

然后点击Authorize hacs(授权给hacs)即可:

最后点击完成即可:

现在我们在刚才的设备与服务界面,就能看到添加的HACS插件了:

想要通过HACS插件配置未发现的智能设备,我这里拿小米的小爱音箱来进行演示。
我们首先回到Home Assistant管理界面的首页,点击侧边栏中的HACS,下载存储库。

可以看到下方第一个Xiaomi Miot Auto就是,点击图标跳转后点击右下角的下载按钮:

在弹出的对话框中继续点击下载:

完成后在设置中会看到要求重启HA的通知:

点击提示图标后,点击提交:

等待一会HA重启后,会自动刷新管理界面,点击HACS,可以看到成功安装了Xiaomi Miot Auto:

然后点击左下角设置-设备与服务-右下角添加集成:

搜索刚才安装的Xiaomi Miot Auto并点进来:

根据自己情况选择账号集成或局域网集成,点击下一步:

然后输入小米账户密码后,点击提交:

然后在筛选设备中选择包含,在设备列表中找到我要添加的小爱音箱,点击提交即可:

点击完成

现在我们在HA系统首页就能看到添加的小爱音箱,并可以进行相关管理了。

5. 安装cpolar内网穿透
此时,我们已经成功在本地的CasaOS香橙派Zero3主机中部署了Home Assistant智能家居系统,并安装了HACS插件实现对未发现设备的集成配置,但目前我们仅能在本地局域网中使用HA系统,有一定局限性。如果想在出差时也能远程访问家中的HA系统来管理家中智能设备,比如要到家前想提前开好空调时该怎么办呢?
很简单,只要在香橙派中安装一个cpolar内网穿透工具就能轻松实现远程访问内网主机中部署的服务了,接下来介绍一下如何安装cpolar内网穿透。
首先,点击左上角进入终端:

输入root账号密码登录:(不知道如何获取密码可以看上文中提到的刷机教程)

后在终端中执行下方一行命令,即可安装cpolar内网穿透工具:
```shell
curl -fsSL https://get.cpolar.sh | sudo sh
```

安装完毕后可以执行下方命令查看服务状态:
```shell
systemctl status cpolar
```
如下图所示即为cpolar内网穿透服务正在正常运行。

5.1 配置HA公网地址
然后我们使用CasaOS香橙派的IP地址加上9200,打开一个新的浏览器来登录cpolar管理界面 :
> *PS:香橙派的IP地址可以在路由器中查看,名为orangepizero3的就是。*

如果没有账号可以点击免费注册访问cpolar官网注册账号:[https://www.cpolar.com](https://www.cpolar.com/)
输入账号密码登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理------创建隧道:
隧道名称:可自定义,注意不要与已有的隧道名称重复,本例使用了:home assistant
协议:http
本地地址:香橙派主机IP+8123端口
域名类型:随机域名
地区:选择China Top
点击创建

隧道创建成功后,点击左侧的状态------在线隧道列表,查看所生成的公网地址,然后复制地址

打开浏览器,使用刚刚获取的公网地址进行连接访问,此时会出现一个400的错误,如果没有的话,可以跳过此步骤:

如报错我们需要查看日志看一下提示具体错误,点击左下角设置,点击系统:

点击日志:

打开日志后,我们可以看到这么一个问题,大致意思是:从192.168.x.x收到来自反向代理的请求,但HTTP集成未针对反向代理进行设置,所以我们需要修改一下配置文件:

首先回到casaos香橙派界面:
点击文件按钮:

然后进入DATA-AppData-homeassistant这个文件夹:

继续进入config文件夹:
然后点击打开这个名为 的配置文件,添加下方配置并保存:
```shell
http:
use_x_forwarded_for: true
trusted_proxies:
- 192.168.50.215(替换为你的香橙派主机IP)
```

然后进入casaos终端,执行下方命令重启docker服务:
```shell
systemctl restart docker
```

重启完毕后,此时我们在浏览器中使用刚才通过cpolar创建的公网地址,就可以成功远程访问本地部署的Home Assistant智能家居系统了:


**小结**
为了方便演示,我们在上边的操作过程中使用cpolar生成的公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,不好记,而且这个地址在24小时内会发生随机变化,更适合于临时测试使用。
如果有长期远程访问本地casaos香橙派中的Home Assistant智能家居系统,或者远程访问其他本地服务的需求,又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择配置固定的公网地址来远程访问。
6. 配置固定公网地址
[登录cpolar官网](https://dashboard.cpolar.com/login),点击左侧的预留,选择保留二级子域名,地区选择China VIP,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称,这里我填写的是 `myha001` ,大家也可以自定义喜欢的名称。

保留成功后复制保留成功的二级子域名的名称: `myha001` ,返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理------隧道列表,找到所要配置的隧道 `home assistant`,点击右侧的编辑:

修改隧道信息,将保留成功的二级子域名配置到隧道中
-
域名类型:选择二级子域名
-
Sub Domain:填写保留成功的二级子域名:myha001
-
地区:选择China VIP
点击`更新`(注意,点击一次更新即可,不需要重复提交)

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,由随机地址名称变成了两个固定的二级子域名(固定公网地址):

使用任意一个固定公网地址在浏览器访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以远程访问本地局域网内的casaos香橙派主机端中的Home Assistant智能家居系统了!

完成以上步骤后,你就可以通过手机或电脑随时随地管理家中的智能设备了。无论是查看监控摄像头、控制灯光,还是调整空调温度,一切都变得轻而易举。希望这篇文章对你有所帮助!如果你有任何问题或建议,欢迎在评论区留言。祝你在智能家居的道路上越走越远!
