feat: Trigger cameras on HA bus events (#2512)

This commit is contained in:
Dermot Duffy
2026-06-30 17:45:13 -07:00
committed by dermotduffy
parent 406176eebc
commit 0a36358394
49 changed files with 1376 additions and 269 deletions
+7 -7
View File
@@ -457,7 +457,7 @@ export class FrigateCamera extends Camera {
): Promise<void> {
const config = this.getConfig();
if (
!config.triggers.events.length ||
!config.triggers.media_events.length ||
!config.frigate.camera_name ||
!config.frigate.client_id
) {
@@ -500,12 +500,12 @@ export class FrigateCamera extends Camera {
return;
}
const eventsToTriggerOn = config.triggers.events;
const mediaEventsToTriggerOn = config.triggers.media_events;
if (
!(
eventsToTriggerOn.includes('events') ||
(eventsToTriggerOn.includes('snapshots') && snapshotChange) ||
(eventsToTriggerOn.includes('clips') && clipChange)
mediaEventsToTriggerOn.includes('events') ||
(mediaEventsToTriggerOn.includes('snapshots') && snapshotChange) ||
(mediaEventsToTriggerOn.includes('clips') && clipChange)
)
) {
return;
@@ -518,8 +518,8 @@ export class FrigateCamera extends Camera {
type: ev.type,
// In cases where there are both clip and snapshot media, ensure to only
// trigger on the media type that is allowed by the configuration.
clip: clipChange && eventsToTriggerOn.includes('clips'),
snapshot: snapshotChange && eventsToTriggerOn.includes('snapshots'),
clip: clipChange && mediaEventsToTriggerOn.includes('clips'),
snapshot: snapshotChange && mediaEventsToTriggerOn.includes('snapshots'),
});
};