2022-07-25 13:39:13 +02:00

6.2 KiB

title, description
title description
Actions Define what an object does when interacted with.

Some cards have support for tap actions. These actions define what will happen when you tap or hold on an object within a card.

Actions can be enabled on:

Tap-Action

Action that will be performed when an object on a card is tapped.

tap_action:
  action: toggle

{% configuration tap-action %} tap_action: required: false description: Action taken on tap. type: map keys: action: required: true description: "Action to perform (more-info, toggle, call-service, navigate, url, none)" type: string default: "toggle (some cards overwrite default to more-info if the provided entity cannot be toggled)" navigation_path: required: false description: "Path to navigate to (e.g., /lovelace/0/) when action defined as navigate" type: string default: none url_path: required: false description: "Path to navigate to (e.g., https://www.home-assistant.io) when action defined as url" type: string default: none service: required: false description: "Service to call (e.g., media_player.media_play_pause) when action defined as call-service" type: string default: none data: required: false description: "Service data to include (e.g., entity_id: media_player.bedroom) when action defined as call-service" type: string default: none confirmation: required: false description: "Present a confirmation dialog to confirm the action. See confirmation object below" type: [boolean, map] default: "false" {% endconfiguration %}

Hold Action

Action that will be performed when an object on a card is tapped, held for at least half a second and then released. Action will only be triggered once, not continuously during hold.

hold_action:
  action: toggle

{% configuration hold_action %} hold_action: required: false description: Action taken on tap-and-hold type: map keys: action: required: true description: "Action to perform (more-info, toggle, call-service, navigate, url, none)" type: string default: "more-info" navigation_path: required: false description: "Path to navigate to (e.g., /lovelace/0/) when action defined as navigate" type: string default: none url_path: required: false description: "Path to navigate to (e.g., https://www.home-assistant.io) when action defined as url" type: string default: none service: required: false description: "Service to call (e.g., media_player.media_play_pause) when action defined as call-service" type: string default: none data: required: false description: "Service data to include (e.g., entity_id: media_player.bedroom) when action defined as call-service" type: string default: none confirmation: required: false description: "Present a confirmation dialog to confirm the action. See confirmation object below" type: [boolean, map] default: "false" {% endconfiguration %}

Double-Tap Action

Action that will be performed when an object on a card is double-tapped.

double_tap_action:
  action: toggle

{% configuration double_tap_action %} double_tap_action: required: false description: Action taken on double tap type: map keys: action: required: true description: "Action to perform (more-info, toggle, call-service, navigate, url, none)" type: string default: "more-info" navigation_path: required: false description: "Path to navigate to (e.g., /lovelace/0/) when action defined as navigate" type: string default: none url_path: required: false description: "Path to navigate to (e.g., https://www.home-assistant.io) when action defined as url" type: string default: none service: required: false description: "Service to call (e.g., media_player.media_play_pause) when action defined as call-service" type: string default: none data: required: false description: "Service data to include (e.g., entity_id: media_player.bedroom) when action defined as call-service" type: string default: none confirmation: required: false description: "Present a confirmation dialog to confirm the action. See confirmation object below" type: [boolean, map] default: "false" {% endconfiguration %}

Options For Confirmation

If you define confirmation as an object instead of boolean, you can add more customization and configurations.

double_tap_action:
  action: call-service
  confirmation:
    text: Are you sure you want to restart?
  service: script.restart
hold_action:
  action: call-service
  confirmation: true
  service: script.do_other_thing

{% configuration confirmation%} text: required: false description: Text to present in the confirmation dialog. type: string exemptions: required: false description: "List of exemption objects. See below" type: list {% endconfiguration %}

Options For Exemptions

{% configuration exemptions %} user: required: true description: User ID for which the confirmation dialog will not be shown. type: string {% endconfiguration %}

double_tap_action:
  action: call-service
  confirmation:
    text: Are you sure you want to restart?
    exemptions:
      - user: x9405b8c64ee49bb88c42000e0a9dfa8
      - user: 88bcfbdc39155d16c3b2d09cbf8b0367
  service: script.restart

Examples

Tap action implemented on an entity button card:

type: button
tap_action:
  action: toggle
hold_action:
  action: more-info

Limitations

It is not possible to use templates for actions. But calling a script is a good alternative.