A Smoke CO Alarm device is capable of sensing smoke, carbon monoxide or both. It is capable of issuing a visual and audible alert to indicate elevated concentration of smoke or carbon monoxide.

Smoke CO Alarms are capable of monitoring themselves and issuing visual and audible alerts for hardware faults, critical low battery conditions, and end of service. Optionally, some of the audible alerts can be temporarily silenced. Smoke CO Alarms are capable of performing a self-test which performs a diagnostic of the primary sensor and issuing a cycle of the audible and visual life safety alarm indications.

Some smoke alarms may be capable of adjusting sensitivity. Smoke CO Alarm may have the ability to detect and report humidity levels, temperature levels, and contamination levels.

SmokeCoAlarmDevice requires SmokeCoAlarm cluster but SmokeCoAlarm is not added by default because you must select the features your device supports. You can add manually using SmokeCoAlarmDevice.with().

MatterSpecification.v13.Device § 7.9

interface SmokeCoAlarmDevice {
    behaviors: {
        identify: typeof IdentifyServer;
    } & {
        identify: typeof IdentifyServer;
    };
    defaults: StateOf<{
        identify: typeof IdentifyServer;
    }>;
    deviceClass: DeviceClassification;
    deviceRevision: number;
    deviceType: DeviceTypeId;
    name: "SmokeCoAlarm";
    requirements: typeof SmokeCoAlarmRequirements;
    set(defaults: InputStateOf<{
        identify: typeof IdentifyServer;
    }>): With<For<{
        behaviors: {
            identify: typeof IdentifyServer;
        };
        deviceRevision: 1;
        deviceType: 118;
        name: "SmokeCoAlarm";
        requirements: typeof SmokeCoAlarmRequirements;
    }>, {
        identify: typeof IdentifyServer;
    }>;
    with<const BL>(...behaviors: BL): With<For<{
        behaviors: {
            identify: typeof IdentifyServer;
        };
        deviceRevision: 1;
        deviceType: 118;
        name: "SmokeCoAlarm";
        requirements: typeof SmokeCoAlarmRequirements;
    }>, With<{
        identify: typeof IdentifyServer;
    }, BL>>;
}

Hierarchy (view full)

Properties

behaviors: {
    identify: typeof IdentifyServer;
} & {
    identify: typeof IdentifyServer;
}
defaults: StateOf<{
    identify: typeof IdentifyServer;
}>

Access default state values.

deviceRevision: number
deviceType: DeviceTypeId
name
requirements: typeof SmokeCoAlarmRequirements

Methods

  • Define an endpoint like this one with different defaults. Only updates values present in the input object.

    Parameters

    • defaults: InputStateOf<{
          identify: typeof IdentifyServer;
      }>

    Returns With<For<{
        behaviors: {
            identify: typeof IdentifyServer;
        };
        deviceRevision: 1;
        deviceType: 118;
        name: "SmokeCoAlarm";
        requirements: typeof SmokeCoAlarmRequirements;
    }>, {
        identify: typeof IdentifyServer;
    }>

  • Define an endpoint like this one with additional and/or replacement server behaviors.

    Type Parameters

    • const BL extends List

    Parameters

    • Rest...behaviors: BL

    Returns With<For<{
        behaviors: {
            identify: typeof IdentifyServer;
        };
        deviceRevision: 1;
        deviceType: 118;
        name: "SmokeCoAlarm";
        requirements: typeof SmokeCoAlarmRequirements;
    }>, With<{
        identify: typeof IdentifyServer;
    }, BL>>