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

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

[快速入门] 红帽系直接安装Homeassistant Core,非docker

[复制链接]

4

主题

70

帖子

271

积分

论坛分享达人

积分
271
金钱
201
HASS币
0
发表于 2024-12-31 05:05:32 | 显示全部楼层 |阅读模式
本帖最后由 悠哉悠哉 于 2025-1-5 15:12 编辑

貌似docker下使用HA的玩家比较多
其实在Linux下直接安装也比较简单
但是,我们只能安装Core版本,这个版本属于阉割版,在设置里找不到Add On这个选项的
经过我长期使用,发现没有这个addon选项其实也没多大影响,我还没有打算切换到Docker。

安装前先说几个问题, 原创: 悠哉悠哉

1. Linux的版本问题
这里在Redhat或Centos中我们优先选择Centos
Redhat有个问题,你需要开发者账号,然后激活订阅,否则将来会没办法安装或升级一些Redhat官方的包,当然你可以使用第三方包库,但是官方的包库是非常重要的。
Centos同样是Redhat旗下的,就没有这个问题,属于开源社区维护
并且工业上Centos在低配机用的比较多,所以我推荐Centos
这二者不论你选了哪个,以下的安装命令是一样的。

2. Python 环境问题
红帽子系的python3环境比较麻烦,基本上是跟着OS版本来走的
因为python3依赖了一些其他库,这些库又被OS中其他程序引用,所以升级python3比较麻烦
HA系统的版本又跟python3版本紧密联系
所以当你发现你的python版本比较低,比如说3.10, 3.09等等,那不要考虑升级本地的python3了,直接选择安装pyenv做python的多版本共存

接下来我们正式安装,从pyenv开始
1. 安装pyenv:
官方链接: https://github.com/pyenv/pyenv-installer
打开命令行,并运行以下命令:
curl https://pyenv.run | bash


成功运行后,编辑本地bash环境文件,增加以下内容,保证pyenv可以正确切换环境

vi ~/.bashrc
#添加下面3行到文件末尾
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"



记得重新登录bash,这样以上内容会起作用


2. 安装新版本python3,这里我选择的是3.12,最新的应该是3.13了
在bash命令行下,依次运行以下命令

pyenv update
pyenv install 3.12
pyenv  local 3.12

3. 在安装HA之前, 我们先安装一些本地的依赖包
yum install -y libffi-devel and sqlite3
yum install -y libffi-devel
yum install -y libsqlite3x-devel
yum install -y bzip2-devel ncurses-devel readline-devel

4. 安装python3虚拟环境管理软件,并且建立一个虚拟环境运行时候保存配置用的文件夹
这里我们将文件夹命名为homeassistant
python3 -m venv homeassistant

5. 激活环境
source homeassistant/bin/activate

6. 安装Homeassistant
pip3 install pysqlite3
pip3 install homeassistant

7. 安装HACS:
wget -O - https://get.hacs.xyz | bash


8. 打开防火墙的端口
firewall-cmd --permanent --add-port=8123/tcp
firewall-cmd --permanent --add-port=49152-65535/udp
firewall-cmd --reload

9. 打开您的Web浏览器并输入以下地址:
http://<your ip>:8123




10. 添加HACS到集成
在Settings>Devices & Services里添加一个集成,找到HACS,并添加

11. 配置HA自动启动
配置启动有很多种方法,这里我只说最简单并且有效的一种
先创建一hass.service文件:

vi /etc/systemd/system/hass.service

然后把以下的内容放进文件里
[Unit]
Description=Homeassistant service
After=network.target

[Service]
Type=simple
User=%i
WorkingDirectory=/你的路径/.homeassistant
ExecStart=/你的路径/homeassistant/bin/hass -c "/你的路径/.homeassistant"



保存后,运行以下命令
systemctl enable hass
systemctl start hass




至此我们的安装已经完成了
有什么问题可以回复本帖
原创: 悠哉悠哉




回复

使用道具 举报

3

主题

125

帖子

897

积分

高级会员

Rank: 4

积分
897
金钱
772
HASS币
0
发表于 2024-12-31 08:03:21 | 显示全部楼层
代码请用代码格式,或者使用md插件。否则某些关键字会被替换。
回复

使用道具 举报

2

主题

8

帖子

82

积分

注册会员

Rank: 2

积分
82
金钱
74
HASS币
0
发表于 2024-12-31 10:43:15 | 显示全部楼层
既然是core了,感觉还是docker简单,安装docker,拉取镜像。
systemctl enable docker就可以设置开启启动。
docker容器设置加上always参数就可以自动启动了。
回复

使用道具 举报

49

主题

1788

帖子

7090

积分

论坛元老

Rank: 8Rank: 8

积分
7090
金钱
5292
HASS币
40
发表于 2024-12-31 11:18:56 | 显示全部楼层
docker 是最简单的,为什么很多人不用,因为它压根没有接触过,对所谓的命令一窍不通
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

4

主题

70

帖子

271

积分

论坛分享达人

积分
271
金钱
201
HASS币
0
 楼主| 发表于 2024-12-31 11:36:34 | 显示全部楼层
jjcs 发表于 2024-12-31 11:18
docker 是最简单的,为什么很多人不用,因为它压根没有接触过,对所谓的命令一窍不通 ...

你太武断了
我原来在单位用docker用到吐,从编译到测试最后部署,我维护了大量的shell脚本,
回到家,看都不想看一眼

回复

使用道具 举报

49

主题

1788

帖子

7090

积分

论坛元老

Rank: 8Rank: 8

积分
7090
金钱
5292
HASS币
40
发表于 2024-12-31 12:23:21 | 显示全部楼层
悠哉悠哉 发表于 2024-12-31 11:36
你太武断了
我原来在单位用docker用到吐,从编译到测试最后部署,我维护了大量的shell脚本,
回到家,看 ...

docker对使用者是最方便的一种方法,跨平台特性,开发是这样的
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-1-21 18:07 , Processed in 0.050928 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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