Home Assistant OS 安装并初始化好以后,就可以开始进行一些基本配置
基本概念
HA OS的大部分重要概念都可以在配置页面(configuration)看到。
第1组概念有4个,分别是:
- Integrations:定义了与三方平台的接入协议(例如小米平台、iOS平台、Dyson产品、netgear产品等等)
- Devices:定义了接入HA OS的所有设备(例如手机、风扇、灯泡、吸尘器、传感器、打印机……)
- Entities:定义了系统中具体的一个一个属性(例如手机的电量、打印机剩余墨水量、手机剩余电量、空气湿度),这些属性可能是通过某一个设备(Device)提供的,也可能是通过某个集成(Integrations) 直接提供的
- Areas:用来定义家庭空间(比如卧室、厨房、客厅……)本质上就是设备(Devices)和实体(Entities)的一个分组功能(或者叫文件夹)
第2组概念有也4个:
分別是
- Blueprints 蓝图:本质上就是预制好的自动化(Automations)的模版,用来快速创建自动化流程(Automations)
- Automations 自动化流程:这是HA OS中构建智能家居最最最重要的模块,它可以定义一系列的自动化设备操作,并关联相关的触发条件与执行条件,来实现家中设备的自动运行。例如:如果检测到人经过就开灯,或者定时启动扫地机器人……
- Scenes 场景:场景用于批量执行设备状态的改变,例如我们可以设定一个电影场景:自动关闭窗帘和灯,并打开投影仪。或者睡眠场景:一起关掉所有的灯。一个场景由多个设备及其对应的状态来定义。
- Scripts 脚本:类似场景,脚本用于按顺序执行多个指令,比如:先拉开窗帘,再等10分钟,再响起闹钟……
第3组概念是
这是HA OS中关于人的概念,HA OS可以追踪家中每个人(People)的行踪:例如何时离家、何时到家,在家里的哪个位置(Zones)。同时还可以管理系统中的用户权限(Users)与登录信息。
HA OS追踪人的目的是为了便于触发人的位置相关的自动化流程,例如:当有人到家时,打开客厅的灯;或者如果所有人都不在家时,开启警报器。
配置文件编辑器
尽管HA OS提供了可视化界面配置以上所有的信息,但功能非常有限,许多细节上的调整都无法达成。因此我们需要安装一个文本编辑器直接编辑YAML配置文件。
首先在左侧导航栏选择 Supervisor 然后在右侧界面选择 Add on Store,然后选择 File Editor。
然后点击安装按钮安装即可,此时可以在左侧导航栏看到 File Editor
这里可以看到所有的系统配置相关的文件,官网中的使用说明大多通过 YAML 文件来配置,例如下图:
配置样例1 – 连接 Dyson平台
家里有一个 Dyson 空气净化器,一般通过 Dyson 手机 App控制。接入HomeAssistant 以后,可以被任何自动化脚本控制。
配置方法在官网有说明:https://www.home-assistant.io/integrations/dyson/
具体而言就是在 /config/configuration.yaml 文件中添加以下内容
dyson:
username: YOUR_DYSON_USERNAME
password: YOUR_DYSON_PASSWORD
language: YOUR_DYSON_ACCOUNT_LANGUAGE(US, FR, NL, GB, AU 之一)
系统会自动检测Dyson账号中的所有设备,并在系统中添加 Dyson 风扇、Dyson 风扇中的空气质量传感器、温度传感器、湿度传感器。如下图所示:
配置样例2 – 自动启动空气净化器
尽管Dyson的空气净化器有自动模式,但是启动规则无法自定义。这里我们可以使用HomeAssistant平台的自动化模块(Automations)来定义开启和关闭空气净化器的规则。
我在 /config/automations.yaml 中添加了如下定义:
- id: '1609373251074'
alias: CleanDust #这个自动化脚本的名字
description: ''
trigger: # 触发条件:dust传感器指数发生变化
- platform: state
entity_id: sensor.bedroom_dust
condition: []
action: #执行操作
- choose:
- conditions: # 先判断条件
- condition: state
entity_id: sensor.bedroom_dust # 如果dust传感器指数超过3
state:
- '3'
- '4'
- '5'
- '6'
- '7'
- '8'
- '9'
- '10'
sequence: #那么执行以下操作
- service: fan.set_speed #将空气净化器风速设为7
data:
speed: 7
entity_id: fan.bedroom
default: # 否则关闭空气净化器
- service: fan.turn_off
data: {}
entity_id: fan.bedroom
mode: single
以上的自动化流程的内容是,每当灰尘传感器指数发生变化时,如果灰尘指数大于3,就将空气净化器风速设为7档,否则关闭空气净化。
更详细的自动化流程创建语法可以参考官方手册 https://www.home-assistant.io/docs/automation/basics/