分组功能允许用户结果多个实体(entity)变成一个实体。

在设置状态(Set State)页面(在开发者工具中(Developer Tools))浏览现有实体(Current Engities),可以查看所有可用的实体。

# configuration.yaml 条目例子
group:
  kitchen:
    name: Kitchen
    entities:
      - switch.kitchen_pin_3
  climate:
    name: Climate
    entities:
      - sensor.bedroom_temp
      - sensor.porch_temp
  awesome_people:
    name: Awesome People
    entities:
      - device_tracker.dad_smith
      - device_tracker.mom_smith

配置变量

  • name

    • 字符串,可选
    • 分组的名称
  • entities

    • 列表,必选
    • 列表,或者逗号分隔的字符串,分给该组的实体。
  • all

    • bool量,可选
    • 如果这个设置成图true,那就表示只有当组内所有实体都是on的情况下,该组的状态才会变on。类似于与和或的区别。
    • 默认值,false
  • icon

    • 字符串,可选
    • 在前端显示的图标。(译者注,好像这是用在已经过旧的UI上。不推荐使用?)
  • view

    • bool量,可选
    • 也是用在过旧的UI上的
    • 默认值 false
  • control

    • 字符串,可选
    • 在lovelace模式中使用的特征。如果设置成hidden,这个组会被隐藏。

默认组

一些集成的设备,会自动创建一些特殊的组,包括所有的继承的实体。这些组都被命名成group.all_...,例如:

  • group.all_switches 所有的开关
  • group.all_lights 所有的额灯
  • group.all_devices 所有的设备
  • group.all_scripts 所有的脚本
  • group.all_automations 所有的自动化

可以在Developer Tools的State页面里看到这些组的列表。

组的表现

如果任何一个组内的成员是on的状态,那么这个组就会显示成on。类似的,对于追组起,如果任何一个成员在组内是home状态,那么整个组都是home状态。但是如果你设置all变量为true,那么组的表现则是相反。除非所有组员都是on,这个组才是on的状态。

自定义组的顺序

如果组内成员的顺序,不是你想看到的样子,可以把组内的顺序,用order:来自定义。

# configuration.yaml 将组员根据要求排序的例子
customize:
  group.all_automations:
    order: 1
  group.all_scripts:
    order: 2
group:
  automation_view:
    name: Automation
    view: true
    entities:
      - group.all_automations
      - group.all_scripts

改变entity_id

可以用UI界面修改entity_id,方法如下

  1. 选择实体,在前端Developer Tools的stats的tab页下,选择实体左边的感叹号的图标。
  2. 选择在跳出的对话框右上角的齿轮团。
  3. 输入新的实体id(注意,不要更改实体所属的域-在.之前的哪一个部分)
  4. 选择保存。

如果实体是不支持的类型,那就不能通过这个方法进行修改。需要根据下面几个方法进行修改。

自定义实体

默认情况下,所有设备都可以被查看到,并且有一个默认的图标。用户可以通过修改一些参数,来自定义首页上设备的长相。这可以通过重写一些特殊实体的参数完成。

通过UI自定义

在Configuration惨淡下,可以看到Customization菜单。如果这个项目不可见,通过再profile page中定义高级模式来启动它。如果选中任意一个实体进行自定义,可以看到下属的属性。同时,用户也可以在configuration.yaml文件中,定义或者添加如下代码

homeassistant:
  customize: !include customize.yaml

可选的属性

friendly_name

容易记的名字

homebridge_name

在homebridge中显示的名字

hidden

如果为true这个实体不会显示

homebridge_hidden

在homebridge中是否隐藏

emulated_hue_hidden

这个会逐步废弃。

entity_picture

使用一个URL,实体会使用这个图片。

icon

任何一个图标。图标可以在[material design icons](http://materialdesignicons.com/)中找[CheatSheet](https://cdn.materialdesignicons.com/4.5.95/)。必须要以 `mdi:` 开头。例如 `mid:home` 注意,比较新的一些图标可能在当前版本中无法使用。可以在这个链接查看哪些图标在不同版本中添加。[(mdi图标添加历史)](https://materialdesignicons.com/history)

assumed_state

对于有两个状态的开关的一个默认状态。具体怎么用需要笔者测试一下。默认值是true

device_class

设备的类型。修改了设备类型同时会修改在UI界面显示的图标

unit_of_measurement

测量的单位,如果有测量值。会影响界面上和历史状态的可视化图表上的单位。

initial_state

初始状态,对于自动化来说,on或者off

Device Class

现在有如下三种设备类型是支持的:
* 二元传感器(表示开或者关的状态)
* 传感器
* 帘(窗帘,车库门等等覆盖用的)

手动自定义

如下是一个手动自定义的例子

homeassistant:
  name: Home
  unit_system: metric
  # etc

  customize:
    # Add an entry for each entity that you want to overwrite.
    sensor.living_room_motion:
      hidden: true
    thermostat.family_room:
      entity_picture: https://example.com/images/nest.jpg
      friendly_name: Nest
    switch.wemo_switch_1:
      friendly_name: Toaster
      entity_picture: /local/toaster.jpg
    switch.wemo_switch_2:
      friendly_name: Kitchen kettle
      icon: mdi:kettle
    switch.rfxtrx_switch:
      assumed_state: false
  # Customize all entities in a domain
  customize_domain:
    light:
      icon: mdi:home
    automation:
      initial_state: 'on'
  # Customize entities matching a pattern
  customize_glob:
    "light.kitchen_*":
      icon: mdi:description
    "scene.month_*_colors":
      hidden: true
      emulated_hue_hidden: false
      homebridge_hidden: true

重新加载自定义

Home Assistant提供一个服务来重新加载核心的配置。改服务叫做 homeassistant.reload_core_config 这个运行用户修改自定义的部分并且不需要重启Home Assistant来应用那些设置。需要在Developer Tools的页面中Service的tab页中选中homeassistant.reload_core_config 并且单击“CALL SERVICE”按钮。同时,你也可以在Configuration > Server Control页面中,选择“Reload Core”这个选项。


jilaqi
1 声望1 粉丝