如何装好Home Assistant,四种方式安装HA OS测试

环境:

1.haos_generic-x86-64-11.1.img

2.Balena Etcher 1.18.11

3.haos_ova-11.1.qcow2

4.Ubuntu20.04

5.KVM

6.Docker version 24.0.5

7.HA OS11.2

8.联想E14笔记本

问题描述:

如何装好Home Assistant,四种方式安装HA OS测试

解决方案:

目录

一、联想E14笔记本部署HAOS(放弃)

二、联想E14笔记本安装Ubuntu再安装KVM虚拟机并部署 HA OS(放弃)

三、Ubuntu 下Docker部署 HAOS(放弃)

四、联想E14笔记本安装ESXI6.7并部署HAOS(成功)

官网介绍

第一步是安装Home Assistant。我们建议使用专用系统来运行 Home Assistant。 如果您不确定该选择什么,请按照 Raspberry Pi 指南 进行操作 安装 家庭助理操作系统 。

Home Assistant 提供四种不同的安装方法。建议使用以下两种方法之一:

家庭助理操作系统 :为家庭助理提供动力而优化的最小操作系统。 它带有 Supervisor 来管理 Home Assistant Core 和 Add-ons。推荐的安装方法。

Home Assistant Container :基于容器的 Home Assistant Core 独立安装(例如 Docker)。

有经验的用户可以使用两种替代安装方法:

家庭助理监督 :手动安装主管。
Home Assistant Core :使用 Python 虚拟环境手动安装。

下面的列表显示了基于所使用的设备和平台可用的安装方法。

如果您使用的 是 Home Assistant Blue ,则 Home Assistant 操作系统是 已安装。 继续加入。




比较

目前官方支持的安装方式有4种,按照逻辑上的递进顺序和功能由少到多,分别是 Core(核心)、Container(容器)、Supervised(监管的)、OS(操作系统)。但从安装和维护难易程度上排序,最简单的是OS和Container,这也是官方推荐的两种方式;更难一些同时功能最简单的,是Core;最难的最不推荐的,是Supervised。

4种方式的简要介绍如下

HA OS功能最齐全、最省心、更新最方便(所有组件都可以自动检测新版本、点点鼠标就可以完成更新)。缺点是资源占用会高一点点。

Supervised适合高手,尤其是对Linux和docker比较了解、并且linux还需要完成其他功能的。相对更复杂、更容易碰到各种问题

Core其实就是运行在容器里的Core,插件啥的都得手工安装配置,升级也需要手工完成

根据官方最新统计,全球HA的使用者中,2/3用的是 OS 这种方式

1:名称缩写

bash 复制代码
   HA OS     家庭助理操作系统
   Container  家庭助理容器
   Core  家庭助理核心
   Supervised 家庭助理监督

2:Home Assistant Core 和 Home Assistant Container 的备份由 backup 整合

3:Home Assistant Core 和 Home Assistant Container 的备份要么是迁移到 HAOS 的工具,要么是备份的完全手动恢复

我们希望我们的用户能够获得最佳的家庭自动化体验,这首先要确保他们拥有与家庭助理配合良好的设备。因此,我们将开始将以下分类器应用于我们的集成:

分类 描述

bash 复制代码
假定状态 	我们无法获取设备的状态。我们能做的最好的事情就是根据我们上一个命令来假设状态。
	云轮询 	此设备的集成通过云进行,并且需要有效的互联网连接。轮询状态意味着稍后可能会注意到更新。
	云推送 	此设备的集成通过云进行,并且需要有效的互联网连接。一旦有新的状态可用,Home Assistant 将立即收到通知。
	本地轮询 	提供与设备的直接通信。轮询状态意味着稍后可能会注意到更新。
	本地推送 	提供与设备的直接通信。一旦有新的状态可用,Home Assistant 将立即收到通知。

官方github:

