使用群晖Docker搭建HomeAssistant并实现异地公网访问家中智能设备

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。

使用群晖Docker搭建HomeAssistant并实现异地公网访问

文章目录

  • 使用群晖Docker搭建HomeAssistant并实现异地公网访问
    • 一、下载HomeAssistant镜像
    • 二、内网穿透HomeAssistant,实现异地控制智能家居
    • 三、使用固定域名访问HomeAssistant

HomeAssistant是一个可以控制 苹果小米、MQTT等设备的智能家居平台。本文首先介绍如何使用 群晖NASDocker套件来安装 HomeAssistant平台,安装成功后,如何结合cpolar内网穿透工具实现 公网访问。

image-20231101144124179

基本条件:

  • 有正版群晖或黑群辉,可以装docker。

一、下载HomeAssistant镜像

打开群晖 容器 管理 套件(较旧系统版本对应的套件为群辉Docker

image-20231101145017685

注册表 中搜 home-assistant ,右击下图中的 homeassistant/home-assistant 项目下载镜像。

image-20231031104919684

FileStation进入 /docker文件夹 新建Homeassistant文件夹

image-20231031110256470

等待下载完毕:

image-20231031104811171

双击此映像并打开

image-20231031104830761

输入随便什么名称,勾选自启动功能,下一步

image-20231031114842291

存储空间设置: 选择**/dokcer/homeassistant** 这个刚才新建的路径

image-20231031114920101

路径 中填入 /home,给读写权限

image-20231031115038593

环境中添加 variable = TZ 和 value = Asia/Shanghai

image-20231031115016583

网络 选择 host

image-20231031112250869

检查上述修改事项,完成

image-20231031115134771

可见 容器启动成功

image-20231031115207104

此时,自行查找群晖局域网地址,后边加上:8123 就是homeassistant局域网地址

http://X.X.X.X:8123

此处我建议使用群晖助手 查找群晖ip:

image-20231031115714326

本地浏览器 输入 http://192.168.50.31:8123/,进入homeassistant初始化流程:

image-20231031115549734

注册账户——选择家庭地区

image-20231031132612751

成功进入,现在我们就能尽情安装插件,绑定智能家居设备啦!

image-20231031132628581

二、内网穿透HomeAssistant,实现异地控制智能家居

想要在户外访问本地Docker容器部署的项目,就需要内网穿透软件,这里我们使用的是免费不限流量的cpolar,如何在群晖NAS安装cpolar请参考:

如何在群晖系统中安装cpolar(群晖7.X版) - cpolar 极点云

安装完毕后,打开cpolar套件,点击右下角 :9200的局域网地址:

image-20231031144207592

image-20231101112900691

​ 登录进去后,点击左侧仪表盘的隧道管理——创建隧道,我们来创建一条用于映射HomeAssistant的局域网地址到公网的隧道。

  • 隧道名称:可自定义
  • 协议:http
  • 本地地址:X.X.X.X:8123
  • 域名类型:随机域名(cpolar免费版)
  • 地区:选择China(cpolar免费版选择China,付费版可选择china vip)

点击创建

填写如下:

image-20231101112926619

下一步我们 点击 在线隧道列表,复制这个公网链接到浏览器:

image-20231101112956177

出现400报错,bad request 意思是 “错误的请求”;

此时不要慌,这是因为homeassistant中未针对反向代理进行设置,所以我们需要在配置文件中简单修改一下。

image-20231101114519651

点 配置

image-20231101115218411

系统

image-20231101115236829

日志

image-20231101115246203

此处可以查看外部访问的错误日志

image-20231101115306339

在NAS中编辑文件,需要安装 文本编辑器 套件

image-20231101114622582

在/docker/中找到 configuration.yaml 配置文件,右键使用编辑器打开

image-20231101114704123

在最后 粘贴如下一段代码:

image-20231101114835219

下面ip地址就是我们上面查看日志提示的那个ip地址,此处需要自行修改

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 192.168.50.31

image-20231101115840620

保存修改

image-20231101115853349

重启容器

image-20231101115939793

刷新 公网访问的网页,输入用户名密码进入:

image-20231101120027303

image-20231101142719941

要注意的是,以上步骤使用的是随机临时端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。我们接下来为其配置固定的端口地址,该地址不会变化,设置后将无需每天重复修改地址。

三、使用固定域名访问HomeAssistant

登录cpolar官网,点击左侧的预留,找到保留的tcp地址,我们来为HomeAssistant保留一个固定二级子域名。

image-20231101143001822

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

image-20231101143226198

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

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区选择 官网后台保留的地区(保持一致)

点击更新

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

image-20231101143258017

复制粘贴,即可使用固定的公网ip登录。

image-20231101143327271

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

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

相关文章

iOS代码安全加固利器:深入探讨字符串和代码混淆器的作用

​ 在网上搜“代码混淆”关键词,可以看到n多教程。包括本篇博客,大部分重要内容也是从网上各位大神的博客里面看到然后摘取和总结出来的。虽然网上都有,但是对于我个人来说,很难找到一篇博客概括完全的,所以还是总结一…

IDEA使用git从远程仓库获取项目

将地址填入url中 然后直接clone就行

redis 常见问题分析

目录 redis 使用分析 一、redis 双写一致性分析 常见方式 1、先写数据库,后写缓存 2、先写数据库,后删缓存 3、先删缓存,再写数据库 4、延迟双删 二、redis 常见异常分析 一、缓存穿透 1、概念 2、解决方案 二、缓存雪崩 1、概念…

自媒体原创改写工具,自媒体首发改写软件

自媒体平台已成为许多创作者表达观点、分享知识和积累影响力的关键渠道。创作是需要技巧和经验的。本文将分享一些自媒体文章改写技巧,并推荐一系列优秀的自媒体文章改写工具,帮助您提升创作效率,创作出更优秀的文章。 自媒体文章改写技巧 …

浅谈档案管理与档案数据挖掘应用

一、当前常见档案及其管理方式 一般,档案是指人们在各项社会活动中直接形成的各种形式的具有保存价值的原始记录。原始记录性是它的本质属性。随着社会发展及数字技术的发展,产生了电子档案,是档案领域最剧烈的一次变革,它直接影…

ssrf介绍、相关php函数及demo演示

SSRF系列 危害(利用) 漏洞判断 回显 延时 DNS请求 相关函数

汽车后服务行业汽美汽修店小程序作用如何

汽车后服务行业包括汽美、汽修等多种门店类型,如今家庭拥车量平均数非常高,这意味着后服务市场商家只要服务好、质量佳、具备一定引流转化方式,就能获得生意。 然而传统门店在近些年生意也不好做,自然流量减少、同行竞争压力等&a…

极狐gitlab ci job拉取代码之前执行命令

有时候我们希望可以在检索 Git 代码库和任何 submodules 之前执行一下命令操作,接下来为大家介绍下通过 hooks:pre_get_sources_script 可以满足该场景的使用。 文章目录 1. 开启 feature flag2. 使用方式方式1在 ci job 中定义 hooks.pre_get_sources_script 方式2…

私人收藏的动听音乐

私人收藏的动听音乐 电视剧《装台》大雀去世戏歌《人面桃花》华阴老腔--《将令一声震山川》 电视剧《装台》大雀去世 下载地址:https://raw.githubusercontent.com/omaidb/qiaofei_notes/main/music/%E8%A3%85%E5%8F%B0-%E5%A4%A7%E9%9B%80%E6%AD%BB%E4%BA%A1.m4a 戏…

L1-018:大笨钟

题目描述 微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那个整点数…

达索系统SOLIDWORKS 2024 Simulation新功能

SolidWorks Simulation是什么? SolidWorks Simulation是一个虚拟测试环境,用于分析你的设计,评估其性能并做出决策以提高产品质量。从SolidWorks2009开始,FEA软件COSMOSWorks改名为SolidWorks Simulation。其为了体现设计仿真一体…

前端传参中带有特殊符号导致后端接收时乱码或转码失败的解决方案

文章目录 bug背景解决思路1:解决思路2解决思路3(最终解决方案)后记 bug背景 项目中采用富文本编辑器后传参引起的bug,起因如下: 数据库中存入的数据会变成这种未经转码的URL编码 解决思路1: 使用JSON方…

基于51单片机智能灯设计教室灯路灯设计

**单片机设计介绍,基于51单片机智能灯设计教室灯路灯设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机的智能灯设计可以实现很多功能,包括节能、遥控、自动感应等等。下面我会介绍一下如何…

【运筹优化】运筹学导论:求解线性规划问题 - 单纯形法

文章目录 一、单纯形法的实质(几何原理)1.1 示例的求解1.2 关键的解原理1.2.1 解原理11.2.2 解原理21.2.3 解原理31.2.4 解原理41.2.5 解原理51.2.6 解原理6 二、构建单纯形法(代数原理)三、单纯形法的代数形式3.1 初始化3.2 最优…

网件R8500 trojan

一 将路由器刷机成改版梅林 路由器首页的Firmware:380.70_0-X7.9.1是梅林改版 380.xx 梅林原版固件 380.xx_x 梅林改版固件 必须是改版梅林才支持trojan,所以要确保是梅林改版固件 点击上传文件,选择下载好的改版固件,固件地址下载传送门…

TA-Lib学习研究笔记(八)——Momentum Indicators 下

TA-Lib学习研究笔记(八)——Momentum Indicators 下 Momentum Indicators 动量指标,是最重要的股票分析指标,能够通过数据量化分析价格、成交量,预测股票走势和强度,大部分指标都在股票软件中提供。 21. …

使用Plex结合cpolar搭建本地私人媒体站并实现远程访问

文章目录 1.前言2. Plex网站搭建2.1 Plex下载和安装2.2 Plex网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 用手机或者平板电脑看视频,已经算是生活中稀松平常的场景了,特别是各…

Angular 由一个bug说起之三:为什么时不时出现额外的水平/垂直滚动条?怎样能更好的防止它的出现?

目录: 什么是单元溢出 控制滚动条出现的属性 怎样能减少意外的滚动条出现 一、什么是单元溢出 在说到这个问题之前我们先简单阐述一下视图窗口(Viewport)和视图内容(View Content) 视图窗口简单来说就是呈现内容的视口,浏览器就是一个窗口&#xff…

【flink番外篇】1、flink的23种常用算子介绍及详细示例(2)- keyby、reduce和Aggregations

Flink 系列文章 1、Flink 专栏等系列综合文章链接 文章目录 Flink 系列文章一、Flink的23种算子说明及示例6、KeyBy7、Reduce8、Aggregations 本文主要介绍Flink 的3种常用的operator(keyby、reduce和Aggregations)及以具体可运行示例进行说明. 如果需要…