本地小主机安装HomeAssistant开源智能家居平台打造个人AI管家

文章目录

    • 前言
    • 1. 添加镜像源
    • 2. 部署HomeAssistant
    • 3. HA系统初始化配置
    • 4. HA系统添加智能设备
      • 4.1 添加已发现的设备
      • 4.2 添加HACS插件安装设备
    • 5. 安装cpolar内网穿透
      • 5.1 配置HA公网地址
    • 6. 配置固定公网地址

前言

大家好!今天我要向大家展示如何将一台迷你的香橙派Zero3转换成你家中的智慧家庭控制枢纽。只需安装CasaOS轻NAS系统和HomeAssistant,再利用cpolar内网穿透工具,你就能轻松地远程操控所有智能家居设备,无需进行繁琐的公网IP配置或调整路由器设置。

首先,我们来快速了解一下HomeAssistant。这是一个开源的智能家居管理平台,它兼容众多品牌和通信协议,包括苹果、小米、MQTT等。HomeAssistant允许你将家中的各式智能设备集中管理,实现跨品牌设备间的协同工作和自动化控制。例如,你可以设置当智能门锁被打开时,自动点亮室内灯光,或者在你离开家时自动关闭所有电器。

而香橙派Zero3是一款体积小、能耗低的单板电脑,非常适合作为全天候运行的小型服务器。它不仅价格实惠,而且性能可靠,能够像路由器一样持续在线。这使得香橙派Zero3成为部署HomeAssistant的理想选择。

d4161172838d005a1499db75902887b

1. 添加镜像源

我这里演示的环境是已经刷好CasaOS的香橙派Zero3小主机。

不知道如何操作的可以看下这篇教程:[香橙派Orange Pi zero3如何刷CasaOS轻NAS系统](香橙派Orange Pi zero3刷CasaOS轻NAS系统与远程浏览本地文档或影视资源_哔哩哔哩_bilibili)

首先,我们需要在浏览器中输入香橙派ip地址(在路由器中查看名为orangepizero3的就是),进入CasaOS管理界面。

然后进入终端,使用root账号密码登录。

fc4cd94f4cc0ce7c2b2cf581ea88f37

进入终端后执行下方命令:

nano /etc/docker/daemon.json

image-20241012154915187

在编辑器中输入新的镜像源地址:

{
"registry-mirrors": [
 "https://docker.m.daocloud.io",
 "https://docker.1panel.live"
]
}

image-20241012155042798

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

systemctl restart docker

image-20241012155119804

2. 部署HomeAssistant

上边的操作完成之后,我们回到casaos主界面点击系统自带的App Store应用中心。

刚安装casaos系统会发现里边的应用太少了,想要添加更多应用,只要点击目前APP下拉框中的更多应用。

image-20240527181150797

1716533860914

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

image-20240524145917203

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

1716534084277

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

image-20240524150508486

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

2941a0f2621f418566be8d4c0f3be90

f1536aa8bee37ef0a6c28cfd1e1f62d

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

e0256c0206946d47314ef096f520f46

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

d4161172838d005a1499db75902887b

3. HA系统初始化配置

首先点击创建我的智能家居按钮,跳转到创建用户界面,填写好信息后点击创建用户:

image-20241101111854741

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

image-20241101112321011

点击下一步:

image-20241101112419031

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

image-20241101112549448

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

image-20241101112617319

4. HA系统添加智能设备

4.1 添加已发现的设备

首先点击左下角的设置:

image-20241101113520037

选择设备与服务:

image-20241101113539541

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

image-20241101113619272

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

278d3edb9a4cf7b6d957f2836147b64

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

image-20241101114102857

稍等HA系统既可以自动创建配置,点击完成即可。

现在我们在Home Assistant的首页,即可看到新增了群晖NAS设备的相关信息。

image-20241101114256437

4.2 添加HACS插件安装设备

