This is the default server implementation of BallastConfigurationBehavior.

Hierarchy (view full)

Constructors

Properties

[reference]: Datasource<StateType>
agent: Agent
cluster: never

The implemented cluster.

context: ActionContext
endpoint: Endpoint<Empty>
events: EventEmitter & Omit<Events, never> & {
    lampQuantity$Changing: ClusterEvents.AttributeObservable<Attribute<number, any>>;
    maxLevel$Changing: ClusterEvents.AttributeObservable<WritableAttribute<number, any>>;
    minLevel$Changing: ClusterEvents.AttributeObservable<WritableAttribute<number, any>>;
    physicalMaxLevel$Changing: ClusterEvents.AttributeObservable<Attribute<number, any>>;
    physicalMinLevel$Changing: ClusterEvents.AttributeObservable<Attribute<number, any>>;
} & {
    ballastFactorAdjustment$Changing: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<null | number, any>>;
    ballastStatus$Changing: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<TypeFromPartialBitSchema<{
        ballastNonOperational: BitFlag;
        lampFailure: BitFlag;
    }>, any>>;
    intrinsicBallastFactor$Changing: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<null | number, any>>;
    lampAlarmMode$Changing: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<TypeFromPartialBitSchema<{
        lampBurnHours: BitFlag;
    }>, any>>;
    lampBurnHours$Changing: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<null | number, any>>;
    lampBurnHoursTripPoint$Changing: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<null | number, any>>;
    lampManufacturer$Changing: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<string, any>>;
    lampRatedHours$Changing: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<null | number, any>>;
    lampType$Changing: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<string, any>>;
} & {
    lampQuantity$Changed: ClusterEvents.AttributeObservable<Attribute<number, any>>;
    maxLevel$Changed: ClusterEvents.AttributeObservable<WritableAttribute<number, any>>;
    minLevel$Changed: ClusterEvents.AttributeObservable<WritableAttribute<number, any>>;
    physicalMaxLevel$Changed: ClusterEvents.AttributeObservable<Attribute<number, any>>;
    physicalMinLevel$Changed: ClusterEvents.AttributeObservable<Attribute<number, any>>;
} & {
    ballastFactorAdjustment$Changed: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<null | number, any>>;
    ballastStatus$Changed: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<TypeFromPartialBitSchema<{
        ballastNonOperational: BitFlag;
        lampFailure: BitFlag;
    }>, any>>;
    intrinsicBallastFactor$Changed: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<null | number, any>>;
    lampAlarmMode$Changed: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<TypeFromPartialBitSchema<{
        lampBurnHours: BitFlag;
    }>, any>>;
    lampBurnHours$Changed: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<null | number, any>>;
    lampBurnHoursTripPoint$Changed: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<null | number, any>>;
    lampManufacturer$Changed: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<string, any>>;
    lampRatedHours$Changed: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<null | number, any>>;
    lampType$Changed: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<string, any>>;
} & {} & {}

Access the behavior's events.

features: TypeFromBitSchema<{}>

Supported features as a flag object.

session: SecureSession
state: Omit<{}, never> & {
    lampQuantity: number;
    maxLevel: number;
    minLevel: number;
    physicalMaxLevel: number;
    physicalMinLevel: number;
} & {
    ballastFactorAdjustment?: null | number;
    ballastStatus?: TypeFromPartialBitSchema<{
        ballastNonOperational: BitFlag;
        lampFailure: BitFlag;
    }>;
    intrinsicBallastFactor?: null | number;
    lampAlarmMode?: TypeFromPartialBitSchema<{
        lampBurnHours: BitFlag;
    }>;
    lampBurnHours?: null | number;
    lampBurnHoursTripPoint?: null | number;
    lampManufacturer?: string;
    lampRatedHours?: null | number;
    lampType?: string;
} & {} & {}

Access the behavior's state.

Type declaration

  • ReadonlylampQuantity: number

    This attribute shall specify the number of lamps connected to this ballast. (Note 1: this number does not take into account whether lamps are actually in their sockets or not).

    MatterSpecification.v13.Cluster § 3.3.6.8

  • ReadonlymaxLevel: number

    This attribute shall specify the light output of the ballast according to the dimming light curve

    (see Dimming Curve) when the Level Control Cluster’s CurrentLevel attribute equals to 254 (and the On/Off Cluster’s OnOff attribute equals to TRUE).

    The value of this attribute shall be both less than or equal to PhysicalMaxLevel and greater than or equal to MinLevel. If an attempt is made to set this attribute to a level where these conditions are not met, a response shall be returned with status code set to CONSTRAINT_ERROR, and the level shall NOT be set.

    MatterSpecification.v13.Cluster § 3.3.6.5

  • ReadonlyminLevel: number

    This attribute shall specify the light output of the ballast according to the dimming light curve (see Dimming Curve) when the Level Control Cluster’s CurrentLevel attribute equals to 1 (and the On/Off Cluster’s OnOff attribute equals to TRUE).

    The value of this attribute shall be both greater than or equal to PhysicalMinLevel and less than or equal to MaxLevel. If an attempt is made to set this attribute to a level where these conditions are not met, a response shall be returned with status code set to CONSTRAINT_ERROR, and the level shall NOT be set.

    MatterSpecification.v13.Cluster § 3.3.6.4

  • ReadonlyphysicalMaxLevel: number

    This attribute shall specify the maximum light output the ballast can achieve according to the dimming light curve (see Dimming Curve).

    MatterSpecification.v13.Cluster § 3.3.6.2

  • ReadonlyphysicalMinLevel: number

    This attribute shall specify the minimum light output the ballast can achieve according to the dimming light curve (see Dimming Curve).

    MatterSpecification.v13.Cluster § 3.3.6.1

