模板文本传感器
template 文本传感器平台允许你使用
lambda 创建具有模板化值的文本传感器。
# 示例配置条目text_sensor: - platform: template name: "Template Text Sensor" lambda: |- return {"Hello World"}; update_interval: 60slambda 的可能返回值:
-
return {"STRING LITERAL"};类型为std::string的传感器新值。必须在 花括号{}中 ! -
return {};如果不想发布新状态(高级)。
-
lambda(可选,lambda): 每个更新间隔求值一次以获取文本传感器新值的 Lambda。
-
update_interval(可选,Time):检查 文本传感器的间隔。设为
never以禁用更新。默认为60s。 -
来自 Text Sensor 的所有其他选项。
text_sensor.template.publish 动作
Section titled “text_sensor.template.publish 动作”你还可以使用 text_sensor.template.publish 动作从 YAML 文件的其他位置向模板文本传感器发布状态。
# 示例配置条目text_sensor: - platform: template name: "Template Text Sensor" id: template_text
# 在某个触发器中on_...: - text_sensor.template.publish: id: template_text state: "Hello World"
# 模板化 - text_sensor.template.publish: id: template_text state: !lambda 'return "Hello World";'配置选项:
- id(必选,ID):模板文本传感器的 ID。
- state(必选,string,templatable): 要发布的状态。
NOTE
此动作也可以在 lambda 中编写:
id(template_text).publish_state("Hello World");有用的模板传感器
Section titled “有用的模板传感器”这里有一些用于调试和跟踪项目信息的有用文本传感器。
# 示例配置条目text_sensor: - platform: template name: "ESPHome Project Version" id: esphome_project_version_text_short icon: "mdi:information-box" entity_category: "diagnostic" update_interval: 600s lambda: |- return { ESPHOME_PROJECT_VERSION };
- platform: template name: "ESPHome Project Version Detailed" id: esphome_project_version_text_detailed icon: "mdi:information-box" entity_category: "diagnostic" update_interval: 600s lambda: |- return { ESPHOME_PROJECT_VERSION " " + App.get_compilation_time() };
- platform: template name: "ESPHome Project Name" id: esphome_project_name icon: "mdi:information-box" entity_category: "diagnostic" update_interval: 600s lambda: |- return { ESPHOME_PROJECT_NAME };