Home Assistant教程:自动化入门指南

导航到

在这篇文章中,我们将深入了解Home Assistant,这是一个连接您家庭智能设备的开源平台。我们将逐一介绍Home Assistant的每个重要部分:仪表盘、集成、附加组件、设备与实体、自动化、脚本和场景。此外,我们还将介绍如何使用Home Assistant的图形用户界面设置Home Assistant并创建自动化。

Home Assistant是如何工作的?

Home Assistant是一个开源智能家居平台,允许您连接您的智能家居设备,如电视、风扇、摄像头、恒温器、灯光和传感器。作为用户,您可以使用Home Assistant用户友好的、统一的基于Web的用户界面构建复杂的自动化。

Home Assistant 意味着您不需要是程序员或计算机科学家就能让设备与您的智能家居协同工作。您可以轻松地构建和测试自动化,无需编写任何代码。Home Assistant 的复杂性可以根据您愿意投入的时间来调整。

Home Assistant 的重要部分

Home Assistant 拥有一些非常重要的功能,包括以下内容

  • 仪表板
  • 集成
  • 附加组件
  • 设备和实体
  • 自动化
  • 脚本
  • 场景

现在让我们逐一深入了解它们。

Home Assistant 仪表板

您安装并登录 Home Assistant 后,首先看到的是仪表板。仪表板是 Home Assistant 中用于显示信息的页面。您添加到 Home Assistant 的设备和服务越多,可显示的信息就越多。每当添加设备或服务时,Home Assistant 都会自动将它们的信息添加到默认仪表板中。但如果你愿意,你也可以掌控全局,显示你想要的内容。

仪表板由显示 Home Assistant 中设备和服务的信息的卡片组成。这些卡片可以通过用户界面或通过编辑 YAML 脚本来添加。尽管 Home Assistant 主要可以通过用户界面进行配置,但您仍然需要运行 YAML 脚本。因此,正确理解它是至关重要的。

Home Assistant 集成

集成是可以在 Home Assistant 中安装的附加软件,它允许 Home Assistant 连接到不同的平台,从而引入数据和设备。当安装集成时,这些集成提供的数据在 Home Assistant 中表示为设备和实体。目前,Home Assistant 中有 1,000 多个内置集成,这些集成得到了 Home Assistant 社区的全面支持。内置集成是 Home Assistant 直接支持的集成,它们通常会在您的 Wi-Fi 网络上自动被发现。对于自定义集成,还有一个 Home Assistant 社区商店,它可以作为一个集成本身安装,并为您提供访问数千个这些自定义集成的方式。

Home Assistant 附加组件

有时集成和附加组件会被混淆,但我们应该将它们区分开来,因为它们实际上是不同的。根据您的安装类型,您可能或可能没有安装附加组件的能力。附加组件是与 Home Assistant 一起运行的程序,以及 Home Assistant 所运行的任何硬件。它们可以轻松快速地在 Home Assistant 中安装、配置和运行。

集成仅连接 Home Assistant 与众多应用程序、设备和服务,而附加组件则提供额外的功能。

附加组件的一个例子是 Z-Wave JS 服务器,它作为所有 Z-Wave 设备的服务器在 Home Assistant 旁边运行。然后,这些设备通过 Z-Wave JS 集成连接到 Home Assistant。其他例子还包括文件编辑器,它允许您直接在 Home Assistant 中编辑您的配置文件。

Home Assistant 设备和实体

在Home Assistant中,实体代表系统内功能逻辑分组。另一方面,设备则指通过集成连接到Home Assistant的物理设备。然而,实体可以独立添加,无需将它们分组到设备中。实体不仅包括设备,还包括自动化、脚本和场景。例如,Home Assistant中的飞利浦Hue运动传感器包括温度、照度、占用传感器和运动检测器,每个都作为设备分组中的单独实体表示。实体可以有不同的类型,如二元传感器和运动传感器,并显示各种状态。例如,当检测到运动时,运动传感器可能处于“开启”状态,而当未检测到运动时,可能处于“关闭”状态。还可能有数值状态,如温度传感器状态为70°F。此外,实体还可以具有提供其状态额外信息的属性。

Home Assistant自动化

自动化是使某些动作自动发生的过程。Home Assistant中的自动化通常包括以下内容

  • 触发器:这是使这些动作发生的一个提示。
  • 条件:这些是规定动作是否应该发生的规则。
  • 动作:这表示当自动化被触发时,Home Assistant将执行的动作。

以下是一个简单的自动化的例子。

例如,一个像飞利浦Hue传感器一样的运动传感器设备有一个运动传感器实体。当该实体开启(表示有运动)时,它将触发一个自动化,将灯光打开。自动化有一个条件,即在晚上8点之后才触发。因此,灯光只在夜间打开。

Home Assistant脚本

脚本与自动化类似,允许您逐个执行多个动作。这里的主要区别是脚本没有触发器,这意味着它们不能自动运行。它们必须由自动化调用。例如,如果您有一系列动作要在多个自动化中运行,您可以创建一个单独的脚本,每个自动化都可以调用该单个脚本。这样,如果需要更改动作,您只需更改一个脚本而不是两个自动化。在脚本中,如果需要,可以在步骤之间添加延迟。您还可以使用卡片从您的Home Assistant仪表板触发脚本。

以下是一个脚本的例子:投影仪设置。我们选择这个作为脚本,因为,比如说,您想以两种不同的方式触发投影仪设置运行。首先,您想使用仪表盘按钮和任何可以按下的智能物理按钮来运行设置。现在,当您按下启动按钮时,它将触发自动化以调用投影仪设置脚本。这个脚本将降低投影仪的屏幕,打开投影仪,并将HDMI作为输入。

