"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 thermostat_cluster_element_exports = {};
__export(thermostat_cluster_element_exports, {
  Thermostat: () => Thermostat
});
module.exports = __toCommonJS(thermostat_cluster_element_exports);
var import_MatterDefinition = require("../MatterDefinition.js");
var import_elements = require("../../elements/index.js");
/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
const Thermostat = (0, import_elements.ClusterElement)(
  { name: "Thermostat", id: 513, classification: "application" },
  (0, import_elements.AttributeElement)({ name: "ClusterRevision", id: 65533, type: "ClusterRevision", default: 10 }),
  (0, import_elements.AttributeElement)(
    { name: "FeatureMap", id: 65532, type: "FeatureMap" },
    (0, import_elements.FieldElement)({ name: "HEAT", conformance: "AUTO, O.a+", constraint: "0", title: "Heating" }),
    (0, import_elements.FieldElement)({ name: "COOL", conformance: "AUTO, O.a+", constraint: "1", title: "Cooling" }),
    (0, import_elements.FieldElement)({ name: "OCC", conformance: "O", constraint: "2", title: "Occupancy" }),
    (0, import_elements.FieldElement)({ name: "SB", conformance: "D", constraint: "4", title: "Setback" }),
    (0, import_elements.FieldElement)({ name: "AUTO", conformance: "O", constraint: "5", title: "AutoMode" }),
    (0, import_elements.FieldElement)({ name: "LTNE", conformance: "O", constraint: "6", title: "LocalTemperatureNotExposed" }),
    (0, import_elements.FieldElement)({ name: "MSCH", conformance: "O", constraint: "7", title: "MatterScheduleConfiguration" }),
    (0, import_elements.FieldElement)({ name: "PRES", conformance: "O", constraint: "8", title: "Presets" })
  ),
  (0, import_elements.AttributeElement)({ name: "LocalTemperature", id: 0, type: "temperature", access: "R V", conformance: "M", quality: "X" }),
  (0, import_elements.AttributeElement)({
    name: "OutdoorTemperature",
    id: 1,
    type: "temperature",
    access: "R V",
    conformance: "O",
    default: null,
    quality: "X"
  }),
  (0, import_elements.AttributeElement)({ name: "Occupancy", id: 2, type: "OccupancyBitmap", access: "R V", conformance: "OCC" }),
  (0, import_elements.AttributeElement)({
    name: "AbsMinHeatSetpointLimit",
    id: 3,
    type: "temperature",
    access: "R V",
    conformance: "[HEAT]",
    constraint: "desc",
    default: { type: "celsius", value: 7 },
    quality: "F"
  }),
  (0, import_elements.AttributeElement)({
    name: "AbsMaxHeatSetpointLimit",
    id: 4,
    type: "temperature",
    access: "R V",
    conformance: "[HEAT]",
    constraint: "desc",
    default: { type: "celsius", value: 30 },
    quality: "F"
  }),
  (0, import_elements.AttributeElement)({
    name: "AbsMinCoolSetpointLimit",
    id: 5,
    type: "temperature",
    access: "R V",
    conformance: "[COOL]",
    constraint: "desc",
    default: { type: "celsius", value: 16 },
    quality: "F"
  }),
  (0, import_elements.AttributeElement)({
    name: "AbsMaxCoolSetpointLimit",
    id: 6,
    type: "temperature",
    access: "R V",
    conformance: "[COOL]",
    constraint: "desc",
    default: { type: "celsius", value: 32 },
    quality: "F"
  }),
  (0, import_elements.AttributeElement)({ name: "PiCoolingDemand", id: 7, conformance: "D" }),
  (0, import_elements.AttributeElement)({ name: "PiHeatingDemand", id: 8, conformance: "D" }),
  (0, import_elements.AttributeElement)({ name: "HvacSystemTypeConfiguration", id: 9, conformance: "D" }),
  (0, import_elements.AttributeElement)({
    name: "LocalTemperatureCalibration",
    id: 16,
    type: "SignedTemperature",
    access: "RW VM",
    conformance: "[!LTNE]",
    default: { type: "celsius", value: 0 },
    quality: "N"
  }),
  (0, import_elements.AttributeElement)({
    name: "OccupiedCoolingSetpoint",
    id: 17,
    type: "temperature",
    access: "RW VO",
    conformance: "COOL",
    constraint: "desc",
    default: { type: "celsius", value: 26 },
    quality: "N"
  }),
  (0, import_elements.AttributeElement)({
    name: "OccupiedHeatingSetpoint",
    id: 18,
    type: "temperature",
    access: "RW VO",
    conformance: "HEAT",
    constraint: "desc",
    default: { type: "celsius", value: 20 },
    quality: "N"
  }),
  (0, import_elements.AttributeElement)({
    name: "UnoccupiedCoolingSetpoint",
    id: 19,
    type: "temperature",
    access: "RW VO",
    conformance: "COOL & OCC",
    constraint: "desc",
    default: { type: "celsius", value: 26 },
    quality: "N"
  }),
  (0, import_elements.AttributeElement)({
    name: "UnoccupiedHeatingSetpoint",
    id: 20,
    type: "temperature",
    access: "RW VO",
    conformance: "HEAT & OCC",
    constraint: "desc",
    default: { type: "celsius", value: 20 },
    quality: "N"
  }),
  (0, import_elements.AttributeElement)({
    name: "MinHeatSetpointLimit",
    id: 21,
    type: "temperature",
    access: "RW VM",
    conformance: "[HEAT]",
    constraint: "desc",
    default: { type: "reference", name: "AbsMinHeatSetpointLimit" },
    quality: "N"
  }),
  (0, import_elements.AttributeElement)({
    name: "MaxHeatSetpointLimit",
    id: 22,
    type: "temperature",
    access: "RW VM",
    conformance: "[HEAT]",
    constraint: "desc",
    default: { type: "reference", name: "AbsMaxHeatSetpointLimit" },
    quality: "N"
  }),
  (0, import_elements.AttributeElement)({
    name: "MinCoolSetpointLimit",
    id: 23,
    type: "temperature",
    access: "RW VM",
    conformance: "[COOL]",
    constraint: "desc",
    default: { type: "reference", name: "AbsMinCoolSetpointLimit" },
    quality: "N"
  }),
  (0, import_elements.AttributeElement)({
    name: "MaxCoolSetpointLimit",
    id: 24,
    type: "temperature",
    access: "RW VM",
    conformance: "[COOL]",
    constraint: "desc",
    default: { type: "reference", name: "AbsMaxCoolSetpointLimit" },
    quality: "N"
  }),
  (0, import_elements.AttributeElement)({
    name: "MinSetpointDeadBand",
    id: 25,
    type: "SignedTemperature",
    access: "R[W] VM",
    conformance: "AUTO",
    constraint: "0 to 12.7\xB0C",
    default: { type: "celsius", value: 2 },
    quality: "N"
  }),
  (0, import_elements.AttributeElement)({
    name: "RemoteSensing",
    id: 26,
    type: "RemoteSensingBitmap",
    access: "RW VM",
    conformance: "O",
    default: 0,
    quality: "N"
  }),
  (0, import_elements.AttributeElement)({
    name: "ControlSequenceOfOperation",
    id: 27,
    type: "ControlSequenceOfOperationEnum",
    access: "RW VM",
    conformance: "M",
    constraint: "desc",
    quality: "N"
  }),
  (0, import_elements.AttributeElement)({
    name: "SystemMode",
    id: 28,
    type: "SystemModeEnum",
    access: "RW VM",
    conformance: "M",
    constraint: "desc",
    quality: "N"
  }),
  (0, import_elements.AttributeElement)({
    name: "ThermostatRunningMode",
    id: 30,
    type: "ThermostatRunningModeEnum",
    access: "R V",
    conformance: "[AUTO]",
    constraint: "desc",
    default: 0
  }),
  (0, import_elements.AttributeElement)({
    name: "TemperatureSetpointHold",
    id: 35,
    type: "TemperatureSetpointHoldEnum",
    access: "RW VM",
    conformance: "O",
    constraint: "desc",
    default: 0,
    quality: "N"
  }),
  (0, import_elements.AttributeElement)({
    name: "TemperatureSetpointHoldDuration",
    id: 36,
    type: "uint16",
    access: "RW VM",
    conformance: "O",
    constraint: "max 1440",
    default: null,
    quality: "X N"
  }),
  (0, import_elements.AttributeElement)({ name: "ThermostatProgrammingOperationMode", id: 37, conformance: "D" }),
  (0, import_elements.AttributeElement)({
    name: "ThermostatRunningState",
    id: 41,
    type: "RelayStateBitmap",
    access: "R V",
    conformance: "O",
    constraint: "desc"
  }),
  (0, import_elements.AttributeElement)({
    name: "SetpointChangeSource",
    id: 48,
    type: "SetpointChangeSourceEnum",
    access: "R V",
    conformance: "O",
    constraint: "desc",
    default: 0
  }),
  (0, import_elements.AttributeElement)({
    name: "SetpointChangeAmount",
    id: 49,
    type: "TemperatureDifference",
    access: "R V",
    conformance: "O",
    default: null,
    quality: "X"
  }),
  (0, import_elements.AttributeElement)({ name: "SetpointChangeSourceTimestamp", id: 50, type: "epoch-s", access: "R V", conformance: "O" }),
  (0, import_elements.AttributeElement)({ name: "OccupiedSetback", id: 52, conformance: "D" }),
  (0, import_elements.AttributeElement)({ name: "OccupiedSetbackMin", id: 53, conformance: "D" }),
  (0, import_elements.AttributeElement)({ name: "OccupiedSetbackMax", id: 54, conformance: "D" }),
  (0, import_elements.AttributeElement)({ name: "UnoccupiedSetback", id: 55, conformance: "D" }),
  (0, import_elements.AttributeElement)({ name: "UnoccupiedSetbackMin", id: 56, conformance: "D" }),
  (0, import_elements.AttributeElement)({ name: "UnoccupiedSetbackMax", id: 57, conformance: "D" }),
  (0, import_elements.AttributeElement)({
    name: "EmergencyHeatDelta",
    id: 58,
    type: "UnsignedTemperature",
    access: "RW VM",
    conformance: "O",
    default: { type: "celsius", value: 25 },
    quality: "N"
  }),
  (0, import_elements.AttributeElement)({
    name: "AcType",
    id: 64,
    type: "ACTypeEnum",
    access: "RW VM",
    conformance: "O",
    constraint: "desc",
    default: 0,
    quality: "N"
  }),
  (0, import_elements.AttributeElement)(
    { name: "AcCapacity", id: 65, type: "uint16", access: "RW VM", conformance: "O", default: 0, quality: "N" }
  ),
  (0, import_elements.AttributeElement)({
    name: "AcRefrigerantType",
    id: 66,
    type: "ACRefrigerantTypeEnum",
    access: "RW VM",
    conformance: "O",
    constraint: "desc",
    default: 0,
    quality: "N"
  }),
  (0, import_elements.AttributeElement)({
    name: "AcCompressorType",
    id: 67,
    type: "ACCompressorTypeEnum",
    access: "RW VM",
    conformance: "O",
    constraint: "desc",
    default: 0,
    quality: "N"
  }),
  (0, import_elements.AttributeElement)({ name: "AcErrorCode", id: 68, type: "ACErrorCodeBitmap", access: "RW VM", conformance: "O", default: 0 }),
  (0, import_elements.AttributeElement)({
    name: "AcLouverPosition",
    id: 69,
    type: "ACLouverPositionEnum",
    access: "RW VM",
    conformance: "O",
    constraint: "desc",
    default: 0,
    quality: "N"
  }),
  (0, import_elements.AttributeElement)({
    name: "AcCoilTemperature",
    id: 70,
    type: "temperature",
    access: "R V",
    conformance: "O",
    default: null,
    quality: "X"
  }),
  (0, import_elements.AttributeElement)({
    name: "AcCapacityFormat",
    id: 71,
    type: "ACCapacityFormatEnum",
    access: "RW VM",
    conformance: "O",
    constraint: "desc",
    default: 0,
    quality: "N"
  }),
  (0, import_elements.AttributeElement)(
    {
      name: "PresetTypes",
      id: 72,
      type: "list",
      access: "R V",
      conformance: "PRES",
      constraint: "1 to 7",
      quality: "F"
    },
    (0, import_elements.FieldElement)({ name: "entry", type: "PresetTypeStruct" })
  ),
  (0, import_elements.AttributeElement)(
    {
      name: "ScheduleTypes",
      id: 73,
      type: "list",
      access: "R V",
      conformance: "MSCH",
      constraint: "1 to 3",
      quality: "F"
    },
    (0, import_elements.FieldElement)({ name: "entry", type: "ScheduleTypeStruct" })
  ),
  (0, import_elements.AttributeElement)({
    name: "NumberOfPresets",
    id: 74,
    type: "uint8",
    access: "R V",
    conformance: "PRES",
    constraint: "min 1",
    quality: "F"
  }),
  (0, import_elements.AttributeElement)({
    name: "NumberOfSchedules",
    id: 75,
    type: "uint8",
    access: "R V",
    conformance: "MSCH",
    constraint: "min 1",
    quality: "F"
  }),
  (0, import_elements.AttributeElement)({
    name: "NumberOfScheduleTransitions",
    id: 76,
    type: "uint8",
    access: "R V",
    conformance: "MSCH",
    constraint: "min 1",
    quality: "F"
  }),
  (0, import_elements.AttributeElement)({
    name: "NumberOfScheduleTransitionPerDay",
    id: 77,
    type: "uint8",
    access: "R V",
    conformance: "MSCH",
    constraint: "min 1",
    quality: "X F"
  }),
  (0, import_elements.AttributeElement)({
    name: "ActivePresetHandle",
    id: 78,
    type: "octstr",
    access: "R V",
    conformance: "PRES",
    constraint: "max 16",
    quality: "X N"
  }),
  (0, import_elements.AttributeElement)({
    name: "ActiveScheduleHandle",
    id: 79,
    type: "octstr",
    access: "R V",
    conformance: "MSCH",
    constraint: "max 16",
    quality: "X N"
  }),
  (0, import_elements.AttributeElement)(
    {
      name: "Presets",
      id: 80,
      type: "list",
      access: "RW VM",
      conformance: "PRES",
      constraint: "max numberOfPresets",
      quality: "N T"
    },
    (0, import_elements.FieldElement)({ name: "entry", type: "PresetStruct" })
  ),
  (0, import_elements.AttributeElement)(
    {
      name: "Schedules",
      id: 81,
      type: "list",
      access: "RW VM",
      conformance: "MSCH",
      constraint: "max numberOfSchedules",
      quality: "N T"
    },
    (0, import_elements.FieldElement)({ name: "entry", type: "ScheduleStruct" })
  ),
  (0, import_elements.AttributeElement)({
    name: "SetpointHoldExpiryTimestamp",
    id: 82,
    type: "epoch-s",
    access: "R V",
    conformance: "O",
    default: null,
    quality: "X N"
  }),
  (0, import_elements.CommandElement)(
    {
      name: "SetpointRaiseLower",
      id: 0,
      access: "O",
      conformance: "M",
      direction: "request",
      response: "status"
    },
    (0, import_elements.FieldElement)({ name: "Mode", id: 0, type: "SetpointRaiseLowerModeEnum", conformance: "M", constraint: "desc" }),
    (0, import_elements.FieldElement)({ name: "Amount", id: 1, type: "int8", conformance: "M" })
  ),
  (0, import_elements.CommandElement)(
    {
      name: "SetActiveScheduleRequest",
      id: 5,
      access: "O",
      conformance: "MSCH",
      direction: "request",
      response: "status"
    },
    (0, import_elements.FieldElement)({ name: "ScheduleHandle", id: 0, type: "octstr", conformance: "M", constraint: "max 16" })
  ),
  (0, import_elements.CommandElement)(
    {
      name: "SetActivePresetRequest",
      id: 6,
      access: "O",
      conformance: "PRES",
      direction: "request",
      response: "status"
    },
    (0, import_elements.FieldElement)({ name: "PresetHandle", id: 0, type: "octstr", conformance: "M", constraint: "max 16", quality: "X" })
  ),
  (0, import_elements.CommandElement)(
    {
      name: "AtomicRequest",
      id: 254,
      access: "O",
      conformance: "PRES | MSCH",
      direction: "request",
      response: "AtomicResponse"
    },
    (0, import_elements.FieldElement)(
      { name: "RequestType", id: 0, type: "enum8", conformance: "M" },
      (0, import_elements.FieldElement)({ name: "BeginWrite", id: 0 }),
      (0, import_elements.FieldElement)({ name: "CommitWrite", id: 1 }),
      (0, import_elements.FieldElement)({ name: "RollbackWrite", id: 2 })
    ),
    (0, import_elements.FieldElement)(
      { name: "AttributeRequests", id: 1, type: "list", conformance: "M" },
      (0, import_elements.FieldElement)({ name: "entry", type: "attrib-id" })
    ),
    (0, import_elements.FieldElement)({ name: "Timeout", id: 2, type: "uint16", conformance: "O" })
  ),
  (0, import_elements.CommandElement)(
    { name: "AtomicResponse", id: 253, direction: "response" },
    (0, import_elements.FieldElement)({ name: "StatusCode", id: 0, type: "status", conformance: "M" }),
    (0, import_elements.FieldElement)(
      { name: "AttributeStatus", id: 1, type: "list", conformance: "M" },
      (0, import_elements.FieldElement)(
        { name: "entry", type: "struct" },
        (0, import_elements.FieldElement)({ name: "AttributeId", id: 0, type: "attrib-id", conformance: "M" }),
        (0, import_elements.FieldElement)({ name: "StatusCode", id: 1, type: "status", conformance: "M" })
      )
    ),
    (0, import_elements.FieldElement)({ name: "Timeout", id: 2, type: "uint16", conformance: "O" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "ACErrorCodeBitmap", type: "map32" },
    (0, import_elements.FieldElement)({ name: "CompressorFail", constraint: "0" }),
    (0, import_elements.FieldElement)({ name: "RoomSensorFail", constraint: "1" }),
    (0, import_elements.FieldElement)({ name: "OutdoorSensorFail", constraint: "2" }),
    (0, import_elements.FieldElement)({ name: "CoilSensorFail", constraint: "3" }),
    (0, import_elements.FieldElement)({ name: "FanFail", constraint: "4" })
  ),
  (0, import_elements.DatatypeElement)({ name: "OccupancyBitmap", type: "map8" }, (0, import_elements.FieldElement)({ name: "Occupied", constraint: "0" })),
  (0, import_elements.DatatypeElement)(
    { name: "PresetTypeFeaturesBitmap", type: "map16" },
    (0, import_elements.FieldElement)({ name: "Automatic", constraint: "0" }),
    (0, import_elements.FieldElement)({ name: "SupportsNames", constraint: "1" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "RelayStateBitmap", type: "map16" },
    (0, import_elements.FieldElement)({ name: "Heat", constraint: "0" }),
    (0, import_elements.FieldElement)({ name: "Cool", constraint: "1" }),
    (0, import_elements.FieldElement)({ name: "Fan", constraint: "2" }),
    (0, import_elements.FieldElement)({ name: "HeatStage2", constraint: "3" }),
    (0, import_elements.FieldElement)({ name: "CoolStage2", constraint: "4" }),
    (0, import_elements.FieldElement)({ name: "FanStage2", constraint: "5" }),
    (0, import_elements.FieldElement)({ name: "FanStage3", constraint: "6" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "RemoteSensingBitmap", type: "map8" },
    (0, import_elements.FieldElement)({ name: "LocalTemperature", constraint: "0" }),
    (0, import_elements.FieldElement)({ name: "OutdoorTemperature", constraint: "1" }),
    (0, import_elements.FieldElement)({ name: "Occupancy", constraint: "2" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "ScheduleTypeFeaturesBitmap", type: "map16" },
    (0, import_elements.FieldElement)({ name: "SupportsPresets", constraint: "0" }),
    (0, import_elements.FieldElement)({ name: "SupportsSetpoints", constraint: "1" }),
    (0, import_elements.FieldElement)({ name: "SupportsNames", constraint: "2" }),
    (0, import_elements.FieldElement)({ name: "SupportsOff", constraint: "3" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "ScheduleDayOfWeekBitmap", type: "map8" },
    (0, import_elements.FieldElement)({ name: "Sunday", constraint: "0" }),
    (0, import_elements.FieldElement)({ name: "Monday", constraint: "1" }),
    (0, import_elements.FieldElement)({ name: "Tuesday", constraint: "2" }),
    (0, import_elements.FieldElement)({ name: "Wednesday", constraint: "3" }),
    (0, import_elements.FieldElement)({ name: "Thursday", constraint: "4" }),
    (0, import_elements.FieldElement)({ name: "Friday", constraint: "5" }),
    (0, import_elements.FieldElement)({ name: "Saturday", constraint: "6" }),
    (0, import_elements.FieldElement)({ name: "Away", constraint: "7" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "ScheduleModeBitmap", type: "map8" },
    (0, import_elements.FieldElement)({ name: "HeatSetpointPresent", constraint: "0" }),
    (0, import_elements.FieldElement)({ name: "CoolSetpointPresent", constraint: "1" })
  ),
  (0, import_elements.DatatypeElement)({ name: "ACCapacityFormatEnum", type: "enum8" }, (0, import_elements.FieldElement)({ name: "BtUh", id: 0, conformance: "O" })),
  (0, import_elements.DatatypeElement)(
    { name: "ACCompressorTypeEnum", type: "enum8" },
    (0, import_elements.FieldElement)({ name: "Unknown", id: 0, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "T1", id: 1, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "T2", id: 2, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "T3", id: 3, conformance: "O" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "ACLouverPositionEnum", type: "enum8" },
    (0, import_elements.FieldElement)({ name: "Closed", id: 1, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "Open", id: 2, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "Quarter", id: 3, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "Half", id: 4, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "ThreeQuarters", id: 5, conformance: "O" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "ACRefrigerantTypeEnum", type: "enum8" },
    (0, import_elements.FieldElement)({ name: "Unknown", id: 0, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "R22", id: 1, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "R410A", id: 2, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "R407C", id: 3, conformance: "O" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "ACTypeEnum", type: "enum8" },
    (0, import_elements.FieldElement)({ name: "Unknown", id: 0, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "CoolingFixed", id: 1, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "HeatPumpFixed", id: 2, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "CoolingInverter", id: 3, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "HeatPumpInverter", id: 4, conformance: "O" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "SetpointRaiseLowerModeEnum", type: "enum8" },
    (0, import_elements.FieldElement)({ name: "Heat", id: 0, conformance: "HEAT" }),
    (0, import_elements.FieldElement)({ name: "Cool", id: 1, conformance: "COOL" }),
    (0, import_elements.FieldElement)({ name: "Both", id: 2, conformance: "HEAT | COOL" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "ControlSequenceOfOperationEnum", type: "enum8" },
    (0, import_elements.FieldElement)({ name: "CoolingOnly", id: 0, conformance: "[COOL]" }),
    (0, import_elements.FieldElement)({ name: "CoolingWithReheat", id: 1, conformance: "[COOL]" }),
    (0, import_elements.FieldElement)({ name: "HeatingOnly", id: 2, conformance: "[HEAT]" }),
    (0, import_elements.FieldElement)({ name: "HeatingWithReheat", id: 3, conformance: "[HEAT]" }),
    (0, import_elements.FieldElement)({ name: "CoolingAndHeating", id: 4, conformance: "[HEAT & COOL]" }),
    (0, import_elements.FieldElement)({ name: "CoolingAndHeatingWithReheat", id: 5, conformance: "[HEAT & COOL]" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "PresetScenarioEnum", type: "enum8" },
    (0, import_elements.FieldElement)({ name: "Occupied", id: 1, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Unoccupied", id: 2, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Sleep", id: 3, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Wake", id: 4, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Vacation", id: 5, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "GoingToSleep", id: 6, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "UserDefined", id: 254, conformance: "M" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "SetpointChangeSourceEnum", type: "enum8" },
    (0, import_elements.FieldElement)({ name: "Manual", id: 0, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "Schedule", id: 1, conformance: "[MSCH]" }),
    (0, import_elements.FieldElement)({ name: "External", id: 2, conformance: "O" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "StartOfWeekEnum", type: "enum8" },
    (0, import_elements.FieldElement)({ name: "Sunday", id: 0, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Monday", id: 1, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Tuesday", id: 2, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Wednesday", id: 3, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Thursday", id: 4, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Friday", id: 5, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Saturday", id: 6, conformance: "M" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "SystemModeEnum", type: "enum8" },
    (0, import_elements.FieldElement)({ name: "Off", id: 0, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "Auto", id: 1, conformance: "AUTO" }),
    (0, import_elements.FieldElement)({ name: "Cool", id: 3, conformance: "[COOL]" }),
    (0, import_elements.FieldElement)({ name: "Heat", id: 4, conformance: "[HEAT]" }),
    (0, import_elements.FieldElement)({ name: "EmergencyHeat", id: 5, conformance: "[HEAT]" }),
    (0, import_elements.FieldElement)({ name: "Precooling", id: 6, conformance: "[COOL]" }),
    (0, import_elements.FieldElement)({ name: "FanOnly", id: 7, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "Dry", id: 8, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "Sleep", id: 9, conformance: "O" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "ThermostatRunningModeEnum", type: "enum8" },
    (0, import_elements.FieldElement)({ name: "Off", id: 0, conformance: "O" }),
    (0, import_elements.FieldElement)({ name: "Cool", id: 3, conformance: "[COOL]" }),
    (0, import_elements.FieldElement)({ name: "Heat", id: 4, conformance: "[HEAT]" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "TemperatureSetpointHoldEnum", type: "enum8" },
    (0, import_elements.FieldElement)({ name: "SetpointHoldOff", id: 0, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "SetpointHoldOn", id: 1, conformance: "M" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "PresetStruct", type: "struct" },
    (0, import_elements.FieldElement)({ name: "PresetHandle", id: 0, type: "octstr", conformance: "M", constraint: "max 16", quality: "X" }),
    (0, import_elements.FieldElement)({ name: "PresetScenario", id: 1, type: "PresetScenarioEnum", conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Name", id: 2, type: "string", conformance: "O", constraint: "max 64", default: null, quality: "X" }),
    (0, import_elements.FieldElement)({
      name: "CoolingSetpoint",
      id: 3,
      type: "temperature",
      conformance: "COOL",
      constraint: "desc",
      default: { type: "celsius", value: 26 }
    }),
    (0, import_elements.FieldElement)({
      name: "HeatingSetpoint",
      id: 4,
      type: "temperature",
      conformance: "HEAT",
      constraint: "desc",
      default: { type: "celsius", value: 20 }
    }),
    (0, import_elements.FieldElement)({ name: "BuiltIn", id: 5, type: "bool", conformance: "M", default: false, quality: "X" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "PresetTypeStruct", type: "struct" },
    (0, import_elements.FieldElement)({ name: "PresetScenario", id: 0, type: "PresetScenarioEnum", conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "NumberOfPresets", id: 1, type: "uint8", conformance: "M", default: 0 }),
    (0, import_elements.FieldElement)({ name: "PresetTypeFeatures", id: 2, type: "PresetTypeFeaturesBitmap", conformance: "M", default: 0 })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "WeeklyScheduleTransitionStruct", type: "struct" },
    (0, import_elements.FieldElement)({ name: "TransitionTime", id: 0, type: "uint16", conformance: "M", constraint: "max 1439" }),
    (0, import_elements.FieldElement)({ name: "HeatSetpoint", id: 1, type: "temperature", conformance: "M", quality: "X" }),
    (0, import_elements.FieldElement)({ name: "CoolSetpoint", id: 2, type: "temperature", conformance: "M", quality: "X" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "ScheduleStruct", type: "struct" },
    (0, import_elements.FieldElement)({ name: "ScheduleHandle", id: 0, type: "octstr", conformance: "M", constraint: "max 16", quality: "X" }),
    (0, import_elements.FieldElement)({ name: "SystemMode", id: 1, type: "SystemModeEnum", conformance: "M", constraint: "desc" }),
    (0, import_elements.FieldElement)({ name: "Name", id: 2, type: "string", conformance: "O", constraint: "max 64" }),
    (0, import_elements.FieldElement)({ name: "PresetHandle", id: 3, type: "octstr", conformance: "O", constraint: "max 16" }),
    (0, import_elements.FieldElement)(
      {
        name: "Transitions",
        id: 4,
        type: "list",
        conformance: "M",
        constraint: "1 to numberOfScheduleTransitions",
        default: []
      },
      (0, import_elements.FieldElement)({ name: "entry", type: "ScheduleTransitionStruct" })
    ),
    (0, import_elements.FieldElement)({ name: "BuiltIn", id: 5, type: "bool", conformance: "M", default: false, quality: "X" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "ScheduleTransitionStruct", type: "struct" },
    (0, import_elements.FieldElement)({ name: "DayOfWeek", id: 0, type: "ScheduleDayOfWeekBitmap", conformance: "M", constraint: "desc" }),
    (0, import_elements.FieldElement)({ name: "TransitionTime", id: 1, type: "uint16", conformance: "M", constraint: "max 1439" }),
    (0, import_elements.FieldElement)({ name: "PresetHandle", id: 2, type: "octstr", conformance: "[PRES]", constraint: "max 16" }),
    (0, import_elements.FieldElement)({ name: "SystemMode", id: 3, type: "SystemModeEnum", conformance: "O", constraint: "desc" }),
    (0, import_elements.FieldElement)({ name: "CoolingSetpoint", id: 4, type: "temperature", conformance: "[COOL]", constraint: "desc" }),
    (0, import_elements.FieldElement)({ name: "HeatingSetpoint", id: 5, type: "temperature", conformance: "[HEAT]", constraint: "desc" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "ScheduleTypeStruct", type: "struct" },
    (0, import_elements.FieldElement)({ name: "SystemMode", id: 0, type: "SystemModeEnum", conformance: "M", constraint: "desc" }),
    (0, import_elements.FieldElement)({
      name: "NumberOfSchedules",
      id: 1,
      type: "uint8",
      conformance: "M",
      constraint: "max numberOfSchedules",
      default: 0
    }),
    (0, import_elements.FieldElement)({
      name: "ScheduleTypeFeatures",
      id: 2,
      type: "ScheduleTypeFeaturesBitmap",
      conformance: "M",
      constraint: "desc",
      default: 0
    })
  ),
  (0, import_elements.DatatypeElement)({ name: "TemperatureDifference", type: "int16" }),
  (0, import_elements.DatatypeElement)({ name: "SignedTemperature", type: "int8" }),
  (0, import_elements.DatatypeElement)({ name: "UnsignedTemperature", type: "uint8" })
);
import_MatterDefinition.MatterDefinition.children.push(Thermostat);
//# sourceMappingURL=thermostat-cluster.element.js.map
