安装Home Assistant

news2024/11/26 1:48:50

在这里插入图片描述

文章目录

  • 前言
  • 1. 安装Home Assistant
  • 2. 配置Home Assistant
  • 3. 安装cpolar内网穿透
    • 3.1 windows系统
    • 3.2 Linux系统
    • 3.3 macOS系统
  • 4. 映射Home Assistant端口
  • 5. 公网访问Home Assistant
  • 6. 固定公网地址
    • 6.1 保留一个固定二级子域名
    • 6.2 配置固定二级子域名

转载自远程穿透的文章:【智能家居】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支持一键自动安装脚本,详细请参考文章教程

  • Linux安装cpolar内网穿透

3.3 macOS系统

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

  • macOS安装cpolar内网穿透

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络安全 | 密码基础知识介绍

概述 密码介绍 安全问题 保密性:对发送的消息进行获取完整性:对发送的消息进行篡改身份伪造:对发送的主体身份进行篡改,a发的消息,篡改为b发的行为抵赖:对发送的消息进行否认,丧失行为的可追…

VulnHub打靶记录——easy_cloudantivirus

靶机下载地址:https://www.vulnhub.com/entry/boredhackerblog-cloud-av,453/ 将靶机设置为NAT模式并启动。 主机发现&信息收集 nmap扫描本地网段 nmap -sn 192.168.50.1/24136是kali,137就是我们的目标靶机。 接着收集靶场信息: n…

【 Android11 WiFi开发 二 】WiFi连接、断开

前言 上篇文章介绍了WiFi列表的获取与展示和WiFi状态改变的广播监听,本篇将介绍介绍对WiFi的操作,连接、忘记,查看已连接的WiFi信息等。 相关文章 1、【 Android11 WiFi开发 一 】WiFi列表获取与展示 说明 老规矩,先把WiFi连接和…

卷积基础知识总结

卷积是卷积神经网络中的核心模块,卷积的目的是提取输入图像的特征,如下图所示,卷积可以提取图像中的边缘特征信息。卷积也称为过滤器,即Filter 1 卷积的计算方法 卷积运算本质上就是在滤波器和输入数据的局部区域间做点积 注意…

MyBatis介绍与安装下载

目录 MyBatis 介绍 MyBatis 主要特点 MyBatis 下载 创建 Maven 工程 IDEA 连接数据库 导入JAR文件到项目 MyBatis 介绍 MyBatis是一种开源的Java持久化框架,用于将SQL数据库访问和映射任务与Java对象之间的映射分离。它提供了一种简单的方式来对数据库进行操…

消息中间件的首选之一:探索RocketMQ的优势和特性

​​​​​​​ 1、简介 RocketMQ 是一款开源的分布式消息队列系统,由阿里巴巴集团开发并开源。它是为了满足大规模分布式系统中的消息通信和异步解耦需求而设计的,具有高吞吐量、低延迟、可靠性强等特点。下面将详细介绍 RocketMQ 的架构、组件和关键特…

【网络进阶】Posix API与网络协议栈(三)

文章目录 1. 网络攻击和POSIX API与网络协议栈的关系1.1 网络攻击的基本概念和它们对协议栈的影响1.2 分布式拒绝服务(DDoS)攻击和网络协议栈1.3 地址解析协议(ARP)欺骗和POSIX API 2. 网络协议栈的理解和划分2.1 OSI七层模型2.2 …

AI 边缘计算控制器GEAC91

1 产品概览 产品概览 GEAC91 AI边缘计算控制器是一款基于 NVIDIA Jetson AGX Xavier处理 器、面向智能边缘计算应用场景的解决方案。 GEAC91控制器具有 控制器具有 GMSL2、 千兆网口CAN总线、 RS232、RS422、 USB3.0、USB2.0、SD卡等丰富的外设接口 ,支持常见激光雷…

记录--不定高度展开收起动画 css/js 实现

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 不定高度展开收起动画 最近在做需求的时候,遇见了元素高度展开收起的动画需求,一开始是想到了使用 transition: all .3s; 来做动画效果,在固定高度的情况下&#xf…

霍尔闭环电流传感器在电动观光旅游车上的应用

摘要:本文介绍了基于霍尔闭环原理,即磁平衡式原理的电流传感器在电动观光旅游车上的使用方法,替代传统的霍尔器件,较好的解决了电动车行业现有霍尔传感器的基本问题,在稳定性上更加优越。 关键词:霍尔闭环…

2022 年首届“钉钉杯”大学生大数据挑战赛B题:航班数据分析与预测——国奖论文代码分享

2023年的钉钉杯挑战赛马上要来了~这里给大家分享一下去年的国奖论文思路与代码 摘要: 随着民航事业的迅速发展 , 飞机出行已成为未来发展的一种必然趋势,然而近年来, 航班延误现象频频发生,成为困扰机场和航空公司的难题。对航班…

Idea项目application.properties配置文件默认GBK,如何设置默认为UTF-8编码

简述:java程序在项目中一般设置都是UTF-8编码格式,但是项目application.properties 文件默认是GBK,需要手工修改默认编码格式 步骤: file->setting->editor->file encodings下,勾选transparent native-to-ascll conver…

AR远程协助平台运用到建筑领域能带来哪些帮助?

随着科技的不断发展,远程协同培训已经成为了一种越来越受欢迎的学习方式。在建筑施工领域中,这种学习方式同样具有很大的应用价值。本文将探讨AR远程协助平台在建筑施工中的应用。 首先,AR远程协助平台可以提高建筑施工的效率和质量。传统的…

Java学习之Varargs机制

概述 Varargs,即variable number of arguments,variable arguments。中文一般译为,可变长度参数,或简称可变参数,参数具体来说是形参。 自JDK5引入,借助这一机制,可以定义能和多个实参相匹配的…

基于Java+SpringBoot+Vue的流浪动物救助平台设计与实现

博主介绍:✌擅长Java、微信小程序、Python、Android等,专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 Java项目精品实战案…

【前端|CSS系列第2篇】CSS零基础入门之常用样式属性

欢迎来到CSS零基础入门系列的第二篇博客!作为前端开发的关键技术之一,CSS(层叠样式表)能够为网页添加各种样式和布局效果。对于前端零基础的小白来说,了解和掌握CSS的常用样式属性是入门的关键。本篇博客将带你深入了解…

基本的组合门电路、以及二极管、三极管(详细讲解)

基本门电路、二极管、三极管 1.基本的组合门电路1.1 与门(AND Gate):2.2 或门(OR Gate):1.3 非门(NOT Gate):1.4 异或门(XOR Gate): 2…

chatgpt赋能python:Python面向对象和面向过程编程

Python面向对象和面向过程编程 Python是一种高级编程语言,可以使用不同的编程风格进行开发。本篇文章将讨论Python面向对象和面向过程编程风格的概念、差异和优缺点。 什么是面向对象编程? 面向对象编程是一种编程范式,它将现实世界的概念…

TP6在composer包里写控制器

前提:首先要了解下如何自建composer包。 1.先建一个空包,加一个文件:composer.json {"name": "test/ctrs","type": "library","license": "MIT","autoload": {&quo…

Python一行命令搭建HTTP服务器并外网访问+-+内网穿透

文章目录 1.前言2.本地http服务器搭建2.1.Python的安装和设置2.2.Python服务器设置和测试 3.cpolar的安装和注册3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 转载自远程内网穿透的文章:【Python】快速简单搭建HTTP服务器并公网访问「cpolar内网穿透…