diff --git a/src/app/zap-templates/zcl/data-model/chip/resource-monitoring-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/resource-monitoring-cluster.xml
index 2bfc7d05c5b1bd..be08ca18a19f0f 100644
--- a/src/app/zap-templates/zcl/data-model/chip/resource-monitoring-cluster.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/resource-monitoring-cluster.xml
@@ -30,6 +30,7 @@ limitations under the License.
DegradationDirection
ChangeIndication
InPlaceIndicator
+ LastChangedTime
@@ -51,6 +52,7 @@ limitations under the License.
DegradationDirection
ChangeIndication
InPlaceIndicator
+ LastChangedTime
@@ -72,6 +74,7 @@ limitations under the License.
DegradationDirection
ChangeIndication
InPlaceIndicator
+ LastChangedTime
@@ -93,6 +96,7 @@ limitations under the License.
DegradationDirection
ChangeIndication
InPlaceIndicator
+ LastChangedTime
@@ -114,6 +118,7 @@ limitations under the License.
DegradationDirection
ChangeIndication
InPlaceIndicator
+ LastChangedTime
@@ -135,6 +140,7 @@ limitations under the License.
DegradationDirection
ChangeIndication
InPlaceIndicator
+ LastChangedTime
@@ -156,6 +162,7 @@ limitations under the License.
DegradationDirection
ChangeIndication
InPlaceIndicator
+ LastChangedTime
@@ -177,6 +184,7 @@ limitations under the License.
DegradationDirection
ChangeIndication
InPlaceIndicator
+ LastChangedTime
@@ -198,6 +206,7 @@ limitations under the License.
DegradationDirection
ChangeIndication
InPlaceIndicator
+ LastChangedTime
@@ -219,6 +228,7 @@ limitations under the License.
DegradationDirection
ChangeIndication
InPlaceIndicator
+ LastChangedTime
@@ -240,6 +250,7 @@ limitations under the License.
DegradationDirection
ChangeIndication
InPlaceIndicator
+ LastChangedTime
@@ -261,6 +272,7 @@ limitations under the License.
DegradationDirection
ChangeIndication
InPlaceIndicator
+ LastChangedTime
diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter
index 2bc465ddead0af..94a39300a4910c 100644
--- a/src/controller/data_model/controller-clusters.matter
+++ b/src/controller/data_model/controller-clusters.matter
@@ -3461,6 +3461,7 @@ client cluster HepaFilterMonitoring = 113 {
readonly attribute optional DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
readonly attribute optional boolean inPlaceIndicator = 3;
+ attribute optional nullable epoch_s lastChangedTime = 4;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3494,6 +3495,7 @@ client cluster ActivatedCarbonFilterMonitoring = 114 {
readonly attribute optional DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
readonly attribute optional boolean inPlaceIndicator = 3;
+ attribute optional nullable epoch_s lastChangedTime = 4;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3527,6 +3529,7 @@ client cluster CeramicFilterMonitoring = 115 {
readonly attribute DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
readonly attribute optional boolean inPlaceIndicator = 3;
+ attribute optional nullable epoch_s lastChangedTime = 4;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3560,6 +3563,7 @@ client cluster ElectrostaticFilterMonitoring = 116 {
readonly attribute optional DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
readonly attribute optional boolean inPlaceIndicator = 3;
+ attribute optional nullable epoch_s lastChangedTime = 4;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3593,6 +3597,7 @@ client cluster UvFilterMonitoring = 117 {
readonly attribute optional DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
readonly attribute optional boolean inPlaceIndicator = 3;
+ attribute optional nullable epoch_s lastChangedTime = 4;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3626,6 +3631,7 @@ client cluster IonizingFilterMonitoring = 118 {
readonly attribute optional DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
readonly attribute optional boolean inPlaceIndicator = 3;
+ attribute optional nullable epoch_s lastChangedTime = 4;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3659,6 +3665,7 @@ client cluster ZeoliteFilterMonitoring = 119 {
readonly attribute optional DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
readonly attribute optional boolean inPlaceIndicator = 3;
+ attribute optional nullable epoch_s lastChangedTime = 4;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3692,6 +3699,7 @@ client cluster OzoneFilterMonitoring = 120 {
readonly attribute optional DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
readonly attribute optional boolean inPlaceIndicator = 3;
+ attribute optional nullable epoch_s lastChangedTime = 4;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3725,6 +3733,7 @@ client cluster WaterTankMonitoring = 121 {
readonly attribute optional DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
readonly attribute optional boolean inPlaceIndicator = 3;
+ attribute optional nullable epoch_s lastChangedTime = 4;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3758,6 +3767,7 @@ client cluster FuelTankMonitoring = 122 {
readonly attribute optional DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
readonly attribute optional boolean inPlaceIndicator = 3;
+ attribute optional nullable epoch_s lastChangedTime = 4;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3791,6 +3801,7 @@ client cluster InkCartridgeMonitoring = 123 {
readonly attribute optional DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
readonly attribute optional boolean inPlaceIndicator = 3;
+ attribute optional nullable epoch_s lastChangedTime = 4;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3824,6 +3835,7 @@ client cluster TonerCartridgeMonitoring = 124 {
readonly attribute optional DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
readonly attribute optional boolean inPlaceIndicator = 3;
+ attribute optional nullable epoch_s lastChangedTime = 4;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java
index b3410f47be2aa9..afa67c32b426df 100644
--- a/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java
+++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java
@@ -7865,6 +7865,7 @@ public enum Attribute {
DegradationDirection(1L),
ChangeIndication(2L),
InPlaceIndicator(3L),
+ LastChangedTime(4L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -7970,6 +7971,7 @@ public enum Attribute {
DegradationDirection(1L),
ChangeIndication(2L),
InPlaceIndicator(3L),
+ LastChangedTime(4L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -8075,6 +8077,7 @@ public enum Attribute {
DegradationDirection(1L),
ChangeIndication(2L),
InPlaceIndicator(3L),
+ LastChangedTime(4L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -8180,6 +8183,7 @@ public enum Attribute {
DegradationDirection(1L),
ChangeIndication(2L),
InPlaceIndicator(3L),
+ LastChangedTime(4L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -8285,6 +8289,7 @@ public enum Attribute {
DegradationDirection(1L),
ChangeIndication(2L),
InPlaceIndicator(3L),
+ LastChangedTime(4L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -8390,6 +8395,7 @@ public enum Attribute {
DegradationDirection(1L),
ChangeIndication(2L),
InPlaceIndicator(3L),
+ LastChangedTime(4L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -8495,6 +8501,7 @@ public enum Attribute {
DegradationDirection(1L),
ChangeIndication(2L),
InPlaceIndicator(3L),
+ LastChangedTime(4L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -8600,6 +8607,7 @@ public enum Attribute {
DegradationDirection(1L),
ChangeIndication(2L),
InPlaceIndicator(3L),
+ LastChangedTime(4L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -8705,6 +8713,7 @@ public enum Attribute {
DegradationDirection(1L),
ChangeIndication(2L),
InPlaceIndicator(3L),
+ LastChangedTime(4L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -8810,6 +8819,7 @@ public enum Attribute {
DegradationDirection(1L),
ChangeIndication(2L),
InPlaceIndicator(3L),
+ LastChangedTime(4L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -8915,6 +8925,7 @@ public enum Attribute {
DegradationDirection(1L),
ChangeIndication(2L),
InPlaceIndicator(3L),
+ LastChangedTime(4L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -9020,6 +9031,7 @@ public enum Attribute {
DegradationDirection(1L),
ChangeIndication(2L),
InPlaceIndicator(3L),
+ LastChangedTime(4L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java
index dde5901bd4aaa4..adb8c1b2db227e 100644
--- a/src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java
+++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java
@@ -7660,6 +7660,17 @@ private static Map readHepaFilterMonitoringInteractionI
readHepaFilterMonitoringInPlaceIndicatorCommandParams
);
result.put("readInPlaceIndicatorAttribute", readHepaFilterMonitoringInPlaceIndicatorAttributeInteractionInfo);
+ Map readHepaFilterMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ InteractionInfo readHepaFilterMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.HepaFilterMonitoringCluster) cluster).readLastChangedTimeAttribute(
+ (ChipClusters.HepaFilterMonitoringCluster.LastChangedTimeAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedHepaFilterMonitoringClusterLastChangedTimeAttributeCallback(),
+ readHepaFilterMonitoringLastChangedTimeCommandParams
+ );
+ result.put("readLastChangedTimeAttribute", readHepaFilterMonitoringLastChangedTimeAttributeInteractionInfo);
Map readHepaFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap();
InteractionInfo readHepaFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -7774,6 +7785,17 @@ private static Map readActivatedCarbonFilterMonitoringI
readActivatedCarbonFilterMonitoringInPlaceIndicatorCommandParams
);
result.put("readInPlaceIndicatorAttribute", readActivatedCarbonFilterMonitoringInPlaceIndicatorAttributeInteractionInfo);
+ Map readActivatedCarbonFilterMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ InteractionInfo readActivatedCarbonFilterMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.ActivatedCarbonFilterMonitoringCluster) cluster).readLastChangedTimeAttribute(
+ (ChipClusters.ActivatedCarbonFilterMonitoringCluster.LastChangedTimeAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedActivatedCarbonFilterMonitoringClusterLastChangedTimeAttributeCallback(),
+ readActivatedCarbonFilterMonitoringLastChangedTimeCommandParams
+ );
+ result.put("readLastChangedTimeAttribute", readActivatedCarbonFilterMonitoringLastChangedTimeAttributeInteractionInfo);
Map readActivatedCarbonFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap();
InteractionInfo readActivatedCarbonFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -7888,6 +7910,17 @@ private static Map readCeramicFilterMonitoringInteracti
readCeramicFilterMonitoringInPlaceIndicatorCommandParams
);
result.put("readInPlaceIndicatorAttribute", readCeramicFilterMonitoringInPlaceIndicatorAttributeInteractionInfo);
+ Map readCeramicFilterMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ InteractionInfo readCeramicFilterMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.CeramicFilterMonitoringCluster) cluster).readLastChangedTimeAttribute(
+ (ChipClusters.CeramicFilterMonitoringCluster.LastChangedTimeAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedCeramicFilterMonitoringClusterLastChangedTimeAttributeCallback(),
+ readCeramicFilterMonitoringLastChangedTimeCommandParams
+ );
+ result.put("readLastChangedTimeAttribute", readCeramicFilterMonitoringLastChangedTimeAttributeInteractionInfo);
Map readCeramicFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap();
InteractionInfo readCeramicFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -8002,6 +8035,17 @@ private static Map readElectrostaticFilterMonitoringInt
readElectrostaticFilterMonitoringInPlaceIndicatorCommandParams
);
result.put("readInPlaceIndicatorAttribute", readElectrostaticFilterMonitoringInPlaceIndicatorAttributeInteractionInfo);
+ Map readElectrostaticFilterMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ InteractionInfo readElectrostaticFilterMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.ElectrostaticFilterMonitoringCluster) cluster).readLastChangedTimeAttribute(
+ (ChipClusters.ElectrostaticFilterMonitoringCluster.LastChangedTimeAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedElectrostaticFilterMonitoringClusterLastChangedTimeAttributeCallback(),
+ readElectrostaticFilterMonitoringLastChangedTimeCommandParams
+ );
+ result.put("readLastChangedTimeAttribute", readElectrostaticFilterMonitoringLastChangedTimeAttributeInteractionInfo);
Map readElectrostaticFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap();
InteractionInfo readElectrostaticFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -8116,6 +8160,17 @@ private static Map readUvFilterMonitoringInteractionInf
readUvFilterMonitoringInPlaceIndicatorCommandParams
);
result.put("readInPlaceIndicatorAttribute", readUvFilterMonitoringInPlaceIndicatorAttributeInteractionInfo);
+ Map readUvFilterMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ InteractionInfo readUvFilterMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.UvFilterMonitoringCluster) cluster).readLastChangedTimeAttribute(
+ (ChipClusters.UvFilterMonitoringCluster.LastChangedTimeAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedUvFilterMonitoringClusterLastChangedTimeAttributeCallback(),
+ readUvFilterMonitoringLastChangedTimeCommandParams
+ );
+ result.put("readLastChangedTimeAttribute", readUvFilterMonitoringLastChangedTimeAttributeInteractionInfo);
Map readUvFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap();
InteractionInfo readUvFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -8230,6 +8285,17 @@ private static Map readIonizingFilterMonitoringInteract
readIonizingFilterMonitoringInPlaceIndicatorCommandParams
);
result.put("readInPlaceIndicatorAttribute", readIonizingFilterMonitoringInPlaceIndicatorAttributeInteractionInfo);
+ Map readIonizingFilterMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ InteractionInfo readIonizingFilterMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.IonizingFilterMonitoringCluster) cluster).readLastChangedTimeAttribute(
+ (ChipClusters.IonizingFilterMonitoringCluster.LastChangedTimeAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedIonizingFilterMonitoringClusterLastChangedTimeAttributeCallback(),
+ readIonizingFilterMonitoringLastChangedTimeCommandParams
+ );
+ result.put("readLastChangedTimeAttribute", readIonizingFilterMonitoringLastChangedTimeAttributeInteractionInfo);
Map readIonizingFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap();
InteractionInfo readIonizingFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -8344,6 +8410,17 @@ private static Map readZeoliteFilterMonitoringInteracti
readZeoliteFilterMonitoringInPlaceIndicatorCommandParams
);
result.put("readInPlaceIndicatorAttribute", readZeoliteFilterMonitoringInPlaceIndicatorAttributeInteractionInfo);
+ Map readZeoliteFilterMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ InteractionInfo readZeoliteFilterMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.ZeoliteFilterMonitoringCluster) cluster).readLastChangedTimeAttribute(
+ (ChipClusters.ZeoliteFilterMonitoringCluster.LastChangedTimeAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedZeoliteFilterMonitoringClusterLastChangedTimeAttributeCallback(),
+ readZeoliteFilterMonitoringLastChangedTimeCommandParams
+ );
+ result.put("readLastChangedTimeAttribute", readZeoliteFilterMonitoringLastChangedTimeAttributeInteractionInfo);
Map readZeoliteFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap();
InteractionInfo readZeoliteFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -8458,6 +8535,17 @@ private static Map readOzoneFilterMonitoringInteraction
readOzoneFilterMonitoringInPlaceIndicatorCommandParams
);
result.put("readInPlaceIndicatorAttribute", readOzoneFilterMonitoringInPlaceIndicatorAttributeInteractionInfo);
+ Map readOzoneFilterMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ InteractionInfo readOzoneFilterMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.OzoneFilterMonitoringCluster) cluster).readLastChangedTimeAttribute(
+ (ChipClusters.OzoneFilterMonitoringCluster.LastChangedTimeAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedOzoneFilterMonitoringClusterLastChangedTimeAttributeCallback(),
+ readOzoneFilterMonitoringLastChangedTimeCommandParams
+ );
+ result.put("readLastChangedTimeAttribute", readOzoneFilterMonitoringLastChangedTimeAttributeInteractionInfo);
Map readOzoneFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap();
InteractionInfo readOzoneFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -8572,6 +8660,17 @@ private static Map readWaterTankMonitoringInteractionIn
readWaterTankMonitoringInPlaceIndicatorCommandParams
);
result.put("readInPlaceIndicatorAttribute", readWaterTankMonitoringInPlaceIndicatorAttributeInteractionInfo);
+ Map readWaterTankMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ InteractionInfo readWaterTankMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.WaterTankMonitoringCluster) cluster).readLastChangedTimeAttribute(
+ (ChipClusters.WaterTankMonitoringCluster.LastChangedTimeAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedWaterTankMonitoringClusterLastChangedTimeAttributeCallback(),
+ readWaterTankMonitoringLastChangedTimeCommandParams
+ );
+ result.put("readLastChangedTimeAttribute", readWaterTankMonitoringLastChangedTimeAttributeInteractionInfo);
Map readWaterTankMonitoringGeneratedCommandListCommandParams = new LinkedHashMap();
InteractionInfo readWaterTankMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -8686,6 +8785,17 @@ private static Map readFuelTankMonitoringInteractionInf
readFuelTankMonitoringInPlaceIndicatorCommandParams
);
result.put("readInPlaceIndicatorAttribute", readFuelTankMonitoringInPlaceIndicatorAttributeInteractionInfo);
+ Map readFuelTankMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ InteractionInfo readFuelTankMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.FuelTankMonitoringCluster) cluster).readLastChangedTimeAttribute(
+ (ChipClusters.FuelTankMonitoringCluster.LastChangedTimeAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedFuelTankMonitoringClusterLastChangedTimeAttributeCallback(),
+ readFuelTankMonitoringLastChangedTimeCommandParams
+ );
+ result.put("readLastChangedTimeAttribute", readFuelTankMonitoringLastChangedTimeAttributeInteractionInfo);
Map readFuelTankMonitoringGeneratedCommandListCommandParams = new LinkedHashMap();
InteractionInfo readFuelTankMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -8800,6 +8910,17 @@ private static Map readInkCartridgeMonitoringInteractio
readInkCartridgeMonitoringInPlaceIndicatorCommandParams
);
result.put("readInPlaceIndicatorAttribute", readInkCartridgeMonitoringInPlaceIndicatorAttributeInteractionInfo);
+ Map readInkCartridgeMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ InteractionInfo readInkCartridgeMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.InkCartridgeMonitoringCluster) cluster).readLastChangedTimeAttribute(
+ (ChipClusters.InkCartridgeMonitoringCluster.LastChangedTimeAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedInkCartridgeMonitoringClusterLastChangedTimeAttributeCallback(),
+ readInkCartridgeMonitoringLastChangedTimeCommandParams
+ );
+ result.put("readLastChangedTimeAttribute", readInkCartridgeMonitoringLastChangedTimeAttributeInteractionInfo);
Map readInkCartridgeMonitoringGeneratedCommandListCommandParams = new LinkedHashMap();
InteractionInfo readInkCartridgeMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -8914,6 +9035,17 @@ private static Map readTonerCartridgeMonitoringInteract
readTonerCartridgeMonitoringInPlaceIndicatorCommandParams
);
result.put("readInPlaceIndicatorAttribute", readTonerCartridgeMonitoringInPlaceIndicatorAttributeInteractionInfo);
+ Map readTonerCartridgeMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ InteractionInfo readTonerCartridgeMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.TonerCartridgeMonitoringCluster) cluster).readLastChangedTimeAttribute(
+ (ChipClusters.TonerCartridgeMonitoringCluster.LastChangedTimeAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedTonerCartridgeMonitoringClusterLastChangedTimeAttributeCallback(),
+ readTonerCartridgeMonitoringLastChangedTimeCommandParams
+ );
+ result.put("readLastChangedTimeAttribute", readTonerCartridgeMonitoringLastChangedTimeAttributeInteractionInfo);
Map readTonerCartridgeMonitoringGeneratedCommandListCommandParams = new LinkedHashMap();
InteractionInfo readTonerCartridgeMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterWriteMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterWriteMapping.java
index 0848e009deb4b5..07f25657ac2b1f 100644
--- a/src/controller/java/generated/java/chip/devicecontroller/ClusterWriteMapping.java
+++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterWriteMapping.java
@@ -1083,28 +1083,292 @@ public Map> getWriteAttributeMap() {
Map writeRvcOperationalStateInteractionInfo = new LinkedHashMap<>();
writeAttributeMap.put("rvcOperationalState", writeRvcOperationalStateInteractionInfo);
Map writeHepaFilterMonitoringInteractionInfo = new LinkedHashMap<>();
+ Map writeHepaFilterMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ CommandParameterInfo hepaFilterMonitoringlastChangedTimeCommandParameterInfo =
+ new CommandParameterInfo(
+ "value",
+ Long.class,
+ Long.class
+ );
+ writeHepaFilterMonitoringLastChangedTimeCommandParams.put(
+ "value",
+ hepaFilterMonitoringlastChangedTimeCommandParameterInfo
+ );
+ InteractionInfo writeHepaFilterMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.HepaFilterMonitoringCluster) cluster).writeLastChangedTimeAttribute(
+ (DefaultClusterCallback) callback,
+ (Long) commandArguments.get("value")
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(),
+ writeHepaFilterMonitoringLastChangedTimeCommandParams
+ );
+ writeHepaFilterMonitoringInteractionInfo.put("writeLastChangedTimeAttribute", writeHepaFilterMonitoringLastChangedTimeAttributeInteractionInfo);
writeAttributeMap.put("hepaFilterMonitoring", writeHepaFilterMonitoringInteractionInfo);
Map writeActivatedCarbonFilterMonitoringInteractionInfo = new LinkedHashMap<>();
+ Map writeActivatedCarbonFilterMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ CommandParameterInfo activatedCarbonFilterMonitoringlastChangedTimeCommandParameterInfo =
+ new CommandParameterInfo(
+ "value",
+ Long.class,
+ Long.class
+ );
+ writeActivatedCarbonFilterMonitoringLastChangedTimeCommandParams.put(
+ "value",
+ activatedCarbonFilterMonitoringlastChangedTimeCommandParameterInfo
+ );
+ InteractionInfo writeActivatedCarbonFilterMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.ActivatedCarbonFilterMonitoringCluster) cluster).writeLastChangedTimeAttribute(
+ (DefaultClusterCallback) callback,
+ (Long) commandArguments.get("value")
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(),
+ writeActivatedCarbonFilterMonitoringLastChangedTimeCommandParams
+ );
+ writeActivatedCarbonFilterMonitoringInteractionInfo.put("writeLastChangedTimeAttribute", writeActivatedCarbonFilterMonitoringLastChangedTimeAttributeInteractionInfo);
writeAttributeMap.put("activatedCarbonFilterMonitoring", writeActivatedCarbonFilterMonitoringInteractionInfo);
Map writeCeramicFilterMonitoringInteractionInfo = new LinkedHashMap<>();
+ Map writeCeramicFilterMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ CommandParameterInfo ceramicFilterMonitoringlastChangedTimeCommandParameterInfo =
+ new CommandParameterInfo(
+ "value",
+ Long.class,
+ Long.class
+ );
+ writeCeramicFilterMonitoringLastChangedTimeCommandParams.put(
+ "value",
+ ceramicFilterMonitoringlastChangedTimeCommandParameterInfo
+ );
+ InteractionInfo writeCeramicFilterMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.CeramicFilterMonitoringCluster) cluster).writeLastChangedTimeAttribute(
+ (DefaultClusterCallback) callback,
+ (Long) commandArguments.get("value")
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(),
+ writeCeramicFilterMonitoringLastChangedTimeCommandParams
+ );
+ writeCeramicFilterMonitoringInteractionInfo.put("writeLastChangedTimeAttribute", writeCeramicFilterMonitoringLastChangedTimeAttributeInteractionInfo);
writeAttributeMap.put("ceramicFilterMonitoring", writeCeramicFilterMonitoringInteractionInfo);
Map writeElectrostaticFilterMonitoringInteractionInfo = new LinkedHashMap<>();
+ Map writeElectrostaticFilterMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ CommandParameterInfo electrostaticFilterMonitoringlastChangedTimeCommandParameterInfo =
+ new CommandParameterInfo(
+ "value",
+ Long.class,
+ Long.class
+ );
+ writeElectrostaticFilterMonitoringLastChangedTimeCommandParams.put(
+ "value",
+ electrostaticFilterMonitoringlastChangedTimeCommandParameterInfo
+ );
+ InteractionInfo writeElectrostaticFilterMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.ElectrostaticFilterMonitoringCluster) cluster).writeLastChangedTimeAttribute(
+ (DefaultClusterCallback) callback,
+ (Long) commandArguments.get("value")
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(),
+ writeElectrostaticFilterMonitoringLastChangedTimeCommandParams
+ );
+ writeElectrostaticFilterMonitoringInteractionInfo.put("writeLastChangedTimeAttribute", writeElectrostaticFilterMonitoringLastChangedTimeAttributeInteractionInfo);
writeAttributeMap.put("electrostaticFilterMonitoring", writeElectrostaticFilterMonitoringInteractionInfo);
Map writeUvFilterMonitoringInteractionInfo = new LinkedHashMap<>();
+ Map writeUvFilterMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ CommandParameterInfo uvFilterMonitoringlastChangedTimeCommandParameterInfo =
+ new CommandParameterInfo(
+ "value",
+ Long.class,
+ Long.class
+ );
+ writeUvFilterMonitoringLastChangedTimeCommandParams.put(
+ "value",
+ uvFilterMonitoringlastChangedTimeCommandParameterInfo
+ );
+ InteractionInfo writeUvFilterMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.UvFilterMonitoringCluster) cluster).writeLastChangedTimeAttribute(
+ (DefaultClusterCallback) callback,
+ (Long) commandArguments.get("value")
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(),
+ writeUvFilterMonitoringLastChangedTimeCommandParams
+ );
+ writeUvFilterMonitoringInteractionInfo.put("writeLastChangedTimeAttribute", writeUvFilterMonitoringLastChangedTimeAttributeInteractionInfo);
writeAttributeMap.put("uvFilterMonitoring", writeUvFilterMonitoringInteractionInfo);
Map writeIonizingFilterMonitoringInteractionInfo = new LinkedHashMap<>();
+ Map writeIonizingFilterMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ CommandParameterInfo ionizingFilterMonitoringlastChangedTimeCommandParameterInfo =
+ new CommandParameterInfo(
+ "value",
+ Long.class,
+ Long.class
+ );
+ writeIonizingFilterMonitoringLastChangedTimeCommandParams.put(
+ "value",
+ ionizingFilterMonitoringlastChangedTimeCommandParameterInfo
+ );
+ InteractionInfo writeIonizingFilterMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.IonizingFilterMonitoringCluster) cluster).writeLastChangedTimeAttribute(
+ (DefaultClusterCallback) callback,
+ (Long) commandArguments.get("value")
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(),
+ writeIonizingFilterMonitoringLastChangedTimeCommandParams
+ );
+ writeIonizingFilterMonitoringInteractionInfo.put("writeLastChangedTimeAttribute", writeIonizingFilterMonitoringLastChangedTimeAttributeInteractionInfo);
writeAttributeMap.put("ionizingFilterMonitoring", writeIonizingFilterMonitoringInteractionInfo);
Map writeZeoliteFilterMonitoringInteractionInfo = new LinkedHashMap<>();
+ Map writeZeoliteFilterMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ CommandParameterInfo zeoliteFilterMonitoringlastChangedTimeCommandParameterInfo =
+ new CommandParameterInfo(
+ "value",
+ Long.class,
+ Long.class
+ );
+ writeZeoliteFilterMonitoringLastChangedTimeCommandParams.put(
+ "value",
+ zeoliteFilterMonitoringlastChangedTimeCommandParameterInfo
+ );
+ InteractionInfo writeZeoliteFilterMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.ZeoliteFilterMonitoringCluster) cluster).writeLastChangedTimeAttribute(
+ (DefaultClusterCallback) callback,
+ (Long) commandArguments.get("value")
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(),
+ writeZeoliteFilterMonitoringLastChangedTimeCommandParams
+ );
+ writeZeoliteFilterMonitoringInteractionInfo.put("writeLastChangedTimeAttribute", writeZeoliteFilterMonitoringLastChangedTimeAttributeInteractionInfo);
writeAttributeMap.put("zeoliteFilterMonitoring", writeZeoliteFilterMonitoringInteractionInfo);
Map writeOzoneFilterMonitoringInteractionInfo = new LinkedHashMap<>();
+ Map writeOzoneFilterMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ CommandParameterInfo ozoneFilterMonitoringlastChangedTimeCommandParameterInfo =
+ new CommandParameterInfo(
+ "value",
+ Long.class,
+ Long.class
+ );
+ writeOzoneFilterMonitoringLastChangedTimeCommandParams.put(
+ "value",
+ ozoneFilterMonitoringlastChangedTimeCommandParameterInfo
+ );
+ InteractionInfo writeOzoneFilterMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.OzoneFilterMonitoringCluster) cluster).writeLastChangedTimeAttribute(
+ (DefaultClusterCallback) callback,
+ (Long) commandArguments.get("value")
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(),
+ writeOzoneFilterMonitoringLastChangedTimeCommandParams
+ );
+ writeOzoneFilterMonitoringInteractionInfo.put("writeLastChangedTimeAttribute", writeOzoneFilterMonitoringLastChangedTimeAttributeInteractionInfo);
writeAttributeMap.put("ozoneFilterMonitoring", writeOzoneFilterMonitoringInteractionInfo);
Map writeWaterTankMonitoringInteractionInfo = new LinkedHashMap<>();
+ Map writeWaterTankMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ CommandParameterInfo waterTankMonitoringlastChangedTimeCommandParameterInfo =
+ new CommandParameterInfo(
+ "value",
+ Long.class,
+ Long.class
+ );
+ writeWaterTankMonitoringLastChangedTimeCommandParams.put(
+ "value",
+ waterTankMonitoringlastChangedTimeCommandParameterInfo
+ );
+ InteractionInfo writeWaterTankMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.WaterTankMonitoringCluster) cluster).writeLastChangedTimeAttribute(
+ (DefaultClusterCallback) callback,
+ (Long) commandArguments.get("value")
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(),
+ writeWaterTankMonitoringLastChangedTimeCommandParams
+ );
+ writeWaterTankMonitoringInteractionInfo.put("writeLastChangedTimeAttribute", writeWaterTankMonitoringLastChangedTimeAttributeInteractionInfo);
writeAttributeMap.put("waterTankMonitoring", writeWaterTankMonitoringInteractionInfo);
Map writeFuelTankMonitoringInteractionInfo = new LinkedHashMap<>();
+ Map writeFuelTankMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ CommandParameterInfo fuelTankMonitoringlastChangedTimeCommandParameterInfo =
+ new CommandParameterInfo(
+ "value",
+ Long.class,
+ Long.class
+ );
+ writeFuelTankMonitoringLastChangedTimeCommandParams.put(
+ "value",
+ fuelTankMonitoringlastChangedTimeCommandParameterInfo
+ );
+ InteractionInfo writeFuelTankMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.FuelTankMonitoringCluster) cluster).writeLastChangedTimeAttribute(
+ (DefaultClusterCallback) callback,
+ (Long) commandArguments.get("value")
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(),
+ writeFuelTankMonitoringLastChangedTimeCommandParams
+ );
+ writeFuelTankMonitoringInteractionInfo.put("writeLastChangedTimeAttribute", writeFuelTankMonitoringLastChangedTimeAttributeInteractionInfo);
writeAttributeMap.put("fuelTankMonitoring", writeFuelTankMonitoringInteractionInfo);
Map writeInkCartridgeMonitoringInteractionInfo = new LinkedHashMap<>();
+ Map writeInkCartridgeMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ CommandParameterInfo inkCartridgeMonitoringlastChangedTimeCommandParameterInfo =
+ new CommandParameterInfo(
+ "value",
+ Long.class,
+ Long.class
+ );
+ writeInkCartridgeMonitoringLastChangedTimeCommandParams.put(
+ "value",
+ inkCartridgeMonitoringlastChangedTimeCommandParameterInfo
+ );
+ InteractionInfo writeInkCartridgeMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.InkCartridgeMonitoringCluster) cluster).writeLastChangedTimeAttribute(
+ (DefaultClusterCallback) callback,
+ (Long) commandArguments.get("value")
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(),
+ writeInkCartridgeMonitoringLastChangedTimeCommandParams
+ );
+ writeInkCartridgeMonitoringInteractionInfo.put("writeLastChangedTimeAttribute", writeInkCartridgeMonitoringLastChangedTimeAttributeInteractionInfo);
writeAttributeMap.put("inkCartridgeMonitoring", writeInkCartridgeMonitoringInteractionInfo);
Map writeTonerCartridgeMonitoringInteractionInfo = new LinkedHashMap<>();
+ Map writeTonerCartridgeMonitoringLastChangedTimeCommandParams = new LinkedHashMap();
+ CommandParameterInfo tonerCartridgeMonitoringlastChangedTimeCommandParameterInfo =
+ new CommandParameterInfo(
+ "value",
+ Long.class,
+ Long.class
+ );
+ writeTonerCartridgeMonitoringLastChangedTimeCommandParams.put(
+ "value",
+ tonerCartridgeMonitoringlastChangedTimeCommandParameterInfo
+ );
+ InteractionInfo writeTonerCartridgeMonitoringLastChangedTimeAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.TonerCartridgeMonitoringCluster) cluster).writeLastChangedTimeAttribute(
+ (DefaultClusterCallback) callback,
+ (Long) commandArguments.get("value")
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(),
+ writeTonerCartridgeMonitoringLastChangedTimeCommandParams
+ );
+ writeTonerCartridgeMonitoringInteractionInfo.put("writeLastChangedTimeAttribute", writeTonerCartridgeMonitoringLastChangedTimeAttributeInteractionInfo);
writeAttributeMap.put("tonerCartridgeMonitoring", writeTonerCartridgeMonitoringInteractionInfo);
Map writeDoorLockInteractionInfo = new LinkedHashMap<>();
Map writeDoorLockDoorOpenEventsCommandParams = new LinkedHashMap();
diff --git a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
index 1696e4a0636255..dad2a4e637783c 100644
--- a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
+++ b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
@@ -15808,6 +15808,28 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR
value);
return value;
}
+ case Attributes::LastChangedTime::Id: {
+ using TypeInfo = Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ if (cppValue.IsNull())
+ {
+ value = nullptr;
+ }
+ else
+ {
+ std::string valueClassName = "java/lang/Long";
+ std::string valueCtorSignature = "(J)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(),
+ cppValue.Value(), value);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -16004,6 +16026,28 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR
value);
return value;
}
+ case Attributes::LastChangedTime::Id: {
+ using TypeInfo = Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ if (cppValue.IsNull())
+ {
+ value = nullptr;
+ }
+ else
+ {
+ std::string valueClassName = "java/lang/Long";
+ std::string valueCtorSignature = "(J)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(),
+ cppValue.Value(), value);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -16200,6 +16244,28 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR
value);
return value;
}
+ case Attributes::LastChangedTime::Id: {
+ using TypeInfo = Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ if (cppValue.IsNull())
+ {
+ value = nullptr;
+ }
+ else
+ {
+ std::string valueClassName = "java/lang/Long";
+ std::string valueCtorSignature = "(J)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(),
+ cppValue.Value(), value);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -16396,6 +16462,28 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR
value);
return value;
}
+ case Attributes::LastChangedTime::Id: {
+ using TypeInfo = Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ if (cppValue.IsNull())
+ {
+ value = nullptr;
+ }
+ else
+ {
+ std::string valueClassName = "java/lang/Long";
+ std::string valueCtorSignature = "(J)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(),
+ cppValue.Value(), value);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -16592,6 +16680,28 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR
value);
return value;
}
+ case Attributes::LastChangedTime::Id: {
+ using TypeInfo = Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ if (cppValue.IsNull())
+ {
+ value = nullptr;
+ }
+ else
+ {
+ std::string valueClassName = "java/lang/Long";
+ std::string valueCtorSignature = "(J)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(),
+ cppValue.Value(), value);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -16788,6 +16898,28 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR
value);
return value;
}
+ case Attributes::LastChangedTime::Id: {
+ using TypeInfo = Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ if (cppValue.IsNull())
+ {
+ value = nullptr;
+ }
+ else
+ {
+ std::string valueClassName = "java/lang/Long";
+ std::string valueCtorSignature = "(J)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(),
+ cppValue.Value(), value);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -16984,6 +17116,28 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR
value);
return value;
}
+ case Attributes::LastChangedTime::Id: {
+ using TypeInfo = Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ if (cppValue.IsNull())
+ {
+ value = nullptr;
+ }
+ else
+ {
+ std::string valueClassName = "java/lang/Long";
+ std::string valueCtorSignature = "(J)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(),
+ cppValue.Value(), value);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -17180,6 +17334,28 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR
value);
return value;
}
+ case Attributes::LastChangedTime::Id: {
+ using TypeInfo = Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ if (cppValue.IsNull())
+ {
+ value = nullptr;
+ }
+ else
+ {
+ std::string valueClassName = "java/lang/Long";
+ std::string valueCtorSignature = "(J)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(),
+ cppValue.Value(), value);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -17376,6 +17552,28 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR
value);
return value;
}
+ case Attributes::LastChangedTime::Id: {
+ using TypeInfo = Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ if (cppValue.IsNull())
+ {
+ value = nullptr;
+ }
+ else
+ {
+ std::string valueClassName = "java/lang/Long";
+ std::string valueCtorSignature = "(J)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(),
+ cppValue.Value(), value);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -17572,6 +17770,28 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR
value);
return value;
}
+ case Attributes::LastChangedTime::Id: {
+ using TypeInfo = Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ if (cppValue.IsNull())
+ {
+ value = nullptr;
+ }
+ else
+ {
+ std::string valueClassName = "java/lang/Long";
+ std::string valueCtorSignature = "(J)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(),
+ cppValue.Value(), value);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -17768,6 +17988,28 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR
value);
return value;
}
+ case Attributes::LastChangedTime::Id: {
+ using TypeInfo = Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ if (cppValue.IsNull())
+ {
+ value = nullptr;
+ }
+ else
+ {
+ std::string valueClassName = "java/lang/Long";
+ std::string valueCtorSignature = "(J)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(),
+ cppValue.Value(), value);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -17964,6 +18206,28 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR
value);
return value;
}
+ case Attributes::LastChangedTime::Id: {
+ using TypeInfo = Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ if (cppValue.IsNull())
+ {
+ value = nullptr;
+ }
+ else
+ {
+ std::string valueClassName = "java/lang/Long";
+ std::string valueCtorSignature = "(J)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(),
+ cppValue.Value(), value);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
diff --git a/src/controller/java/zap-generated/CHIPClustersWrite-JNI.cpp b/src/controller/java/zap-generated/CHIPClustersWrite-JNI.cpp
index c102ef8e8e882f..104941401222da 100644
--- a/src/controller/java/zap-generated/CHIPClustersWrite-JNI.cpp
+++ b/src/controller/java/zap-generated/CHIPClustersWrite-JNI.cpp
@@ -3108,6 +3108,726 @@ JNI_METHOD(void, SmokeCoAlarmCluster, writeSensitivityLevelAttribute)
onFailure.release();
}
+JNI_METHOD(void, HepaFilterMonitoringCluster, writeLastChangedTimeAttribute)
+(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jobject value, jobject timedWriteTimeoutMs)
+{
+ chip::DeviceLayer::StackLock lock;
+ ListFreer listFreer;
+ using TypeInfo = chip::app::Clusters::HepaFilterMonitoring::Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::Type cppValue;
+
+ std::vector> cleanupByteArrays;
+ std::vector> cleanupStrings;
+
+ if (value == nullptr)
+ {
+ cppValue.SetNull();
+ }
+ else
+ {
+ auto & nonNullValue_0 = cppValue.SetNonNull();
+ nonNullValue_0 = static_cast>(
+ chip::JniReferences::GetInstance().LongToPrimitive(value));
+ }
+
+ std::unique_ptr onSuccess(
+ Platform::New(callback), Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ Platform::New(callback), Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ HepaFilterMonitoringCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn = chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+
+ if (timedWriteTimeoutMs == nullptr)
+ {
+ err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ }
+ else
+ {
+ err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall,
+ chip::JniReferences::GetInstance().IntegerToPrimitive(timedWriteTimeoutMs));
+ }
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error writing attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
+JNI_METHOD(void, ActivatedCarbonFilterMonitoringCluster, writeLastChangedTimeAttribute)
+(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jobject value, jobject timedWriteTimeoutMs)
+{
+ chip::DeviceLayer::StackLock lock;
+ ListFreer listFreer;
+ using TypeInfo = chip::app::Clusters::ActivatedCarbonFilterMonitoring::Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::Type cppValue;
+
+ std::vector> cleanupByteArrays;
+ std::vector> cleanupStrings;
+
+ if (value == nullptr)
+ {
+ cppValue.SetNull();
+ }
+ else
+ {
+ auto & nonNullValue_0 = cppValue.SetNonNull();
+ nonNullValue_0 = static_cast>(
+ chip::JniReferences::GetInstance().LongToPrimitive(value));
+ }
+
+ std::unique_ptr onSuccess(
+ Platform::New(callback), Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ Platform::New(callback), Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ ActivatedCarbonFilterMonitoringCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn = chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+
+ if (timedWriteTimeoutMs == nullptr)
+ {
+ err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ }
+ else
+ {
+ err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall,
+ chip::JniReferences::GetInstance().IntegerToPrimitive(timedWriteTimeoutMs));
+ }
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error writing attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
+JNI_METHOD(void, CeramicFilterMonitoringCluster, writeLastChangedTimeAttribute)
+(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jobject value, jobject timedWriteTimeoutMs)
+{
+ chip::DeviceLayer::StackLock lock;
+ ListFreer listFreer;
+ using TypeInfo = chip::app::Clusters::CeramicFilterMonitoring::Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::Type cppValue;
+
+ std::vector> cleanupByteArrays;
+ std::vector> cleanupStrings;
+
+ if (value == nullptr)
+ {
+ cppValue.SetNull();
+ }
+ else
+ {
+ auto & nonNullValue_0 = cppValue.SetNonNull();
+ nonNullValue_0 = static_cast>(
+ chip::JniReferences::GetInstance().LongToPrimitive(value));
+ }
+
+ std::unique_ptr onSuccess(
+ Platform::New(callback), Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ Platform::New(callback), Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ CeramicFilterMonitoringCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn = chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+
+ if (timedWriteTimeoutMs == nullptr)
+ {
+ err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ }
+ else
+ {
+ err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall,
+ chip::JniReferences::GetInstance().IntegerToPrimitive(timedWriteTimeoutMs));
+ }
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error writing attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
+JNI_METHOD(void, ElectrostaticFilterMonitoringCluster, writeLastChangedTimeAttribute)
+(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jobject value, jobject timedWriteTimeoutMs)
+{
+ chip::DeviceLayer::StackLock lock;
+ ListFreer listFreer;
+ using TypeInfo = chip::app::Clusters::ElectrostaticFilterMonitoring::Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::Type cppValue;
+
+ std::vector> cleanupByteArrays;
+ std::vector> cleanupStrings;
+
+ if (value == nullptr)
+ {
+ cppValue.SetNull();
+ }
+ else
+ {
+ auto & nonNullValue_0 = cppValue.SetNonNull();
+ nonNullValue_0 = static_cast>(
+ chip::JniReferences::GetInstance().LongToPrimitive(value));
+ }
+
+ std::unique_ptr onSuccess(
+ Platform::New(callback), Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ Platform::New(callback), Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ ElectrostaticFilterMonitoringCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn = chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+
+ if (timedWriteTimeoutMs == nullptr)
+ {
+ err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ }
+ else
+ {
+ err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall,
+ chip::JniReferences::GetInstance().IntegerToPrimitive(timedWriteTimeoutMs));
+ }
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error writing attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
+JNI_METHOD(void, UvFilterMonitoringCluster, writeLastChangedTimeAttribute)
+(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jobject value, jobject timedWriteTimeoutMs)
+{
+ chip::DeviceLayer::StackLock lock;
+ ListFreer listFreer;
+ using TypeInfo = chip::app::Clusters::UvFilterMonitoring::Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::Type cppValue;
+
+ std::vector> cleanupByteArrays;
+ std::vector> cleanupStrings;
+
+ if (value == nullptr)
+ {
+ cppValue.SetNull();
+ }
+ else
+ {
+ auto & nonNullValue_0 = cppValue.SetNonNull();
+ nonNullValue_0 = static_cast>(
+ chip::JniReferences::GetInstance().LongToPrimitive(value));
+ }
+
+ std::unique_ptr onSuccess(
+ Platform::New(callback), Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ Platform::New(callback), Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ UvFilterMonitoringCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn = chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+
+ if (timedWriteTimeoutMs == nullptr)
+ {
+ err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ }
+ else
+ {
+ err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall,
+ chip::JniReferences::GetInstance().IntegerToPrimitive(timedWriteTimeoutMs));
+ }
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error writing attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
+JNI_METHOD(void, IonizingFilterMonitoringCluster, writeLastChangedTimeAttribute)
+(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jobject value, jobject timedWriteTimeoutMs)
+{
+ chip::DeviceLayer::StackLock lock;
+ ListFreer listFreer;
+ using TypeInfo = chip::app::Clusters::IonizingFilterMonitoring::Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::Type cppValue;
+
+ std::vector> cleanupByteArrays;
+ std::vector> cleanupStrings;
+
+ if (value == nullptr)
+ {
+ cppValue.SetNull();
+ }
+ else
+ {
+ auto & nonNullValue_0 = cppValue.SetNonNull();
+ nonNullValue_0 = static_cast>(
+ chip::JniReferences::GetInstance().LongToPrimitive(value));
+ }
+
+ std::unique_ptr onSuccess(
+ Platform::New(callback), Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ Platform::New(callback), Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ IonizingFilterMonitoringCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn = chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+
+ if (timedWriteTimeoutMs == nullptr)
+ {
+ err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ }
+ else
+ {
+ err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall,
+ chip::JniReferences::GetInstance().IntegerToPrimitive(timedWriteTimeoutMs));
+ }
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error writing attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
+JNI_METHOD(void, ZeoliteFilterMonitoringCluster, writeLastChangedTimeAttribute)
+(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jobject value, jobject timedWriteTimeoutMs)
+{
+ chip::DeviceLayer::StackLock lock;
+ ListFreer listFreer;
+ using TypeInfo = chip::app::Clusters::ZeoliteFilterMonitoring::Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::Type cppValue;
+
+ std::vector> cleanupByteArrays;
+ std::vector> cleanupStrings;
+
+ if (value == nullptr)
+ {
+ cppValue.SetNull();
+ }
+ else
+ {
+ auto & nonNullValue_0 = cppValue.SetNonNull();
+ nonNullValue_0 = static_cast>(
+ chip::JniReferences::GetInstance().LongToPrimitive(value));
+ }
+
+ std::unique_ptr onSuccess(
+ Platform::New(callback), Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ Platform::New(callback), Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ ZeoliteFilterMonitoringCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn = chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+
+ if (timedWriteTimeoutMs == nullptr)
+ {
+ err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ }
+ else
+ {
+ err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall,
+ chip::JniReferences::GetInstance().IntegerToPrimitive(timedWriteTimeoutMs));
+ }
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error writing attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
+JNI_METHOD(void, OzoneFilterMonitoringCluster, writeLastChangedTimeAttribute)
+(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jobject value, jobject timedWriteTimeoutMs)
+{
+ chip::DeviceLayer::StackLock lock;
+ ListFreer listFreer;
+ using TypeInfo = chip::app::Clusters::OzoneFilterMonitoring::Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::Type cppValue;
+
+ std::vector> cleanupByteArrays;
+ std::vector> cleanupStrings;
+
+ if (value == nullptr)
+ {
+ cppValue.SetNull();
+ }
+ else
+ {
+ auto & nonNullValue_0 = cppValue.SetNonNull();
+ nonNullValue_0 = static_cast>(
+ chip::JniReferences::GetInstance().LongToPrimitive(value));
+ }
+
+ std::unique_ptr onSuccess(
+ Platform::New(callback), Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ Platform::New(callback), Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ OzoneFilterMonitoringCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn = chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+
+ if (timedWriteTimeoutMs == nullptr)
+ {
+ err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ }
+ else
+ {
+ err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall,
+ chip::JniReferences::GetInstance().IntegerToPrimitive(timedWriteTimeoutMs));
+ }
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error writing attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
+JNI_METHOD(void, WaterTankMonitoringCluster, writeLastChangedTimeAttribute)
+(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jobject value, jobject timedWriteTimeoutMs)
+{
+ chip::DeviceLayer::StackLock lock;
+ ListFreer listFreer;
+ using TypeInfo = chip::app::Clusters::WaterTankMonitoring::Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::Type cppValue;
+
+ std::vector> cleanupByteArrays;
+ std::vector> cleanupStrings;
+
+ if (value == nullptr)
+ {
+ cppValue.SetNull();
+ }
+ else
+ {
+ auto & nonNullValue_0 = cppValue.SetNonNull();
+ nonNullValue_0 = static_cast>(
+ chip::JniReferences::GetInstance().LongToPrimitive(value));
+ }
+
+ std::unique_ptr onSuccess(
+ Platform::New(callback), Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ Platform::New(callback), Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ WaterTankMonitoringCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ auto successFn = chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
+ auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
+
+ if (timedWriteTimeoutMs == nullptr)
+ {
+ err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall);
+ }
+ else
+ {
+ err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall,
+ chip::JniReferences::GetInstance().IntegerToPrimitive(timedWriteTimeoutMs));
+ }
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error writing attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
+JNI_METHOD(void, FuelTankMonitoringCluster, writeLastChangedTimeAttribute)
+(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jobject value, jobject timedWriteTimeoutMs)
+{
+ chip::DeviceLayer::StackLock lock;
+ ListFreer listFreer;
+ using TypeInfo = chip::app::Clusters::FuelTankMonitoring::Attributes::LastChangedTime::TypeInfo;
+ TypeInfo::Type cppValue;
+
+ std::vector> cleanupByteArrays;
+ std::vector> cleanupStrings;
+
+ if (value == nullptr)
+ {
+ cppValue.SetNull();
+ }
+ else
+ {
+ auto & nonNullValue_0 = cppValue.SetNonNull();
+ nonNullValue_0 = static_cast>(
+ chip::JniReferences::GetInstance().LongToPrimitive(value));
+ }
+
+ std::unique_ptr