Adding ReplacementProductList in resource monitoring (#27877)
Adding the replacement product list array in the resource monitoring
cluster.
Fixes issue #27571
Code generation ran with zap_regen_all.py
diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
index 9e867f1..9783325 100644
--- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
+++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
@@ -2555,11 +2555,24 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute percent condition = 0;
readonly attribute DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
@@ -2585,11 +2598,24 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute percent condition = 0;
readonly attribute DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
@@ -2615,11 +2641,24 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute percent condition = 0;
readonly attribute DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
@@ -2645,11 +2684,24 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute percent condition = 0;
readonly attribute DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
@@ -2675,11 +2727,24 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute percent condition = 0;
readonly attribute DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
@@ -2705,11 +2770,24 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute percent condition = 0;
readonly attribute DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
@@ -2735,11 +2813,24 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute percent condition = 0;
readonly attribute DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
@@ -2765,11 +2856,24 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute percent condition = 0;
readonly attribute DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
@@ -2795,11 +2899,24 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute percent condition = 0;
readonly attribute DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
@@ -2825,11 +2942,24 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute percent condition = 0;
readonly attribute DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
@@ -2855,11 +2985,24 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute percent condition = 0;
readonly attribute DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
@@ -2885,11 +3028,24 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute percent condition = 0;
readonly attribute DegradationDirectionEnum degradationDirection = 1;
readonly attribute ChangeIndicationEnum changeIndication = 2;
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 be08ca1..b4776d5 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
@@ -31,6 +31,7 @@
<attribute side="server" code="0x0002" define="CHANGE_INDICATION" type="ChangeIndicationEnum" min="0" max="2" writable="false" isNullable="false" default="0" optional="false">ChangeIndication</attribute>
<attribute side="server" code="0x0003" define="IN_PLACE_INDICATOR" type="boolean" writable="false" isNullable="false" optional="true">InPlaceIndicator</attribute>
<attribute side="server" code="0x0004" define="LAST_CHANGED_TIME" type="epoch_s" writable="true" isNullable="true" optional="true">LastChangedTime</attribute>
+ <attribute side="server" code="0x0005" define="REPLACEMENT_PRODUCT_LIST" type="ARRAY" entryType="ReplacementProductStruct" length="5" writable="false" isNullable="false" optional="true">ReplacementProductList</attribute>
<!-- Commands -->
<command source="client" code="0x00" name="ResetCondition" optional="true">
@@ -53,6 +54,7 @@
<attribute side="server" code="0x0002" define="CHANGE_INDICATION" type="ChangeIndicationEnum" min="0" max="2" writable="false" isNullable="false" default="0" optional="false">ChangeIndication</attribute>
<attribute side="server" code="0x0003" define="IN_PLACE_INDICATOR" type="boolean" writable="false" isNullable="false" optional="true">InPlaceIndicator</attribute>
<attribute side="server" code="0x0004" define="LAST_CHANGED_TIME" type="epoch_s" writable="true" isNullable="true" optional="true">LastChangedTime</attribute>
+ <attribute side="server" code="0x0005" define="REPLACEMENT_PRODUCT_LIST" type="ARRAY" entryType="ReplacementProductStruct" length="5" writable="false" isNullable="false" optional="true">ReplacementProductList</attribute>
<!-- Commands -->
<command source="client" code="0x00" name="ResetCondition" optional="true">
@@ -75,6 +77,7 @@
<attribute side="server" code="0x0002" define="CERAMIC_FILTER_MONITORING" type="ChangeIndicationEnum" min="0" max="2" writable="false" isNullable="false" default="0" optional="false">ChangeIndication</attribute>
<attribute side="server" code="0x0003" define="CERAMIC_FILTER_MONITORING" type="boolean" writable="false" isNullable="false" optional="true">InPlaceIndicator</attribute>
<attribute side="server" code="0x0004" define="LAST_CHANGED_TIME" type="epoch_s" writable="true" isNullable="true" optional="true">LastChangedTime</attribute>
+ <attribute side="server" code="0x0005" define="REPLACEMENT_PRODUCT_LIST" type="ARRAY" entryType="ReplacementProductStruct" length="5" writable="false" isNullable="false" optional="true">ReplacementProductList</attribute>
<!-- Commands -->
<command source="client" code="0x00" name="ResetCondition" optional="true">
@@ -97,6 +100,7 @@
<attribute side="server" code="0x0002" define="CHANGE_INDICATION" type="ChangeIndicationEnum" min="0" max="2" writable="false" isNullable="false" default="0" optional="false">ChangeIndication</attribute>
<attribute side="server" code="0x0003" define="IN_PLACE_INDICATOR" type="boolean" writable="false" isNullable="false" optional="true">InPlaceIndicator</attribute>
<attribute side="server" code="0x0004" define="LAST_CHANGED_TIME" type="epoch_s" writable="true" isNullable="true" optional="true">LastChangedTime</attribute>
+ <attribute side="server" code="0x0005" define="REPLACEMENT_PRODUCT_LIST" type="ARRAY" entryType="ReplacementProductStruct" length="5" writable="false" isNullable="false" optional="true">ReplacementProductList</attribute>
<!-- Commands -->
<command source="client" code="0x00" name="ResetCondition" optional="true">
@@ -119,6 +123,7 @@
<attribute side="server" code="0x0002" define="CHANGE_INDICATION" type="ChangeIndicationEnum" min="0" max="2" writable="false" isNullable="false" default="0" optional="false">ChangeIndication</attribute>
<attribute side="server" code="0x0003" define="IN_PLACE_INDICATOR" type="boolean" writable="false" isNullable="false" optional="true">InPlaceIndicator</attribute>
<attribute side="server" code="0x0004" define="LAST_CHANGED_TIME" type="epoch_s" writable="true" isNullable="true" optional="true">LastChangedTime</attribute>
+ <attribute side="server" code="0x0005" define="REPLACEMENT_PRODUCT_LIST" type="ARRAY" entryType="ReplacementProductStruct" length="5" writable="false" isNullable="false" optional="true">ReplacementProductList</attribute>
<!-- Commands -->
<command source="client" code="0x00" name="ResetCondition" optional="true">
@@ -141,6 +146,7 @@
<attribute side="server" code="0x0002" define="CHANGE_INDICATION" type="ChangeIndicationEnum" min="0" max="2" writable="false" isNullable="false" default="0" optional="false">ChangeIndication</attribute>
<attribute side="server" code="0x0003" define="IN_PLACE_INDICATOR" type="boolean" writable="false" isNullable="false" optional="true">InPlaceIndicator</attribute>
<attribute side="server" code="0x0004" define="LAST_CHANGED_TIME" type="epoch_s" writable="true" isNullable="true" optional="true">LastChangedTime</attribute>
+ <attribute side="server" code="0x0005" define="REPLACEMENT_PRODUCT_LIST" type="ARRAY" entryType="ReplacementProductStruct" length="5" writable="false" isNullable="false" optional="true">ReplacementProductList</attribute>
<!-- Commands -->
<command source="client" code="0x00" name="ResetCondition" optional="true">
@@ -163,6 +169,7 @@
<attribute side="server" code="0x0002" define="CHANGE_INDICATION" type="ChangeIndicationEnum" min="0" max="2" writable="false" isNullable="false" default="0" optional="false">ChangeIndication</attribute>
<attribute side="server" code="0x0003" define="IN_PLACE_INDICATOR" type="boolean" writable="false" isNullable="false" optional="true">InPlaceIndicator</attribute>
<attribute side="server" code="0x0004" define="LAST_CHANGED_TIME" type="epoch_s" writable="true" isNullable="true" optional="true">LastChangedTime</attribute>
+ <attribute side="server" code="0x0005" define="REPLACEMENT_PRODUCT_LIST" type="ARRAY" entryType="ReplacementProductStruct" length="5" writable="false" isNullable="false" optional="true">ReplacementProductList</attribute>
<!-- Commands -->
<command source="client" code="0x00" name="ResetCondition" optional="true">
@@ -185,6 +192,7 @@
<attribute side="server" code="0x0002" define="CHANGE_INDICATION" type="ChangeIndicationEnum" min="0" max="2" writable="false" isNullable="false" default="0" optional="false">ChangeIndication</attribute>
<attribute side="server" code="0x0003" define="IN_PLACE_INDICATOR" type="boolean" writable="false" isNullable="false" optional="true">InPlaceIndicator</attribute>
<attribute side="server" code="0x0004" define="LAST_CHANGED_TIME" type="epoch_s" writable="true" isNullable="true" optional="true">LastChangedTime</attribute>
+ <attribute side="server" code="0x0005" define="REPLACEMENT_PRODUCT_LIST" type="ARRAY" entryType="ReplacementProductStruct" length="5" writable="false" isNullable="false" optional="true">ReplacementProductList</attribute>
<!-- Commands -->
<command source="client" code="0x00" name="ResetCondition" optional="true">
@@ -207,6 +215,7 @@
<attribute side="server" code="0x0002" define="CHANGE_INDICATION" type="ChangeIndicationEnum" min="0" max="2" writable="false" isNullable="false" default="0" optional="false">ChangeIndication</attribute>
<attribute side="server" code="0x0003" define="IN_PLACE_INDICATOR" type="boolean" writable="false" isNullable="false" optional="true">InPlaceIndicator</attribute>
<attribute side="server" code="0x0004" define="LAST_CHANGED_TIME" type="epoch_s" writable="true" isNullable="true" optional="true">LastChangedTime</attribute>
+ <attribute side="server" code="0x0005" define="REPLACEMENT_PRODUCT_LIST" type="ARRAY" entryType="ReplacementProductStruct" length="5" writable="false" isNullable="false" optional="true">ReplacementProductList</attribute>
<!-- Commands -->
<command source="client" code="0x00" name="ResetCondition" optional="true">
@@ -229,6 +238,7 @@
<attribute side="server" code="0x0002" define="CHANGE_INDICATION" type="ChangeIndicationEnum" min="0" max="2" writable="false" isNullable="false" default="0" optional="false">ChangeIndication</attribute>
<attribute side="server" code="0x0003" define="IN_PLACE_INDICATOR" type="boolean" writable="false" isNullable="false" optional="true">InPlaceIndicator</attribute>
<attribute side="server" code="0x0004" define="LAST_CHANGED_TIME" type="epoch_s" writable="true" isNullable="true" optional="true">LastChangedTime</attribute>
+ <attribute side="server" code="0x0005" define="REPLACEMENT_PRODUCT_LIST" type="ARRAY" entryType="ReplacementProductStruct" length="5" writable="false" isNullable="false" optional="true">ReplacementProductList</attribute>
<!-- Commands -->
<command source="client" code="0x00" name="ResetCondition" optional="true">
@@ -251,6 +261,7 @@
<attribute side="server" code="0x0002" define="CHANGE_INDICATION" type="ChangeIndicationEnum" min="0" max="2" writable="false" isNullable="false" default="0" optional="false">ChangeIndication</attribute>
<attribute side="server" code="0x0003" define="IN_PLACE_INDICATOR" type="boolean" writable="false" isNullable="false" optional="true">InPlaceIndicator</attribute>
<attribute side="server" code="0x0004" define="LAST_CHANGED_TIME" type="epoch_s" writable="true" isNullable="true" optional="true">LastChangedTime</attribute>
+ <attribute side="server" code="0x0005" define="REPLACEMENT_PRODUCT_LIST" type="ARRAY" entryType="ReplacementProductStruct" length="5" writable="false" isNullable="false" optional="true">ReplacementProductList</attribute>
<!-- Commands -->
<command source="client" code="0x00" name="ResetCondition" optional="true">
@@ -273,6 +284,7 @@
<attribute side="server" code="0x0002" define="CHANGE_INDICATION" type="ChangeIndicationEnum" min="0" max="2" writable="false" isNullable="false" default="0" optional="false">ChangeIndication</attribute>
<attribute side="server" code="0x0003" define="IN_PLACE_INDICATOR" type="boolean" writable="false" isNullable="false" optional="true">InPlaceIndicator</attribute>
<attribute side="server" code="0x0004" define="LAST_CHANGED_TIME" type="epoch_s" writable="true" isNullable="true" optional="true">LastChangedTime</attribute>
+ <attribute side="server" code="0x0005" define="REPLACEMENT_PRODUCT_LIST" type="ARRAY" entryType="ReplacementProductStruct" length="5" writable="false" isNullable="false" optional="true">ReplacementProductList</attribute>
<!-- Commands -->
<command source="client" code="0x00" name="ResetCondition" optional="true">
@@ -333,4 +345,102 @@
<item value="1" name="Warning" />
<item value="2" name="Critical" />
</enum>
+
+ <enum name="ProductIdentifierTypeEnum" type="ENUM8">
+ <cluster code="0x0071" />
+ <cluster code="0x0072" />
+ <cluster code="0x0073" />
+ <cluster code="0x0074" />
+ <cluster code="0x0075" />
+ <cluster code="0x0076" />
+ <cluster code="0x0077" />
+ <cluster code="0x0078" />
+ <cluster code="0x0079" />
+ <cluster code="0x007A" />
+ <cluster code="0x007B" />
+ <cluster code="0x007C" />
+ <item value="0" name="UPC" />
+ <item value="1" name="GTIN-8" />
+ <item value="2" name="EAN" />
+ <item value="3" name="GTIN-14" />
+ <item value="4" name="OEM" />
+ </enum>
+
+ <!-- Unfortunately due to the way these aliased clusters are generated, we need to declare separate
+ ReplacementProductStructs for each cluster. This is because they refer to the ProductIdentifierTypeEnum
+ which is scoped to each implementation. Duplicate this struct definition for now until we can
+ create either a global enum that these can refer to, or create an alternative
+ solution that can help us better address shared structs for aliased clusters. -->
+ <struct name="ReplacementProductStruct">
+ <cluster code="0x0071" />
+ <item name="ProductIdentifierType" type="ProductIdentifierTypeEnum" optional="false"/>
+ <item name="ProductIdentifierValue" type="CHAR_STRING" length="20" optional="false"/>
+ </struct>
+
+ <struct name="ReplacementProductStruct">
+ <cluster code="0x0072" />
+ <item name="ProductIdentifierType" type="ProductIdentifierTypeEnum" optional="false"/>
+ <item name="ProductIdentifierValue" type="CHAR_STRING" length="20" optional="false"/>
+ </struct>
+
+ <struct name="ReplacementProductStruct">
+ <cluster code="0x0073" />
+ <item name="ProductIdentifierType" type="ProductIdentifierTypeEnum" optional="false"/>
+ <item name="ProductIdentifierValue" type="CHAR_STRING" length="20" optional="false"/>
+ </struct>
+
+ <struct name="ReplacementProductStruct">
+ <cluster code="0x0074" />
+ <item name="ProductIdentifierType" type="ProductIdentifierTypeEnum" optional="false"/>
+ <item name="ProductIdentifierValue" type="CHAR_STRING" length="20" optional="false"/>
+ </struct>
+
+ <struct name="ReplacementProductStruct">
+ <cluster code="0x0075" />
+ <item name="ProductIdentifierType" type="ProductIdentifierTypeEnum" optional="false"/>
+ <item name="ProductIdentifierValue" type="CHAR_STRING" length="20" optional="false"/>
+ </struct>
+
+ <struct name="ReplacementProductStruct">
+ <cluster code="0x0076" />
+ <item name="ProductIdentifierType" type="ProductIdentifierTypeEnum" optional="false"/>
+ <item name="ProductIdentifierValue" type="CHAR_STRING" length="20" optional="false"/>
+ </struct>
+
+ <struct name="ReplacementProductStruct">
+ <cluster code="0x0077" />
+ <item name="ProductIdentifierType" type="ProductIdentifierTypeEnum" optional="false"/>
+ <item name="ProductIdentifierValue" type="CHAR_STRING" length="20" optional="false"/>
+ </struct>
+
+ <struct name="ReplacementProductStruct">
+ <cluster code="0x0078" />
+ <item name="ProductIdentifierType" type="ProductIdentifierTypeEnum" optional="false"/>
+ <item name="ProductIdentifierValue" type="CHAR_STRING" length="20" optional="false"/>
+ </struct>
+
+ <struct name="ReplacementProductStruct">
+ <cluster code="0x0079" />
+ <item name="ProductIdentifierType" type="ProductIdentifierTypeEnum" optional="false"/>
+ <item name="ProductIdentifierValue" type="CHAR_STRING" length="20" optional="false"/>
+ </struct>
+
+ <struct name="ReplacementProductStruct">
+ <cluster code="0x007A" />
+ <item name="ProductIdentifierType" type="ProductIdentifierTypeEnum" optional="false"/>
+ <item name="ProductIdentifierValue" type="CHAR_STRING" length="20" optional="false"/>
+ </struct>
+
+ <struct name="ReplacementProductStruct">
+ <cluster code="0x007B" />
+ <item name="ProductIdentifierType" type="ProductIdentifierTypeEnum" optional="false"/>
+ <item name="ProductIdentifierValue" type="CHAR_STRING" length="20" optional="false"/>
+ </struct>
+
+ <struct name="ReplacementProductStruct">
+ <cluster code="0x007C" />
+ <item name="ProductIdentifierType" type="ProductIdentifierTypeEnum" optional="false"/>
+ <item name="ProductIdentifierValue" type="CHAR_STRING" length="20" optional="false"/>
+ </struct>
+
</configurator>
diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter
index 94a3930..5ba5df6 100644
--- a/src/controller/data_model/controller-clusters.matter
+++ b/src/controller/data_model/controller-clusters.matter
@@ -3452,16 +3452,30 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute optional percent condition = 0;
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 optional ReplacementProductStruct replacementProductList[] = 5;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3486,16 +3500,30 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute optional percent condition = 0;
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 optional ReplacementProductStruct replacementProductList[] = 5;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3520,16 +3548,30 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute percent condition = 0;
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 optional ReplacementProductStruct replacementProductList[] = 5;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3554,16 +3596,30 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute optional percent condition = 0;
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 optional ReplacementProductStruct replacementProductList[] = 5;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3588,16 +3644,30 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute optional percent condition = 0;
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 optional ReplacementProductStruct replacementProductList[] = 5;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3622,16 +3692,30 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute optional percent condition = 0;
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 optional ReplacementProductStruct replacementProductList[] = 5;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3656,16 +3740,30 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute optional percent condition = 0;
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 optional ReplacementProductStruct replacementProductList[] = 5;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3690,16 +3788,30 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute optional percent condition = 0;
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 optional ReplacementProductStruct replacementProductList[] = 5;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3724,16 +3836,30 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute optional percent condition = 0;
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 optional ReplacementProductStruct replacementProductList[] = 5;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3758,16 +3884,30 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute optional percent condition = 0;
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 optional ReplacementProductStruct replacementProductList[] = 5;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3792,16 +3932,30 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute optional percent condition = 0;
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 optional ReplacementProductStruct replacementProductList[] = 5;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -3826,16 +3980,30 @@
kDown = 1;
}
+ enum ProductIdentifierTypeEnum : ENUM8 {
+ kUPC = 0;
+ kGTIN8 = 1;
+ kEAN = 2;
+ kGTIN14 = 3;
+ kOEM = 4;
+ }
+
bitmap Feature : BITMAP32 {
kCondition = 0x1;
kWarning = 0x2;
}
+ struct ReplacementProductStruct {
+ ProductIdentifierTypeEnum productIdentifierType = 0;
+ char_string<20> productIdentifierValue = 1;
+ }
+
readonly attribute optional percent condition = 0;
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 optional ReplacementProductStruct replacementProductList[] = 5;
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 afa67c3..152df21 100644
--- a/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java
+++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java
@@ -7866,6 +7866,7 @@
ChangeIndication(2L),
InPlaceIndicator(3L),
LastChangedTime(4L),
+ ReplacementProductList(5L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -7972,6 +7973,7 @@
ChangeIndication(2L),
InPlaceIndicator(3L),
LastChangedTime(4L),
+ ReplacementProductList(5L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -8078,6 +8080,7 @@
ChangeIndication(2L),
InPlaceIndicator(3L),
LastChangedTime(4L),
+ ReplacementProductList(5L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -8184,6 +8187,7 @@
ChangeIndication(2L),
InPlaceIndicator(3L),
LastChangedTime(4L),
+ ReplacementProductList(5L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -8290,6 +8294,7 @@
ChangeIndication(2L),
InPlaceIndicator(3L),
LastChangedTime(4L),
+ ReplacementProductList(5L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -8396,6 +8401,7 @@
ChangeIndication(2L),
InPlaceIndicator(3L),
LastChangedTime(4L),
+ ReplacementProductList(5L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -8502,6 +8508,7 @@
ChangeIndication(2L),
InPlaceIndicator(3L),
LastChangedTime(4L),
+ ReplacementProductList(5L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -8608,6 +8615,7 @@
ChangeIndication(2L),
InPlaceIndicator(3L),
LastChangedTime(4L),
+ ReplacementProductList(5L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -8714,6 +8722,7 @@
ChangeIndication(2L),
InPlaceIndicator(3L),
LastChangedTime(4L),
+ ReplacementProductList(5L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -8820,6 +8829,7 @@
ChangeIndication(2L),
InPlaceIndicator(3L),
LastChangedTime(4L),
+ ReplacementProductList(5L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -8926,6 +8936,7 @@
ChangeIndication(2L),
InPlaceIndicator(3L),
LastChangedTime(4L),
+ ReplacementProductList(5L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -9032,6 +9043,7 @@
ChangeIndication(2L),
InPlaceIndicator(3L),
LastChangedTime(4L),
+ ReplacementProductList(5L),
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 adb8c1b..a4e3c74 100644
--- a/src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java
+++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java
@@ -7671,6 +7671,17 @@
readHepaFilterMonitoringLastChangedTimeCommandParams
);
result.put("readLastChangedTimeAttribute", readHepaFilterMonitoringLastChangedTimeAttributeInteractionInfo);
+ Map<String, CommandParameterInfo> readHepaFilterMonitoringReplacementProductListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
+ InteractionInfo readHepaFilterMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.HepaFilterMonitoringCluster) cluster).readReplacementProductListAttribute(
+ (ChipClusters.HepaFilterMonitoringCluster.ReplacementProductListAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedHepaFilterMonitoringClusterReplacementProductListAttributeCallback(),
+ readHepaFilterMonitoringReplacementProductListCommandParams
+ );
+ result.put("readReplacementProductListAttribute", readHepaFilterMonitoringReplacementProductListAttributeInteractionInfo);
Map<String, CommandParameterInfo> readHepaFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
InteractionInfo readHepaFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -7796,6 +7807,17 @@
readActivatedCarbonFilterMonitoringLastChangedTimeCommandParams
);
result.put("readLastChangedTimeAttribute", readActivatedCarbonFilterMonitoringLastChangedTimeAttributeInteractionInfo);
+ Map<String, CommandParameterInfo> readActivatedCarbonFilterMonitoringReplacementProductListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
+ InteractionInfo readActivatedCarbonFilterMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.ActivatedCarbonFilterMonitoringCluster) cluster).readReplacementProductListAttribute(
+ (ChipClusters.ActivatedCarbonFilterMonitoringCluster.ReplacementProductListAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedActivatedCarbonFilterMonitoringClusterReplacementProductListAttributeCallback(),
+ readActivatedCarbonFilterMonitoringReplacementProductListCommandParams
+ );
+ result.put("readReplacementProductListAttribute", readActivatedCarbonFilterMonitoringReplacementProductListAttributeInteractionInfo);
Map<String, CommandParameterInfo> readActivatedCarbonFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
InteractionInfo readActivatedCarbonFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -7921,6 +7943,17 @@
readCeramicFilterMonitoringLastChangedTimeCommandParams
);
result.put("readLastChangedTimeAttribute", readCeramicFilterMonitoringLastChangedTimeAttributeInteractionInfo);
+ Map<String, CommandParameterInfo> readCeramicFilterMonitoringReplacementProductListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
+ InteractionInfo readCeramicFilterMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.CeramicFilterMonitoringCluster) cluster).readReplacementProductListAttribute(
+ (ChipClusters.CeramicFilterMonitoringCluster.ReplacementProductListAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedCeramicFilterMonitoringClusterReplacementProductListAttributeCallback(),
+ readCeramicFilterMonitoringReplacementProductListCommandParams
+ );
+ result.put("readReplacementProductListAttribute", readCeramicFilterMonitoringReplacementProductListAttributeInteractionInfo);
Map<String, CommandParameterInfo> readCeramicFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
InteractionInfo readCeramicFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -8046,6 +8079,17 @@
readElectrostaticFilterMonitoringLastChangedTimeCommandParams
);
result.put("readLastChangedTimeAttribute", readElectrostaticFilterMonitoringLastChangedTimeAttributeInteractionInfo);
+ Map<String, CommandParameterInfo> readElectrostaticFilterMonitoringReplacementProductListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
+ InteractionInfo readElectrostaticFilterMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.ElectrostaticFilterMonitoringCluster) cluster).readReplacementProductListAttribute(
+ (ChipClusters.ElectrostaticFilterMonitoringCluster.ReplacementProductListAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedElectrostaticFilterMonitoringClusterReplacementProductListAttributeCallback(),
+ readElectrostaticFilterMonitoringReplacementProductListCommandParams
+ );
+ result.put("readReplacementProductListAttribute", readElectrostaticFilterMonitoringReplacementProductListAttributeInteractionInfo);
Map<String, CommandParameterInfo> readElectrostaticFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
InteractionInfo readElectrostaticFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -8171,6 +8215,17 @@
readUvFilterMonitoringLastChangedTimeCommandParams
);
result.put("readLastChangedTimeAttribute", readUvFilterMonitoringLastChangedTimeAttributeInteractionInfo);
+ Map<String, CommandParameterInfo> readUvFilterMonitoringReplacementProductListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
+ InteractionInfo readUvFilterMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.UvFilterMonitoringCluster) cluster).readReplacementProductListAttribute(
+ (ChipClusters.UvFilterMonitoringCluster.ReplacementProductListAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedUvFilterMonitoringClusterReplacementProductListAttributeCallback(),
+ readUvFilterMonitoringReplacementProductListCommandParams
+ );
+ result.put("readReplacementProductListAttribute", readUvFilterMonitoringReplacementProductListAttributeInteractionInfo);
Map<String, CommandParameterInfo> readUvFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
InteractionInfo readUvFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -8296,6 +8351,17 @@
readIonizingFilterMonitoringLastChangedTimeCommandParams
);
result.put("readLastChangedTimeAttribute", readIonizingFilterMonitoringLastChangedTimeAttributeInteractionInfo);
+ Map<String, CommandParameterInfo> readIonizingFilterMonitoringReplacementProductListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
+ InteractionInfo readIonizingFilterMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.IonizingFilterMonitoringCluster) cluster).readReplacementProductListAttribute(
+ (ChipClusters.IonizingFilterMonitoringCluster.ReplacementProductListAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedIonizingFilterMonitoringClusterReplacementProductListAttributeCallback(),
+ readIonizingFilterMonitoringReplacementProductListCommandParams
+ );
+ result.put("readReplacementProductListAttribute", readIonizingFilterMonitoringReplacementProductListAttributeInteractionInfo);
Map<String, CommandParameterInfo> readIonizingFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
InteractionInfo readIonizingFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -8421,6 +8487,17 @@
readZeoliteFilterMonitoringLastChangedTimeCommandParams
);
result.put("readLastChangedTimeAttribute", readZeoliteFilterMonitoringLastChangedTimeAttributeInteractionInfo);
+ Map<String, CommandParameterInfo> readZeoliteFilterMonitoringReplacementProductListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
+ InteractionInfo readZeoliteFilterMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.ZeoliteFilterMonitoringCluster) cluster).readReplacementProductListAttribute(
+ (ChipClusters.ZeoliteFilterMonitoringCluster.ReplacementProductListAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedZeoliteFilterMonitoringClusterReplacementProductListAttributeCallback(),
+ readZeoliteFilterMonitoringReplacementProductListCommandParams
+ );
+ result.put("readReplacementProductListAttribute", readZeoliteFilterMonitoringReplacementProductListAttributeInteractionInfo);
Map<String, CommandParameterInfo> readZeoliteFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
InteractionInfo readZeoliteFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -8546,6 +8623,17 @@
readOzoneFilterMonitoringLastChangedTimeCommandParams
);
result.put("readLastChangedTimeAttribute", readOzoneFilterMonitoringLastChangedTimeAttributeInteractionInfo);
+ Map<String, CommandParameterInfo> readOzoneFilterMonitoringReplacementProductListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
+ InteractionInfo readOzoneFilterMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.OzoneFilterMonitoringCluster) cluster).readReplacementProductListAttribute(
+ (ChipClusters.OzoneFilterMonitoringCluster.ReplacementProductListAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedOzoneFilterMonitoringClusterReplacementProductListAttributeCallback(),
+ readOzoneFilterMonitoringReplacementProductListCommandParams
+ );
+ result.put("readReplacementProductListAttribute", readOzoneFilterMonitoringReplacementProductListAttributeInteractionInfo);
Map<String, CommandParameterInfo> readOzoneFilterMonitoringGeneratedCommandListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
InteractionInfo readOzoneFilterMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -8671,6 +8759,17 @@
readWaterTankMonitoringLastChangedTimeCommandParams
);
result.put("readLastChangedTimeAttribute", readWaterTankMonitoringLastChangedTimeAttributeInteractionInfo);
+ Map<String, CommandParameterInfo> readWaterTankMonitoringReplacementProductListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
+ InteractionInfo readWaterTankMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.WaterTankMonitoringCluster) cluster).readReplacementProductListAttribute(
+ (ChipClusters.WaterTankMonitoringCluster.ReplacementProductListAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedWaterTankMonitoringClusterReplacementProductListAttributeCallback(),
+ readWaterTankMonitoringReplacementProductListCommandParams
+ );
+ result.put("readReplacementProductListAttribute", readWaterTankMonitoringReplacementProductListAttributeInteractionInfo);
Map<String, CommandParameterInfo> readWaterTankMonitoringGeneratedCommandListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
InteractionInfo readWaterTankMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -8796,6 +8895,17 @@
readFuelTankMonitoringLastChangedTimeCommandParams
);
result.put("readLastChangedTimeAttribute", readFuelTankMonitoringLastChangedTimeAttributeInteractionInfo);
+ Map<String, CommandParameterInfo> readFuelTankMonitoringReplacementProductListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
+ InteractionInfo readFuelTankMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.FuelTankMonitoringCluster) cluster).readReplacementProductListAttribute(
+ (ChipClusters.FuelTankMonitoringCluster.ReplacementProductListAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedFuelTankMonitoringClusterReplacementProductListAttributeCallback(),
+ readFuelTankMonitoringReplacementProductListCommandParams
+ );
+ result.put("readReplacementProductListAttribute", readFuelTankMonitoringReplacementProductListAttributeInteractionInfo);
Map<String, CommandParameterInfo> readFuelTankMonitoringGeneratedCommandListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
InteractionInfo readFuelTankMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -8921,6 +9031,17 @@
readInkCartridgeMonitoringLastChangedTimeCommandParams
);
result.put("readLastChangedTimeAttribute", readInkCartridgeMonitoringLastChangedTimeAttributeInteractionInfo);
+ Map<String, CommandParameterInfo> readInkCartridgeMonitoringReplacementProductListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
+ InteractionInfo readInkCartridgeMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.InkCartridgeMonitoringCluster) cluster).readReplacementProductListAttribute(
+ (ChipClusters.InkCartridgeMonitoringCluster.ReplacementProductListAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedInkCartridgeMonitoringClusterReplacementProductListAttributeCallback(),
+ readInkCartridgeMonitoringReplacementProductListCommandParams
+ );
+ result.put("readReplacementProductListAttribute", readInkCartridgeMonitoringReplacementProductListAttributeInteractionInfo);
Map<String, CommandParameterInfo> readInkCartridgeMonitoringGeneratedCommandListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
InteractionInfo readInkCartridgeMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -9046,6 +9167,17 @@
readTonerCartridgeMonitoringLastChangedTimeCommandParams
);
result.put("readLastChangedTimeAttribute", readTonerCartridgeMonitoringLastChangedTimeAttributeInteractionInfo);
+ Map<String, CommandParameterInfo> readTonerCartridgeMonitoringReplacementProductListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
+ InteractionInfo readTonerCartridgeMonitoringReplacementProductListAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.TonerCartridgeMonitoringCluster) cluster).readReplacementProductListAttribute(
+ (ChipClusters.TonerCartridgeMonitoringCluster.ReplacementProductListAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedTonerCartridgeMonitoringClusterReplacementProductListAttributeCallback(),
+ readTonerCartridgeMonitoringReplacementProductListCommandParams
+ );
+ result.put("readReplacementProductListAttribute", readTonerCartridgeMonitoringReplacementProductListAttributeInteractionInfo);
Map<String, CommandParameterInfo> readTonerCartridgeMonitoringGeneratedCommandListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
InteractionInfo readTonerCartridgeMonitoringGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
diff --git a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
index dad2a4e..f181368 100644
--- a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
+++ b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
@@ -15830,6 +15830,55 @@
}
return value;
}
+ case Attributes::ReplacementProductList::Id: {
+ using TypeInfo = Attributes::ReplacementProductList::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ chip::JniReferences::GetInstance().CreateArrayList(value);
+
+ auto iter_value_0 = cppValue.begin();
+ while (iter_value_0.Next())
+ {
+ auto & entry_0 = iter_value_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$HepaFilterMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$HepaFilterMonitoringClusterReplacementProductStruct");
+ return nullptr;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl, "Could not find ChipStructs$HepaFilterMonitoringClusterReplacementProductStruct constructor");
+ return nullptr;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(value, newElement_0);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -16048,6 +16097,58 @@
}
return value;
}
+ case Attributes::ReplacementProductList::Id: {
+ using TypeInfo = Attributes::ReplacementProductList::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ chip::JniReferences::GetInstance().CreateArrayList(value);
+
+ auto iter_value_0 = cppValue.begin();
+ while (iter_value_0.Next())
+ {
+ auto & entry_0 = iter_value_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$ActivatedCarbonFilterMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl,
+ "Could not find class ChipStructs$ActivatedCarbonFilterMonitoringClusterReplacementProductStruct");
+ return nullptr;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(
+ Zcl,
+ "Could not find ChipStructs$ActivatedCarbonFilterMonitoringClusterReplacementProductStruct constructor");
+ return nullptr;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(value, newElement_0);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -16266,6 +16367,56 @@
}
return value;
}
+ case Attributes::ReplacementProductList::Id: {
+ using TypeInfo = Attributes::ReplacementProductList::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ chip::JniReferences::GetInstance().CreateArrayList(value);
+
+ auto iter_value_0 = cppValue.begin();
+ while (iter_value_0.Next())
+ {
+ auto & entry_0 = iter_value_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$CeramicFilterMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$CeramicFilterMonitoringClusterReplacementProductStruct");
+ return nullptr;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl,
+ "Could not find ChipStructs$CeramicFilterMonitoringClusterReplacementProductStruct constructor");
+ return nullptr;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(value, newElement_0);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -16484,6 +16635,57 @@
}
return value;
}
+ case Attributes::ReplacementProductList::Id: {
+ using TypeInfo = Attributes::ReplacementProductList::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ chip::JniReferences::GetInstance().CreateArrayList(value);
+
+ auto iter_value_0 = cppValue.begin();
+ while (iter_value_0.Next())
+ {
+ auto & entry_0 = iter_value_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$ElectrostaticFilterMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl,
+ "Could not find class ChipStructs$ElectrostaticFilterMonitoringClusterReplacementProductStruct");
+ return nullptr;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(
+ Zcl, "Could not find ChipStructs$ElectrostaticFilterMonitoringClusterReplacementProductStruct constructor");
+ return nullptr;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(value, newElement_0);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -16702,6 +16904,55 @@
}
return value;
}
+ case Attributes::ReplacementProductList::Id: {
+ using TypeInfo = Attributes::ReplacementProductList::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ chip::JniReferences::GetInstance().CreateArrayList(value);
+
+ auto iter_value_0 = cppValue.begin();
+ while (iter_value_0.Next())
+ {
+ auto & entry_0 = iter_value_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$UvFilterMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$UvFilterMonitoringClusterReplacementProductStruct");
+ return nullptr;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl, "Could not find ChipStructs$UvFilterMonitoringClusterReplacementProductStruct constructor");
+ return nullptr;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(value, newElement_0);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -16920,6 +17171,56 @@
}
return value;
}
+ case Attributes::ReplacementProductList::Id: {
+ using TypeInfo = Attributes::ReplacementProductList::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ chip::JniReferences::GetInstance().CreateArrayList(value);
+
+ auto iter_value_0 = cppValue.begin();
+ while (iter_value_0.Next())
+ {
+ auto & entry_0 = iter_value_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$IonizingFilterMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$IonizingFilterMonitoringClusterReplacementProductStruct");
+ return nullptr;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl,
+ "Could not find ChipStructs$IonizingFilterMonitoringClusterReplacementProductStruct constructor");
+ return nullptr;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(value, newElement_0);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -17138,6 +17439,56 @@
}
return value;
}
+ case Attributes::ReplacementProductList::Id: {
+ using TypeInfo = Attributes::ReplacementProductList::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ chip::JniReferences::GetInstance().CreateArrayList(value);
+
+ auto iter_value_0 = cppValue.begin();
+ while (iter_value_0.Next())
+ {
+ auto & entry_0 = iter_value_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$ZeoliteFilterMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$ZeoliteFilterMonitoringClusterReplacementProductStruct");
+ return nullptr;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl,
+ "Could not find ChipStructs$ZeoliteFilterMonitoringClusterReplacementProductStruct constructor");
+ return nullptr;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(value, newElement_0);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -17356,6 +17707,56 @@
}
return value;
}
+ case Attributes::ReplacementProductList::Id: {
+ using TypeInfo = Attributes::ReplacementProductList::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ chip::JniReferences::GetInstance().CreateArrayList(value);
+
+ auto iter_value_0 = cppValue.begin();
+ while (iter_value_0.Next())
+ {
+ auto & entry_0 = iter_value_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$OzoneFilterMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$OzoneFilterMonitoringClusterReplacementProductStruct");
+ return nullptr;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl,
+ "Could not find ChipStructs$OzoneFilterMonitoringClusterReplacementProductStruct constructor");
+ return nullptr;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(value, newElement_0);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -17574,6 +17975,55 @@
}
return value;
}
+ case Attributes::ReplacementProductList::Id: {
+ using TypeInfo = Attributes::ReplacementProductList::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ chip::JniReferences::GetInstance().CreateArrayList(value);
+
+ auto iter_value_0 = cppValue.begin();
+ while (iter_value_0.Next())
+ {
+ auto & entry_0 = iter_value_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$WaterTankMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$WaterTankMonitoringClusterReplacementProductStruct");
+ return nullptr;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl, "Could not find ChipStructs$WaterTankMonitoringClusterReplacementProductStruct constructor");
+ return nullptr;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(value, newElement_0);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -17792,6 +18242,55 @@
}
return value;
}
+ case Attributes::ReplacementProductList::Id: {
+ using TypeInfo = Attributes::ReplacementProductList::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ chip::JniReferences::GetInstance().CreateArrayList(value);
+
+ auto iter_value_0 = cppValue.begin();
+ while (iter_value_0.Next())
+ {
+ auto & entry_0 = iter_value_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$FuelTankMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$FuelTankMonitoringClusterReplacementProductStruct");
+ return nullptr;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl, "Could not find ChipStructs$FuelTankMonitoringClusterReplacementProductStruct constructor");
+ return nullptr;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(value, newElement_0);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -18010,6 +18509,56 @@
}
return value;
}
+ case Attributes::ReplacementProductList::Id: {
+ using TypeInfo = Attributes::ReplacementProductList::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ chip::JniReferences::GetInstance().CreateArrayList(value);
+
+ auto iter_value_0 = cppValue.begin();
+ while (iter_value_0.Next())
+ {
+ auto & entry_0 = iter_value_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$InkCartridgeMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$InkCartridgeMonitoringClusterReplacementProductStruct");
+ return nullptr;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl,
+ "Could not find ChipStructs$InkCartridgeMonitoringClusterReplacementProductStruct constructor");
+ return nullptr;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(value, newElement_0);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
@@ -18228,6 +18777,56 @@
}
return value;
}
+ case Attributes::ReplacementProductList::Id: {
+ using TypeInfo = Attributes::ReplacementProductList::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ chip::JniReferences::GetInstance().CreateArrayList(value);
+
+ auto iter_value_0 = cppValue.begin();
+ while (iter_value_0.Next())
+ {
+ auto & entry_0 = iter_value_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$TonerCartridgeMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$TonerCartridgeMonitoringClusterReplacementProductStruct");
+ return nullptr;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl,
+ "Could not find ChipStructs$TonerCartridgeMonitoringClusterReplacementProductStruct constructor");
+ return nullptr;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(value, newElement_0);
+ }
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
diff --git a/src/controller/java/zap-generated/CHIPClientCallbacks.h b/src/controller/java/zap-generated/CHIPClientCallbacks.h
index 07f71ec..e0cbc95 100644
--- a/src/controller/java/zap-generated/CHIPClientCallbacks.h
+++ b/src/controller/java/zap-generated/CHIPClientCallbacks.h
@@ -616,6 +616,10 @@
const chip::app::DataModel::DecodableList<chip::EventId> & data);
typedef void (*RvcOperationalStateAttributeListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::AttributeId> & data);
+typedef void (*HepaFilterMonitoringReplacementProductListListAttributeCallback)(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & data);
typedef void (*HepaFilterMonitoringGeneratedCommandListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::CommandId> & data);
typedef void (*HepaFilterMonitoringAcceptedCommandListListAttributeCallback)(
@@ -624,6 +628,10 @@
const chip::app::DataModel::DecodableList<chip::EventId> & data);
typedef void (*HepaFilterMonitoringAttributeListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::AttributeId> & data);
+typedef void (*ActivatedCarbonFilterMonitoringReplacementProductListListAttributeCallback)(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & data);
typedef void (*ActivatedCarbonFilterMonitoringGeneratedCommandListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::CommandId> & data);
typedef void (*ActivatedCarbonFilterMonitoringAcceptedCommandListListAttributeCallback)(
@@ -632,6 +640,10 @@
void * context, const chip::app::DataModel::DecodableList<chip::EventId> & data);
typedef void (*ActivatedCarbonFilterMonitoringAttributeListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::AttributeId> & data);
+typedef void (*CeramicFilterMonitoringReplacementProductListListAttributeCallback)(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & data);
typedef void (*CeramicFilterMonitoringGeneratedCommandListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::CommandId> & data);
typedef void (*CeramicFilterMonitoringAcceptedCommandListListAttributeCallback)(
@@ -640,6 +652,10 @@
void * context, const chip::app::DataModel::DecodableList<chip::EventId> & data);
typedef void (*CeramicFilterMonitoringAttributeListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::AttributeId> & data);
+typedef void (*ElectrostaticFilterMonitoringReplacementProductListListAttributeCallback)(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & data);
typedef void (*ElectrostaticFilterMonitoringGeneratedCommandListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::CommandId> & data);
typedef void (*ElectrostaticFilterMonitoringAcceptedCommandListListAttributeCallback)(
@@ -648,6 +664,10 @@
void * context, const chip::app::DataModel::DecodableList<chip::EventId> & data);
typedef void (*ElectrostaticFilterMonitoringAttributeListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::AttributeId> & data);
+typedef void (*UvFilterMonitoringReplacementProductListListAttributeCallback)(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & data);
typedef void (*UvFilterMonitoringGeneratedCommandListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::CommandId> & data);
typedef void (*UvFilterMonitoringAcceptedCommandListListAttributeCallback)(
@@ -656,6 +676,10 @@
const chip::app::DataModel::DecodableList<chip::EventId> & data);
typedef void (*UvFilterMonitoringAttributeListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::AttributeId> & data);
+typedef void (*IonizingFilterMonitoringReplacementProductListListAttributeCallback)(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & data);
typedef void (*IonizingFilterMonitoringGeneratedCommandListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::CommandId> & data);
typedef void (*IonizingFilterMonitoringAcceptedCommandListListAttributeCallback)(
@@ -664,6 +688,10 @@
void * context, const chip::app::DataModel::DecodableList<chip::EventId> & data);
typedef void (*IonizingFilterMonitoringAttributeListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::AttributeId> & data);
+typedef void (*ZeoliteFilterMonitoringReplacementProductListListAttributeCallback)(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & data);
typedef void (*ZeoliteFilterMonitoringGeneratedCommandListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::CommandId> & data);
typedef void (*ZeoliteFilterMonitoringAcceptedCommandListListAttributeCallback)(
@@ -672,6 +700,10 @@
void * context, const chip::app::DataModel::DecodableList<chip::EventId> & data);
typedef void (*ZeoliteFilterMonitoringAttributeListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::AttributeId> & data);
+typedef void (*OzoneFilterMonitoringReplacementProductListListAttributeCallback)(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & data);
typedef void (*OzoneFilterMonitoringGeneratedCommandListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::CommandId> & data);
typedef void (*OzoneFilterMonitoringAcceptedCommandListListAttributeCallback)(
@@ -680,6 +712,10 @@
void * context, const chip::app::DataModel::DecodableList<chip::EventId> & data);
typedef void (*OzoneFilterMonitoringAttributeListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::AttributeId> & data);
+typedef void (*WaterTankMonitoringReplacementProductListListAttributeCallback)(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::DecodableType> & data);
typedef void (*WaterTankMonitoringGeneratedCommandListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::CommandId> & data);
typedef void (*WaterTankMonitoringAcceptedCommandListListAttributeCallback)(
@@ -688,6 +724,10 @@
const chip::app::DataModel::DecodableList<chip::EventId> & data);
typedef void (*WaterTankMonitoringAttributeListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::AttributeId> & data);
+typedef void (*FuelTankMonitoringReplacementProductListListAttributeCallback)(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::DecodableType> & data);
typedef void (*FuelTankMonitoringGeneratedCommandListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::CommandId> & data);
typedef void (*FuelTankMonitoringAcceptedCommandListListAttributeCallback)(
@@ -696,6 +736,10 @@
const chip::app::DataModel::DecodableList<chip::EventId> & data);
typedef void (*FuelTankMonitoringAttributeListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::AttributeId> & data);
+typedef void (*InkCartridgeMonitoringReplacementProductListListAttributeCallback)(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType> & data);
typedef void (*InkCartridgeMonitoringGeneratedCommandListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::CommandId> & data);
typedef void (*InkCartridgeMonitoringAcceptedCommandListListAttributeCallback)(
@@ -704,6 +748,10 @@
void * context, const chip::app::DataModel::DecodableList<chip::EventId> & data);
typedef void (*InkCartridgeMonitoringAttributeListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::AttributeId> & data);
+typedef void (*TonerCartridgeMonitoringReplacementProductListListAttributeCallback)(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType> & data);
typedef void (*TonerCartridgeMonitoringGeneratedCommandListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList<chip::CommandId> & data);
typedef void (*TonerCartridgeMonitoringAcceptedCommandListListAttributeCallback)(
diff --git a/src/controller/java/zap-generated/CHIPReadCallbacks.cpp b/src/controller/java/zap-generated/CHIPReadCallbacks.cpp
index bf73f47..9bdd599 100644
--- a/src/controller/java/zap-generated/CHIPReadCallbacks.cpp
+++ b/src/controller/java/zap-generated/CHIPReadCallbacks.cpp
@@ -25644,6 +25644,104 @@
env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue);
}
+CHIPHepaFilterMonitoringReplacementProductListAttributeCallback::CHIPHepaFilterMonitoringReplacementProductListAttributeCallback(
+ jobject javaCallback, bool keepAlive) :
+ chip::Callback::Callback<CHIPHepaFilterMonitoringClusterReplacementProductListAttributeCallbackType>(CallbackFn, this),
+ keepAlive(keepAlive)
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ return;
+ }
+
+ javaCallbackRef = env->NewGlobalRef(javaCallback);
+ if (javaCallbackRef == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ }
+}
+
+CHIPHepaFilterMonitoringReplacementProductListAttributeCallback::~CHIPHepaFilterMonitoringReplacementProductListAttributeCallback()
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not delete global reference for Java callback");
+ return;
+ }
+ env->DeleteGlobalRef(javaCallbackRef);
+}
+
+void CHIPHepaFilterMonitoringReplacementProductListAttributeCallback::CallbackFn(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & list)
+{
+ chip::DeviceLayer::StackUnlock unlock;
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ jobject javaCallbackRef;
+
+ VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env"));
+
+ std::unique_ptr<CHIPHepaFilterMonitoringReplacementProductListAttributeCallback, decltype(&maybeDestroy)> cppCallback(
+ reinterpret_cast<CHIPHepaFilterMonitoringReplacementProductListAttributeCallback *>(context), maybeDestroy);
+
+ // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback.
+ javaCallbackRef = cppCallback.get()->javaCallbackRef;
+ VerifyOrReturn(javaCallbackRef != nullptr,
+ ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null"));
+
+ jmethodID javaMethod;
+ err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod);
+ VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method"));
+
+ jobject arrayListObj;
+ chip::JniReferences::GetInstance().CreateArrayList(arrayListObj);
+
+ auto iter_arrayListObj_0 = list.begin();
+ while (iter_arrayListObj_0.Next())
+ {
+ auto & entry_0 = iter_arrayListObj_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$HepaFilterMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$HepaFilterMonitoringClusterReplacementProductStruct");
+ return;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl, "Could not find ChipStructs$HepaFilterMonitoringClusterReplacementProductStruct constructor");
+ return;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0);
+ }
+
+ env->ExceptionClear();
+ env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj);
+}
+
CHIPHepaFilterMonitoringGeneratedCommandListAttributeCallback::CHIPHepaFilterMonitoringGeneratedCommandListAttributeCallback(
jobject javaCallback, bool keepAlive) :
chip::Callback::Callback<CHIPHepaFilterMonitoringClusterGeneratedCommandListAttributeCallbackType>(CallbackFn, this),
@@ -25996,6 +26094,108 @@
env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue);
}
+CHIPActivatedCarbonFilterMonitoringReplacementProductListAttributeCallback::
+ CHIPActivatedCarbonFilterMonitoringReplacementProductListAttributeCallback(jobject javaCallback, bool keepAlive) :
+ chip::Callback::Callback<CHIPActivatedCarbonFilterMonitoringClusterReplacementProductListAttributeCallbackType>(CallbackFn,
+ this),
+ keepAlive(keepAlive)
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ return;
+ }
+
+ javaCallbackRef = env->NewGlobalRef(javaCallback);
+ if (javaCallbackRef == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ }
+}
+
+CHIPActivatedCarbonFilterMonitoringReplacementProductListAttributeCallback::
+ ~CHIPActivatedCarbonFilterMonitoringReplacementProductListAttributeCallback()
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not delete global reference for Java callback");
+ return;
+ }
+ env->DeleteGlobalRef(javaCallbackRef);
+}
+
+void CHIPActivatedCarbonFilterMonitoringReplacementProductListAttributeCallback::CallbackFn(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & list)
+{
+ chip::DeviceLayer::StackUnlock unlock;
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ jobject javaCallbackRef;
+
+ VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env"));
+
+ std::unique_ptr<CHIPActivatedCarbonFilterMonitoringReplacementProductListAttributeCallback, decltype(&maybeDestroy)>
+ cppCallback(reinterpret_cast<CHIPActivatedCarbonFilterMonitoringReplacementProductListAttributeCallback *>(context),
+ maybeDestroy);
+
+ // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback.
+ javaCallbackRef = cppCallback.get()->javaCallbackRef;
+ VerifyOrReturn(javaCallbackRef != nullptr,
+ ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null"));
+
+ jmethodID javaMethod;
+ err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod);
+ VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method"));
+
+ jobject arrayListObj;
+ chip::JniReferences::GetInstance().CreateArrayList(arrayListObj);
+
+ auto iter_arrayListObj_0 = list.begin();
+ while (iter_arrayListObj_0.Next())
+ {
+ auto & entry_0 = iter_arrayListObj_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$ActivatedCarbonFilterMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$ActivatedCarbonFilterMonitoringClusterReplacementProductStruct");
+ return;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl,
+ "Could not find ChipStructs$ActivatedCarbonFilterMonitoringClusterReplacementProductStruct constructor");
+ return;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0);
+ }
+
+ env->ExceptionClear();
+ env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj);
+}
+
CHIPActivatedCarbonFilterMonitoringGeneratedCommandListAttributeCallback::
CHIPActivatedCarbonFilterMonitoringGeneratedCommandListAttributeCallback(jobject javaCallback, bool keepAlive) :
chip::Callback::Callback<CHIPActivatedCarbonFilterMonitoringClusterGeneratedCommandListAttributeCallbackType>(CallbackFn, this),
@@ -26350,6 +26550,105 @@
env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue);
}
+CHIPCeramicFilterMonitoringReplacementProductListAttributeCallback::
+ CHIPCeramicFilterMonitoringReplacementProductListAttributeCallback(jobject javaCallback, bool keepAlive) :
+ chip::Callback::Callback<CHIPCeramicFilterMonitoringClusterReplacementProductListAttributeCallbackType>(CallbackFn, this),
+ keepAlive(keepAlive)
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ return;
+ }
+
+ javaCallbackRef = env->NewGlobalRef(javaCallback);
+ if (javaCallbackRef == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ }
+}
+
+CHIPCeramicFilterMonitoringReplacementProductListAttributeCallback::
+ ~CHIPCeramicFilterMonitoringReplacementProductListAttributeCallback()
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not delete global reference for Java callback");
+ return;
+ }
+ env->DeleteGlobalRef(javaCallbackRef);
+}
+
+void CHIPCeramicFilterMonitoringReplacementProductListAttributeCallback::CallbackFn(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & list)
+{
+ chip::DeviceLayer::StackUnlock unlock;
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ jobject javaCallbackRef;
+
+ VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env"));
+
+ std::unique_ptr<CHIPCeramicFilterMonitoringReplacementProductListAttributeCallback, decltype(&maybeDestroy)> cppCallback(
+ reinterpret_cast<CHIPCeramicFilterMonitoringReplacementProductListAttributeCallback *>(context), maybeDestroy);
+
+ // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback.
+ javaCallbackRef = cppCallback.get()->javaCallbackRef;
+ VerifyOrReturn(javaCallbackRef != nullptr,
+ ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null"));
+
+ jmethodID javaMethod;
+ err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod);
+ VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method"));
+
+ jobject arrayListObj;
+ chip::JniReferences::GetInstance().CreateArrayList(arrayListObj);
+
+ auto iter_arrayListObj_0 = list.begin();
+ while (iter_arrayListObj_0.Next())
+ {
+ auto & entry_0 = iter_arrayListObj_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$CeramicFilterMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$CeramicFilterMonitoringClusterReplacementProductStruct");
+ return;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl, "Could not find ChipStructs$CeramicFilterMonitoringClusterReplacementProductStruct constructor");
+ return;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0);
+ }
+
+ env->ExceptionClear();
+ env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj);
+}
+
CHIPCeramicFilterMonitoringGeneratedCommandListAttributeCallback::CHIPCeramicFilterMonitoringGeneratedCommandListAttributeCallback(
jobject javaCallback, bool keepAlive) :
chip::Callback::Callback<CHIPCeramicFilterMonitoringClusterGeneratedCommandListAttributeCallbackType>(CallbackFn, this),
@@ -26703,6 +27002,106 @@
env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue);
}
+CHIPElectrostaticFilterMonitoringReplacementProductListAttributeCallback::
+ CHIPElectrostaticFilterMonitoringReplacementProductListAttributeCallback(jobject javaCallback, bool keepAlive) :
+ chip::Callback::Callback<CHIPElectrostaticFilterMonitoringClusterReplacementProductListAttributeCallbackType>(CallbackFn, this),
+ keepAlive(keepAlive)
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ return;
+ }
+
+ javaCallbackRef = env->NewGlobalRef(javaCallback);
+ if (javaCallbackRef == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ }
+}
+
+CHIPElectrostaticFilterMonitoringReplacementProductListAttributeCallback::
+ ~CHIPElectrostaticFilterMonitoringReplacementProductListAttributeCallback()
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not delete global reference for Java callback");
+ return;
+ }
+ env->DeleteGlobalRef(javaCallbackRef);
+}
+
+void CHIPElectrostaticFilterMonitoringReplacementProductListAttributeCallback::CallbackFn(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & list)
+{
+ chip::DeviceLayer::StackUnlock unlock;
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ jobject javaCallbackRef;
+
+ VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env"));
+
+ std::unique_ptr<CHIPElectrostaticFilterMonitoringReplacementProductListAttributeCallback, decltype(&maybeDestroy)> cppCallback(
+ reinterpret_cast<CHIPElectrostaticFilterMonitoringReplacementProductListAttributeCallback *>(context), maybeDestroy);
+
+ // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback.
+ javaCallbackRef = cppCallback.get()->javaCallbackRef;
+ VerifyOrReturn(javaCallbackRef != nullptr,
+ ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null"));
+
+ jmethodID javaMethod;
+ err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod);
+ VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method"));
+
+ jobject arrayListObj;
+ chip::JniReferences::GetInstance().CreateArrayList(arrayListObj);
+
+ auto iter_arrayListObj_0 = list.begin();
+ while (iter_arrayListObj_0.Next())
+ {
+ auto & entry_0 = iter_arrayListObj_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$ElectrostaticFilterMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$ElectrostaticFilterMonitoringClusterReplacementProductStruct");
+ return;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl,
+ "Could not find ChipStructs$ElectrostaticFilterMonitoringClusterReplacementProductStruct constructor");
+ return;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0);
+ }
+
+ env->ExceptionClear();
+ env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj);
+}
+
CHIPElectrostaticFilterMonitoringGeneratedCommandListAttributeCallback::
CHIPElectrostaticFilterMonitoringGeneratedCommandListAttributeCallback(jobject javaCallback, bool keepAlive) :
chip::Callback::Callback<CHIPElectrostaticFilterMonitoringClusterGeneratedCommandListAttributeCallbackType>(CallbackFn, this),
@@ -27056,6 +27455,104 @@
env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue);
}
+CHIPUvFilterMonitoringReplacementProductListAttributeCallback::CHIPUvFilterMonitoringReplacementProductListAttributeCallback(
+ jobject javaCallback, bool keepAlive) :
+ chip::Callback::Callback<CHIPUvFilterMonitoringClusterReplacementProductListAttributeCallbackType>(CallbackFn, this),
+ keepAlive(keepAlive)
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ return;
+ }
+
+ javaCallbackRef = env->NewGlobalRef(javaCallback);
+ if (javaCallbackRef == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ }
+}
+
+CHIPUvFilterMonitoringReplacementProductListAttributeCallback::~CHIPUvFilterMonitoringReplacementProductListAttributeCallback()
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not delete global reference for Java callback");
+ return;
+ }
+ env->DeleteGlobalRef(javaCallbackRef);
+}
+
+void CHIPUvFilterMonitoringReplacementProductListAttributeCallback::CallbackFn(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & list)
+{
+ chip::DeviceLayer::StackUnlock unlock;
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ jobject javaCallbackRef;
+
+ VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env"));
+
+ std::unique_ptr<CHIPUvFilterMonitoringReplacementProductListAttributeCallback, decltype(&maybeDestroy)> cppCallback(
+ reinterpret_cast<CHIPUvFilterMonitoringReplacementProductListAttributeCallback *>(context), maybeDestroy);
+
+ // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback.
+ javaCallbackRef = cppCallback.get()->javaCallbackRef;
+ VerifyOrReturn(javaCallbackRef != nullptr,
+ ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null"));
+
+ jmethodID javaMethod;
+ err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod);
+ VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method"));
+
+ jobject arrayListObj;
+ chip::JniReferences::GetInstance().CreateArrayList(arrayListObj);
+
+ auto iter_arrayListObj_0 = list.begin();
+ while (iter_arrayListObj_0.Next())
+ {
+ auto & entry_0 = iter_arrayListObj_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$UvFilterMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$UvFilterMonitoringClusterReplacementProductStruct");
+ return;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl, "Could not find ChipStructs$UvFilterMonitoringClusterReplacementProductStruct constructor");
+ return;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0);
+ }
+
+ env->ExceptionClear();
+ env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj);
+}
+
CHIPUvFilterMonitoringGeneratedCommandListAttributeCallback::CHIPUvFilterMonitoringGeneratedCommandListAttributeCallback(
jobject javaCallback, bool keepAlive) :
chip::Callback::Callback<CHIPUvFilterMonitoringClusterGeneratedCommandListAttributeCallbackType>(CallbackFn, this),
@@ -27407,6 +27904,105 @@
env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue);
}
+CHIPIonizingFilterMonitoringReplacementProductListAttributeCallback::
+ CHIPIonizingFilterMonitoringReplacementProductListAttributeCallback(jobject javaCallback, bool keepAlive) :
+ chip::Callback::Callback<CHIPIonizingFilterMonitoringClusterReplacementProductListAttributeCallbackType>(CallbackFn, this),
+ keepAlive(keepAlive)
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ return;
+ }
+
+ javaCallbackRef = env->NewGlobalRef(javaCallback);
+ if (javaCallbackRef == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ }
+}
+
+CHIPIonizingFilterMonitoringReplacementProductListAttributeCallback::
+ ~CHIPIonizingFilterMonitoringReplacementProductListAttributeCallback()
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not delete global reference for Java callback");
+ return;
+ }
+ env->DeleteGlobalRef(javaCallbackRef);
+}
+
+void CHIPIonizingFilterMonitoringReplacementProductListAttributeCallback::CallbackFn(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & list)
+{
+ chip::DeviceLayer::StackUnlock unlock;
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ jobject javaCallbackRef;
+
+ VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env"));
+
+ std::unique_ptr<CHIPIonizingFilterMonitoringReplacementProductListAttributeCallback, decltype(&maybeDestroy)> cppCallback(
+ reinterpret_cast<CHIPIonizingFilterMonitoringReplacementProductListAttributeCallback *>(context), maybeDestroy);
+
+ // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback.
+ javaCallbackRef = cppCallback.get()->javaCallbackRef;
+ VerifyOrReturn(javaCallbackRef != nullptr,
+ ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null"));
+
+ jmethodID javaMethod;
+ err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod);
+ VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method"));
+
+ jobject arrayListObj;
+ chip::JniReferences::GetInstance().CreateArrayList(arrayListObj);
+
+ auto iter_arrayListObj_0 = list.begin();
+ while (iter_arrayListObj_0.Next())
+ {
+ auto & entry_0 = iter_arrayListObj_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$IonizingFilterMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$IonizingFilterMonitoringClusterReplacementProductStruct");
+ return;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl, "Could not find ChipStructs$IonizingFilterMonitoringClusterReplacementProductStruct constructor");
+ return;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0);
+ }
+
+ env->ExceptionClear();
+ env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj);
+}
+
CHIPIonizingFilterMonitoringGeneratedCommandListAttributeCallback::
CHIPIonizingFilterMonitoringGeneratedCommandListAttributeCallback(jobject javaCallback, bool keepAlive) :
chip::Callback::Callback<CHIPIonizingFilterMonitoringClusterGeneratedCommandListAttributeCallbackType>(CallbackFn, this),
@@ -27760,6 +28356,105 @@
env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue);
}
+CHIPZeoliteFilterMonitoringReplacementProductListAttributeCallback::
+ CHIPZeoliteFilterMonitoringReplacementProductListAttributeCallback(jobject javaCallback, bool keepAlive) :
+ chip::Callback::Callback<CHIPZeoliteFilterMonitoringClusterReplacementProductListAttributeCallbackType>(CallbackFn, this),
+ keepAlive(keepAlive)
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ return;
+ }
+
+ javaCallbackRef = env->NewGlobalRef(javaCallback);
+ if (javaCallbackRef == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ }
+}
+
+CHIPZeoliteFilterMonitoringReplacementProductListAttributeCallback::
+ ~CHIPZeoliteFilterMonitoringReplacementProductListAttributeCallback()
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not delete global reference for Java callback");
+ return;
+ }
+ env->DeleteGlobalRef(javaCallbackRef);
+}
+
+void CHIPZeoliteFilterMonitoringReplacementProductListAttributeCallback::CallbackFn(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & list)
+{
+ chip::DeviceLayer::StackUnlock unlock;
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ jobject javaCallbackRef;
+
+ VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env"));
+
+ std::unique_ptr<CHIPZeoliteFilterMonitoringReplacementProductListAttributeCallback, decltype(&maybeDestroy)> cppCallback(
+ reinterpret_cast<CHIPZeoliteFilterMonitoringReplacementProductListAttributeCallback *>(context), maybeDestroy);
+
+ // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback.
+ javaCallbackRef = cppCallback.get()->javaCallbackRef;
+ VerifyOrReturn(javaCallbackRef != nullptr,
+ ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null"));
+
+ jmethodID javaMethod;
+ err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod);
+ VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method"));
+
+ jobject arrayListObj;
+ chip::JniReferences::GetInstance().CreateArrayList(arrayListObj);
+
+ auto iter_arrayListObj_0 = list.begin();
+ while (iter_arrayListObj_0.Next())
+ {
+ auto & entry_0 = iter_arrayListObj_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$ZeoliteFilterMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$ZeoliteFilterMonitoringClusterReplacementProductStruct");
+ return;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl, "Could not find ChipStructs$ZeoliteFilterMonitoringClusterReplacementProductStruct constructor");
+ return;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0);
+ }
+
+ env->ExceptionClear();
+ env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj);
+}
+
CHIPZeoliteFilterMonitoringGeneratedCommandListAttributeCallback::CHIPZeoliteFilterMonitoringGeneratedCommandListAttributeCallback(
jobject javaCallback, bool keepAlive) :
chip::Callback::Callback<CHIPZeoliteFilterMonitoringClusterGeneratedCommandListAttributeCallbackType>(CallbackFn, this),
@@ -28112,6 +28807,105 @@
env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue);
}
+CHIPOzoneFilterMonitoringReplacementProductListAttributeCallback::CHIPOzoneFilterMonitoringReplacementProductListAttributeCallback(
+ jobject javaCallback, bool keepAlive) :
+ chip::Callback::Callback<CHIPOzoneFilterMonitoringClusterReplacementProductListAttributeCallbackType>(CallbackFn, this),
+ keepAlive(keepAlive)
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ return;
+ }
+
+ javaCallbackRef = env->NewGlobalRef(javaCallback);
+ if (javaCallbackRef == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ }
+}
+
+CHIPOzoneFilterMonitoringReplacementProductListAttributeCallback::
+ ~CHIPOzoneFilterMonitoringReplacementProductListAttributeCallback()
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not delete global reference for Java callback");
+ return;
+ }
+ env->DeleteGlobalRef(javaCallbackRef);
+}
+
+void CHIPOzoneFilterMonitoringReplacementProductListAttributeCallback::CallbackFn(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> & list)
+{
+ chip::DeviceLayer::StackUnlock unlock;
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ jobject javaCallbackRef;
+
+ VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env"));
+
+ std::unique_ptr<CHIPOzoneFilterMonitoringReplacementProductListAttributeCallback, decltype(&maybeDestroy)> cppCallback(
+ reinterpret_cast<CHIPOzoneFilterMonitoringReplacementProductListAttributeCallback *>(context), maybeDestroy);
+
+ // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback.
+ javaCallbackRef = cppCallback.get()->javaCallbackRef;
+ VerifyOrReturn(javaCallbackRef != nullptr,
+ ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null"));
+
+ jmethodID javaMethod;
+ err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod);
+ VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method"));
+
+ jobject arrayListObj;
+ chip::JniReferences::GetInstance().CreateArrayList(arrayListObj);
+
+ auto iter_arrayListObj_0 = list.begin();
+ while (iter_arrayListObj_0.Next())
+ {
+ auto & entry_0 = iter_arrayListObj_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$OzoneFilterMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$OzoneFilterMonitoringClusterReplacementProductStruct");
+ return;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl, "Could not find ChipStructs$OzoneFilterMonitoringClusterReplacementProductStruct constructor");
+ return;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0);
+ }
+
+ env->ExceptionClear();
+ env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj);
+}
+
CHIPOzoneFilterMonitoringGeneratedCommandListAttributeCallback::CHIPOzoneFilterMonitoringGeneratedCommandListAttributeCallback(
jobject javaCallback, bool keepAlive) :
chip::Callback::Callback<CHIPOzoneFilterMonitoringClusterGeneratedCommandListAttributeCallbackType>(CallbackFn, this),
@@ -28463,6 +29257,104 @@
env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue);
}
+CHIPWaterTankMonitoringReplacementProductListAttributeCallback::CHIPWaterTankMonitoringReplacementProductListAttributeCallback(
+ jobject javaCallback, bool keepAlive) :
+ chip::Callback::Callback<CHIPWaterTankMonitoringClusterReplacementProductListAttributeCallbackType>(CallbackFn, this),
+ keepAlive(keepAlive)
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ return;
+ }
+
+ javaCallbackRef = env->NewGlobalRef(javaCallback);
+ if (javaCallbackRef == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ }
+}
+
+CHIPWaterTankMonitoringReplacementProductListAttributeCallback::~CHIPWaterTankMonitoringReplacementProductListAttributeCallback()
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not delete global reference for Java callback");
+ return;
+ }
+ env->DeleteGlobalRef(javaCallbackRef);
+}
+
+void CHIPWaterTankMonitoringReplacementProductListAttributeCallback::CallbackFn(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::DecodableType> & list)
+{
+ chip::DeviceLayer::StackUnlock unlock;
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ jobject javaCallbackRef;
+
+ VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env"));
+
+ std::unique_ptr<CHIPWaterTankMonitoringReplacementProductListAttributeCallback, decltype(&maybeDestroy)> cppCallback(
+ reinterpret_cast<CHIPWaterTankMonitoringReplacementProductListAttributeCallback *>(context), maybeDestroy);
+
+ // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback.
+ javaCallbackRef = cppCallback.get()->javaCallbackRef;
+ VerifyOrReturn(javaCallbackRef != nullptr,
+ ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null"));
+
+ jmethodID javaMethod;
+ err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod);
+ VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method"));
+
+ jobject arrayListObj;
+ chip::JniReferences::GetInstance().CreateArrayList(arrayListObj);
+
+ auto iter_arrayListObj_0 = list.begin();
+ while (iter_arrayListObj_0.Next())
+ {
+ auto & entry_0 = iter_arrayListObj_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$WaterTankMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$WaterTankMonitoringClusterReplacementProductStruct");
+ return;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl, "Could not find ChipStructs$WaterTankMonitoringClusterReplacementProductStruct constructor");
+ return;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0);
+ }
+
+ env->ExceptionClear();
+ env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj);
+}
+
CHIPWaterTankMonitoringGeneratedCommandListAttributeCallback::CHIPWaterTankMonitoringGeneratedCommandListAttributeCallback(
jobject javaCallback, bool keepAlive) :
chip::Callback::Callback<CHIPWaterTankMonitoringClusterGeneratedCommandListAttributeCallbackType>(CallbackFn, this),
@@ -28814,6 +29706,104 @@
env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue);
}
+CHIPFuelTankMonitoringReplacementProductListAttributeCallback::CHIPFuelTankMonitoringReplacementProductListAttributeCallback(
+ jobject javaCallback, bool keepAlive) :
+ chip::Callback::Callback<CHIPFuelTankMonitoringClusterReplacementProductListAttributeCallbackType>(CallbackFn, this),
+ keepAlive(keepAlive)
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ return;
+ }
+
+ javaCallbackRef = env->NewGlobalRef(javaCallback);
+ if (javaCallbackRef == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ }
+}
+
+CHIPFuelTankMonitoringReplacementProductListAttributeCallback::~CHIPFuelTankMonitoringReplacementProductListAttributeCallback()
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not delete global reference for Java callback");
+ return;
+ }
+ env->DeleteGlobalRef(javaCallbackRef);
+}
+
+void CHIPFuelTankMonitoringReplacementProductListAttributeCallback::CallbackFn(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::DecodableType> & list)
+{
+ chip::DeviceLayer::StackUnlock unlock;
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ jobject javaCallbackRef;
+
+ VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env"));
+
+ std::unique_ptr<CHIPFuelTankMonitoringReplacementProductListAttributeCallback, decltype(&maybeDestroy)> cppCallback(
+ reinterpret_cast<CHIPFuelTankMonitoringReplacementProductListAttributeCallback *>(context), maybeDestroy);
+
+ // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback.
+ javaCallbackRef = cppCallback.get()->javaCallbackRef;
+ VerifyOrReturn(javaCallbackRef != nullptr,
+ ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null"));
+
+ jmethodID javaMethod;
+ err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod);
+ VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method"));
+
+ jobject arrayListObj;
+ chip::JniReferences::GetInstance().CreateArrayList(arrayListObj);
+
+ auto iter_arrayListObj_0 = list.begin();
+ while (iter_arrayListObj_0.Next())
+ {
+ auto & entry_0 = iter_arrayListObj_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$FuelTankMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$FuelTankMonitoringClusterReplacementProductStruct");
+ return;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl, "Could not find ChipStructs$FuelTankMonitoringClusterReplacementProductStruct constructor");
+ return;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0);
+ }
+
+ env->ExceptionClear();
+ env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj);
+}
+
CHIPFuelTankMonitoringGeneratedCommandListAttributeCallback::CHIPFuelTankMonitoringGeneratedCommandListAttributeCallback(
jobject javaCallback, bool keepAlive) :
chip::Callback::Callback<CHIPFuelTankMonitoringClusterGeneratedCommandListAttributeCallbackType>(CallbackFn, this),
@@ -29165,6 +30155,105 @@
env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue);
}
+CHIPInkCartridgeMonitoringReplacementProductListAttributeCallback::
+ CHIPInkCartridgeMonitoringReplacementProductListAttributeCallback(jobject javaCallback, bool keepAlive) :
+ chip::Callback::Callback<CHIPInkCartridgeMonitoringClusterReplacementProductListAttributeCallbackType>(CallbackFn, this),
+ keepAlive(keepAlive)
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ return;
+ }
+
+ javaCallbackRef = env->NewGlobalRef(javaCallback);
+ if (javaCallbackRef == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ }
+}
+
+CHIPInkCartridgeMonitoringReplacementProductListAttributeCallback::
+ ~CHIPInkCartridgeMonitoringReplacementProductListAttributeCallback()
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not delete global reference for Java callback");
+ return;
+ }
+ env->DeleteGlobalRef(javaCallbackRef);
+}
+
+void CHIPInkCartridgeMonitoringReplacementProductListAttributeCallback::CallbackFn(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType> & list)
+{
+ chip::DeviceLayer::StackUnlock unlock;
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ jobject javaCallbackRef;
+
+ VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env"));
+
+ std::unique_ptr<CHIPInkCartridgeMonitoringReplacementProductListAttributeCallback, decltype(&maybeDestroy)> cppCallback(
+ reinterpret_cast<CHIPInkCartridgeMonitoringReplacementProductListAttributeCallback *>(context), maybeDestroy);
+
+ // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback.
+ javaCallbackRef = cppCallback.get()->javaCallbackRef;
+ VerifyOrReturn(javaCallbackRef != nullptr,
+ ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null"));
+
+ jmethodID javaMethod;
+ err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod);
+ VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method"));
+
+ jobject arrayListObj;
+ chip::JniReferences::GetInstance().CreateArrayList(arrayListObj);
+
+ auto iter_arrayListObj_0 = list.begin();
+ while (iter_arrayListObj_0.Next())
+ {
+ auto & entry_0 = iter_arrayListObj_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$InkCartridgeMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$InkCartridgeMonitoringClusterReplacementProductStruct");
+ return;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl, "Could not find ChipStructs$InkCartridgeMonitoringClusterReplacementProductStruct constructor");
+ return;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0);
+ }
+
+ env->ExceptionClear();
+ env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj);
+}
+
CHIPInkCartridgeMonitoringGeneratedCommandListAttributeCallback::CHIPInkCartridgeMonitoringGeneratedCommandListAttributeCallback(
jobject javaCallback, bool keepAlive) :
chip::Callback::Callback<CHIPInkCartridgeMonitoringClusterGeneratedCommandListAttributeCallbackType>(CallbackFn, this),
@@ -29516,6 +30605,105 @@
env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue);
}
+CHIPTonerCartridgeMonitoringReplacementProductListAttributeCallback::
+ CHIPTonerCartridgeMonitoringReplacementProductListAttributeCallback(jobject javaCallback, bool keepAlive) :
+ chip::Callback::Callback<CHIPTonerCartridgeMonitoringClusterReplacementProductListAttributeCallbackType>(CallbackFn, this),
+ keepAlive(keepAlive)
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ return;
+ }
+
+ javaCallbackRef = env->NewGlobalRef(javaCallback);
+ if (javaCallbackRef == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ }
+}
+
+CHIPTonerCartridgeMonitoringReplacementProductListAttributeCallback::
+ ~CHIPTonerCartridgeMonitoringReplacementProductListAttributeCallback()
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not delete global reference for Java callback");
+ return;
+ }
+ env->DeleteGlobalRef(javaCallbackRef);
+}
+
+void CHIPTonerCartridgeMonitoringReplacementProductListAttributeCallback::CallbackFn(
+ void * context,
+ const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType> & list)
+{
+ chip::DeviceLayer::StackUnlock unlock;
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ jobject javaCallbackRef;
+
+ VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env"));
+
+ std::unique_ptr<CHIPTonerCartridgeMonitoringReplacementProductListAttributeCallback, decltype(&maybeDestroy)> cppCallback(
+ reinterpret_cast<CHIPTonerCartridgeMonitoringReplacementProductListAttributeCallback *>(context), maybeDestroy);
+
+ // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback.
+ javaCallbackRef = cppCallback.get()->javaCallbackRef;
+ VerifyOrReturn(javaCallbackRef != nullptr,
+ ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null"));
+
+ jmethodID javaMethod;
+ err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod);
+ VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method"));
+
+ jobject arrayListObj;
+ chip::JniReferences::GetInstance().CreateArrayList(arrayListObj);
+
+ auto iter_arrayListObj_0 = list.begin();
+ while (iter_arrayListObj_0.Next())
+ {
+ auto & entry_0 = iter_arrayListObj_0.GetValue();
+ jobject newElement_0;
+ jobject newElement_0_productIdentifierType;
+ std::string newElement_0_productIdentifierTypeClassName = "java/lang/Integer";
+ std::string newElement_0_productIdentifierTypeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject<uint8_t>(
+ newElement_0_productIdentifierTypeClassName.c_str(), newElement_0_productIdentifierTypeCtorSignature.c_str(),
+ static_cast<uint8_t>(entry_0.productIdentifierType), newElement_0_productIdentifierType);
+ jobject newElement_0_productIdentifierValue;
+ LogErrorOnFailure(chip::JniReferences::GetInstance().CharToStringUTF(entry_0.productIdentifierValue,
+ newElement_0_productIdentifierValue));
+
+ jclass replacementProductStructStructClass_1;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$TonerCartridgeMonitoringClusterReplacementProductStruct",
+ replacementProductStructStructClass_1);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$TonerCartridgeMonitoringClusterReplacementProductStruct");
+ return;
+ }
+ jmethodID replacementProductStructStructCtor_1 =
+ env->GetMethodID(replacementProductStructStructClass_1, "<init>", "(Ljava/lang/Integer;Ljava/lang/String;)V");
+ if (replacementProductStructStructCtor_1 == nullptr)
+ {
+ ChipLogError(Zcl, "Could not find ChipStructs$TonerCartridgeMonitoringClusterReplacementProductStruct constructor");
+ return;
+ }
+
+ newElement_0 = env->NewObject(replacementProductStructStructClass_1, replacementProductStructStructCtor_1,
+ newElement_0_productIdentifierType, newElement_0_productIdentifierValue);
+ chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0);
+ }
+
+ env->ExceptionClear();
+ env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj);
+}
+
CHIPTonerCartridgeMonitoringGeneratedCommandListAttributeCallback::
CHIPTonerCartridgeMonitoringGeneratedCommandListAttributeCallback(jobject javaCallback, bool keepAlive) :
chip::Callback::Callback<CHIPTonerCartridgeMonitoringClusterGeneratedCommandListAttributeCallbackType>(CallbackFn, this),
diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java b/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java
index 5dea415..2faf941 100644
--- a/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java
+++ b/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java
@@ -17380,6 +17380,11 @@
void onError(Exception ex);
default void onSubscriptionEstablished(long subscriptionId) {}
}
+ public interface ReplacementProductListAttributeCallback {
+ void onSuccess( List<ChipStructs.HepaFilterMonitoringClusterReplacementProductStruct> valueList);
+ void onError(Exception ex);
+ default void onSubscriptionEstablished(long subscriptionId) {}
+ }
public interface GeneratedCommandListAttributeCallback {
void onSuccess( List<Long> valueList);
void onError(Exception ex);
@@ -17468,6 +17473,18 @@
subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval);
}
+ public void readReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ) {
+ readReplacementProductListAttribute(chipClusterPtr, callback);
+ }
+ public void subscribeReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ,
+ int minInterval, int maxInterval) {
+ subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval);
+ }
+
public void readGeneratedCommandListAttribute(
GeneratedCommandListAttributeCallback callback
) {
@@ -17577,6 +17594,13 @@
LastChangedTimeAttributeCallback callback
, int minInterval, int maxInterval);
+ private native void readReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ );
+ private native void subscribeReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ , int minInterval, int maxInterval);
+
private native void readGeneratedCommandListAttribute(long chipClusterPtr,
GeneratedCommandListAttributeCallback callback
);
@@ -17649,6 +17673,11 @@
void onError(Exception ex);
default void onSubscriptionEstablished(long subscriptionId) {}
}
+ public interface ReplacementProductListAttributeCallback {
+ void onSuccess( List<ChipStructs.ActivatedCarbonFilterMonitoringClusterReplacementProductStruct> valueList);
+ void onError(Exception ex);
+ default void onSubscriptionEstablished(long subscriptionId) {}
+ }
public interface GeneratedCommandListAttributeCallback {
void onSuccess( List<Long> valueList);
void onError(Exception ex);
@@ -17737,6 +17766,18 @@
subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval);
}
+ public void readReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ) {
+ readReplacementProductListAttribute(chipClusterPtr, callback);
+ }
+ public void subscribeReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ,
+ int minInterval, int maxInterval) {
+ subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval);
+ }
+
public void readGeneratedCommandListAttribute(
GeneratedCommandListAttributeCallback callback
) {
@@ -17846,6 +17887,13 @@
LastChangedTimeAttributeCallback callback
, int minInterval, int maxInterval);
+ private native void readReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ );
+ private native void subscribeReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ , int minInterval, int maxInterval);
+
private native void readGeneratedCommandListAttribute(long chipClusterPtr,
GeneratedCommandListAttributeCallback callback
);
@@ -17918,6 +17966,11 @@
void onError(Exception ex);
default void onSubscriptionEstablished(long subscriptionId) {}
}
+ public interface ReplacementProductListAttributeCallback {
+ void onSuccess( List<ChipStructs.CeramicFilterMonitoringClusterReplacementProductStruct> valueList);
+ void onError(Exception ex);
+ default void onSubscriptionEstablished(long subscriptionId) {}
+ }
public interface GeneratedCommandListAttributeCallback {
void onSuccess( List<Long> valueList);
void onError(Exception ex);
@@ -18006,6 +18059,18 @@
subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval);
}
+ public void readReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ) {
+ readReplacementProductListAttribute(chipClusterPtr, callback);
+ }
+ public void subscribeReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ,
+ int minInterval, int maxInterval) {
+ subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval);
+ }
+
public void readGeneratedCommandListAttribute(
GeneratedCommandListAttributeCallback callback
) {
@@ -18115,6 +18180,13 @@
LastChangedTimeAttributeCallback callback
, int minInterval, int maxInterval);
+ private native void readReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ );
+ private native void subscribeReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ , int minInterval, int maxInterval);
+
private native void readGeneratedCommandListAttribute(long chipClusterPtr,
GeneratedCommandListAttributeCallback callback
);
@@ -18187,6 +18259,11 @@
void onError(Exception ex);
default void onSubscriptionEstablished(long subscriptionId) {}
}
+ public interface ReplacementProductListAttributeCallback {
+ void onSuccess( List<ChipStructs.ElectrostaticFilterMonitoringClusterReplacementProductStruct> valueList);
+ void onError(Exception ex);
+ default void onSubscriptionEstablished(long subscriptionId) {}
+ }
public interface GeneratedCommandListAttributeCallback {
void onSuccess( List<Long> valueList);
void onError(Exception ex);
@@ -18275,6 +18352,18 @@
subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval);
}
+ public void readReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ) {
+ readReplacementProductListAttribute(chipClusterPtr, callback);
+ }
+ public void subscribeReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ,
+ int minInterval, int maxInterval) {
+ subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval);
+ }
+
public void readGeneratedCommandListAttribute(
GeneratedCommandListAttributeCallback callback
) {
@@ -18384,6 +18473,13 @@
LastChangedTimeAttributeCallback callback
, int minInterval, int maxInterval);
+ private native void readReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ );
+ private native void subscribeReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ , int minInterval, int maxInterval);
+
private native void readGeneratedCommandListAttribute(long chipClusterPtr,
GeneratedCommandListAttributeCallback callback
);
@@ -18456,6 +18552,11 @@
void onError(Exception ex);
default void onSubscriptionEstablished(long subscriptionId) {}
}
+ public interface ReplacementProductListAttributeCallback {
+ void onSuccess( List<ChipStructs.UvFilterMonitoringClusterReplacementProductStruct> valueList);
+ void onError(Exception ex);
+ default void onSubscriptionEstablished(long subscriptionId) {}
+ }
public interface GeneratedCommandListAttributeCallback {
void onSuccess( List<Long> valueList);
void onError(Exception ex);
@@ -18544,6 +18645,18 @@
subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval);
}
+ public void readReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ) {
+ readReplacementProductListAttribute(chipClusterPtr, callback);
+ }
+ public void subscribeReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ,
+ int minInterval, int maxInterval) {
+ subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval);
+ }
+
public void readGeneratedCommandListAttribute(
GeneratedCommandListAttributeCallback callback
) {
@@ -18653,6 +18766,13 @@
LastChangedTimeAttributeCallback callback
, int minInterval, int maxInterval);
+ private native void readReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ );
+ private native void subscribeReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ , int minInterval, int maxInterval);
+
private native void readGeneratedCommandListAttribute(long chipClusterPtr,
GeneratedCommandListAttributeCallback callback
);
@@ -18725,6 +18845,11 @@
void onError(Exception ex);
default void onSubscriptionEstablished(long subscriptionId) {}
}
+ public interface ReplacementProductListAttributeCallback {
+ void onSuccess( List<ChipStructs.IonizingFilterMonitoringClusterReplacementProductStruct> valueList);
+ void onError(Exception ex);
+ default void onSubscriptionEstablished(long subscriptionId) {}
+ }
public interface GeneratedCommandListAttributeCallback {
void onSuccess( List<Long> valueList);
void onError(Exception ex);
@@ -18813,6 +18938,18 @@
subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval);
}
+ public void readReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ) {
+ readReplacementProductListAttribute(chipClusterPtr, callback);
+ }
+ public void subscribeReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ,
+ int minInterval, int maxInterval) {
+ subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval);
+ }
+
public void readGeneratedCommandListAttribute(
GeneratedCommandListAttributeCallback callback
) {
@@ -18922,6 +19059,13 @@
LastChangedTimeAttributeCallback callback
, int minInterval, int maxInterval);
+ private native void readReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ );
+ private native void subscribeReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ , int minInterval, int maxInterval);
+
private native void readGeneratedCommandListAttribute(long chipClusterPtr,
GeneratedCommandListAttributeCallback callback
);
@@ -18994,6 +19138,11 @@
void onError(Exception ex);
default void onSubscriptionEstablished(long subscriptionId) {}
}
+ public interface ReplacementProductListAttributeCallback {
+ void onSuccess( List<ChipStructs.ZeoliteFilterMonitoringClusterReplacementProductStruct> valueList);
+ void onError(Exception ex);
+ default void onSubscriptionEstablished(long subscriptionId) {}
+ }
public interface GeneratedCommandListAttributeCallback {
void onSuccess( List<Long> valueList);
void onError(Exception ex);
@@ -19082,6 +19231,18 @@
subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval);
}
+ public void readReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ) {
+ readReplacementProductListAttribute(chipClusterPtr, callback);
+ }
+ public void subscribeReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ,
+ int minInterval, int maxInterval) {
+ subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval);
+ }
+
public void readGeneratedCommandListAttribute(
GeneratedCommandListAttributeCallback callback
) {
@@ -19191,6 +19352,13 @@
LastChangedTimeAttributeCallback callback
, int minInterval, int maxInterval);
+ private native void readReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ );
+ private native void subscribeReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ , int minInterval, int maxInterval);
+
private native void readGeneratedCommandListAttribute(long chipClusterPtr,
GeneratedCommandListAttributeCallback callback
);
@@ -19263,6 +19431,11 @@
void onError(Exception ex);
default void onSubscriptionEstablished(long subscriptionId) {}
}
+ public interface ReplacementProductListAttributeCallback {
+ void onSuccess( List<ChipStructs.OzoneFilterMonitoringClusterReplacementProductStruct> valueList);
+ void onError(Exception ex);
+ default void onSubscriptionEstablished(long subscriptionId) {}
+ }
public interface GeneratedCommandListAttributeCallback {
void onSuccess( List<Long> valueList);
void onError(Exception ex);
@@ -19351,6 +19524,18 @@
subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval);
}
+ public void readReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ) {
+ readReplacementProductListAttribute(chipClusterPtr, callback);
+ }
+ public void subscribeReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ,
+ int minInterval, int maxInterval) {
+ subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval);
+ }
+
public void readGeneratedCommandListAttribute(
GeneratedCommandListAttributeCallback callback
) {
@@ -19460,6 +19645,13 @@
LastChangedTimeAttributeCallback callback
, int minInterval, int maxInterval);
+ private native void readReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ );
+ private native void subscribeReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ , int minInterval, int maxInterval);
+
private native void readGeneratedCommandListAttribute(long chipClusterPtr,
GeneratedCommandListAttributeCallback callback
);
@@ -19532,6 +19724,11 @@
void onError(Exception ex);
default void onSubscriptionEstablished(long subscriptionId) {}
}
+ public interface ReplacementProductListAttributeCallback {
+ void onSuccess( List<ChipStructs.WaterTankMonitoringClusterReplacementProductStruct> valueList);
+ void onError(Exception ex);
+ default void onSubscriptionEstablished(long subscriptionId) {}
+ }
public interface GeneratedCommandListAttributeCallback {
void onSuccess( List<Long> valueList);
void onError(Exception ex);
@@ -19620,6 +19817,18 @@
subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval);
}
+ public void readReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ) {
+ readReplacementProductListAttribute(chipClusterPtr, callback);
+ }
+ public void subscribeReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ,
+ int minInterval, int maxInterval) {
+ subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval);
+ }
+
public void readGeneratedCommandListAttribute(
GeneratedCommandListAttributeCallback callback
) {
@@ -19729,6 +19938,13 @@
LastChangedTimeAttributeCallback callback
, int minInterval, int maxInterval);
+ private native void readReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ );
+ private native void subscribeReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ , int minInterval, int maxInterval);
+
private native void readGeneratedCommandListAttribute(long chipClusterPtr,
GeneratedCommandListAttributeCallback callback
);
@@ -19801,6 +20017,11 @@
void onError(Exception ex);
default void onSubscriptionEstablished(long subscriptionId) {}
}
+ public interface ReplacementProductListAttributeCallback {
+ void onSuccess( List<ChipStructs.FuelTankMonitoringClusterReplacementProductStruct> valueList);
+ void onError(Exception ex);
+ default void onSubscriptionEstablished(long subscriptionId) {}
+ }
public interface GeneratedCommandListAttributeCallback {
void onSuccess( List<Long> valueList);
void onError(Exception ex);
@@ -19889,6 +20110,18 @@
subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval);
}
+ public void readReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ) {
+ readReplacementProductListAttribute(chipClusterPtr, callback);
+ }
+ public void subscribeReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ,
+ int minInterval, int maxInterval) {
+ subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval);
+ }
+
public void readGeneratedCommandListAttribute(
GeneratedCommandListAttributeCallback callback
) {
@@ -19998,6 +20231,13 @@
LastChangedTimeAttributeCallback callback
, int minInterval, int maxInterval);
+ private native void readReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ );
+ private native void subscribeReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ , int minInterval, int maxInterval);
+
private native void readGeneratedCommandListAttribute(long chipClusterPtr,
GeneratedCommandListAttributeCallback callback
);
@@ -20070,6 +20310,11 @@
void onError(Exception ex);
default void onSubscriptionEstablished(long subscriptionId) {}
}
+ public interface ReplacementProductListAttributeCallback {
+ void onSuccess( List<ChipStructs.InkCartridgeMonitoringClusterReplacementProductStruct> valueList);
+ void onError(Exception ex);
+ default void onSubscriptionEstablished(long subscriptionId) {}
+ }
public interface GeneratedCommandListAttributeCallback {
void onSuccess( List<Long> valueList);
void onError(Exception ex);
@@ -20158,6 +20403,18 @@
subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval);
}
+ public void readReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ) {
+ readReplacementProductListAttribute(chipClusterPtr, callback);
+ }
+ public void subscribeReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ,
+ int minInterval, int maxInterval) {
+ subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval);
+ }
+
public void readGeneratedCommandListAttribute(
GeneratedCommandListAttributeCallback callback
) {
@@ -20267,6 +20524,13 @@
LastChangedTimeAttributeCallback callback
, int minInterval, int maxInterval);
+ private native void readReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ );
+ private native void subscribeReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ , int minInterval, int maxInterval);
+
private native void readGeneratedCommandListAttribute(long chipClusterPtr,
GeneratedCommandListAttributeCallback callback
);
@@ -20339,6 +20603,11 @@
void onError(Exception ex);
default void onSubscriptionEstablished(long subscriptionId) {}
}
+ public interface ReplacementProductListAttributeCallback {
+ void onSuccess( List<ChipStructs.TonerCartridgeMonitoringClusterReplacementProductStruct> valueList);
+ void onError(Exception ex);
+ default void onSubscriptionEstablished(long subscriptionId) {}
+ }
public interface GeneratedCommandListAttributeCallback {
void onSuccess( List<Long> valueList);
void onError(Exception ex);
@@ -20427,6 +20696,18 @@
subscribeLastChangedTimeAttribute(chipClusterPtr, callback, minInterval, maxInterval);
}
+ public void readReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ) {
+ readReplacementProductListAttribute(chipClusterPtr, callback);
+ }
+ public void subscribeReplacementProductListAttribute(
+ ReplacementProductListAttributeCallback callback
+ ,
+ int minInterval, int maxInterval) {
+ subscribeReplacementProductListAttribute(chipClusterPtr, callback, minInterval, maxInterval);
+ }
+
public void readGeneratedCommandListAttribute(
GeneratedCommandListAttributeCallback callback
) {
@@ -20536,6 +20817,13 @@
LastChangedTimeAttributeCallback callback
, int minInterval, int maxInterval);
+ private native void readReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ );
+ private native void subscribeReplacementProductListAttribute(long chipClusterPtr,
+ ReplacementProductListAttributeCallback callback
+ , int minInterval, int maxInterval);
+
private native void readGeneratedCommandListAttribute(long chipClusterPtr,
GeneratedCommandListAttributeCallback callback
);
diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ChipStructs.java b/src/controller/java/zap-generated/chip/devicecontroller/ChipStructs.java
index e8d9aab..e6875c0 100644
--- a/src/controller/java/zap-generated/chip/devicecontroller/ChipStructs.java
+++ b/src/controller/java/zap-generated/chip/devicecontroller/ChipStructs.java
@@ -2022,6 +2022,330 @@
}
}
+public static class HepaFilterMonitoringClusterReplacementProductStruct {
+public Integer productIdentifierType;
+public String productIdentifierValue;
+
+ public HepaFilterMonitoringClusterReplacementProductStruct(
+ Integer productIdentifierType
+ , String productIdentifierValue
+ ) {
+ this.productIdentifierType = productIdentifierType;
+ this.productIdentifierValue = productIdentifierValue;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder output = new StringBuilder();
+ output.append("HepaFilterMonitoringClusterReplacementProductStruct {\n");
+ output.append("\tproductIdentifierType: ");
+ output.append(productIdentifierType);
+ output.append("\n");
+ output.append("\tproductIdentifierValue: ");
+ output.append(productIdentifierValue);
+ output.append("\n");
+ output.append("}\n");
+ return output.toString();
+ }
+}
+
+public static class ActivatedCarbonFilterMonitoringClusterReplacementProductStruct {
+public Integer productIdentifierType;
+public String productIdentifierValue;
+
+ public ActivatedCarbonFilterMonitoringClusterReplacementProductStruct(
+ Integer productIdentifierType
+ , String productIdentifierValue
+ ) {
+ this.productIdentifierType = productIdentifierType;
+ this.productIdentifierValue = productIdentifierValue;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder output = new StringBuilder();
+ output.append("ActivatedCarbonFilterMonitoringClusterReplacementProductStruct {\n");
+ output.append("\tproductIdentifierType: ");
+ output.append(productIdentifierType);
+ output.append("\n");
+ output.append("\tproductIdentifierValue: ");
+ output.append(productIdentifierValue);
+ output.append("\n");
+ output.append("}\n");
+ return output.toString();
+ }
+}
+
+public static class CeramicFilterMonitoringClusterReplacementProductStruct {
+public Integer productIdentifierType;
+public String productIdentifierValue;
+
+ public CeramicFilterMonitoringClusterReplacementProductStruct(
+ Integer productIdentifierType
+ , String productIdentifierValue
+ ) {
+ this.productIdentifierType = productIdentifierType;
+ this.productIdentifierValue = productIdentifierValue;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder output = new StringBuilder();
+ output.append("CeramicFilterMonitoringClusterReplacementProductStruct {\n");
+ output.append("\tproductIdentifierType: ");
+ output.append(productIdentifierType);
+ output.append("\n");
+ output.append("\tproductIdentifierValue: ");
+ output.append(productIdentifierValue);
+ output.append("\n");
+ output.append("}\n");
+ return output.toString();
+ }
+}
+
+public static class ElectrostaticFilterMonitoringClusterReplacementProductStruct {
+public Integer productIdentifierType;
+public String productIdentifierValue;
+
+ public ElectrostaticFilterMonitoringClusterReplacementProductStruct(
+ Integer productIdentifierType
+ , String productIdentifierValue
+ ) {
+ this.productIdentifierType = productIdentifierType;
+ this.productIdentifierValue = productIdentifierValue;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder output = new StringBuilder();
+ output.append("ElectrostaticFilterMonitoringClusterReplacementProductStruct {\n");
+ output.append("\tproductIdentifierType: ");
+ output.append(productIdentifierType);
+ output.append("\n");
+ output.append("\tproductIdentifierValue: ");
+ output.append(productIdentifierValue);
+ output.append("\n");
+ output.append("}\n");
+ return output.toString();
+ }
+}
+
+public static class UvFilterMonitoringClusterReplacementProductStruct {
+public Integer productIdentifierType;
+public String productIdentifierValue;
+
+ public UvFilterMonitoringClusterReplacementProductStruct(
+ Integer productIdentifierType
+ , String productIdentifierValue
+ ) {
+ this.productIdentifierType = productIdentifierType;
+ this.productIdentifierValue = productIdentifierValue;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder output = new StringBuilder();
+ output.append("UvFilterMonitoringClusterReplacementProductStruct {\n");
+ output.append("\tproductIdentifierType: ");
+ output.append(productIdentifierType);
+ output.append("\n");
+ output.append("\tproductIdentifierValue: ");
+ output.append(productIdentifierValue);
+ output.append("\n");
+ output.append("}\n");
+ return output.toString();
+ }
+}
+
+public static class IonizingFilterMonitoringClusterReplacementProductStruct {
+public Integer productIdentifierType;
+public String productIdentifierValue;
+
+ public IonizingFilterMonitoringClusterReplacementProductStruct(
+ Integer productIdentifierType
+ , String productIdentifierValue
+ ) {
+ this.productIdentifierType = productIdentifierType;
+ this.productIdentifierValue = productIdentifierValue;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder output = new StringBuilder();
+ output.append("IonizingFilterMonitoringClusterReplacementProductStruct {\n");
+ output.append("\tproductIdentifierType: ");
+ output.append(productIdentifierType);
+ output.append("\n");
+ output.append("\tproductIdentifierValue: ");
+ output.append(productIdentifierValue);
+ output.append("\n");
+ output.append("}\n");
+ return output.toString();
+ }
+}
+
+public static class ZeoliteFilterMonitoringClusterReplacementProductStruct {
+public Integer productIdentifierType;
+public String productIdentifierValue;
+
+ public ZeoliteFilterMonitoringClusterReplacementProductStruct(
+ Integer productIdentifierType
+ , String productIdentifierValue
+ ) {
+ this.productIdentifierType = productIdentifierType;
+ this.productIdentifierValue = productIdentifierValue;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder output = new StringBuilder();
+ output.append("ZeoliteFilterMonitoringClusterReplacementProductStruct {\n");
+ output.append("\tproductIdentifierType: ");
+ output.append(productIdentifierType);
+ output.append("\n");
+ output.append("\tproductIdentifierValue: ");
+ output.append(productIdentifierValue);
+ output.append("\n");
+ output.append("}\n");
+ return output.toString();
+ }
+}
+
+public static class OzoneFilterMonitoringClusterReplacementProductStruct {
+public Integer productIdentifierType;
+public String productIdentifierValue;
+
+ public OzoneFilterMonitoringClusterReplacementProductStruct(
+ Integer productIdentifierType
+ , String productIdentifierValue
+ ) {
+ this.productIdentifierType = productIdentifierType;
+ this.productIdentifierValue = productIdentifierValue;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder output = new StringBuilder();
+ output.append("OzoneFilterMonitoringClusterReplacementProductStruct {\n");
+ output.append("\tproductIdentifierType: ");
+ output.append(productIdentifierType);
+ output.append("\n");
+ output.append("\tproductIdentifierValue: ");
+ output.append(productIdentifierValue);
+ output.append("\n");
+ output.append("}\n");
+ return output.toString();
+ }
+}
+
+public static class WaterTankMonitoringClusterReplacementProductStruct {
+public Integer productIdentifierType;
+public String productIdentifierValue;
+
+ public WaterTankMonitoringClusterReplacementProductStruct(
+ Integer productIdentifierType
+ , String productIdentifierValue
+ ) {
+ this.productIdentifierType = productIdentifierType;
+ this.productIdentifierValue = productIdentifierValue;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder output = new StringBuilder();
+ output.append("WaterTankMonitoringClusterReplacementProductStruct {\n");
+ output.append("\tproductIdentifierType: ");
+ output.append(productIdentifierType);
+ output.append("\n");
+ output.append("\tproductIdentifierValue: ");
+ output.append(productIdentifierValue);
+ output.append("\n");
+ output.append("}\n");
+ return output.toString();
+ }
+}
+
+public static class FuelTankMonitoringClusterReplacementProductStruct {
+public Integer productIdentifierType;
+public String productIdentifierValue;
+
+ public FuelTankMonitoringClusterReplacementProductStruct(
+ Integer productIdentifierType
+ , String productIdentifierValue
+ ) {
+ this.productIdentifierType = productIdentifierType;
+ this.productIdentifierValue = productIdentifierValue;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder output = new StringBuilder();
+ output.append("FuelTankMonitoringClusterReplacementProductStruct {\n");
+ output.append("\tproductIdentifierType: ");
+ output.append(productIdentifierType);
+ output.append("\n");
+ output.append("\tproductIdentifierValue: ");
+ output.append(productIdentifierValue);
+ output.append("\n");
+ output.append("}\n");
+ return output.toString();
+ }
+}
+
+public static class InkCartridgeMonitoringClusterReplacementProductStruct {
+public Integer productIdentifierType;
+public String productIdentifierValue;
+
+ public InkCartridgeMonitoringClusterReplacementProductStruct(
+ Integer productIdentifierType
+ , String productIdentifierValue
+ ) {
+ this.productIdentifierType = productIdentifierType;
+ this.productIdentifierValue = productIdentifierValue;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder output = new StringBuilder();
+ output.append("InkCartridgeMonitoringClusterReplacementProductStruct {\n");
+ output.append("\tproductIdentifierType: ");
+ output.append(productIdentifierType);
+ output.append("\n");
+ output.append("\tproductIdentifierValue: ");
+ output.append(productIdentifierValue);
+ output.append("\n");
+ output.append("}\n");
+ return output.toString();
+ }
+}
+
+public static class TonerCartridgeMonitoringClusterReplacementProductStruct {
+public Integer productIdentifierType;
+public String productIdentifierValue;
+
+ public TonerCartridgeMonitoringClusterReplacementProductStruct(
+ Integer productIdentifierType
+ , String productIdentifierValue
+ ) {
+ this.productIdentifierType = productIdentifierType;
+ this.productIdentifierValue = productIdentifierValue;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder output = new StringBuilder();
+ output.append("TonerCartridgeMonitoringClusterReplacementProductStruct {\n");
+ output.append("\tproductIdentifierType: ");
+ output.append(productIdentifierType);
+ output.append("\n");
+ output.append("\tproductIdentifierValue: ");
+ output.append(productIdentifierValue);
+ output.append("\n");
+ output.append("}\n");
+ return output.toString();
+ }
+}
+
public static class DoorLockClusterCredentialStruct {
public Integer credentialType;
public Integer credentialIndex;
diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java b/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java
index 55ed1d5..d4ad7a1 100644
--- a/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java
+++ b/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java
@@ -7681,6 +7681,25 @@
callback.onFailure(ex);
}
}
+ public static class DelegatedHepaFilterMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.HepaFilterMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback {
+ private ClusterCommandCallback callback;
+ @Override
+ public void setCallbackDelegate(ClusterCommandCallback callback) {
+ this.callback = callback;
+ }
+
+@Override
+ public void onSuccess( List<ChipStructs.HepaFilterMonitoringClusterReplacementProductStruct> valueList) {
+ Map<CommandResponseInfo, Object> responseValues = new LinkedHashMap<>();
+ CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List<ChipStructs.HepaFilterMonitoringClusterReplacementProductStruct>");
+ responseValues.put(commandResponseInfo, valueList);
+ callback.onSuccess(responseValues);
+ }
+ @Override
+ public void onError(Exception ex) {
+ callback.onFailure(ex);
+ }
+ }
public static class DelegatedHepaFilterMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.HepaFilterMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback {
private ClusterCommandCallback callback;
@Override
@@ -7777,6 +7796,25 @@
callback.onFailure(ex);
}
}
+ public static class DelegatedActivatedCarbonFilterMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.ActivatedCarbonFilterMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback {
+ private ClusterCommandCallback callback;
+ @Override
+ public void setCallbackDelegate(ClusterCommandCallback callback) {
+ this.callback = callback;
+ }
+
+@Override
+ public void onSuccess( List<ChipStructs.ActivatedCarbonFilterMonitoringClusterReplacementProductStruct> valueList) {
+ Map<CommandResponseInfo, Object> responseValues = new LinkedHashMap<>();
+ CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List<ChipStructs.ActivatedCarbonFilterMonitoringClusterReplacementProductStruct>");
+ responseValues.put(commandResponseInfo, valueList);
+ callback.onSuccess(responseValues);
+ }
+ @Override
+ public void onError(Exception ex) {
+ callback.onFailure(ex);
+ }
+ }
public static class DelegatedActivatedCarbonFilterMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.ActivatedCarbonFilterMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback {
private ClusterCommandCallback callback;
@Override
@@ -7873,6 +7911,25 @@
callback.onFailure(ex);
}
}
+ public static class DelegatedCeramicFilterMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.CeramicFilterMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback {
+ private ClusterCommandCallback callback;
+ @Override
+ public void setCallbackDelegate(ClusterCommandCallback callback) {
+ this.callback = callback;
+ }
+
+@Override
+ public void onSuccess( List<ChipStructs.CeramicFilterMonitoringClusterReplacementProductStruct> valueList) {
+ Map<CommandResponseInfo, Object> responseValues = new LinkedHashMap<>();
+ CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List<ChipStructs.CeramicFilterMonitoringClusterReplacementProductStruct>");
+ responseValues.put(commandResponseInfo, valueList);
+ callback.onSuccess(responseValues);
+ }
+ @Override
+ public void onError(Exception ex) {
+ callback.onFailure(ex);
+ }
+ }
public static class DelegatedCeramicFilterMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.CeramicFilterMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback {
private ClusterCommandCallback callback;
@Override
@@ -7969,6 +8026,25 @@
callback.onFailure(ex);
}
}
+ public static class DelegatedElectrostaticFilterMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.ElectrostaticFilterMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback {
+ private ClusterCommandCallback callback;
+ @Override
+ public void setCallbackDelegate(ClusterCommandCallback callback) {
+ this.callback = callback;
+ }
+
+@Override
+ public void onSuccess( List<ChipStructs.ElectrostaticFilterMonitoringClusterReplacementProductStruct> valueList) {
+ Map<CommandResponseInfo, Object> responseValues = new LinkedHashMap<>();
+ CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List<ChipStructs.ElectrostaticFilterMonitoringClusterReplacementProductStruct>");
+ responseValues.put(commandResponseInfo, valueList);
+ callback.onSuccess(responseValues);
+ }
+ @Override
+ public void onError(Exception ex) {
+ callback.onFailure(ex);
+ }
+ }
public static class DelegatedElectrostaticFilterMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.ElectrostaticFilterMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback {
private ClusterCommandCallback callback;
@Override
@@ -8065,6 +8141,25 @@
callback.onFailure(ex);
}
}
+ public static class DelegatedUvFilterMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.UvFilterMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback {
+ private ClusterCommandCallback callback;
+ @Override
+ public void setCallbackDelegate(ClusterCommandCallback callback) {
+ this.callback = callback;
+ }
+
+@Override
+ public void onSuccess( List<ChipStructs.UvFilterMonitoringClusterReplacementProductStruct> valueList) {
+ Map<CommandResponseInfo, Object> responseValues = new LinkedHashMap<>();
+ CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List<ChipStructs.UvFilterMonitoringClusterReplacementProductStruct>");
+ responseValues.put(commandResponseInfo, valueList);
+ callback.onSuccess(responseValues);
+ }
+ @Override
+ public void onError(Exception ex) {
+ callback.onFailure(ex);
+ }
+ }
public static class DelegatedUvFilterMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.UvFilterMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback {
private ClusterCommandCallback callback;
@Override
@@ -8161,6 +8256,25 @@
callback.onFailure(ex);
}
}
+ public static class DelegatedIonizingFilterMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.IonizingFilterMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback {
+ private ClusterCommandCallback callback;
+ @Override
+ public void setCallbackDelegate(ClusterCommandCallback callback) {
+ this.callback = callback;
+ }
+
+@Override
+ public void onSuccess( List<ChipStructs.IonizingFilterMonitoringClusterReplacementProductStruct> valueList) {
+ Map<CommandResponseInfo, Object> responseValues = new LinkedHashMap<>();
+ CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List<ChipStructs.IonizingFilterMonitoringClusterReplacementProductStruct>");
+ responseValues.put(commandResponseInfo, valueList);
+ callback.onSuccess(responseValues);
+ }
+ @Override
+ public void onError(Exception ex) {
+ callback.onFailure(ex);
+ }
+ }
public static class DelegatedIonizingFilterMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.IonizingFilterMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback {
private ClusterCommandCallback callback;
@Override
@@ -8257,6 +8371,25 @@
callback.onFailure(ex);
}
}
+ public static class DelegatedZeoliteFilterMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.ZeoliteFilterMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback {
+ private ClusterCommandCallback callback;
+ @Override
+ public void setCallbackDelegate(ClusterCommandCallback callback) {
+ this.callback = callback;
+ }
+
+@Override
+ public void onSuccess( List<ChipStructs.ZeoliteFilterMonitoringClusterReplacementProductStruct> valueList) {
+ Map<CommandResponseInfo, Object> responseValues = new LinkedHashMap<>();
+ CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List<ChipStructs.ZeoliteFilterMonitoringClusterReplacementProductStruct>");
+ responseValues.put(commandResponseInfo, valueList);
+ callback.onSuccess(responseValues);
+ }
+ @Override
+ public void onError(Exception ex) {
+ callback.onFailure(ex);
+ }
+ }
public static class DelegatedZeoliteFilterMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.ZeoliteFilterMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback {
private ClusterCommandCallback callback;
@Override
@@ -8353,6 +8486,25 @@
callback.onFailure(ex);
}
}
+ public static class DelegatedOzoneFilterMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.OzoneFilterMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback {
+ private ClusterCommandCallback callback;
+ @Override
+ public void setCallbackDelegate(ClusterCommandCallback callback) {
+ this.callback = callback;
+ }
+
+@Override
+ public void onSuccess( List<ChipStructs.OzoneFilterMonitoringClusterReplacementProductStruct> valueList) {
+ Map<CommandResponseInfo, Object> responseValues = new LinkedHashMap<>();
+ CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List<ChipStructs.OzoneFilterMonitoringClusterReplacementProductStruct>");
+ responseValues.put(commandResponseInfo, valueList);
+ callback.onSuccess(responseValues);
+ }
+ @Override
+ public void onError(Exception ex) {
+ callback.onFailure(ex);
+ }
+ }
public static class DelegatedOzoneFilterMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.OzoneFilterMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback {
private ClusterCommandCallback callback;
@Override
@@ -8449,6 +8601,25 @@
callback.onFailure(ex);
}
}
+ public static class DelegatedWaterTankMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.WaterTankMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback {
+ private ClusterCommandCallback callback;
+ @Override
+ public void setCallbackDelegate(ClusterCommandCallback callback) {
+ this.callback = callback;
+ }
+
+@Override
+ public void onSuccess( List<ChipStructs.WaterTankMonitoringClusterReplacementProductStruct> valueList) {
+ Map<CommandResponseInfo, Object> responseValues = new LinkedHashMap<>();
+ CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List<ChipStructs.WaterTankMonitoringClusterReplacementProductStruct>");
+ responseValues.put(commandResponseInfo, valueList);
+ callback.onSuccess(responseValues);
+ }
+ @Override
+ public void onError(Exception ex) {
+ callback.onFailure(ex);
+ }
+ }
public static class DelegatedWaterTankMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.WaterTankMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback {
private ClusterCommandCallback callback;
@Override
@@ -8545,6 +8716,25 @@
callback.onFailure(ex);
}
}
+ public static class DelegatedFuelTankMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.FuelTankMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback {
+ private ClusterCommandCallback callback;
+ @Override
+ public void setCallbackDelegate(ClusterCommandCallback callback) {
+ this.callback = callback;
+ }
+
+@Override
+ public void onSuccess( List<ChipStructs.FuelTankMonitoringClusterReplacementProductStruct> valueList) {
+ Map<CommandResponseInfo, Object> responseValues = new LinkedHashMap<>();
+ CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List<ChipStructs.FuelTankMonitoringClusterReplacementProductStruct>");
+ responseValues.put(commandResponseInfo, valueList);
+ callback.onSuccess(responseValues);
+ }
+ @Override
+ public void onError(Exception ex) {
+ callback.onFailure(ex);
+ }
+ }
public static class DelegatedFuelTankMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.FuelTankMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback {
private ClusterCommandCallback callback;
@Override
@@ -8641,6 +8831,25 @@
callback.onFailure(ex);
}
}
+ public static class DelegatedInkCartridgeMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.InkCartridgeMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback {
+ private ClusterCommandCallback callback;
+ @Override
+ public void setCallbackDelegate(ClusterCommandCallback callback) {
+ this.callback = callback;
+ }
+
+@Override
+ public void onSuccess( List<ChipStructs.InkCartridgeMonitoringClusterReplacementProductStruct> valueList) {
+ Map<CommandResponseInfo, Object> responseValues = new LinkedHashMap<>();
+ CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List<ChipStructs.InkCartridgeMonitoringClusterReplacementProductStruct>");
+ responseValues.put(commandResponseInfo, valueList);
+ callback.onSuccess(responseValues);
+ }
+ @Override
+ public void onError(Exception ex) {
+ callback.onFailure(ex);
+ }
+ }
public static class DelegatedInkCartridgeMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.InkCartridgeMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback {
private ClusterCommandCallback callback;
@Override
@@ -8737,6 +8946,25 @@
callback.onFailure(ex);
}
}
+ public static class DelegatedTonerCartridgeMonitoringClusterReplacementProductListAttributeCallback implements ChipClusters.TonerCartridgeMonitoringCluster.ReplacementProductListAttributeCallback, DelegatedClusterCallback {
+ private ClusterCommandCallback callback;
+ @Override
+ public void setCallbackDelegate(ClusterCommandCallback callback) {
+ this.callback = callback;
+ }
+
+@Override
+ public void onSuccess( List<ChipStructs.TonerCartridgeMonitoringClusterReplacementProductStruct> valueList) {
+ Map<CommandResponseInfo, Object> responseValues = new LinkedHashMap<>();
+ CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List<ChipStructs.TonerCartridgeMonitoringClusterReplacementProductStruct>");
+ responseValues.put(commandResponseInfo, valueList);
+ callback.onSuccess(responseValues);
+ }
+ @Override
+ public void onError(Exception ex) {
+ callback.onFailure(ex);
+ }
+ }
public static class DelegatedTonerCartridgeMonitoringClusterGeneratedCommandListAttributeCallback implements ChipClusters.TonerCartridgeMonitoringCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback {
private ClusterCommandCallback callback;
@Override
diff --git a/src/controller/python/chip/clusters/CHIPClusters.py b/src/controller/python/chip/clusters/CHIPClusters.py
index 57cb528..56122c4 100644
--- a/src/controller/python/chip/clusters/CHIPClusters.py
+++ b/src/controller/python/chip/clusters/CHIPClusters.py
@@ -5474,6 +5474,12 @@
"reportable": True,
"writable": True,
},
+ 0x00000005: {
+ "attributeName": "ReplacementProductList",
+ "attributeId": 0x00000005,
+ "type": "",
+ "reportable": True,
+ },
0x0000FFF8: {
"attributeName": "GeneratedCommandList",
"attributeId": 0x0000FFF8,
@@ -5555,6 +5561,12 @@
"reportable": True,
"writable": True,
},
+ 0x00000005: {
+ "attributeName": "ReplacementProductList",
+ "attributeId": 0x00000005,
+ "type": "",
+ "reportable": True,
+ },
0x0000FFF8: {
"attributeName": "GeneratedCommandList",
"attributeId": 0x0000FFF8,
@@ -5636,6 +5648,12 @@
"reportable": True,
"writable": True,
},
+ 0x00000005: {
+ "attributeName": "ReplacementProductList",
+ "attributeId": 0x00000005,
+ "type": "",
+ "reportable": True,
+ },
0x0000FFF8: {
"attributeName": "GeneratedCommandList",
"attributeId": 0x0000FFF8,
@@ -5717,6 +5735,12 @@
"reportable": True,
"writable": True,
},
+ 0x00000005: {
+ "attributeName": "ReplacementProductList",
+ "attributeId": 0x00000005,
+ "type": "",
+ "reportable": True,
+ },
0x0000FFF8: {
"attributeName": "GeneratedCommandList",
"attributeId": 0x0000FFF8,
@@ -5798,6 +5822,12 @@
"reportable": True,
"writable": True,
},
+ 0x00000005: {
+ "attributeName": "ReplacementProductList",
+ "attributeId": 0x00000005,
+ "type": "",
+ "reportable": True,
+ },
0x0000FFF8: {
"attributeName": "GeneratedCommandList",
"attributeId": 0x0000FFF8,
@@ -5879,6 +5909,12 @@
"reportable": True,
"writable": True,
},
+ 0x00000005: {
+ "attributeName": "ReplacementProductList",
+ "attributeId": 0x00000005,
+ "type": "",
+ "reportable": True,
+ },
0x0000FFF8: {
"attributeName": "GeneratedCommandList",
"attributeId": 0x0000FFF8,
@@ -5960,6 +5996,12 @@
"reportable": True,
"writable": True,
},
+ 0x00000005: {
+ "attributeName": "ReplacementProductList",
+ "attributeId": 0x00000005,
+ "type": "",
+ "reportable": True,
+ },
0x0000FFF8: {
"attributeName": "GeneratedCommandList",
"attributeId": 0x0000FFF8,
@@ -6041,6 +6083,12 @@
"reportable": True,
"writable": True,
},
+ 0x00000005: {
+ "attributeName": "ReplacementProductList",
+ "attributeId": 0x00000005,
+ "type": "",
+ "reportable": True,
+ },
0x0000FFF8: {
"attributeName": "GeneratedCommandList",
"attributeId": 0x0000FFF8,
@@ -6122,6 +6170,12 @@
"reportable": True,
"writable": True,
},
+ 0x00000005: {
+ "attributeName": "ReplacementProductList",
+ "attributeId": 0x00000005,
+ "type": "",
+ "reportable": True,
+ },
0x0000FFF8: {
"attributeName": "GeneratedCommandList",
"attributeId": 0x0000FFF8,
@@ -6203,6 +6257,12 @@
"reportable": True,
"writable": True,
},
+ 0x00000005: {
+ "attributeName": "ReplacementProductList",
+ "attributeId": 0x00000005,
+ "type": "",
+ "reportable": True,
+ },
0x0000FFF8: {
"attributeName": "GeneratedCommandList",
"attributeId": 0x0000FFF8,
@@ -6284,6 +6344,12 @@
"reportable": True,
"writable": True,
},
+ 0x00000005: {
+ "attributeName": "ReplacementProductList",
+ "attributeId": 0x00000005,
+ "type": "",
+ "reportable": True,
+ },
0x0000FFF8: {
"attributeName": "GeneratedCommandList",
"attributeId": 0x0000FFF8,
@@ -6365,6 +6431,12 @@
"reportable": True,
"writable": True,
},
+ 0x00000005: {
+ "attributeName": "ReplacementProductList",
+ "attributeId": 0x00000005,
+ "type": "",
+ "reportable": True,
+ },
0x0000FFF8: {
"attributeName": "GeneratedCommandList",
"attributeId": 0x0000FFF8,
diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py
index 014eb1b..8413d9e 100644
--- a/src/controller/python/chip/clusters/Objects.py
+++ b/src/controller/python/chip/clusters/Objects.py
@@ -19031,6 +19031,7 @@
ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=HepaFilterMonitoring.Enums.ChangeIndicationEnum),
ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]),
ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[HepaFilterMonitoring.Structs.ReplacementProductStruct]]),
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]),
@@ -19044,6 +19045,7 @@
changeIndication: 'HepaFilterMonitoring.Enums.ChangeIndicationEnum' = None
inPlaceIndicator: 'typing.Optional[bool]' = None
lastChangedTime: 'typing.Union[None, Nullable, uint]' = None
+ replacementProductList: 'typing.Optional[typing.List[HepaFilterMonitoring.Structs.ReplacementProductStruct]]' = None
generatedCommandList: 'typing.List[uint]' = None
acceptedCommandList: 'typing.List[uint]' = None
eventList: 'typing.List[uint]' = None
@@ -19071,11 +19073,37 @@
# enum value. This specific should never be transmitted.
kUnknownEnumValue = 2,
+ class ProductIdentifierTypeEnum(MatterIntEnum):
+ kUpc = 0x00
+ kGtin8 = 0x01
+ kEan = 0x02
+ kGtin14 = 0x03
+ kOem = 0x04
+ # All received enum values that are not listed above will be mapped
+ # to kUnknownEnumValue. This is a helper enum value that should only
+ # be used by code to process how it handles receiving and unknown
+ # enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+
class Bitmaps:
class Feature(IntFlag):
kCondition = 0x1
kWarning = 0x2
+ class Structs:
+ @dataclass
+ class ReplacementProductStruct(ClusterObject):
+ @ChipUtility.classproperty
+ def descriptor(cls) -> ClusterObjectDescriptor:
+ return ClusterObjectDescriptor(
+ Fields=[
+ ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=HepaFilterMonitoring.Enums.ProductIdentifierTypeEnum),
+ ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str),
+ ])
+
+ productIdentifierType: 'HepaFilterMonitoring.Enums.ProductIdentifierTypeEnum' = 0
+ productIdentifierValue: 'str' = ""
+
class Commands:
@dataclass
class ResetCondition(ClusterCommand):
@@ -19172,6 +19200,22 @@
value: 'typing.Union[None, Nullable, uint]' = None
@dataclass
+ class ReplacementProductList(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x0071
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000005
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[HepaFilterMonitoring.Structs.ReplacementProductStruct]])
+
+ value: 'typing.Optional[typing.List[HepaFilterMonitoring.Structs.ReplacementProductStruct]]' = None
+
+ @dataclass
class GeneratedCommandList(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
@@ -19281,6 +19325,7 @@
ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=ActivatedCarbonFilterMonitoring.Enums.ChangeIndicationEnum),
ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]),
ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[ActivatedCarbonFilterMonitoring.Structs.ReplacementProductStruct]]),
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]),
@@ -19294,6 +19339,7 @@
changeIndication: 'ActivatedCarbonFilterMonitoring.Enums.ChangeIndicationEnum' = None
inPlaceIndicator: 'typing.Optional[bool]' = None
lastChangedTime: 'typing.Union[None, Nullable, uint]' = None
+ replacementProductList: 'typing.Optional[typing.List[ActivatedCarbonFilterMonitoring.Structs.ReplacementProductStruct]]' = None
generatedCommandList: 'typing.List[uint]' = None
acceptedCommandList: 'typing.List[uint]' = None
eventList: 'typing.List[uint]' = None
@@ -19321,11 +19367,37 @@
# enum value. This specific should never be transmitted.
kUnknownEnumValue = 2,
+ class ProductIdentifierTypeEnum(MatterIntEnum):
+ kUpc = 0x00
+ kGtin8 = 0x01
+ kEan = 0x02
+ kGtin14 = 0x03
+ kOem = 0x04
+ # All received enum values that are not listed above will be mapped
+ # to kUnknownEnumValue. This is a helper enum value that should only
+ # be used by code to process how it handles receiving and unknown
+ # enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+
class Bitmaps:
class Feature(IntFlag):
kCondition = 0x1
kWarning = 0x2
+ class Structs:
+ @dataclass
+ class ReplacementProductStruct(ClusterObject):
+ @ChipUtility.classproperty
+ def descriptor(cls) -> ClusterObjectDescriptor:
+ return ClusterObjectDescriptor(
+ Fields=[
+ ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=ActivatedCarbonFilterMonitoring.Enums.ProductIdentifierTypeEnum),
+ ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str),
+ ])
+
+ productIdentifierType: 'ActivatedCarbonFilterMonitoring.Enums.ProductIdentifierTypeEnum' = 0
+ productIdentifierValue: 'str' = ""
+
class Commands:
@dataclass
class ResetCondition(ClusterCommand):
@@ -19422,6 +19494,22 @@
value: 'typing.Union[None, Nullable, uint]' = None
@dataclass
+ class ReplacementProductList(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x0072
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000005
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[ActivatedCarbonFilterMonitoring.Structs.ReplacementProductStruct]])
+
+ value: 'typing.Optional[typing.List[ActivatedCarbonFilterMonitoring.Structs.ReplacementProductStruct]]' = None
+
+ @dataclass
class GeneratedCommandList(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
@@ -19531,6 +19619,7 @@
ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=CeramicFilterMonitoring.Enums.ChangeIndicationEnum),
ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]),
ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[CeramicFilterMonitoring.Structs.ReplacementProductStruct]]),
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]),
@@ -19544,6 +19633,7 @@
changeIndication: 'CeramicFilterMonitoring.Enums.ChangeIndicationEnum' = None
inPlaceIndicator: 'typing.Optional[bool]' = None
lastChangedTime: 'typing.Union[None, Nullable, uint]' = None
+ replacementProductList: 'typing.Optional[typing.List[CeramicFilterMonitoring.Structs.ReplacementProductStruct]]' = None
generatedCommandList: 'typing.List[uint]' = None
acceptedCommandList: 'typing.List[uint]' = None
eventList: 'typing.List[uint]' = None
@@ -19571,11 +19661,37 @@
# enum value. This specific should never be transmitted.
kUnknownEnumValue = 2,
+ class ProductIdentifierTypeEnum(MatterIntEnum):
+ kUpc = 0x00
+ kGtin8 = 0x01
+ kEan = 0x02
+ kGtin14 = 0x03
+ kOem = 0x04
+ # All received enum values that are not listed above will be mapped
+ # to kUnknownEnumValue. This is a helper enum value that should only
+ # be used by code to process how it handles receiving and unknown
+ # enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+
class Bitmaps:
class Feature(IntFlag):
kCondition = 0x1
kWarning = 0x2
+ class Structs:
+ @dataclass
+ class ReplacementProductStruct(ClusterObject):
+ @ChipUtility.classproperty
+ def descriptor(cls) -> ClusterObjectDescriptor:
+ return ClusterObjectDescriptor(
+ Fields=[
+ ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=CeramicFilterMonitoring.Enums.ProductIdentifierTypeEnum),
+ ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str),
+ ])
+
+ productIdentifierType: 'CeramicFilterMonitoring.Enums.ProductIdentifierTypeEnum' = 0
+ productIdentifierValue: 'str' = ""
+
class Commands:
@dataclass
class ResetCondition(ClusterCommand):
@@ -19672,6 +19788,22 @@
value: 'typing.Union[None, Nullable, uint]' = None
@dataclass
+ class ReplacementProductList(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x0073
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000005
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[CeramicFilterMonitoring.Structs.ReplacementProductStruct]])
+
+ value: 'typing.Optional[typing.List[CeramicFilterMonitoring.Structs.ReplacementProductStruct]]' = None
+
+ @dataclass
class GeneratedCommandList(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
@@ -19781,6 +19913,7 @@
ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=ElectrostaticFilterMonitoring.Enums.ChangeIndicationEnum),
ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]),
ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[ElectrostaticFilterMonitoring.Structs.ReplacementProductStruct]]),
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]),
@@ -19794,6 +19927,7 @@
changeIndication: 'ElectrostaticFilterMonitoring.Enums.ChangeIndicationEnum' = None
inPlaceIndicator: 'typing.Optional[bool]' = None
lastChangedTime: 'typing.Union[None, Nullable, uint]' = None
+ replacementProductList: 'typing.Optional[typing.List[ElectrostaticFilterMonitoring.Structs.ReplacementProductStruct]]' = None
generatedCommandList: 'typing.List[uint]' = None
acceptedCommandList: 'typing.List[uint]' = None
eventList: 'typing.List[uint]' = None
@@ -19821,11 +19955,37 @@
# enum value. This specific should never be transmitted.
kUnknownEnumValue = 2,
+ class ProductIdentifierTypeEnum(MatterIntEnum):
+ kUpc = 0x00
+ kGtin8 = 0x01
+ kEan = 0x02
+ kGtin14 = 0x03
+ kOem = 0x04
+ # All received enum values that are not listed above will be mapped
+ # to kUnknownEnumValue. This is a helper enum value that should only
+ # be used by code to process how it handles receiving and unknown
+ # enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+
class Bitmaps:
class Feature(IntFlag):
kCondition = 0x1
kWarning = 0x2
+ class Structs:
+ @dataclass
+ class ReplacementProductStruct(ClusterObject):
+ @ChipUtility.classproperty
+ def descriptor(cls) -> ClusterObjectDescriptor:
+ return ClusterObjectDescriptor(
+ Fields=[
+ ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=ElectrostaticFilterMonitoring.Enums.ProductIdentifierTypeEnum),
+ ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str),
+ ])
+
+ productIdentifierType: 'ElectrostaticFilterMonitoring.Enums.ProductIdentifierTypeEnum' = 0
+ productIdentifierValue: 'str' = ""
+
class Commands:
@dataclass
class ResetCondition(ClusterCommand):
@@ -19922,6 +20082,22 @@
value: 'typing.Union[None, Nullable, uint]' = None
@dataclass
+ class ReplacementProductList(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x0074
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000005
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[ElectrostaticFilterMonitoring.Structs.ReplacementProductStruct]])
+
+ value: 'typing.Optional[typing.List[ElectrostaticFilterMonitoring.Structs.ReplacementProductStruct]]' = None
+
+ @dataclass
class GeneratedCommandList(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
@@ -20031,6 +20207,7 @@
ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=UvFilterMonitoring.Enums.ChangeIndicationEnum),
ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]),
ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[UvFilterMonitoring.Structs.ReplacementProductStruct]]),
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]),
@@ -20044,6 +20221,7 @@
changeIndication: 'UvFilterMonitoring.Enums.ChangeIndicationEnum' = None
inPlaceIndicator: 'typing.Optional[bool]' = None
lastChangedTime: 'typing.Union[None, Nullable, uint]' = None
+ replacementProductList: 'typing.Optional[typing.List[UvFilterMonitoring.Structs.ReplacementProductStruct]]' = None
generatedCommandList: 'typing.List[uint]' = None
acceptedCommandList: 'typing.List[uint]' = None
eventList: 'typing.List[uint]' = None
@@ -20071,11 +20249,37 @@
# enum value. This specific should never be transmitted.
kUnknownEnumValue = 2,
+ class ProductIdentifierTypeEnum(MatterIntEnum):
+ kUpc = 0x00
+ kGtin8 = 0x01
+ kEan = 0x02
+ kGtin14 = 0x03
+ kOem = 0x04
+ # All received enum values that are not listed above will be mapped
+ # to kUnknownEnumValue. This is a helper enum value that should only
+ # be used by code to process how it handles receiving and unknown
+ # enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+
class Bitmaps:
class Feature(IntFlag):
kCondition = 0x1
kWarning = 0x2
+ class Structs:
+ @dataclass
+ class ReplacementProductStruct(ClusterObject):
+ @ChipUtility.classproperty
+ def descriptor(cls) -> ClusterObjectDescriptor:
+ return ClusterObjectDescriptor(
+ Fields=[
+ ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=UvFilterMonitoring.Enums.ProductIdentifierTypeEnum),
+ ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str),
+ ])
+
+ productIdentifierType: 'UvFilterMonitoring.Enums.ProductIdentifierTypeEnum' = 0
+ productIdentifierValue: 'str' = ""
+
class Commands:
@dataclass
class ResetCondition(ClusterCommand):
@@ -20172,6 +20376,22 @@
value: 'typing.Union[None, Nullable, uint]' = None
@dataclass
+ class ReplacementProductList(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x0075
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000005
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[UvFilterMonitoring.Structs.ReplacementProductStruct]])
+
+ value: 'typing.Optional[typing.List[UvFilterMonitoring.Structs.ReplacementProductStruct]]' = None
+
+ @dataclass
class GeneratedCommandList(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
@@ -20281,6 +20501,7 @@
ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=IonizingFilterMonitoring.Enums.ChangeIndicationEnum),
ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]),
ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[IonizingFilterMonitoring.Structs.ReplacementProductStruct]]),
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]),
@@ -20294,6 +20515,7 @@
changeIndication: 'IonizingFilterMonitoring.Enums.ChangeIndicationEnum' = None
inPlaceIndicator: 'typing.Optional[bool]' = None
lastChangedTime: 'typing.Union[None, Nullable, uint]' = None
+ replacementProductList: 'typing.Optional[typing.List[IonizingFilterMonitoring.Structs.ReplacementProductStruct]]' = None
generatedCommandList: 'typing.List[uint]' = None
acceptedCommandList: 'typing.List[uint]' = None
eventList: 'typing.List[uint]' = None
@@ -20321,11 +20543,37 @@
# enum value. This specific should never be transmitted.
kUnknownEnumValue = 2,
+ class ProductIdentifierTypeEnum(MatterIntEnum):
+ kUpc = 0x00
+ kGtin8 = 0x01
+ kEan = 0x02
+ kGtin14 = 0x03
+ kOem = 0x04
+ # All received enum values that are not listed above will be mapped
+ # to kUnknownEnumValue. This is a helper enum value that should only
+ # be used by code to process how it handles receiving and unknown
+ # enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+
class Bitmaps:
class Feature(IntFlag):
kCondition = 0x1
kWarning = 0x2
+ class Structs:
+ @dataclass
+ class ReplacementProductStruct(ClusterObject):
+ @ChipUtility.classproperty
+ def descriptor(cls) -> ClusterObjectDescriptor:
+ return ClusterObjectDescriptor(
+ Fields=[
+ ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=IonizingFilterMonitoring.Enums.ProductIdentifierTypeEnum),
+ ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str),
+ ])
+
+ productIdentifierType: 'IonizingFilterMonitoring.Enums.ProductIdentifierTypeEnum' = 0
+ productIdentifierValue: 'str' = ""
+
class Commands:
@dataclass
class ResetCondition(ClusterCommand):
@@ -20422,6 +20670,22 @@
value: 'typing.Union[None, Nullable, uint]' = None
@dataclass
+ class ReplacementProductList(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x0076
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000005
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[IonizingFilterMonitoring.Structs.ReplacementProductStruct]])
+
+ value: 'typing.Optional[typing.List[IonizingFilterMonitoring.Structs.ReplacementProductStruct]]' = None
+
+ @dataclass
class GeneratedCommandList(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
@@ -20531,6 +20795,7 @@
ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=ZeoliteFilterMonitoring.Enums.ChangeIndicationEnum),
ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]),
ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[ZeoliteFilterMonitoring.Structs.ReplacementProductStruct]]),
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]),
@@ -20544,6 +20809,7 @@
changeIndication: 'ZeoliteFilterMonitoring.Enums.ChangeIndicationEnum' = None
inPlaceIndicator: 'typing.Optional[bool]' = None
lastChangedTime: 'typing.Union[None, Nullable, uint]' = None
+ replacementProductList: 'typing.Optional[typing.List[ZeoliteFilterMonitoring.Structs.ReplacementProductStruct]]' = None
generatedCommandList: 'typing.List[uint]' = None
acceptedCommandList: 'typing.List[uint]' = None
eventList: 'typing.List[uint]' = None
@@ -20571,11 +20837,37 @@
# enum value. This specific should never be transmitted.
kUnknownEnumValue = 2,
+ class ProductIdentifierTypeEnum(MatterIntEnum):
+ kUpc = 0x00
+ kGtin8 = 0x01
+ kEan = 0x02
+ kGtin14 = 0x03
+ kOem = 0x04
+ # All received enum values that are not listed above will be mapped
+ # to kUnknownEnumValue. This is a helper enum value that should only
+ # be used by code to process how it handles receiving and unknown
+ # enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+
class Bitmaps:
class Feature(IntFlag):
kCondition = 0x1
kWarning = 0x2
+ class Structs:
+ @dataclass
+ class ReplacementProductStruct(ClusterObject):
+ @ChipUtility.classproperty
+ def descriptor(cls) -> ClusterObjectDescriptor:
+ return ClusterObjectDescriptor(
+ Fields=[
+ ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=ZeoliteFilterMonitoring.Enums.ProductIdentifierTypeEnum),
+ ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str),
+ ])
+
+ productIdentifierType: 'ZeoliteFilterMonitoring.Enums.ProductIdentifierTypeEnum' = 0
+ productIdentifierValue: 'str' = ""
+
class Commands:
@dataclass
class ResetCondition(ClusterCommand):
@@ -20672,6 +20964,22 @@
value: 'typing.Union[None, Nullable, uint]' = None
@dataclass
+ class ReplacementProductList(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x0077
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000005
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[ZeoliteFilterMonitoring.Structs.ReplacementProductStruct]])
+
+ value: 'typing.Optional[typing.List[ZeoliteFilterMonitoring.Structs.ReplacementProductStruct]]' = None
+
+ @dataclass
class GeneratedCommandList(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
@@ -20781,6 +21089,7 @@
ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=OzoneFilterMonitoring.Enums.ChangeIndicationEnum),
ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]),
ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[OzoneFilterMonitoring.Structs.ReplacementProductStruct]]),
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]),
@@ -20794,6 +21103,7 @@
changeIndication: 'OzoneFilterMonitoring.Enums.ChangeIndicationEnum' = None
inPlaceIndicator: 'typing.Optional[bool]' = None
lastChangedTime: 'typing.Union[None, Nullable, uint]' = None
+ replacementProductList: 'typing.Optional[typing.List[OzoneFilterMonitoring.Structs.ReplacementProductStruct]]' = None
generatedCommandList: 'typing.List[uint]' = None
acceptedCommandList: 'typing.List[uint]' = None
eventList: 'typing.List[uint]' = None
@@ -20821,11 +21131,37 @@
# enum value. This specific should never be transmitted.
kUnknownEnumValue = 2,
+ class ProductIdentifierTypeEnum(MatterIntEnum):
+ kUpc = 0x00
+ kGtin8 = 0x01
+ kEan = 0x02
+ kGtin14 = 0x03
+ kOem = 0x04
+ # All received enum values that are not listed above will be mapped
+ # to kUnknownEnumValue. This is a helper enum value that should only
+ # be used by code to process how it handles receiving and unknown
+ # enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+
class Bitmaps:
class Feature(IntFlag):
kCondition = 0x1
kWarning = 0x2
+ class Structs:
+ @dataclass
+ class ReplacementProductStruct(ClusterObject):
+ @ChipUtility.classproperty
+ def descriptor(cls) -> ClusterObjectDescriptor:
+ return ClusterObjectDescriptor(
+ Fields=[
+ ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=OzoneFilterMonitoring.Enums.ProductIdentifierTypeEnum),
+ ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str),
+ ])
+
+ productIdentifierType: 'OzoneFilterMonitoring.Enums.ProductIdentifierTypeEnum' = 0
+ productIdentifierValue: 'str' = ""
+
class Commands:
@dataclass
class ResetCondition(ClusterCommand):
@@ -20922,6 +21258,22 @@
value: 'typing.Union[None, Nullable, uint]' = None
@dataclass
+ class ReplacementProductList(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x0078
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000005
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[OzoneFilterMonitoring.Structs.ReplacementProductStruct]])
+
+ value: 'typing.Optional[typing.List[OzoneFilterMonitoring.Structs.ReplacementProductStruct]]' = None
+
+ @dataclass
class GeneratedCommandList(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
@@ -21031,6 +21383,7 @@
ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=WaterTankMonitoring.Enums.ChangeIndicationEnum),
ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]),
ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[WaterTankMonitoring.Structs.ReplacementProductStruct]]),
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]),
@@ -21044,6 +21397,7 @@
changeIndication: 'WaterTankMonitoring.Enums.ChangeIndicationEnum' = None
inPlaceIndicator: 'typing.Optional[bool]' = None
lastChangedTime: 'typing.Union[None, Nullable, uint]' = None
+ replacementProductList: 'typing.Optional[typing.List[WaterTankMonitoring.Structs.ReplacementProductStruct]]' = None
generatedCommandList: 'typing.List[uint]' = None
acceptedCommandList: 'typing.List[uint]' = None
eventList: 'typing.List[uint]' = None
@@ -21071,11 +21425,37 @@
# enum value. This specific should never be transmitted.
kUnknownEnumValue = 2,
+ class ProductIdentifierTypeEnum(MatterIntEnum):
+ kUpc = 0x00
+ kGtin8 = 0x01
+ kEan = 0x02
+ kGtin14 = 0x03
+ kOem = 0x04
+ # All received enum values that are not listed above will be mapped
+ # to kUnknownEnumValue. This is a helper enum value that should only
+ # be used by code to process how it handles receiving and unknown
+ # enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+
class Bitmaps:
class Feature(IntFlag):
kCondition = 0x1
kWarning = 0x2
+ class Structs:
+ @dataclass
+ class ReplacementProductStruct(ClusterObject):
+ @ChipUtility.classproperty
+ def descriptor(cls) -> ClusterObjectDescriptor:
+ return ClusterObjectDescriptor(
+ Fields=[
+ ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=WaterTankMonitoring.Enums.ProductIdentifierTypeEnum),
+ ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str),
+ ])
+
+ productIdentifierType: 'WaterTankMonitoring.Enums.ProductIdentifierTypeEnum' = 0
+ productIdentifierValue: 'str' = ""
+
class Commands:
@dataclass
class ResetCondition(ClusterCommand):
@@ -21172,6 +21552,22 @@
value: 'typing.Union[None, Nullable, uint]' = None
@dataclass
+ class ReplacementProductList(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x0079
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000005
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[WaterTankMonitoring.Structs.ReplacementProductStruct]])
+
+ value: 'typing.Optional[typing.List[WaterTankMonitoring.Structs.ReplacementProductStruct]]' = None
+
+ @dataclass
class GeneratedCommandList(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
@@ -21281,6 +21677,7 @@
ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=FuelTankMonitoring.Enums.ChangeIndicationEnum),
ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]),
ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[FuelTankMonitoring.Structs.ReplacementProductStruct]]),
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]),
@@ -21294,6 +21691,7 @@
changeIndication: 'FuelTankMonitoring.Enums.ChangeIndicationEnum' = None
inPlaceIndicator: 'typing.Optional[bool]' = None
lastChangedTime: 'typing.Union[None, Nullable, uint]' = None
+ replacementProductList: 'typing.Optional[typing.List[FuelTankMonitoring.Structs.ReplacementProductStruct]]' = None
generatedCommandList: 'typing.List[uint]' = None
acceptedCommandList: 'typing.List[uint]' = None
eventList: 'typing.List[uint]' = None
@@ -21321,11 +21719,37 @@
# enum value. This specific should never be transmitted.
kUnknownEnumValue = 2,
+ class ProductIdentifierTypeEnum(MatterIntEnum):
+ kUpc = 0x00
+ kGtin8 = 0x01
+ kEan = 0x02
+ kGtin14 = 0x03
+ kOem = 0x04
+ # All received enum values that are not listed above will be mapped
+ # to kUnknownEnumValue. This is a helper enum value that should only
+ # be used by code to process how it handles receiving and unknown
+ # enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+
class Bitmaps:
class Feature(IntFlag):
kCondition = 0x1
kWarning = 0x2
+ class Structs:
+ @dataclass
+ class ReplacementProductStruct(ClusterObject):
+ @ChipUtility.classproperty
+ def descriptor(cls) -> ClusterObjectDescriptor:
+ return ClusterObjectDescriptor(
+ Fields=[
+ ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=FuelTankMonitoring.Enums.ProductIdentifierTypeEnum),
+ ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str),
+ ])
+
+ productIdentifierType: 'FuelTankMonitoring.Enums.ProductIdentifierTypeEnum' = 0
+ productIdentifierValue: 'str' = ""
+
class Commands:
@dataclass
class ResetCondition(ClusterCommand):
@@ -21422,6 +21846,22 @@
value: 'typing.Union[None, Nullable, uint]' = None
@dataclass
+ class ReplacementProductList(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x007A
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000005
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[FuelTankMonitoring.Structs.ReplacementProductStruct]])
+
+ value: 'typing.Optional[typing.List[FuelTankMonitoring.Structs.ReplacementProductStruct]]' = None
+
+ @dataclass
class GeneratedCommandList(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
@@ -21531,6 +21971,7 @@
ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=InkCartridgeMonitoring.Enums.ChangeIndicationEnum),
ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]),
ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[InkCartridgeMonitoring.Structs.ReplacementProductStruct]]),
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]),
@@ -21544,6 +21985,7 @@
changeIndication: 'InkCartridgeMonitoring.Enums.ChangeIndicationEnum' = None
inPlaceIndicator: 'typing.Optional[bool]' = None
lastChangedTime: 'typing.Union[None, Nullable, uint]' = None
+ replacementProductList: 'typing.Optional[typing.List[InkCartridgeMonitoring.Structs.ReplacementProductStruct]]' = None
generatedCommandList: 'typing.List[uint]' = None
acceptedCommandList: 'typing.List[uint]' = None
eventList: 'typing.List[uint]' = None
@@ -21571,11 +22013,37 @@
# enum value. This specific should never be transmitted.
kUnknownEnumValue = 2,
+ class ProductIdentifierTypeEnum(MatterIntEnum):
+ kUpc = 0x00
+ kGtin8 = 0x01
+ kEan = 0x02
+ kGtin14 = 0x03
+ kOem = 0x04
+ # All received enum values that are not listed above will be mapped
+ # to kUnknownEnumValue. This is a helper enum value that should only
+ # be used by code to process how it handles receiving and unknown
+ # enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+
class Bitmaps:
class Feature(IntFlag):
kCondition = 0x1
kWarning = 0x2
+ class Structs:
+ @dataclass
+ class ReplacementProductStruct(ClusterObject):
+ @ChipUtility.classproperty
+ def descriptor(cls) -> ClusterObjectDescriptor:
+ return ClusterObjectDescriptor(
+ Fields=[
+ ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=InkCartridgeMonitoring.Enums.ProductIdentifierTypeEnum),
+ ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str),
+ ])
+
+ productIdentifierType: 'InkCartridgeMonitoring.Enums.ProductIdentifierTypeEnum' = 0
+ productIdentifierValue: 'str' = ""
+
class Commands:
@dataclass
class ResetCondition(ClusterCommand):
@@ -21672,6 +22140,22 @@
value: 'typing.Union[None, Nullable, uint]' = None
@dataclass
+ class ReplacementProductList(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x007B
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000005
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[InkCartridgeMonitoring.Structs.ReplacementProductStruct]])
+
+ value: 'typing.Optional[typing.List[InkCartridgeMonitoring.Structs.ReplacementProductStruct]]' = None
+
+ @dataclass
class GeneratedCommandList(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
@@ -21781,6 +22265,7 @@
ClusterObjectFieldDescriptor(Label="changeIndication", Tag=0x00000002, Type=TonerCartridgeMonitoring.Enums.ChangeIndicationEnum),
ClusterObjectFieldDescriptor(Label="inPlaceIndicator", Tag=0x00000003, Type=typing.Optional[bool]),
ClusterObjectFieldDescriptor(Label="lastChangedTime", Tag=0x00000004, Type=typing.Union[None, Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="replacementProductList", Tag=0x00000005, Type=typing.Optional[typing.List[TonerCartridgeMonitoring.Structs.ReplacementProductStruct]]),
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]),
@@ -21794,6 +22279,7 @@
changeIndication: 'TonerCartridgeMonitoring.Enums.ChangeIndicationEnum' = None
inPlaceIndicator: 'typing.Optional[bool]' = None
lastChangedTime: 'typing.Union[None, Nullable, uint]' = None
+ replacementProductList: 'typing.Optional[typing.List[TonerCartridgeMonitoring.Structs.ReplacementProductStruct]]' = None
generatedCommandList: 'typing.List[uint]' = None
acceptedCommandList: 'typing.List[uint]' = None
eventList: 'typing.List[uint]' = None
@@ -21821,11 +22307,37 @@
# enum value. This specific should never be transmitted.
kUnknownEnumValue = 2,
+ class ProductIdentifierTypeEnum(MatterIntEnum):
+ kUpc = 0x00
+ kGtin8 = 0x01
+ kEan = 0x02
+ kGtin14 = 0x03
+ kOem = 0x04
+ # All received enum values that are not listed above will be mapped
+ # to kUnknownEnumValue. This is a helper enum value that should only
+ # be used by code to process how it handles receiving and unknown
+ # enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+
class Bitmaps:
class Feature(IntFlag):
kCondition = 0x1
kWarning = 0x2
+ class Structs:
+ @dataclass
+ class ReplacementProductStruct(ClusterObject):
+ @ChipUtility.classproperty
+ def descriptor(cls) -> ClusterObjectDescriptor:
+ return ClusterObjectDescriptor(
+ Fields=[
+ ClusterObjectFieldDescriptor(Label="productIdentifierType", Tag=0, Type=TonerCartridgeMonitoring.Enums.ProductIdentifierTypeEnum),
+ ClusterObjectFieldDescriptor(Label="productIdentifierValue", Tag=1, Type=str),
+ ])
+
+ productIdentifierType: 'TonerCartridgeMonitoring.Enums.ProductIdentifierTypeEnum' = 0
+ productIdentifierValue: 'str' = ""
+
class Commands:
@dataclass
class ResetCondition(ClusterCommand):
@@ -21922,6 +22434,22 @@
value: 'typing.Union[None, Nullable, uint]' = None
@dataclass
+ class ReplacementProductList(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x007C
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000005
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[TonerCartridgeMonitoring.Structs.ReplacementProductStruct]])
+
+ value: 'typing.Optional[typing.List[TonerCartridgeMonitoring.Structs.ReplacementProductStruct]]' = None
+
+ @dataclass
class GeneratedCommandList(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h
index 32f6649..5ba0ab8 100644
--- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h
+++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h
@@ -1538,6 +1538,21 @@
return static_cast<EnumType>(2);
}
}
+static auto __attribute__((unused)) EnsureKnownEnumValue(HepaFilterMonitoring::ProductIdentifierTypeEnum val)
+{
+ using EnumType = HepaFilterMonitoring::ProductIdentifierTypeEnum;
+ switch (val)
+ {
+ case EnumType::kUpc:
+ case EnumType::kGtin8:
+ case EnumType::kEan:
+ case EnumType::kGtin14:
+ case EnumType::kOem:
+ return val;
+ default:
+ return static_cast<EnumType>(5);
+ }
+}
static auto __attribute__((unused)) EnsureKnownEnumValue(ActivatedCarbonFilterMonitoring::ChangeIndicationEnum val)
{
@@ -1564,6 +1579,21 @@
return static_cast<EnumType>(2);
}
}
+static auto __attribute__((unused)) EnsureKnownEnumValue(ActivatedCarbonFilterMonitoring::ProductIdentifierTypeEnum val)
+{
+ using EnumType = ActivatedCarbonFilterMonitoring::ProductIdentifierTypeEnum;
+ switch (val)
+ {
+ case EnumType::kUpc:
+ case EnumType::kGtin8:
+ case EnumType::kEan:
+ case EnumType::kGtin14:
+ case EnumType::kOem:
+ return val;
+ default:
+ return static_cast<EnumType>(5);
+ }
+}
static auto __attribute__((unused)) EnsureKnownEnumValue(CeramicFilterMonitoring::ChangeIndicationEnum val)
{
@@ -1590,6 +1620,21 @@
return static_cast<EnumType>(2);
}
}
+static auto __attribute__((unused)) EnsureKnownEnumValue(CeramicFilterMonitoring::ProductIdentifierTypeEnum val)
+{
+ using EnumType = CeramicFilterMonitoring::ProductIdentifierTypeEnum;
+ switch (val)
+ {
+ case EnumType::kUpc:
+ case EnumType::kGtin8:
+ case EnumType::kEan:
+ case EnumType::kGtin14:
+ case EnumType::kOem:
+ return val;
+ default:
+ return static_cast<EnumType>(5);
+ }
+}
static auto __attribute__((unused)) EnsureKnownEnumValue(ElectrostaticFilterMonitoring::ChangeIndicationEnum val)
{
@@ -1616,6 +1661,21 @@
return static_cast<EnumType>(2);
}
}
+static auto __attribute__((unused)) EnsureKnownEnumValue(ElectrostaticFilterMonitoring::ProductIdentifierTypeEnum val)
+{
+ using EnumType = ElectrostaticFilterMonitoring::ProductIdentifierTypeEnum;
+ switch (val)
+ {
+ case EnumType::kUpc:
+ case EnumType::kGtin8:
+ case EnumType::kEan:
+ case EnumType::kGtin14:
+ case EnumType::kOem:
+ return val;
+ default:
+ return static_cast<EnumType>(5);
+ }
+}
static auto __attribute__((unused)) EnsureKnownEnumValue(UvFilterMonitoring::ChangeIndicationEnum val)
{
@@ -1642,6 +1702,21 @@
return static_cast<EnumType>(2);
}
}
+static auto __attribute__((unused)) EnsureKnownEnumValue(UvFilterMonitoring::ProductIdentifierTypeEnum val)
+{
+ using EnumType = UvFilterMonitoring::ProductIdentifierTypeEnum;
+ switch (val)
+ {
+ case EnumType::kUpc:
+ case EnumType::kGtin8:
+ case EnumType::kEan:
+ case EnumType::kGtin14:
+ case EnumType::kOem:
+ return val;
+ default:
+ return static_cast<EnumType>(5);
+ }
+}
static auto __attribute__((unused)) EnsureKnownEnumValue(IonizingFilterMonitoring::ChangeIndicationEnum val)
{
@@ -1668,6 +1743,21 @@
return static_cast<EnumType>(2);
}
}
+static auto __attribute__((unused)) EnsureKnownEnumValue(IonizingFilterMonitoring::ProductIdentifierTypeEnum val)
+{
+ using EnumType = IonizingFilterMonitoring::ProductIdentifierTypeEnum;
+ switch (val)
+ {
+ case EnumType::kUpc:
+ case EnumType::kGtin8:
+ case EnumType::kEan:
+ case EnumType::kGtin14:
+ case EnumType::kOem:
+ return val;
+ default:
+ return static_cast<EnumType>(5);
+ }
+}
static auto __attribute__((unused)) EnsureKnownEnumValue(ZeoliteFilterMonitoring::ChangeIndicationEnum val)
{
@@ -1694,6 +1784,21 @@
return static_cast<EnumType>(2);
}
}
+static auto __attribute__((unused)) EnsureKnownEnumValue(ZeoliteFilterMonitoring::ProductIdentifierTypeEnum val)
+{
+ using EnumType = ZeoliteFilterMonitoring::ProductIdentifierTypeEnum;
+ switch (val)
+ {
+ case EnumType::kUpc:
+ case EnumType::kGtin8:
+ case EnumType::kEan:
+ case EnumType::kGtin14:
+ case EnumType::kOem:
+ return val;
+ default:
+ return static_cast<EnumType>(5);
+ }
+}
static auto __attribute__((unused)) EnsureKnownEnumValue(OzoneFilterMonitoring::ChangeIndicationEnum val)
{
@@ -1720,6 +1825,21 @@
return static_cast<EnumType>(2);
}
}
+static auto __attribute__((unused)) EnsureKnownEnumValue(OzoneFilterMonitoring::ProductIdentifierTypeEnum val)
+{
+ using EnumType = OzoneFilterMonitoring::ProductIdentifierTypeEnum;
+ switch (val)
+ {
+ case EnumType::kUpc:
+ case EnumType::kGtin8:
+ case EnumType::kEan:
+ case EnumType::kGtin14:
+ case EnumType::kOem:
+ return val;
+ default:
+ return static_cast<EnumType>(5);
+ }
+}
static auto __attribute__((unused)) EnsureKnownEnumValue(WaterTankMonitoring::ChangeIndicationEnum val)
{
@@ -1746,6 +1866,21 @@
return static_cast<EnumType>(2);
}
}
+static auto __attribute__((unused)) EnsureKnownEnumValue(WaterTankMonitoring::ProductIdentifierTypeEnum val)
+{
+ using EnumType = WaterTankMonitoring::ProductIdentifierTypeEnum;
+ switch (val)
+ {
+ case EnumType::kUpc:
+ case EnumType::kGtin8:
+ case EnumType::kEan:
+ case EnumType::kGtin14:
+ case EnumType::kOem:
+ return val;
+ default:
+ return static_cast<EnumType>(5);
+ }
+}
static auto __attribute__((unused)) EnsureKnownEnumValue(FuelTankMonitoring::ChangeIndicationEnum val)
{
@@ -1772,6 +1907,21 @@
return static_cast<EnumType>(2);
}
}
+static auto __attribute__((unused)) EnsureKnownEnumValue(FuelTankMonitoring::ProductIdentifierTypeEnum val)
+{
+ using EnumType = FuelTankMonitoring::ProductIdentifierTypeEnum;
+ switch (val)
+ {
+ case EnumType::kUpc:
+ case EnumType::kGtin8:
+ case EnumType::kEan:
+ case EnumType::kGtin14:
+ case EnumType::kOem:
+ return val;
+ default:
+ return static_cast<EnumType>(5);
+ }
+}
static auto __attribute__((unused)) EnsureKnownEnumValue(InkCartridgeMonitoring::ChangeIndicationEnum val)
{
@@ -1798,6 +1948,21 @@
return static_cast<EnumType>(2);
}
}
+static auto __attribute__((unused)) EnsureKnownEnumValue(InkCartridgeMonitoring::ProductIdentifierTypeEnum val)
+{
+ using EnumType = InkCartridgeMonitoring::ProductIdentifierTypeEnum;
+ switch (val)
+ {
+ case EnumType::kUpc:
+ case EnumType::kGtin8:
+ case EnumType::kEan:
+ case EnumType::kGtin14:
+ case EnumType::kOem:
+ return val;
+ default:
+ return static_cast<EnumType>(5);
+ }
+}
static auto __attribute__((unused)) EnsureKnownEnumValue(TonerCartridgeMonitoring::ChangeIndicationEnum val)
{
@@ -1824,6 +1989,21 @@
return static_cast<EnumType>(2);
}
}
+static auto __attribute__((unused)) EnsureKnownEnumValue(TonerCartridgeMonitoring::ProductIdentifierTypeEnum val)
+{
+ using EnumType = TonerCartridgeMonitoring::ProductIdentifierTypeEnum;
+ switch (val)
+ {
+ case EnumType::kUpc:
+ case EnumType::kGtin8:
+ case EnumType::kEan:
+ case EnumType::kGtin14:
+ case EnumType::kOem:
+ return val;
+ default:
+ return static_cast<EnumType>(5);
+ }
+}
static auto __attribute__((unused)) EnsureKnownEnumValue(DoorLock::AlarmCodeEnum val)
{
diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h
index e010f7a..67c365c 100644
--- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h
+++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h
@@ -1885,6 +1885,21 @@
kUnknownEnumValue = 2,
};
+// Enum for ProductIdentifierTypeEnum
+enum class ProductIdentifierTypeEnum : uint8_t
+{
+ kUpc = 0x00,
+ kGtin8 = 0x01,
+ kEan = 0x02,
+ kGtin14 = 0x03,
+ kOem = 0x04,
+ // All received enum values that are not listed above will be mapped
+ // to kUnknownEnumValue. This is a helper enum value that should only
+ // be used by code to process how it handles receiving and unknown
+ // enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+};
+
// Bitmap for Feature
enum class Feature : uint32_t
{
@@ -1920,6 +1935,21 @@
kUnknownEnumValue = 2,
};
+// Enum for ProductIdentifierTypeEnum
+enum class ProductIdentifierTypeEnum : uint8_t
+{
+ kUpc = 0x00,
+ kGtin8 = 0x01,
+ kEan = 0x02,
+ kGtin14 = 0x03,
+ kOem = 0x04,
+ // All received enum values that are not listed above will be mapped
+ // to kUnknownEnumValue. This is a helper enum value that should only
+ // be used by code to process how it handles receiving and unknown
+ // enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+};
+
// Bitmap for Feature
enum class Feature : uint32_t
{
@@ -1955,6 +1985,21 @@
kUnknownEnumValue = 2,
};
+// Enum for ProductIdentifierTypeEnum
+enum class ProductIdentifierTypeEnum : uint8_t
+{
+ kUpc = 0x00,
+ kGtin8 = 0x01,
+ kEan = 0x02,
+ kGtin14 = 0x03,
+ kOem = 0x04,
+ // All received enum values that are not listed above will be mapped
+ // to kUnknownEnumValue. This is a helper enum value that should only
+ // be used by code to process how it handles receiving and unknown
+ // enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+};
+
// Bitmap for Feature
enum class Feature : uint32_t
{
@@ -1990,6 +2035,21 @@
kUnknownEnumValue = 2,
};
+// Enum for ProductIdentifierTypeEnum
+enum class ProductIdentifierTypeEnum : uint8_t
+{
+ kUpc = 0x00,
+ kGtin8 = 0x01,
+ kEan = 0x02,
+ kGtin14 = 0x03,
+ kOem = 0x04,
+ // All received enum values that are not listed above will be mapped
+ // to kUnknownEnumValue. This is a helper enum value that should only
+ // be used by code to process how it handles receiving and unknown
+ // enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+};
+
// Bitmap for Feature
enum class Feature : uint32_t
{
@@ -2025,6 +2085,21 @@
kUnknownEnumValue = 2,
};
+// Enum for ProductIdentifierTypeEnum
+enum class ProductIdentifierTypeEnum : uint8_t
+{
+ kUpc = 0x00,
+ kGtin8 = 0x01,
+ kEan = 0x02,
+ kGtin14 = 0x03,
+ kOem = 0x04,
+ // All received enum values that are not listed above will be mapped
+ // to kUnknownEnumValue. This is a helper enum value that should only
+ // be used by code to process how it handles receiving and unknown
+ // enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+};
+
// Bitmap for Feature
enum class Feature : uint32_t
{
@@ -2060,6 +2135,21 @@
kUnknownEnumValue = 2,
};
+// Enum for ProductIdentifierTypeEnum
+enum class ProductIdentifierTypeEnum : uint8_t
+{
+ kUpc = 0x00,
+ kGtin8 = 0x01,
+ kEan = 0x02,
+ kGtin14 = 0x03,
+ kOem = 0x04,
+ // All received enum values that are not listed above will be mapped
+ // to kUnknownEnumValue. This is a helper enum value that should only
+ // be used by code to process how it handles receiving and unknown
+ // enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+};
+
// Bitmap for Feature
enum class Feature : uint32_t
{
@@ -2095,6 +2185,21 @@
kUnknownEnumValue = 2,
};
+// Enum for ProductIdentifierTypeEnum
+enum class ProductIdentifierTypeEnum : uint8_t
+{
+ kUpc = 0x00,
+ kGtin8 = 0x01,
+ kEan = 0x02,
+ kGtin14 = 0x03,
+ kOem = 0x04,
+ // All received enum values that are not listed above will be mapped
+ // to kUnknownEnumValue. This is a helper enum value that should only
+ // be used by code to process how it handles receiving and unknown
+ // enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+};
+
// Bitmap for Feature
enum class Feature : uint32_t
{
@@ -2130,6 +2235,21 @@
kUnknownEnumValue = 2,
};
+// Enum for ProductIdentifierTypeEnum
+enum class ProductIdentifierTypeEnum : uint8_t
+{
+ kUpc = 0x00,
+ kGtin8 = 0x01,
+ kEan = 0x02,
+ kGtin14 = 0x03,
+ kOem = 0x04,
+ // All received enum values that are not listed above will be mapped
+ // to kUnknownEnumValue. This is a helper enum value that should only
+ // be used by code to process how it handles receiving and unknown
+ // enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+};
+
// Bitmap for Feature
enum class Feature : uint32_t
{
@@ -2165,6 +2285,21 @@
kUnknownEnumValue = 2,
};
+// Enum for ProductIdentifierTypeEnum
+enum class ProductIdentifierTypeEnum : uint8_t
+{
+ kUpc = 0x00,
+ kGtin8 = 0x01,
+ kEan = 0x02,
+ kGtin14 = 0x03,
+ kOem = 0x04,
+ // All received enum values that are not listed above will be mapped
+ // to kUnknownEnumValue. This is a helper enum value that should only
+ // be used by code to process how it handles receiving and unknown
+ // enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+};
+
// Bitmap for Feature
enum class Feature : uint32_t
{
@@ -2200,6 +2335,21 @@
kUnknownEnumValue = 2,
};
+// Enum for ProductIdentifierTypeEnum
+enum class ProductIdentifierTypeEnum : uint8_t
+{
+ kUpc = 0x00,
+ kGtin8 = 0x01,
+ kEan = 0x02,
+ kGtin14 = 0x03,
+ kOem = 0x04,
+ // All received enum values that are not listed above will be mapped
+ // to kUnknownEnumValue. This is a helper enum value that should only
+ // be used by code to process how it handles receiving and unknown
+ // enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+};
+
// Bitmap for Feature
enum class Feature : uint32_t
{
@@ -2235,6 +2385,21 @@
kUnknownEnumValue = 2,
};
+// Enum for ProductIdentifierTypeEnum
+enum class ProductIdentifierTypeEnum : uint8_t
+{
+ kUpc = 0x00,
+ kGtin8 = 0x01,
+ kEan = 0x02,
+ kGtin14 = 0x03,
+ kOem = 0x04,
+ // All received enum values that are not listed above will be mapped
+ // to kUnknownEnumValue. This is a helper enum value that should only
+ // be used by code to process how it handles receiving and unknown
+ // enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+};
+
// Bitmap for Feature
enum class Feature : uint32_t
{
@@ -2270,6 +2435,21 @@
kUnknownEnumValue = 2,
};
+// Enum for ProductIdentifierTypeEnum
+enum class ProductIdentifierTypeEnum : uint8_t
+{
+ kUpc = 0x00,
+ kGtin8 = 0x01,
+ kEan = 0x02,
+ kGtin14 = 0x03,
+ kOem = 0x04,
+ // All received enum values that are not listed above will be mapped
+ // to kUnknownEnumValue. This is a helper enum value that should only
+ // be used by code to process how it handles receiving and unknown
+ // enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+};
+
// Bitmap for Feature
enum class Feature : uint32_t
{
diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp
index 39e6bde..5689c94 100644
--- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp
+++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp
@@ -13817,6 +13817,52 @@
} // namespace RvcOperationalState
namespace HepaFilterMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const
+{
+ TLV::TLVType outer;
+ ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue));
+ ReturnErrorOnFailure(writer.EndContainer(outer));
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader)
+{
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ TLV::TLVType outer;
+ VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
+ err = reader.EnterContainer(outer);
+ ReturnErrorOnFailure(err);
+ while ((err = reader.Next()) == CHIP_NO_ERROR)
+ {
+ if (!TLV::IsContextTag(reader.GetTag()))
+ {
+ continue;
+ }
+ switch (TLV::TagNumFromTag(reader.GetTag()))
+ {
+ case to_underlying(Fields::kProductIdentifierType):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType));
+ break;
+ case to_underlying(Fields::kProductIdentifierValue):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue));
+ break;
+ default:
+ break;
+ }
+ }
+
+ VerifyOrReturnError(err == CHIP_END_OF_TLV, err);
+ ReturnErrorOnFailure(reader.ExitContainer(outer));
+
+ return CHIP_NO_ERROR;
+}
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
namespace ResetCondition {
@@ -13874,6 +13920,9 @@
case Attributes::LastChangedTime::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime));
break;
+ case Attributes::ReplacementProductList::TypeInfo::GetAttributeId():
+ ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList));
+ break;
case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList));
break;
@@ -13904,6 +13953,52 @@
} // namespace HepaFilterMonitoring
namespace ActivatedCarbonFilterMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const
+{
+ TLV::TLVType outer;
+ ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue));
+ ReturnErrorOnFailure(writer.EndContainer(outer));
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader)
+{
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ TLV::TLVType outer;
+ VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
+ err = reader.EnterContainer(outer);
+ ReturnErrorOnFailure(err);
+ while ((err = reader.Next()) == CHIP_NO_ERROR)
+ {
+ if (!TLV::IsContextTag(reader.GetTag()))
+ {
+ continue;
+ }
+ switch (TLV::TagNumFromTag(reader.GetTag()))
+ {
+ case to_underlying(Fields::kProductIdentifierType):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType));
+ break;
+ case to_underlying(Fields::kProductIdentifierValue):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue));
+ break;
+ default:
+ break;
+ }
+ }
+
+ VerifyOrReturnError(err == CHIP_END_OF_TLV, err);
+ ReturnErrorOnFailure(reader.ExitContainer(outer));
+
+ return CHIP_NO_ERROR;
+}
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
namespace ResetCondition {
@@ -13961,6 +14056,9 @@
case Attributes::LastChangedTime::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime));
break;
+ case Attributes::ReplacementProductList::TypeInfo::GetAttributeId():
+ ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList));
+ break;
case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList));
break;
@@ -13991,6 +14089,52 @@
} // namespace ActivatedCarbonFilterMonitoring
namespace CeramicFilterMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const
+{
+ TLV::TLVType outer;
+ ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue));
+ ReturnErrorOnFailure(writer.EndContainer(outer));
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader)
+{
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ TLV::TLVType outer;
+ VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
+ err = reader.EnterContainer(outer);
+ ReturnErrorOnFailure(err);
+ while ((err = reader.Next()) == CHIP_NO_ERROR)
+ {
+ if (!TLV::IsContextTag(reader.GetTag()))
+ {
+ continue;
+ }
+ switch (TLV::TagNumFromTag(reader.GetTag()))
+ {
+ case to_underlying(Fields::kProductIdentifierType):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType));
+ break;
+ case to_underlying(Fields::kProductIdentifierValue):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue));
+ break;
+ default:
+ break;
+ }
+ }
+
+ VerifyOrReturnError(err == CHIP_END_OF_TLV, err);
+ ReturnErrorOnFailure(reader.ExitContainer(outer));
+
+ return CHIP_NO_ERROR;
+}
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
namespace ResetCondition {
@@ -14048,6 +14192,9 @@
case Attributes::LastChangedTime::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime));
break;
+ case Attributes::ReplacementProductList::TypeInfo::GetAttributeId():
+ ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList));
+ break;
case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList));
break;
@@ -14078,6 +14225,52 @@
} // namespace CeramicFilterMonitoring
namespace ElectrostaticFilterMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const
+{
+ TLV::TLVType outer;
+ ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue));
+ ReturnErrorOnFailure(writer.EndContainer(outer));
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader)
+{
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ TLV::TLVType outer;
+ VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
+ err = reader.EnterContainer(outer);
+ ReturnErrorOnFailure(err);
+ while ((err = reader.Next()) == CHIP_NO_ERROR)
+ {
+ if (!TLV::IsContextTag(reader.GetTag()))
+ {
+ continue;
+ }
+ switch (TLV::TagNumFromTag(reader.GetTag()))
+ {
+ case to_underlying(Fields::kProductIdentifierType):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType));
+ break;
+ case to_underlying(Fields::kProductIdentifierValue):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue));
+ break;
+ default:
+ break;
+ }
+ }
+
+ VerifyOrReturnError(err == CHIP_END_OF_TLV, err);
+ ReturnErrorOnFailure(reader.ExitContainer(outer));
+
+ return CHIP_NO_ERROR;
+}
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
namespace ResetCondition {
@@ -14135,6 +14328,9 @@
case Attributes::LastChangedTime::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime));
break;
+ case Attributes::ReplacementProductList::TypeInfo::GetAttributeId():
+ ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList));
+ break;
case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList));
break;
@@ -14165,6 +14361,52 @@
} // namespace ElectrostaticFilterMonitoring
namespace UvFilterMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const
+{
+ TLV::TLVType outer;
+ ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue));
+ ReturnErrorOnFailure(writer.EndContainer(outer));
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader)
+{
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ TLV::TLVType outer;
+ VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
+ err = reader.EnterContainer(outer);
+ ReturnErrorOnFailure(err);
+ while ((err = reader.Next()) == CHIP_NO_ERROR)
+ {
+ if (!TLV::IsContextTag(reader.GetTag()))
+ {
+ continue;
+ }
+ switch (TLV::TagNumFromTag(reader.GetTag()))
+ {
+ case to_underlying(Fields::kProductIdentifierType):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType));
+ break;
+ case to_underlying(Fields::kProductIdentifierValue):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue));
+ break;
+ default:
+ break;
+ }
+ }
+
+ VerifyOrReturnError(err == CHIP_END_OF_TLV, err);
+ ReturnErrorOnFailure(reader.ExitContainer(outer));
+
+ return CHIP_NO_ERROR;
+}
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
namespace ResetCondition {
@@ -14222,6 +14464,9 @@
case Attributes::LastChangedTime::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime));
break;
+ case Attributes::ReplacementProductList::TypeInfo::GetAttributeId():
+ ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList));
+ break;
case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList));
break;
@@ -14252,6 +14497,52 @@
} // namespace UvFilterMonitoring
namespace IonizingFilterMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const
+{
+ TLV::TLVType outer;
+ ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue));
+ ReturnErrorOnFailure(writer.EndContainer(outer));
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader)
+{
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ TLV::TLVType outer;
+ VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
+ err = reader.EnterContainer(outer);
+ ReturnErrorOnFailure(err);
+ while ((err = reader.Next()) == CHIP_NO_ERROR)
+ {
+ if (!TLV::IsContextTag(reader.GetTag()))
+ {
+ continue;
+ }
+ switch (TLV::TagNumFromTag(reader.GetTag()))
+ {
+ case to_underlying(Fields::kProductIdentifierType):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType));
+ break;
+ case to_underlying(Fields::kProductIdentifierValue):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue));
+ break;
+ default:
+ break;
+ }
+ }
+
+ VerifyOrReturnError(err == CHIP_END_OF_TLV, err);
+ ReturnErrorOnFailure(reader.ExitContainer(outer));
+
+ return CHIP_NO_ERROR;
+}
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
namespace ResetCondition {
@@ -14309,6 +14600,9 @@
case Attributes::LastChangedTime::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime));
break;
+ case Attributes::ReplacementProductList::TypeInfo::GetAttributeId():
+ ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList));
+ break;
case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList));
break;
@@ -14339,6 +14633,52 @@
} // namespace IonizingFilterMonitoring
namespace ZeoliteFilterMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const
+{
+ TLV::TLVType outer;
+ ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue));
+ ReturnErrorOnFailure(writer.EndContainer(outer));
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader)
+{
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ TLV::TLVType outer;
+ VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
+ err = reader.EnterContainer(outer);
+ ReturnErrorOnFailure(err);
+ while ((err = reader.Next()) == CHIP_NO_ERROR)
+ {
+ if (!TLV::IsContextTag(reader.GetTag()))
+ {
+ continue;
+ }
+ switch (TLV::TagNumFromTag(reader.GetTag()))
+ {
+ case to_underlying(Fields::kProductIdentifierType):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType));
+ break;
+ case to_underlying(Fields::kProductIdentifierValue):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue));
+ break;
+ default:
+ break;
+ }
+ }
+
+ VerifyOrReturnError(err == CHIP_END_OF_TLV, err);
+ ReturnErrorOnFailure(reader.ExitContainer(outer));
+
+ return CHIP_NO_ERROR;
+}
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
namespace ResetCondition {
@@ -14396,6 +14736,9 @@
case Attributes::LastChangedTime::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime));
break;
+ case Attributes::ReplacementProductList::TypeInfo::GetAttributeId():
+ ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList));
+ break;
case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList));
break;
@@ -14426,6 +14769,52 @@
} // namespace ZeoliteFilterMonitoring
namespace OzoneFilterMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const
+{
+ TLV::TLVType outer;
+ ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue));
+ ReturnErrorOnFailure(writer.EndContainer(outer));
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader)
+{
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ TLV::TLVType outer;
+ VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
+ err = reader.EnterContainer(outer);
+ ReturnErrorOnFailure(err);
+ while ((err = reader.Next()) == CHIP_NO_ERROR)
+ {
+ if (!TLV::IsContextTag(reader.GetTag()))
+ {
+ continue;
+ }
+ switch (TLV::TagNumFromTag(reader.GetTag()))
+ {
+ case to_underlying(Fields::kProductIdentifierType):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType));
+ break;
+ case to_underlying(Fields::kProductIdentifierValue):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue));
+ break;
+ default:
+ break;
+ }
+ }
+
+ VerifyOrReturnError(err == CHIP_END_OF_TLV, err);
+ ReturnErrorOnFailure(reader.ExitContainer(outer));
+
+ return CHIP_NO_ERROR;
+}
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
namespace ResetCondition {
@@ -14483,6 +14872,9 @@
case Attributes::LastChangedTime::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime));
break;
+ case Attributes::ReplacementProductList::TypeInfo::GetAttributeId():
+ ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList));
+ break;
case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList));
break;
@@ -14513,6 +14905,52 @@
} // namespace OzoneFilterMonitoring
namespace WaterTankMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const
+{
+ TLV::TLVType outer;
+ ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue));
+ ReturnErrorOnFailure(writer.EndContainer(outer));
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader)
+{
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ TLV::TLVType outer;
+ VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
+ err = reader.EnterContainer(outer);
+ ReturnErrorOnFailure(err);
+ while ((err = reader.Next()) == CHIP_NO_ERROR)
+ {
+ if (!TLV::IsContextTag(reader.GetTag()))
+ {
+ continue;
+ }
+ switch (TLV::TagNumFromTag(reader.GetTag()))
+ {
+ case to_underlying(Fields::kProductIdentifierType):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType));
+ break;
+ case to_underlying(Fields::kProductIdentifierValue):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue));
+ break;
+ default:
+ break;
+ }
+ }
+
+ VerifyOrReturnError(err == CHIP_END_OF_TLV, err);
+ ReturnErrorOnFailure(reader.ExitContainer(outer));
+
+ return CHIP_NO_ERROR;
+}
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
namespace ResetCondition {
@@ -14570,6 +15008,9 @@
case Attributes::LastChangedTime::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime));
break;
+ case Attributes::ReplacementProductList::TypeInfo::GetAttributeId():
+ ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList));
+ break;
case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList));
break;
@@ -14600,6 +15041,52 @@
} // namespace WaterTankMonitoring
namespace FuelTankMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const
+{
+ TLV::TLVType outer;
+ ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue));
+ ReturnErrorOnFailure(writer.EndContainer(outer));
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader)
+{
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ TLV::TLVType outer;
+ VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
+ err = reader.EnterContainer(outer);
+ ReturnErrorOnFailure(err);
+ while ((err = reader.Next()) == CHIP_NO_ERROR)
+ {
+ if (!TLV::IsContextTag(reader.GetTag()))
+ {
+ continue;
+ }
+ switch (TLV::TagNumFromTag(reader.GetTag()))
+ {
+ case to_underlying(Fields::kProductIdentifierType):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType));
+ break;
+ case to_underlying(Fields::kProductIdentifierValue):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue));
+ break;
+ default:
+ break;
+ }
+ }
+
+ VerifyOrReturnError(err == CHIP_END_OF_TLV, err);
+ ReturnErrorOnFailure(reader.ExitContainer(outer));
+
+ return CHIP_NO_ERROR;
+}
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
namespace ResetCondition {
@@ -14657,6 +15144,9 @@
case Attributes::LastChangedTime::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime));
break;
+ case Attributes::ReplacementProductList::TypeInfo::GetAttributeId():
+ ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList));
+ break;
case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList));
break;
@@ -14687,6 +15177,52 @@
} // namespace FuelTankMonitoring
namespace InkCartridgeMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const
+{
+ TLV::TLVType outer;
+ ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue));
+ ReturnErrorOnFailure(writer.EndContainer(outer));
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader)
+{
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ TLV::TLVType outer;
+ VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
+ err = reader.EnterContainer(outer);
+ ReturnErrorOnFailure(err);
+ while ((err = reader.Next()) == CHIP_NO_ERROR)
+ {
+ if (!TLV::IsContextTag(reader.GetTag()))
+ {
+ continue;
+ }
+ switch (TLV::TagNumFromTag(reader.GetTag()))
+ {
+ case to_underlying(Fields::kProductIdentifierType):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType));
+ break;
+ case to_underlying(Fields::kProductIdentifierValue):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue));
+ break;
+ default:
+ break;
+ }
+ }
+
+ VerifyOrReturnError(err == CHIP_END_OF_TLV, err);
+ ReturnErrorOnFailure(reader.ExitContainer(outer));
+
+ return CHIP_NO_ERROR;
+}
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
namespace ResetCondition {
@@ -14744,6 +15280,9 @@
case Attributes::LastChangedTime::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime));
break;
+ case Attributes::ReplacementProductList::TypeInfo::GetAttributeId():
+ ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList));
+ break;
case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList));
break;
@@ -14774,6 +15313,52 @@
} // namespace InkCartridgeMonitoring
namespace TonerCartridgeMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const
+{
+ TLV::TLVType outer;
+ ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierType), productIdentifierType));
+ ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(Fields::kProductIdentifierValue), productIdentifierValue));
+ ReturnErrorOnFailure(writer.EndContainer(outer));
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader)
+{
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ TLV::TLVType outer;
+ VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
+ err = reader.EnterContainer(outer);
+ ReturnErrorOnFailure(err);
+ while ((err = reader.Next()) == CHIP_NO_ERROR)
+ {
+ if (!TLV::IsContextTag(reader.GetTag()))
+ {
+ continue;
+ }
+ switch (TLV::TagNumFromTag(reader.GetTag()))
+ {
+ case to_underlying(Fields::kProductIdentifierType):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierType));
+ break;
+ case to_underlying(Fields::kProductIdentifierValue):
+ ReturnErrorOnFailure(DataModel::Decode(reader, productIdentifierValue));
+ break;
+ default:
+ break;
+ }
+ }
+
+ VerifyOrReturnError(err == CHIP_END_OF_TLV, err);
+ ReturnErrorOnFailure(reader.ExitContainer(outer));
+
+ return CHIP_NO_ERROR;
+}
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
namespace ResetCondition {
@@ -14831,6 +15416,9 @@
case Attributes::LastChangedTime::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, lastChangedTime));
break;
+ case Attributes::ReplacementProductList::TypeInfo::GetAttributeId():
+ ReturnErrorOnFailure(DataModel::Decode(reader, replacementProductList));
+ break;
case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, generatedCommandList));
break;
diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
index da5fcf8..e87c3ec 100644
--- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
+++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
@@ -17459,6 +17459,31 @@
} // namespace Events
} // namespace RvcOperationalState
namespace HepaFilterMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+enum class Fields : uint8_t
+{
+ kProductIdentifierType = 0,
+ kProductIdentifierValue = 1,
+};
+
+struct Type
+{
+public:
+ ProductIdentifierTypeEnum productIdentifierType = static_cast<ProductIdentifierTypeEnum>(0);
+ chip::CharSpan productIdentifierValue;
+
+ CHIP_ERROR Decode(TLV::TLVReader & reader);
+
+ static constexpr bool kIsFabricScoped = false;
+
+ CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const;
+};
+
+using DecodableType = Type;
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
// Forward-declarations so we can reference these later.
@@ -17563,6 +17588,21 @@
static constexpr bool MustUseTimedWrite() { return false; }
};
} // namespace LastChangedTime
+namespace ReplacementProductList {
+struct TypeInfo
+{
+ using Type =
+ chip::app::DataModel::List<const chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::Type>;
+ using DecodableType = chip::app::DataModel::DecodableList<
+ chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>;
+ using DecodableArgType = const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> &;
+
+ static constexpr ClusterId GetClusterId() { return Clusters::HepaFilterMonitoring::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; }
+ static constexpr bool MustUseTimedWrite() { return false; }
+};
+} // namespace ReplacementProductList
namespace GeneratedCommandList {
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
{
@@ -17615,6 +17655,7 @@
static_cast<chip::app::Clusters::HepaFilterMonitoring::ChangeIndicationEnum>(0);
Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast<bool>(0);
Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime;
+ Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList;
Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
Attributes::EventList::TypeInfo::DecodableType eventList;
@@ -17626,6 +17667,31 @@
} // namespace Attributes
} // namespace HepaFilterMonitoring
namespace ActivatedCarbonFilterMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+enum class Fields : uint8_t
+{
+ kProductIdentifierType = 0,
+ kProductIdentifierValue = 1,
+};
+
+struct Type
+{
+public:
+ ProductIdentifierTypeEnum productIdentifierType = static_cast<ProductIdentifierTypeEnum>(0);
+ chip::CharSpan productIdentifierValue;
+
+ CHIP_ERROR Decode(TLV::TLVReader & reader);
+
+ static constexpr bool kIsFabricScoped = false;
+
+ CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const;
+};
+
+using DecodableType = Type;
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
// Forward-declarations so we can reference these later.
@@ -17730,6 +17796,21 @@
static constexpr bool MustUseTimedWrite() { return false; }
};
} // namespace LastChangedTime
+namespace ReplacementProductList {
+struct TypeInfo
+{
+ using Type = chip::app::DataModel::List<
+ const chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::Type>;
+ using DecodableType = chip::app::DataModel::DecodableList<
+ chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>;
+ using DecodableArgType = const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> &;
+
+ static constexpr ClusterId GetClusterId() { return Clusters::ActivatedCarbonFilterMonitoring::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; }
+ static constexpr bool MustUseTimedWrite() { return false; }
+};
+} // namespace ReplacementProductList
namespace GeneratedCommandList {
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
{
@@ -17782,6 +17863,7 @@
static_cast<chip::app::Clusters::ActivatedCarbonFilterMonitoring::ChangeIndicationEnum>(0);
Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast<bool>(0);
Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime;
+ Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList;
Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
Attributes::EventList::TypeInfo::DecodableType eventList;
@@ -17793,6 +17875,31 @@
} // namespace Attributes
} // namespace ActivatedCarbonFilterMonitoring
namespace CeramicFilterMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+enum class Fields : uint8_t
+{
+ kProductIdentifierType = 0,
+ kProductIdentifierValue = 1,
+};
+
+struct Type
+{
+public:
+ ProductIdentifierTypeEnum productIdentifierType = static_cast<ProductIdentifierTypeEnum>(0);
+ chip::CharSpan productIdentifierValue;
+
+ CHIP_ERROR Decode(TLV::TLVReader & reader);
+
+ static constexpr bool kIsFabricScoped = false;
+
+ CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const;
+};
+
+using DecodableType = Type;
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
// Forward-declarations so we can reference these later.
@@ -17897,6 +18004,21 @@
static constexpr bool MustUseTimedWrite() { return false; }
};
} // namespace LastChangedTime
+namespace ReplacementProductList {
+struct TypeInfo
+{
+ using Type =
+ chip::app::DataModel::List<const chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::Type>;
+ using DecodableType = chip::app::DataModel::DecodableList<
+ chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>;
+ using DecodableArgType = const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> &;
+
+ static constexpr ClusterId GetClusterId() { return Clusters::CeramicFilterMonitoring::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; }
+ static constexpr bool MustUseTimedWrite() { return false; }
+};
+} // namespace ReplacementProductList
namespace GeneratedCommandList {
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
{
@@ -17949,6 +18071,7 @@
static_cast<chip::app::Clusters::CeramicFilterMonitoring::ChangeIndicationEnum>(0);
Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast<bool>(0);
Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime;
+ Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList;
Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
Attributes::EventList::TypeInfo::DecodableType eventList;
@@ -17960,6 +18083,31 @@
} // namespace Attributes
} // namespace CeramicFilterMonitoring
namespace ElectrostaticFilterMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+enum class Fields : uint8_t
+{
+ kProductIdentifierType = 0,
+ kProductIdentifierValue = 1,
+};
+
+struct Type
+{
+public:
+ ProductIdentifierTypeEnum productIdentifierType = static_cast<ProductIdentifierTypeEnum>(0);
+ chip::CharSpan productIdentifierValue;
+
+ CHIP_ERROR Decode(TLV::TLVReader & reader);
+
+ static constexpr bool kIsFabricScoped = false;
+
+ CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const;
+};
+
+using DecodableType = Type;
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
// Forward-declarations so we can reference these later.
@@ -18064,6 +18212,21 @@
static constexpr bool MustUseTimedWrite() { return false; }
};
} // namespace LastChangedTime
+namespace ReplacementProductList {
+struct TypeInfo
+{
+ using Type = chip::app::DataModel::List<
+ const chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::Type>;
+ using DecodableType = chip::app::DataModel::DecodableList<
+ chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>;
+ using DecodableArgType = const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> &;
+
+ static constexpr ClusterId GetClusterId() { return Clusters::ElectrostaticFilterMonitoring::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; }
+ static constexpr bool MustUseTimedWrite() { return false; }
+};
+} // namespace ReplacementProductList
namespace GeneratedCommandList {
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
{
@@ -18116,6 +18279,7 @@
static_cast<chip::app::Clusters::ElectrostaticFilterMonitoring::ChangeIndicationEnum>(0);
Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast<bool>(0);
Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime;
+ Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList;
Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
Attributes::EventList::TypeInfo::DecodableType eventList;
@@ -18127,6 +18291,31 @@
} // namespace Attributes
} // namespace ElectrostaticFilterMonitoring
namespace UvFilterMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+enum class Fields : uint8_t
+{
+ kProductIdentifierType = 0,
+ kProductIdentifierValue = 1,
+};
+
+struct Type
+{
+public:
+ ProductIdentifierTypeEnum productIdentifierType = static_cast<ProductIdentifierTypeEnum>(0);
+ chip::CharSpan productIdentifierValue;
+
+ CHIP_ERROR Decode(TLV::TLVReader & reader);
+
+ static constexpr bool kIsFabricScoped = false;
+
+ CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const;
+};
+
+using DecodableType = Type;
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
// Forward-declarations so we can reference these later.
@@ -18231,6 +18420,20 @@
static constexpr bool MustUseTimedWrite() { return false; }
};
} // namespace LastChangedTime
+namespace ReplacementProductList {
+struct TypeInfo
+{
+ using Type = chip::app::DataModel::List<const chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::Type>;
+ using DecodableType = chip::app::DataModel::DecodableList<
+ chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>;
+ using DecodableArgType = const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> &;
+
+ static constexpr ClusterId GetClusterId() { return Clusters::UvFilterMonitoring::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; }
+ static constexpr bool MustUseTimedWrite() { return false; }
+};
+} // namespace ReplacementProductList
namespace GeneratedCommandList {
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
{
@@ -18283,6 +18486,7 @@
static_cast<chip::app::Clusters::UvFilterMonitoring::ChangeIndicationEnum>(0);
Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast<bool>(0);
Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime;
+ Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList;
Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
Attributes::EventList::TypeInfo::DecodableType eventList;
@@ -18294,6 +18498,31 @@
} // namespace Attributes
} // namespace UvFilterMonitoring
namespace IonizingFilterMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+enum class Fields : uint8_t
+{
+ kProductIdentifierType = 0,
+ kProductIdentifierValue = 1,
+};
+
+struct Type
+{
+public:
+ ProductIdentifierTypeEnum productIdentifierType = static_cast<ProductIdentifierTypeEnum>(0);
+ chip::CharSpan productIdentifierValue;
+
+ CHIP_ERROR Decode(TLV::TLVReader & reader);
+
+ static constexpr bool kIsFabricScoped = false;
+
+ CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const;
+};
+
+using DecodableType = Type;
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
// Forward-declarations so we can reference these later.
@@ -18398,6 +18627,21 @@
static constexpr bool MustUseTimedWrite() { return false; }
};
} // namespace LastChangedTime
+namespace ReplacementProductList {
+struct TypeInfo
+{
+ using Type =
+ chip::app::DataModel::List<const chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::Type>;
+ using DecodableType = chip::app::DataModel::DecodableList<
+ chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>;
+ using DecodableArgType = const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> &;
+
+ static constexpr ClusterId GetClusterId() { return Clusters::IonizingFilterMonitoring::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; }
+ static constexpr bool MustUseTimedWrite() { return false; }
+};
+} // namespace ReplacementProductList
namespace GeneratedCommandList {
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
{
@@ -18450,6 +18694,7 @@
static_cast<chip::app::Clusters::IonizingFilterMonitoring::ChangeIndicationEnum>(0);
Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast<bool>(0);
Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime;
+ Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList;
Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
Attributes::EventList::TypeInfo::DecodableType eventList;
@@ -18461,6 +18706,31 @@
} // namespace Attributes
} // namespace IonizingFilterMonitoring
namespace ZeoliteFilterMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+enum class Fields : uint8_t
+{
+ kProductIdentifierType = 0,
+ kProductIdentifierValue = 1,
+};
+
+struct Type
+{
+public:
+ ProductIdentifierTypeEnum productIdentifierType = static_cast<ProductIdentifierTypeEnum>(0);
+ chip::CharSpan productIdentifierValue;
+
+ CHIP_ERROR Decode(TLV::TLVReader & reader);
+
+ static constexpr bool kIsFabricScoped = false;
+
+ CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const;
+};
+
+using DecodableType = Type;
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
// Forward-declarations so we can reference these later.
@@ -18565,6 +18835,21 @@
static constexpr bool MustUseTimedWrite() { return false; }
};
} // namespace LastChangedTime
+namespace ReplacementProductList {
+struct TypeInfo
+{
+ using Type =
+ chip::app::DataModel::List<const chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::Type>;
+ using DecodableType = chip::app::DataModel::DecodableList<
+ chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>;
+ using DecodableArgType = const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> &;
+
+ static constexpr ClusterId GetClusterId() { return Clusters::ZeoliteFilterMonitoring::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; }
+ static constexpr bool MustUseTimedWrite() { return false; }
+};
+} // namespace ReplacementProductList
namespace GeneratedCommandList {
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
{
@@ -18617,6 +18902,7 @@
static_cast<chip::app::Clusters::ZeoliteFilterMonitoring::ChangeIndicationEnum>(0);
Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast<bool>(0);
Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime;
+ Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList;
Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
Attributes::EventList::TypeInfo::DecodableType eventList;
@@ -18628,6 +18914,31 @@
} // namespace Attributes
} // namespace ZeoliteFilterMonitoring
namespace OzoneFilterMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+enum class Fields : uint8_t
+{
+ kProductIdentifierType = 0,
+ kProductIdentifierValue = 1,
+};
+
+struct Type
+{
+public:
+ ProductIdentifierTypeEnum productIdentifierType = static_cast<ProductIdentifierTypeEnum>(0);
+ chip::CharSpan productIdentifierValue;
+
+ CHIP_ERROR Decode(TLV::TLVReader & reader);
+
+ static constexpr bool kIsFabricScoped = false;
+
+ CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const;
+};
+
+using DecodableType = Type;
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
// Forward-declarations so we can reference these later.
@@ -18732,6 +19043,21 @@
static constexpr bool MustUseTimedWrite() { return false; }
};
} // namespace LastChangedTime
+namespace ReplacementProductList {
+struct TypeInfo
+{
+ using Type =
+ chip::app::DataModel::List<const chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::Type>;
+ using DecodableType = chip::app::DataModel::DecodableList<
+ chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>;
+ using DecodableArgType = const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::DecodableType> &;
+
+ static constexpr ClusterId GetClusterId() { return Clusters::OzoneFilterMonitoring::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; }
+ static constexpr bool MustUseTimedWrite() { return false; }
+};
+} // namespace ReplacementProductList
namespace GeneratedCommandList {
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
{
@@ -18784,6 +19110,7 @@
static_cast<chip::app::Clusters::OzoneFilterMonitoring::ChangeIndicationEnum>(0);
Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast<bool>(0);
Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime;
+ Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList;
Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
Attributes::EventList::TypeInfo::DecodableType eventList;
@@ -18795,6 +19122,31 @@
} // namespace Attributes
} // namespace OzoneFilterMonitoring
namespace WaterTankMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+enum class Fields : uint8_t
+{
+ kProductIdentifierType = 0,
+ kProductIdentifierValue = 1,
+};
+
+struct Type
+{
+public:
+ ProductIdentifierTypeEnum productIdentifierType = static_cast<ProductIdentifierTypeEnum>(0);
+ chip::CharSpan productIdentifierValue;
+
+ CHIP_ERROR Decode(TLV::TLVReader & reader);
+
+ static constexpr bool kIsFabricScoped = false;
+
+ CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const;
+};
+
+using DecodableType = Type;
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
// Forward-declarations so we can reference these later.
@@ -18899,6 +19251,21 @@
static constexpr bool MustUseTimedWrite() { return false; }
};
} // namespace LastChangedTime
+namespace ReplacementProductList {
+struct TypeInfo
+{
+ using Type =
+ chip::app::DataModel::List<const chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::Type>;
+ using DecodableType = chip::app::DataModel::DecodableList<
+ chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::DecodableType>;
+ using DecodableArgType = const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::DecodableType> &;
+
+ static constexpr ClusterId GetClusterId() { return Clusters::WaterTankMonitoring::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; }
+ static constexpr bool MustUseTimedWrite() { return false; }
+};
+} // namespace ReplacementProductList
namespace GeneratedCommandList {
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
{
@@ -18951,6 +19318,7 @@
static_cast<chip::app::Clusters::WaterTankMonitoring::ChangeIndicationEnum>(0);
Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast<bool>(0);
Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime;
+ Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList;
Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
Attributes::EventList::TypeInfo::DecodableType eventList;
@@ -18962,6 +19330,31 @@
} // namespace Attributes
} // namespace WaterTankMonitoring
namespace FuelTankMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+enum class Fields : uint8_t
+{
+ kProductIdentifierType = 0,
+ kProductIdentifierValue = 1,
+};
+
+struct Type
+{
+public:
+ ProductIdentifierTypeEnum productIdentifierType = static_cast<ProductIdentifierTypeEnum>(0);
+ chip::CharSpan productIdentifierValue;
+
+ CHIP_ERROR Decode(TLV::TLVReader & reader);
+
+ static constexpr bool kIsFabricScoped = false;
+
+ CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const;
+};
+
+using DecodableType = Type;
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
// Forward-declarations so we can reference these later.
@@ -19066,6 +19459,20 @@
static constexpr bool MustUseTimedWrite() { return false; }
};
} // namespace LastChangedTime
+namespace ReplacementProductList {
+struct TypeInfo
+{
+ using Type = chip::app::DataModel::List<const chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::Type>;
+ using DecodableType = chip::app::DataModel::DecodableList<
+ chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::DecodableType>;
+ using DecodableArgType = const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::DecodableType> &;
+
+ static constexpr ClusterId GetClusterId() { return Clusters::FuelTankMonitoring::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; }
+ static constexpr bool MustUseTimedWrite() { return false; }
+};
+} // namespace ReplacementProductList
namespace GeneratedCommandList {
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
{
@@ -19118,6 +19525,7 @@
static_cast<chip::app::Clusters::FuelTankMonitoring::ChangeIndicationEnum>(0);
Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast<bool>(0);
Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime;
+ Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList;
Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
Attributes::EventList::TypeInfo::DecodableType eventList;
@@ -19129,6 +19537,31 @@
} // namespace Attributes
} // namespace FuelTankMonitoring
namespace InkCartridgeMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+enum class Fields : uint8_t
+{
+ kProductIdentifierType = 0,
+ kProductIdentifierValue = 1,
+};
+
+struct Type
+{
+public:
+ ProductIdentifierTypeEnum productIdentifierType = static_cast<ProductIdentifierTypeEnum>(0);
+ chip::CharSpan productIdentifierValue;
+
+ CHIP_ERROR Decode(TLV::TLVReader & reader);
+
+ static constexpr bool kIsFabricScoped = false;
+
+ CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const;
+};
+
+using DecodableType = Type;
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
// Forward-declarations so we can reference these later.
@@ -19233,6 +19666,21 @@
static constexpr bool MustUseTimedWrite() { return false; }
};
} // namespace LastChangedTime
+namespace ReplacementProductList {
+struct TypeInfo
+{
+ using Type =
+ chip::app::DataModel::List<const chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::Type>;
+ using DecodableType = chip::app::DataModel::DecodableList<
+ chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType>;
+ using DecodableArgType = const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType> &;
+
+ static constexpr ClusterId GetClusterId() { return Clusters::InkCartridgeMonitoring::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; }
+ static constexpr bool MustUseTimedWrite() { return false; }
+};
+} // namespace ReplacementProductList
namespace GeneratedCommandList {
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
{
@@ -19285,6 +19733,7 @@
static_cast<chip::app::Clusters::InkCartridgeMonitoring::ChangeIndicationEnum>(0);
Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast<bool>(0);
Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime;
+ Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList;
Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
Attributes::EventList::TypeInfo::DecodableType eventList;
@@ -19296,6 +19745,31 @@
} // namespace Attributes
} // namespace InkCartridgeMonitoring
namespace TonerCartridgeMonitoring {
+namespace Structs {
+namespace ReplacementProductStruct {
+enum class Fields : uint8_t
+{
+ kProductIdentifierType = 0,
+ kProductIdentifierValue = 1,
+};
+
+struct Type
+{
+public:
+ ProductIdentifierTypeEnum productIdentifierType = static_cast<ProductIdentifierTypeEnum>(0);
+ chip::CharSpan productIdentifierValue;
+
+ CHIP_ERROR Decode(TLV::TLVReader & reader);
+
+ static constexpr bool kIsFabricScoped = false;
+
+ CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const;
+};
+
+using DecodableType = Type;
+
+} // namespace ReplacementProductStruct
+} // namespace Structs
namespace Commands {
// Forward-declarations so we can reference these later.
@@ -19400,6 +19874,21 @@
static constexpr bool MustUseTimedWrite() { return false; }
};
} // namespace LastChangedTime
+namespace ReplacementProductList {
+struct TypeInfo
+{
+ using Type =
+ chip::app::DataModel::List<const chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::Type>;
+ using DecodableType = chip::app::DataModel::DecodableList<
+ chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType>;
+ using DecodableArgType = const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType> &;
+
+ static constexpr ClusterId GetClusterId() { return Clusters::TonerCartridgeMonitoring::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::ReplacementProductList::Id; }
+ static constexpr bool MustUseTimedWrite() { return false; }
+};
+} // namespace ReplacementProductList
namespace GeneratedCommandList {
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
{
@@ -19452,6 +19941,7 @@
static_cast<chip::app::Clusters::TonerCartridgeMonitoring::ChangeIndicationEnum>(0);
Attributes::InPlaceIndicator::TypeInfo::DecodableType inPlaceIndicator = static_cast<bool>(0);
Attributes::LastChangedTime::TypeInfo::DecodableType lastChangedTime;
+ Attributes::ReplacementProductList::TypeInfo::DecodableType replacementProductList;
Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
Attributes::EventList::TypeInfo::DecodableType eventList;
diff --git a/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h b/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h
index ddb7c6a..6c8b6ef 100644
--- a/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h
+++ b/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h
@@ -3132,6 +3132,10 @@
static constexpr AttributeId Id = 0x00000004;
} // namespace LastChangedTime
+namespace ReplacementProductList {
+static constexpr AttributeId Id = 0x00000005;
+} // namespace ReplacementProductList
+
namespace GeneratedCommandList {
static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
} // namespace GeneratedCommandList
@@ -3182,6 +3186,10 @@
static constexpr AttributeId Id = 0x00000004;
} // namespace LastChangedTime
+namespace ReplacementProductList {
+static constexpr AttributeId Id = 0x00000005;
+} // namespace ReplacementProductList
+
namespace GeneratedCommandList {
static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
} // namespace GeneratedCommandList
@@ -3232,6 +3240,10 @@
static constexpr AttributeId Id = 0x00000004;
} // namespace LastChangedTime
+namespace ReplacementProductList {
+static constexpr AttributeId Id = 0x00000005;
+} // namespace ReplacementProductList
+
namespace GeneratedCommandList {
static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
} // namespace GeneratedCommandList
@@ -3282,6 +3294,10 @@
static constexpr AttributeId Id = 0x00000004;
} // namespace LastChangedTime
+namespace ReplacementProductList {
+static constexpr AttributeId Id = 0x00000005;
+} // namespace ReplacementProductList
+
namespace GeneratedCommandList {
static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
} // namespace GeneratedCommandList
@@ -3332,6 +3348,10 @@
static constexpr AttributeId Id = 0x00000004;
} // namespace LastChangedTime
+namespace ReplacementProductList {
+static constexpr AttributeId Id = 0x00000005;
+} // namespace ReplacementProductList
+
namespace GeneratedCommandList {
static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
} // namespace GeneratedCommandList
@@ -3382,6 +3402,10 @@
static constexpr AttributeId Id = 0x00000004;
} // namespace LastChangedTime
+namespace ReplacementProductList {
+static constexpr AttributeId Id = 0x00000005;
+} // namespace ReplacementProductList
+
namespace GeneratedCommandList {
static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
} // namespace GeneratedCommandList
@@ -3432,6 +3456,10 @@
static constexpr AttributeId Id = 0x00000004;
} // namespace LastChangedTime
+namespace ReplacementProductList {
+static constexpr AttributeId Id = 0x00000005;
+} // namespace ReplacementProductList
+
namespace GeneratedCommandList {
static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
} // namespace GeneratedCommandList
@@ -3482,6 +3510,10 @@
static constexpr AttributeId Id = 0x00000004;
} // namespace LastChangedTime
+namespace ReplacementProductList {
+static constexpr AttributeId Id = 0x00000005;
+} // namespace ReplacementProductList
+
namespace GeneratedCommandList {
static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
} // namespace GeneratedCommandList
@@ -3532,6 +3564,10 @@
static constexpr AttributeId Id = 0x00000004;
} // namespace LastChangedTime
+namespace ReplacementProductList {
+static constexpr AttributeId Id = 0x00000005;
+} // namespace ReplacementProductList
+
namespace GeneratedCommandList {
static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
} // namespace GeneratedCommandList
@@ -3582,6 +3618,10 @@
static constexpr AttributeId Id = 0x00000004;
} // namespace LastChangedTime
+namespace ReplacementProductList {
+static constexpr AttributeId Id = 0x00000005;
+} // namespace ReplacementProductList
+
namespace GeneratedCommandList {
static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
} // namespace GeneratedCommandList
@@ -3632,6 +3672,10 @@
static constexpr AttributeId Id = 0x00000004;
} // namespace LastChangedTime
+namespace ReplacementProductList {
+static constexpr AttributeId Id = 0x00000005;
+} // namespace ReplacementProductList
+
namespace GeneratedCommandList {
static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
} // namespace GeneratedCommandList
@@ -3682,6 +3726,10 @@
static constexpr AttributeId Id = 0x00000004;
} // namespace LastChangedTime
+namespace ReplacementProductList {
+static constexpr AttributeId Id = 0x00000005;
+} // namespace ReplacementProductList
+
namespace GeneratedCommandList {
static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
} // namespace GeneratedCommandList
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
index 0935bdb..b6bec09 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
+++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
@@ -4908,6 +4908,7 @@
| * ChangeIndication | 0x0002 |
| * InPlaceIndicator | 0x0003 |
| * LastChangedTime | 0x0004 |
+| * ReplacementProductList | 0x0005 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * EventList | 0xFFFA |
@@ -4960,6 +4961,7 @@
| * ChangeIndication | 0x0002 |
| * InPlaceIndicator | 0x0003 |
| * LastChangedTime | 0x0004 |
+| * ReplacementProductList | 0x0005 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * EventList | 0xFFFA |
@@ -5012,6 +5014,7 @@
| * ChangeIndication | 0x0002 |
| * InPlaceIndicator | 0x0003 |
| * LastChangedTime | 0x0004 |
+| * ReplacementProductList | 0x0005 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * EventList | 0xFFFA |
@@ -5064,6 +5067,7 @@
| * ChangeIndication | 0x0002 |
| * InPlaceIndicator | 0x0003 |
| * LastChangedTime | 0x0004 |
+| * ReplacementProductList | 0x0005 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * EventList | 0xFFFA |
@@ -5116,6 +5120,7 @@
| * ChangeIndication | 0x0002 |
| * InPlaceIndicator | 0x0003 |
| * LastChangedTime | 0x0004 |
+| * ReplacementProductList | 0x0005 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * EventList | 0xFFFA |
@@ -5168,6 +5173,7 @@
| * ChangeIndication | 0x0002 |
| * InPlaceIndicator | 0x0003 |
| * LastChangedTime | 0x0004 |
+| * ReplacementProductList | 0x0005 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * EventList | 0xFFFA |
@@ -5220,6 +5226,7 @@
| * ChangeIndication | 0x0002 |
| * InPlaceIndicator | 0x0003 |
| * LastChangedTime | 0x0004 |
+| * ReplacementProductList | 0x0005 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * EventList | 0xFFFA |
@@ -5272,6 +5279,7 @@
| * ChangeIndication | 0x0002 |
| * InPlaceIndicator | 0x0003 |
| * LastChangedTime | 0x0004 |
+| * ReplacementProductList | 0x0005 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * EventList | 0xFFFA |
@@ -5324,6 +5332,7 @@
| * ChangeIndication | 0x0002 |
| * InPlaceIndicator | 0x0003 |
| * LastChangedTime | 0x0004 |
+| * ReplacementProductList | 0x0005 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * EventList | 0xFFFA |
@@ -5376,6 +5385,7 @@
| * ChangeIndication | 0x0002 |
| * InPlaceIndicator | 0x0003 |
| * LastChangedTime | 0x0004 |
+| * ReplacementProductList | 0x0005 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * EventList | 0xFFFA |
@@ -5428,6 +5438,7 @@
| * ChangeIndication | 0x0002 |
| * InPlaceIndicator | 0x0003 |
| * LastChangedTime | 0x0004 |
+| * ReplacementProductList | 0x0005 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * EventList | 0xFFFA |
@@ -5480,6 +5491,7 @@
| * ChangeIndication | 0x0002 |
| * InPlaceIndicator | 0x0003 |
| * LastChangedTime | 0x0004 |
+| * ReplacementProductList | 0x0005 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * EventList | 0xFFFA |
@@ -15728,19 +15740,20 @@
//
// Attributes
//
- make_unique<ReadAttribute>(Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
- make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
+ make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::Percent>>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::HepaFilterMonitoring::DegradationDirectionEnum>>(
@@ -15754,6 +15767,10 @@
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(Id, "last-changed-time", 0, UINT32_MAX,
Attributes::LastChangedTime::Id,
WriteCommandType::kWrite, credsIssuerConfig), //
+ make_unique<WriteAttributeAsComplex<
+ chip::app::DataModel::List<const chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::Type>>>(
+ Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite,
+ credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<const chip::CommandId>>>(
Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite,
credsIssuerConfig), //
@@ -15766,13 +15783,15 @@
make_unique<WriteAttribute<uint32_t>>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id,
- WriteCommandType::kForceWrite, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ WriteCommandType::kForceWrite, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id,
+ credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
@@ -15803,19 +15822,20 @@
//
// Attributes
//
- make_unique<ReadAttribute>(Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
- make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
+ make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::Percent>>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::ActivatedCarbonFilterMonitoring::DegradationDirectionEnum>>(
@@ -15829,6 +15849,10 @@
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(Id, "last-changed-time", 0, UINT32_MAX,
Attributes::LastChangedTime::Id,
WriteCommandType::kWrite, credsIssuerConfig), //
+ make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<
+ const chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::Type>>>(
+ Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite,
+ credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<const chip::CommandId>>>(
Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite,
credsIssuerConfig), //
@@ -15841,13 +15865,15 @@
make_unique<WriteAttribute<uint32_t>>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id,
- WriteCommandType::kForceWrite, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ WriteCommandType::kForceWrite, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id,
+ credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
@@ -15878,19 +15904,20 @@
//
// Attributes
//
- make_unique<ReadAttribute>(Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
- make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
+ make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::Percent>>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::CeramicFilterMonitoring::DegradationDirectionEnum>>(
@@ -15904,6 +15931,10 @@
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(Id, "last-changed-time", 0, UINT32_MAX,
Attributes::LastChangedTime::Id,
WriteCommandType::kWrite, credsIssuerConfig), //
+ make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<
+ const chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::Type>>>(
+ Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite,
+ credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<const chip::CommandId>>>(
Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite,
credsIssuerConfig), //
@@ -15916,13 +15947,15 @@
make_unique<WriteAttribute<uint32_t>>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id,
- WriteCommandType::kForceWrite, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ WriteCommandType::kForceWrite, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id,
+ credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
@@ -15953,19 +15986,20 @@
//
// Attributes
//
- make_unique<ReadAttribute>(Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
- make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
+ make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::Percent>>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::ElectrostaticFilterMonitoring::DegradationDirectionEnum>>(
@@ -15979,6 +16013,10 @@
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(Id, "last-changed-time", 0, UINT32_MAX,
Attributes::LastChangedTime::Id,
WriteCommandType::kWrite, credsIssuerConfig), //
+ make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<
+ const chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::Type>>>(
+ Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite,
+ credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<const chip::CommandId>>>(
Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite,
credsIssuerConfig), //
@@ -15991,13 +16029,15 @@
make_unique<WriteAttribute<uint32_t>>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id,
- WriteCommandType::kForceWrite, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ WriteCommandType::kForceWrite, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id,
+ credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
@@ -16028,19 +16068,20 @@
//
// Attributes
//
- make_unique<ReadAttribute>(Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
- make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
+ make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::Percent>>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::UvFilterMonitoring::DegradationDirectionEnum>>(
@@ -16054,6 +16095,10 @@
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(Id, "last-changed-time", 0, UINT32_MAX,
Attributes::LastChangedTime::Id,
WriteCommandType::kWrite, credsIssuerConfig), //
+ make_unique<WriteAttributeAsComplex<
+ chip::app::DataModel::List<const chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::Type>>>(
+ Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite,
+ credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<const chip::CommandId>>>(
Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite,
credsIssuerConfig), //
@@ -16066,13 +16111,15 @@
make_unique<WriteAttribute<uint32_t>>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id,
- WriteCommandType::kForceWrite, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ WriteCommandType::kForceWrite, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id,
+ credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
@@ -16103,19 +16150,20 @@
//
// Attributes
//
- make_unique<ReadAttribute>(Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
- make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
+ make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::Percent>>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::IonizingFilterMonitoring::DegradationDirectionEnum>>(
@@ -16129,6 +16177,10 @@
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(Id, "last-changed-time", 0, UINT32_MAX,
Attributes::LastChangedTime::Id,
WriteCommandType::kWrite, credsIssuerConfig), //
+ make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<
+ const chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::Type>>>(
+ Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite,
+ credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<const chip::CommandId>>>(
Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite,
credsIssuerConfig), //
@@ -16141,13 +16193,15 @@
make_unique<WriteAttribute<uint32_t>>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id,
- WriteCommandType::kForceWrite, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ WriteCommandType::kForceWrite, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id,
+ credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
@@ -16178,19 +16232,20 @@
//
// Attributes
//
- make_unique<ReadAttribute>(Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
- make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
+ make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::Percent>>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::ZeoliteFilterMonitoring::DegradationDirectionEnum>>(
@@ -16204,6 +16259,10 @@
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(Id, "last-changed-time", 0, UINT32_MAX,
Attributes::LastChangedTime::Id,
WriteCommandType::kWrite, credsIssuerConfig), //
+ make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<
+ const chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::Type>>>(
+ Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite,
+ credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<const chip::CommandId>>>(
Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite,
credsIssuerConfig), //
@@ -16216,13 +16275,15 @@
make_unique<WriteAttribute<uint32_t>>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id,
- WriteCommandType::kForceWrite, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ WriteCommandType::kForceWrite, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id,
+ credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
@@ -16253,19 +16314,20 @@
//
// Attributes
//
- make_unique<ReadAttribute>(Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
- make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
+ make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::Percent>>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::OzoneFilterMonitoring::DegradationDirectionEnum>>(
@@ -16279,6 +16341,10 @@
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(Id, "last-changed-time", 0, UINT32_MAX,
Attributes::LastChangedTime::Id,
WriteCommandType::kWrite, credsIssuerConfig), //
+ make_unique<WriteAttributeAsComplex<
+ chip::app::DataModel::List<const chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::Type>>>(
+ Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite,
+ credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<const chip::CommandId>>>(
Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite,
credsIssuerConfig), //
@@ -16291,13 +16357,15 @@
make_unique<WriteAttribute<uint32_t>>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id,
- WriteCommandType::kForceWrite, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ WriteCommandType::kForceWrite, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id,
+ credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
@@ -16328,19 +16396,20 @@
//
// Attributes
//
- make_unique<ReadAttribute>(Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
- make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
+ make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::Percent>>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::WaterTankMonitoring::DegradationDirectionEnum>>(
@@ -16354,6 +16423,10 @@
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(Id, "last-changed-time", 0, UINT32_MAX,
Attributes::LastChangedTime::Id,
WriteCommandType::kWrite, credsIssuerConfig), //
+ make_unique<WriteAttributeAsComplex<
+ chip::app::DataModel::List<const chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::Type>>>(
+ Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite,
+ credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<const chip::CommandId>>>(
Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite,
credsIssuerConfig), //
@@ -16366,13 +16439,15 @@
make_unique<WriteAttribute<uint32_t>>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id,
- WriteCommandType::kForceWrite, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ WriteCommandType::kForceWrite, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id,
+ credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
@@ -16403,19 +16478,20 @@
//
// Attributes
//
- make_unique<ReadAttribute>(Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
- make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
+ make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::Percent>>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::FuelTankMonitoring::DegradationDirectionEnum>>(
@@ -16429,6 +16505,10 @@
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(Id, "last-changed-time", 0, UINT32_MAX,
Attributes::LastChangedTime::Id,
WriteCommandType::kWrite, credsIssuerConfig), //
+ make_unique<WriteAttributeAsComplex<
+ chip::app::DataModel::List<const chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::Type>>>(
+ Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite,
+ credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<const chip::CommandId>>>(
Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite,
credsIssuerConfig), //
@@ -16441,13 +16521,15 @@
make_unique<WriteAttribute<uint32_t>>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id,
- WriteCommandType::kForceWrite, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ WriteCommandType::kForceWrite, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id,
+ credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
@@ -16478,19 +16560,20 @@
//
// Attributes
//
- make_unique<ReadAttribute>(Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
- make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
+ make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::Percent>>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::InkCartridgeMonitoring::DegradationDirectionEnum>>(
@@ -16504,6 +16587,10 @@
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(Id, "last-changed-time", 0, UINT32_MAX,
Attributes::LastChangedTime::Id,
WriteCommandType::kWrite, credsIssuerConfig), //
+ make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<
+ const chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::Type>>>(
+ Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite,
+ credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<const chip::CommandId>>>(
Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite,
credsIssuerConfig), //
@@ -16516,13 +16603,15 @@
make_unique<WriteAttribute<uint32_t>>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id,
- WriteCommandType::kForceWrite, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ WriteCommandType::kForceWrite, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id,
+ credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
@@ -16553,19 +16642,20 @@
//
// Attributes
//
- make_unique<ReadAttribute>(Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
- make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
- make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
+ make_unique<ReadAttribute>(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
+ make_unique<WriteAttribute<>>(Id, credsIssuerConfig), //
make_unique<WriteAttribute<chip::Percent>>(Id, "condition", 0, UINT8_MAX, Attributes::Condition::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<chip::app::Clusters::TonerCartridgeMonitoring::DegradationDirectionEnum>>(
@@ -16579,6 +16669,10 @@
make_unique<WriteAttribute<chip::app::DataModel::Nullable<uint32_t>>>(Id, "last-changed-time", 0, UINT32_MAX,
Attributes::LastChangedTime::Id,
WriteCommandType::kWrite, credsIssuerConfig), //
+ make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<
+ const chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::Type>>>(
+ Id, "replacement-product-list", Attributes::ReplacementProductList::Id, WriteCommandType::kForceWrite,
+ credsIssuerConfig), //
make_unique<WriteAttributeAsComplex<chip::app::DataModel::List<const chip::CommandId>>>(
Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite,
credsIssuerConfig), //
@@ -16591,13 +16685,15 @@
make_unique<WriteAttribute<uint32_t>>(Id, "feature-map", 0, UINT32_MAX, Attributes::FeatureMap::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique<WriteAttribute<uint16_t>>(Id, "cluster-revision", 0, UINT16_MAX, Attributes::ClusterRevision::Id,
- WriteCommandType::kForceWrite, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
- make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ WriteCommandType::kForceWrite, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "condition", Attributes::Condition::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "degradation-direction", Attributes::DegradationDirection::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "change-indication", Attributes::ChangeIndication::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "in-place-indicator", Attributes::InPlaceIndicator::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "last-changed-time", Attributes::LastChangedTime::Id, credsIssuerConfig), //
+ make_unique<SubscribeAttribute>(Id, "replacement-product-list", Attributes::ReplacementProductList::Id,
+ credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique<SubscribeAttribute>(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp
index f55c84a..0dc1ff4 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp
+++ b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp
@@ -2036,6 +2036,428 @@
ComplexArgumentParser::Finalize(request.semanticTags);
}
+CHIP_ERROR
+ComplexArgumentParser::Setup(const char * label,
+ chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value)
+{
+ VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT);
+
+ // Copy to track which members we already processed.
+ Json::Value valueCopy(value);
+
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType")));
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue")));
+
+ char labelWithMember[kMaxLabelLength];
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"]));
+ valueCopy.removeMember("productIdentifierType");
+
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"]));
+ valueCopy.removeMember("productIdentifierValue");
+
+ return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy);
+}
+
+void ComplexArgumentParser::Finalize(chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::Type & request)
+{
+ ComplexArgumentParser::Finalize(request.productIdentifierType);
+ ComplexArgumentParser::Finalize(request.productIdentifierValue);
+}
+
+CHIP_ERROR ComplexArgumentParser::Setup(
+ const char * label, chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value)
+{
+ VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT);
+
+ // Copy to track which members we already processed.
+ Json::Value valueCopy(value);
+
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType")));
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue")));
+
+ char labelWithMember[kMaxLabelLength];
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"]));
+ valueCopy.removeMember("productIdentifierType");
+
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"]));
+ valueCopy.removeMember("productIdentifierValue");
+
+ return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy);
+}
+
+void ComplexArgumentParser::Finalize(
+ chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::Type & request)
+{
+ ComplexArgumentParser::Finalize(request.productIdentifierType);
+ ComplexArgumentParser::Finalize(request.productIdentifierValue);
+}
+
+CHIP_ERROR
+ComplexArgumentParser::Setup(const char * label,
+ chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value)
+{
+ VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT);
+
+ // Copy to track which members we already processed.
+ Json::Value valueCopy(value);
+
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType")));
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue")));
+
+ char labelWithMember[kMaxLabelLength];
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"]));
+ valueCopy.removeMember("productIdentifierType");
+
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"]));
+ valueCopy.removeMember("productIdentifierValue");
+
+ return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy);
+}
+
+void ComplexArgumentParser::Finalize(
+ chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::Type & request)
+{
+ ComplexArgumentParser::Finalize(request.productIdentifierType);
+ ComplexArgumentParser::Finalize(request.productIdentifierValue);
+}
+
+CHIP_ERROR
+ComplexArgumentParser::Setup(const char * label,
+ chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value)
+{
+ VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT);
+
+ // Copy to track which members we already processed.
+ Json::Value valueCopy(value);
+
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType")));
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue")));
+
+ char labelWithMember[kMaxLabelLength];
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"]));
+ valueCopy.removeMember("productIdentifierType");
+
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"]));
+ valueCopy.removeMember("productIdentifierValue");
+
+ return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy);
+}
+
+void ComplexArgumentParser::Finalize(
+ chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::Type & request)
+{
+ ComplexArgumentParser::Finalize(request.productIdentifierType);
+ ComplexArgumentParser::Finalize(request.productIdentifierValue);
+}
+
+CHIP_ERROR ComplexArgumentParser::Setup(const char * label,
+ chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value)
+{
+ VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT);
+
+ // Copy to track which members we already processed.
+ Json::Value valueCopy(value);
+
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType")));
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue")));
+
+ char labelWithMember[kMaxLabelLength];
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"]));
+ valueCopy.removeMember("productIdentifierType");
+
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"]));
+ valueCopy.removeMember("productIdentifierValue");
+
+ return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy);
+}
+
+void ComplexArgumentParser::Finalize(chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::Type & request)
+{
+ ComplexArgumentParser::Finalize(request.productIdentifierType);
+ ComplexArgumentParser::Finalize(request.productIdentifierValue);
+}
+
+CHIP_ERROR
+ComplexArgumentParser::Setup(const char * label,
+ chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value)
+{
+ VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT);
+
+ // Copy to track which members we already processed.
+ Json::Value valueCopy(value);
+
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType")));
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue")));
+
+ char labelWithMember[kMaxLabelLength];
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"]));
+ valueCopy.removeMember("productIdentifierType");
+
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"]));
+ valueCopy.removeMember("productIdentifierValue");
+
+ return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy);
+}
+
+void ComplexArgumentParser::Finalize(
+ chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::Type & request)
+{
+ ComplexArgumentParser::Finalize(request.productIdentifierType);
+ ComplexArgumentParser::Finalize(request.productIdentifierValue);
+}
+
+CHIP_ERROR
+ComplexArgumentParser::Setup(const char * label,
+ chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value)
+{
+ VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT);
+
+ // Copy to track which members we already processed.
+ Json::Value valueCopy(value);
+
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType")));
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue")));
+
+ char labelWithMember[kMaxLabelLength];
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"]));
+ valueCopy.removeMember("productIdentifierType");
+
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"]));
+ valueCopy.removeMember("productIdentifierValue");
+
+ return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy);
+}
+
+void ComplexArgumentParser::Finalize(
+ chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::Type & request)
+{
+ ComplexArgumentParser::Finalize(request.productIdentifierType);
+ ComplexArgumentParser::Finalize(request.productIdentifierValue);
+}
+
+CHIP_ERROR
+ComplexArgumentParser::Setup(const char * label,
+ chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value)
+{
+ VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT);
+
+ // Copy to track which members we already processed.
+ Json::Value valueCopy(value);
+
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType")));
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue")));
+
+ char labelWithMember[kMaxLabelLength];
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"]));
+ valueCopy.removeMember("productIdentifierType");
+
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"]));
+ valueCopy.removeMember("productIdentifierValue");
+
+ return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy);
+}
+
+void ComplexArgumentParser::Finalize(chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::Type & request)
+{
+ ComplexArgumentParser::Finalize(request.productIdentifierType);
+ ComplexArgumentParser::Finalize(request.productIdentifierValue);
+}
+
+CHIP_ERROR ComplexArgumentParser::Setup(const char * label,
+ chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value)
+{
+ VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT);
+
+ // Copy to track which members we already processed.
+ Json::Value valueCopy(value);
+
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType")));
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue")));
+
+ char labelWithMember[kMaxLabelLength];
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"]));
+ valueCopy.removeMember("productIdentifierType");
+
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"]));
+ valueCopy.removeMember("productIdentifierValue");
+
+ return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy);
+}
+
+void ComplexArgumentParser::Finalize(chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::Type & request)
+{
+ ComplexArgumentParser::Finalize(request.productIdentifierType);
+ ComplexArgumentParser::Finalize(request.productIdentifierValue);
+}
+
+CHIP_ERROR ComplexArgumentParser::Setup(const char * label,
+ chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value)
+{
+ VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT);
+
+ // Copy to track which members we already processed.
+ Json::Value valueCopy(value);
+
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType")));
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue")));
+
+ char labelWithMember[kMaxLabelLength];
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"]));
+ valueCopy.removeMember("productIdentifierType");
+
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"]));
+ valueCopy.removeMember("productIdentifierValue");
+
+ return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy);
+}
+
+void ComplexArgumentParser::Finalize(chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::Type & request)
+{
+ ComplexArgumentParser::Finalize(request.productIdentifierType);
+ ComplexArgumentParser::Finalize(request.productIdentifierValue);
+}
+
+CHIP_ERROR
+ComplexArgumentParser::Setup(const char * label,
+ chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value)
+{
+ VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT);
+
+ // Copy to track which members we already processed.
+ Json::Value valueCopy(value);
+
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType")));
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue")));
+
+ char labelWithMember[kMaxLabelLength];
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"]));
+ valueCopy.removeMember("productIdentifierType");
+
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"]));
+ valueCopy.removeMember("productIdentifierValue");
+
+ return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy);
+}
+
+void ComplexArgumentParser::Finalize(chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::Type & request)
+{
+ ComplexArgumentParser::Finalize(request.productIdentifierType);
+ ComplexArgumentParser::Finalize(request.productIdentifierValue);
+}
+
+CHIP_ERROR
+ComplexArgumentParser::Setup(const char * label,
+ chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value)
+{
+ VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT);
+
+ // Copy to track which members we already processed.
+ Json::Value valueCopy(value);
+
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierType", "productIdentifierType", value.isMember("productIdentifierType")));
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist(
+ "ReplacementProductStruct.productIdentifierValue", "productIdentifierValue", value.isMember("productIdentifierValue")));
+
+ char labelWithMember[kMaxLabelLength];
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierType");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierType, value["productIdentifierType"]));
+ valueCopy.removeMember("productIdentifierType");
+
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "productIdentifierValue");
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::Setup(labelWithMember, request.productIdentifierValue, value["productIdentifierValue"]));
+ valueCopy.removeMember("productIdentifierValue");
+
+ return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy);
+}
+
+void ComplexArgumentParser::Finalize(
+ chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::Type & request)
+{
+ ComplexArgumentParser::Finalize(request.productIdentifierType);
+ ComplexArgumentParser::Finalize(request.productIdentifierValue);
+}
+
CHIP_ERROR ComplexArgumentParser::Setup(const char * label,
chip::app::Clusters::DoorLock::Structs::CredentialStruct::Type & request,
Json::Value & value)
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h
index fd35d2d..f1e6b4b 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h
+++ b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h
@@ -254,6 +254,78 @@
static void Finalize(chip::app::Clusters::ModeSelect::Structs::ModeOptionStruct::Type & request);
+static CHIP_ERROR Setup(const char * label,
+ chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value);
+
+static void Finalize(chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::Type & request);
+
+static CHIP_ERROR Setup(const char * label,
+ chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value);
+
+static void Finalize(chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::Type & request);
+
+static CHIP_ERROR Setup(const char * label,
+ chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value);
+
+static void Finalize(chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::Type & request);
+
+static CHIP_ERROR Setup(const char * label,
+ chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value);
+
+static void Finalize(chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::Type & request);
+
+static CHIP_ERROR Setup(const char * label,
+ chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value);
+
+static void Finalize(chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::Type & request);
+
+static CHIP_ERROR Setup(const char * label,
+ chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value);
+
+static void Finalize(chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::Type & request);
+
+static CHIP_ERROR Setup(const char * label,
+ chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value);
+
+static void Finalize(chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::Type & request);
+
+static CHIP_ERROR Setup(const char * label,
+ chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value);
+
+static void Finalize(chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::Type & request);
+
+static CHIP_ERROR Setup(const char * label,
+ chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value);
+
+static void Finalize(chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::Type & request);
+
+static CHIP_ERROR Setup(const char * label,
+ chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value);
+
+static void Finalize(chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::Type & request);
+
+static CHIP_ERROR Setup(const char * label,
+ chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value);
+
+static void Finalize(chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::Type & request);
+
+static CHIP_ERROR Setup(const char * label,
+ chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::Type & request,
+ Json::Value & value);
+
+static void Finalize(chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::Type & request);
+
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::DoorLock::Structs::CredentialStruct::Type & request,
Json::Value & value);
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp
index c3dfede..70e1047 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp
+++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp
@@ -1827,6 +1827,318 @@
return CHIP_NO_ERROR;
}
+CHIP_ERROR
+DataModelLogger::LogValue(const char * label, size_t indent,
+ const chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value)
+{
+ DataModelLogger::LogString(label, indent, "{");
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'");
+ return err;
+ }
+ }
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'");
+ return err;
+ }
+ }
+ DataModelLogger::LogString(indent, "}");
+
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DataModelLogger::LogValue(
+ const char * label, size_t indent,
+ const chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value)
+{
+ DataModelLogger::LogString(label, indent, "{");
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'");
+ return err;
+ }
+ }
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'");
+ return err;
+ }
+ }
+ DataModelLogger::LogString(indent, "}");
+
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DataModelLogger::LogValue(
+ const char * label, size_t indent,
+ const chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value)
+{
+ DataModelLogger::LogString(label, indent, "{");
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'");
+ return err;
+ }
+ }
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'");
+ return err;
+ }
+ }
+ DataModelLogger::LogString(indent, "}");
+
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DataModelLogger::LogValue(
+ const char * label, size_t indent,
+ const chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value)
+{
+ DataModelLogger::LogString(label, indent, "{");
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'");
+ return err;
+ }
+ }
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'");
+ return err;
+ }
+ }
+ DataModelLogger::LogString(indent, "}");
+
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR
+DataModelLogger::LogValue(const char * label, size_t indent,
+ const chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value)
+{
+ DataModelLogger::LogString(label, indent, "{");
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'");
+ return err;
+ }
+ }
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'");
+ return err;
+ }
+ }
+ DataModelLogger::LogString(indent, "}");
+
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DataModelLogger::LogValue(
+ const char * label, size_t indent,
+ const chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value)
+{
+ DataModelLogger::LogString(label, indent, "{");
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'");
+ return err;
+ }
+ }
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'");
+ return err;
+ }
+ }
+ DataModelLogger::LogString(indent, "}");
+
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DataModelLogger::LogValue(
+ const char * label, size_t indent,
+ const chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value)
+{
+ DataModelLogger::LogString(label, indent, "{");
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'");
+ return err;
+ }
+ }
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'");
+ return err;
+ }
+ }
+ DataModelLogger::LogString(indent, "}");
+
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DataModelLogger::LogValue(
+ const char * label, size_t indent,
+ const chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value)
+{
+ DataModelLogger::LogString(label, indent, "{");
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'");
+ return err;
+ }
+ }
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'");
+ return err;
+ }
+ }
+ DataModelLogger::LogString(indent, "}");
+
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR
+DataModelLogger::LogValue(const char * label, size_t indent,
+ const chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::DecodableType & value)
+{
+ DataModelLogger::LogString(label, indent, "{");
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'");
+ return err;
+ }
+ }
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'");
+ return err;
+ }
+ }
+ DataModelLogger::LogString(indent, "}");
+
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR
+DataModelLogger::LogValue(const char * label, size_t indent,
+ const chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::DecodableType & value)
+{
+ DataModelLogger::LogString(label, indent, "{");
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'");
+ return err;
+ }
+ }
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'");
+ return err;
+ }
+ }
+ DataModelLogger::LogString(indent, "}");
+
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DataModelLogger::LogValue(
+ const char * label, size_t indent,
+ const chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType & value)
+{
+ DataModelLogger::LogString(label, indent, "{");
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'");
+ return err;
+ }
+ }
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'");
+ return err;
+ }
+ }
+ DataModelLogger::LogString(indent, "}");
+
+ return CHIP_NO_ERROR;
+}
+
+CHIP_ERROR DataModelLogger::LogValue(
+ const char * label, size_t indent,
+ const chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType & value)
+{
+ DataModelLogger::LogString(label, indent, "{");
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierType", indent + 1, value.productIdentifierType);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierType'");
+ return err;
+ }
+ }
+ {
+ CHIP_ERROR err = LogValue("ProductIdentifierValue", indent + 1, value.productIdentifierValue);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ProductIdentifierValue'");
+ return err;
+ }
+ }
+ DataModelLogger::LogString(indent, "}");
+
+ return CHIP_NO_ERROR;
+}
+
CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent,
const chip::app::Clusters::DoorLock::Structs::CredentialStruct::DecodableType & value)
{
@@ -8753,6 +9065,13 @@
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
return DataModelLogger::LogValue("LastChangedTime", 1, value);
}
+ case HepaFilterMonitoring::Attributes::ReplacementProductList::Id: {
+ chip::app::DataModel::DecodableList<
+ chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>
+ value;
+ ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
+ return DataModelLogger::LogValue("ReplacementProductList", 1, value);
+ }
case HepaFilterMonitoring::Attributes::GeneratedCommandList::Id: {
chip::app::DataModel::DecodableList<chip::CommandId> value;
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
@@ -8814,6 +9133,13 @@
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
return DataModelLogger::LogValue("LastChangedTime", 1, value);
}
+ case ActivatedCarbonFilterMonitoring::Attributes::ReplacementProductList::Id: {
+ chip::app::DataModel::DecodableList<
+ chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>
+ value;
+ ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
+ return DataModelLogger::LogValue("ReplacementProductList", 1, value);
+ }
case ActivatedCarbonFilterMonitoring::Attributes::GeneratedCommandList::Id: {
chip::app::DataModel::DecodableList<chip::CommandId> value;
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
@@ -8875,6 +9201,13 @@
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
return DataModelLogger::LogValue("LastChangedTime", 1, value);
}
+ case CeramicFilterMonitoring::Attributes::ReplacementProductList::Id: {
+ chip::app::DataModel::DecodableList<
+ chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>
+ value;
+ ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
+ return DataModelLogger::LogValue("ReplacementProductList", 1, value);
+ }
case CeramicFilterMonitoring::Attributes::GeneratedCommandList::Id: {
chip::app::DataModel::DecodableList<chip::CommandId> value;
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
@@ -8936,6 +9269,13 @@
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
return DataModelLogger::LogValue("LastChangedTime", 1, value);
}
+ case ElectrostaticFilterMonitoring::Attributes::ReplacementProductList::Id: {
+ chip::app::DataModel::DecodableList<
+ chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>
+ value;
+ ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
+ return DataModelLogger::LogValue("ReplacementProductList", 1, value);
+ }
case ElectrostaticFilterMonitoring::Attributes::GeneratedCommandList::Id: {
chip::app::DataModel::DecodableList<chip::CommandId> value;
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
@@ -8997,6 +9337,13 @@
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
return DataModelLogger::LogValue("LastChangedTime", 1, value);
}
+ case UvFilterMonitoring::Attributes::ReplacementProductList::Id: {
+ chip::app::DataModel::DecodableList<
+ chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>
+ value;
+ ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
+ return DataModelLogger::LogValue("ReplacementProductList", 1, value);
+ }
case UvFilterMonitoring::Attributes::GeneratedCommandList::Id: {
chip::app::DataModel::DecodableList<chip::CommandId> value;
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
@@ -9058,6 +9405,13 @@
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
return DataModelLogger::LogValue("LastChangedTime", 1, value);
}
+ case IonizingFilterMonitoring::Attributes::ReplacementProductList::Id: {
+ chip::app::DataModel::DecodableList<
+ chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>
+ value;
+ ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
+ return DataModelLogger::LogValue("ReplacementProductList", 1, value);
+ }
case IonizingFilterMonitoring::Attributes::GeneratedCommandList::Id: {
chip::app::DataModel::DecodableList<chip::CommandId> value;
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
@@ -9119,6 +9473,13 @@
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
return DataModelLogger::LogValue("LastChangedTime", 1, value);
}
+ case ZeoliteFilterMonitoring::Attributes::ReplacementProductList::Id: {
+ chip::app::DataModel::DecodableList<
+ chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>
+ value;
+ ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
+ return DataModelLogger::LogValue("ReplacementProductList", 1, value);
+ }
case ZeoliteFilterMonitoring::Attributes::GeneratedCommandList::Id: {
chip::app::DataModel::DecodableList<chip::CommandId> value;
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
@@ -9180,6 +9541,13 @@
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
return DataModelLogger::LogValue("LastChangedTime", 1, value);
}
+ case OzoneFilterMonitoring::Attributes::ReplacementProductList::Id: {
+ chip::app::DataModel::DecodableList<
+ chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::DecodableType>
+ value;
+ ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
+ return DataModelLogger::LogValue("ReplacementProductList", 1, value);
+ }
case OzoneFilterMonitoring::Attributes::GeneratedCommandList::Id: {
chip::app::DataModel::DecodableList<chip::CommandId> value;
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
@@ -9241,6 +9609,13 @@
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
return DataModelLogger::LogValue("LastChangedTime", 1, value);
}
+ case WaterTankMonitoring::Attributes::ReplacementProductList::Id: {
+ chip::app::DataModel::DecodableList<
+ chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::DecodableType>
+ value;
+ ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
+ return DataModelLogger::LogValue("ReplacementProductList", 1, value);
+ }
case WaterTankMonitoring::Attributes::GeneratedCommandList::Id: {
chip::app::DataModel::DecodableList<chip::CommandId> value;
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
@@ -9302,6 +9677,13 @@
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
return DataModelLogger::LogValue("LastChangedTime", 1, value);
}
+ case FuelTankMonitoring::Attributes::ReplacementProductList::Id: {
+ chip::app::DataModel::DecodableList<
+ chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::DecodableType>
+ value;
+ ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
+ return DataModelLogger::LogValue("ReplacementProductList", 1, value);
+ }
case FuelTankMonitoring::Attributes::GeneratedCommandList::Id: {
chip::app::DataModel::DecodableList<chip::CommandId> value;
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
@@ -9363,6 +9745,13 @@
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
return DataModelLogger::LogValue("LastChangedTime", 1, value);
}
+ case InkCartridgeMonitoring::Attributes::ReplacementProductList::Id: {
+ chip::app::DataModel::DecodableList<
+ chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType>
+ value;
+ ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
+ return DataModelLogger::LogValue("ReplacementProductList", 1, value);
+ }
case InkCartridgeMonitoring::Attributes::GeneratedCommandList::Id: {
chip::app::DataModel::DecodableList<chip::CommandId> value;
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
@@ -9424,6 +9813,13 @@
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
return DataModelLogger::LogValue("LastChangedTime", 1, value);
}
+ case TonerCartridgeMonitoring::Attributes::ReplacementProductList::Id: {
+ chip::app::DataModel::DecodableList<
+ chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType>
+ value;
+ ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
+ return DataModelLogger::LogValue("ReplacementProductList", 1, value);
+ }
case TonerCartridgeMonitoring::Attributes::GeneratedCommandList::Id: {
chip::app::DataModel::DecodableList<chip::CommandId> value;
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h
index c5a2705..0653497 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h
+++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h
@@ -159,6 +159,52 @@
static CHIP_ERROR LogValue(const char * label, size_t indent,
const chip::app::Clusters::ModeSelect::Structs::ModeOptionStruct::DecodableType & value);
+static CHIP_ERROR
+LogValue(const char * label, size_t indent,
+ const chip::app::Clusters::HepaFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value);
+
+static CHIP_ERROR
+LogValue(const char * label, size_t indent,
+ const chip::app::Clusters::ActivatedCarbonFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value);
+
+static CHIP_ERROR
+LogValue(const char * label, size_t indent,
+ const chip::app::Clusters::CeramicFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value);
+
+static CHIP_ERROR
+LogValue(const char * label, size_t indent,
+ const chip::app::Clusters::ElectrostaticFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value);
+
+static CHIP_ERROR LogValue(const char * label, size_t indent,
+ const chip::app::Clusters::UvFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value);
+
+static CHIP_ERROR
+LogValue(const char * label, size_t indent,
+ const chip::app::Clusters::IonizingFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value);
+
+static CHIP_ERROR
+LogValue(const char * label, size_t indent,
+ const chip::app::Clusters::ZeoliteFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value);
+
+static CHIP_ERROR
+LogValue(const char * label, size_t indent,
+ const chip::app::Clusters::OzoneFilterMonitoring::Structs::ReplacementProductStruct::DecodableType & value);
+
+static CHIP_ERROR
+LogValue(const char * label, size_t indent,
+ const chip::app::Clusters::WaterTankMonitoring::Structs::ReplacementProductStruct::DecodableType & value);
+
+static CHIP_ERROR LogValue(const char * label, size_t indent,
+ const chip::app::Clusters::FuelTankMonitoring::Structs::ReplacementProductStruct::DecodableType & value);
+
+static CHIP_ERROR
+LogValue(const char * label, size_t indent,
+ const chip::app::Clusters::InkCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType & value);
+
+static CHIP_ERROR
+LogValue(const char * label, size_t indent,
+ const chip::app::Clusters::TonerCartridgeMonitoring::Structs::ReplacementProductStruct::DecodableType & value);
+
static CHIP_ERROR LogValue(const char * label, size_t indent,
const chip::app::Clusters::DoorLock::Structs::CredentialStruct::DecodableType & value);