@camera.ui/sdk / plugin / PluginRole
Enumeration: PluginRole
Defined in: plugin/contract.ts:14
Role a plugin plays in the system. The role decides which lifecycle hooks the host invokes and which contract validations apply (see helper.ts).
Enumeration Members
CameraAndSensorProvider
CameraAndSensorProvider:
"cameraAndSensorProvider"
Defined in: plugin/contract.ts:42
Combined role: plugin both manages cameras and exposes sensors (its own cameras and, when consumes is set, also foreign cameras). Used by integrations that ship a complete camera + detection stack.
CameraController
CameraController:
"cameraController"
Defined in: plugin/contract.ts:36
Manages cameras and their media streams (ONVIF, RTSP, generic IP, ...). The plugin is responsible for stream URLs, PTZ, snapshots, and the lifecycle hooks in BasePlugin. It does not produce sensors for foreign cameras.
Hub
Hub:
"hub"
Defined in: plugin/contract.ts:23
System-wide aggregator that attaches to cameras owned by other plugins to provide a cross-camera service (e.g. bridging cameras and sensors into a smart-home platform, or recording and notifications). A hub creates no cameras of its own and provides no sensors (provides must be empty); it attaches to cameras via the hub assignment and typically reads camera and sensor state through consumes.
SensorProvider
SensorProvider:
"sensorProvider"
Defined in: plugin/contract.ts:29
Adds sensors to existing cameras without owning the camera itself. Typical use: a detection plugin that consumes another plugin's video frames and emits motion / object / face detections back into the system.