设置 Home Assistant 以管理您的开源智能家居

了解如何在关于家庭自动化的系列文章的第四篇中安装和配置 Home Assistant。
122 位读者喜欢这篇文章。
Working from home at a laptop

Opensource.com

在本系列的第一篇文章中,我介绍了Home Assistant 以及您可能对其感兴趣的原因。简而言之,Home Assistant 是当今市场上一些最常见的智能设备的自动化中心。它实现了不同硬件的集中协调。通过使用它,您不再需要为了从单个应用程序管理您的智能家居而选择来自单个供应商的次优技术。这也意味着您将不再需要费力使用数百个功能略有不同的应用程序来管理您的所有设备。一个程序统治一切……或者至少那是梦想。

在第二篇和第三篇文章中,我研究了在开发家庭自动化时需要做出的一些决策,即 本地控制与云控制,以及选择 Zigbee、Z-Wave 还是 WiFi,仅举几个要点。与之前的文章相比,这第四篇文章将更具实践性,它将引导您完成使用 Home Assistant 提供的镜像设置虚拟机 (VM) 的过程。

设置虚拟机

我不会介绍安装 Home Assistant (HA) 的所有可用方法。我在虚拟化环境中运行 HA,并且官方安装页面提供了 VMDK、VHDX、VDI、QCOW2 和 OVA 下载。我有一个基于 libvirt 的家庭实验室,所以我选择了 QCOW2 镜像。

无论您使用哪种虚拟机管理程序,都需要确保启动类型设置为 UEFI 而不是传统的 BIOS。在 Arch Linux 或 Fedora 中,您需要安装软件包 edk2-ovmf 才能在 Virt-Manager 中使用该选项。在 Ubuntu 中,该软件包名为 ovmf。安装软件包后,重启 libvirt。

当您创建虚拟机时,选择您下载的 HA 镜像。您可以接受 Virt-Manager 选择的默认选项,直到确认屏幕。确保选中标有 安装前自定义配置 的框。

当您执行此操作时,请务必将固件更改为 UEFI

重要提示:虚拟机创建后,您无法更改固件类型。如果您选择 BIOS,虚拟机将无法启动!

如果您需要扩展 HA 虚拟机可用的磁盘空间,请关闭虚拟机并运行

qemu-img resize hassos_ova-4.13.qcow2 +40G

启动后,新空间将自动分配到相应的分区。

首次启动可能需要相当长的时间,因为 HA 会从互联网上拉取最新版本的软件,并为初始启动和配置做好准备。为了安全起见,在尝试首次打开网页之前,请离开 10 分钟左右。根据我的经验,通常需要不到五分钟,但 10 分钟是系统启动并稳定下来的一个很好的时间。

首次设置

现在您应该可以通过将浏览器指向 http://homeassistant.local:8123 来访问 HA 界面。但是,这依赖于您的路由器支持自动 DNS 注册。您也可以通过其 IP 地址访问网页。在我的例子中,它是 http://192.168.122.90:8123

输入您的 HA 管理员帐户的用户名和密码。然后它会提示您选择一个位置。

正如您所看到的,您的位置用于“基于太阳的自动化”。这意味着它使用您的经度和纬度来确定日出和日落时间以及您的时区。例如,如果您有一个自动化设置,例如“在日出前 20 分钟打开书桌灯,并在日出后一小时关闭”,HA 会使用此位置信息来确定激活灯光的时间。不幸的是,您必须使用图形地图来设置此信息,并且在没有有效互联网连接的情况下可能无法正常工作。

完成此操作后,您将看到一个确认屏幕。

我更喜欢点击 完成 并使用完整的 UI 来配置我的设备,而不是在此处设置设备。当然,这是可选的。此屏幕可能会预填充一些集成,具体取决于 HA 是否已自动发现您网络上的设备。

初始用户设置

完成初始配置后,您将看到概览页面。HA 的默认界面称为 Lovelace。它是一个强大的 YAML 描述的界面。这意味着即使您无法在图形界面 (UI) 中选择某些用户界面 (UI) 元素,您也可以打开内置的 YAML 编辑器并自行添加它们。

Lovelace 的默认视图有一张卡片,显示基于您输入的位置的天气。单击左下角面板中的用户名(在本例中为stratus)。

这将弹出另一个包含多个选项的屏幕。找到 高级模式 并确保将其切换为开启状态。

此设置是按用户切换的,因此如果您有其他管理用户,则只有此用户(例如,stratus)将启用高级设置。启用 高级模式 后,会显示相当多的选项,但您想要的是对 HA 配置文件运行语法检查的功能。要查看实际效果,请导航到 服务器控制,方法是单击左下角面板中的 配置 选项,然后单击 服务器控制

单击 检查配置 按钮将检查所有 HA 配置文件的语法错误。如果未发现错误,您将看到一条绿色消息,显示 配置有效!

展望未来

现在 HA 已设置和配置完成,您已准备好真正深入研究它。在未来的文章中,我将解释如何

  • 安装和配置附加组件
  • 创建快照并运行 HA 更新
  • 安装 Home Assistant Community Store (HACS)
  • 通过内置选项配置实体
  • 使用 MQTT
  • 使用 NodeRed 创建自动化流程

以及更多。如果您还想了解其他内容,请在评论中分享。虽然我不是 Home Assistant 专家,但我会尽力回答您关于它的问题。

接下来阅读什么
User profile image.
Steve 是一位敬业的 IT 专业人士和 Linux 倡导者。在加入红帽之前,他曾在金融、汽车和电影行业工作多年。Steve 目前在红帽担任解决方案和技术实践架构师。他拥有从 RHCA(DevOps 领域)到 Ansible,再到容器化应用程序等各种认证。

6 条评论

您是否遇到过虚拟机和主机之间的端口冲突?我为我的以太网接口创建了一个桥接控制器,以便主机和虚拟机具有单独的 IP 地址。我似乎记得这是必要的。

我没有遇到任何端口冲突。VM 的性质默认情况下为它们提供了单独的网络命名空间。

在我的“生产” Home Assistant 上,我使用 MacVLAN 网络,因为主机和访客不需要通信。当主机和访客需要出于某种原因进行交互时,我使用桥接网络,但通常我使用 MacVLAN

回复 ,作者 Guy Streeter

完成初始配置后,您将看到概览页面。HA 的默认界面称为 Lovelace。它是一个强大的 YAML 描述的界面。这意味着即使您无法在图形界面 (UI) 中选择某些用户界面 (UI) 元素,您也可以打开内置的 YAML 编辑器并自行添加它们。https://mcdvoice.me/

Lovelace 的默认视图有一张卡片,显示基于您输入的位置的天气。单击左下角面板中的用户名(stratus 在本例中)。

https://mcdvoice.me/ 非常有帮助且内容丰富。感谢您分享这篇文章。

感谢这篇有用的文章。
我只是想了解您为什么要将其作为虚拟机运行?它需要 100% 的正常运行时间才能与所有物联网设备通信。或者我理解错了吗?

实际上,没有理由不以虚拟机方式运行程序。如果配置为故障转移,VM 可以将应用程序与主机故障隔离。它们还有助于“沙箱化”功能,方式与容器非常相似(尽管可以说更安全)。

由于具有故障转移和存储冗余的能力,VM 能够比单个物理设备(广义上讲)拥有更长的正常运行时间。

除此之外,这主要只是我个人的偏好。

旁注:Home Assistant 将在每次重新上线时重新连接到所有设备,因此虽然它必须 24/7 全天候运行才能控制所有设备,但如果 HA 实例离线,则重新配置方面没有任何损失

回复 ,作者 JJ

© . All rights reserved.