Commit Graph
2434 Commits
Author SHA1 Message Date
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
przeniek 6eb0a87ca8 feat: Add pl translation (#2302)
Added Polish translation files.

[skip ci]
2025-12-30 15:21:20 -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 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
Otto 236f3b7b57 fix: Fix camera_ui URL construction for Frigate engine (#2278)
[skip ci]
2025-12-11 04:59:53 -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
Felipe Santos 2dd7f328f6 docs: Improve go2rtc proxying example (#2167)
Closes https://github.com/dermotduffy/advanced-camera-card/issues/2162
Refs
https://github.com/dermotduffy/advanced-camera-card/issues/1984#issuecomment-3239302181
2025-09-01 13:09:41 -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