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

 找回密码
 立即注册
查看: 96464|回复: 313

[学习笔记] 手把手教你解决HACS无法访问github问题:无需科学上网

  [复制链接]

5

主题

357

帖子

2046

积分

金牌会员

Rank: 6Rank: 6

积分
2046
金钱
1674
HASS币
60
发表于 2021-10-11 14:54:12 | 显示全部楼层 |阅读模式
本帖最后由 muxiachuixue 于 2022-8-28 10:51 编辑

2022年8月28日更新:
增加https选项,请下载v1.4.2版replace_hacs_download_mirror.sh并重启两次HA生效


2022年2月25日更新:

新增一个github镜像,请下载v1.4.1版的replace_hacs_download_mirror.sh并重启两次HA生效


2022年2月17日更新:
raw.fastgit.org 这个镜像貌似挂掉了,请下载v1.4版的replace_hacs_download_mirror.sh,自动选用可用的镜像

2022年2月10日更新:新增功能:如果镜像失效,则放弃替换镜像,继续使用github官方网址
2022年1月9日更新:最新版HACS文件结构发生变化,请下载最新版replace_hacs_download_mirror.sh,否则无法自动替换HACS下载源
2021年12月2日更新:改为在HA中执行定时自动化,不再走crontab,简化了操作,对小白更友好
2021年11月9日更新:从更改宿主机hosts文件,变为更改docker中HA容器的hosts,之前下载老版本的,请参考下文第二部分重新配置
==================================================================

没有科学上网环境?无法访问github?无法从HACS商店下载插件和加载项?无法更新插件?下面手把手教你设置,无需科学上网,一劳永逸。


一、修改默认下载源(此方法参考Anlong大神)
原理:此方法为自动修改HACS下载源:
旧版HACS文件地址:/config/custom_components/hacs/helpers/functions/download.py
2022年1月后新版HACS文件地址:/config/custom_components/hacs/base.py

1. 下载附件,把文件replace_hacs_download_mirror.sh放到HA主目录/config下(和configuration.yaml文件同一个目录)
2022年2月17日更新:新增功能:新增一个镜像,自动选用可用镜像
2022年2月10日更新:新增功能:如果镜像失效,则放弃替换镜像,继续使用github官方网址
2022年1月9日更新:最新版HACS文件结构发生变化,请下载以下最新版replace_hacs_download_mirror.sh,否则HACS无法自动替换下载源
replace_hacs_download_mirror_v1.4.2.rar (1.09 KB, 下载次数: 6965)

2. 为防止HACS更新后下载源文件被覆盖,需设置HA启动后,自动更新HACS下载源:
在/config/packages 文件夹(没有这个文件夹就新建一个)下新建文件update_hacs_download_source.yaml,内容如下:
shell_command:
  update_hacs_download_source: sh /config/replace_hacs_download_mirror.sh
  
automation:
  - alias: HA启动自动更新HACS下载源
    trigger:
      - platform: homeassistant
        event: start
    action:
      - service: shell_command.update_hacs_download_source
在configuration.yaml中添加如下代码,让packages文件夹被识别:
homeassistant:
  packages: !include_dir_named packages

3. 重启两次homeassistant 生效;第一次重启会修改下载源文件,第二次重启使修改生效;以后每次更新了hacs,都要重启两次才行

到这里为止,你的HACS就可以正常下载、更新插件了,但是为了更稳定一点,可以继续做下面步骤二

二、设置定时自动更新docker中hosts文件
2021年11月9日更新,从更改宿主机hosts文件,变为更改docker中HA容器的hosts,之前下载老版本的,此部分请重新配置
感谢原作者提供的hosts更新服务:github hosts更新地址

1. 把附件中github_docker_hosts_update.sh文件放到HA主目录/config下(和configuration.yaml文件同一个目录)
github_docker_hosts_update.rar (445 Bytes, 下载次数: 3682)

2. 在/config/packages 文件夹(参考上面步骤一)下新建文件update_github_docker_hosts.yaml,内容如下:
shell_command:
  update_github_docker_hosts: sh /config/github_docker_hosts_update.sh

automation:
  - alias: HA启动或每两小时自动更新docker中github的hosts
    trigger:
      - platform: homeassistant
        event: start
      - platform: time_pattern
        hours: "/2"
    action:
      - service: shell_command.update_github_docker_hosts

3. 重启homeassistant生效

三、添加社区商店add-ons(只有hassos/hassio/supervised版本才有add-on商店):
HACS-加载项-加载项商店-右上角添加新的repo,地址填:https://hub.fastgit.xyz/hassio-addons/repository

添加社区商店

添加社区商店

社区repo添加成功

HACS添加成功

HACS添加成功


官方加载项商店无法加载的问题请参考:干货:解决supervisor商店插件add-ons无法加载的问题







评分

