Files
advanced-camera-card/docs/configuration/actions.md
T

14 KiB

actions

Introduction to actions

actions is not a top-level configuration block, but can be used as part of multiple other blocks.

Actions are pre-configured activities that can be triggered in response to a variety of circumstances (e.g. tapping on a menu icon, double tapping on an element or holding the mouse/tap down on a particular view).

Differences in actions between Frigate Card and Home Assistant

Both the Home Assistant frontend and the Frigate card cooperate to provide action functionality. In general, the Frigate Card functionality is a superset of that offered by stock Home Assistant.

Stock action functionality is used for Stock Home Assistant picture elements. Extended Frigate card behavior covers all other interactions on the Frigate card (e.g. menu icon elements, submenus and actions on the card or views).

Custom action types: start_tap and end_tap

The card has partial support for two special action types start_tap and end_tap which occur when a tap is started (e.g. mouse is pressed down / touch begins), and ended (e.g. mouse released / touch ends) respectively. This might be useful for PTZ cameras cameras to start/stop movement on touch. Network latency may introduce unavoidable imprecision between end_tap and action actually occurring.

Multiple actions

Extended Frigate card behavior supports a list of actions instead of a single action, all of which will be handled. See an example of multiple actions.

Card and view actions

Actions may be attached to the card itself, to trigger action when the card experiences a tap, double_tap, hold, start_tap or end_tap event. Alternatively they can be configured on a per group-of-views basis, e.g. only when live view is tapped.

Configuration path Views to which it refers
image.actions image
live.actions live
media_gallery.actions clips, snapshots, recordings
media_viewer.actions clip, snapshot, recording
view.actions All

If an action is configured for both the whole card (view.actions) and a more specific view (e.g. live.actions) then the actions are merged, with the more specific overriding the less specific.

!> The card itself relies on user interactions to function (e.g. tap on the menu should activate that button). Card or View actions are prevented from being activated through standard interaction with menu buttons, next/previous controls, thumbnails, etc, but in some cases this prevention is not possible (e.g. embedded WebRTC card controls) -- in these cases duplicate actions may occur with certain configurations (e.g. tap).

!> Card-wide actions are not supported on timelines nor when a info/error message is being displayed.

call-service

Call a service. See Home Assistant actions documentation.

action: call-service
[...]

custom:frigate-card-action

Execute a Frigate Card action.

action: custom:frigate-card-action
[...]
Parameter Description
action Must be custom:frigate-card-action.
frigate_card_action A supported Frigate Card action. See below.

camera_select

Select a given camera.

action: custom:frigate-card-action
frigate_card_action: camera_select
[...]
Parameter Description
action Must be custom:frigate-card-action.
frigate_card_action Must be camera_select.
camera The camera ID of the camera to select.
triggered If true instead of camera being specified then a triggered camera (if any) is selected instead.

This action will respect the value of the view.camera_select to choose the appropriate view on the new camera. See view configuration.

camera_ui

Download the displayed media.

action: custom:frigate-card-action
frigate_card_action: camera_ui

Open the UI for the selected camera engine (e.g. the Frigate UI).

change_zoom

Zoom in and/or pan for a given camera.

action: custom:frigate-card-action
frigate_card_action: change_zoom
[...]
Parameter Description
action Must be custom:frigate-card-action.
frigate_card_action Must be change_zoom.
target_id The camera ID or a media ID (e.g. frigate event ID) to change zoom/pam settings for.
zoom Optional parameter that controls how much to zoom-in. See the camera zoom parameter.
pan Optional parameter that controls how much to pan-x/y. See the camera pan parameter.

?> If neither zoom nor pan are specified the camera will return to its default zoom and pan settings.

See example of automatically zoom/panning based on state.

clip, clips, image, live, recording, recordings, snapshot, snapshots

Change to the specified view.

action: custom:frigate-card-action
frigate_card_action: [view]

default

Change to the default view.

action: custom:frigate-card-action
frigate_card_action: default

download

Download the displayed media.

action: custom:frigate-card-action
frigate_card_action: download

expand

Expand the card into a dialog/popup.

