From db0a7477299f58ebc5a211f93f6f6debadaa652f Mon Sep 17 00:00:00 2001 From: Dermot Duffy Date: Sun, 1 Mar 2026 14:49:01 -0800 Subject: [PATCH] docs: Various minor doc improvements (#2384) --- docs/configuration/README.md | 2 +- docs/configuration/actions/custom/README.md | 8 ++- docs/configuration/cameras/README.md | 51 +++++++++--------- docs/configuration/cameras/live-provider.md | 2 +- docs/configuration/conditions.md | 6 +-- docs/configuration/live.md | 2 +- docs/configuration/menu.md | 58 ++++++++++++++++----- docs/configuration/view.md | 32 ++++++------ 8 files changed, 96 insertions(+), 65 deletions(-) diff --git a/docs/configuration/README.md b/docs/configuration/README.md index 85c85f1f..e5ec1f5d 100644 --- a/docs/configuration/README.md +++ b/docs/configuration/README.md @@ -39,7 +39,7 @@ render and can operate in `image` or `folders` views depending on configuration. | `card_id` | An optional ID to uniquely identify this card. For use when actions are being sent to card(s) via [URL actions](../usage/url-actions.md). Must exclusively consist of these characters: `[a-zA-Z0-9_]`. | | [`dimensions`](dimensions.md) | Configures the overall card dimensions. | | [`elements`](elements/README.md) | Add custom elements to the card. | -| [`folders`](folders.md) | Configures folders to be used in the card. Optional. If present, the first listed camera is the default. | +| [`folders`](folders.md) | Configures folders to be used in the card. Optional. If present, the first listed folder is the default. | | [`image`](image.md) | Configures the `image` view. | | [`live`](live.md) | Configures the `live` view. | | [`media_gallery`](media-gallery.md) | Configures the media gallery. | diff --git a/docs/configuration/actions/custom/README.md b/docs/configuration/actions/custom/README.md index 5834fb1d..45a8e2c6 100644 --- a/docs/configuration/actions/custom/README.md +++ b/docs/configuration/actions/custom/README.md @@ -33,15 +33,13 @@ This action will respect the value of the `view.camera_select` to choose the app ## `camera_ui` -Download the displayed media. +Open the UI for the selected camera engine (e.g. the Frigate UI). ```yaml action: custom:advanced-camera-card-action advanced_camera_card_action: camera_ui ``` -Open the UI for the selected camera engine (e.g. the Frigate UI). - ## `clip` Change to the `clip` view. @@ -208,13 +206,13 @@ Turn off the substream (if on). ```yaml action: custom:advanced-camera-card-action -advanced_camera_card_action: live_substream_on +advanced_camera_card_action: live_substream_off ``` | Parameter | Description | | ----------------------------- | --------------------------------------------- | | `action` | Must be `custom:advanced-camera-card-action`. | -| `advanced_camera_card_action` | Must be `live_substream_on`. | +| `advanced_camera_card_action` | Must be `live_substream_off`. | ## `live_substream_on` diff --git a/docs/configuration/cameras/README.md b/docs/configuration/cameras/README.md index bef91149..85554b9c 100644 --- a/docs/configuration/cameras/README.md +++ b/docs/configuration/cameras/README.md @@ -16,24 +16,24 @@ cameras_global: # [...] ``` -| Option | Default | Description | -| ------------------------------------ | ------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `always_error_if_entity_unavailable` | `false` | When `true` and when `camera_entity` is specified, attempting to live stream this camera will always error out if the entity state is `unavailable`, even if the `live_provider` does not actually need the `camera_entity`. | -| `camera_entity` | | The Home Assistant camera entity to use with the `frigate` live provider view. Also used to automatically detect the name of the underlying Frigate camera, and the title/icon of the camera. | -| `capabilities` | | Allows selective disabling of camera capabilities. See below. | -| `cast` | | Configuration that controls how this camera is "casted" / sent to media players. See below. | -| `dependencies` | | Other cameras that this camera should depend upon. See below. | -| `dimensions` | | Controls the dimensions and layout for media from this camera. See below. | -| `engine` | `auto` | The camera engine to use. If `auto` the card will attempt to choose the correct engine from the specified options. See [Engine](engine.md). | -| `frigate` | | Options for Frigate cameras. See [Frigate camera engine configuration](engine.md?id=frigate). | -| `icon` | Autodetected from `camera_entity` if that is specified. | The icon to use for this camera in the camera menu and in the next & previous controls when using the `icon` style. | -| `id` | `camera_entity`, `webrtc_card.entity` or `frigate.camera_name` if set (in that preference order). | An optional identifier to use throughout the card configuration to refer unambiguously to this camera. This `id` may be used in [conditions](../conditions.md), dependencies or custom [actions](../actions/README.md) to refer to a given camera unambiguously. | -| `live_provider` | `auto` | The choice of live stream provider. See [Live Provider](live-provider.md). | -| `media` | | Controls the default media configuration (e.g. thumbnails) for this camera. See below. | -| `proxy` | | Controls whether/how content is proxied via [hass-web-proxy-integration](https://github.com/dermotduffy/hass-web-proxy-integration) (must be installed separately). See below. | -| `title` | Autodetected from `camera_entity` if that is specified. | A friendly name for this camera to use in the card. | -| `triggers` | | Define what should cause this camera to update/trigger. See below. | -| `webrtc_card` | | The WebRTC entity/URL to use for this camera with the `webrtc-card` live provider. See below. | +| Option | Default | Description | +| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `always_error_if_entity_unavailable` | `false` | When `true` and when `camera_entity` is specified, attempting to live stream this camera will always error out if the entity state is `unavailable`, even if the `live_provider` does not actually need the `camera_entity`. | +| `camera_entity` | | The Home Assistant camera entity. Used by most live providers for live stream data, and to auto-detect other camera metadata (e.g. Frigate camera name, camera title/icon). | +| `capabilities` | | Allows selective disabling of camera capabilities. See below. | +| `cast` | | Configuration that controls how this camera is "casted" / sent to media players. See below. | +| `dependencies` | | Other cameras that this camera should depend upon. See below. | +| `dimensions` | | Controls the dimensions and layout for media from this camera. See below. | +| `engine` | `auto` | The camera engine to use. If `auto` the card will attempt to choose the correct engine from the specified options. See [Engine](engine.md). | +| `frigate` | | Options for Frigate cameras. See [Frigate camera engine configuration](engine.md?id=frigate). | +| `icon` | Autodetected from `camera_entity` if that is specified. | The icon to use for this camera in the camera menu and in the next & previous controls when using the `icon` style. | +| `id` | `camera_entity`, `webrtc_card.entity` or `frigate.camera_name` if set (in that preference order). If none of these are set, the camera has no `id` and cannot be referenced by name in conditions or actions. | An optional identifier to use throughout the card configuration to refer unambiguously to this camera. This `id` may be used in [conditions](../conditions.md), dependencies or custom [actions](../actions/README.md) to refer to a given camera unambiguously. | +| `live_provider` | `auto` | The choice of live stream provider. See [Live Provider](live-provider.md). | +| `media` | | Controls the default media configuration (e.g. thumbnails) for this camera. See below. | +| `proxy` | | Controls whether/how content is proxied via [hass-web-proxy-integration](https://github.com/dermotduffy/hass-web-proxy-integration) (must be installed separately). See below. | +| `title` | Autodetected from `camera_entity` if that is specified. | A friendly name for this camera to use in the card. | +| `triggers` | | Define what should cause this camera to update/trigger. See below. | +| `webrtc_card` | | The WebRTC entity/URL to use for this camera with the `webrtc-card` live provider. See below. | ## `capabilities` @@ -64,6 +64,7 @@ cameras: | `menu` | The camera should show up in the card camera menu. | | `ptz` | The camera can be PTZ controlled. | | `recordings` | Recordings can be fetched from the camera. | +| `reviews` | Review items (alerts/detections) can be fetched from the camera. | | `seek` | Clips can be seeked / scrubbed by the timeline. | | `snapshots` | Snapshots can be fetched from the camera. | | `substream` | The camera can be used as a substream on another camera. | @@ -385,13 +386,13 @@ cameras: # [...] ``` -| Option | Default | Description | -| ----------- | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `entities` | | Whether to not to trigger the camera when the state of any Home Assistant entity becomes active (i.e. state becomes `on` or `open`). This works for Frigate or non-Frigate cameras. | -| `events` | `[events, clips, snapshots]` | Whether to trigger the camera when `events` occur (whether or not media is available) or whenever updated `clips` or `snapshots` are detected. Detection support varies by camera [engine](engine.md). | -| `motion` | `false` | Whether to not to trigger the camera by automatically detecting and using the motion `binary_sensor` for this camera. This autodetection only works for Frigate cameras, and only when the motion `binary_sensor` entity has been enabled in Home Assistant. | -| `occupancy` | `false` | Whether to not to trigger the camera by automatically detecting and using the occupancy `binary_sensor` for this camera and its configured zones and labels. This autodetection only works for Frigate cameras, and only when the occupancy `binary_sensor` entity has been enabled in Home Assistant. If this camera has configured zones, only occupancy sensors for those zones are used -- if the overall _camera_ occupancy sensor is also required, it can be manually added to `entities`. If this camera has configured labels, only occupancy sensors for those labels are used. | -| `reviews` | | Configuration for triggering on review items. Currently only supported by Frigate. See below. | +| Option | Default | Description | +| ----------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `entities` | | Whether to not to trigger the camera when the state of any Home Assistant entity becomes active (i.e. state becomes `on` or `open`). This works for Frigate or non-Frigate cameras. | +| `events` | `[]` | Whether to trigger the camera when `events` occur (whether or not media is available) or whenever updated `clips` or `snapshots` are detected. Detection support varies by camera [engine](engine.md). | +| `motion` | `false` | Whether to not to trigger the camera by automatically detecting and using the motion `binary_sensor` for this camera. This autodetection only works for Frigate cameras, and only when the motion `binary_sensor` entity has been enabled in Home Assistant. | +| `occupancy` | `false` | Whether to not to trigger the camera by automatically detecting and using the occupancy `binary_sensor` for this camera and its configured zones and labels. This autodetection only works for Frigate cameras, and only when the occupancy `binary_sensor` entity has been enabled in Home Assistant. If this camera has configured zones, only occupancy sensors for those zones are used -- if the overall _camera_ occupancy sensor is also required, it can be manually added to `entities`. If this camera has configured labels, only occupancy sensors for those labels are used. | +| `reviews` | | Configuration for triggering on review items. Currently only supported by Frigate. See below. | ### `reviews` diff --git a/docs/configuration/cameras/live-provider.md b/docs/configuration/cameras/live-provider.md index 3d5aa1aa..93bfe15c 100644 --- a/docs/configuration/cameras/live-provider.md +++ b/docs/configuration/cameras/live-provider.md @@ -29,7 +29,7 @@ cameras: | Option | Default | Description | | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `metadata_fetch_timeout_seconds` | `2` | Timeout for the go2rtc stream metadata fetch (this is used to detect stream capabilities such as `2-way-audio`). | -| `modes` | `[webrtc, mse, mp4, mjpeg]` | An ordered list of `go2rtc` modes to use. Valid values are `webrtc`, `mse`, `mp4` or `mjpeg` values. | +| `modes` | go2rtc default: `[webrtc, mse, mp4, mjpeg]` | An ordered list of `go2rtc` modes to use. Valid values are `webrtc`, `mse`, `mp4` or `mjpeg` values. | | `stream` | Determined by camera engine (e.g. `frigate` camera name). | A valid `go2rtc` stream name. | | `url` | Determined by camera engine (e.g. the `frigate` engine will automatically generate a URL for the go2rtc backend that runs in the Frigate container). | The root `go2rtc` URL the card should stream the video from. This is only needed for non-Frigate usecases, or advanced Frigate usecases. Example: `http://my-custom-go2rtc:1984` | diff --git a/docs/configuration/conditions.md b/docs/configuration/conditions.md index 3f365b17..43732541 100644 --- a/docs/configuration/conditions.md +++ b/docs/configuration/conditions.md @@ -16,7 +16,7 @@ certain configurations (in `overrides`) or to display "picture elements" (in ## `and` -Evaluates to `true` if _all_ embedded conditions evaluate to `true`. +Evaluates to `true` if _all_ embedded conditions evaluate to `true`. At least one condition is required. ```yaml conditions: @@ -164,7 +164,7 @@ conditions: | `key` | | Any [keyboard key value](https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_key_values), e.g. `ArrowLeft`. | | `meta` | `false` | An optional value to match whether the `meta` key is being held. | | `shift` | `false` | An optional value to match whether the `shift` key is being held. | -| `state` | `down` | An optional value to match the state of the. Must be one of `down` or `up`. | +| `state` | `down` | An optional value to match the state of the key. Must be one of `down` or `up`. | ## `media_loaded` @@ -229,7 +229,7 @@ See [Home Assistant conditions documentation](https://www.home-assistant.io/dash ## `or` -Evaluates to `true` if _any_ embedded condition evaluates to `true`. +Evaluates to `true` if _any_ embedded condition evaluates to `true`. At least one condition is required. ```yaml conditions: diff --git a/docs/configuration/live.md b/docs/configuration/live.md index dda4cc2d..2666b686 100644 --- a/docs/configuration/live.md +++ b/docs/configuration/live.md @@ -76,7 +76,7 @@ live: | `hide_pan_tilt` | `false` | When `true` the Pan & Tilt buttons of the control is hidden | | `hide_type` | `false` | When `true` the button that switches between `buttons` and `gestures` PTZ control types is hidden. This button is automatically hidden on cameras without physical PTZ support. | | `hide_zoom` | `false` | When `true` the Zoom button of the control is hidden | -| `mode` | `auto` | If `on` or `off`, by default will always or never show PTZ controls respectively, if `auto` will show PTZ controls only if the camera supports real PTZ. | +| `mode` | `auto` | If `on`, PTZ controls are always shown. If `off`, PTZ controls are never shown. If `auto`, PTZ controls are shown only for cameras with physical PTZ support. | | `orientation` | `horizontal` | Whether to show a `vertical` or `horizontal` PTZ control. | | `position` | `bottom-right` | Whether to position the control on the `top-left`, `top-right`, `bottom-left` or `bottom-right`. This may be overridden by using the `style` parameter to precisely control placement. | | `style` | | Optionally position and style the element using CSS. Similar to [Picture Element styling](https://www.home-assistant.io/dashboards/picture-elements/#how-to-use-the-style-object), except without any default, e.g. `left: 42%` | diff --git a/docs/configuration/menu.md b/docs/configuration/menu.md index e18579f5..e91510cd 100644 --- a/docs/configuration/menu.md +++ b/docs/configuration/menu.md @@ -36,29 +36,34 @@ menu: | `expand` | The `expand` menu button: expand the card into a popup/dialog. | | `folders` | The `folders` menu button: brings the user to a [gallery](./media-gallery.md) of folders on tap and to the media viewer with media from the folder on hold. Will only appear if [`folders`](./folders.md) are configured. | | `fullscreen` | The `fullscreen` menu button: expand the card to consume the fullscreen. Please note that fullscreen behavior on iPhone is limited, see [troubleshooting](../troubleshooting.md?id=fullscreen-doesn39t-work-on-iphone). | +| `gallery` | The `gallery` view menu button: brings the user to the `gallery` view of the camera's default media type. | | `image` | The `image` view menu button: brings the user to the static `image` view. | | `info` | The `info` menu button: show media metadata (e.g. event time, camera, description). | | `iris` | The main Advanced Camera Card `iris` menu button: brings the user to the default configured view (`view.default`), or collapses/expands the menu if the `menu.style` is `hidden` . | | `live` | The `live` view menu button: brings the user to the `live` view. | | `media_player` | The `media_player` menu button: sends the visible media to a remote media player. Supports Frigate clips, snapshots and live camera (only for cameras that specify a `camera_entity` and only using the default HA stream (equivalent to the `ha` live provider)). `jsmpeg` or `webrtc-card` are not supported, although live can still be played as long as `camera_entity` is specified. In the player list, a `tap` will send the media to the player, a `hold` will stop the media on the player. | | `microphone` | The `microphone` button allows usage of 2-way audio in certain configurations. See [Using 2-way audio](../usage/2-way-audio.md). | +| `mute` | The `mute` button: toggles the mute state of the selected media. | +| `play` | The `play` button: toggles the play/pause state of the selected media. | | `ptz_controls` | The `ptz_controls` button shows or hides the PTZ controls. | | `ptz_home` | The `ptz_home` button allows easily returning the camera to default home position. | | `recordings` | The `recordings` view menu button: brings the user to the `recordings` view on tap and the most-recent `recording` view on hold. | +| `reviews` | The `reviews` view menu button: brings the user to the `reviews` view on tap and the most-recent `review` view on hold. | | `screenshot` | The `screenshot` menu button: take a screenshot of the loaded media (e.g. a still from a video). | | `set_review` | The `set_review` button: toggle the review status of the media being displayed (e.g. mark it as reviewed or unreviewed). | -| `snapshots` | The `snapshots` view menu button: brings the user to the `clips` view on tap and the most-recent `snapshot` view on hold. | +| `snapshots` | The `snapshots` view menu button: brings the user to the `snapshots` view on tap and the most-recent `snapshot` view on hold. | | `timeline` | The `timeline` menu button: show the event timeline. | ### Options for each button -| Option | Default | Description | -| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `alignment` | `matching` | Whether this menu item should have an alignment that is `matching` the menu alignment or `opposing` the menu alignment. Can be used to create two separate groups of buttons on the menu. The `priority` option orders buttons within a given `alignment`. | -| `enabled` | `true` for `iris`, `cameras`, `substreams`, `live`, `clips`, `snapshots`, `timeline`, `download`, `camera_ui`, `fullscreen`, `media_player`, `display_mode`, `ptz_home` and `info`. `false` for `image`, `expand`, `microphone`, `mute`, `play`, `recordings`, `screenshot`, `set_review`, `ptz_controls` | Whether or not to show the button. | -| `icon` | | An icon to overriding the default for that button, e.g. `mdi:camera-front`. See also [custom icons](../usage/custom-icons.md). | -| `permanent` | `false` | If `false` the menu item is hidden when the menu has the `hidden` style and the menu is closed, otherwise it is shown (and sorted to the front). | -| `priority` | `50` | The menu item priority. Higher priority items are ordered closer to the start of the menu alignment (i.e. a button with priority `70` will order further to the left than a button with priority `60`). Priority applies separately to `matching` and `opposing` groups (see `alignment` above). Minimum `0`, maximum `100`. | +| Option | Default | Description | +| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `alignment` | `matching` | Whether this menu item should have an alignment that is `matching` the menu alignment or `opposing` the menu alignment. Can be used to create two separate groups of buttons on the menu. The `priority` option orders buttons within a given `alignment`. | +| `enabled` | `true` for `camera_ui`, `cameras`, `display_mode`, `download`, `folders`, `fullscreen`, `gallery`, `info`, `iris`, `live`, `media_player`, `set_review`, `substreams` and `timeline`. `false` for `clips`, `expand`, `image`, `microphone`, `mute`, `play`, `ptz_controls`, `ptz_home`, `recordings`, `reviews`, `screenshot` and `snapshots`. | Whether or not to show the button. | +| `icon` | | An icon to overriding the default for that button, e.g. `mdi:camera-front`. See also [custom icons](../usage/custom-icons.md). | +| `permanent` | `false` | If `false` the menu item is hidden when the menu has the `hidden` style and the menu is closed, otherwise it is shown (and sorted to the front). | +| `priority` | `50` | The menu item priority. Higher priority items are ordered closer to the start of the menu alignment (i.e. a button with priority `70` will order further to the left than a button with priority `60`). Priority applies separately to `matching` and `opposing` groups (see `alignment` above). Minimum `0`, maximum `100`. | +| `state_color` | `true` | Whether to colorize the button based on the state of a related entity (where applicable). | ### Additional options: `microphone` @@ -106,9 +111,14 @@ menu: icon: mdi:video-switch clips: priority: 50 - enabled: true + enabled: false alignment: matching icon: mdi:filmstrip + display_mode: + priority: 50 + enabled: true + alignment: matching + icon: mdi:grid download: priority: 50 enabled: true @@ -116,7 +126,7 @@ menu: icon: mdi:download expand: priority: 50 - enabled: true + enabled: false alignment: matching icon: mdi:arrow-expand-all folders: @@ -129,6 +139,11 @@ menu: enabled: true alignment: matching icon: mdi:fullscreen + gallery: + priority: 50 + enabled: true + alignment: matching + icon: mdi:play-box-multiple image: priority: 50 enabled: false @@ -151,7 +166,7 @@ menu: icon: mdi:cctv media_player: priority: 50 - enabled: false + enabled: true alignment: matching icon: mdi:cast microphone: @@ -177,17 +192,32 @@ menu: icon: mdi:pan ptz_home: priority: 50 - enabled: true + enabled: false alignment: matching icon: mdi:home - set_review: + recordings: priority: 50 enabled: false alignment: matching + icon: mdi:album + reviews: + priority: 50 + enabled: false + alignment: matching + icon: mdi:play-box-edit-outline + screenshot: + priority: 50 + enabled: false + alignment: matching + icon: mdi:monitor-screenshot + set_review: + priority: 50 + enabled: true + alignment: matching icon: mdi:check-circle snapshots: priority: 50 - enabled: true + enabled: false alignment: matching icon: mdi:camera substreams: diff --git a/docs/configuration/view.md b/docs/configuration/view.md index 2a14c310..4a20cc9c 100644 --- a/docs/configuration/view.md +++ b/docs/configuration/view.md @@ -7,20 +7,19 @@ view: # [...] ``` -| Option | Default | Description | -| ------------------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `actions` | | [Actions](actions/README.md) to use for all views, individual actions may be overriden by view-specific actions. | -| `camera_select` | `current` | The [view](view.md?id=supported-views) to show when a new camera is selected (e.g. in the camera menu). If `current` the view is unchanged when a new camera is selected. | -| `dim` | `false` | Whether or not to 'dim' the brightness of the card (by 25%) if the card `interaction_seconds` has expired (i.e. card has been left unattended for that period of time). | -| `default` | `auto` | The view to show in the card by default. If `auto`, the card will choose `live` when cameras are configured, `folders` when folders are configured, or `image` otherwise (screensaver). The default camera is the first one listed. See [Supported Views](view.md?id=supported-views) below. | -| `default_reset` | | The circumstances and behavior that cause the card to reset to the default view. See below. | -| `interaction_seconds` | `300` | After a mouse/touch interaction with the card, it will be considered "interacted with" until this number of seconds elapses without further interaction. May be used as part of an [interaction condition](conditions.md?id=interaction) or with `reset_after_interaction` to reset the view after the interaction is complete. | -| `keyboard_shortcuts` | See [usage](../usage/keyboard-shortcuts.md) for defaults. | Configure keyboard shortcuts. See below. | -| `render_entities` | | **YAML only**: A list of entity ids that should cause the card to re-render 'in-place'. The view/camera is not changed. This should **very** rarely be needed, but could be useful if the card is both setting and changing HA state of the same object as could be the case for some complex `card_mod` scenarios ([example](https://github.com/dermotduffy/advanced-camera-card/issues/343)). | -| `reset_after_interaction` | `true` | If `true` the card will reset to the default configured view (i.e. 'screensaver' functionality) after `interaction_seconds` has elapsed after user interaction. | -| `theme` | | How the card is themed. See below. | -| `triggers` | | How to react when a camera is [triggered](cameras/README.md?id=triggers). | -| `default_cycle_camera` | `false` | When set to `true` the selected camera is cycled on each default view change. | +| Option | Default | Description | +| ---------------------- | --------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `actions` | | [Actions](actions/README.md) to use for all views, individual actions may be overriden by view-specific actions. | +| `camera_select` | `current` | The [view](view.md?id=supported-views) to show when a new camera is selected (e.g. in the camera menu). If `current` the view is unchanged when a new camera is selected. | +| `dim` | `false` | Whether or not to 'dim' the brightness of the card (by 25%) if the card `interaction_seconds` has expired (i.e. card has been left unattended for that period of time). | +| `default` | `auto` | The view to show in the card by default. If `auto`, the card will choose `live` when cameras are configured, `folders` when folders are configured, or `image` otherwise (screensaver). The default camera is the first one listed. See [Supported Views](view.md?id=supported-views) below. | +| `default_reset` | | The circumstances and behavior that cause the card to reset to the default view. See below. | +| `interaction_seconds` | `300` | After a mouse/touch interaction with the card, it will be considered "interacted with" until this number of seconds elapses without further interaction. May be used as part of an [interaction condition](conditions.md?id=interaction) or with `default_reset.after_interaction` to reset the view after the interaction is complete. | +| `keyboard_shortcuts` | See [usage](../usage/keyboard-shortcuts.md) for defaults. | Configure keyboard shortcuts. See below. | +| `render_entities` | | **YAML only**: A list of entity ids that should cause the card to re-render 'in-place'. The view/camera is not changed. This should **very** rarely be needed, but could be useful if the card is both setting and changing HA state of the same object as could be the case for some complex `card_mod` scenarios ([example](https://github.com/dermotduffy/advanced-camera-card/issues/343)). | +| `theme` | | How the card is themed. See below. | +| `triggers` | | How to react when a camera is [triggered](cameras/README.md?id=triggers). | +| `default_cycle_camera` | `false` | When set to `true` the selected camera is cycled on each default view change. | ## `default_reset` @@ -33,7 +32,7 @@ view: | Option | Default | Description | | ------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `after_interaction` | `true` | If `true` the card will reset to the default configured view (i.e. 'screensaver' functionality) after `interaction_seconds` has elapsed after user interaction. | +| `after_interaction` | `false` | If `true` the card will reset to the default configured view (i.e. 'screensaver' functionality) after `interaction_seconds` has elapsed after user interaction. | | `entities` | | A list of entities that should cause the view to reset to the default (if the entity only pertains to a particular camera use [`triggers`](cameras/README.md?id=triggers) for the selected camera instead). | | `interaction_mode` | `inactive` | Whether the default reset should happen when the card is being interacted with. If `all`, the reset will always happen regardless. If `inactive` the reset will only be taken if the card has _not_ had human interaction recently (as defined by `view.interaction_seconds`). If `active` the reset will only be happen if the card _has_ had human interaction recently. This controls resets triggered by `entities` and `every_seconds`, but not `after_interaction` which by definition requires no interaction. | | `every_seconds` | `0` | A number of seconds after which to automatically reset to the default view. `0` disables this functionality. | @@ -173,6 +172,9 @@ This card supports several different views. The default view is `auto`. It will select `live` when cameras are configured, `folders` when folders are configured, or `image` otherwise (screensaver). You can override this with `view.default`. +> [!NOTE] +> When using views in a [`view` condition](conditions.md?id=view), the single-item viewer views (`clip`, `snapshot`, `review`, `recording`) are translated internally to `media` once the relevant media is fetched. You may need to match on `media` rather than the original view name in your condition. + ## Fully expanded reference [](common/expanded-warning.md ':include')