/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { MatterDefinition } from "../MatterDefinition.js";
import { DeviceTypeElement as DeviceType, RequirementElement as Requirement } from "../../elements/index.js";
const ThermostatDt = DeviceType(
  {
    name: "Thermostat",
    id: 769,
    category: "HVAC",
    classification: "simple",
    details: "A Thermostat device is capable of having either built-in or separate sensors for temperature, humidity or occupancy. It allows the desired temperature to be set either remotely or locally. The thermostat is capable of sending heating and/or cooling requirement notifications to a heating/cooling unit (for example, an indoor air handler) or is capable of including a mechanism to control a heating or cooling unit directly.",
    xref: { document: "device", section: "9.1" }
  },
  Requirement(
    { name: "Descriptor", id: 29, element: "serverCluster" },
    Requirement({ name: "DeviceTypeList", default: [{ deviceType: 769, revision: 3 }], element: "attribute" })
  ),
  Requirement({
    name: "Identify",
    id: 3,
    conformance: "M",
    element: "serverCluster",
    xref: { document: "device", section: "9.1.4" }
  }),
  Requirement({
    name: "Groups",
    id: 4,
    conformance: "Active",
    element: "serverCluster",
    xref: { document: "device", section: "9.1.4" }
  }),
  Requirement({
    name: "Thermostat",
    id: 513,
    conformance: "M",
    element: "serverCluster",
    xref: { document: "device", section: "9.1.4" }
  }),
  Requirement({
    name: "ScenesManagement",
    id: 98,
    conformance: "P, O",
    element: "serverCluster",
    xref: { document: "device", section: "9.1.4" }
  }),
  Requirement({
    name: "ThermostatUserInterfaceConfiguration",
    id: 516,
    conformance: "O",
    element: "serverCluster",
    xref: { document: "device", section: "9.1.4" }
  }),
  Requirement({
    name: "EnergyPreference",
    id: 155,
    conformance: "P, O",
    element: "serverCluster",
    xref: { document: "device", section: "9.1.4" }
  }),
  Requirement({
    name: "RelativeHumidityMeasurement",
    id: 1029,
    conformance: "O",
    element: "clientCluster",
    xref: { document: "device", section: "9.1.4" }
  }),
  Requirement({
    name: "TimeSynchronization",
    id: 56,
    conformance: "O",
    element: "serverCluster",
    xref: { document: "device", section: "9.1.4" }
  }),
  Requirement({
    name: "TimeSynchronization",
    id: 56,
    conformance: "O",
    element: "clientCluster",
    xref: { document: "device", section: "9.1.4" }
  }),
  Requirement({
    name: "FanControl",
    id: 514,
    conformance: "O",
    element: "clientCluster",
    xref: { document: "device", section: "9.1.4" }
  }),
  Requirement({
    name: "TemperatureMeasurement",
    id: 1026,
    conformance: "O",
    element: "clientCluster",
    xref: { document: "device", section: "9.1.4" }
  }),
  Requirement({
    name: "OccupancySensing",
    id: 1030,
    conformance: "O",
    element: "clientCluster",
    xref: { document: "device", section: "9.1.4" }
  })
);
MatterDefinition.children.push(ThermostatDt);
export {
  ThermostatDt
};
//# sourceMappingURL=ThermostatDT.js.map