Home Assistant场景

场景是一组保存的实体状态,可以用作Home Assistant自动化或脚本。例如,您可以设置两个不同的场景,一个是早晨,一个是晚上,它们都有特定的亮度和灯光颜色,然后您可以运行一个自动化,根据一天中的时间改变场景。这似乎表明自动化或脚本可以做到场景可以做到的事情,所以没有场景的必要。然而,相反,自动化和脚本用于动作,而场景用于设置实体的状态。自动化和脚本遵循顺序流程,如果触发器不满足,则可以中断,而场景是同时执行的。

设置Home Assistant

设置Home Assistant有两个步骤

  • 安装
  • 初始设置向导

安装

在您的系统上设置Home Assistant的第一步是安装它。有多种方法可以使Home Assistant在您的设备上运行,以下是一些方法:

  • 树莓派
  • 虚拟机
  • Docker
  • Windows
  • macOS
  • Linux

要使Home Assistant运行,您需要访问官方Home Assistant网站(www.home-assistant.io)上的安装选项列表,然后按照相应安装选项提供的说明进行操作。

初始设置向导

在此初始设置向导步骤中,您需要填写空白字段(名称、用户名、密码)以创建账户。填写详细信息后,现在您可以点击“创建账户”。下面是详细信息。Home Assistant初始设置向导

下一页显示了您为设置您的家庭名称、位置和单位系统提供的字段和选项。您可以使用地图手动获取您首选的位置,或者您可以通过点击“检测”选项简单地检测您的位置。此外,根据您的位置,您还需要设置时区、货币和单位系统。之后,您点击“下一步”。下面是详细信息。为您的Home Assistant设置名称、位置和单位系统

下一屏询问您是否想与Home Assistant共享任何数据。这完全取决于您自己决定。之后,点击“下一步”。下面是详细信息。与Home Assistant共享数据

现在下一屏显示了一大批可以导入到Home Assistant中的设备。您可以选择现在或稍后设置这些设备。最后,您点击“完成”。下面是详细信息。Home Assistant设备和服务

太棒了!我们现在可以看到Home Assistant仪表板了!Home Assistant GUI

在Home Assistant中设置自动化

在Home Assistant中有两种配置自动化的方法。您可以直接在Home Assistant用户界面中使用内置的自动化编辑器,或者您可以直接在YAML脚本中手动编写它。在这篇文章中,我们将使用Home Assistant内置的自动化编辑器。

以下步骤向您展示了如何构建一个基本的自动化,当前门打开时发送一个简单的通知。

自动化和场景

  • 您可以在“设置”下找到自动化编辑器,在该设置下,您可以找到“自动化和场景”。现在当“设置”打开时,点击“自动化和场景”。

  • 点击右下角的“创建自动化”。

  • 现在您可以选择使用蓝图或从空自动化开始。由于我们的目标是创建一个新的自动化,因此请选择“从空自动化开始”。

  • 现在您已经拥有了自动化的三个部分:触发器条件操作,这些在之前的文章中已经定义过了。现在在触发器下选择+ 添加触发器来添加一个触发器。

触发器

  • 触发器下,您会看到很多触发选项可供选择,我们将使用状态。现在从列表中选择状态。在实体的空白处,键入前门。在搜索结果中,选择前门的实体。在从和到中,分别填写关闭和打开。现在我们已经完成了触发器的设置,接下来是添加条件。现在选择在条件下可找到的+ 添加条件。以下是详细信息。

条件

  • 条件下,您会找到一系列选项可供选择。任何这些条件都必须为真,自动化才能继续。由于在我们的案例中,我们只发送通知,我们将确保当人们不在家时才发生自动化。因此,我们将使用太阳作为该上下文的代理。对于条件,我们将使用提供的选项列表中的状态。现在我们将实体和状态的空白处分别填写为太阳和高于地平线。请记住,只有在这些条件为真时,自动化才会继续。现在让我们进行操作,因为我们已经完成了条件。现在选择在操作下可找到的+ 添加操作。以下是详细信息。

操作

  • 操作下,您会找到一系列选项可供选择。现在我们将选择调用服务。为了填写服务的空白,在搜索栏中键入mobile(因为我们打算使用移动应用程序来接收通知)。遗憾的是,您可能无法在搜索结果中找到通知服务。但是,然后从搜索结果中选择任何名称中包含“mobile_app”的服务。此外,现在您已经做出了选择,系统将提示您可以使用的其他属性。请注意,没有复选框的选项是必填项,而有复选框的选项是可选的。让我们勾选消息选项,并将其标签设置为前门已打开。下面是详细信息。

  • 现在,如果我们想,我们可以检查标题,并将其设置为门通知。最后,点击保存。

太棒了!过程已经完成。所以,每当有人打开前门时,您都会收到这样的通知:

摘要

Home Assistant允许用户自动化和控制家用电器,如摄像头、恒温器、照明和传感器。要将在您的系统上成功安装Home Assistant软件,您必须选择最适合您的安装选项。安装选项列表以及成功在您的系统上安装Home Assistant所需的步骤可在Home Assistant官方网站上找到。安装完成后,您应使用初始设置向导设置个人Home Assistant,以通过连接智能家庭设备来使用它。您可以使用Home Assistant中的GUI功能创建自动化,其中您需要放置触发器、条件和操作,这些是自动化成功运行的必要功能。

本文由Theophilus Onyejiaku撰写。 Theophilus 拥有超过5年的数据科学家和机器学习工程师经验。他在数据科学、机器学习、计算机视觉、深度学习、目标检测、模型开发和部署等领域积累了专业知识。他在这些领域以及Python编程、数据分析等方面撰写了超过660篇文章。