如果想配置没有发现的智能设备,我们可以通过安装HACS插件的方式来添加设备。

首先,我们点击casaos终端,依然通过root账号密码登录:

执行下方命令,查看安装的所有容器信息:

docker ps -a

image-20241101115649120

复制HomeAssistant容器的ID

然后执行下方命令

docker exec -it 容器ID bash

然后执行下方命令安装hacs插件:

wget -O - https://get.hacs.xyz | bash -

image-20241101120635558

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

systemctl restart docker

image-20241101121108970

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

image-20241101121312689

选择设备与服务:

image-20241101121338238

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

image-20241101121527841

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

image-20241101121643277

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

image-20241101130854400

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

image-20241101131034082

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

image-20241101131237420

最后点击完成即可:

image-20241101131427121

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

image-20241101131544694

想要通过HACS插件配置未发现的智能设备,我这里拿小米的小爱音箱来进行演示。

我们首先回到Home Assistant管理界面的首页,点击侧边栏中的HACS,下载存储库。

image-20241101132002450

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

image-20241101132217817

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

image-20241101132300621

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

image-20241101132411625

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

image-20241101132503211

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

image-20241101132918936

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

image-20241101132858096

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

image-20241101132840287

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

image-20241101133107392

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

image-20241101133221691

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

image-20241101142103665

点击完成

image-20241101142201592

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

image-20241101142354730

5. 安装cpolar内网穿透

此时,我们已经成功在本地的CasaOS香橙派Zero3主机中部署了Home Assistant智能家居系统,并安装了HACS插件实现对未发现设备的集成配置,但目前我们仅能在本地局域网中使用HA系统,有一定局限性。如果想在出差时也能远程访问家中的HA系统来管理家中智能设备,比如要到家前想提前开好空调时该怎么办呢?

很简单,只要在香橙派中安装一个cpolar内网穿透工具就能轻松实现远程访问内网主机中部署的服务了,接下来介绍一下如何安装cpolar内网穿透。

首先,点击左上角进入终端:

image-20240528113537036

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

image-20240528113647981

后在终端中执行下方一行命令,即可安装cpolar内网穿透工具:

curl -fsSL https://get.cpolar.sh | sudo sh

image-20241012164501257

安装完毕后可以执行下方命令查看服务状态:

systemctl status cpolar

如下图所示即为cpolar内网穿透服务正在正常运行。

image-20241017114210956

5.1 配置HA公网地址

然后我们使用CasaOS香橙派的IP地址加上9200,打开一个新的浏览器来登录cpolar管理界面 :

PS:香橙派的IP地址可以在路由器中查看,名为orangepizero3的就是。

image-20241017114352580

如果没有账号可以点击免费注册访问cpolar官网注册账号:https://www.cpolar.com

输入账号密码登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

隧道名称:可自定义,注意不要与已有的隧道名称重复,本例使用了:home assistant

协议:http

本地地址:香橙派主机IP+8123端口

域名类型:随机域名

地区:选择China Top

点击创建

image-20241101143535327

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

image-20241101143738736

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

image-20241101143804381

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

image-20241101143922281

点击日志:

image-20241101144008228

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

image-20241101144127950

首先回到casaos香橙派界面:

点击文件按钮:

image-20241101150104386

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

image-20241101150217980

继续进入config文件夹:

然后点击打开这个名为 的配置文件,添加下方配置并保存:

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 192.168.50.215(替换为你的香橙派主机IP)

1730444409583

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

systemctl restart docker

image-20241101150623979

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

image-20241101151119505

image-20241101151256103

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,不好记,而且这个地址在24小时内会发生随机变化,更适合于临时测试使用。

如果有长期远程访问本地casaos香橙派中的Home Assistant智能家居系统,或者远程访问其他本地服务的需求,又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择配置固定的公网地址来远程访问。

6. 配置固定公网地址

登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择China VIP,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称,这里我填写的是 myha001 ,大家也可以自定义喜欢的名称。