bash 复制代码
Core,全名 Home Assistant Core,曾用名小名:hass、ha、home assistant。
   最初版本0.0,2013.9.17诞生;2014.4.14正式发布时的版本号 0.7,之后(直到2020年12月份),版本号一直在小数点后面累加(注意,0.10是0.7的弟弟,0.100是0.99的弟弟),给人以一种一直不是正式版的感觉------官方也曾经在0.99之后发文说终于要出正式版了,当时很多人以为后面会按照1.xxx的形式,不料辣帮大神太谦虚,于是继续在小数点后折腾------0.100.x,一直到0.118.5;这种情况一直持续到去年年底,当时0.119测试版都出了好几个,又想着让0.119直接变身为1.0.0的正式版本号的样子。
  最后纠结来纠结去,确定了以"年+月+小版本"的形式编写版本号,第一个就是2020.12.0,一直沿用至今。

Supervisor,监工,supervised和hassos两种安装方式里的司令官,或者说总指挥。曾用名:HassIO、Hass.IO、Hass.io、Hassio、hassio、Hass.io supervisor。
显然,这些叫法和 对Supervised 这种安装方式的叫法经常混用,原因就是supervisor在supervised这种玩法里的地位和作用。
名称和版本号演进:
0.4,正式名称HassIO,2017.4.6
  0.36,名称加了个点Hass.IO,2017.6.5,后来IO又改成了小写io,有时候点被忽略
  0.102,2018.4.30
  103,版本号前面去掉了0.,2018.5.9
  194,改名为Hass.io supervisor,2020.1.8
  197,改名为Supervisor,2020.2.5
  249,2020.10.19
  2020.10.0,当月26号发布
  2021.10.0,本月7号发布

怀疑开发组里有国人大神,嫌弃250这个版本号,于是早在去年10月就率先改用了"年+月+小版本"的形式。

OS,全名Home Assistant Operating System,注意官方文档里有时候也把这个叫成"Home Assistant"------怀疑是粗心的编辑人员弄的。
0.1,正式名称Hass.io-OS,2018.4.18,只支持虚拟机
   0.3,改名为HassOS,2018.6.5,加入树莓派2的支持
   0.4,2018.6.12,加入树莓派0、1和3的支持,并增加64位版本
   1.3,2018.7.7,正式发布
   2.8,2019.2.4
   3.7,2019.12.16
   4.7,2020.5.26
   5.8,2020.12.13
   6.0,2021.6.9
   6.4,2021.9.9

Container:
  大概从 Core 0.14.2 版本开始,官方制作docker镜像,2016.5.1
  一直到现在随核心同步升级(当然会比核心版本稍微慢一会儿,毕竟先有核心再有容器/镜像),没有也不需要自己的版本号。

上面基本上还是以安装方式的维度整的。其实还有两个重要模块:
frontend,前端,也有自己的版本号;
iOS和安卓版官方app,大名Companion,有自己独立的文档网站!

联想E14笔记本安装HAOS

硬件:联想E14笔记本 8核4G内存128GSSD

分区

1.要进入电脑 BIOS界面,确保已启用 UEFI 引导模式

bash 复制代码
一些常见的电脑品牌以及它们进入BIOS设置的常用快捷键:

    惠普(HP):按下F10或Esc键重启电脑,然后在启动时按F10键进入BIOS设置。

    戴尔(Dell):按下F2键或Del键重启电脑,然后在启动时按F2键或Del键进入BIOS设置。

    联想(Lenovo):按下F1或F2键重启电脑,然后在启动时按F1或F2键进入BIOS设置。

    华硕(ASUS):按下F2键或Del键重启电脑,然后在启动时按F2键或Del键进入BIOS设置。

    宏碁(Acer):按下F2键或Del键重启电脑,然后在启动时按F2键或Del键进入BIOS设置。

    苹果(Apple):按下Option键或Command+R键重启电脑,然后根据系统提示进入恢复模式或选择启动磁盘。

    微软(Microsoft)Surface:按下音量上键同时按下电源键,然后在启动时松开电源键,进入UEFI固件设置。

请注意,以上是一些常见的快捷键在开机时就按,具体适用于不同型号的电脑可能会有所不同

2.禁用安全启动

1.将HA OS映像下载到电脑

bash 复制代码
https://github.com/home-assistant/operating-system/releases/download/11.1/haos_generic-x86-64-11.1.img.xz

2.下载映像启动制作工具

下载完成

插上U盘,进入PE系统

打开工具,选择从文件烧录


选择

选择系统硬盘
开始烧录

再次提醒,点确定

制作中



直接重启电脑

