Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue: #30580 Create initial EVSE cluster for SDK #30581

Merged
merged 7 commits into from
Nov 27, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Reverted all-clusters zap changes.
  • Loading branch information
jamesharrow committed Nov 25, 2023
commit 7689abdd1c97e458a9d24c3ce62d6753877f8809
223 changes: 0 additions & 223 deletions examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
Original file line number Diff line number Diff line change
Expand Up @@ -3341,180 +3341,6 @@ server cluster ActivatedCarbonFilterMonitoring = 114 {
command ResetCondition(): DefaultSuccess = 0;
}

/** 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. */
provisional server cluster EnergyEvse = 153 {
revision 1; // NOTE: Default/not specifically set

enum EnergyTransferStoppedReasonEnum : enum8 {
kEVStopped = 0;
kEVSEStopped = 1;
kOther = 2;
}

enum FaultStateEnum : enum8 {
kNoError = 0;
kMeterFailure = 1;
kOverVoltage = 2;
kUnderVoltage = 3;
kOverCurrent = 4;
kContactWetFailure = 5;
kContactDryFailure = 6;
kGroundFault = 7;
kPowerLoss = 8;
kPowerQuality = 9;
kPilotShortCircuit = 10;
kEmergencyStop = 11;
kEVDisconnected = 12;
kWrongPowerSupply = 13;
kLiveNeutralSwap = 14;
kOverTemperature = 15;
kOther = 255;
}

enum StateEnum : enum8 {
kNotPluggedIn = 0;
kPluggedInNoDemand = 1;
kPluggedInDemand = 2;
kPluggedInCharging = 3;
kPluggedInDischarging = 4;
kSessionEnding = 5;
kFault = 6;
}

enum SupplyStateEnum : enum8 {
kDisabled = 0;
kChargingEnabled = 1;
kDischargingEnabled = 2;
kDisabledError = 3;
kDisabledDiagnostics = 4;
}

bitmap Feature : bitmap32 {
kChargingPreferences = 0x1;
kSoCReporting = 0x2;
kPlugAndCharge = 0x4;
kRFID = 0x8;
kV2X = 0x10;
}

bitmap TargetDayOfWeekBitmap : bitmap8 {
kSunday = 0x1;
kMonday = 0x2;
kTuesday = 0x4;
kWednesday = 0x8;
kThursday = 0x10;
kFriday = 0x20;
kSaturday = 0x40;
}

struct ChargingTargetStruct {
int16u targetTime = 0;
optional percent targetSoC = 1;
optional int64s addedEnergy = 2;
}

info event EVConnected = 0 {
int32u sessionID = 0;
}

info event EVNotDetected = 1 {
int32u sessionID = 0;
StateEnum state = 1;
elapsed_s sessionDuration = 2;
int64s sessionEnergyCharged = 3;
optional int64s sessionEnergyDischarged = 4;
}

info event EnergyTransferStarted = 2 {
int32u sessionID = 0;
StateEnum state = 1;
int64s maximumCurrent = 2;
}

info event EnergyTransferStopped = 3 {
int32u sessionID = 0;
StateEnum state = 1;
EnergyTransferStoppedReasonEnum reason = 2;
int64s energyTransferred = 4;
}

critical event Fault = 4 {
int32u sessionID = 0;
StateEnum state = 1;
FaultStateEnum faultStatePreviousState = 2;
FaultStateEnum faultStateCurrentState = 4;
}

info event RFID = 5 {
octet_string uid = 0;
}

readonly attribute nullable StateEnum state = 0;
readonly attribute SupplyStateEnum supplyState = 1;
readonly attribute FaultStateEnum faultState = 2;
readonly attribute nullable epoch_s chargingEnabledUntil = 3;
readonly attribute nullable epoch_s dischargingEnabledUntil = 4;
readonly attribute int64s circuitCapacity = 5;
readonly attribute int64s minimumChargeCurrent = 6;
readonly attribute int64s maximumChargeCurrent = 7;
readonly attribute int64s maximumDischargeCurrent = 8;
attribute access(write: manage) int64s userMaximumChargeCurrent = 9;
attribute access(write: manage) elapsed_s randomizationDelayWindow = 10;
readonly attribute int8u numberOfWeeklyTargets = 33;
readonly attribute int8u numberOfDailyTargets = 34;
readonly attribute nullable epoch_s nextChargeStartTime = 35;
readonly attribute nullable epoch_s nextChargeTargetTime = 36;
readonly attribute nullable int64s nextChargeRequiredEnergy = 37;
readonly attribute nullable percent nextChargeTargetSoC = 38;
attribute access(write: manage) nullable int16u approximateEVEfficiency = 39;
readonly attribute nullable percent stateOfCharge = 48;
readonly attribute nullable int64s batteryCapacity = 49;
readonly attribute nullable char_string<32> vehicleID = 50;
readonly attribute nullable int32u sessionID = 64;
readonly attribute elapsed_s sessionDuration = 65;
readonly attribute int64s sessionEnergyCharged = 66;
readonly attribute int64s sessionEnergyDischarged = 67;
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;

request struct EnableChargingRequest {
nullable epoch_s chargingEnabledUntil = 0;
int64s minimumChargeCurrent = 1;
int64s maximumChargeCurrent = 2;
}

request struct EnableDischargingRequest {
nullable epoch_s dischargingEnabledUntil = 0;
int64s maximumDischargeCurrent = 1;
}

request struct SetTargetsRequest {
TargetDayOfWeekBitmap dayOfWeekforSequence = 0;
ChargingTargetStruct chargingTargets[] = 1;
}

request struct GetTargetsRequest {
TargetDayOfWeekBitmap daysToReturn = 0;
}

response struct GetTargetsResponse = 0 {
TargetDayOfWeekBitmap dayOfWeekforSequence = 0;
ChargingTargetStruct chargingTargets[] = 1;
}

timed command Disable(): DefaultSuccess = 1;
timed command EnableCharging(EnableChargingRequest): DefaultSuccess = 2;
timed command EnableDischarging(EnableDischargingRequest): DefaultSuccess = 3;
timed command StartDiagnostics(): DefaultSuccess = 4;
timed command SetTargets(SetTargetsRequest): DefaultSuccess = 5;
timed command GetTargets(GetTargetsRequest): GetTargetsResponse = 6;
timed command ClearTargets(): DefaultSuccess = 7;
}

/** Provides an interface for controlling and adjusting automatic window coverings. */
server cluster WindowCovering = 258 {
revision 5;
Expand Down Expand Up @@ -6437,55 +6263,6 @@ endpoint 1 {
handle command ResetCondition;
}

server cluster EnergyEvse {
emits event EVConnected;
emits event EVNotDetected;
emits event EnergyTransferStarted;
emits event EnergyTransferStopped;
emits event Fault;
emits event RFID;
ram attribute state;
ram attribute supplyState;
ram attribute faultState;
ram attribute chargingEnabledUntil default = 0;
ram attribute dischargingEnabledUntil default = 0;
ram attribute circuitCapacity default = 0;
ram attribute minimumChargeCurrent default = 6000;
ram attribute maximumChargeCurrent default = 0;
ram attribute maximumDischargeCurrent default = 0;
ram attribute userMaximumChargeCurrent default = 0;
ram attribute randomizationDelayWindow default = 600;
ram attribute numberOfWeeklyTargets default = 0;
ram attribute numberOfDailyTargets default = 1;
ram attribute nextChargeStartTime;
ram attribute nextChargeTargetTime;
ram attribute nextChargeRequiredEnergy;
ram attribute nextChargeTargetSoC;
ram attribute approximateEVEfficiency default = 0xFFFF;
ram attribute stateOfCharge;
ram attribute batteryCapacity;
ram attribute vehicleID;
ram attribute sessionID default = 0;
ram attribute sessionDuration default = 0;
ram attribute sessionEnergyCharged default = 0;
ram attribute sessionEnergyDischarged default = 0;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
callback attribute attributeList;
ram attribute featureMap default = 0;
ram attribute clusterRevision default = 2;

handle command GetTargetsResponse;
handle command Disable;
handle command EnableCharging;
handle command EnableDischarging;
handle command StartDiagnostics;
handle command SetTargets;
handle command GetTargets;
handle command ClearTargets;
}

server cluster WindowCovering {
ram attribute type default = 0x08;
ram attribute physicalClosedLimitLift default = 0xFFFF;
Expand Down
Loading