"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var SmokeCoAlarmDT_exports = {};
__export(SmokeCoAlarmDT_exports, {
  SmokeCoAlarmDt: () => SmokeCoAlarmDt
});
module.exports = __toCommonJS(SmokeCoAlarmDT_exports);
var import_MatterDefinition = require("../MatterDefinition.js");
var import_elements = require("../../elements/index.js");
/**
 * @license
 * Copyright 2022-2024 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
const SmokeCoAlarmDt = (0, import_elements.DeviceTypeElement)({
  name: "SmokeCoAlarm",
  id: 118,
  category: "Sensor",
  classification: "simple",
  details: "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.\nSmoke 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.\nSome 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.",
  xref: { document: "device", section: "7.9" },
  children: [
    (0, import_elements.RequirementElement)({
      name: "Descriptor",
      id: 29,
      element: "serverCluster",
      children: [(0, import_elements.RequirementElement)({ name: "DeviceTypeList", default: [{ deviceType: 118, revision: 1 }], element: "attribute" })]
    }),
    (0, import_elements.RequirementElement)({
      name: "Identify",
      id: 3,
      conformance: "M",
      element: "serverCluster",
      xref: { document: "device", section: "7.9.5" }
    }),
    (0, import_elements.RequirementElement)({
      name: "Groups",
      id: 4,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "7.9.5" }
    }),
    (0, import_elements.RequirementElement)({
      name: "SmokeCoAlarm",
      id: 92,
      conformance: "M",
      element: "serverCluster",
      xref: { document: "device", section: "7.9.5" }
    }),
    (0, import_elements.RequirementElement)({
      name: "RelativeHumidityMeasurement",
      id: 1029,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "7.9.5" }
    }),
    (0, import_elements.RequirementElement)({
      name: "TemperatureMeasurement",
      id: 1026,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "7.9.5" }
    }),
    (0, import_elements.RequirementElement)({
      name: "CarbonMonoxideConcentrationMeasurement",
      id: 1036,
      conformance: "O",
      element: "serverCluster",
      xref: { document: "device", section: "7.9.5" }
    })
  ]
});
import_MatterDefinition.MatterDefinition.children.push(SmokeCoAlarmDt);
//# sourceMappingURL=SmokeCoAlarmDT.js.map