参与人数 31金钱 +158 HASS币 +20 收起 理由
sqch20088 + 2 感谢大神分享
awaychan + 2 厉害了word楼主!
小菜籽油 + 1 感谢楼主分享!
kadandana + 2 高手,这是高手!
tuo + 2 大神666!
quakye + 1 感谢楼主分享!
xun897426280 + 5 感谢楼主分享!
graydot + 2
zzc2 + 5 感谢楼主分享!
bellokid + 5 感谢楼主分享!
Akemihomura + 2 大神666!
Violawdq + 2
qiaofei828 + 5 厉害了word楼主!
孤身走我路 + 2 感谢楼主分享!
hacz + 2
wkless + 2 墙都不扶,就服楼主!
Timmydimmy + 1 感谢楼主分享!
svipxp + 2 厉害了word楼主!
dkef730 + 5 感谢楼主分享!
Alkali + 8 论坛有你更精彩!

查看全部评分

回复

使用道具 举报

5

主题

357

帖子

2046

积分

金牌会员

Rank: 6Rank: 6

积分
2046
金钱
1674
HASS币
60
 楼主| 发表于 2022-2-10 19:46:14 | 显示全部楼层
2022年2月10日更新:新增功能:如果镜像失效,则放弃替换镜像,继续使用github官方网址
2022年1月9日更新:最新版HACS文件结构发生变化,请下载最新版replace_hacs_download_mirror.sh,否则无法自动替换HACS下载源
2021年12月2日更新:改为在HA中执行定时自动化,不再走crontab,简化了操作,对小白更友好
2021年11月9日更新:从更改宿主机hosts文件,变为更改docker中HA容器的hosts,之前下载老版本的,请参考下文第二部分重新配置
回复

使用道具 举报

46

主题

641

帖子

4394

积分

元老级技术达人

积分
4394
金钱
3723
HASS币
120
发表于 2021-10-11 15:30:03 | 显示全部楼层
好帖要支持一下
回复

使用道具 举报

62

主题

581

帖子

6057

积分

论坛元老

Rank: 8Rank: 8

积分
6057
金钱
5401
HASS币
240

教程狂人论坛风云人物

发表于 2021-10-11 16:22:27 | 显示全部楼层

download.py能放到gitee,定时替换吗?因为hacs更新,这个文件会变的。
尝试过萝卜,我想你一定会忘记青瓜
回复

使用道具 举报

7

主题

314

帖子

2755

积分

金牌会员

Rank: 6Rank: 6

积分
2755
金钱
2441
HASS币
0
发表于 2021-10-11 16:34:18 | 显示全部楼层
好帖,感谢。

请教下楼主,我理解一和二选一个就可以吧?还是两个是都要操作的?
回复

使用道具 举报

5

主题

357

帖子

2046

积分

金牌会员

Rank: 6Rank: 6

积分
2046
金钱
1674
HASS币
60
 楼主| 发表于 2021-10-11 16:37:34 | 显示全部楼层
yuyuye 发表于 2021-10-11 16:34
好帖,感谢。

请教下楼主,我理解一和二选一个就可以吧?还是两个是都要操作的? ...

都要操作,不操作二的话,你可能无法去HACS里面添加社区商店(里面的加载项无法安装)。但是只添加一的话,是可以下载集成的。
回复

使用道具 举报

5

主题

357

帖子

2046

积分

金牌会员

Rank: 6Rank: 6

积分
2046
金钱
1674
HASS币
60
 楼主| 发表于 2021-10-11 16:40:39 | 显示全部楼层
antsunzj 发表于 2021-10-11 16:22
download.py能放到gitee,定时替换吗?因为hacs更新,这个文件会变的。

不需要放到gitee,可以直接用脚本定时替换,用sed命令查找到download.py里面对应代码的位置,然后把要添加的放进去就行了。但是如果HACS大更新后,可能导致查找的位置发生了改变,脚本运行失败。感觉HACS很久都没更新了吧,手动改一下,也还好
回复

使用道具 举报

8

主题

158

帖子

1197

积分

金牌会员

Rank: 6Rank: 6

积分
1197
金钱
1039
HASS币
0
发表于 2021-10-11 17:03:03 | 显示全部楼层
谢谢分享
回复

使用道具 举报

0

主题

97

帖子

1591

积分

金牌会员

Rank: 6Rank: 6

积分
1591
金钱
1494
HASS币
0
发表于 2021-10-11 17:07:06 | 显示全部楼层
感谢分享,帮我解决了大麻烦
回复

使用道具 举报

62

主题

581

帖子

6057

积分

论坛元老

Rank: 8Rank: 8

积分
6057
金钱
5401
HASS币
240

教程狂人论坛风云人物

发表于 2021-10-11 17:12:20 | 显示全部楼层
muxiachuixue 发表于 2021-10-11 16:40
不需要放到gitee,可以直接用脚本定时替换,用sed命令查找到download.py里面对应代码的位置,然后把要添 ...

大佬,要不顺手写一下啊
尝试过萝卜,我想你一定会忘记青瓜
回复

使用道具 举报

5

主题

357

帖子

2046

积分

金牌会员

Rank: 6Rank: 6

积分
2046
金钱
1674
HASS币
60
 楼主| 发表于 2021-10-11 17:42:44 | 显示全部楼层
antsunzj 发表于 2021-10-11 17:12
大佬,要不顺手写一下啊

行吧,晚点传上来
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-28 03:25 , Processed in 0.061618 second(s), 39 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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