@camera.ui/sdk / sensor / ObjectSensor
Class: ObjectSensor<TStorage>
Defined in: sensor/object.ts:74
Object detection sensor that reports detected objects (person, vehicle, animal, etc.).
Plugin authors call reportDetections(list) to push detection results. detected and labels are auto-derived from the detection list.
Extends
Sensor<ObjectSensorProperties,TStorage>
Extended by
Type Parameters
TStorage
TStorage extends object = Record<string, any>
Constructors
Constructor
new ObjectSensor<
TStorage>(name?,options?):ObjectSensor<TStorage>
Defined in: sensor/object.ts:80
Parameters
name?
string = 'Object Sensor'
options?
Returns
ObjectSensor<TStorage>
Overrides
Properties
category
readonlycategory:Sensor=SensorCategory.Sensor
Defined in: sensor/object.ts:76
Overrides
name
readonlyname:string
Defined in: sensor/base.ts:223
Inherited from
onAssignmentChanged
readonlyonAssignmentChanged:Observable<readonlystring[]>
Defined in: sensor/base.ts:250
Inherited from
onCapabilitiesChanged
readonlyonCapabilitiesChanged:Observable<string[]>
Defined in: sensor/base.ts:242
Inherited from
onConnectedChanged
readonlyonConnectedChanged:Observable<boolean>
Defined in: sensor/base.ts:252
Inherited from
onPropertyChanged
readonlyonPropertyChanged:Observable<PropertyChangeOf<ObjectSensorProperties>>
Defined in: sensor/base.ts:240
Inherited from
type
readonlytype:Object=SensorType.Object
Defined in: sensor/object.ts:75
Overrides
Accessors
assignedCameraIds
Get Signature
get assignedCameraIds(): readonly
string[]
Defined in: sensor/base.ts:293
Returns
readonly string[]
Inherited from
assignmentLocked
Get Signature
get assignmentLocked():
boolean
Defined in: sensor/base.ts:297
Returns
boolean
Inherited from
capabilities
Get Signature
get capabilities():
TCapability[]
Defined in: sensor/base.ts:316
Returns
TCapability[]
Set Signature
set capabilities(
value):void
Defined in: sensor/base.ts:321
Set capabilities, deduplicated, and notify backend plus local listeners.
Parameters
value
TCapability[]
Returns
void
Inherited from
connected
Get Signature
get connected():
boolean
Defined in: sensor/base.ts:289
Returns
boolean
Inherited from
detected
Get Signature
get detected():
boolean
Defined in: sensor/object.ts:90
Returns
boolean
detections
Get Signature
get detections():
TrackedDetection[]
Defined in: sensor/object.ts:94
Returns
displayName
Get Signature
get displayName():
string
Defined in: sensor/base.ts:281
Returns
string
Inherited from
id
Get Signature
get id():
string
Defined in: sensor/base.ts:269
Returns
string
Inherited from
isAssigned
Get Signature
get isAssigned():
boolean
Defined in: sensor/base.ts:285
Returns
boolean
Inherited from
labels
Get Signature
get labels(): (
"motion"|"audio"|"person"|"vehicle"|"animal")[]
Defined in: sensor/object.ts:98
Returns
("motion" | "audio" | "person" | "vehicle" | "animal")[]
nativeId
Get Signature
get nativeId():
string|undefined
Defined in: sensor/base.ts:273
Returns
string | undefined
Inherited from
origin
Get Signature
get origin():
string|undefined
Defined in: sensor/base.ts:277
Returns
string | undefined
Inherited from
pluginId
Get Signature
get pluginId():
string|undefined
Defined in: sensor/base.ts:301
Returns
string | undefined
Inherited from
props
Get Signature
get
protectedprops():Readonly<TProperties>
Defined in: sensor/base.ts:546
Returns
Readonly<TProperties>
Inherited from
storage
Get Signature
get storage():
DeviceStorage<TStorage>
Defined in: sensor/base.ts:305
Returns
DeviceStorage<TStorage>
Inherited from
storageSchema
Get Signature
get storageSchema():
JsonSchema[]
Defined in: sensor/base.ts:312
Returns
Inherited from
Methods
clearDetections()
clearDetections():
void
Defined in: sensor/object.ts:145
Explicitly clear detection state (detected = false, detections = [], labels = []).
Returns
void
Example
sensor.clearDetections();getValue()
Call Signature
getValue<
K>(property):ObjectSensorProperties[K] |undefined
Defined in: sensor/base.ts:345
Get the current value of a sensor property. Calling the generic overload with a property enum value gives a properly typed result.
Type Parameters
K
K extends keyof ObjectSensorProperties
Parameters
property
K
Returns
ObjectSensorProperties[K] | undefined
Inherited from
Call Signature
getValue(
property):unknown
Defined in: sensor/base.ts:346
Get the current value of a sensor property. Calling the generic overload with a property enum value gives a properly typed result.
Parameters
property
string
Returns
unknown
Inherited from
getValues()
getValues():
Readonly<TProperties>
Defined in: sensor/base.ts:362
Get a read-only snapshot of all property values.
Returns
Readonly<TProperties>
Shallow copy of every property currently held by the sensor.
Example
const snapshot = sensor.getValues();
console.log(snapshot);Inherited from
hasCapability()
hasCapability(
capability):boolean
Defined in: sensor/base.ts:388
Check whether the sensor advertises a capability.
Parameters
capability
string
Capability flag to look for.
Returns
boolean
True if the sensor currently advertises it.
Example
const dimmable = sensor.hasCapability('brightness');Inherited from
onStart()
protectedonStart():void|Promise<void>
Defined in: sensor/base.ts:651
Lifecycle hook, called once the sensor is registered and live (storage and RPC are wired up). Override it to start work whose lifetime matches the sensor's: polling loops, event subscriptions, timers.
Errors thrown here are swallowed, not logged. Handle failures inside the override. Paired 1:1 with onStop, which runs on removal, plugin shutdown or cleanup.
Returns
void | Promise<void>
Example
protected override onStart(): void {
this._timer = setInterval(() => this.poll(), 5_000);
}Inherited from
onStop()
protectedonStop():void|Promise<void>
Defined in: sensor/base.ts:664
Counterpart of onStart: tear down whatever it started, such as timers, subscriptions and external resources.
Returns
void | Promise<void>
Example
protected override onStop(): void {
if (this._timer) clearInterval(this._timer);
}Inherited from
reportDetections()
reportDetections(
detected,detections?):void
Defined in: sensor/object.ts:127
Report detected objects. Auto-derives detected and labels from the list.
reportDetections(true): something detected without specific data. The SDK synthesizes a single full-frame'motion'detection as a generic fallback.reportDetections(true, [...]): explicit detections (typical case).reportDetections(false): clear.
Parameters
detected
boolean
Whether any object is currently detected.
detections?
Optional explicit object detections (with optional tracking metadata).
Returns
void
Example
import type { TrackedDetection } from '@camera.ui/sdk';
sensor.reportDetections(true, [
{
label: 'person',
confidence: 0.92,
box: { x: 0.1, y: 0.2, width: 0.3, height: 0.4 },
} satisfies TrackedDetection,
]);
sensor.reportDetections(false);setDisplayName()
setDisplayName(
value):void
Defined in: sensor/base.ts:337
Set the display name (the only mutable identifier on a sensor).
Parameters
value
string
Human-readable label shown in the UI.
Returns
void
Example
sensor.setDisplayName('Front Door Motion');Inherited from
updateModelSpec()
updateModelSpec():
void
Defined in: sensor/base.ts:565
Re-announces the model spec, e.g. once the models finished loading.
The spec a detector reports at registration is what it knows at that moment: models that load in the background are missing from it. Call this after loading, the server replaces its copy.
Returns
void
Example
async onStart(): Promise<void> {
await this.loadModel();
this.updateModelSpec();
}