Commit Graph
100 Commits
Author SHA1 Message Date
Dermot Duffy df3614f793 fix: Various editor / diagnostic improvements (#2363)
- Closes: #2360 
 - Closes: #2328
2026-02-21 09:31:10 -08:00
Dermot Duffy 6d5a76ac0a feat: Add documentation links from editor (#2362) 2026-02-20 10:07:38 -08:00
Dermot Duffy 46868ce08e perf: Various rendering performance improvements (#2359) 2026-02-19 21:25:33 -08:00
Dermot Duffy 0a67df9a25 refactor: Convert protected methods to private (#2358) 2026-02-19 20:47:59 -08:00
Dermot Duffy 529500ed94 refactor: Migrate config schema from Zod v3 to Zod v4 (#2357) 2026-02-18 21:47:43 -08:00
Dermot Duffy a15376602f feat: Allow 2-way audio detection to be skipped and timed (#2355)
- For #2313
2026-02-16 19:47:56 -08:00
dermotduffy f34c7e8ee1 Merge branch 'main' into dev 2026-02-16 15:01:17 -08:00
Dermot Duffy d90b062719 chore: Add support for next release branch (#2354) 2026-02-16 15:00:49 -08:00
Dermot Duffy 3ecd7eba3b chore: Add support for next release branch (#2354) 2026-02-16 14:58:19 -08:00
Dermot Duffy 7dbf058ab2 fix: Seek to the start of review media (#2353) 2026-02-16 14:52:11 -08:00
Dermot Duffy 282983cbba fix: Fix styling and severity in status bar (#2352) 2026-02-16 13:57:45 -08:00
Dermot Duffy 47880e4306 feat: Add ability to untrigger after fixed number of seconds (#2350)
- Related: #2342 


BREAKING CHANGE: Renames: `untrigger_seconds` to
`untrigger_delay_seconds`
2026-02-16 12:25:56 -08:00
dermotduffy 584521c78e Merge branch 'main' into dev 2026-02-15 19:28:38 -08:00
Dermot Duffy b1467dc4bd fix: Improve state handling to avoid stuck triggered cameras (#2348)
- Related:
https://github.com/dermotduffy/advanced-camera-card/issues/2342
2026-02-15 19:26:56 -08:00
Dermot Duffy c297bf801a test: Clarify testing configuration (#2347) 2026-02-14 14:55:17 -08:00
dermotduffy ef1766e604 Merge branch 'main' into dev 2026-02-14 13:35:05 -08:00
Dermot Duffy be61d7fa24 fix: Adjust media size to take maximum available space (#2346)
- Closes #2109
2026-02-14 13:33:05 -08:00
Dermot Duffy 93f1f08e51 feat: Make cameras optional (#2343) 2026-02-13 20:21:05 -08:00
Dermot Duffy 0b7917ef70 fix: Increase go2rtc metadata fetch timeout (#2336)
- Related: #2313
2026-02-08 08:39:15 -08:00
Dermot Duffy 21f9469784 fix: Expose gallery and media views as media type agnostic (#2335) 2026-02-08 08:04:11 -08:00
dermotduffy 0a099b95f7 Merge branch 'main' into dev 2026-02-07 21:59:50 -08:00
Dermot Duffy 49073fee48 fix: Update components and styles to work with >= HA 2026.2 (#2333)
Caution: Requires HA >= `2026.2`

- Closes #2329
- Closes #2332
2026-02-07 20:32:05 -08:00
Dermot Duffy 045d15d5ce feat: Escape should dismiss overlay messages (#2324) 2026-01-24 21:39:21 -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 de42a1652f feat: Add support for overriding card border radius (#2298)
- Closes #2287


[skip ci]
2025-12-20 17:00:04 -08:00
Dermot Duffy d17ecd6c12 fix: Small (rare) bug in Frigate PTZ identification capability (#2296)
[skip ci]
2025-12-20 14:52:07 -08:00
Dermot Duffy b06e0aea4d feat: Add de localization (#2295)
All credit for strings go to @Matthias84 . This PR replaces #2283 .


[skip ci]
2025-12-20 14:28:12 -08:00
Dermot Duffy b75513789b refactor: Remove empty translation strings (#2294) 2025-12-20 13:57:52 -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 588ed6c98a fix: Improve audio channel detection for WebRTC (#2280)
- Related: #2191
2025-12-11 05:48:43 -08:00
Dermot Duffy f64690335b test: Improve timezone resilience / cleanliness of tests (#2279)
- Related: https://github.com/dermotduffy/advanced-camera-card/pull/2278
- Reported by @0x464e
2025-12-11 05:33:48 -08:00
Dermot Duffy 639c5c3e4b fix: Fix z-index rendering issue when card is expanded (#2274)
- Closes #2155
2025-12-09 23:45:07 -08:00
Dermot Duffy 252ead62dc feat: Allow per-camera customization of grid width (#2273)
- Closes #2271
2025-12-09 22:18:56 -08:00
Dermot Duffy c9c7e93e19 fix: Ignore URL actions for other card IDs (#2272)
- Closes #2190
2025-12-09 20:22:22 -08:00
Dermot Duffy dacde91f3a fix: Experimental fix for pan issues on slower devices (#2270)
- Related: #2223
2025-12-09 07:23:18 -08:00
Dermot Duffy f41454580c feat: Add support for overriding button border radius styling (#2269)
- Closes #2229
2025-12-08 22:59:41 -08:00
Dermot Duffy 7ce59be0fc fix: Remove status bar items correctly (#2268)
- Closes #2213
2025-12-08 22:31:46 -08:00
Dermot Duffy a7e893498a fix: Minor live provider description change (#2266)
[skip ci]
2025-12-08 22:24:53 -08:00
Dermot Duffy f8138c2377 fix: Race condition in remote control entity handling (#2267)
- Related #2244
2025-12-08 20:55:06 -08:00
Dermot Duffy a241e02594 fix: Touch gestures should count as card interactions (#2265)
- Closes: #2245
2025-12-08 18:43:28 -08:00
Dermot Duffy bbdf96474e fix: Reolink Trackmix cameras should be detected correctly (#2264)
- Closes: #2254
2025-12-08 17:23:59 -08:00
Dermot Duffy 13bea49429 feat: Add option to disable mousewheel carousel scrolling (#2263)
- Closes: #2220
2025-12-08 17:19:56 -08:00
Dermot Duffy f276b8c57d feat: Automatically detect Reolink NVR channel number (#2259)
- Closes: #2032, #1899 
 -  May or may not help with #2254

- Caution: I do not have an NVR-based Reolink camera to test. If
suddenly Reolink cameras don't work in the card, or in particular if
media doesn't correctly load, this is likely the culprit PR.
2025-12-07 22:48:33 -08:00
Dermot Duffy c38bf192e0 fix: PTZ actions should reflect camera rotation (#2258)
- Closes: #2210
2025-12-07 21:12:12 -08:00
Dermot Duffy 596a37903f feat: Add TPLink camera engine support (#2257)
* Related #2183

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Introduce `tplink` camera engine with relative PTZ via button
entities, add icons/docs support, refactor to `EntityCamera`, and extend
tests/schema/factory for auto-detection.
> 
> - **Engines**
>   - **New `tplink` engine**:
>     - Add `Engine.TPLink`, schema support (`engine: 'tplink'`).
> - Implement `TPLinkCameraManagerEngine` and `TPLinkCamera` (relative
PTZ via `button.*` entities; no presets/zoom; stop is no-op).
> - Update `engine-factory` to create/auto-detect `tplink` (platform
`tplink`).
> - **Refactor**
> - Replace `BrowseMediaCamera` with `EntityCamera`; update `motioneye`
and `reolink` cameras and `motioneye` engine type checks.
> - **UI/Icons**
> - Add `tplink.svg`; wire into `IconController`; update docs icon copy
script.
> - **Docs**
> - Add `tplink` to engine capability and live-provider matrices; new
`tplink` section incl. PTZ note; add custom icon entry.
> - **Tests**
> - Add TPLink camera/engine tests and factory tests; remove obsolete
`BrowseMediaCamera` test.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
74a688c3bd602912d63a22c3c6fa2f4b60ec14f9. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2025-12-07 16:57:33 -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 993e288c14 fix: Preserve parsers/matches on folder navigation (#2249)
- Closes #2231
2025-11-26 10:00:34 -08:00
Dermot Duffy 1f6a4ddce2 fix: Fix folder media in timeline when camera is not timeline supported (#2246)
- Closes: #2205
2025-11-24 14:33:06 -08:00
Dermot Duffy f50bef7446 fix: Fix audio issue triggered by HA 2025.11 (#2237)
- Closes: #2235
2025-11-09 14:43:08 -08:00
Dermot Duffy 071dca07bf fix: Fix triggering for Reolink cameras (#2230)
- Fix inspired by #2228
2025-11-02 15:04:44 -08:00
Dermot DuffyandFelipe Santos 1f41781a84 feat: Add custom reload action to reload dashboard (#2217)
- Closes: #2215

---------

Co-authored-by: Felipe Santos <felipecassiors@gmail.com>
2025-10-14 07:37:50 -07:00
Dermot Duffy 7edaac079e fix: Timeline should should show folder media even without camera support (#2216)
- Closes #2205
2025-10-13 21:15:32 -07:00
Dermot Duffy ebbd219db7 docs: Update callouts for new docsify version (#2211) 2025-10-12 15:02:26 -07:00
Dermot Duffy 55d181b519 docs: Various docs fixes (#2208)
- Closes: #2207
2025-10-11 19:44:57 -07:00
Dermot Duffy e2500a853e fix: Prefer H265 when browser supported (#2200)
- Closes #2192
2025-10-06 21:25:50 -07:00
Dermot Duffy 9f479f8b4f fix: Expand templates in stock elements (#2199)
- Related: #2193
2025-10-06 21:14:29 -07:00
Dermot Duffy af53c66cd5 fix: Folders should be overrideable (#2198)
- Closes #2196
2025-10-04 16:13:11 -07:00
Dermot Duffy 78dee9194f feat: Add timeline support for folder media (#2197)
- Closes #2106
2025-10-04 15:47:39 -07:00
Dermot Duffy 262e5f223f docs: Minor PTZ doc improvement (#2174)
- Related: #2153
2025-09-01 16:48:31 -07:00
Dermot Duffy 6b656b1720 feat: Allow PTZ control colors to be overridden (#2173)
- Closes #2123
2025-09-01 16:14:30 -07:00
Dermot Duffy daeb890fea fix: Trigger borders should be rounded (#2172)
- Closes #2107
2025-09-01 14:46:47 -07:00
Dermot Duffy 79c27c43b8 fix: Don't incorrectly change camera when a dependency supports media (#2171)
- Closes: #2122
2025-09-01 13:29:04 -07:00
Dermot Duffy 3da1459ba6 docs: Improve documentation related to microphone toggle (#2165)
- Related: #2161
2025-08-29 20:19:26 -07:00
Dermot Duffy 109e74bd2a docs: Freshen live provider documentation (#2160)
- Closes #2115
2025-08-28 21:40:22 -07:00
Dermot Duffy bc5022ef1a feat: Enable go2rtc live stream proxying (#2159)
- Closes #1984
2025-08-28 21:19:19 -07:00
Dermot Duffy c3d95a5b32 refactor: Incorporate minor go2rtc client changes (#2158)
- Closes: #1957
2025-08-24 16:21:13 -07:00
Dermot Duffy 4d4b64232a feat: Add support for rotating camera streams (#2149)
* Closes #1307
2025-08-23 17:30:53 -07:00
Dermot Duffy 69ae80d6f1 fix: fit parameter should apply to entire container when aspect_ratio is not set (#2126)
* Closes #2125
2025-07-15 21:10:03 -07:00
Dermot Duffy c3e7cef9cf fix: Camera aspect-ratio should always apply (#2114)
- Closes #2073
2025-07-13 14:56:03 -07:00
Dermot Duffy d0bfb97843 docs: Include references to ptz capability for substreams. (#2120)
- Closes: #2118
2025-07-05 13:41:31 -05:00
Dermot Duffy 1bbc5be6fe fix: Fix issues where camera exceeded allowable width (#2096)
- Closes: #2073
2025-06-08 17:01:13 -07:00
Dermot Duffy 3b4752b257 feat: Triggers should fire on startup if entities are in an active state (#2095)
- Closes: #2087
2025-06-08 16:01:26 -07:00
Dermot Duffy 2b92f84665 perf: Improve performance of the carousel auto-height functionality (#2094) 2025-06-08 15:05:40 -07:00
Dermot Duffy 70f1d5fc8e docs: Add a troubleshooting entry on how to disable HACS update notifications (#2091) 2025-06-06 15:04:54 -07:00
Dermot Duffy f5918738e4 fix: Allow multiple date parsers to apply at the same folder hierarchy level (#2090)
- For: #1748
2025-06-06 14:30:55 -07:00
Dermot Duffy 3d9499ed8c docs: Add another worked example of a folder configuration (#2089) 2025-06-06 14:23:18 -07:00
Dermot Duffy 2971b402b7 feat: Allow grid selected border color to be overridden for theming (#2088)
- For #2047


[skip ci]
2025-06-05 20:10:41 -07:00
Dermot Duffy 5b9187f8c9 feat: Allow trigger border color to be overridden for theming (#2085)
- Closes: #2047
2025-06-04 20:39:42 -07:00
Dermot Duffy 13e43b8747 fix: Handle spaces in PTZ presets (#2084)
- Closes #2079
2025-06-03 20:27:40 -07:00
Dermot Duffy a3d062eec5 fix: Old Reolink media items shown instead of more recent ones (#2081)
- Closes: #2078
2025-06-02 20:55:09 -07:00
Dermot Duffy 956a2e523c feat: Add folder view to view folder media (#2077)
- Closes: #2068

Note: Renames existing `folder` view to `folders` [experimental
functionality]
2025-05-31 17:13:39 -07:00
Dermot Duffy 1901475065 docs: Remove references to card rename process (#2076) 2025-05-31 14:23:22 -07:00
Dermot Duffy c55a0f00fd feat: Allow matching of folders based on parsed date (#2074)
- For: #1748
2025-05-31 14:12:09 -07:00
Dermot Duffy dc63dcdab9 feat: Add or and template folder media matchers (#2071)
- For: #1748
2025-05-29 21:21:59 -07:00
Dermot Duffy c077f8bf70 feat: Add folder title matching and parsing (#2067)
This is a breaking change for users of the [experimental 'folder'
functionality](https://card.camera/#/configuration/folders).

Related: #1748
2025-05-27 07:50:51 -07:00
Dermot Duffy c4400194f5 fix: Allow multiple overrides to operate independently (#2063)
- Closes #1954
2025-05-24 16:14:09 -07:00
Dermot Duffy b97e1358d0 fix: Fix issue with media view incorrectly rejecting cameras (#2061)
For issue: #1748
2025-05-23 20:02:13 -07:00
Dermot Duffy 14cf80c7b4 fix: Download icon should show on thumbnails (#2059)
- Closes #2056
2025-05-22 21:31:45 -07:00
Dermot Duffy c342c5d529 fix: Fix thumbnail rendering issues (#2058)
- Closes #2054
2025-05-22 21:21:04 -07:00
Dermot Duffy 95c926e237 chore: Update yarn lockfile (#2053) 2025-05-21 20:41:30 -07:00
Dermot Duffy 542ff9b813 docs: Add folders screenshot (#2052) 2025-05-21 20:10:16 -07:00
Dermot Duffy c6a4c8aea2 feat: Implement basic general folder support (#2051)
- Related: #1748
2025-05-21 19:59:21 -07:00
Dermot Duffy 2eb0d9e35e fix: Reolink PTZ support should work with hub-connected cameras (#2014)
- Related: #1964
2025-04-16 10:58:18 +01:00
Dermot Duffy 168b9b0c90 fix: Fix issues with lazy loading and overridden configuration (#2012)
- Closes #2011
2025-04-15 17:10:18 +01:00
Dermot Duffy 54ee1e1cf3 fix: Improve reliability of connection cleanup (#2009)
- Closes #1992
2025-04-14 16:58:17 +01:00
Dermot Duffy da17c689b8 docs: Clarify lazy unloading documentation (#2005)
- Closes #2001
2025-04-12 11:23:38 +01:00
Dermot Duffy a5ffd51728 fix: Lazy unloading should not leave dangling connections (#2004)
- Closes #1992
2025-04-12 10:48:37 +01:00
Dermot Duffy a24c9628c5 fix: Reolink PTZ support should detect presets (#1997)
- Related: #1964
2025-04-06 17:47:43 +01:00