Home Assistant是什么?
Home Assistant 是一个开源的智能家居平台,旨在通过集成各种智能设备和服务,提供一个统一的、可自定义的家庭自动化解决方案。它可以允许用户监控、控制和自动化家中的各种设备,包括灯光、温度、安全系统、多媒体设备等等
传统的智能家居系统通常限定用户只能接入它们自己的平台,例如米家、Aqara等。尽管其中一些产品支持HomeKit控制,但它们往往价格较高,而且无法与其他厂家的智能设备实现良好的联动。如果要在一个厂家定制一整套智能家居系统,其定制价格可能不适合一般用户。
通过使用Home Assistant,你可以将Apple HomeKit、米家、Aqara、涂鸦、海尔等一系列设备集成到一个平台中。这样一来,你不再受限于单一平台,可以自由控制各种设备,实现它们之间的智能联动。这为用户提供了更大的自由度和灵活性,让智能家居的控制变得更加方便和个性化。
1.启用Hyper-V
如果你使用Windows10/11家庭版,那么系统原生是不带Hyper-V组件的,需要自行另外安装。
如果你使用Windows10/11专业版,那么系统原生已经自带了Hyper-V组件,我们仅需要简单的开启一下即可,方法如下:
然后将“Hyper-V”下面的“Hyper-V管理工具”和“Hyper-V平台”全部勾选,再勾选上“Windows虚拟机监控程序平台”和“虚拟机平台”两个选项。
点击确定后,Windows会自动开始安装Hyper-V组件,整个过程需要几分钟时间,耐心等待完成后,点击“关闭”即可。
2.下载Home Assistant系统
官网下载较慢,可以下载我上传csdn的这个:
https://download.csdn.net/download/taotao_guiwang/89543504
解压缩这个文件,我们可以得到haos_x86-64-vm_cn-12.3.1.vhdx这个镜像文件。现在,我们需要将这个文件放到你打算安装Home Assistant的文件夹中,后期我们不能再将此文件移动或删除。否则就相当于把整个Home Assistant系统移除了。
3.安装
在Windows搜索框中输入“Hyper-V”,然后点击打开“Hyper-V管理器”。
先左键点击,选中当前的Windows主机名,然后点击右侧的“虚拟交换机管理器”。
然后我们依次点击“新建虚拟网络交换机”—“外部”—“创建虚拟交换机”。这一步的目的,是使我们的Hyper-V虚拟机可以访问网络。
接下来,为虚拟交换机起一个名字,这里我就叫做LAN。在连接类型中,我们选择“外部网络”,并且在下拉框中选中想要给Hyper-V使用的网卡,建议选择有线网卡。最后勾选“允许管理操作系统共享此网络适配器”。
接下来,我们回到Hyper-V主界面,在右侧操作栏下面,点击“新建”—“虚拟机”。
选择“第二代”
在分配内存页面中,我们需要最少分配2048MB启动内存,因为这是HAOS的最小运行配置(2G RAM),并勾选“为此虚拟机使用动态内存”。当然,如果你的Windows主机内存充裕,多分配一些更好。
这里有一个需要注意的地方,就是我前面提到,Windows主机本身的内存最少要有8G才可以。得益于Win10/W11出(yi)类(pao)拔(gou)萃(shi)的内存管理机制,本身Win操作系统开机就会占据2-2.5G内存。再加上Win主机上运行的其他软件占用,如果内存小于8G的话,很可能会造成虚拟机没有足够内存正常运行。
接下来,在配置网络界面,为虚拟机选择刚刚创建的那个网络连接,我这里是LAN。
点击下一步后,来到连接虚拟硬盘页面。选择“使用现有虚拟硬盘”,然后通过“浏览”按钮,将位置的路径指向haos_x86-64-vm_cn-12.3.1.vhdx镜像文件,并点击“下一步”。
再次检查一下所有信息无误,就可以点击“完成”了。
现在可以发现,我们已经有了一个处于“关机”状态的HomeAssistant虚拟机。
接下来,右键单击这条虚拟机名称,然后点击“设置”。
点击选择左侧的安全选项卡,然后将“启用安全启动”前面的√取消掉,点击确定。
启动
这时候,可以看到Home Assistant虚拟机处于运行状态了。CPU使用率,内存占用和运行时间都可以正常看到。但实际上,这时Home Assistant的安装并未真正完成。我们需要双击下面的小窗口打开Home Assistant系统页面:
启动后,就可以看到虚拟机的IP地址和Home Assistant的端口号了。比如我这里,虚拟机IP地址是10.86.32.143, Home Assistant服务端口号是8123。但是注意,这里最上面一行字,仍然是“Waiting for Supervisor to startup”,也就是说Home Assistant没有真正开启,我们还需要进行初始化才可以使用。
初始化
可以了