feat: Add control/output of selected camera via an entity (#1895)

- Closes #1871
This commit is contained in:
Dermot Duffy
2025-02-17 13:33:10 -08:00
committed by GitHub
parent da79664a67
commit c66c3ec919
46 changed files with 677 additions and 91 deletions
+1
View File
@@ -14,6 +14,7 @@
- [`overrides`](overrides.md)
- [`performance`](performance.md)
- [`profiles`](profiles.md)
- [`remote_control`](remote-control.md)
- [`status_bar`](status-bar.md)
- [`timeline`](timeline.md)
- [`view`](view.md)
+1
View File
@@ -17,6 +17,7 @@
- [`overrides`](../overrides.md)
- [`performance`](../performance.md)
- [`profiles`](../profiles.md)
- [`remote_control`](../remote-control.md)
- [`status_bar`](../status-bar.md)
- [`timeline`](../timeline.md)
- [`view`](../view.md)
@@ -17,6 +17,7 @@
- [`overrides`](../../overrides.md)
- [`performance`](../../performance.md)
- [`profiles`](../../profiles.md)
- [`remote_control`](../../remote-control.md)
- [`status_bar`](../../status-bar.md)
- [`timeline`](../../timeline.md)
- [`view`](../../view.md)
@@ -17,6 +17,7 @@
- [`overrides`](../../overrides.md)
- [`performance`](../../performance.md)
- [`profiles`](../../profiles.md)
- [`remote_control`](../../remote-control.md)
- [`status_bar`](../../status-bar.md)
- [`timeline`](../../timeline.md)
- [`view`](../../view.md)
+14 -13
View File
@@ -52,19 +52,20 @@ cameras:
### Capabilities
| Capability | Purpose |
| --------------------- | -------------------------------------------------------- |
| `clips` | Clips can be fetched from the camera. |
| `favorite-events` | Events can be favorited. |
| `favorite-recordings` | Recordings can be favorited. |
| `live` | Live video can be received from the camera. |
| `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. |
| `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. |
| `trigger` | The camera can be triggered. |
| Capability | Purpose |
| ----------------------- | ------------------------------------------------------------------------------------------------- |
| `clips` | Clips can be fetched from the camera. |
| `remote-control-entity` | The camera can be selected by a [Camera Remote Control Entity](../remote-control.md?id=entities). |
| `favorite-events` | Events can be favorited. |
| `favorite-recordings` | Recordings can be favorited. |
| `live` | Live video can be received from the camera. |
| `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. |
| `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. |
| `trigger` | The camera can be triggered. |
## `cast`
+1
View File
@@ -16,6 +16,7 @@
- [`overrides`](../overrides.md)
- [`performance`](../performance.md)
- [`profiles`](../profiles.md)
- [`remote_control`](../remote-control.md)
- [`status_bar`](../status-bar.md)
- [`timeline`](../timeline.md)
- [`view`](../view.md)
+1
View File
@@ -16,6 +16,7 @@
- [`overrides`](../overrides.md)
- [`performance`](../performance.md)
- [`profiles`](../profiles.md)
- [`remote_control`](../remote-control.md)
- [`status_bar`](../status-bar.md)
- [`timeline`](../timeline.md)
- [`view`](../view.md)
@@ -16,6 +16,7 @@
- [`overrides`](../../overrides.md)
- [`performance`](../../performance.md)
- [`profiles`](../../profiles.md)
- [`remote_control`](../../remote-control.md)
- [`status_bar`](../../status-bar.md)
- [`timeline`](../../timeline.md)
- [`view`](../../view.md)
@@ -16,6 +16,7 @@
- [`overrides`](../../overrides.md)
- [`performance`](../../performance.md)
- [`profiles`](../../profiles.md)
- [`remote_control`](../../remote-control.md)
- [`status_bar`](../../status-bar.md)
- [`timeline`](../../timeline.md)
- [`view`](../../view.md)
+43
View File
@@ -0,0 +1,43 @@
# `remote_control`
The `remote_control` configuration options control how a card instance can be remotely controlled.
```yaml
remote_control:
# [...]
```
## `entities`
Sets entities that are used to control different aspects of the card.
```yaml
remote_control:
entities:
# [...]
```
| Option | Default | Description |
| -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `camera` | | An `input_select` entity that the card will use for bidirectional control. When the selected camera on the card changes the entity will be updated to match. Likewise, when the entity state changes, the selected camera on the card will be updated to match. When the card is first started, the `input_select` entity will be updated to only have valid camera IDs from this card. Values must start with `input_select.`. |
?> To create an `input_select` entity to use in this manner, in the visual card
editor, under `Remote Control -> Remote Control Entities`, choose `Create a new
Dropdown helper`. Give the new entity an entity name (e.g. `my_selected_camera`)
and an optional icon. You must specify at least one option -- you can use any
placeholder value (e.g. `camera`) then choose `Add` (the card will automatically
reset the allowable options on start). Finally, click `Create`.
## Related Topics
- [Passing actions to the card in the URL](../usage/url-actions.md).
## Fully expanded reference
[](common/expanded-warning.md ':include')
```yaml
remote_control:
entities:
camera: input_select.my_selected_camera
```