请选择 进入手机版 | 继续访问电脑版

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

 找回密码
 立即注册
查看: 19799|回复: 213

[基础教程] 手把手教你解决HACS无法访问github问题:无需科学上网

  [复制链接]

3

主题

260

帖子

1370

积分

金牌会员

Rank: 6Rank: 6

积分
1370
金钱
1100
HASS币
40
发表于 2021-10-11 14:54:12 | 显示全部楼层 |阅读模式
本帖最后由 muxiachuixue 于 2022-2-26 16:22 编辑

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_1.4.1.rar (1.09 KB, 下载次数: 2075)

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, 下载次数: 1292)

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无法加载的问题







评分

参与人数 20金钱 +129 HASS币 +20 收起 理由
Violawdq + 2
qiaofei828 + 5 厉害了word楼主!
孤身走我路 + 2 感谢楼主分享!
hacz + 2
wkless + 2 墙都不扶,就服楼主!
Timmydimmy + 1 感谢楼主分享!
svipxp + 2 厉害了word楼主!
dkef730 + 5 感谢楼主分享!
Alkali + 8 论坛有你更精彩!
coco + 2 专门注册账号来顶你!
bingood + 2 膜拜大神!
sxrcm + 1 厉害了word楼主!
咸味土豆 + 12 亲测有用也好使,没有ply的可以试一试.
+ 20 + 20 厉害了word楼主!
Lengran + 5 感谢楼主分享!
whowho182 + 5
wang767034558 + 1
antsunzj + 20 墙都不扶,就服楼主!
anlong + 16 论坛有你更精彩!
evantalk + 16 感谢楼主分享!

查看全部评分

回复

使用道具 举报

3

主题

260

帖子

1370

积分

金牌会员

Rank: 6Rank: 6

积分
1370
金钱
1100
HASS币
40
 楼主| 发表于 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

主题

617

帖子

3684

积分

论坛技术达人

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

使用道具 举报

58

主题

524

帖子

5004

积分

超级版主

Rank: 8Rank: 8

积分
5004
金钱
4405
HASS币
240

教程狂人论坛风云人物

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

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

使用道具 举报

5

主题

185

帖子

1138

积分

金牌会员

Rank: 6Rank: 6

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

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

使用道具 举报

3

主题

260

帖子

1370

积分

金牌会员

Rank: 6Rank: 6

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

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

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

使用道具 举报

3

主题

260

帖子

1370

积分

金牌会员

Rank: 6Rank: 6

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

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

使用道具 举报

6

主题

112

帖子

669

积分

高级会员

Rank: 4

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

使用道具 举报

0

主题

59

帖子

895

积分

高级会员

Rank: 4

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

使用道具 举报

58

主题

524

帖子

5004

积分

超级版主

Rank: 8Rank: 8

积分
5004
金钱
4405
HASS币
240

教程狂人论坛风云人物

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

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

使用道具 举报

3

主题

260

帖子

1370

积分

金牌会员

Rank: 6Rank: 6

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

行吧,晚点传上来
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2022-5-16 20:08 , Processed in 0.082800 second(s), 40 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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