HomeAssistant从零开始折腾(一) - 安装部署

废话

好久没怎么写博客了,最近在沉迷Homelab/HomeAssistant,所以就想着把这个过程记录下来,开个大坑。

安装部署

安装方式

HomeAssistant支持多种安装方式,包括:

  • HAOS
  • Container
  • Core
  • Supervised

其中Core和Supervised不是很常用,首先排除,HAOS和Container的选择我纠结了很久。

Container比较轻量化,可以直接在Docker中运行,更新也还算方便,备份要靠手动管理映射出来的Config目录。还有很重要的一点,Container不支持加载项(Add-On),虽然这些加载项都可以另外单独部署,但是这些服务基本都是HA专用的,所以我觉得让HAOS统一管理会比较合理。

另外,因为我的HomeServer上还运行着许多其他服务,担心Docker宿主万一折腾折腾着挂掉,那HA也就跟着挂了,所以还是想把HA单独拎出来,所以我最终选择了HAOS,因为这是官方推荐的安装方式,也是最简单的方式,同时它的更新和备份也都比较方便。

宿主机器是一台x86的PC,我选择了Proxmox(PVE)作为虚拟化平台,然后在PVE上安装HAOS虚拟机。

安装步骤

具体的安装步骤详见官网

在PVE里新建一个虚拟机,给它分配2个核心,2G内存就完全足够了,不需要分配硬盘。然后从官网下载.qcow2格式的镜像并上传到PVE,看一下刚创建的虚拟机的ID,然后在PVE的终端里执行以下命令:

1
qm importdisk vmid haos_xxx.qcow2 存储池的名字

然后就可以在PVE的虚拟机硬件界面看到刚导入的磁盘了(应该是未使用的状态),双击添加到虚拟机,调整一下启动顺序确保刚添加的这个磁盘是第一次序,然后就可以开机了。

注意,网络环境会比较重要,HAOS首次运行时,会从ghcr上下载镜像,如果网络不够科学,会非常麻烦,所以网络一定要保证畅通,而这就不在本文的讨论范围了。

成功启动后,HAOS会从DHCP服务器自动获取一个IP地址,但最好还是指定一个固定的IP以便后续访问。在PVE里打开HAOS的控制台,执行一下这个命令来指定IP地址:

1
2
3
4
net info
# 找到你的网卡名字,比如ens18
net update ens18 -ipv4-method static --ipv4-address 192.168.0.31/24 --ipv4-gateway 192.168.0.1 --ipv4-nameserver 223.5.5.5
# 替换成你实际的IP地址和网关

然后重启下,就可以愉快地通过浏览器来访问HA了~

重要概念

  1. 实体(Entity):HA中表示数据或状态的基本单元,比如灯、开关、传感器、摄像头等等
  2. 设备(Device):设备是实体的逻辑组织,可能是一个物理设备,也可能是一个虚拟设备,比如一个智能插座,它可能包含一个开关实体、一个功率传感器实体,以及其他诊断信息等等
  3. 集成(Integration):集成主要用于连接HA和第三方服务或平台,集成包含一系列功能,比如状态更新、服务调用等,也可以根据需求和实际情况自动创建其他实体
  4. 自动化(Automation):根据条件和触发事件来执行一系列动作,自动化一般由一个事件触发,触发时会判断其他设定的条件是否满足,满足时就会执行一系列动作

参考链接