action: custom:frigate-card-action
frigate_card_action: expand

fullscreen

Toggle fullscreen.

action: custom:frigate-card-action
frigate_card_action: fullscreen

live_substream_select

Select a substream.

action: custom:frigate-card-action
frigate_card_action: live_substream_select
[...]
Parameter Description
action Must be custom:frigate-card-action.
frigate_card_action Must be live_substream_select.
camera The camera ID of the substream to select.

media_player

Perform a media player action.

action: custom:frigate-card-action
frigate_card_action: media_player
[...]
Parameter Description
action Must be custom:frigate-card-action.
frigate_card_action Must be media_player.
media_player The entity ID of the media_player on which to perform the action.
media_player_action Either play or stop to play or stop the media in question.

menu_toggle

Show/hide the menu (for the hidden mode style).

action: custom:frigate-card-action
frigate_card_action: menu_toggle

microphone_mute, microphone_unmute

Mute/Unmute the microphone during 2-way audio.

action: custom:frigate-card-action
frigate_card_action: microphone_mute
action: custom:frigate-card-action
frigate_card_action: microphone_unmute

mute, unmute

Mute/Unmute the selected media.

action: custom:frigate-card-action
frigate_card_action: mute
action: custom:frigate-card-action
frigate_card_action: unmute

play, pause

Play/Pause the selected media.

action: custom:frigate-card-action
frigate_card_action: play
action: custom:frigate-card-action
frigate_card_action: pause

ptz

Execute a native PTZ action (only for native out-of-the-box PTZ camera engines, e.g. Frigate).

Takes a required ptz_action parameter that is one of .

action: custom:frigate-card-action
frigate_card_action: ptz
[...]
Parameter Description
action Must be custom:frigate-card-action.
frigate_card_action Must be ptz.
ptz_action One of left, right, up, down, zoom_in, zoom_out or preset.
ptz_phase Optional parameter that is one of start or stop to start or stop the movement separately.
ptz_preset Optional preset to execute when the ptz_action is preset.

screenshot

Take a screenshot of the selected media (e.g. a still from a video).

action: custom:frigate-card-action
frigate_card_action: screenshot

show_ptz

Show or hide the PTZ controls.

action: custom:frigate-card-action
frigate_card_action: show_ptz
[...]
Parameter Description
action Must be custom:frigate-card-action.
frigate_card_action Must be show_ptz.
show_ptz If true shows the PTZ controls, if false hides them.

more-info

Open the "more-info" dialog for an entity. See Home Assistant actions documentation.

action: more-info
[...]

navigate

Navigate to a particular dashboard path. See Home Assistant actions documentation.

action: navigate
[...]

toggle

Toggle an entity. See Home Assistant actions documentation.

action: toggle
[...]

url

Navigate to an arbitrary URL. See Home Assistant actions documentation.

action: url
[...]

Fully expanded reference

Stock Home Assistant actions

Reference: Home Assistant Actions.

elements:
  - type: icon
    icon: mdi:numeric-1-box
    title: More info action
    style:
      left: 200px
      top: 50px
    entity: light.office_main_lights
    tap_action:
      action: more-info
  - type: icon
    icon: mdi:numeric-2-box
    title: Toggle action
    style:
      left: 200px
      top: 100px
    entity: light.office_main_lights
    tap_action:
      action: toggle
  - type: icon
    icon: mdi:numeric-3-box
    title: Call Service action
    style:
      left: 200px
      top: 150px
    tap_action:
      action: call-service
      service: homeassistant.toggle
      service_data:
        entity_id: light.office_main_lights
  - type: icon
    icon: mdi:numeric-4-box
    title: Navigate action
    style:
      left: 200px
      top: 200px
    tap_action:
      action: navigate
      navigation_path: /lovelace/2
  - type: icon
    icon: mdi:numeric-5-box
    title: URL action
    style:
      left: 200px
      top: 250px
    tap_action:
      action: url
      url_path: https://www.home-assistant.io/
  - type: icon
    icon: mdi:numeric-6-box
    title: None action
    style:
      left: 200px
      top: 300px
    tap_action:
      action: none
  - type: icon
    icon: mdi:numeric-7-box
    title: Custom action
    style:
      left: 200px
      top: 350px
    tap_action:
      action: fire-dom-event
      key: value

