[Chef] Add Power Source cluster to Water leak sensor EP1 (#35410)
* Update rootnode_waterleakdetector_0b067acfa3.zap
Add Power Source cluster to EP1 to simulate a battery
* Update rootnode_waterleakdetector_0b067acfa3.matter
Add Power Source cluster to EP1 to Matter file
* Update rootnode_waterleakdetector_0b067acfa3.matter
* Update rootnode_waterleakdetector_0b067acfa3.zap
* Update rootnode_waterleakdetector_0b067acfa3.matter
Remove Scenes Management Cluster
* Manual correction of device type order due to ZAP tool bug
* Update rootnode_waterleakdetector_0b067acfa3.zap
* Update rootnode_waterleakdetector_0b067acfa3.zap
* Update rootnode_waterleakdetector_0b067acfa3.zap
* Update rootnode_waterleakdetector_0b067acfa3.matter
* Update rootnode_waterleakdetector_0b067acfa3.zap
* Update rootnode_waterleakdetector_0b067acfa3.matter
diff --git a/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.matter b/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.matter
index ebce1e2..a2cf704 100644
--- a/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.matter
+++ b/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.matter
@@ -623,6 +623,265 @@
command MfgSpecificPing(): DefaultSuccess = 0;
}
+/** This cluster is used to describe the configuration and capabilities of a physical power source that provides power to the Node. */
+cluster PowerSource = 47 {
+ revision 1; // NOTE: Default/not specifically set
+
+ enum BatApprovedChemistryEnum : enum16 {
+ kUnspecified = 0;
+ kAlkaline = 1;
+ kLithiumCarbonFluoride = 2;
+ kLithiumChromiumOxide = 3;
+ kLithiumCopperOxide = 4;
+ kLithiumIronDisulfide = 5;
+ kLithiumManganeseDioxide = 6;
+ kLithiumThionylChloride = 7;
+ kMagnesium = 8;
+ kMercuryOxide = 9;
+ kNickelOxyhydride = 10;
+ kSilverOxide = 11;
+ kZincAir = 12;
+ kZincCarbon = 13;
+ kZincChloride = 14;
+ kZincManganeseDioxide = 15;
+ kLeadAcid = 16;
+ kLithiumCobaltOxide = 17;
+ kLithiumIon = 18;
+ kLithiumIonPolymer = 19;
+ kLithiumIronPhosphate = 20;
+ kLithiumSulfur = 21;
+ kLithiumTitanate = 22;
+ kNickelCadmium = 23;
+ kNickelHydrogen = 24;
+ kNickelIron = 25;
+ kNickelMetalHydride = 26;
+ kNickelZinc = 27;
+ kSilverZinc = 28;
+ kSodiumIon = 29;
+ kSodiumSulfur = 30;
+ kZincBromide = 31;
+ kZincCerium = 32;
+ }
+
+ enum BatChargeFaultEnum : enum8 {
+ kUnspecified = 0;
+ kAmbientTooHot = 1;
+ kAmbientTooCold = 2;
+ kBatteryTooHot = 3;
+ kBatteryTooCold = 4;
+ kBatteryAbsent = 5;
+ kBatteryOverVoltage = 6;
+ kBatteryUnderVoltage = 7;
+ kChargerOverVoltage = 8;
+ kChargerUnderVoltage = 9;
+ kSafetyTimeout = 10;
+ }
+
+ enum BatChargeLevelEnum : enum8 {
+ kOK = 0;
+ kWarning = 1;
+ kCritical = 2;
+ }
+
+ enum BatChargeStateEnum : enum8 {
+ kUnknown = 0;
+ kIsCharging = 1;
+ kIsAtFullCharge = 2;
+ kIsNotCharging = 3;
+ }
+
+ enum BatCommonDesignationEnum : enum16 {
+ kUnspecified = 0;
+ kAAA = 1;
+ kAA = 2;
+ kC = 3;
+ kD = 4;
+ k4v5 = 5;
+ k6v0 = 6;
+ k9v0 = 7;
+ k12AA = 8;
+ kAAAA = 9;
+ kA = 10;
+ kB = 11;
+ kF = 12;
+ kN = 13;
+ kNo6 = 14;
+ kSubC = 15;
+ kA23 = 16;
+ kA27 = 17;
+ kBA5800 = 18;
+ kDuplex = 19;
+ k4SR44 = 20;
+ k523 = 21;
+ k531 = 22;
+ k15v0 = 23;
+ k22v5 = 24;
+ k30v0 = 25;
+ k45v0 = 26;
+ k67v5 = 27;
+ kJ = 28;
+ kCR123A = 29;
+ kCR2 = 30;
+ k2CR5 = 31;
+ kCRP2 = 32;
+ kCRV3 = 33;
+ kSR41 = 34;
+ kSR43 = 35;
+ kSR44 = 36;
+ kSR45 = 37;
+ kSR48 = 38;
+ kSR54 = 39;
+ kSR55 = 40;
+ kSR57 = 41;
+ kSR58 = 42;
+ kSR59 = 43;
+ kSR60 = 44;
+ kSR63 = 45;
+ kSR64 = 46;
+ kSR65 = 47;
+ kSR66 = 48;
+ kSR67 = 49;
+ kSR68 = 50;
+ kSR69 = 51;
+ kSR516 = 52;
+ kSR731 = 53;
+ kSR712 = 54;
+ kLR932 = 55;
+ kA5 = 56;
+ kA10 = 57;
+ kA13 = 58;
+ kA312 = 59;
+ kA675 = 60;
+ kAC41E = 61;
+ k10180 = 62;
+ k10280 = 63;
+ k10440 = 64;
+ k14250 = 65;
+ k14430 = 66;
+ k14500 = 67;
+ k14650 = 68;
+ k15270 = 69;
+ k16340 = 70;
+ kRCR123A = 71;
+ k17500 = 72;
+ k17670 = 73;
+ k18350 = 74;
+ k18500 = 75;
+ k18650 = 76;
+ k19670 = 77;
+ k25500 = 78;
+ k26650 = 79;
+ k32600 = 80;
+ }
+
+ enum BatFaultEnum : enum8 {
+ kUnspecified = 0;
+ kOverTemp = 1;
+ kUnderTemp = 2;
+ }
+
+ enum BatReplaceabilityEnum : enum8 {
+ kUnspecified = 0;
+ kNotReplaceable = 1;
+ kUserReplaceable = 2;
+ kFactoryReplaceable = 3;
+ }
+
+ enum PowerSourceStatusEnum : enum8 {
+ kUnspecified = 0;
+ kActive = 1;
+ kStandby = 2;
+ kUnavailable = 3;
+ }
+
+ enum WiredCurrentTypeEnum : enum8 {
+ kAC = 0;
+ kDC = 1;
+ }
+
+ enum WiredFaultEnum : enum8 {
+ kUnspecified = 0;
+ kOverVoltage = 1;
+ kUnderVoltage = 2;
+ }
+
+ bitmap Feature : bitmap32 {
+ kWired = 0x1;
+ kBattery = 0x2;
+ kRechargeable = 0x4;
+ kReplaceable = 0x8;
+ }
+
+ struct BatChargeFaultChangeType {
+ BatChargeFaultEnum current[] = 0;
+ BatChargeFaultEnum previous[] = 1;
+ }
+
+ struct BatFaultChangeType {
+ BatFaultEnum current[] = 0;
+ BatFaultEnum previous[] = 1;
+ }
+
+ struct WiredFaultChangeType {
+ WiredFaultEnum current[] = 0;
+ WiredFaultEnum previous[] = 1;
+ }
+
+ info event WiredFaultChange = 0 {
+ WiredFaultEnum current[] = 0;
+ WiredFaultEnum previous[] = 1;
+ }
+
+ info event BatFaultChange = 1 {
+ BatFaultEnum current[] = 0;
+ BatFaultEnum previous[] = 1;
+ }
+
+ info event BatChargeFaultChange = 2 {
+ BatChargeFaultEnum current[] = 0;
+ BatChargeFaultEnum previous[] = 1;
+ }
+
+ readonly attribute PowerSourceStatusEnum status = 0;
+ readonly attribute int8u order = 1;
+ readonly attribute char_string<60> description = 2;
+ readonly attribute optional nullable int32u wiredAssessedInputVoltage = 3;
+ readonly attribute optional nullable int16u wiredAssessedInputFrequency = 4;
+ readonly attribute optional WiredCurrentTypeEnum wiredCurrentType = 5;
+ readonly attribute optional nullable int32u wiredAssessedCurrent = 6;
+ readonly attribute optional int32u wiredNominalVoltage = 7;
+ readonly attribute optional int32u wiredMaximumCurrent = 8;
+ readonly attribute optional boolean wiredPresent = 9;
+ readonly attribute optional WiredFaultEnum activeWiredFaults[] = 10;
+ readonly attribute optional nullable int32u batVoltage = 11;
+ readonly attribute optional nullable int8u batPercentRemaining = 12;
+ readonly attribute optional nullable int32u batTimeRemaining = 13;
+ readonly attribute optional BatChargeLevelEnum batChargeLevel = 14;
+ readonly attribute optional boolean batReplacementNeeded = 15;
+ readonly attribute optional BatReplaceabilityEnum batReplaceability = 16;
+ readonly attribute optional boolean batPresent = 17;
+ readonly attribute optional BatFaultEnum activeBatFaults[] = 18;
+ readonly attribute optional char_string<60> batReplacementDescription = 19;
+ readonly attribute optional BatCommonDesignationEnum batCommonDesignation = 20;
+ readonly attribute optional char_string<20> batANSIDesignation = 21;
+ readonly attribute optional char_string<20> batIECDesignation = 22;
+ readonly attribute optional BatApprovedChemistryEnum batApprovedChemistry = 23;
+ readonly attribute optional int32u batCapacity = 24;
+ readonly attribute optional int8u batQuantity = 25;
+ readonly attribute optional BatChargeStateEnum batChargeState = 26;
+ readonly attribute optional nullable int32u batTimeToFullCharge = 27;
+ readonly attribute optional boolean batFunctionalWhileCharging = 28;
+ readonly attribute optional nullable int32u batChargingCurrent = 29;
+ readonly attribute optional BatChargeFaultEnum activeBatChargeFaults[] = 30;
+ readonly attribute endpoint_no endpointList[] = 31;
+ 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;
+}
+
/** This cluster is used to manage global aspects of the Commissioning flow. */
cluster GeneralCommissioning = 48 {
revision 1; // NOTE: Default/not specifically set
@@ -1576,6 +1835,7 @@
}
}
endpoint 1 {
+ device type ma_powersource = 17, version 1;
device type ma_water_leak_detector = 67, version 1;
@@ -1627,6 +1887,28 @@
callback attribute clusterRevision;
}
+ server cluster PowerSource {
+ ram attribute status default = 1;
+ ram attribute order default = 1;
+ ram attribute description default = "Primary Battery";
+ ram attribute batVoltage default = 4100;
+ ram attribute batPercentRemaining default = 95;
+ ram attribute batTimeRemaining default = 518400;
+ ram attribute batChargeLevel default = 0;
+ ram attribute batReplaceability default = 1;
+ ram attribute batPresent default = 1;
+ ram attribute batCapacity default = 350;
+ ram attribute batChargeState default = 4;
+ ram attribute batFunctionalWhileCharging default = 1;
+ callback attribute endpointList;
+ callback attribute generatedCommandList;
+ callback attribute acceptedCommandList;
+ callback attribute eventList;
+ callback attribute attributeList;
+ ram attribute featureMap default = 0x06;
+ ram attribute clusterRevision default = 1;
+ }
+
server cluster BooleanState {
ram attribute stateValue;
callback attribute generatedCommandList;
diff --git a/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.zap b/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.zap
index a07441c..11ebd3c 100644
--- a/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.zap
+++ b/examples/chef/devices/rootnode_waterleakdetector_0b067acfa3.zap
@@ -41,14 +41,16 @@
"code": 22,
"profileId": 259,
"label": "MA-rootdevice",
- "name": "MA-rootdevice"
+ "name": "MA-rootdevice",
+ "deviceTypeOrder": 0
},
"deviceTypes": [
{
"code": 22,
"profileId": 259,
"label": "MA-rootdevice",
- "name": "MA-rootdevice"
+ "name": "MA-rootdevice",
+ "deviceTypeOrder": 0
}
],
"deviceVersions": [
@@ -1936,21 +1938,32 @@
"code": 67,
"profileId": 259,
"label": "MA-water-leak-detector",
- "name": "MA-water-leak-detector"
+ "name": "MA-water-leak-detector",
+ "deviceTypeOrder": 0
},
"deviceTypes": [
{
"code": 67,
"profileId": 259,
"label": "MA-water-leak-detector",
- "name": "MA-water-leak-detector"
+ "name": "MA-water-leak-detector",
+ "deviceTypeOrder": 0
+ },
+ {
+ "code": 17,
+ "profileId": 259,
+ "label": "MA-powersource",
+ "name": "MA-powersource",
+ "deviceTypeOrder": 1
}
],
"deviceVersions": [
+ 1,
1
],
"deviceIdentifiers": [
- 67
+ 67,
+ 17
],
"deviceTypeName": "MA-water-leak-detector",
"deviceTypeCode": 67,
@@ -2487,6 +2500,320 @@
]
},
{
+ "name": "Power Source",
+ "code": 47,
+ "mfgCode": null,
+ "define": "POWER_SOURCE_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "attributes": [
+ {
+ "name": "Status",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "type": "PowerSourceStatusEnum",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "Order",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "type": "int8u",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "Description",
+ "code": 2,
+ "mfgCode": null,
+ "side": "server",
+ "type": "char_string",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "Primary Battery",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "BatVoltage",
+ "code": 11,
+ "mfgCode": null,
+ "side": "server",
+ "type": "int32u",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "4100",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "BatPercentRemaining",
+ "code": 12,
+ "mfgCode": null,
+ "side": "server",
+ "type": "int8u",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "95",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "BatTimeRemaining",
+ "code": 13,
+ "mfgCode": null,
+ "side": "server",
+ "type": "int32u",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "518400",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "BatChargeLevel",
+ "code": 14,
+ "mfgCode": null,
+ "side": "server",
+ "type": "BatChargeLevelEnum",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "BatReplaceability",
+ "code": 16,
+ "mfgCode": null,
+ "side": "server",
+ "type": "BatReplaceabilityEnum",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "BatPresent",
+ "code": 17,
+ "mfgCode": null,
+ "side": "server",
+ "type": "boolean",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "BatCapacity",
+ "code": 24,
+ "mfgCode": null,
+ "side": "server",
+ "type": "int32u",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "350",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "BatChargeState",
+ "code": 26,
+ "mfgCode": null,
+ "side": "server",
+ "type": "BatChargeStateEnum",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "4",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "BatFunctionalWhileCharging",
+ "code": 28,
+ "mfgCode": null,
+ "side": "server",
+ "type": "boolean",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "EndpointList",
+ "code": 31,
+ "mfgCode": null,
+ "side": "server",
+ "type": "array",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": null,
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "GeneratedCommandList",
+ "code": 65528,
+ "mfgCode": null,
+ "side": "server",
+ "type": "array",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": null,
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "AcceptedCommandList",
+ "code": 65529,
+ "mfgCode": null,
+ "side": "server",
+ "type": "array",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": null,
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "EventList",
+ "code": 65530,
+ "mfgCode": null,
+ "side": "server",
+ "type": "array",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": null,
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "type": "array",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": null,
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "FeatureMap",
+ "code": 65532,
+ "mfgCode": null,
+ "side": "server",
+ "type": "bitmap32",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "0x06",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "type": "int16u",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
"name": "Boolean State",
"code": 69,
"mfgCode": null,
@@ -2735,4 +3062,4 @@
"parentEndpointIdentifier": 0
}
]
-}
\ No newline at end of file
+}