选择器
选择器可用于指定蓝图输入所接受的值。选择器还定义了输入在用户界面中的显示方式。
例如,一些选择器可以显示切换按钮以打开或关闭某项功能,而另一个选择器可以过滤设备列表,仅显示具有运动传感能力的设备。
在蓝图自动化输入上设置良好的选择器使得从用户界面使用蓝图更加方便。
当前可用的选择器如下:
- 动作选择器
- 附加组件选择器
- 区域选择器
- 属性选择器
- 助手管道选择器
- 备份位置选择器
- 布尔选择器
- 色温选择器
- 条件选择器
- 配置条目选择器
- 常量选择器
- 会话代理选择器
- 国家选择器
- 日期选择器
- 日期与时间选择器
- 设备选择器
- 持续时间选择器
- 实体选择器
- 楼层选择器
- 图标选择器
- 标签选择器
- 语言选择器
- 位置选择器
- 媒体选择器
- 数字选择器
- 对象选择器
- 二维码选择器
- RGB颜色选择器
- 选择选择器
- 状态选择器
- 目标选择器
- 模板选择器
- 文本选择器
- 主题选择器
- 时间选择器
- 触发器选择器
可以在Home Assistant设计门户上找到每个选择器的交互演示。
如果未定义选择器,将显示一个单行文本输入框。
动作选择器
动作选择器允许用户输入一个或多个动作序列。在用户界面上,将显示自动化编辑器的动作部分。输入的值将包含要执行的动作列表。
此选择器没有其他选项;因此,它仅有其键。
action:
此选择器的输出是一个动作列表。例如:
# 示例动作选择器输出结果
- action: scene.turn_on
target:
entity_id: scene.watching_movies
metadata: {}
附加组件选择器
此选择器仅可在带有监督的安装上使用。对于没有监督的安装,将显示错误。
附加组件选择器允许用户输入一个附加组件的slug。在用户界面上,它将列出所有已安装的附加组件,并使用所选附加组件的slug。
此选择器没有其他选项;因此,它仅有其键。
# 示例附加组件选择器
addon:
此选择器的输出是所选附加组件的slug。例如:core_ssh
。
区域选择器
区域选择器显示一个区域查找器,可以根据选择器配置选择单个或多个区域。输入的值将是区域ID,或者是区域ID列表,具体取决于multiple
是否设置为true
。
区域选择器可以根据分配给这些区域的设备和实体的属性过滤区域列表。例如,区域列表可能限制为由ZHA集成提供的区域。
在它的最基本形式中,此选择器不需要任何选项,将显示所有区域。
area:
Configuration Variables
当提供设备选项时,区域列表根据至少提供一个符合给定条件的设备的区域进行过滤。可以是一个对象或对象列表。
可以设置为一个集成域。根据设置的集成域限制提供设备的区域列表,例如, zha
。
当提供实体选项时,区域列表根据至少提供一个符合给定条件的实体的区域进行过滤。可以是一个对象或对象列表。
可以设置为一个集成域。根据设置的集成域限制提供实体的区域列表,例如, zha
。
限制提供特定域的实体的区域列表,例如,light
或 binary_sensor
。可以是一个单一域的字符串,或限制选择的字符串域列表。
限制区域列表为具有特定设备类别的实体的区域,例如,motion
或window
。可以是一个单一设备分类的字符串,或限制选择的字符串设备类列表。
此选择器的输出是区域ID,或者(如果multiple
设置为true
)区域ID的列表。
# 示例区域选择器输出结果,当multiple设置为false时
living_room
# 示例区域选择器输出结果,当multiple设置为true时
- living_room
- kitchen
示例区域选择器
一个示例区域选择器仅显示提供一个或多个灯光或开关的区域,由ZHA集成提供。
area:
entity:
integration: zha
domain:
- light
- switch
另一个示例使用区域选择器,仅显示提供一个或多个遥控器的区域,由deCONZ集成提供。可以选择多个区域。
area:
multiple: true
device:
- integration: deconz
manufacturer: IKEA of Sweden
model: TRADFRI remote control
属性选择器
属性选择器显示来自提供实体的状态属性列表,可以选择其中一个。
这允许选择,例如,来自灯光实体的“效果”属性,或来自sun
实体的“下一个黎明”属性。
此选择器的输出是所选属性键(不是显示在前端的翻译或美化名称)。
例如:next_dawn
。
助手管道选择器
助手管道选择器显示所有可用的助手管道(助手),可以选择其中一个。
此选择器没有其他选项;因此,它仅有其键。
assist_pipeline:
备份位置选择器
此选择器仅可在带有监督的安装上使用(操作系统或监督模式)。对于类型为Home Assistant CoreHome Assistant Core 是 Home Assistant 本身的核心。它是一个 Python 程序,支持每种安装类型,但可以独立安装。 [Learn more]或Home Assistant ContainerHome Assistant Container 是 Home Assistant Core 的独立容器化安装。任何 OCI
备份位置选择器显示备份可以去的地方列表,具体取决于您在存储中配置的内容。
此选择器的输出是所选网络存储的名称。如果用户选择使用本地数据磁盘选项而不是配置的网络存储位置之一,也可能是值/backup
。
backup_location:
布尔选择器
布尔选择器显示一个切换,允许用户打开或关闭所选选项。
布尔选择器适合用于添加功能开关,例如,蓝图。
此选择器没有其他选项;因此,它仅有其键。
boolean:
此选择器的输出为true
,当切换打开时为false
,否则为false
。
色温选择器
色温选择器允许您使用滑块从渐变中选择色温。
color_temp:
此选择器的输出是表示所选色温的数字,取决于所使用的单位。
条件选择器
条件选择器允许用户输入一个或多个条件。在用户界面中,将显示自动化编辑器的条件部分。输入的值将包含条件列表。
此选择器没有其他选项;因此,它仅有其键。
condition:
此选择器的输出是一个条件列表。例如:
# 示例条件选择器输出结果
- condition: numeric_state
entity_id: "sensor.outside_temperature"
below: 20
配置条目选择器
配置条目选择器允许用户选择一个集成配置条目。选择器返回所选集成配置条目的条目ID。
config_entry:
此选择器的输出是配置条目的条目ID,例如,6b68b250388cbe0d620c92dd3acc93ec
。
常量选择器
常量选择器显示一个切换,允许用户启用所选选项。这类似于布尔选择器,不同之处在于,常量选择器在未启用时没有值。
选择器的值必须配置,并选配一个标签。
constant:
value: true
label: Enabled
此选择器的输出是当切换打开时配置的值,否则没有输出。
会话代理选择器
会话代理选择器允许选择一个会话代理。
选择器有一个选项,language
。这根据语言过滤显示的会话代理。
conversation_agent:
language: en
此选择器的输出是会话代理的ID。
国家选择器
国家选择器允许用户从国家列表中选择一个国家。
country:
此选择器的输出是一个ISO 3166国家代码。
日期选择器
日期选择器显示一个日期输入,允许用户指定一个日期。
此选择器没有其他选项;因此,它仅有其键。
date:
此选择器的输出将包括以年-月-日(YYYY-MM-DD
)格式表示的日期,例如,2022-02-22
。
日期与时间选择器
日期选择器显示一个日期和时间输入,允许用户指定带有特定时间的日期。
此选择器没有其他选项;因此,它仅有其键。
datetime:
此选择器的输出将包括以年-月-日(YYYY-MM-DD
)格式表示的日期和以24小时格式表示的时间,例如:2022-02-22 13:30:00
。
设备选择器
设备选择器显示一个设备查找器,可以根据选择器配置选择单个或多个设备。输入的值将包含设备ID或设备ID的列表,具体取决于multiple
是否设置为true
。
设备选择器可以根据设备的制造商或型号、设备提供的实体或提供该设备的域过滤设备列表。
在它的最基本形式中,此选择器不需要任何选项,将显示所有设备。
device:
Configuration Variables
当提供实体选项时,设备列表根据至少提供一个符合给定条件的实体的设备进行过滤。可以是一个对象或对象列表。
可以设置为一个集成域。限制提供实体的设备列表以设置的集成域,例如, zha
。
限制提供特定域的实体的设备列表,例如,light
或 binary_sensor
。可以是一个单一域的字符串,或限制选择的字符串域列表。
限制设备列表为具有特定设备类别的设备,例如,motion
或window
。可以是一个单一设备分类的字符串,或限制选择的字符串设备类列表。
当提供过滤选项时,设备列表根据至少提供一个符合给定条件的实体的设备进行过滤。可以是一个对象或对象列表。
此选择器的输出是设备ID,或者(如果multiple
设置为true
)设备ID的列表。
# 示例设备选择器输出结果,当multiple设置为false时
faadde5365842003e8ca55267fe9d1f4
# 示例设备选择器输出结果,当multiple设置为true时
- faadde5365842003e8ca55267fe9d1f4
- 3da77cb054352848b9544d40e19de562
示例设备选择器
一个示例实体选择器,仅显示满足以下条件的设备:
这在YAML中看起来是这样的:
device:
filter:
- integration: deconz
manufacturer: Philips
model: RWL021
entity:
- domain: sensor
device_class: battery
持续时间选择器
持续时间选择器允许用户选择时间持续时间。这在延迟或偏移等情况中很有用。
duration:
此选择器的输出是用户选择的时间值的映射。例如:
days: 1 # 仅当enable_day设置为true时
hours: 12
minutes: 30
seconds: 15
milliseconds: 500 # 仅当enable_millisecond设置为true时
实体选择器
实体选择器显示一个实体查找器,可以根据选择器配置选择单个实体或实体列表。输入的值将包含实体ID或实体ID的列表,具体取决于multiple
是否设置为true
。
实体选择器可以根据设备的类别、实体的域或提供实体的域过滤实体列表。
在它的最基本形式中,此选择器不需要任何选项,将显示所有实体。
entity:
Configuration Variables
当提供过滤选项时,实体列表通过至少匹配给定条件的实体进行限制。可以是一个对象或对象列表。
可以设置为一个集成域。限制实体列表为提供于设置集成域的实体,例如, zha
。
限制实体列表为特定域的实体,例如, light
或 binary_sensor
。可以是一个单一域的字符串,或限制选择的字符串域列表。
限制实体列表为具有特定设备类别的实体,例如,motion
或window
。可以是一个单一设备分类的字符串,或限制选择的字符串设备类列表。
此选择器的输出是实体ID,或者(如果multiple
设置为true
)实体ID的列表。
# 示例实体选择器输出结果,当multiple设置为false时
light.living_room
# 示例实体选择器输出结果,当multiple设置为true时
- light.living_room
- light.kitchen
示例实体选择器
一个示例实体选择器仅显示满足以下条件的实体:
这在YAML中看起来是这样的:
entity:
multiple: true
filter:
- integration: zha
domain: binary_sensor
device_class: motion
楼层选择器
楼层选择器显示一个楼层查找器,可以根据选择器配置选择楼层。输入的值将是楼层ID。如果multiple
设置为true
,则值是楼层ID的列表。
楼层选择器可以根据分配给这些楼层的区域中设备和实体的属性过滤楼层列表。例如,楼层列表可能限制为由ZHA集成提供的楼层,以便于它们所在的区域。
在它的最基本形式中,此选择器不需要任何选项。它将显示所有楼层。
floor:
Configuration Variables
当提供设备选项时,楼层列表根据至少有一个设备匹配给定条件的楼层进行过滤。可以是一个对象或对象列表。
可以设置为一个集成域。限制拥有设备的楼层列表以此集成域。例如, zha
。
当提供实体选项时,列表仅包括至少有一个实体匹配给定条件的楼层。可以是一个对象或对象列表。
可以设置为一个集成域。限制拥有实体的楼层列表以此集成域。例如, zha
。
设置后,列表仅包括拥有特定域的实体的楼层,例如, light
或 binary_sensor
。可以是一个单一域的字符串,或限制选择的字符串域列表。
设置后,列表仅包括拥有特定设备类别的实体的楼层,例如,motion
或window
。可以是一个单一设备分类的字符串,或限制选择的字符串设备类列表。
此选择器的输出是楼层ID,或者(如果multiple
设置为true
)楼层ID的列表。
# 示例楼层选择器输出结果,当multiple设置为false时
first_floor
# 示例楼层选择器输出结果,当multiple设置为true时
- first_floor
- second_floor
示例楼层选择器
一个示例楼层选择器仅显示有一个或多个灯光或开关的楼层,由ZHA集成提供。
floor:
entity:
integration: zha
domain:
- light
- switch
另一个示例使用楼层选择器,仅显示有一个或多个遥控器的楼层,由deCONZ集成提供。可以选择多个楼层。
floor:
multiple: true
device:
- integration: deconz
manufacturer: IKEA of Sweden
model: TRADFRI remote control
图标选择器
图标选择器显示一个图标选择器,允许用户选择一个图标。
icon:
此选择器的输出是一个包含所选图标的字符串,例如:mdi:bell
。
标签选择器
标签选择器显示一个标签查找器,可以选择标签。输入的值是标签ID。如果multiple
设置为true
,则值是标签ID的列表。
在它的最基本形式中,此选择器不需要任何选项。它将显示所有标签。
label:
此选择器的输出是标签ID,或者(如果multiple
设置为true
)标签ID的列表。
# 示例标签选择器输出结果,当multiple设置为false时
energy_saving
# 示例标签选择器输出结果,当multiple设置为true时
- energy_saving
- christmas_decorations
语言选择器
语言选择器允许用户从语言列表中选择一个语言。
language:
此选择器的输出是一个RFC 5646语言代码。
位置选择器
位置选择器允许用户从地图中选择一个位置,并返回匹配的经度和纬度坐标。可选支持选择位置的半径。
location:
此选择器的输出是一个包含所选位置的纬度和经度的映射,以及如果启用,则为半径。 例如:
latitude: 50.935
longitude: 6.95
radius: 500 # 仅在radius设置为true时提供。
媒体选择器
媒体选择器是一个强大的选择器,允许用户轻松选择将在媒体设备上播放的媒体。媒体可以是很多东西,例如,摄像头、本地媒体、文本转语音、Home Assistant仪表板等等。
用户选择播放媒体的设备,并自动限制适合所选设备的可选择媒体。
media:
媒体选择器的输出是一个包含有关选定媒体设备和要播放的选定媒体信息的映射。还有元数据,由前端使用,且不应在后端使用。
示例输出:
entity_id: media_player.living_room
media_content_id: media-source://tts/cloud?message=TTS+Message&language=en-US&gender=female
media_content_type: provider
metadata:
title: TTS Message
thumbnail: https://brands.home-assistant.io/_/cloud/logo.png
media_class: app
children_media_class: null
navigateIds:
- {}
- media_content_type: app
media_content_id: media-source://tts
- media_content_type: provider
media_content_id: >-
media-source://tts/cloud?message=TTS+Message&language=en-US&gender=female
数字选择器
数字选择器显示一个数字输入或滑动输入,允许用户指定一个数值。输入的值将包含选择的值。
在用户界面中,输入可以是滑块模式或数字模式。两种模式都通过最小值和最大值限制用户输入,并可以有一个单位来配合。
在其最基本的形式中,此选择器需要一个最小值和一个最大值:
number:
min: 0
max: 100
此选择器的输出是一个数字,例如:42
示例数字选择器
一个示例数字选择器允许用户输入百分比,直接使用常规数字输入框。
number:
min: 0
max: 100
unit_of_measurement: "%"
更直观的变体可以使用滑块来实现。这对于允许用户选择灯光亮度级别等情况非常有帮助。此外,此示例以10%的增量改变亮度。
number:
min: 0
max: 100
step: 10
unit_of_measurement: "%"
mode: slider
对象选择器
对象选择器可用于以YAML形式输入任意数据。这对于如包含操作数据的列表和字典非常有用。输入的值将包含提供的数据。
此选择器没有其他选项;因此,它仅有其键。
object:
此选择器的输出是一个YAML对象。
二维码选择器
二维码选择器显示一个二维码。它没有返回值。
二维码的数据必须配置,另外,缩放和纠错级别也可以设置。缩放会使二维码变大或变小。
qr_code:
data: "https://home-assistant.io"
scale: 5
error_correction_level: quartile
RGB颜色选择器
RGB颜色选择器允许用户从用户界面的颜色选择器中选择颜色,并返回RGB颜色值。
color_rgb:
此选择器没有其他选项;因此,它仅有其键。
此选择器的输出是三个(RGB)颜色值的列表,例如:[255, 0, 0]
。
选择选择器
选择选择器显示一个可用选项的列表,用户可以从中选择。输入的值包含所选选项的值。每次只能选择单个选项。
选择器要求提供用户可以选择的选项列表。
select:
options:
- Red
- Green
- Blue
Configuration Variables
可以是list
(单选按钮)或dropdown
(组合框)模式。 如果未指定,小列表(5项或更少)以单选按钮显示。当添加更多项目时,使用下拉列表。如果custom_value
为true
,则将忽略此设置,前端将使用dropdown
输入。
允许通过集成提供的翻译,其中translation_key
是提供选择器选项字符串翻译的翻译键。有关更多信息,请参见 后端本地化中的文档。
另外,可以为选项使用映射。当您想要返回与用户所看到的内容不同的值时。
select:
options:
- label: Red
value: r
- label: Green
value: g
- label: Blue
value: b
当multiple
为false
时,此选择器的输出是所选选项值的字符串。例如,在最后一个示例中选择Green
时,它返回:g
,在第一个示例中将返回Green
。
当multiple
为true
时,此选择器的输出是所选选项值的列表。在这种情况下,如果选择了Green
,在第一个示例中将返回[“Green”],在最后一个示例中返回[“g”]。
状态选择器
状态选择器显示一个提供的实体的状态列表,可以选择其中一个。
此选择器的输出是所选状态(不是显示在前端的翻译或美化名称)。
例如:heat_cool
。
目标选择器
目标选择器是一个特殊选择器,允许用户选择目标实体、设备或区域进行操作。输入的值将包含操作接受的特殊目标格式。
可选择的目标可以根据实体或设备属性进行过滤。仅当某些实体或设备在这些区域中匹配这些属性时,区域才可选择作为目标。
在它的最基本形式中,此选择器不需要任何选项,这将允许用户选择系统中的任何实体、设备或区域。
target:
Configuration Variables
当提供设备选项时,目标受限于至少匹配给定条件的设备。可以是一个对象或对象列表。
可以设置为一个集成域。根据设置的集成域限制提供设备的目标,例如, zha
。
当提供实体选项时,目标受限于至少匹配给定条件的实体。可以是一个对象或对象列表。
限制目标为特定领域的实体,例如,light
或 binary_sensor
。可以是一个单一领域的字符串,或限制选择的字符串领域列表。
限制目标为具有特定设备类别的实体,例如,motion
或window
。可以是一个单一设备分类的字符串,或限制选择的字符串设备类别列表。
目标应与脚本序列中的操作的target
属性一起使用。例如:
actions:
- action: light.turn_on
target: !input lights
示例目标选择器
一个示例目标选择器仅显示目标,至少提供一个或多个灯光,由ZHA集成提供。
target:
entity:
- integration: zha
domain: light
另一个示例使用目标选择器,仅显示目标,提供一个或多个遥控器,由 deCONZ集成提供。
target:
device:
- integration: deconz
manufacturer: IKEA of Sweden
model: TRADFRI remote control
模板选择器
模板选择器可用于输入Jinja2模板。这对于允许更先进的用户输入非常有用,使用Jinja2模板。
此选择器没有其他选项;因此,它仅有其键。
template:
此选择器的输出是一个模板字符串。
文本选择器
文本选择器可用于输入文本字符串。如果multiple
设置为true
,还可以输入文本字符串的列表。输入的值将包含所选择的文本。这可以用于购物清单等。
除非设置multiline
为true
,否则此选择器的行为与未指定选择器完全相同,并将在用户界面上显示一个单行文本输入框。
text:
Configuration Variables
输入的类型。这提供了HTML type
属性color
、date
、datetime-local
、email
、month
、number
、password
、search
、tel
、text
、time
、url
、week
。
指导浏览器应该自动填写该字段的类型的信息。 这提供了HTML autocomplete
属性
此选择器的输出是一个单一的字符串值。
主题选择器
主题选择器允许从Home Assistant中安装的可用主题中选择一个主题。
theme:
此选择器的输出将包含所选主题,例如:waves_dark
。
时间选择器
时间选择器显示一个时间输入,允许用户指定一天中的时间。
此选择器没有其他选项;因此,它仅有其键。
time:
此选择器的输出将是24小时格式的时间,例如,23:59:59
。
触发器选择器
触发器选择器允许用户输入一个或多个触发器。在用户界面中,将显示自动化编辑器的触发器部分。输入的值包含触发器列表。
此选择器没有其他选项;因此,它仅有其键。
trigger:
此选择器的输出是触发器列表。例如:
# 示例触发器选择器输出结果
- trigger: numeric_state
entity_id: "sensor.outside_temperature"
below: 20
示例 - 与现有触发器合并
如果触发器应在已经定义了一些默认触发器的蓝图中存在,并且要合并附加可自定义的触发器,则需要在蓝图中使用- triggers
语法。
# 示例触发器选择器
input:
my_trigger_input:
selector:
trigger:
triggers:
- triggers: !input my_trigger_input
- platform: numeric_state
[...]