homeassistant安装HACS应用商店

环境:iStoreOS,已在商店中安装homeassistant。

homeassistant在iStoreOS中是以docker容器运行的。

1、进入终端,输入账号和密码(默认:root,password)

查看容器:docker ps

进入容器:docker exec -it homeassistant bash

2、下载hacs

使用命令下载hacs,会转向github,可能无法访问

wget -O - https://get.hacs.xyz | bash - 

如果能够访问成功,安装完成后请重启homeassistant,即可完成安装,以下第3步不用再操作

如果上面地址无法访问,可以使用以下命令安装:

创建文件:touch hacs.sh && chmod +x hacs.sh

编辑文件:vi hacs.sh

粘贴下面内容:先按a,表示开始编辑,右键粘贴进去后,按esc退出编辑,输入:wq保存内容(注意有冒号:)

#!/bin/bash
# wget -O - https://get.hacs.xyz | bash -
set -eRED_COLOR='\033[0;31m'
GREEN_COLOR='\033[0;32m'
GREEN_YELLOW='\033[1;33m'
NO_COLOR='\033[0m'declare haPath
declare -a paths=("$PWD""$PWD/config""/config""$HOME/.homeassistant""/usr/share/hassio/homeassistant"
)
declare currentVersion
declare currentYear
declare currentMonth
declare currentPatch
declare targetVersion
declare targetYear
declare targetMonth
declare targetPatchfunction info () { echo -e "${GREEN_COLOR}INFO: $1${NO_COLOR}";}
function warn () { echo -e "${GREEN_YELLOW}WARN: $1${NO_COLOR}";}
function error () { echo -e "${RED_COLOR}ERROR: $1${NO_COLOR}"; if [ "$2" != "false" ]; then exit 1;fi; }function checkRequirement () {if [ -z "$(command -v "$1")" ]; thenerror "'$1' is not installed"fi
}checkRequirement "wget"
checkRequirement "unzip"info "Trying to find the correct directory..."
for path in "${paths[@]}"; doif [ -n "$haPath" ]; thenbreakfiif [ -f "$path/.HA_VERSION" ]; thenhaPath="$path"fi
doneif [ -n "$haPath" ]; theninfo "Found Home Assistant configuration directory at '$haPath'"cd "$haPath" || error "Could not change path to $haPath"if [ ! -d "$haPath/custom_components" ]; theninfo "Creating custom_components directory..."mkdir "$haPath/custom_components"fiinfo "Changing to the custom_components directory..."cd "$haPath/custom_components" || error "Could not change path to $haPath/custom_components"info "Downloading HACS"wget "https://github.com/hacs/integration/releases/latest/download/hacs.zip"if [ -d "$haPath/custom_components/hacs" ]; thenwarn "HACS directory already exist, cleaning up..."rm -R "$haPath/custom_components/hacs"fiinfo "Creating HACS directory..."mkdir "$haPath/custom_components/hacs"info "Unpacking HACS..."unzip "$haPath/custom_components/hacs.zip" -d "$haPath/custom_components/hacs" >/dev/null 2>&1echoinfo "Verifying versions"targetVersion=$(sed -n -e '/^MINIMUM_HA_VERSION/p' "$haPath/custom_components/hacs/const.py" | cut -d '"' -f 2)currentVersion=$(cat "$haPath/.HA_VERSION")info "Current version is ${currentVersion}, minimum version is ${targetVersion}"targetYear=$(echo "${targetVersion}" | cut -d "." -f 1)currentYear=$(echo "${currentVersion}" | cut -d "." -f 1)if [ "${currentYear}" -lt "${targetYear}" ]; thenrm -R "$haPath/custom_components/hacs"error "Version ${currentVersion} is not new enough, needs at least ${targetVersion}"fiif [ "${currentYear}" == "${targetYear}" ]; thentargetMonth=$(echo "${targetVersion}" | cut -d "." -f 2)currentMonth=$(echo "${currentVersion}" | cut -d "." -f 2)if [ "${currentMonth}" -lt "${targetMonth}" ]; thenrm -R "$haPath/custom_components/hacs"error "Version ${currentVersion} is not new enough, needs at least ${targetVersion}"fiif [ "${currentMonth}" == "${targetMonth}" ]; thentargetPatch=$(echo "${targetVersion}" | cut -d "." -f 3)currentPatch=$(echo "${currentVersion}" | cut -d "." -f 3)if [ "${currentPatch}" -lt "${targetPatch}" ]; thenrm -R "$haPath/custom_components/hacs"error "Version ${currentVersion} is not new enough, needs at least ${targetVersion}"fififiechoinfo "Removing HACS zip file..."rm "$haPath/custom_components/hacs.zip"info "Installation complete."echoinfo "Remember to restart Home Assistant before you configure it"elseechoerror "Could not find the directory for Home Assistant" falseecho "Manually change the directory to the root of your Home Assistant configuration"echo "With the user that is running Home Assistant"echo "and run the script again"exit 1
fi

