模板锁


模板平台创建结合组件的锁。

例如,如果您的车库门带有操作电动机的拨动开关和一个使您知道门是打开还是关闭的传感器,则可以将其合并到知道车库门是打开还是关闭的锁中。

这可以简化GUI并使其更容易编写自动化。

在乐观的模式下,锁将在每个命令后立即更改状态。否则,锁将等待模板的状态确认。如果经历不正确的锁定操作,请尝试启用它。

配置

要在安装中启用模板锁,请将以下内容添加到您的configuration.yaml文件:

#示例Configuration.yaml条目-平台模板姓名车库门value_template{{{IS_STATE('Sensor.door','上')}}””服务switch.turn_on目标ENTITY_IDswitch.door开锁服务switch.turn_off目标ENTITY_IDswitch.door

配置变量

姓名 细绳 ((可选的,默认:模板锁

在前端使用的名称。

唯一身份 细绳 ((可选的

一个唯一标识此锁定的ID。将其设置为唯一值,以通过UI自定义。

value_template 模板 必需的

定义一个模板以设置锁定状态。

availability_template 模板 ((可选的,默认:正确

定义一个模板以获取可用的实体状态。如果模板无法渲染或返回真的,,,,“ 1”,,,,“真的”,,,,“是的”,,,,“上”,,,,“使能够”,或一个非零的数字,实体将是可用的。如果模板返回任何其他值,则实体将为不可用。如果未配置,实体将始终是可用的。请注意,字符串比较不敏感;“真的”“是的”被允许。

模板变量

基于州的模板实体具有特殊模板变量这个在他们的模板中可用。这这个可变辅助工具自我引用模板中实体的状态和属性。

考虑因素

如果您使用的是一个需要额外时间加载的平台的状态,则模板锁可能会得到未知启动期间的状态。这会导致日志文件中的错误消息,直到该平台完成加载为止。如果您使用is_state()在模板中功能,您可以避免这种情况。例如,您将替换{{state('switch.source')=='on')}}}}以这种等效的返回真的/错误的并且永远不会给出未知的结果:{{is_state('switch.source','on'')}}}

例子

在本节中,您可以找到一些如何使用此锁的现实示例。

从开关锁定

此示例显示了一个从开关复制数据的锁。

-平台模板姓名车库门value_template{{{is_state('switch.source','上')}}””服务switch.turn_on目标ENTITY_IDSwitch.Source开锁服务switch.turn_off目标ENTITY_IDSwitch.Source

乐观的模式

此示例在乐观模式下显示了一个锁。该锁将立即在命令后改变状态,不会等待传感器的状态更新。

-平台模板姓名车库门value_template{{{IS_STATE('Sensor.skylight.State','上')}}””乐观的真的服务switch.turn_on目标ENTITY_IDSwitch.Source开锁服务switch.turn_off目标ENTITY_IDSwitch.Source

传感器和两个开关

此示例显示了一个从传感器中获取其状态的锁,并使用两个暂时的开关来控制设备。

-平台模板姓名车库门value_template{{{IS_STATE('Sensor.skylight.State','上')}}””服务switch.turn_on目标ENTITY_IDswitch.skylight_open开锁服务switch.turn_on目标ENTITY_IDswitch.skylight_close