Commit Graph
310 Commits
Author SHA1 Message Date
Dermot Duffy 15b08db3e8 fix: Clear stale media unavailable errors when a camera recovers (#2627)
- Closes: #2576
2026-07-28 21:21:50 -07:00
Dermot Duffy c02c692f68 feat: Add experimental rewrite of go2rtc live provider (MSE/WebRTC/MP4/MJPEG) (#2580)
- Closes #2556
- Closes #2450

**Key intended features:**
 - go2rtc compatible
- 100% test coverage to significantly improve ability to test, maintain
and work around browser weirdnesses (e.g. Safari).
 - Written from the ground up in the style of the rest of the project.

**To use:**
 - Change `live_provider` from `go2rtc` to `go2rtc-experimental`.
2026-07-14 14:22:41 -07:00
Dermot Duffy fb1bbc739e feat: Automatically recover from frozen live streams (#2569)
- Closes: #2099
2026-07-07 21:37:24 -07:00
Dermot Duffy a96dc2e863 chore: Enforce import order via @ianvs/prettier-plugin-sort-imports (#2542) 2026-06-30 17:45:13 -07:00
Dermot Duffy 921d45e577 chore: Enforce a few house rules via eslint (#2539) 2026-06-30 17:45:13 -07:00
Dermot Duffy bc366626f1 refactor: Refactor media loading manager for improved robustness (#2464) 2026-06-30 17:45:12 -07:00
Dermot Duffy 47bcce93d3 feat: Add hardened error handling and retries (#2451)
- Closes #1830
 - Closes #2099
2026-06-30 17:45:12 -07:00
Dermot Duffy ab683df5e8 feat: add problem detection framework for common problems (#2412)
Introduces a ProblemManager that detects and surfaces actionable issues
(stale config, legacy frigate-hass-card resources, slow/failed streams)
via status bar indicators and notification popups with fix actions.
2026-03-13 20:00:59 -07:00
Dermot Duffy 24c6b98948 feat: Allow user generated notifications (#2401) 2026-03-07 20:47:24 -08:00
Dermot Duffy c398562d40 feat: Add PIP (Picture-in-Picture) support (#2391)
- Closes: #1657
2026-03-05 20:19:20 -08:00
Dermot Duffy 93f1f08e51 feat: Make cameras optional (#2343) 2026-02-13 20:21:05 -08:00
Dermot Duffy c03ddd9a13 feat: Add severity media filter (#2323) 2026-01-24 21:25:10 -08:00
Dermot Duffy f4e905a7fb fix: Improve review media filtering (#2322) 2026-01-24 16:22:12 -08:00
Dermot Duffy fc32727860 feat: Add support for Frigate reviews / detections [initial PR] (#2315)
- Add support for Frigate reviews / detections.
 - Add support for GenAI metadata.
- Significant internal refactor to more flexible "UnifiedQuery" to allow
mixing cameras with simple metadata and review metadata (e.g. a timeline
view of a Frigate camera with reviews, and a Reolink camera with simple
metadata).
 - Add support for folder media as camera media.

There are a few more PRs to commit prior to this going live, but
commiting this for now due to the scale of the change.

BREAKING CHANGE: `media_type` and `events_type` are retired under
`live`, `viewer` and `timeline` configuration sections, instead media
type is associated (once) with the camera under `media`.
2026-01-19 13:32:50 -08:00
Dermot Duffy 1e821f09c6 fix: Improve 2-way audio detection (#2293)
- For Frigate cameras, you must be running at least [integration
v5.12.0](https://github.com/blakeblackshear/frigate-hass-integration/releases/tag/v5.12.0).
 - Closes: #2191 

Includes a significant refactor of cameras, and the introduction of a
`2-way-audio` capability that is dynamically fetched from `go2rtc`. One
gotcha is if you previously had a substream with 2-way audio, you may
need to modify

```yaml
 - camera_entity: camera.foo
    capabilities:
      disable_except:
        - substream
```

... to ...

```yaml
 - camera_entity: camera.foo
    capabilities:
      disable_except:
        - substream
        - 2-way-audio
```
2025-12-20 13:06:09 -08:00
Dermot Duffy 3279481b0e feat: Add festive visual effects (#2252)
<!-- CURSOR_SUMMARY -->
> [!NOTE]
> Introduces an effects system (fireworks, ghost, hearts, shamrocks,
snow), a new `effect` action, and optional date-based loading effects,
integrated into the card with docs, schema, editor, and tests.
> 
> - **Effects System**:
> - Add `EffectsController` and `advanced-camera-card-effects` host with
lazy-loaded effect modules (`fireworks`, `ghost`, `hearts`, `shamrocks`,
`snow`).
> - New base effect component with fade-in/out; SCSS and z-index
updates.
> - **Actions**:
> - New custom action `advanced_camera_card_action: effect` with
`effect_action` (`start`|`stop`|`toggle`).
>   - Wire into `ActionFactory` and add `EffectAction` executor.
> - **Card Integration**:
> - Mount effects host in `advanced-camera-card` and expose
`getEffectsControllerAPI()` via `CardController`.
> - Loading component can trigger date-based effects (e.g., New Year
fireworks) when enabled.
> - **Configuration & Editor**:
> - Add `performance.features.card_loading_effects` (default `true`)
alongside `card_loading_indicator`.
> - Update schemas, defaults, low-performance profile (disables
effects), and editor toggles.
> - **Docs & Examples**:
>   - Document `effect` action parameters and add menu example.
>   - Update performance docs with new option.
> - **Localization & Tests**:
>   - Update i18n strings for new performance option.
> - Add comprehensive tests for effects controller, action, factory,
config defaults/profiles, and utilities.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
cffd4304fe3bd22340316f9cec53e341379b1756. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2025-12-06 18:21:44 -08:00
Dermot Duffy 4d4b64232a feat: Add support for rotating camera streams (#2149)
* Closes #1307
2025-08-23 17:30:53 -07:00
Dermot Duffy c6a4c8aea2 feat: Implement basic general folder support (#2051)
- Related: #1748
2025-05-21 19:59:21 -07:00
Dermot Duffy b5eee5878a feat: Add out of the box support for Reolink PTZ (#1982)
- Closes: #1964
2025-03-26 21:26:02 -07:00
Dermot Duffy a79ffa6edc refactor: Retire the use of unmaintained custom-card-helpers (#1956)
- Closes #1295
2025-03-09 16:02:33 -07:00
Dermot Duffy 3b77b11196 fix: Increase reliability of media auto actions (e.g. play) (#1934)
Refactors media player handling entirely to make the code more
consistent and less boilerplate. Add testing for media player actions.

- Closes #1921
- Closes #1916
2025-03-03 20:59:01 -08:00
Dermot Duffy 0432eea4b8 feat: Add UI support for PTZ presets (#1920)
- Closes #1889

Whilst a simple change theoretically, the card has such a collection of
surfaces that can overlap other surfaces, it's challenging to get this
to work right! There's a real chance this will have broken something
z-index related (e.g. X overlaps Y when it should not), or (for related
reasons) broken curver corners on the card.
2025-02-27 20:22:12 -08:00
Dermot Duffy c66c3ec919 feat: Add control/output of selected camera via an entity (#1895)
- Closes #1871
2025-02-17 13:33:10 -08:00
Dermot Duffy cc376a8be1 feat: Rename the card to advanced-camera-card (#1873)
Whilst the Frigate support in this card is the best among camera
engines, the name incorrectly suggests that Frigate is a requirement.
Instead, to broaden the appeal, change to more camera agnostic name.
This does not suggest any change in priority, role or support for
Frigate.

This change is likely to be bug prone, due to the size of the rename --
the code contains 1500+ references to "Frigate" most of which make sense
to rename, some which do not, all of which needed human assessment.

- Closes #1298


BREAKING CHANGE: References to `frigate-card` in all kinds of
configuration need to be updated to `advanced-camera-card`. An automated
config upgrade should take care of the majority of usecases (click `Edit
-> Upgrade -> Save`), though may not be perfect.
2025-02-06 19:32:32 -08:00
Dermot Duffy 3e8e688b36 feat: Add basic fullscreen support for iPhone (#1857)
- Closes #1444
2025-01-27 07:23:07 -08:00
Dermot Duffy 0212840688 fix: Substream only cameras should not be triggerable (#1848)
- Closes #1846
2025-01-21 07:17:09 -08:00
Dermot Duffy faa5ec3eec refactor: Refactor internal error / info message components (#1842) 2025-01-20 15:26:53 -08:00
Dermot Duffy 278560b5ac feat: Add richer card theme support (#1809) 2025-01-07 19:54:13 -08:00
Dermot Duffy f7ecb91578 fix: Allow icon styles to be overridden (#1794) 2024-12-23 21:24:28 -08:00
Dermot Duffy 9d812af9f4 fix: Use HA style and coloring for all icons (#1790) 2024-12-23 15:22:27 -08:00
Dermot Duffy 650d99ec00 fix: Fix initialization race condition that occurs in certain circumstances (#1545)
* fix: Fix initialization race condition in certain circumstances

* Minor improvements and camera iris logo
2024-09-19 19:42:38 -07:00
Dermot Duffy 429dd90972 Use custom websocket to avoid needing admin privileges. 2024-08-24 20:00:00 -07:00
Dermot Duffy e503f0e429 Initial version of status bar. 2024-08-16 20:08:21 -07:00
Dermot Duffy 7ab545738d Add initial keyboard shortcut support. 2024-06-05 21:44:17 -07:00
Dermot Duffy f67620397f Set timeline to now not to most recent event. 2024-04-07 20:21:09 -07:00
Dermot Duffy 95c44adcf1 Allow camera capabilities to be configured. 2024-03-26 21:00:15 -07:00
Dermot Duffy 93a475c7f4 Allow live thumbnails to load recordings . 2024-02-03 14:23:49 -08:00
Dermot Duffy 9a2eb24d35 Rename service_data to data to maintain HA compatibility. 2023-10-08 21:17:57 -07:00
Dermot Duffy 9b72dd8089 Refactor main types.ts . 2023-10-02 22:35:58 -07:00
Dermot Duffy a3b1e5f834 Fix trigger scan config issue. 2023-10-02 18:52:37 -07:00
Dermot Duffy bfdbe70d6c Refactor card.ts substantially and test. 2023-10-02 16:30:05 -07:00
Dermot Duffy 568a5cea35 Accept . as a query string delimiter. 2023-09-06 21:22:21 -07:00
Dermot Duffy 17bfe4f38b Recalculate grid for a slot change. 2023-08-19 12:28:11 -07:00
Dermot Duffy b663e0b731 Initial support for grid for live and media viewer. 2023-08-08 22:26:25 -07:00
Dermot Duffy e1320c4d71 Fix view-related querystring action race condition 2023-06-21 08:41:56 -07:00
Dermot Duffy 39b985b4df Add screenshot support. 2023-06-16 19:36:45 -07:00
Dermot Duffy 972a0999fb Allow default media controls to be hidden. 2023-05-14 20:00:23 -07:00
Dermot Duffy 8365b43c04 Add play/pause/mute/unmute Frigate card commands. 2023-05-11 20:25:40 -07:00
Dermot Duffy d63a1de042 Only show the microphone button when the loaded media supports 2-way audio. 2023-05-07 16:47:02 -07:00
Dermot Duffy 109e10ea68 Rename option to always_connected. 2023-05-07 15:32:44 -07:00