模板开关
这模板
平台创建结合组件的开关。
例如,如果您的车库门带有操作电动机的拨动开关和一个使您知道门是打开还是关闭的传感器,则可以将它们组合到知道车库门是打开还是关闭的开关中。
这可以简化GUI并使其更容易编写自动化。
配置
要在安装中启用模板开关,请将以下内容添加到您的configuration.yaml
文件:
#示例Configuration.yaml条目转变:-平台:模板开关:天空之光:value_template:“{{{IS_STATE('Sensor.skylight','在')}}””打开:服务:switch.turn_on目标:ENTITY_ID:switch.skylight_open关掉:服务:switch.turn_off目标:ENTITY_ID:switch.skylight_close
配置变量
您的开关列表。
定义一个模板以设置开关状态。如果未定义,则开关会乐观地假设所有命令都是成功的。
定义一个模板以获取可用的
实体状态。如果模板无法渲染或返回真的
,,,,“ 1”
,,,,“真的”
,,,,“是的”
,,,,“在”
,,,,“使能够”
,或一个非零的数字,实体将是可用的
。如果模板返回任何其他值,则实体将为不可用
。如果未配置,实体将始终是可用的
。请注意,字符串比较不敏感;“真的”
和“是的”
被允许。
定义开关打开时要运行的动作或操作列表。
定义开关关闭时要运行的动作或操作列表。
定义开关图标的模板。
为开关图片定义模板。
模板变量
基于州的模板实体具有特殊模板变量这
在他们的模板中可用。这这
可变辅助工具自我引用模板中实体的状态和属性。
考虑因素
如果您使用的是一个需要额外时间加载的平台的状态,则模板开关可能会得到一个未知
启动期间的状态。这会导致日志文件中的错误消息,直到该平台完成加载为止。如果您使用is_state()
在模板中功能,您可以避免这种情况。例如,您将替换{{states.switch.source.state =='on')}}}
以这种等效的返回真的
/错误的
并且永远不会给出未知的结果:{{is_state('switch.source','on'')}}}
例子
在本节中,您可以找到一些如何使用此开关的现实示例。
复制开关
此示例显示了一个复制另一个开关的开关。
转变:-平台:模板开关:复制:value_template:“{{{is_state('switch.source','在')}}””打开:服务:switch.turn_on目标:ENTITY_ID:switch.target关掉:服务:switch.turn_off目标:ENTITY_ID:switch.target
拨动开关
此示例显示了一个开关,该开关从传感器中获取状态并切换开关。
转变:-平台:模板开关:瞎的:友好名称:“瞎的”value_template:“{{{is_state_attr('switch.blind_toggle',“ sensor_state”,'在')}}””打开:服务:switch.toggle目标:ENTITY_ID:switch.blind_toggle关掉:服务:switch.toggle目标:ENTITY_ID:switch.blind_toggle
turn_on或turn_off的多个动作
此示例显示了turn_on和turn_off的多个服务调用。
转变:-平台:模板开关:复制:value_template:“{{{is_state('switch.source','在')}}””打开:-服务:switch.turn_on目标:ENTITY_ID:switch.target-服务:light.turn_on目标:ENTITY_ID:Light.target数据:brightness_pct:40关掉:-服务:switch.turn_off目标:ENTITY_ID:switch.target-服务:light.turn_off目标:ENTITY_ID:Light.target
传感器和两个开关
此示例显示了一个从传感器中获取其状态的开关,并使用两个暂时的开关来控制设备。
转变:-平台:模板开关:天空之光:友好名称:“天空之光”value_template:“{{{IS_STATE('Sensor.skylight','在')}}””打开:服务:switch.turn_on目标:ENTITY_ID:switch.skylight_open关掉:服务:switch.turn_on目标:ENTITY_ID:switch.skylight_close
更改图标
此示例显示了如何根据白天/夜间周期更改图标。
转变:-平台:模板开关:车库:value_template:“{{{IS_STATE('cover.garage_door','在')}}””打开:服务:cover.open_cover目标:ENTITY_ID:cover.garage_door关掉:服务:cover.close_cover目标:ENTITY_ID:cover.garage_dooricon_template:> -{%如果IS_STATE('cover.garage_door','open')%}MDI:车库开放{% 别的 %}MDI:车库{% 万一 %}
更改实体图片
此示例显示了如何根据白天/夜间周期更改实体图片。
转变:-平台:模板开关:车库:value_template:“{{{IS_STATE('cover.garage_door','在')}}””打开:服务:cover.open_cover目标:ENTITY_ID:cover.garage_door关掉:服务:cover.close_cover目标:ENTITY_ID:cover.garage_doorENTITY_PICTURE_TEMPLATE:> -{%如果IS_STATE('cover.garage_door','open')%}/local/garage-open.png{% 别的 %}/local/garage-closed.png{% 万一 %}