Type declaration

  • Optional ReadonlyballastFactorAdjustment?: null | number

    This attribute shall specify the multiplication factor, as a percentage, to be applied to the configured light output of the lamps. A typical use for this attribute is to compensate for reduction in efficiency over the lifetime of a lamp.

    The light output is given by

    actual light output = configured light output x BallastFactorAdjustment / 100%

    The range for this attribute is manufacturer dependent. If an attempt is made to set this attribute to a level that cannot be supported, a response shall be returned with status code set to CONSTRAINT_ERROR, and the level shall NOT be changed. The value of null indicates that ballast factor scaling is not in use.

    MatterSpecification.v13.Cluster § 3.3.6.7

  • Optional ReadonlyballastStatus?: TypeFromPartialBitSchema<{
        ballastNonOperational: BitFlag;
        lampFailure: BitFlag;
    }>

    This attribute shall specify the status of various aspects of the ballast or the connected lights, see BallastStatusBitmap.

    MatterSpecification.v13.Cluster § 3.3.6.3

  • Optional ReadonlyintrinsicBallastFactor?: null | number

    This attribute shall specify the ballast factor, as a percentage, of the ballast/lamp combination, prior to any adjustment.

    A value of null indicates in invalid value.

    MatterSpecification.v13.Cluster § 3.3.6.6

  • Optional ReadonlylampAlarmMode?: TypeFromPartialBitSchema<{
        lampBurnHours: BitFlag;
    }>

    This attribute shall specify which attributes may cause an alarm notification to be generated. Ain each bit position means that its associated attribute is able to generate an alarm.

    NOTE All alarms are also logged in the alarm table – see Alarms cluster.

    MatterSpecification.v13.Cluster § 3.3.6.13

  • Optional ReadonlylampBurnHours?: null | number

    This attribute shall specify the length of time, in hours, the currently connected lamps have been operated, cumulative since the last re-lamping. Burn hours shall NOT be accumulated if the lamps are off.

    This attribute SHOULD be reset to zero (e.g., remotely) when the lamps are changed. If partially used lamps are connected, LampBurnHours SHOULD be updated to reflect the burn hours of the lamps.

    A value of null indicates an invalid or unknown time.

    MatterSpecification.v13.Cluster § 3.3.6.12

  • Optional ReadonlylampBurnHoursTripPoint?: null | number

    This attribute shall specify the number of hours the LampBurnHours attribute may reach before an alarm is generated.

    If the Alarms cluster is not present on the same device this attribute is not used and thus may be omitted (see Dependencies).

    The Alarm Code field included in the generated alarm shall be 0x01.

    If this attribute has the value of null, then this alarm shall NOT be generated.

    MatterSpecification.v13.Cluster § 3.3.6.14

  • Optional ReadonlylampManufacturer?: string

    This attribute shall specify the name of the manufacturer of the currently connected lamps.

    MatterSpecification.v13.Cluster § 3.3.6.10

  • Optional ReadonlylampRatedHours?: null | number

    This attribute shall specify the number of hours of use the lamps are rated for by the manufacturer.

    A value of null indicates an invalid or unknown time.

    MatterSpecification.v13.Cluster § 3.3.6.11

  • Optional ReadonlylampType?: string

    This attribute shall specify the type of lamps (including their wattage) connected to the ballast.

    MatterSpecification.v13.Cluster § 3.3.6.9

Base cluster state include all attribute values but may be extended by subclasses.

defaults: ClusterState.Type<BallastConfiguration.Cluster, typeof ClusterBehavior>
dependencies?: Iterable<Type, any, any>
early: boolean
Events: ClusterEvents.Type<BallastConfiguration.Cluster, typeof ClusterBehavior>
ExtensionInterface: {}
id

The behavior ID for ClusterBehaviors is the name of the cluster.

Interface: {
    components: never[];
}
Internal: (new () => {})
name: string
schema?: Schema
State: (new () => ClusterState.Type<BallastConfiguration.Cluster, typeof ClusterBehavior>)
supervisor: RootSupervisor
supports: ((other: Type) => boolean)

Type declaration

    • (other): boolean
    • Does this behavior support functionality of a specific implementation?

      Parameters

      Returns boolean

Methods

  • Create a generic callback function that has the same properties as a Reactor.

    Like a reactor, the callback's "this" will be bound to an active Behavior instance. Because of this: The reactor MUST be a real JS function - arrow functions will not work!

    Type Parameters

    • A extends any[]
    • R

    Parameters

    Returns ((...args: A) => undefined | R)

      • (...args): undefined | R
      • Parameters

        • Rest...args: A

        Returns undefined | R