-
-
Notifications
You must be signed in to change notification settings - Fork 231
Open
Description
Describe The Problem:
Camera-FFMPEG was working fine with my six cameras for a few years, until I tried to use Apple Secure Video recording (when that became possible).
I enabled video recording on motion-detect for two of the cameras, and the home app accepted that without complaint. But no video is ever recorded, and now it throws the exception shown in the log below every time I start Homebridge.
To Reproduce:
Enable "Record When Motion Is Detected" on a camera in the home app. The setting is accepted, but no video is ever recorded.
Logs:
Failed to properly initialize CameraRecordingDelegate from persistent storage: TypeError: Cannot read properties of null (reading 'updateRecordingConfiguration')
at RecordingManagement.deserialize (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/camera/RecordingManagement.ts:864:23)
at CameraController.deserialize (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/controller/CameraController.ts:938:34)
at ControllerStorage.restoreController (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:165:20)
at /volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:191:12
at Array.forEach (<anonymous>)
at ControllerStorage.init (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:190:29)
at ControllerStorage.load (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:231:10)
at Accessory.<anonymous> (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1295:30)
at step (/volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:196:27)
at Object.next (/volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:177:57)
at /volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:170:75
at new Promise (<anonymous>)
at Object.__awaiter (/volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:166:16)
at Accessory.publish (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/dist/lib/Accessory.js:939:24)
at BridgeService.handlePublishExternalAccessories (/volume2/homebridge/node_modules/homebridge/src/bridgeService.ts:462:20)
Failed to properly initialize CameraRecordingDelegate from persistent storage: TypeError: Cannot read properties of null (reading 'updateRecordingConfiguration')
at RecordingManagement.deserialize (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/camera/RecordingManagement.ts:864:23)
at CameraController.deserialize (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/controller/CameraController.ts:938:34)
at ControllerStorage.restoreController (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:165:20)
at /volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:191:12
at Array.forEach (<anonymous>)
at ControllerStorage.init (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:190:29)
at ControllerStorage.load (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:231:10)
at Accessory.<anonymous> (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1295:30)
at step (/volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:196:27)
at Object.next (/volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:177:57)
at /volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:170:75
at new Promise (<anonymous>)
at Object.__awaiter (/volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:166:16)
at Accessory.publish (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/dist/lib/Accessory.js:939:24)
at BridgeService.handlePublishExternalAccessories (/volume2/homebridge/node_modules/homebridge/src/bridgeService.ts:462:20)
Failed to properly initialize CameraRecordingDelegate from persistent storage: TypeError: Cannot read properties of null (reading 'updateRecordingConfiguration')
at RecordingManagement.deserialize (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/camera/RecordingManagement.ts:864:23)
at CameraController.deserialize (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/controller/CameraController.ts:938:34)
at ControllerStorage.restoreController (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:165:20)
at /volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:191:12
at Array.forEach (<anonymous>)
at ControllerStorage.init (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:190:29)
at ControllerStorage.load (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:231:10)
at Accessory.<anonymous> (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1295:30)
at step (/volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:196:27)
at Object.next (/volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:177:57)
at /volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:170:75
at new Promise (<anonymous>)
at Object.__awaiter (/volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:166:16)
at Accessory.publish (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/dist/lib/Accessory.js:939:24)
at BridgeService.handlePublishExternalAccessories (/volume2/homebridge/node_modules/homebridge/src/bridgeService.ts:462:20)
Failed to properly initialize CameraRecordingDelegate from persistent storage: TypeError: Cannot read properties of null (reading 'updateRecordingConfiguration')
at RecordingManagement.deserialize (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/camera/RecordingManagement.ts:864:23)
at CameraController.deserialize (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/controller/CameraController.ts:938:34)
at ControllerStorage.restoreController (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:165:20)
at /volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:191:12
at Array.forEach (<anonymous>)
at ControllerStorage.init (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:190:29)
at ControllerStorage.load (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:231:10)
at Accessory.<anonymous> (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1295:30)
at step (/volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:196:27)
at Object.next (/volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:177:57)
at /volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:170:75
at new Promise (<anonymous>)
at Object.__awaiter (/volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:166:16)
at Accessory.publish (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/dist/lib/Accessory.js:939:24)
at BridgeService.handlePublishExternalAccessories (/volume2/homebridge/node_modules/homebridge/src/bridgeService.ts:462:20)
Failed to properly initialize CameraRecordingDelegate from persistent storage: TypeError: Cannot read properties of null (reading 'updateRecordingConfiguration')
at RecordingManagement.deserialize (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/camera/RecordingManagement.ts:864:23)
at CameraController.deserialize (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/controller/CameraController.ts:938:34)
at ControllerStorage.restoreController (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:165:20)
at /volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:191:12
at Array.forEach (<anonymous>)
at ControllerStorage.init (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:190:29)
at ControllerStorage.load (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:231:10)
at Accessory.<anonymous> (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1295:30)
at step (/volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:196:27)
at Object.next (/volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:177:57)
at /volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:170:75
at new Promise (<anonymous>)
at Object.__awaiter (/volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:166:16)
at Accessory.publish (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/dist/lib/Accessory.js:939:24)
at BridgeService.handlePublishExternalAccessories (/volume2/homebridge/node_modules/homebridge/src/bridgeService.ts:462:20)
Failed to properly initialize CameraRecordingDelegate from persistent storage: TypeError: Cannot read properties of null (reading 'updateRecordingConfiguration')
at RecordingManagement.deserialize (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/camera/RecordingManagement.ts:864:23)
at CameraController.deserialize (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/controller/CameraController.ts:938:34)
at ControllerStorage.restoreController (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:165:20)
at /volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:191:12
at Array.forEach (<anonymous>)
at ControllerStorage.init (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:190:29)
at ControllerStorage.load (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/model/ControllerStorage.ts:231:10)
at Accessory.<anonymous> (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1295:30)
at step (/volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:196:27)
at Object.next (/volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:177:57)
at /volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:170:75
at new Promise (<anonymous>)
at Object.__awaiter (/volume2/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:166:16)
at Accessory.publish (/volume2/homebridge/node_modules/homebridge/node_modules/hap-nodejs/dist/lib/Accessory.js:939:24)
at BridgeService.handlePublishExternalAccessories (/volume2/homebridge/node_modules/homebridge/src/bridgeService.ts:462:20)
Homebridge Config:
{
"name": "Camera ffmpeg",
"videoProcessor": "/volume2/@appstore/ffmpeg6/bin/ffmpeg6",
"cameras": [
{
"name": "Courtyard Camera",
"manufacturer": "Reolink",
"model": "RLC-810A",
"unbridge": true,
"videoConfig": {
"source": "-rtsp_transport tcp -re -i rtsp://admin: xxxxx@192.168.185.10",
"stillImageSource": "-i http://192.168.185.10/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password=Secure99",
"maxStreams": 2,
"maxFPS": 20,
"maxBitrate": 300,
"vcodec": "libx264",
"packetSize": 1316,
"audio": true,
"debug": false
}
},
{
"name": "Garden Camera",
"manufacturer": "Reolink",
"model": "RLC-810A",
"motion": true,
"unbridge": true,
"videoConfig": {
"source": "-rtsp_transport tcp -re -i rtsp://admin: xxxxx@192.168.185.11",
"stillImageSource": "-i http://192.168.185.11/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=wuuPhkmUCeI9WG7C&user=admin&password=Secure99",
"maxStreams": 2,
"maxWidth": 1280,
"maxHeight": 720,
"maxFPS": 20,
"maxBitrate": 300,
"vcodec": "libx264",
"packetSize": 1316,
"audio": true,
"debug": false
}
},
{
"name": "Greenhouse Camera",
"manufacturer": "Amcrest",
"unbridge": true,
"videoConfig": {
"source": "-rtsp_transport tcp -re -i rtsp://admin: xxxxx@192.168.185.12",
"stillImageSource": "-i http://admin:Secure99@192.168.185.12/cgi-bin/snapshot.cgi",
"maxStreams": 2,
"maxFPS": 20,
"maxBitrate": 300,
"vcodec": "libx264",
"packetSize": 1316,
"audio": false,
"debug": false
}
},
{
"name": "Patio Camera",
"manufacturer": "Amcrest",
"unbridge": true,
"videoConfig": {
"source": "-rtsp_transport tcp -re -i rtsp://admin: xxxxx@192.168.185.13",
"stillImageSource": "-i http://admin:Secure99@192.168.185.13/cgi-bin/snapshot.cgi",
"maxStreams": 2,
"maxFPS": 20,
"maxBitrate": 300,
"vcodec": "libx264",
"packetSize": 1316,
"audio": false,
"debug": false
}
},
{
"name": "Hall Camera",
"manufacturer": "Amcrest",
"unbridge": true,
"videoConfig": {
"source": "-rtsp_transport tcp -re -i rtsp://admin: xxxxx@192.168.185.14",
"stillImageSource": "-i http://admin:Secure99@192.168.185.14/cgi-bin/snapshot.cgi",
"maxStreams": 2,
"maxFPS": 20,
"maxBitrate": 300,
"vcodec": "libx264",
"packetSize": 1316,
"audio": false,
"debug": false
}
},
{
"name": "Living Room Camera",
"manufacturer": "Amcrest",
"unbridge": true,
"videoConfig": {
"source": "-rtsp_transport tcp -re -i rtsp://admin:xxxxx@192.168.185.15",
"stillImageSource": "-i http://admin:Secure99@192.168.185.15/cgi-bin/snapshot.cgi",
"maxStreams": 2,
"maxFPS": 20,
"maxBitrate": 300,
"vcodec": "libx264",
"packetSize": 1316,
"audio": false,
"debug": false
}
}
],
"platform": "Camera-ffmpeg"
}
Environment:
- Node.js Version: 22.13.1
- NPM Version: 10.9.2
- Homebridge Version: 1.9.0
- Homebridge Camera FFmpeg Version: 4.0.1
- Homebridge Config UI X Plugin Version: 5.6.1
- Operating System: Synology
Metadata
Metadata
Assignees
Labels
No labels