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

 找回密码
 立即注册
查看: 195|回复: 0

[进阶教程] 关于Haos系统出现No host internet错误的解决,以及快速处理法

[复制链接]

18

主题

280

帖子

2945

积分

论坛DIY达人

积分
2945
金钱
2650
HASS币
60
发表于 2024-12-13 20:47:04 | 显示全部楼层 |阅读模式
本帖最后由 花落花空 于 2024-12-13 20:53 编辑

不知道大伙有没有在HAOS中进行安装加载项或者更新的时候,提示no host internet的错误。这个时候用curl测试网络又都是正常的。
我个人遇到很多次了。
解决方案就是命令行执行
ha jobs options --ignore-conditions internet_host
这条命令是忽略对网络的检测。然后就可以进行跟新和安装啥的操作了。在你重启整个系统之前,是一直生效的。但有时候重新又是必不可少操作,比如对OS进行更新。
这意味着后续遇到这个问题又要去命令行执行一次,很不优雅。


那么有没有直接ui上一点就能解决的方法呢。经过对文档的研究,发现使用shell_command配合Advanced SSH & Web Terminal加载项 运行SSH命令可以实现。
不同于常规的liunx,HAOS必须使用密钥才能登陆ssh,那么我们就先要生成ssh密钥。接下来说操作。
首先,我们打开命令行,冬瓜的HAOS可以访问IP:7681,其它的HOAS,可以安装 Advanced SSH & Web Terminal加载项。
7681端口进去需要先输入login
然后输入docker exec -it homeassistant bash 进入homeassistant容器
然后输入ssh-keygen这个命令输入后,会询问你一些问题,我们只需要理第一个,密钥的保存路径默认。它是在/root/.ssh/id_ed25519。
我们需要修改一下,
我选择保存在/config/.ssh/id_ed25519下面。因为默认的root路径会在ha更新后重置。
微信截图_20241213201900.png

然后输入cat /config/.ssh/id_ed25519.pub查看公钥,复制下来。
微信截图_20241213202236.png
红框中的,然后回到加载项Advanced SSH & Web Terminal的设置页面
微信截图_20241213202920.png
保存启动加载项后,我们再回到命令行测试一下命令是否生效
ssh -i /config/.ssh/id_ed25519 hassio@你ha的ip sudo -i ha jobs options --ignore-conditions internet_host


上面的命令/config/.ssh/id_ed25519这部分,如果按着我的操作,不需要修改。你ha的ip请按实际修改。然后回车。
以我的为例是这样的。ssh -i /config/.ssh/ha [email protected] sudo -i ha jobs options --ignore-conditions internet_host
微信截图_20241213203643.png
出现Command completed successfully.就表示运行成功。
接下来就可以编辑configuration.yaml了
添加如下内容
# 自定义命令
shell_command:
  disable_detection: "ssh -i /config/.ssh/id_ed25519 hassio@你ha的ip sudo -i ha jobs options --ignore-conditions internet_host"  #忽略工作条件-网络检测
  enable_detection: "ssh -i /config/.ssh/id_ed25519 hassio@你ha的ip sudo -i ha jobs reset" #恢复工作条件
  
再编辑scripts.yaml文件,添加如下,这个也可在网页中操作,看个人习惯
disable_detection:
  alias: 忽略网络检测
  sequence:
  - action: shell_command.disable_detection
    metadata: {}
    data: {}
  description: 忽略工作条件检测
  icon: mdi:network-off
enable_detection:
  alias: 恢复工作条件
  sequence:
  - action: shell_command.enable_detection
    metadata: {}
    data: {}
  description: 恢复工作条件检测
  icon: mdi:network-outline  
保存后重启ha。然后你就自动化与场景/脚本里面发现两个脚本了,执行它就可以了,当然也可以加到ui里更快操作。
微信截图_20241213204622.png


评分

参与人数 3金钱 +22 收起 理由
foxad + 5 高手,这是高手!
xiaobai1828 + 5 高手,这是高手!
DDDear + 12 膜拜大神!

查看全部评分

回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-26 19:29 , Processed in 0.370042 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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