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
phill
b7ac8532cd
fix: remote_control cannot be overridden ( #2297 )
...
### Problem
When configuration overrides are removed or changed for
`remote_control`, the automations previously registered by the card were
not updated, causing stale automations to remain active.
### Fix
Re-run the remote-control and automations loaders when the effective
configuration changes due to overrides so that automation
additions/removals reflect the current config.
#### What changed
- Modified: config-manager.ts
- Call `setKeyboardShortcutsFromConfig(this._api)`,
`setRemoteControlEntityFromConfig(this._api)` and
`setAutomationsFromConfig(this._api)` inside `_processOverrideConfig()`.
- Modified: `config-manager.test.ts`
- Added ConfigManager for test setup with real AutomationsManager and
ConditionStateManager
- Added test constants to centralize test data
- Expanded test coverage for override conditions:
- loaders should re-run when overrides change
- remote-control loader with overrides
#### Testing
- Full test suite run locally: 229 files, 2852 tests — all passing (with
TZ forced to 'UTC') ✅
2025-12-27 12:42:43 -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
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
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 and Felipe 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
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
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
bc5022ef1a
feat: Enable go2rtc live stream proxying ( #2159 )
...
- Closes #1984
2025-08-28 21:19:19 -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
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
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
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
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
c342c5d529
fix: Fix thumbnail rendering issues ( #2058 )
...
- Closes #2054
2025-05-22 21:21:04 -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
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
Dermot Duffy
e7a9e20c9e
feat: Add support for template conditions ( #1995 )
...
- Closes: #1988
2025-04-05 22:25:46 +01: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
f6bb8001e3
fix: Allow entity to take remote control priority ( #1981 )
...
- Closes : #1958
[skip ci]
2025-03-24 18:24:56 -07:00