检查电脑网线是否畅通

成功启动后,查看获取的地址,http://localhost:8123http://X.X.X.X:8123 (将 X.X.X.X 替换为您机器的 IP 地址)

磁盘空间不足
PE下把剩下的都给他
还是不行,报了别的错误

之前没成功测试,把硬盘装入硬盘盒做成U盘后挂载到别的电脑,然后用balenaEtcher制作成功

还是这种报错,可能没科学上网导致,具体原因没有深入研究,感觉没必要后期维护麻烦

最后果断放弃

二、Ubuntu安装 KVM虚拟机并部署 HA OS

硬件:联想E14笔记本 8核4G内存128GSSD

1.验证CPU是否支持硬件虚拟化

bash 复制代码
root@st-ThinkPad-E14:~# grep -Eoc '(vmx|svm)' /proc/cpuinfo
16

2.检查 VT 是否在 BIOS 中启用

安装 apt install cpu-checker

bash 复制代码
root@st-ThinkPad-E14:~# apt install cpu-checker
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会同时安装下列软件:
  msr-tools
下列【新】软件包将被安装:
  cpu-checker msr-tools

kvm-ok 查看

bash 复制代码
root@st-ThinkPad-E14:~# kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

3.安装KVM

bash 复制代码
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager

激活

bash 复制代码
systemctl is-active libvirtd

4.启用KVM模块:默认情况下,Ubuntu会自动加载KVM模块,但你可以检查一下以确保它已经加载。运行以下命令来验证

bash 复制代码
lsmod | grep kvm

root@st-ThinkPad-E14:~# lsmod | grep kvm
kvm_intel             376832  0
kvm                  1015808  1 kvm_intel

5.启动虚拟化和设置开机自启

bash 复制代码
# systemctl start libvirtd 
# systemctl enable libvirtd
# systemctl list-unit-files |grep libvirtd.service 

查看是否成功
root@st-ThinkPad-E14:~# systemctl list-unit-files |grep libvirtd.service
libvirtd.service                                                          enabled         enabled 

创建虚拟机命令(留着下次参考,本案例不用此命令)

bash 复制代码
cd /var/lib/libvirt/images/hassos-vm
virt-install --import --name hassos \
--memory 4096 --vcpus 4 --cpu host \
--disk haos_ova-6.6.qcow2,format=qcow2,bus=virtio \
--network bridge=br0,model=virtio \
--osinfo detect=on,require=off \
--graphics none \
--noautoconsole \
--boot uefi


# virt-install --name=kvm-centos7 --ram=2048 --vcpus=2 --disk path=/root/kvmraw/centos7v1(虚拟机名称和位置).qcow2,size=10,format=qcow2 --accelerate --cdrom /root/isolib/CentOS-7-x86_64-DVD-1611.iso(你的镜像名称和位置) --vnc  --vnclisten=0.0.0.0 --network bridge=br0,model=virtio(执行完会创建虚拟机,并且弹出页面)

6.使用命令ifconfig查看自己的ip等

修改01-network-manager-all.yaml文件:

bash 复制代码
# nano /etc/netplan/01-network-manager-all.yaml

手动

bash 复制代码
network:
    version: 2
    ethernets:
        enp3s0:(改为你的网卡名字)
            dhcp4: false
            dhcp6: false
    bridges:
        br0:
            addresses: [192.168.1.2/24](你的ip)
            gateway4: 192.168.1.1 (你的网关)
            nameservers:
                addresses: [114.114.114.114, 8.8.8.8](这是DNS1,DNS2)
                search: [msnode]
            interfaces: [enp3s0(改为你的网卡名字)]


自动

network:
  version: 2
  renderer: networkd
  ethernets:
    wlp5s0:
      dhcp4: no

  bridges:
    macvtap0@wlp5s0:
      dhcp4: yes
      interfaces: [wlp5s0]
      

sudo netplan apply

nm-connection-editor

配置kvm ha

1.启动虚拟机管理器:现在,你可以启动virt-manager,这是KVM的图形界面管理工具。在终端中运行以下命令:

bash 复制代码
virt-manager

2.官网下载kvm镜像文件

3.将文件上传到root文件夹
4.在系统中解压镜像文件

xz -d -v haos_ova-11.1.qcow2.xz

