Actions


Some Lovelace 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 Variables

tap_action map (Optional)

Action to take on tap.

action string Required, default: toggle

Action to perform (more-info, toggle, call-service, navigate, url, none)

navigation_path string (Optional, default: none)

Path to navigate to (e.g., /lovelace/0/) when action defined as navigate

url_path string (Optional, default: none)

Path to navigate to (e.g., https://www.home-assistant.io) when action defined as url

service string (Optional, default: none)

Service to call (e.g., media_player.media_play_pause) when action defined as call-service

service_data string (Optional, default: none)

Service data to include (e.g., entity_id: media_player.bedroom) when action defined as call-service

confirmation boolean | map (Optional, default: false)

Present a confirmation dialog to confirm the action. See confirmation object below

Hold Action

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

hold_action:
  action: toggle

Configuration Variables

hold_action map (Optional)

Action to take on tap-and-hold

action string Required, default: more-info

Action to perform (more-info, toggle, call-service, navigate, url, none)

navigation_path string (Optional, default: none)

Path to navigate to (e.g., /lovelace/0/) when action defined as navigate

url_path string (Optional, default: none)

Path to navigate to (e.g., https://www.home-assistant.io) when action defined as url

service string (Optional, default: none)

Service to call (e.g., media_player.media_play_pause) when action defined as call-service

service_data string (Optional, default: none)

Service data to include (e.g., entity_id: media_player.bedroom) when action defined as call-service

confirmation boolean | map (Optional, default: false)

Present a confirmation dialog to confirm the action. See confirmation object below

Double-Tap Action

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

double_tap_action:
  action: toggle

Configuration Variables

double_tap_action map (Optional)

Action to take on double tap

action string Required, default: more-info

Action to perform (more-info, toggle, call-service, navigate, url, none)

navigation_path string (Optional, default: none)

Path to navigate to (e.g., /lovelace/0/) when action defined as navigate

url_path string (Optional, default: none)

Path to navigate to (e.g., https://www.home-assistant.io) when action defined as url

service string (Optional, default: none)

Service to call (e.g., media_player.media_play_pause) when action defined as call-service

service_data string (Optional, default: none)

Service data to include (e.g., entity_id: media_player.bedroom) when action defined as call-service

confirmation boolean | map (Optional, default: false)

Present a confirmation dialog to confirm the action. See confirmation object below

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 Variables

text string (Optional)

Text to present in the confirmation dialog.

exemptions list (Optional)

List of exemption objects. See below

Options For Exemptions

Configuration Variables

user string Required

User id that can see the view tab. For each user´s id listed, the confirmation dialog will NOT be shown.

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

Examples

Tap action implemented on an entity button card:

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