模板吸尘器

template 平台创建结合集成的吸尘器,并提供运行脚本或调用动作的能力,以处理吸尘器的每个开始、暂停、停止、返回基站、清洁点、定位和设置风扇速度命令。

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

# 示例 configuration.yaml 条目
vacuum:
  - platform: template
    vacuums:
      living_room_vacuum:
        start:
          action: script.vacuum_start

Configuration Variables

vacuums map Required

您的吸尘器列表。

friendly_name string (Optional)

前端使用的名称。

unique_id string (Optional)

唯一标识此吸尘器的 ID。将此设置为唯一值以允许通过 UI 进行自定义。

value_template template (Optional)

定义获取吸尘器状态的模板。有效值: docked/cleaning/idle/paused/returning/error

battery_level_template template (Optional)

定义获取吸尘器电池电量的模板。合法值是介于 0100 之间的数字。

fan_speed_template template (Optional)

定义获取吸尘器风扇速度的模板。

attribute_templates map (Optional)

定义传感器属性的模板。

attribute: template template Required

属性及其对应的模板。

availability_template template (Optional, default: true)

定义获取实体的 available 状态的模板。如果模板呈现失败或返回 True"1""true""yes""on""enable" 或非零数字,则实体将是 available。 如果模板返回任何其他值,实体将是 unavailable。如果未配置,实体将始终是 available。注意,字符串比较不区分大小写;"TrUe""yEs" 是被允许的。

start action Required

定义吸尘器启动时运行的动作。

pause action (Optional)

定义吸尘器暂停时运行的动作。

stop action (Optional)

定义吸尘器停止时运行的动作。

return_to_base action (Optional)

定义吸尘器被给出返回基站命令时运行的动作。

clean_spot action (Optional)

定义吸尘器被给出清洁点命令时运行的动作。

locate action (Optional)

定义吸尘器被给出定位命令时运行的动作。

set_fan_speed action (Optional)

定义吸尘器被给出设置风扇速度命令时运行的动作。

fan_speeds string | list (Optional)

吸尘器支持的风扇速度列表。

模板和动作变量

基于状态的模板实体在其模板和动作中有特殊的模板变量 this 可用。this 变量有助于在模板和动作中对 entity实体表示 Home Assistant 中的传感器、执行器或功能。实体用于监控物理属性或控制其他实体。实体通常是设备或服务的一部分。 [Learn more] 的状态和属性进行自我引用

示例

使用 Harmony Hub 控制吸尘器

此示例展示了如何使用模板吸尘器通过 Harmony Hub Remote 集成 控制 IR 吸尘器。

vacuum:
  - platform: template
    vacuums:
      living_room_vacuum:
        start:
          - action: remote.send_command
            target:
              entity_id: remote.harmony_hub
            data:
              command: Clean
              device: 52840686
        return_to_base:
          - action: remote.send_command
            target:
              entity_id: remote.harmony_hub
            data:
              command: Home
              device: 52840686
        clean_spot:
          - action: remote.send_command
            target:
              entity_id: remote.harmony_hub
            data:
              command: SpotCleaning
              device: 52840686

吸尘器状态

此示例展示了如何使用模板指定吸尘器的状态。

vacuum:
  - platform: template
    vacuums:
      living_room_vacuum:
        value_template: "{{ states('sensor.vacuum_state') }}"
        battery_level_template: "{{ states('sensor.vacuum_battery_level')|int }}"
        fan_speed_template: "{{ states('sensor.vacuum_fan_speed') }}"
        start:
            action: script.vacuum_start
        pause:
            action: script.vacuum_pause
        stop:
            action: script.vacuum_stop
        return_to_base:
            action: script.vacuum_return_to_base
        clean_spot:
            action: script.vacuum_clean_spot
        locate:
            action: script.vacuum_locate_vacuum
        set_fan_speed:
            action: script.vacuum_set_fan_speed
            data:
              speed: "{{ fan_speed }}"
        fan_speeds:
            - Low
            - Medium
            - High

添加自定义属性

此示例展示了如何添加自定义属性。

vacuum:
  - platform: template
    vacuums:
      living_room_vacuum:
        value_template: "{{ states('sensor.vacuum_state') }}"
        battery_level_template: "{{ states('sensor.vacuum_battery_level')|int }}"
        fan_speed_template: "{{ states('sensor.vacuum_fan_speed') }}"
        attribute_templates:
          status: >-
            {% if (states('sensor.robot_vacuum_robot_cleaner_movement') == "after" and states('sensor.robot_vacuum_robot_cleaner_cleaning_mode') == "stop")  %}
              正在充电以便恢复
            {% elif states('sensor.robot_vacuum_robot_cleaner_cleaning_mode') == "auto" %}
              清洁中
            {% else %}
              正在充电
            {% endif %}