5.新建虚拟机

6.导入之前上传的镜像
选择本地镜像
选择解压后的.qcow2镜像文件

7.选择 Generic Default 为操作系统

8.配置虚拟机参数

最低配置:

2 GB 内存
32 GB存储
2 个 vCPU


9.选中 "安装前自定义配置 "框。

10.选择"下 在"网络 ,选择您的网桥

11.在自定义下,选择 "概况 "> "固件 "> "UEFI x86_64:... 。确保选择 OVMF 的非 secureboot 版本(不包含单词 secure、 secboot等),例如, /usr/share/edk2/ovmf/OVMF_CODE.fd

12.单击 "添加硬件 "(左下角),然后选择 "信道 ",选择设备类型: unix 点应用

13.最后,选择"开始安装"(左上角)


自动开机14.进入系统

您可能希望立即设置的 VM 自动启动

virsh autostart hassos

bash 复制代码
root@st-ThinkPad-E14:~# brctl show
bridge name     bridge id               STP enabled     interfaces
macvtap0@wlp5s0         8000.fe5400be6362       yes             vnet0
root@st-ThinkPad-E14:~# sudo systemctl edit docker.service
No files found for docker.service.
Run 'systemctl edit --force --full docker.service' to create a new unit.
root@st-ThinkPad-E14:~# virsh list
 Id   Name   State
----------------------
 3    HA     running

root@st-ThinkPad-E14:~# virsh net-list --all
 Name   State   Autostart   Persistent
----------------------------------------

root@st-ThinkPad-E14:~# cd  /etc/libvirt/qemu/networks
root@st-ThinkPad-E14:/etc/libvirt/qemu/networks# ls
autostart
root@st-ThinkPad-E14:/etc/libvirt/qemu/networks# touch br0.xml
root@st-ThinkPad-E14:/etc/libvirt/qemu/networks# ls
autostart  br0.xml
root@st-ThinkPad-E14:/etc/libvirt/qemu/networks# nano br0.xml
root@st-ThinkPad-E14:/etc/libvirt/qemu/networks# virsh net-define /tmp/br0.xml
error: Failed to open file '/tmp/br0.xml': 没有那个文件或目录

root@st-ThinkPad-E14:/etc/libvirt/qemu/networks# virsh net-define br0.xml
Network macvtap0@wlp5s0 defined from br0.xml


root@st-ThinkPad-E14:/etc/libvirt/qemu/networks# virsh net-list --all
 Name              State      Autostart   Persistent
------------------------------------------------------
 macvtap0@wlp5s0   inactive   no          yes

root@st-ThinkPad-E14:/etc/libvirt/qemu/networks# virsh net-start macvtap0@wlp5s0

root@st-ThinkPad-E14:~# virsh net-list --all
 Name              State      Autostart   Persistent
------------------------------------------------------
 macvtap0@wlp5s0   inactive   no          yes

root@st-ThinkPad-E14:~# virsh net-autostart macvtap0@wlp5s0
Network macvtap0@wlp5s0 marked as autostarted

root@st-ThinkPad-E14:~# virsh net-list --all
 Name              State      Autostart   Persistent
------------------------------------------------------
 macvtap0@wlp5s0   inactive   yes         yes

页面输入: login

nmcli con show

nmcli dev status

可以看到HA连接了一个网口,名叫:Wired connection 1

然后继续输入:nmcli con edit "Wired connection 1" ,其中 Wired connection 1 是要改成自己HA网口的名字的

print ipv4 看一下当前的网口配置参数的,这时候可以看到网口参数是自动配置的,网关DNS这些都是空的

set ipv4.addresses 192.168.1.123/24 设置自己想要的ip地址,注意不要漏了 /24

第一次修改ip地址会提示是否改为"手动"设置,输入y确认就行

输入:set ipv4.dns 192.168.1.200 设置DNS,DNS地址就指向旁路由的ip地址

输入:set ipv4.gateway 192.168.1.200 设置网关,网关地址也是指向旁路由的ip地址


如果没问题就输入:save 保存,会提示更新成功,然后输入:quit 退出设置。

输入:nmcli con reload 重新载入

最后重启虚拟机

reboot