3、运行hacs.sh脚本 

运行脚本:./hacs.sh

等待几分钟,会自动安装hacs,看到restart后安装成功,重启homeassistant

4、添加hacs模块

配置-设备与服务

添加集成-选择品牌-输入HACS 

点击链接,这里需要访问github,网络要加速器。没有github网站的账户要注册一个。

填入号码 

完成添加HACS 

添加自定义存储库

添加地址 

https://github.com/theneweinstein/somneo

完成后,就可以添加插件了

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3.3每日一题(变量可分离方程)

1、判断类型选方法:等式中分别提一个x、y出来,形成了x与y相乘的等式;为变量可分离类型 2、不一定非得把y解出来,化成上述的等式即可(为隐函数的方程解) 注:等式不定积分后记得+一个…

大数据-Storm流式框架(七)---Storm事务

storm 事务 需求 storm 对于保证消息处理,提供了最少一次的处理保证。最常见的问题是如果元组可以被 重发,可以用于计数吗?不会重复计数吗? strom0.7.0 引入了事务性拓扑的概念,可以保证消息仅被严格的处理一次。因此可…

【电路笔记】-交流电感和感抗

交流电感和感抗 文章目录 交流电感和感抗1、概述1.1 电感1.2 电感器 2、频率特性2.1 电抗(Reactance)2.2 相移2.3 感应现象 3、RL滤波器4、总结 在之前有 交流电阻的文章中,我们已经看到电阻器在正常频率下的直流或交流状态下的行为是相同的。 然而,其他…

【机器学习合集】人脸表情分类任务Pytorch实现TensorBoardX的使用 ->(个人学习记录笔记)

人脸表情分类任务 注意:整个项目来自阿里云天池,下面是开发人员的联系方式,本人仅作为学习记录!!!该文章原因,学习该项目,完善注释内容,针对新版本的Pytorch进行部分代码…

山东大学开发可解释深度学习算法 RetroExplainer,4 步识别有机物的逆合成路线

逆合成旨在找到一系列合适的反应物,以高效合成目标产物。这是解决有机合成路线的重要方法,也是有机合成路线设计的最简单、最基本的方法。 早期的逆合成研究多依赖编程,随后这一工作被 AI 接替。然而,现有的逆合成方法多关注单步逆…

机器学习第一周

一、概述 机器学习大致会被划分为两类:监督学习,无监督学习 1.1 监督学习 监督学习其实就是,给计算机一些输入x和正确的输出y(训练数据集),让他总结x->y的映射关系,从而给他其他的输入x&a…

【算法】动态规划之LeetCode 53.最大子数组和

目录 文章目录 **目录**📑前言1.题目描述2. 动态规划法 📑文章末尾 📑前言 本文主要是leetcode题解析,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是青衿🥇 ☁…

ThreadLocal 会出现内存泄漏吗?

ThreadLocal ThreadLocal 是一个用来解决线程安全性问题的工具。它相当于让每个线程都开辟一块内存空间,用来存储共享变量的副本。然后每个线程只需要访问和操作自己的共享变量副本即可,从而避免多线程竞争同一个共享资源。它的工作原理很简单&#xff0…

