Skip to content

Commit

Permalink
Added just the energy preferences xml. (#30934)
Browse files Browse the repository at this point in the history
* Added just the xml and regenerated.  No implementations yet as
requested.

* regen

* Apply suggestions from code review

Added suggestions for ARRAY vs array

Co-authored-by: Boris Zbarsky <[email protected]>

* regenerate

---------

Co-authored-by: Boris Zbarsky <[email protected]>
  • Loading branch information
2 people authored and pull[bot] committed Feb 16, 2024
1 parent 7671346 commit 5957582
Show file tree
Hide file tree
Showing 52 changed files with 6,545 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/clusters.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ Generally regenerate using one of:
| 150 | 0x96 | DemandResponseLoadControl |
| 152 | 0x98 | DeviceEnergyManagement |
| 153 | 0x99 | EnergyEvse |
| 155 | 0x9B | EnergyPreference |
| 257 | 0x101 | DoorLock |
| 258 | 0x102 | WindowCovering |
| 259 | 0x103 | BarrierControl |
Expand Down
1 change: 1 addition & 0 deletions src/app/zap-templates/zcl/data-model/all.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
<xi:include href="chip/microwave-oven-control-cluster.xml" />
<xi:include href="chip/door-lock-cluster.xml" />
<xi:include href="chip/energy-evse-cluster.xml" />
<xi:include href="chip/energy-preference-cluster.xml" />
<xi:include href="chip/ethernet-network-diagnostics-cluster.xml" />
<xi:include href="chip/electrical-energy-measurement-cluster.xml" />
<xi:include href="chip/fan-control-cluster.xml" />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
<?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"/>
<cluster>
<name>Energy Preference</name>
<domain>Energy Management</domain>
<code>0x009B</code>
<define>ENERGY_PREFERENCE_CLUSTER</define>
<client init="false" tick="false">true</client>
<server init="false" tick="false">true</server>
<description>This cluster provides an interface to specify preferences for how devices should consume energy.</description>
<!--Attributes-->

<!--Conformance feature BALA - for now optional-->
<attribute code="0x0000" side="server" type="array" entryType="BalanceStruct" define="ENERGY_PREFERENCE_ENERGY_BALANCES" isNullable="false" min="2" max="10" writable="false" optional="true">EnergyBalances</attribute>

<!--Conformance feature BALA - for now optional-->
<attribute code="0x0001" side="server" type="int8u" define="ENERGY_PREFERENCE_CURRENT_ENERGY_BALANCE" isNullable="false" writable="true" optional="true">
<access op="read" privilege="view"/>
<access op="write" privilege="operate"/>
<description>CurrentEnergyBalance</description>
</attribute>

<!--Conformance feature BALA - for now optional-->
<attribute code="0x0002" side="server" type="array" entryType="EnergyPriorityEnum" define="ENERGY_PREFERENCE_ENERGY_PRIORITIES" isNullable="false" max="2" writable="false" optional="true">EnergyPriorities</attribute>

<!--Conformance feature LPMS - for now optional-->
<attribute code="0x0003" side="server" type="array" entryType="BalanceStruct" define="ENERGY_PREFERENCE_LOW_POWER_MODE_SENSITIVITIES" isNullable="false" min="2" max="10" writable="false" optional="true">LowPowerModeSensitivities</attribute>

<!--Conformance feature LPMS - for now optional-->
<attribute code="0x0004" side="server" type="int8u" define="ENERGY_PREFERENCE_CURRENT_LOW_POWER_MODE_SENSITIVITY" isNullable="false" writable="true" optional="true">
<access op="read" privilege="view"/>
<access op="write" privilege="operate"/>
<description>CurrentLowPowerModeSensitivity</description>
</attribute>

</cluster>

<bitmap name="Feature" type="bitmap32">
<cluster code="0x009B"/>
<field name="EnergyBalance" mask="0x1"/>
<field name="LowPowerModeSensitivity" mask="0x2"/>
</bitmap>

<enum name="EnergyPriorityEnum" type="enum8">
<cluster code="0x009B"/>
<item name="Comfort" value="0x00"/>
<item name="Speed" value="0x01"/>
<item name="Efficiency" value="0x02"/>
<item name="WaterConsumption" value="0x03"/>
</enum>

<struct name="BalanceStruct">
<cluster code="0x009B"/>
<item name="Step" type="percent"/>
<item name="Label" type="char_string" optional="true" length="64"/>
</struct>

</configurator>
1 change: 1 addition & 0 deletions src/app/zap-templates/zcl/zcl-with-test-extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
"microwave-oven-mode-cluster.xml",
"microwave-oven-control-cluster.xml",
"door-lock-cluster.xml",
"energy-preference-cluster.xml",
"electrical-energy-measurement-cluster.xml",
"electrical-measurement-cluster.xml",
"energy-evse-cluster.xml",
Expand Down
1 change: 1 addition & 0 deletions src/app/zap-templates/zcl/zcl.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
"drlc-cluster.xml",
"electrical-measurement-cluster.xml",
"energy-evse-cluster.xml",
"energy-preference-cluster.xml",
"ethernet-network-diagnostics-cluster.xml",
"fan-control-cluster.xml",
"fault-injection-cluster.xml",
Expand Down
2 changes: 2 additions & 0 deletions src/app/zap_cluster_list.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
"ELECTRICAL_MEASUREMENT_CLUSTER": [],
"ENERGY_EVSE_CLUSTER": [],
"ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER": [],
"ENERGY_PREFERENCE_CLUSTER": [],
"FAN_CONTROL_CLUSTER": [],
"FAULT_INJECTION_CLUSTER": [],
"FIXED_LABEL_CLUSTER": [],
Expand Down Expand Up @@ -179,6 +180,7 @@
"ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER": [
"ethernet-network-diagnostics-server"
],
"ENERGY_PREFERENCE_CLUSTER": [""],
"FAN_CONTROL_CLUSTER": ["fan-control-server"],
"FAULT_INJECTION_CLUSTER": ["fault-injection-server"],
"FIXED_LABEL_CLUSTER": ["fixed-label-server"],
Expand Down
34 changes: 34 additions & 0 deletions src/controller/data_model/controller-clusters.matter
Original file line number Diff line number Diff line change
Expand Up @@ -4754,6 +4754,40 @@ provisional cluster EnergyEvse = 153 {
timed command ClearTargets(): DefaultSuccess = 7;
}

/** This cluster provides an interface to specify preferences for how devices should consume energy. */
cluster EnergyPreference = 155 {
revision 1; // NOTE: Default/not specifically set

enum EnergyPriorityEnum : enum8 {
kComfort = 0;
kSpeed = 1;
kEfficiency = 2;
kWaterConsumption = 3;
}

bitmap Feature : bitmap32 {
kEnergyBalance = 0x1;
kLowPowerModeSensitivity = 0x2;
}

struct BalanceStruct {
percent step = 0;
optional char_string<64> label = 1;
}

readonly attribute optional BalanceStruct energyBalances[] = 0;
attribute optional int8u currentEnergyBalance = 1;
readonly attribute optional EnergyPriorityEnum energyPriorities[] = 2;
readonly attribute optional BalanceStruct lowPowerModeSensitivities[] = 3;
attribute optional int8u currentLowPowerModeSensitivity = 4;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
readonly attribute attrib_id attributeList[] = 65531;
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
}

/** An interface to a generic way to secure a door */
cluster DoorLock = 257 {
revision 7;
Expand Down
Loading

0 comments on commit 5957582

Please sign in to comment.