diff --git a/src/components/live.ts b/src/components/live.ts
index 644819bc..cdeb07ea 100644
--- a/src/components/live.ts
+++ b/src/components/live.ts
@@ -19,6 +19,8 @@ import {
WebRTCConfig,
FrigateCardError,
LiveOverrides,
+ LiveProvider,
+ frigateCardConfigDefaults,
} from '../types.js';
import { EmblaOptionsType } from 'embla-carousel';
import { HomeAssistant } from 'custom-card-helpers';
@@ -503,6 +505,20 @@ export class FrigateCardLiveProvider extends LitElement {
@property({ attribute: true, type: Boolean })
public disabled = false;
+ protected _getResolvedProvider(): LiveProvider {
+ if (this.liveConfig?.provider === 'auto') {
+ if (this.cameraConfig?.webrtc?.entity || this.cameraConfig?.webrtc?.url) {
+ return 'webrtc';
+ } else if (this.cameraConfig?.camera_entity) {
+ return 'frigate';
+ } else if (this.cameraConfig?.camera_name) {
+ return 'frigate-jsmpeg';
+ }
+ return frigateCardConfigDefaults.live.provider;
+ }
+ return this.liveConfig?.provider || frigateCardConfigDefaults.live.provider;
+ }
+
/**
* Master render method.
* @returns A rendered template.
@@ -512,14 +528,16 @@ export class FrigateCardLiveProvider extends LitElement {
return;
}
+ const provider = this._getResolvedProvider();
+
return html`
- ${this.liveConfig.provider == 'frigate'
+ ${provider == 'frigate'
? html`
`
- : this.liveConfig.provider == 'webrtc'
+ : provider == 'webrtc'
? html`