HomeAssistant通过cpolar内网穿透
安装HomeAssistant
Home Assistant(以下简称HA)是个开源的智能家居平台,也叫家庭助手,就像一个软件,比如我们的QQ软件,微信软件。
Home Assistant把家中的智能家居设备整合到HA中,它能够接入的设备非常的多比如大名鼎鼎的小米、博联、易微联、飞利浦、特斯拉…,也可以接入软件,让后让各个品牌之间的设备可以联网。
一个设备,在没接入HA之前,它是个单一设备,只能在自己的生态里面联动,一旦接入到HA上,它就活了,它可以在所有接入的平台里面自己联动,实现各种各样的自动化。
安装方法网上很多,目前选用的是玩客云的debain系统下使用docker安装
安装cpolar内网穿透
在局域网下的浏览器访问成功后,我们接下来用cpolar内网穿透将其映射到公网上,实现在公网环境下也可以远程访问家里的HA,不需要公网IP,也无需设置路由器。
cpolar官网:https://www.cpolar.com/
访问cpolar官网,注册一个账号,然后下载并安装客户端,具体安装教程可以参考官网文档教程。
1 windows系统
在cpolar官网下载安装包后,双击安装包一路默认安装即可。
2 Linux系统
cpolar支持一键自动安装脚本,详细请参考文章教程
3 macOS系统
可通过homebrew安装,可参考文章教程

映射Home Assistant端口
cpolar安装成功后,在浏览器上访问本地9200端口,访问cpolar web UI管理界面【http://localhost:9200】,使用cpolar账号登录。

点击左侧仪表盘的隧道管理——创建隧道,创建一个http隧道,指向8123端口 ,即Home Assistant的端口
隧道名称
:可自定义命名,注意不要与已有的隧道名称重复协议
:选择http本地地址
:home assistant 局域网ip+端口域名类型
:免费选择随机域名地区
:选择China vip
点击创建

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

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

我们查看日志,看一下提示具体错误,点击左下角配置,点击系统

可以看到日志,点击日志

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

解决方法:打开面板,找到左下角配置,点击加载项

去商店下载一个文件编辑器,我们需要修改一个配置文件

找到File editor 文件编辑器

点击安装这个File editor

安装成功后点击启动

然后为了方便下次使用,可以勾选一个在侧边栏显示

开启后,我们从侧边栏即可进入,然后点击左上角文件目录

找到并且点击configuration.yaml的文件,点击一下即可

在文件上添加如下配置,下面ip地址就是我们上面查看日志提示的那个ip地址:
1 | http: |

然后我们打开虚拟机关机,重启虚拟机,接着再次输入公网地址访问,即可成功

固定公网地址(这个需要付费-没付费的话24H会被更改连接地址,感觉影响不大)
由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。
注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。
1 保留一个固定二级子域名
登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

保留成功后复制保留的二级子域名地址

2 配置固定二级子域名
访问http://127.0.0.1:9200/,登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的Home Assistant隧道,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中
域名类型
:选择二级子域名Sub Domain
:填写保留成功的二级子域名
点击更新

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了保留过的二级子域名名称,将其复制下来

然后使用固定https地址打开浏览器访问,同样访问成功,且域名不会发生变化.

相关链接(侵删)
欢迎到公众号来唠嗑:
