Skip to content

Commit

Permalink
Update energy management clusters xml for 1.4 (project-chip#33673)
Browse files Browse the repository at this point in the history
* Updated device-energy-management-cluster.xml and energy-evse-cluster.xml using Alchemy and spec commit: dbf7c6dd7206fa4a4647f8a6218325fbe6c8ec6c Note more DEM PRs are yet to merge.

* Regen_all checked in.

* Added missing energy-management-app.matter

* Updated with spec PR project-chip#9251 merged to master.

* Updated with spec PR project-chip#9266 (change ForecastId -> ForecastID)

* regen_all

* Removed extra entryType="PowerAdjustStruct" which causes incorrect generation of a top-level list in the PowerAdjustmentCapability attribute.

* Removed extra min="-4611686018427387904" max="4611686018427387903" which causes ZAP to complain about more than 2 byte length.

* Updated after regen_all

* Reverted max="86400" in RANDOMIZATION_DELAY_WINDOW which upsets some builds

* Added missing autogen'd code for DEM changes.

* Fix up compilation errors caused by change to forecastID and powerAdjustementCapability list moving one level below.

* Added Water Heater Management cluster XML

* Added Water Heater Management to controller-clusters.zap

* Added Water Heater Management to zap_cluster_list.json

* Added Water Heater Management cluster to all-clusters-app.zap

* Tried to add apiMaturity="provisional" to silence deprecation warnings when running zap_regen_all.py. Also used Alchemy --featureXML.

* Added all-clusters-app.matter and controller-clusters.matter after regen_all

* Added output from regen_all.py

* Updated .zap files after adding provisional flag.

* Added Java matter controller now that apiMaturity=provisional has popped out.

* Trying to remove Thread Border Router Management in controller-clusters.zap as a test.

* Removed water-heater-management-server for now so compilers don't try to compile it.

* Reverted all-clusters-app.zap (removed Water heater). Reverted controller-clusters.zap (put back Thread Border Router, removed Water Heater)

* updated all-clusters-app.matter after removing WaterHeaterManagement cluster (to avoid compile failures).

* Candidate fix for THREAD_BORDER_ROUTER_MANAGEMENT_CLUSTER which resolves the error. [Should be a duplicate of PR project-chip#34000 when that merges.

* Addressing review comments from Boris

* Regenerate files

* Regenerate files correctly

* Removal optional conformance fro DayOfWeekForSequence/ChargingTargets fields in ChargingTargetScheduleStruct + regen zap files

* Updated energy-evse-cluster using Alchemy to match Spec PR:9317 based on review that DischargingCurrent was inconsistent.

* Updated after regen_all

---------

Co-authored-by: pcoleman <pcoleman@geotogether.com>
Co-authored-by: Andrei Litvin <andy314@gmail.com>
  • Loading branch information
3 people authored and austina-csa committed Jul 10, 2024
1 parent 83f0634 commit 2453746
Show file tree
Hide file tree
Showing 56 changed files with 7,026 additions and 131 deletions.
1 change: 1 addition & 0 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,7 @@ jobs:
src/app/zap-templates/zcl/data-model/chip/unit-localization-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/wake-on-lan-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/washer-controls-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/water-heater-management-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/wifi-network-diagnostics-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/wifi-network-management-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/window-covering.xml \
Expand Down
1 change: 1 addition & 0 deletions docs/zap_clusters.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ Generally regenerate using one of:
| 129 | 0x81 | ValveConfigurationAndControl |
| 144 | 0x90 | ElectricalPowerMeasurement |
| 145 | 0x91 | ElectricalEnergyMeasurement |
| 148 | 0x94 | WaterHeaterManagement |
| 150 | 0x96 | DemandResponseLoadControl |
| 151 | 0x97 | Messages |
| 152 | 0x98 | DeviceEnergyManagement |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4298,7 +4298,7 @@ provisional cluster DeviceEnergyManagement = 152 {

/** Electric Vehicle Supply Equipment (EVSE) is equipment used to charge an Electric Vehicle (EV) or Plug-In Hybrid Electric Vehicle. This cluster provides an interface to the functionality of Electric Vehicle Supply Equipment (EVSE) management. */
cluster EnergyEvse = 153 {
revision 2;
revision 4;

enum EnergyTransferStoppedReasonEnum : enum8 {
kEVStopped = 0;
Expand Down Expand Up @@ -4342,6 +4342,7 @@ cluster EnergyEvse = 153 {
kDischargingEnabled = 2;
kDisabledError = 3;
kDisabledDiagnostics = 4;
kEnabled = 5;
}

bitmap Feature : bitmap32 {
Expand Down Expand Up @@ -4389,13 +4390,15 @@ cluster EnergyEvse = 153 {
int32u sessionID = 0;
StateEnum state = 1;
amperage_ma maximumCurrent = 2;
optional amperage_ma maximumDischargeCurrent = 3;
}

info event EnergyTransferStopped = 3 {
int32u sessionID = 0;
StateEnum state = 1;
EnergyTransferStoppedReasonEnum reason = 2;
energy_mwh energyTransferred = 4;
optional energy_mwh energyDischarged = 5;
}

critical event Fault = 4 {
Expand Down Expand Up @@ -4460,15 +4463,15 @@ cluster EnergyEvse = 153 {

/** Allows a client to disable the EVSE from charging and discharging. */
timed command Disable(): DefaultSuccess = 1;
/** Allows a client to enable the EVSE to charge an EV. */
/** This command allows a client to enable the EVSE to charge an EV, */
timed command EnableCharging(EnableChargingRequest): DefaultSuccess = 2;
/** Allows a client to enable the EVSE to discharge an EV. */
/** Upon receipt, this SHALL allow a client to enable the discharge of an EV, */
timed command EnableDischarging(EnableDischargingRequest): DefaultSuccess = 3;
/** Allows a client to put the EVSE into a self-diagnostics mode. */
timed command StartDiagnostics(): DefaultSuccess = 4;
/** Allows a client to set the user specified charging targets. */
timed command SetTargets(SetTargetsRequest): DefaultSuccess = 5;
/** Allows a client to retrieve the user specified charging targets. */
/** Allows a client to retrieve the current set of charging targets. */
timed command GetTargets(): GetTargetsResponse = 6;
/** Allows a client to clear all stored charging targets. */
timed command ClearTargets(): DefaultSuccess = 7;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1651,7 +1651,7 @@ provisional cluster DeviceEnergyManagement = 152 {

/** Electric Vehicle Supply Equipment (EVSE) is equipment used to charge an Electric Vehicle (EV) or Plug-In Hybrid Electric Vehicle. This cluster provides an interface to the functionality of Electric Vehicle Supply Equipment (EVSE) management. */
cluster EnergyEvse = 153 {
revision 2;
revision 4;

enum EnergyTransferStoppedReasonEnum : enum8 {
kEVStopped = 0;
Expand Down Expand Up @@ -1695,6 +1695,7 @@ cluster EnergyEvse = 153 {
kDischargingEnabled = 2;
kDisabledError = 3;
kDisabledDiagnostics = 4;
kEnabled = 5;
}

bitmap Feature : bitmap32 {
Expand Down Expand Up @@ -1742,13 +1743,15 @@ cluster EnergyEvse = 153 {
int32u sessionID = 0;
StateEnum state = 1;
amperage_ma maximumCurrent = 2;
optional amperage_ma maximumDischargeCurrent = 3;
}

info event EnergyTransferStopped = 3 {
int32u sessionID = 0;
StateEnum state = 1;
EnergyTransferStoppedReasonEnum reason = 2;
energy_mwh energyTransferred = 4;
optional energy_mwh energyDischarged = 5;
}

critical event Fault = 4 {
Expand Down Expand Up @@ -1813,15 +1816,15 @@ cluster EnergyEvse = 153 {

/** Allows a client to disable the EVSE from charging and discharging. */
timed command Disable(): DefaultSuccess = 1;
/** Allows a client to enable the EVSE to charge an EV. */
/** This command allows a client to enable the EVSE to charge an EV, */
timed command EnableCharging(EnableChargingRequest): DefaultSuccess = 2;
/** Allows a client to enable the EVSE to discharge an EV. */
/** Upon receipt, this SHALL allow a client to enable the discharge of an EV, */
timed command EnableDischarging(EnableDischargingRequest): DefaultSuccess = 3;
/** Allows a client to put the EVSE into a self-diagnostics mode. */
timed command StartDiagnostics(): DefaultSuccess = 4;
/** Allows a client to set the user specified charging targets. */
timed command SetTargets(SetTargetsRequest): DefaultSuccess = 5;
/** Allows a client to retrieve the user specified charging targets. */
/** Allows a client to retrieve the current set of charging targets. */
timed command GetTargets(): GetTargetsResponse = 6;
/** Allows a client to clear all stored charging targets. */
timed command ClearTargets(): DefaultSuccess = 7;
Expand Down
1 change: 1 addition & 0 deletions scripts/rules.matterlint
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ load "../src/app/zap-templates/zcl/data-model/chip/unit-localization-cluster.xml
load "../src/app/zap-templates/zcl/data-model/chip/user-label-cluster.xml";
load "../src/app/zap-templates/zcl/data-model/chip/wake-on-lan-cluster.xml";
load "../src/app/zap-templates/zcl/data-model/chip/washer-controls-cluster.xml";
load "../src/app/zap-templates/zcl/data-model/chip/water-heater-management-cluster.xml";
load "../src/app/zap-templates/zcl/data-model/chip/wifi-network-diagnostics-cluster.xml";
load "../src/app/zap-templates/zcl/data-model/chip/wifi-network-management-cluster.xml";
load "../src/app/zap-templates/zcl/data-model/chip/window-covering.xml";
Expand Down
Loading

0 comments on commit 2453746

Please sign in to comment.