@camera.ui/sdk / sensor / GarageControl
Class: GarageControl<TStorage> ​
Defined in: sensor/garage.ts:57
Garage door control. Override setTargetState() to drive hardware and call await super.setTargetState(value) once the hardware confirms: the base implementation updates both targetState and currentState.
For long-running transitions (Opening/Closing intermediate states), override setTargetState and write currentState separately as the door moves.
Extends ​
Sensor<GarageControlProperties,TStorage,string>
Type Parameters ​
TStorage ​
TStorage extends object = Record<string, any>
Constructors ​
Constructor ​
new GarageControl<
TStorage>(name?,options?):GarageControl<TStorage>
Defined in: sensor/garage.ts:61
Parameters ​
name? ​
string = 'Garage'
options? ​
Returns ​
GarageControl<TStorage>
Overrides ​
Properties ​
category ​
readonlycategory:Control=SensorCategory.Control
Defined in: sensor/garage.ts:59
Overrides ​
name ​
readonlyname:string
Defined in: sensor/base.ts:238
Inherited from ​
onAssignmentChanged ​
readonlyonAssignmentChanged:Observable<readonlystring[]>
Defined in: sensor/base.ts:266
Inherited from ​
onCapabilitiesChanged ​
readonlyonCapabilitiesChanged:Observable<string[]>
Defined in: sensor/base.ts:258
Inherited from ​
onConnectedChanged ​
readonlyonConnectedChanged:Observable<boolean>
Defined in: sensor/base.ts:268
Inherited from ​
onPropertyChanged ​
readonlyonPropertyChanged:Observable<PropertyChangeOf<GarageControlProperties>>
Defined in: sensor/base.ts:256
Inherited from ​
type ​
readonlytype:Garage=SensorType.Garage
Defined in: sensor/garage.ts:58
Overrides ​
Accessors ​
address ​
Get Signature ​
get address():
string|undefined
Defined in: sensor/base.ts:300
Returns ​
string | undefined
Inherited from ​
assignedCameraIds ​
Get Signature ​
get assignedCameraIds(): readonly
string[]
Defined in: sensor/base.ts:316
Returns ​
readonly string[]
Inherited from ​
assignmentLocked ​
Get Signature ​
get assignmentLocked():
boolean
Defined in: sensor/base.ts:320
Returns ​
boolean
Inherited from ​
capabilities ​
Get Signature ​
get capabilities():
TCapability[]
Defined in: sensor/base.ts:339
Returns ​
TCapability[]
Set Signature ​
set capabilities(
value):void
Defined in: sensor/base.ts:344
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:312
Returns ​
boolean
Inherited from ​
currentState ​
Get Signature ​
get currentState():
GarageState
Defined in: sensor/garage.ts:71
Returns ​
displayName ​
Get Signature ​
get displayName():
string
Defined in: sensor/base.ts:304
Returns ​
string
Inherited from ​
id ​
Get Signature ​
get id():
string
Defined in: sensor/base.ts:284
Returns ​
string
Inherited from ​
isAssigned ​
Get Signature ​
get isAssigned():
boolean
Defined in: sensor/base.ts:308
Returns ​
boolean
Inherited from ​
nativeId ​
Get Signature ​
get nativeId():
string|undefined
Defined in: sensor/base.ts:288
Returns ​
string | undefined
Inherited from ​
obstructionDetected ​
Get Signature ​
get obstructionDetected():
boolean
Defined in: sensor/garage.ts:79
Returns ​
boolean
origin ​
Get Signature ​
get origin():
string|undefined
Defined in: sensor/base.ts:292
Returns ​
string | undefined
Inherited from ​
pluginId ​
Get Signature ​
get pluginId():
string|undefined
Defined in: sensor/base.ts:324
Returns ​
string | undefined
Inherited from ​
props ​
Get Signature ​
get
protectedprops():Readonly<TProperties>
Defined in: sensor/base.ts:558
Returns ​
Readonly<TProperties>
Inherited from ​
sourceState ​
Get Signature ​
get sourceState():
SensorSourceState|undefined
Defined in: sensor/base.ts:296
Returns ​
SensorSourceState | undefined
Inherited from ​
storage ​
Get Signature ​
get storage():
DeviceStorage<TStorage>
Defined in: sensor/base.ts:328
Returns ​
DeviceStorage<TStorage>
Inherited from ​
storageSchema ​
Get Signature ​
get storageSchema():
JsonSchema[]
Defined in: sensor/base.ts:335
Returns ​
Inherited from ​
targetState ​
Get Signature ​
get targetState():
GarageState
Defined in: sensor/garage.ts:75
Returns ​
Methods ​
getValue() ​
Call Signature ​
getValue<
K>(property):GarageControlProperties[K] |undefined
Defined in: sensor/base.ts:368
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 GarageControlProperties
Parameters ​
property ​
K
Returns ​
GarageControlProperties[K] | undefined
Inherited from ​
Call Signature ​
getValue(
property):unknown
Defined in: sensor/base.ts:369
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:385
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:411
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:647
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:660
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 ​
setAddress() ​
setAddress(
address):void
Defined in: sensor/base.ts:444
Report the sensor's current address at the source, e.g. after a Home Assistant entity was renamed. The identity (nativeId) stays.
Parameters ​
address ​
string
Current address at the source
Returns ​
void
Example ​
sensor.setAddress(entry.entity_id);Inherited from ​
setCurrentState() ​
setCurrentState(
value):void
Defined in: sensor/garage.ts:116
Publish the actual door state. Use this to drive long-running transitions (Open, then Closing, then Closed) independently of the user-requested target state. Read-only from cross-process consumers (updateValue ignores it).
Parameters ​
value ​
Current physical door state from the GarageState enum.
Returns ​
void
Example ​
import { GarageState } from '@camera.ui/sdk';
garage.setCurrentState(GarageState.Closing);setDisplayName() ​
setDisplayName(
value):void
Defined in: sensor/base.ts:360
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 ​
setObstructionDetected() ​
setObstructionDetected(
value):void
Defined in: sensor/garage.ts:132
Publish the obstruction-detected state. Read-only from the consumer side (updateValue ignores it), plugin code calls this when its hardware reports an obstruction sensor change.
Parameters ​
value ​
boolean
True when an obstruction is currently detected.
Returns ​
void
Example ​
garage.setObstructionDetected(true);setSourceState() ​
setSourceState(
state):void
Defined in: sensor/base.ts:427
Report what the source behind this sensor looks like right now. The host shows the state with its reason on the sensors page and never deletes on it. Only meaningful for adopted sensors.
Parameters ​
state ​
Current source state
Returns ​
void
Example ​
sensor.setSourceState(registryHasEntity ? 'connected' : 'removed');Inherited from ​
setTargetState() ​
setTargetState(
value):Promise<void>
Defined in: sensor/garage.ts:96
Set the target state. Override to drive hardware and call await super.setTargetState(value) after success: the base implementation syncs both targetState and currentState to the new value.
Parameters ​
value ​
Desired target state from the GarageState enum.
Returns ​
Promise<void>
Example ​
import { GarageState } from '@camera.ui/sdk';
await garage.setTargetState(GarageState.Open);updateModelSpec() ​
updateModelSpec():
void
Defined in: sensor/base.ts:577
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();
}