@camera.ui/sdk / camera / CameraDevice
Interface: CameraDevice
Defined in: camera/device.ts:89
Main camera device interface. Provides access to camera streams, sensors, and services.
Properties
connected
readonlyconnected:boolean
Defined in: camera/device.ts:148
Whether camera is connected
detectionLines
readonlydetectionLines:DetectionLine[]
Defined in: camera/device.ts:113
Detection line configurations (virtual tripwires)
detectionSettings
readonlydetectionSettings:CameraDetectionSettings
Defined in: camera/device.ts:115
Detection settings
detectionZones
readonlydetectionZones:DetectionZone[]
Defined in: camera/device.ts:111
Detection zone configurations
disabled
readonlydisabled:boolean
Defined in: camera/device.ts:97
Whether camera is disabled
frameWorkerConnected
readonlyframeWorkerConnected:boolean
Defined in: camera/device.ts:150
Whether frame worker is connected
frameWorkerSettings
readonlyframeWorkerSettings:CameraFrameWorkerSettings
Defined in: camera/device.ts:121
Frame worker settings
highResolutionSource
readonlyhighResolutionSource:CameraDeviceSource|undefined
Defined in: camera/device.ts:130
High resolution source (if available)
id
readonlyid:string
Defined in: camera/device.ts:91
Unique camera ID
info
readonlyinfo:CameraInformation
Defined in: camera/device.ts:107
Camera hardware information
interfaceSettings
readonlyinterfaceSettings:CameraUiSettings
Defined in: camera/device.ts:123
UI display settings
isCloud
readonlyisCloud:boolean
Defined in: camera/device.ts:109
Whether camera streams from cloud
logger
readonlylogger:LoggerService
Defined in: camera/device.ts:157
Logger service for this camera
lowResolutionSource
readonlylowResolutionSource:CameraDeviceSource|undefined
Defined in: camera/device.ts:134
Low resolution source (if available)
midResolutionSource
readonlymidResolutionSource:CameraDeviceSource|undefined
Defined in: camera/device.ts:132
Mid resolution source (if available)
name
readonlyname:string
Defined in: camera/device.ts:99
Camera display name
nativeId
readonlynativeId:string|undefined
Defined in: camera/device.ts:93
Native device ID from plugin
onConnected
readonlyonConnected:Observable<boolean>
Defined in: camera/device.ts:152
Observable for connection state changes
onDetectionEvent
readonlyonDetectionEvent:Observable<{event:DetectionEvent;type:DetectionEventType; }>
Defined in: camera/device.ts:230
Observable for detection events (start/update/end). Thumbnails in segments are only populated on 'end' events.
onFrameWorkerConnected
readonlyonFrameWorkerConnected:Observable<boolean>
Defined in: camera/device.ts:154
Observable for frame worker state changes
onSensorAdded
readonlyonSensorAdded:Observable<{sensorId:string;sensorType:SensorType; }>
Defined in: camera/device.ts:224
Observable for sensor additions. Emits { sensorId, sensorType } when a sensor from another plugin is added.
onSensorRemoved
readonlyonSensorRemoved:Observable<{sensorId:string;sensorType:SensorType; }>
Defined in: camera/device.ts:227
Observable for sensor removals. Emits { sensorId, sensorType } when a sensor from another plugin is removed.
pluginInfo
readonlypluginInfo:CameraPluginInfo|undefined
Defined in: camera/device.ts:95
Source plugin information
ptzAutotrack
readonlyptzAutotrack:PtzAutotrackSettings
Defined in: camera/device.ts:117
PTZ autotracking settings
room
readonlyroom:string
Defined in: camera/device.ts:101
Room this camera belongs to
snapshotSettings
readonlysnapshotSettings:SnapshotSettings
Defined in: camera/device.ts:105
Snapshot settings
snapshotSource
readonlysnapshotSource:CameraSource|undefined
Defined in: camera/device.ts:136
Snapshot source (if available)
snooze
readonlysnooze:boolean
Defined in: camera/device.ts:119
Whether detections are snoozed (paused)
sources
readonlysources:CameraDeviceSource[]
Defined in: camera/device.ts:126
All video sources
streamSource
readonlystreamSource:CameraDeviceSource
Defined in: camera/device.ts:128
Primary streaming source
type
readonlytype:CameraType
Defined in: camera/device.ts:103
Camera type (camera/doorbell)
Methods
addSensor()
addSensor<
T>(sensor):Promise<void>
Defined in: camera/device.ts:214
Add a sensor to this camera.
Type Parameters
T
T extends object
Parameters
sensor
Sensor<T>
Sensor instance to add
Returns
Promise<void>
connect()
connect():
Promise<void>
Defined in: camera/device.ts:172
Tell the server this camera is online. Only the plugin that owns this camera (via pluginInfo) may connect it.
Returns
Promise<void>
createStorage()
createStorage<
T>(schemas):DeviceStorage<T>
Defined in: camera/device.ts:166
Create storage for plugin-specific camera configuration.
Type Parameters
T
T extends Record<string, any> = Record<string, any>
Parameters
schemas
Schema definitions for the storage
Returns
Typed device storage instance
disconnect()
disconnect():
Promise<void>
Defined in: camera/device.ts:177
Tell the server this camera is offline. Only the plugin that owns this camera (via pluginInfo) may disconnect it.
Returns
Promise<void>
getSensor()
getSensor(
sensorId):SensorLike|undefined
Defined in: camera/device.ts:191
Get sensor by ID (checks owned and foreign sensors).
Parameters
sensorId
string
Returns
SensorLike | undefined
getSensors()
getSensors():
SensorLike[]
Defined in: camera/device.ts:189
Get all sensors attached to this camera (owned + foreign).
Returns
getSensorsByType()
getSensorsByType(
type):SensorLike[]
Defined in: camera/device.ts:193
Get all sensors of a specific type (owned + foreign).
Parameters
type
Returns
getSourceById()
getSourceById(
id):CameraDeviceSource|undefined
Defined in: camera/device.ts:145
Get a source by its ID.
Parameters
id
string
The source ID
Returns
CameraDeviceSource | undefined
The matching source, or undefined if not found
implement()
implement(
impl):Promise<void>
Defined in: camera/device.ts:238
Register a camera implementation for streaming and/or snapshot. The impl value should implement StreamingInterface, SnapshotInterface, or both.
Parameters
impl
Object or class implementing camera interfaces
Returns
Promise<void>
onPropertyChange()
onPropertyChange<
T>(property):Observable<{newData:Camera[T];oldData:Camera[T];property:T; }>
Defined in: camera/device.ts:186
Observe camera property changes.
Type Parameters
T
T extends keyof Camera
Parameters
property
T | T[]
Property name(s) to observe
Returns
Observable<{ newData: Camera[T]; oldData: Camera[T]; property: T; }>
Observable emitting old and new values
onSensorProperty()
onSensorProperty<
T>(sensorType,property,callback):Disposable
Defined in: camera/device.ts:207
Subscribe to a specific property on a sensor type with full lifecycle management. Automatically subscribes/unsubscribes when sensors of the given type are added/removed.
Type Parameters
T
T = unknown
Parameters
sensorType
The sensor type to watch
property
string
The property name to observe
callback
(value, timestamp, sensor) => void
Called with the new value, timestamp (ms), and sensor when the property changes
Returns
Disposable to stop all subscriptions
removeSensor()
removeSensor(
sensorId):Promise<void>
Defined in: camera/device.ts:221
Remove a sensor from this camera.
Parameters
sensorId
string
ID of sensor to remove
Returns
Promise<void>