Skip to content

@camera.ui/sdk / sensor / ClassifierSensor

Class: ClassifierSensor<TStorage>

Defined in: sensor/classifier.ts:59

General-purpose image classifier sensor.

Plugin authors call reportDetections(list) to push classification results. detected and labels are auto-derived from the detection list.

Extends

  • Sensor<ClassifierSensorProperties, TStorage>

Extended by

Type Parameters

TStorage

TStorage extends object = Record<string, any>

Constructors

Constructor

new ClassifierSensor<TStorage>(name?, options?): ClassifierSensor<TStorage>

Defined in: sensor/classifier.ts:65

Parameters

name?

string = 'Classifier'

options?

SensorOptions

Returns

ClassifierSensor<TStorage>

Overrides

Sensor.constructor

Properties

category

readonly category: Sensor = SensorCategory.Sensor

Defined in: sensor/classifier.ts:61

Overrides

Sensor.category


name

readonly name: string

Defined in: sensor/base.ts:223

Inherited from

Sensor.name


onAssignmentChanged

readonly onAssignmentChanged: Observable<readonly string[]>

Defined in: sensor/base.ts:250

Inherited from

Sensor.onAssignmentChanged


onCapabilitiesChanged

readonly onCapabilitiesChanged: Observable<string[]>

Defined in: sensor/base.ts:242

Inherited from

Sensor.onCapabilitiesChanged


onConnectedChanged

readonly onConnectedChanged: Observable<boolean>

Defined in: sensor/base.ts:252

Inherited from

Sensor.onConnectedChanged


onPropertyChanged

readonly onPropertyChanged: Observable<PropertyChangeOf<ClassifierSensorProperties>>

Defined in: sensor/base.ts:240

Inherited from

Sensor.onPropertyChanged


type

readonly type: Classifier = SensorType.Classifier

Defined in: sensor/classifier.ts:60

Overrides

Sensor.type

Accessors

assignedCameraIds

Get Signature

get assignedCameraIds(): readonly string[]

Defined in: sensor/base.ts:293

Returns

readonly string[]

Inherited from

Sensor.assignedCameraIds


assignmentLocked

Get Signature

get assignmentLocked(): boolean

Defined in: sensor/base.ts:297

Returns

boolean

Inherited from

Sensor.assignmentLocked


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

Sensor.capabilities


connected

Get Signature

get connected(): boolean

Defined in: sensor/base.ts:289

Returns

boolean

Inherited from

Sensor.connected


detected

Get Signature

get detected(): boolean

Defined in: sensor/classifier.ts:75

Returns

boolean


detections

Get Signature

get detections(): ClassifierDetection[]

Defined in: sensor/classifier.ts:79

Returns

ClassifierDetection[]


displayName

Get Signature

get displayName(): string

Defined in: sensor/base.ts:281

Returns

string

Inherited from

Sensor.displayName


id

Get Signature

get id(): string

Defined in: sensor/base.ts:269

Returns

string

Inherited from

Sensor.id


isAssigned

Get Signature

get isAssigned(): boolean

Defined in: sensor/base.ts:285

Returns

boolean

Inherited from

Sensor.isAssigned


labels

Get Signature

get labels(): string[]

Defined in: sensor/classifier.ts:83

Returns

string[]


nativeId

Get Signature

get nativeId(): string | undefined

Defined in: sensor/base.ts:273

Returns

string | undefined

Inherited from

Sensor.nativeId


origin

Get Signature

get origin(): string | undefined

Defined in: sensor/base.ts:277

Returns

string | undefined

Inherited from

Sensor.origin


pluginId

Get Signature

get pluginId(): string | undefined

Defined in: sensor/base.ts:301

Returns

string | undefined

Inherited from

Sensor.pluginId


props

Get Signature

get protected props(): Readonly<TProperties>

Defined in: sensor/base.ts:546

Returns

Readonly<TProperties>

Inherited from

Sensor.props


storage

Get Signature

get storage(): DeviceStorage<TStorage>

Defined in: sensor/base.ts:305

Returns

DeviceStorage<TStorage>

Inherited from

Sensor.storage


storageSchema

Get Signature

get storageSchema(): JsonSchema[]

Defined in: sensor/base.ts:312

Returns

JsonSchema[]

Inherited from

Sensor.storageSchema

Methods

clearDetections()

clearDetections(): void

Defined in: sensor/classifier.ts:140

Explicitly clear classifier state (detected = false, detections = [], labels = []).

Returns

void

Example

ts
sensor.clearDetections();

getValue()

Call Signature

getValue<K>(property): ClassifierSensorProperties[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 ClassifierSensorProperties

Parameters
property

K

Returns

ClassifierSensorProperties[K] | undefined

Inherited from

Sensor.getValue

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

Sensor.getValue


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

ts
const snapshot = sensor.getValues();
console.log(snapshot);

Inherited from

Sensor.getValues


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

ts
const dimmable = sensor.hasCapability('brightness');

Inherited from

Sensor.hasCapability


onStart()

protected onStart(): 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

ts
protected override onStart(): void {
  this._timer = setInterval(() => this.poll(), 5_000);
}

Inherited from

Sensor.onStart


onStop()

protected onStop(): 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

ts
protected override onStop(): void {
  if (this._timer) clearInterval(this._timer);
}

Inherited from

Sensor.onStop


reportDetections()

reportDetections(detected, detections?): void

Defined in: sensor/classifier.ts:114

Report classification results. Auto-derives detected and labels from the list.

  • reportDetections(true): generic classification trigger. The SDK synthesizes a single full-frame detection with empty attribute and sub-attribute.
  • reportDetections(true, [...]): explicit classifier detections.
  • reportDetections(false): clear.

Parameters

detected

boolean

Whether any classification result is active.

detections?

ClassifierDetection[]

Optional explicit classifier detections to publish.

Returns

void

Example

ts
import type { ClassifierDetection } from '@camera.ui/sdk';
sensor.reportDetections(true, [
  {
    label: 'animal',
    confidence: 0.88,
    box: { x: 0.1, y: 0.2, width: 0.3, height: 0.4 },
    attribute: 'bird',
    subAttribute: 'woodpecker',
  } satisfies ClassifierDetection,
]);
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

ts
sensor.setDisplayName('Front Door Motion');

Inherited from

Sensor.setDisplayName


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

typescript
async onStart(): Promise<void> {
  await this.loadModel();
  this.updateModelSpec();
}

Inherited from

Sensor.updateModelSpec