HA就可以通过手动设置的旁路由网关正常联网了,能够联网的情况下HA就能正常安装启动成功,然后出现ip地址的页面

获取不到IP

bash 复制代码
如果你想修改或者重置网口参数的话,直接用  set ipv4.dns xxxxx 是不行的,它会添加多个dns,而不是修改以前的dns

nmcli connection modify <connection_name> ipv4.dns <new_dns_server> (将 <connection_name> 替换为您的网络连接名称,<new_dns_server> 替换为您想要设置的新 DNS 服务器地址)

ip更改类似

还有一个有笨办法就是把网口配置全部删除,然后新建网口配置。

输入:nmcli con delete "Supervisor enp0s3"   就可以把网口配置全部删除了

此时使用 nmcli dev status 命令可以看到网口是 disconnect 的

然后再输入 nmcli con add type ethernet con-name main ifname enp0s3 可以新建网口,其中 main 是新建网口的名称,可以随意,不用跟原来的一样,enp0s3 就是你物理网口的名称了,这个根据你自己的网卡来

新建网口之后再次用 nmcli con edit "Supervisor enp0s3" 命令就可以重新按照上面的方法自定义网口参数了,这时候edit的名称就是你新建网口的 main 的名称了,这个要注意。

使用 nmcli 命令来重启网卡,您可以使用以下命令:

    查找您要重启的网络连接名称:

nmcli connection show

重启网络连接:

sudo nmcli connection down <connection_name> && sudo nmcli connection up <connection_name>

(将 <connection_name> 替换为您要重启的网络连接名称)

Ubuntu 下Docker安装 HAOS(放弃)

1.安装docker

bash 复制代码
apt install docker.io

突然不想这样安装了 ,放弃

四、联想E14笔记本安装ESXI6.7并部署HAOS

1.下载ESXI6.7安装镜像文件

去找网卡驱动集成到镜像的安装文件,先看看自己网卡是上面型号我这笔记本是瑞昱8168是有线网卡

下载镜像

我也试了最新版8.0的没有网卡驱动安装失败

2.进入PE把安装文件ISO提取到本地,然后重启电脑,就会自动引导安装,你也可以把镜像文件写到U盘安装

具体单硬盘如何安装,可参考我这篇类似文章-点我

3.开机进入引导界面
按F11

OK

默认

4.设置管理员root密码

F11安装

完成按回车重启

5.重启前检查网线连通性

成功启动,显示IP

6.局域网内电脑浏览器中输入上面IP,然后用前面设置root的账户密码登入

登入成功

7.激活自行解决

学习使用,及时删除

bash 复制代码
1.HV4WC-01087-1ZJ48-031XP-9A843
2.NF0F3-402E3-MZR80-083QP-3CKM2
3.4F6FX-2W197-8ZKZ9-Y31ZM-1C3LZ
4.JZ2E9-6D2DK-XZQD0-632E4-33E7Z
5.MZ48M-DNK56-ZZJD0-RTCE2-9321X
6.0Y0AJ-4P29H-LZV81-59AQ2-C291V

8.官网下载安装文件


9.创建虚拟机

最低推荐作业:

2 GB RAM 2 GB 内存
32 GB Storage 32 GB存储
2vCPU 2 个 vCPU

选择从OVA文件创建
选择刚才下载的.OVF文件
选择存储
选择网络
结束

完成

10.设置自动启动 ,查看控制台

进入【主机】-【管理】-【系统】-【自动启动】

又出现网络问题

11.最后科学上网解决

简单讲下我这原理,公司网络环境,一台安装软路由opwrt,然后在服务里找到pwl配置订阅,启用服务选择适合节点,最后手动订阅

4台电脑、一台安装软路由opwrt(需要两张网卡)接笔记本共享笔记本无线网络,一台电脑安装好HAOS接到opwrt,一台电脑调试。期间可以把EXIS和HA管理地址在opwrt配置端口转发,这样好管理

等待20分钟

12.创建账户

设置地区
下一步
完成
13.成功进入页面
版本

相关推荐
低调D树苗8 个月前
iStoreOS系统内安装HomeAssistant服务
home assistant·istoreos
春天不是读书人1 年前
Home Assistant使用ios主题更换背景
ios·智能家居·home assistant·更换背景图