<?xml version="1.0"?>
<!--
Copyright (c) 2023 Project CHIP Authors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<configurator>
  <domain name="Energy Management"/>


  <bitmap name="DeviceClassBitmap" type="bitmap32">
    <cluster code="0x0096"/>
    <field name="HVAC" mask="0x01"/>
    <field name="StripHeater" mask="0x02"/>
    <field name="WaterHeater" mask="0x04"/>
    <field name="PoolPump" mask="0x08"/>
    <field name="SmartAppliance" mask="0x10"/>
    <field name="IrrigationPump" mask="0x20"/>
    <field name="CommercialLoad" mask="0x40"/>
    <field name="ResidentialLoad" mask="0x80"/>
    <field name="ExteriorLighting" mask="0x0100"/>
    <field name="InteriorLighting" mask="0x0200"/>
    <field name="EV" mask="0x0400"/>
    <field name="GenerationSystem" mask="0x0800"/>
    <field name="SmartInverter" mask="0x1000"/>
    <field name="EVSE" mask="0x2000"/>
    <field name="RESU" mask="0x4000"/>
    <field name="EMS" mask="0x8000"/>
    <field name="SEM" mask="0x10000"/>
  </bitmap>

  <bitmap name="EventControlBitmap" type="bitmap16">
    <cluster code="0x0096"/>
    <field name="RandomStart" mask="0x01"/>
  </bitmap>

  <bitmap name="EventTransitionControlBitmap" type="bitmap16">
    <cluster code="0x0096"/>
    <field name="RandomDuration" mask="0x01"/>
    <field name="IgnoreOptOut" mask="0x02"/>
  </bitmap>

  <bitmap name="CancelControlBitmap" type="bitmap16">
    <cluster code="0x0096"/>
    <field name="RandomEnd" mask="0x01"/>
  </bitmap>

  <enum name="LoadControlEventChangeSourceEnum" type="enum8">
    <cluster code="0x0096"/>
    <item name="Automatic" value="0x00"/>
    <item name="UserAction" value="0x01"/>
  </enum>

  <enum name="LoadControlEventStatusEnum" type="enum8">
    <cluster code="0x0096"/>
    <item name="Unknown" value="0x00"/>
    <item name="Received" value="0x01"/>
    <item name="InProgress" value="0x02"/>
    <item name="Completed" value="0x03"/>
    <item name="OptedOut" value="0x04"/>
    <item name="OptedIn" value="0x05"/>
    <item name="Canceled" value="0x06"/>
    <item name="Superseded" value="0x07"/>
    <item name="PartialOptedOut" value="0x08"/>
    <item name="PartialOptedIn" value="0x09"/>
    <item name="NoParticipation" value="0x0A"/>
    <item name="Unavailable" value="0x0B"/>
    <item name="Failed" value="0x0C"/>
  </enum>

  <enum name="CriticalityLevelEnum" type="enum8">
    <cluster code="0x0096"/>
    <item name="Unknown" value="0x00"/>
    <item name="Green" value="0x01"/>
    <item name="Level1" value="0x02"/>
    <item name="Level2" value="0x03"/>
    <item name="Level3" value="0x04"/>
    <item name="Level4" value="0x05"/>
    <item name="Level5" value="0x06"/>
    <item name="Emergency" value="0x07"/>
    <item name="PlannedOutage" value="0x08"/>
    <item name="ServiceDisconnect" value="0x09"/>
  </enum>

  <enum name="HeatingSourceEnum" type="enum8">
    <cluster code="0x0096"/>
    <item name="Any" value="0x0"/>
    <item name="Electric" value="0x1"/>
    <item name="NonElectric" value="0x2"/>
  </enum>

  <struct name="TemperatureControlStruct">
    <cluster code="0x0096"/>
    <!-- Note: No TemperatureDifference type available yet in ZAP XML -->
    <item fieldId="0" name="CoolingTempOffset" type="int16u" isNullable="true" optional="true" />
    <item fieldId="1" name="HeatingtTempOffset" type="int16u" isNullable="true" optional="true" />
    <item fieldId="2" name="CoolingTempSetpoint" type="temperature" isNullable="true" optional="true" />
    <item fieldId="3" name="HeatingTempSetpoint" type="temperature" isNullable="true" optional="true" />
  </struct>

  <struct name="AverageLoadControlStruct">
    <cluster code="0x0096"/>
    <item fieldId="0" name="LoadAdjustment" type="int8s" min="-100" max="100" />
  </struct>

  <struct name="DutyCycleControlStruct">
    <cluster code="0x0096"/>
    <item fieldId="0" name="DutyCycle" type="percent" />
  </struct>

  <struct name="PowerSavingsControlStruct">
    <cluster code="0x0096"/>
    <item fieldId="0" name="PowerSavings" type="percent" />
  </struct>

  <struct name="HeatingSourceControlStruct">
    <cluster code="0x0096"/>
    <item fieldId="0" name="HeatingSource" type="HeatingSourceEnum"/>
  </struct>

  <struct name="LoadControlEventTransitionStruct">
    <cluster code="0x0096"/>
    <item fieldId="0" name="Duration" type="int16u" max="1440"/>
    <item fieldId="1" name="Control" type="EventTransitionControlBitmap"/>
    <item fieldId="2" name="TemperatureControl" type="TemperatureControlStruct" optional="true"/>
    <item fieldId="3" name="AverageLoadControl" type="AverageLoadControlStruct" optional="true"/>
    <item fieldId="4" name="DutyCycleControl" type="DutyCycleControlStruct" optional="true"/>
    <item fieldId="5" name="PowerSavingsControl" type="PowerSavingsControlStruct" optional="true"/>
    <item fieldId="6" name="HeatingSourceControl" type="HeatingSourceControlStruct" optional="true"/>
  </struct>

  <!-- This does not quite match the spec, which has LoadControlEventStruct as a
       fabric-scoped struct with some fabric-sensitive fields, but that doesn't
       really make sense in all the places where the struct is used, and the spec
       does not really define other things in a way that would work with that at
       the moment. -->
  <struct name="LoadControlEventStruct">
    <cluster code="0x0096"/>
    <item fieldId="0" name="EventID" type="octet_string" length="16"/>
    <item fieldId="1" name="ProgramID" type="octet_string" length="16" isNullable="true"/>
    <item fieldId="2" name="Control" type="EventControlBitmap" />
    <item fieldId="3" name="DeviceClass" type="DeviceClassBitmap" />
    <item fieldId="4" name="EnrollmentGroup" type="int8u" optional="true" />
    <item fieldId="5" name="Criticality" type="CriticalityLevelEnum" defaut="0" />
    <item fieldId="6" name="StartTime" type="epoch_s" isNullable="true" />
    <item fieldId="7" name="Transitions" array="true" type="LoadControlEventTransitionStruct" />
  </struct>

  <struct name="LoadControlProgramStruct">
    <cluster code="0x0096"/>
    <item fieldId="0" name="ProgramID" type="octet_string" length="16"/>
    <item fieldId="1" name="Name" type="long_char_string" length="32"/>
    <item fieldId="2" name="EnrollmentGroup" type="int8u" isNullable="true" min="1" max="0xFF"/>
    <item fieldId="3" name="RandomStartMinutes" type="int8u" isNullable="true" min="0x00" max="0x3C"/>
    <item fieldId="4" name="RandomDurationMinutes" type="int8u" isNullable="true" min="0x00" max="0x3C"/>
  </struct>

  <cluster apiMaturity="provisional">
    <name>Demand Response Load Control</name>
    <domain>Energy Management</domain>
    <description>This cluster provides an interface to the functionality of Smart Energy Demand Response and Load Control.</description>
    <code>0x0096</code>
    <define>DEMAND_RESPONSE_LOAD_CONTROL_CLUSTER</define>
    <client tick="false" init="false">true</client>
    <server tick="false" init="false">true</server>
    <globalAttribute side="either" code="0xFFFD" value="4"/>

    <features>
      <feature bit="0" code="ENRLG" name="Enrollment Groups" summary="Supports enrollment groups">
        <optionalConform/>
      </feature>
      <feature bit="1" code="TEMPO" name="TemperatureOffset" summary="Supports temperature offsets">
        <optionalConform choice="a" more="true"/>
      </feature>
      <feature bit="2" code="TEMPS" name="TemperatureSetpoint" summary="Supports temperature setpoints">
        <optionalConform choice="a" more="true"/>
      </feature>
      <feature bit="3" code="LOADA" name="LoadAdjustment" summary="Supports average load adjustment percentage">
        <optionalConform choice="a" more="true"/>
      </feature>
      <feature bit="4" code="DUTYC" name="DutyCycle" summary="Supports duty cycle adjustment">
        <optionalConform choice="a" more="true"/>
      </feature>
      <feature bit="5" code="PWRSV" name="PowerSavings" summary="Supports power savings">
        <optionalConform choice="a" more="true"/>
      </feature>
      <feature bit="6" code="HEATS" name="HeatingSource" summary="Supports selecting heating source">
        <optionalConform choice="a" more="true"/>
      </feature>
    </features>

    <attribute side="server" code="0x0000" define="LOAD_CONTROL_PROGRAMS" type="array" entryType="LoadControlProgramStruct" writable="false">LoadControlPrograms</attribute>
    <attribute side="server" code="0x0001" define="NUMBER_OF_LOAD_CONTROL_PROGRAMS" type="int8u" min="5" writable="false" default="5">NumberOfLoadControlPrograms</attribute>
    <attribute side="server" code="0x0002" define="LOAD_CONTROL_EVENTS" type="array" entryType="LoadControlEventStruct" writable="false">Events</attribute>
    <attribute side="server" code="0x0003" define="LOAD_CONTROL_ACTIVE_EVENTS" type="array" entryType="LoadControlEventStruct" writable="false">ActiveEvents</attribute>
    <attribute side="server" code="0x0004" define="NUMBER_OF_EVENTS_PER_PROGRAM" type="int8u" min="10" writable="false" default="10">NumberOfEventsPerProgram</attribute>
    <attribute side="server" code="0x0005" define="NUMBER_OF_TRANSITIONS" type="int8u" min="3" writable="false" default="3">NumberOfTransitions</attribute>
    <attribute side="server" code="0x0006" define="DEFAULT_RANDOM_START" type="int8u" min="0" max="0x3C" default="0x1E" writable="true">
      <description>DefaultRandomStart</description>
      <access op="read" privilege="view"/>
      <access op="write" privilege="manage"/>
    </attribute>
    <attribute side="server" code="0x0007" define="DEFAULT_RANDOM_DURATION" type="int8u" min="0" max="0x3C" default="0" writable="true">
      <description>DefaultRandomDuration</description>
      <access op="read" privilege="view"/>
      <access op="write" privilege="manage"/>
    </attribute>

    <command source="client" code="0x00" name="RegisterLoadControlProgramRequest" optional="false">
      <description>
        Upon receipt, this SHALL insert a new LoadControlProgramStruct into LoadControlPrograms, or if the ProgramID matches an existing LoadControlProgramStruct, then the provider SHALL be updated with the provided values.
      </description>
      <arg name="LoadControlProgram" type="LoadControlProgramStruct"/>
    </command>
    <command source="client" code="0x01" name="UnregisterLoadControlProgramRequest" optional="false">
      <description>
        Upon receipt, this SHALL remove a the LoadControlProgramStruct from LoadControlPrograms with the matching ProgramID.
      </description>
      <arg name="LoadControlProgramID" type="octet_string" length="16"/>
    </command>
    <command source="client" code="0x02" name="AddLoadControlEventRequest" optional="false">
      <description>
        On receipt of the AddLoadControlEventsRequest command, the server SHALL add a load control event.
      </description>
      <arg name="Event" type="LoadControlEventStruct"/>
    </command>
    <command source="client" code="0x03" name="RemoveLoadControlEventRequest" optional="false">
      <description>
        Upon receipt, this SHALL remove the LoadControlEventStruct with the matching EventID from LoadEventPrograms.
      </description>
      <arg name="EventID" type="octet_string" length="16"/>
      <arg name="CancelControl" type="CancelControlBitmap"/>
    </command>
    <command source="client" code="0x04" name="ClearLoadControlEventsRequest" optional="true">
      <!-- Note: Maybe this command needs to have fields?  Who knows!
           Spec does not define anything about it other than its existence.
           See https://github.com/CHIP-Specifications/connectedhomeip-spec/issues/8514 -->
      <description>
        Upon receipt, this SHALL clear all the load control events.
      </description>
    </command>

    <event side="server" code="0x00" name="LoadControlEventStatusChange" priority="info" optional="false">
      <description>This event SHALL be generated when the status of a LoadControlEventStruct changes.</description>
      <field id="0" name="EventID" type="octet_string" length="16"/>
      <field id="1" name="TransitionIndex" type="int8u" isNullable="true"/>
      <field id="2" name="Status" type="LoadControlEventStatusEnum"/>
      <field id="3" name="Criticality" type="CriticalityLevelEnum"/>
      <field id="4" name="Control" type="EventControlBitmap"/>
      <field id="5" name="TemperatureControl" type="TemperatureControlStruct" isNullable="true" optional="true" />
      <field id="6" name="AverageLoadControl" type="AverageLoadControlStruct" isNullable="true" optional="true" />
      <field id="7" name="DutyCycleControl" type="DutyCycleControlStruct" isNullable="true" optional="true" />
      <field id="8" name="PowerSavingsControl" type="PowerSavingsControlStruct" isNullable="true" optional="true" />
      <field id="9" name="HeatingSourceControl" type="HeatingSourceControlStruct" isNullable="true" optional="true" />
      <!-- Spec has an invalid field ID that cannot be used, so not enabling the Signature field for now.  See
           https://github.com/CHIP-Specifications/connectedhomeip-spec/issues/8515 -->
      <!-- <field id="0xFF" name="Signature" type="octet_string" length="48" isNullable="true"/> -->
    </event>
  </cluster>
</configurator>
