模板锁
这模板
平台创建结合组件的锁。
例如,如果您的车库门带有操作电动机的拨动开关和一个使您知道门是打开还是关闭的传感器,则可以将其合并到知道车库门是打开还是关闭的锁中。
这可以简化GUI并使其更容易编写自动化。
在乐观的模式下,锁将在每个命令后立即更改状态。否则,锁将等待模板的状态确认。如果经历不正确的锁定操作,请尝试启用它。
配置
要在安装中启用模板锁,请将以下内容添加到您的configuration.yaml
文件:
#示例Configuration.yaml条目锁:-平台:模板姓名:车库门value_template:“{{{IS_STATE('Sensor.door','上')}}””锁:服务:switch.turn_on目标:ENTITY_ID:switch.door开锁:服务:switch.turn_off目标:ENTITY_ID:switch.door
配置变量
定义一个模板以设置锁定状态。
定义一个模板以获取可用的
实体状态。如果模板无法渲染或返回真的
,,,,“ 1”
,,,,“真的”
,,,,“是的”
,,,,“上”
,,,,“使能够”
,或一个非零的数字,实体将是可用的
。如果模板返回任何其他值,则实体将为不可用
。如果未配置,实体将始终是可用的
。请注意,字符串比较不敏感;“真的”
和“是的”
被允许。
模板变量
基于州的模板实体具有特殊模板变量这个
在他们的模板中可用。这这个
可变辅助工具自我引用模板中实体的状态和属性。
考虑因素
如果您使用的是一个需要额外时间加载的平台的状态,则模板锁可能会得到未知
启动期间的状态。这会导致日志文件中的错误消息,直到该平台完成加载为止。如果您使用is_state()
在模板中功能,您可以避免这种情况。例如,您将替换{{state('switch.source')=='on')}}}}
以这种等效的返回真的
/错误的
并且永远不会给出未知的结果:{{is_state('switch.source','on'')}}}
例子
在本节中,您可以找到一些如何使用此锁的现实示例。
从开关锁定
此示例显示了一个从开关复制数据的锁。
锁:-平台:模板姓名:车库门value_template:“{{{is_state('switch.source','上')}}””锁:服务:switch.turn_on目标:ENTITY_ID:Switch.Source开锁:服务:switch.turn_off目标:ENTITY_ID:Switch.Source
乐观的模式
此示例在乐观模式下显示了一个锁。该锁将立即在命令后改变状态,不会等待传感器的状态更新。
锁:-平台:模板姓名:车库门value_template:“{{{IS_STATE('Sensor.skylight.State','上')}}””乐观的:真的锁:服务:switch.turn_on目标:ENTITY_ID:Switch.Source开锁:服务:switch.turn_off目标:ENTITY_ID:Switch.Source
传感器和两个开关
此示例显示了一个从传感器中获取其状态的锁,并使用两个暂时的开关来控制设备。
锁:-平台:模板姓名:车库门value_template:“{{{IS_STATE('Sensor.skylight.State','上')}}””锁:服务:switch.turn_on目标:ENTITY_ID:switch.skylight_open开锁:服务:switch.turn_on目标:ENTITY_ID:switch.skylight_close