"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 EnergyEvseMode_exports = {};
__export(EnergyEvseMode_exports, {
  EnergyEvseMode: () => EnergyEvseMode
});
module.exports = __toCommonJS(EnergyEvseMode_exports);
var import_MatterDefinition = require("../MatterDefinition.js");
var import_elements = require("../../elements/index.js");
/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
const EnergyEvseMode = (0, import_elements.ClusterElement)(
  {
    name: "EnergyEvseMode",
    id: 157,
    type: "ModeBase",
    classification: "application",
    pics: "EEVSEM",
    details: "This cluster is derived from the Mode Base cluster which also defines a namespace for the operation of EVSE devices.",
    xref: { document: "cluster", section: "9.4" }
  },
  (0, import_elements.AttributeElement)({ name: "ClusterRevision", id: 65533, type: "ClusterRevision", default: 1 }),
  (0, import_elements.DatatypeElement)(
    { name: "ModeTag", type: "enum16" },
    (0, import_elements.FieldElement)({
      name: "Manual",
      id: 16384,
      details: "While in this mode, the EVSE needs to be sent an EnableEvseCharging or EnableEvseDischarging command to make the EVSE start charging or discharging.",
      xref: { document: "cluster", section: "9.4.4.1.1" }
    }),
    (0, import_elements.FieldElement)({
      name: "TimeOfUse",
      id: 16385,
      details: "While in this mode, the EVSE will attempt to automatically start charging based on the user\u2019s charging targets and a Time of Use tariff to charge at the cheapest times of the day.",
      xref: { document: "cluster", section: "9.4.4.1.2" }
    }),
    (0, import_elements.FieldElement)({
      name: "SolarCharging",
      id: 16386,
      details: "While in this mode, the EVSE will attempt to automatically start charging based on available excess solar PV generation, limiting the charging power to avoid imported energy from the grid.",
      xref: { document: "cluster", section: "9.4.4.1.3" }
    })
  )
);
import_MatterDefinition.MatterDefinition.children.push(EnergyEvseMode);
//# sourceMappingURL=EnergyEvseMode.js.map