基于Ubuntu20.04安装ROS系统

文章目录 一、ROS简介二、ROS安装三、ROS安装测试四、安装问题解决1. sudo rosdepc init:找不到命令2. ERROR: cannot download default sources list from...3. Command roscore not found...4. Resource not found: roslaunch... 一、ROS简介 ROS是用于编写机器人…

[ubuntu系统下的文本编辑器nano,vim,gedit,文件使用,以及版本更新问题]

文本编辑器概要 在Ubuntu系统下,有许多文本编辑器可供选择,每个编辑器都有其独特的特性和用途。以下是一些常见的文本编辑器: Gedit: 这是Ubuntu默认的文本编辑器,它简单易用,适合基本的文本编辑任务。 安…

取石子

每一堆数量都>1的话可以把合并操作和取石子看成一种操作,总操作数就是sumn-1,为奇数就是Alice先手必胜,哪怕有一堆是2,Bob取后变为1,Alice也可以通过合并操作让1变成>1的数 可以分成两大板块a、b, a中方石子个数…

haproxy高可用集群

高可用集群 Haproxy :他是常用的负载均衡软件 Nginx 支持四层转发,和七层转发 Haproxy 也可以四层和七层转发 LVS的DR发和nat是基于四层还是七层的转? 都基于是四层转发&#xff08…

[SHCTF 2023 校外赛道] pwn

有19道题这么多,不过基本是入门题,都是在骗新生,看这么容易快来PWN吧! week1 四则计算器 这里用危险函数gets读入有个溢出.而且PIE也没开,地址是固定的.而且有后门.直接溢出到ret写上后门即可. from pwn import *p remote(112.6.51.212, 31473) context(archamd64, log_lev…

#stm32整理(二)关于MDK的编译过程及文件类型全解

参考野火开发指南如有侵权即刻删除,只是为了学习交流使用 1、编译 1、编译过程简介 (1)编译,MDK 软件使用的编译器是 armcc 和 armasm,它们根据每个 c/c 和汇编源文件编译 成对应的以“.o”为后缀名的对象文件 (Object Code&…

修改el-date-picker宽度

<div style"width: 100%"><el-date-pickerstyle"width:100%"v-model"value"type"datetimerange"start-placeholder"开始日期"end-placeholder"结束日期":default-time"[12:00:00]"value-forma…

Redis队列Stream

1 缘起 项目中处理文件的场景&#xff1a; 将文件处理请求放入队列&#xff0c; 一方面&#xff0c;缓解服务器文件处理压力&#xff1b; 另一方面&#xff0c;可以根据文件大小拆分到不同的队列&#xff0c;提高文件处理效率。 这是Java开发组Leader佳汇提出的文件处理方案&a…

hdlbits系列verilog解答(8位宽移位寄存器)-24

文章目录 一、问题描述二、verilog源码三、仿真结果一、问题描述 这项练习是module_shift移位寄存器的延伸。模块端口不是只有单个引脚,我们现在有以向量作为端口的模块,您将在其上附加线向量而不是普通线网数据。与 Verilog 中的其他位置一样,端口的向量长度不必与连接到它…

Go语言用Resty库编写的音频爬虫代码

目录 一、Go语言与Resty库简介 二、音频爬虫的实现 1、确定抓取目标 2、使用Resty发送HTTP请求 3、解析响应数据 4、下载音频文件 5、并发下载音频文件 三、注意事项 总结 随着互联网的飞速发展&#xff0c;网络爬虫逐渐成为数据获取和分析的重要工具。在音频领域&…

[NSSCTF 2nd] web刷题记录

文章目录 php签到MyBox非预期解预期解 php签到 源代码 <?phpfunction waf($filename){$black_list array("ph", "htaccess", "ini");$ext pathinfo($filename, PATHINFO_EXTENSION);foreach ($black_list as $value) {if (stristr($ext, …