• 通过内网穿透远程控制家中Home Assistant智能家居系统


    前言

    Home Assistant(以下简称HA)是个开源的智能家居平台,也叫家庭助手,就像一个软件,比如我们的QQ软件,微信软件。

    Home Assistant把家中的智能家居设备整合到HA中,它能够接入的设备非常的多比如大名鼎鼎的小米、博联、易微联、飞利浦、特斯拉…,也可以接入软件,让后让各个品牌之间的设备可以联网。

    一个设备,在没接入HA之前,它是个单一设备,只能在自己的生态里面联动,一旦接入到HA上,它就活了,它可以在所有接入的平台里面自己联动,实现各种各样的自动化。

    下面介绍Home Assistant 面板+cpolar内网穿透实现在外随时随地远程访问。

    1. 安装Home Assistant

    这里使用vmwhere 虚拟机进行安装,通过Home Assistant官网的下载链接下载,下载后解压。

    vmdk文件:https://www.home-assistant.io/installation/linux#install-home-assistant-container

    image-20230329140034810

    然后创建一个虚拟机

    image-20230329140523751

    选择自定义虚拟机

    image-20230329140559237

    直接下一步

    image-20230329140626938

    选择稍后安装操作系统

    image-20230329140651521

    然后选择Linux,版本选择4.x内核64位

    image-20230329140916527

    设置一下虚拟机名称,然后下面安装的位置可以自己选择,也可以默认

    image-20230329141109224

    处理器可以选择1个,内核选择两个,这里配置的数量越多,消耗电脑性能越大,可根据本机配置设置

    image-20230329141558147

    按照官网的要求,需2G以上,这里选择3G

    image-20230329141741615

    选择NET网络模式

    image-20230329141838721

    直接下一步

    image-20230329141927176

    磁盘类型可以默认,也可以选择SATA

    image-20230329142125999

    这里需要选择现有磁盘

    image-20230329142241934

    这里选择我们上面官网下载的.vmdk文件

    image-20230329142336733

    然后选择保持现有格式

    image-20230329142435852

    最后,点击完成即可

    image-20230329142505378

    安装成功后启动虚拟机,启动完成后我们可以看到局域网ip地址和端口信息,8123就是管理面板的端口

    image-20230329142908172

    2. 配置Home Assistant

    启动虚拟机后,我们在浏览器上,输入Home Assistant的局域网ip地址加上8123的端口号,就可以看到管理面板

    image-20230329143213764

    首次访问登陆,需要创建账户,填写相关用户名密码,创建账户

    image-20230329143436938

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

    image-20230329143740404

    接下来默认点击下一步即可

    image-20230329143904127

    然后点击完成,这里提示添加智能设备,可以先点击完成,后面自己设置

    image-20230329144017846

    然后就进入了控制面板界面

    image-20230329144126684

    3. 安装cpolar内网穿透

    在局域网下的浏览器访问成功后,我们接下来用cpolar内网穿透将其映射到公网上,实现在公网环境下也可以远程访问家里的HA,不需要公网IP,也无需设置路由器。

    cpolar官网:https://www.cpolar.com/

    访问cpolar官网,注册一个账号,然后下载并安装客户端,具体安装教程可以参考官网文档教程。

    3.1 windows系统

    在cpolar官网下载安装包后,双击安装包一路默认安装即可。

    3.2 Linux系统

    cpolar支持一键自动安装脚本,详细请参考文章教程

    3.3 macOS系统

    可通过homebrew安装,可参考文章教程

    20230130105715

    4. 映射Home Assistant端口

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

    20230130105810

    点击左侧仪表盘的隧道管理——创建隧道,创建一个http隧道,指向8123端口 ,即Home Assistant的端口

    • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
    • 协议:选择http
    • 本地地址:home assistant 局域网ip+端口
    • 域名类型:免费选择随机域名
    • 地区:选择China vip

    点击创建

    image-20230329151644131

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

    image-20230329151724274

    5. 公网访问Home Assistant

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

    image-20230330113646549

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

    image-20230330115658528

    可以看到日志,点击日志

    image-20230330130245362

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

    image-20230330130645997

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

    image-20230330113824049

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

    image-20230330113845841

    找到File editor 文件编辑器

    image-20230330113950556

    点击安装这个File editor

    image-20230330114133188

    安装成功后点击启动

    image-20230330114417659

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

    image-20230330114525062

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

    image-20230330114704791

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

    image-20230330114807991

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

    http:
      use_x_forwarded_for: true
      trusted_proxies:
        - 192.168.191.1
    
    • 1
    • 2
    • 3
    • 4

    image-20230330131216892

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

    image-20230330131548575

    6. 固定公网地址

    由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

    注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。

    6.1 保留一个固定二级子域名

    登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

    image-20230330132159756

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

    image-20230330132218331

    6.2 配置固定二级子域名

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

    image-20230330131957337

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

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

    点击更新

    image-20230330132252714

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

    image-20230330132345392

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

    image-20230330132444605

    转载自cpolar极点云文章:如何搭建Home Assistant智能家居系统并通过内网穿透实现远程控制家中设备

  • 相关阅读:
    kubeasz一键部署k8s集群
    SVN学习
    Mysql、RocketMq 底层存储数据结构对比
    面试经典刷题)挑战一周刷完150道-Python版本-第2天(22个题)
    47、Dynamic View Synthesis from Dynamic Monocular Video
    MyBatisPlus之DQL编程控制
    Docker网络及CPU资源控制
    如何列出 Ubuntu 和 Debian 上已安装的软件包
    LeetCode_单调栈_中等_456.132 模式
    写作脑科学——屠龙的高效写作指南
  • 原文地址:https://blog.csdn.net/asdssadddd/article/details/133930619