image-20241101151558406

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

image-20241101151652985

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名:myha001
  • 地区:选择China VIP

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20241101151729873

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

image-20241101151826824

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

image-20241101152011091

怎么样?是不是觉得这个项目既有趣又实用呢?有了香橙派Zero3和HomeAssistant的组合,你不仅能够高效管理家中的智能设备,还能享受到更加便捷的生活体验。快去试试看吧,相信你会爱上这种智能家居带来的便利与舒适!如果你有任何疑问或心得,欢迎在评论区留言交流哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/945865.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Rocky Linux下安装meld

背景介绍: meld是一款Linux系统下的用于 文件夹和文件的比对软件,非常常用; 故障现象: 输入安装命令后,sudo yum install meld,报错。 12-31 22:12:17 ~]$ sudo yum install meld Last metadata expirat…

数据结构与算法之动态规划: LeetCode 337. 打家劫舍 III (Ts版)

打家劫舍 III https://leetcode.cn/problems/house-robber-iii/description/ 描述 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为 root除了 root 之外,每栋房子有且只有一个“父“房子与之相连一番侦察之后,聪明的小…

chatwoot 开源客服系统搭建

1. 准备开源客服系统(我是用的Chatwoot ) 可以选择以下开源客服系统作为基础: Chatwoot: 功能强大,支持多渠道客户对接,(支持app,web)。Zammad: 现代的开源工单系统。FreeScout: 免…

sentinel-请求限流、线程隔离、本地回调、熔断

请求限流:控制QPS来达到限流的目的 线程隔离:控制线程数量来达到限流的目录 本地回调:当线程被限流、隔离、熔断之后、就不会发起远程调用、而是使用本地已经准备好的回调去提醒用户 服务熔断:熔断也叫断路器,当失败、…

鸿蒙开发-ArkTS中使用Path组件

在ArkTS中使用Path组件,可以按照以下步骤进行: 一、了解Path组件 Path组件用于根据绘制路径生成封闭的自定义形状。该组件从API Version 7开始支持,并随着后续版本的更新可能增加新的功能。Path组件支持多种属性和方法,用于定义…

高效管理 Nginx 的利器:nginxWebUI 指南和 Docker 部署安装过程

前言 Nginx WebUI 是一个为 Nginx 提供图形化管理界面的工具。通过 WebUI,用户可以轻松管理 Nginx 配置,而无需直接编辑配置文件,尤其适合新手用户和频繁修改配置的场景。 官网文档:nginxWebUI - 文档 本文将分享为什么选择 ngin…

Linux网络 | 理解Web路径 以及 实现一个简单的helloworld网页

前言:本节内容承接上节课的http相关的概念, 主要是实现一个简单的接收http协议请求的服务。这个程序对于我们理解后面的http协议的格式,报头以及网络上的资源的理解, 以及本节web路径等等都有着重要作用。 可以说我们就用代码来理…

2.5万字 - 用TensorFlow和PyTorch分别实现五种经典模型

在深度学习领域,TensorFlow和PyTorch是两大广泛使用的框架,各有其独特的特性和优势。随着人工智能技术的快速发展,越来越多的开发者需要熟练掌握这两种工具,以便在实际项目中选择适合的框架进行高效开发。 目录 入门友好介绍 Te…

【C++】2029:【例4.15】水仙花数

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目描述💯我的做法思路分析优势不足之处 💯老师的做法思路分析优势不足 💯对比和优化实现方式对比优化思路和操作1. 直接分解数字的各位…

结合长短期记忆网络(LSTM)和无迹卡尔曼滤波器(UKF)的技术在机器人导航和状态估计中的应用前景

