『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 1292|回复: 3

[求助] 如何将HA的版本定义文件解析到自定的地址?

[复制链接]

4

主题

13

帖子

88

积分

注册会员

Rank: 2

积分
88
金钱
75
HASS币
0
发表于 2023-8-14 16:41:33 | 显示全部楼层 |阅读模式
HA每次安装和升级时候,会查询一个叫stable.jsonhttps://的文件,从而确定最新的版本,但是我的armv7设备不在名单上面。
所以我需要家里面的HA的局域网设备在访问https://version.home-assistant.io/stable.jsonhttps://时候,将地址解析到http://192.168.21.141/files/home/stable.json,从而自己对版本进行定义,这种要怎么实现呢?有Openwrt旁路由,可以处理所有经过的流量,要怎么实现特定网址重新定向?

回复

使用道具 举报

18

主题

591

帖子

4344

积分

元老级技术达人

积分
4344
金钱
3718
HASS币
182
发表于 2023-8-14 22:30:12 | 显示全部楼层
本帖最后由 louis_lee 于 2023-8-15 08:51 编辑

有两个思路供参考:

1. 通过使用openwrt的主机名IP映射,将version.xxx.io劫持到openwrt的IP上。然后在openwrt上用nginx将version.home-assistant.io/stable.json转发到http://192.168.21.141/files/home/stable.json

2. 升级前进入HA容器,修改/usr/src/homeassistant/homeassistant/components/hassio/system_health.py,将里面那个version.home-assiant.io……改成你的那个url,重启HA后改动仍生效。重启home assistant后再升级。这个可以写一个脚本执行我说的操作,每次升级前先运行脚本
回复

使用道具 举报

4

主题

13

帖子

88

积分

注册会员

Rank: 2

积分
88
金钱
75
HASS币
0
 楼主| 发表于 2023-8-15 19:24:52 | 显示全部楼层
louis_lee 发表于 2023-8-14 22:30
有两个思路供参考:

1. 通过使用openwrt的主机名IP映射,将version.xxx.io劫持到openwrt的IP上。然后在ope ...

第一个办法听起来不错,但是nginx这步我不知道怎么操作,nginx manager我装好了,不知道这个配置对不对
server {
 listen       443;
 server_name  192.168.21.141;

 location ~ /stable.json {
  proxy_pass  http://192.168.21.141/files/home/stable.json
 }
}

第二个我试了下把容器里面的system_health.py文件提取出来了,感觉可行,不过容器的文件是不是每次重启都会重置,所以这个办法要在容器刚启动时候马上把py文件修改掉?
回复

使用道具 举报

18

主题

591

帖子

4344

积分

元老级技术达人

积分
4344
金钱
3718
HASS币
182
发表于 2023-8-15 20:23:33 | 显示全部楼层
本帖最后由 louis_lee 于 2023-8-15 20:36 编辑
itisbig 发表于 2023-8-15 19:24
第一个办法听起来不错,但是nginx这步我不知道怎么操作,nginx manager我装好了,不知道这个配置对不对
...

1. nginx网上搜搜把,很多教程的。

2. 关于容器重启后文件是否消失,我的理解是这样。如果原容器不灭失(也就是被执行docker kill),只是被重启,重启后原容器是保持一致的(你可以观察他们的container id是一样的)。

所以HA在web页面执行重启后,文件不会被重置,只是容器被restart了。

如果升级就不一样了,直接生成一个新的容器,所以原容器非持久化的部分不会保留。这意味着你需要一个脚本在升级后自动执行替换问文件,或每次升级前手动执行一次替换文件并重启。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-28 03:58 , Processed in 0.638706 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表