Template 开关
template 开关平台允许你仅用操作和
可选的值 lambda 创建简单的开关。定义后,它将自动出现在 Home Assistant
中作为一个开关,并可以通过前端控制。
# Example configuration entryswitch: - platform: template name: "Template Switch" lambda: |- if (id(some_binary_sensor).state) { return true; } else { return false; } turn_on_action: - switch.turn_on: switch2 turn_off_action: - switch.turn_on: switch1可选 lambda 的可能返回值:
- 如果开关应报告为 ON,则
return true;。 - 如果开关应报告为 OFF,则
return false;。 - 如果应重复上一次状态,则
return {};。
-
lambda(可选,lambda): 重复评估的 lambda,用于获取开关的当前状态。
-
turn_on_action(可选,Action):当 远程(如 Home Assistant 前端)请求打开开关时应执行的操作。
-
turn_off_action(可选,Action):当 远程(如 Home Assistant 前端)请求关闭开关时应执行的操作。
-
optimistic(可选,布尔值):是否在乐观模式下运行 - 在此模式下, 发送到模板开关的任何命令都会立即更新报告的状态。 默认为
false。 -
assumed_state(可选,布尔值):开关的真实状态是否未知。 这将使 Home Assistant 前端显示 ON 和 OFF 两个操作的按钮,而不是 在开关处于 ON/OFF 时隐藏其中一个。默认为
false。 -
Switch 中的所有其他选项。
switch.template.publish 操作
Section titled “switch.template.publish 操作”你还可以使用 switch.template.publish 操作从 YAML 文件中的其他地方
向模板开关发布状态。
# Example configuration entryswitch: - platform: template name: "Template Switch" id: template_swi
# in some triggeron_...: - switch.template.publish: id: template_swi state: ON
# Templated - switch.template.publish: id: template_swi state: !lambda 'return true;'配置选项:
- id(必填,ID):模板开关的 ID。
- state(必填,布尔值,templatable): 要发布的状态。
NOTE
此操作也可以在 lambdas 中编写,publish_state 方法的参数表示
开关当前是开还是关:
id(template_swi).publish_state(false);