fix: Improve state handling to avoid stuck triggered cameras (#2348)
- Related: https://github.com/dermotduffy/advanced-camera-card/issues/2342
This commit is contained in:
@@ -201,6 +201,7 @@ describe('Camera', () => {
|
||||
|
||||
expect(eventCallback).toBeCalledWith({
|
||||
cameraID: 'camera_1',
|
||||
id: 'sensor.force_update',
|
||||
type: eventType,
|
||||
});
|
||||
},
|
||||
|
||||
@@ -879,6 +879,7 @@ describe('FrigateCamera', () => {
|
||||
callEventWatcherCallback(eventWatcher, {
|
||||
type: 'new',
|
||||
before: {
|
||||
id: 'event-1',
|
||||
camera: 'camera.front_door',
|
||||
snapshot: null,
|
||||
has_clip: false,
|
||||
@@ -887,6 +888,7 @@ describe('FrigateCamera', () => {
|
||||
current_zones: [],
|
||||
},
|
||||
after: {
|
||||
id: 'event-1',
|
||||
camera: 'camera.front_door',
|
||||
snapshot: null,
|
||||
has_clip: hasClip,
|
||||
@@ -900,6 +902,7 @@ describe('FrigateCamera', () => {
|
||||
expect(eventCallback).toBeCalledWith({
|
||||
type: 'new',
|
||||
cameraID: 'CAMERA_1',
|
||||
id: 'event-1',
|
||||
clip: hasClip && events.includes('clips'),
|
||||
snapshot: hasSnapshot && events.includes('snapshots'),
|
||||
fidelity: 'high',
|
||||
@@ -944,6 +947,7 @@ describe('FrigateCamera', () => {
|
||||
callEventWatcherCallback(eventWatcher, {
|
||||
type: 'new',
|
||||
before: {
|
||||
id: 'event-1',
|
||||
camera: 'camera.front_door',
|
||||
snapshot: null,
|
||||
has_clip: false,
|
||||
@@ -952,6 +956,7 @@ describe('FrigateCamera', () => {
|
||||
current_zones: [],
|
||||
},
|
||||
after: {
|
||||
id: 'event-1',
|
||||
camera: 'camera.front_door',
|
||||
snapshot: null,
|
||||
has_clip: false,
|
||||
@@ -997,6 +1002,7 @@ describe('FrigateCamera', () => {
|
||||
callEventWatcherCallback(eventWatcher, {
|
||||
type: 'new',
|
||||
before: {
|
||||
id: 'event-1',
|
||||
camera: 'camera.front_door',
|
||||
snapshot: null,
|
||||
has_clip: false,
|
||||
@@ -1007,6 +1013,7 @@ describe('FrigateCamera', () => {
|
||||
current_zones: [],
|
||||
},
|
||||
after: {
|
||||
id: 'event-1',
|
||||
camera: 'camera.front_door',
|
||||
snapshot: null,
|
||||
has_clip: false,
|
||||
@@ -1047,6 +1054,7 @@ describe('FrigateCamera', () => {
|
||||
callEventWatcherCallback(eventWatcher, {
|
||||
type: 'new',
|
||||
before: {
|
||||
id: 'event-1',
|
||||
camera: 'camera.front_door',
|
||||
snapshot: null,
|
||||
has_clip: false,
|
||||
@@ -1055,6 +1063,7 @@ describe('FrigateCamera', () => {
|
||||
current_zones: [],
|
||||
},
|
||||
after: {
|
||||
id: 'event-1',
|
||||
camera: 'camera.front_door',
|
||||
snapshot: null,
|
||||
has_clip: false,
|
||||
|
||||
@@ -8,6 +8,7 @@ const createEventChange = (): FrigateEventChange => {
|
||||
return {
|
||||
type: 'new',
|
||||
before: {
|
||||
id: '1234.5678',
|
||||
camera: 'front_door',
|
||||
snapshot: null,
|
||||
has_clip: false,
|
||||
@@ -16,6 +17,7 @@ const createEventChange = (): FrigateEventChange => {
|
||||
current_zones: [],
|
||||
},
|
||||
after: {
|
||||
id: '1234.5678',
|
||||
camera: 'front_door',
|
||||
snapshot: null,
|
||||
has_clip: true,
|
||||
|
||||
@@ -11,8 +11,6 @@ import {
|
||||
QueryResultClassifier,
|
||||
} from '../../src/camera-manager/manager.js';
|
||||
import {
|
||||
CameraEndpoints,
|
||||
CameraEndpointsContext,
|
||||
CameraEvent,
|
||||
CameraManagerCameraMetadata,
|
||||
Engine,
|
||||
@@ -32,13 +30,13 @@ import { ViewFolder, ViewItem, ViewMedia } from '../../src/view/item.js';
|
||||
import { ViewItemCapabilities } from '../../src/view/types.js';
|
||||
import {
|
||||
TestViewMedia,
|
||||
createInitializedCamera,
|
||||
createCameraConfig,
|
||||
createCapabilities,
|
||||
createCardAPI,
|
||||
createConfig,
|
||||
createFolder,
|
||||
createHASS,
|
||||
createInitializedCamera,
|
||||
generateViewMediaArray,
|
||||
} from '../test-utils.js';
|
||||
|
||||
@@ -386,6 +384,7 @@ describe('CameraManager', async () => {
|
||||
|
||||
const cameraEvent: CameraEvent = {
|
||||
cameraID: 'camera',
|
||||
id: 'event-1',
|
||||
type: 'new',
|
||||
};
|
||||
eventCallback?.(cameraEvent);
|
||||
|
||||
Reference in New Issue
Block a user