跳转到内容

Template Select

template Select 平台允许您使用 lambda 创建具有模板化值的 Select。

# 示例配置条目
select:
- platform: template
name: "Template select"
optimistic: true
options:
- one
- two
- three
initial_option: two
  • options (必填, list): 此 Select 拥有的选项列表。

  • lambda (可选, lambda): 在每个更新间隔评估以获取 select 当前选项的 Lambda。

  • set_action (可选, 动作): 当远程端(如 Home Assistant 的前端)请求设置 Select 选项时 应执行的动作。新选项在 lambda 中可通过变量 x 访问。

  • update_interval (可选, 时间): 执行 lambda 以更新 select 的间隔。默认为 60s。

  • optimistic (可选, boolean): 是否以乐观模式运行 - 在此模式下, 发送到 Template Select 的任何命令都会立即更新报告的状态。 不能与 lambda 一起使用。默认为 false。

  • restore_value (可选, boolean): 将状态保存并加载到 RTC/Flash 中。 不能与 lambda 一起使用。默认为 false。

  • initial_option (可选, string): 如果未 通过 restore_value 恢复,则在初始化时要设置的选项。 不能与 lambda 一起使用。默认为 options 列表中的第一个选项。

  • Select 中的所有其他选项。

NOTE

如果您没有设置 lambda 且 optimistic 为 false(默认值),则需要通过在 set_action 中使用 id(my_select).publish_state(x);(在 lambda 中)来处理 select 组件状态的更新。不要在此处使用 select.set 动作,因为这会产生循环。

您也可以在 YAML 文件的其他位置使用 select.set 动作 为模板 select 设置一个选项。