结合长短期记忆网络(LSTM)和无迹卡尔曼滤波器(UKF)的技术在机器人导航和状态估计中具有广泛的应用前景。如有滤波、导航方面的代码定制需求,可通过文末卡片联系作者获得帮助 文章目录 结合LSTM和UKF的背景结合LSTM和UKF的优势应用实例研究现状MATLAB代码示例结论结合LSTM和…

Android14 CTS-R6和GTS-12-R2不能同时测试的解决方法

背景 Android14 CTS r6和GTS 12-r1之后,tf-console默认会带起OLC Server,看起来olc server可能是想适配ATS(android-test-station),一种网页版可视化、可配置的跑XTS的方式。这种网页版ATS对测试人员是比较友好的,网页上简单配置下…

告别Kibana:Elasticsearch 桌面客户端的新变革

告别Kibana:Elasticsearch 桌面客户端的新变革 在大数据处理与分析领域,Elasticsearch 及其相关技术的应用日益广泛。长期以来,Kibana 在数据可视化与查询管理方面占据重要地位,但随着技术的不断发展,用户对于更高效、…

HTML5实现喜庆的新年快乐网页源码

HTML5实现喜庆的新年快乐网页源码 前言一、设计来源1.1 主界面1.2 关于新年界面1.3 新年庆祝活动界面1.4 新年活动组织界面1.5 新年祝福订阅界面1.6 联系我们界面 二、效果和源码2.1 动态效果2.2 源代码 源码下载结束语 HTML5实现喜庆的新年快乐网页源码,春节新年网…

【广州计算机学会、广州互联网协会联合主办 | ACM独立出版 | 高录用】第四届大数据、信息与计算机网络国际学术会议(BDICN 2025)

第四届大数据、信息与计算机网络国际学术会议(BDICN 2025)定于2025年01月10-12日在中国广州举行。会议旨在为从事“大数据”、“计算机网络”与“信息”研究的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术,了解学术发…

C语言函数栈帧的创建和销毁

文章目录 一、寄存器二、函数栈帧的创建和销毁1.什么是函数栈帧?2.案例代码-讲解3.总结函数栈帧 一、寄存器 寄存器(Register)是中央处理机、主存储器和其他数字设备中某些特定用途的存储单元。寄存器是集成电路中非常重要的一种存储单元;其可用来暂存指…

我的博客年度之旅:感恩、成长与展望

目录 感恩有你 技能满点 新年新征程 嘿,各位技术大佬、数码潮咖还有屏幕前超爱学习的小伙伴们!当新年的钟声即将敲响,我们站在时光的交汇点上,回首过往,满心感慨;展望未来,豪情满怀。过去的这…

【数据库初阶】MySQL数据类型

🎉博主首页: 有趣的中国人 🎉专栏首页: 数据库初阶 🎉其它专栏: C初阶 | C进阶 | 初阶数据结构 亲爱的小伙伴们,大家好!在这篇文章中,我们将深入浅出地为大家讲解 MySQL…

webrtc 源码阅读 make_ref_counted模板函数用法

目录 1. 模板参数解析 1.1 typename T 1.2 typename... Args 1.3 typename std::enable_if::value, T>::type* nullptr 2. scoped_refptr 3. new RefCountedObject(std::forward(args)...); 4. 综合说明 5.在webrtc中的用法 5.1 peerConnectionFactory对象的构建过…

python参数传递不可变对象含可变子对象

当传递不可变对象时。不可变对象里面包含的子对象是可变的。则方法内修改了这个可变对象,源对象也发生了变化。 a (10, 20, [5, 6]) print("a", id(a))def test01(m):print("m", id(m))m[2][0] 888print("修改m后m的值为{}".forma…

qt5.15.2+visual studio2022 免安装版环境配置

1.环境准备 visual studio2022qt5.15.2(免安装版本) 2.环境配置 2.1 打开首选项 2.2 添加Qt版本 2.3 构建套件手动添加Qt 5.15.2(msvc2019_64)并配置如下 3.新建项目 问题1:qt creator 没有欢迎界面 解决办法&#…