Frigate Card actions

elements:
  - type: custom:frigate-card-menu-icon
    icon: mdi:alpha-a-circle
    title: Show default view
    tap_action:
      action: custom:frigate-card-action
      frigate_card_action: default
  - type: custom:frigate-card-menu-icon
    icon: mdi:alpha-b-circle
    title: Show most recent clip
    tap_action:
      action: custom:frigate-card-action
      frigate_card_action: clip
  - type: custom:frigate-card-menu-icon
    icon: mdi:alpha-c-circle
    title: Show clips
    tap_action:
      action: custom:frigate-card-action
      frigate_card_action: clips
  - type: custom:frigate-card-menu-icon
    icon: mdi:alpha-d-circle
    title: Show image view
    tap_action:
      action: custom:frigate-card-action
      frigate_card_action: image
  - type: custom:frigate-card-menu-icon
    icon: mdi:alpha-e-circle
    title: Show live view
    tap_action:
      action: custom:frigate-card-action
      frigate_card_action: live
  - type: custom:frigate-card-menu-icon
    icon: mdi:alpha-f-circle
    title: Show most recent snapshot
    tap_action:
      action: custom:frigate-card-action
      frigate_card_action: snapshot
  - type: custom:frigate-card-menu-icon
    icon: mdi:alpha-g-circle
    title: Show snapshots
    tap_action:
      action: custom:frigate-card-action
      frigate_card_action: snapshots
  - type: custom:frigate-card-menu-icon
    icon: mdi:alpha-h-circle
    title: Download media
    tap_action:
      action: custom:frigate-card-action
      frigate_card_action: download
  - type: custom:frigate-card-menu-icon
    icon: mdi:alpha-i-circle
    title: Open Frigate UI
    tap_action:
      action: custom:frigate-card-action
      frigate_card_action: camera_ui
  - type: custom:frigate-card-menu-icon
    icon: mdi:alpha-j-circle
    title: Change to fullscreen
    tap_action:
      action: custom:frigate-card-action
      frigate_card_action: fullscreen
  - type: custom:frigate-card-menu-icon
    icon: mdi:alpha-k-circle
    title: Toggle hidden menu
    tap_action:
      action: custom:frigate-card-action
      frigate_card_action: menu_toggle
  - type: custom:frigate-card-menu-icon
    icon: mdi:alpha-l-circle
    title: Select Front Door
    tap_action:
      action: custom:frigate-card-action
      frigate_card_action: camera_select
      camera: camera.front_door
  - type: custom:frigate-card-menu-icon
    icon: mdi:alpha-m-circle
    title: Media player play
    tap_action:
      action: custom:frigate-card-action
      frigate_card_action: media_player
      media_player: media_player.nesthub50be
      media_player_action: play
  - type: custom:frigate-card-menu-icon
    icon: mdi:alpha-n-circle
    title: Media player stop
    tap_action:
      action: custom:frigate-card-action
      frigate_card_action: media_player
      media_player: media_player.nesthub
      media_player_action: stop
  - type: custom:frigate-card-menu-icon
    icon: mdi:alpha-o-circle
    title: Screenshot
    tap_action:
      action: custom:frigate-card-action
      frigate_card_action: screenshot
  - type: custom:frigate-card-menu-icon
    icon: mdi:alpha-p-circle
    title: Show PTZ
    tap_action:
      action: custom:frigate-card-action
      frigate_card_action: show_ptz
      show_ptz: true
  - type: custom:frigate-card-menu-icon
    icon: mdi:alpha-q-circle
    title: Native PTZ Preset
    tap_action:
      action: custom:frigate-card-action
      frigate_card_action: ptz
      ptz_action: preset
      ptz_preset: doorway
  - type: custom:frigate-card-menu-icon
    icon: mdi:alpha-r-circle
    title: Change Zoom
    tap_action:
      action: custom:frigate-card-action
      frigate_card_action: change_zoom
      pan:
        x: 50
        y: 50
      zoom: 1