Skip to content

Commit ccdaefe

Browse files
authored
Add soil measurement XML (project-chip#38590)
* Generated XML using Alchemy * Adjust SoilMoistureMeasurementLimits to external * Enable Soil Measurement in controller zap * zap regen all
1 parent 1ef493c commit ccdaefe

200 files changed

Lines changed: 10822 additions & 6 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/tests.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ jobs:
192192
src/app/zap-templates/zcl/data-model/chip/scene.xml \
193193
src/app/zap-templates/zcl/data-model/chip/smoke-co-alarm-cluster.xml \
194194
src/app/zap-templates/zcl/data-model/chip/software-diagnostics-cluster.xml \
195+
src/app/zap-templates/zcl/data-model/chip/soil-measurement-cluster.xml \
195196
src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml \
196197
src/app/zap-templates/zcl/data-model/chip/target-navigator-cluster.xml \
197198
src/app/zap-templates/zcl/data-model/chip/temperature-control-cluster.xml \

docs/ids_and_codes/zap_clusters.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ Generally regenerate using one of:
116116
| 1069 | 0x42D | Pm10ConcentrationMeasurement |
117117
| 1070 | 0x42E | TotalVolatileOrganicCompoundsConcentrationMeasurement |
118118
| 1071 | 0x42F | RadonConcentrationMeasurement |
119+
| 1072 | 0x430 | SoilMeasurement |
119120
| 1105 | 0x451 | WiFiNetworkManagement |
120121
| 1106 | 0x452 | ThreadBorderRouterManagement |
121122
| 1107 | 0x453 | ThreadNetworkDirectory |

examples/air-purifier-app/air-purifier-common/air-purifier-app.matter

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,27 @@ enum LocationTag : enum8 {
164164
kOutside = 3;
165165
}
166166

167+
enum MeasurementTypeEnum : enum16 {
168+
kUnspecified = 0;
169+
kVoltage = 1;
170+
kActiveCurrent = 2;
171+
kReactiveCurrent = 3;
172+
kApparentCurrent = 4;
173+
kActivePower = 5;
174+
kReactivePower = 6;
175+
kApparentPower = 7;
176+
kRMSVoltage = 8;
177+
kRMSCurrent = 9;
178+
kRMSPower = 10;
179+
kFrequency = 11;
180+
kPowerFactor = 12;
181+
kNeutralCurrent = 13;
182+
kElectricalEnergy = 14;
183+
kReactiveEnergy = 15;
184+
kApparentEnergy = 16;
185+
kSoilMoisture = 17;
186+
}
187+
167188
enum PositionTag : enum8 {
168189
kLeft = 0;
169190
kRight = 1;
@@ -231,6 +252,25 @@ struct PriceStruct {
231252
CurrencyStruct currency = 1;
232253
}
233254

255+
struct MeasurementAccuracyRangeStruct {
256+
int64s rangeMin = 0;
257+
int64s rangeMax = 1;
258+
optional percent100ths percentMax = 2;
259+
optional percent100ths percentMin = 3;
260+
optional percent100ths percentTypical = 4;
261+
optional int64u fixedMax = 5;
262+
optional int64u fixedMin = 6;
263+
optional int64u fixedTypical = 7;
264+
}
265+
266+
struct MeasurementAccuracyStruct {
267+
MeasurementTypeEnum measurementType = 0;
268+
boolean measured = 1;
269+
int64s minMeasuredValue = 2;
270+
int64s maxMeasuredValue = 3;
271+
MeasurementAccuracyRangeStruct accuracyRanges[] = 4;
272+
}
273+
234274
struct AtomicAttributeStatusStruct {
235275
attrib_id attributeID = 0;
236276
status statusCode = 1;

examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,27 @@ enum LocationTag : enum8 {
164164
kOutside = 3;
165165
}
166166

167+
enum MeasurementTypeEnum : enum16 {
168+
kUnspecified = 0;
169+
kVoltage = 1;
170+
kActiveCurrent = 2;
171+
kReactiveCurrent = 3;
172+
kApparentCurrent = 4;
173+
kActivePower = 5;
174+
kReactivePower = 6;
175+
kApparentPower = 7;
176+
kRMSVoltage = 8;
177+
kRMSCurrent = 9;
178+
kRMSPower = 10;
179+
kFrequency = 11;
180+
kPowerFactor = 12;
181+
kNeutralCurrent = 13;
182+
kElectricalEnergy = 14;
183+
kReactiveEnergy = 15;
184+
kApparentEnergy = 16;
185+
kSoilMoisture = 17;
186+
}
187+
167188
enum PositionTag : enum8 {
168189
kLeft = 0;
169190
kRight = 1;
@@ -231,6 +252,25 @@ struct PriceStruct {
231252
CurrencyStruct currency = 1;
232253
}
233254

255+
struct MeasurementAccuracyRangeStruct {
256+
int64s rangeMin = 0;
257+
int64s rangeMax = 1;
258+
optional percent100ths percentMax = 2;
259+
optional percent100ths percentMin = 3;
260+
optional percent100ths percentTypical = 4;
261+
optional int64u fixedMax = 5;
262+
optional int64u fixedMin = 6;
263+
optional int64u fixedTypical = 7;
264+
}
265+
266+
struct MeasurementAccuracyStruct {
267+
MeasurementTypeEnum measurementType = 0;
268+
boolean measured = 1;
269+
int64s minMeasuredValue = 2;
270+
int64s maxMeasuredValue = 3;
271+
MeasurementAccuracyRangeStruct accuracyRanges[] = 4;
272+
}
273+
234274
struct AtomicAttributeStatusStruct {
235275
attrib_id attributeID = 0;
236276
status statusCode = 1;

examples/all-clusters-app/all-clusters-common/all-clusters-app.matter

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,27 @@ enum LocationTag : enum8 {
164164
kOutside = 3;
165165
}
166166

167+
enum MeasurementTypeEnum : enum16 {
168+
kUnspecified = 0;
169+
kVoltage = 1;
170+
kActiveCurrent = 2;
171+
kReactiveCurrent = 3;
172+
kApparentCurrent = 4;
173+
kActivePower = 5;
174+
kReactivePower = 6;
175+
kApparentPower = 7;
176+
kRMSVoltage = 8;
177+
kRMSCurrent = 9;
178+
kRMSPower = 10;
179+
kFrequency = 11;
180+
kPowerFactor = 12;
181+
kNeutralCurrent = 13;
182+
kElectricalEnergy = 14;
183+
kReactiveEnergy = 15;
184+
kApparentEnergy = 16;
185+
kSoilMoisture = 17;
186+
}
187+
167188
enum PositionTag : enum8 {
168189
kLeft = 0;
169190
kRight = 1;
@@ -231,6 +252,25 @@ struct PriceStruct {
231252
CurrencyStruct currency = 1;
232253
}
233254

255+
struct MeasurementAccuracyRangeStruct {
256+
int64s rangeMin = 0;
257+
int64s rangeMax = 1;
258+
optional percent100ths percentMax = 2;
259+
optional percent100ths percentMin = 3;
260+
optional percent100ths percentTypical = 4;
261+
optional int64u fixedMax = 5;
262+
optional int64u fixedMin = 6;
263+
optional int64u fixedTypical = 7;
264+
}
265+
266+
struct MeasurementAccuracyStruct {
267+
MeasurementTypeEnum measurementType = 0;
268+
boolean measured = 1;
269+
int64s minMeasuredValue = 2;
270+
int64s maxMeasuredValue = 3;
271+
MeasurementAccuracyRangeStruct accuracyRanges[] = 4;
272+
}
273+
234274
struct AtomicAttributeStatusStruct {
235275
attrib_id attributeID = 0;
236276
status statusCode = 1;

examples/all-clusters-app/realtek_bee/data_model/all-clusters-app.matter

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,27 @@ enum LocationTag : enum8 {
164164
kOutside = 3;
165165
}
166166

167+
enum MeasurementTypeEnum : enum16 {
168+
kUnspecified = 0;
169+
kVoltage = 1;
170+
kActiveCurrent = 2;
171+
kReactiveCurrent = 3;
172+
kApparentCurrent = 4;
173+
kActivePower = 5;
174+
kReactivePower = 6;
175+
kApparentPower = 7;
176+
kRMSVoltage = 8;
177+
kRMSCurrent = 9;
178+
kRMSPower = 10;
179+
kFrequency = 11;
180+
kPowerFactor = 12;
181+
kNeutralCurrent = 13;
182+
kElectricalEnergy = 14;
183+
kReactiveEnergy = 15;
184+
kApparentEnergy = 16;
185+
kSoilMoisture = 17;
186+
}
187+
167188
enum PositionTag : enum8 {
168189
kLeft = 0;
169190
kRight = 1;
@@ -231,6 +252,25 @@ struct PriceStruct {
231252
CurrencyStruct currency = 1;
232253
}
233254

255+
struct MeasurementAccuracyRangeStruct {
256+
int64s rangeMin = 0;
257+
int64s rangeMax = 1;
258+
optional percent100ths percentMax = 2;
259+
optional percent100ths percentMin = 3;
260+
optional percent100ths percentTypical = 4;
261+
optional int64u fixedMax = 5;
262+
optional int64u fixedMin = 6;
263+
optional int64u fixedTypical = 7;
264+
}
265+
266+
struct MeasurementAccuracyStruct {
267+
MeasurementTypeEnum measurementType = 0;
268+
boolean measured = 1;
269+
int64s minMeasuredValue = 2;
270+
int64s maxMeasuredValue = 3;
271+
MeasurementAccuracyRangeStruct accuracyRanges[] = 4;
272+
}
273+
234274
struct AtomicAttributeStatusStruct {
235275
attrib_id attributeID = 0;
236276
status statusCode = 1;

examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,27 @@ enum LocationTag : enum8 {
164164
kOutside = 3;
165165
}
166166

167+
enum MeasurementTypeEnum : enum16 {
168+
kUnspecified = 0;
169+
kVoltage = 1;
170+
kActiveCurrent = 2;
171+
kReactiveCurrent = 3;
172+
kApparentCurrent = 4;
173+
kActivePower = 5;
174+
kReactivePower = 6;
175+
kApparentPower = 7;
176+
kRMSVoltage = 8;
177+
kRMSCurrent = 9;
178+
kRMSPower = 10;
179+
kFrequency = 11;
180+
kPowerFactor = 12;
181+
kNeutralCurrent = 13;
182+
kElectricalEnergy = 14;
183+
kReactiveEnergy = 15;
184+
kApparentEnergy = 16;
185+
kSoilMoisture = 17;
186+
}
187+
167188
enum PositionTag : enum8 {
168189
kLeft = 0;
169190
kRight = 1;
@@ -231,6 +252,25 @@ struct PriceStruct {
231252
CurrencyStruct currency = 1;
232253
}
233254

255+
struct MeasurementAccuracyRangeStruct {
256+
int64s rangeMin = 0;
257+
int64s rangeMax = 1;
258+
optional percent100ths percentMax = 2;
259+
optional percent100ths percentMin = 3;
260+
optional percent100ths percentTypical = 4;
261+
optional int64u fixedMax = 5;
262+
optional int64u fixedMin = 6;
263+
optional int64u fixedTypical = 7;
264+
}
265+
266+
struct MeasurementAccuracyStruct {
267+
MeasurementTypeEnum measurementType = 0;
268+
boolean measured = 1;
269+
int64s minMeasuredValue = 2;
270+
int64s maxMeasuredValue = 3;
271+
MeasurementAccuracyRangeStruct accuracyRanges[] = 4;
272+
}
273+
234274
struct AtomicAttributeStatusStruct {
235275
attrib_id attributeID = 0;
236276
status statusCode = 1;

examples/bridge-app/bridge-common/bridge-app.matter

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,27 @@ enum LocationTag : enum8 {
164164
kOutside = 3;
165165
}
166166

167+
enum MeasurementTypeEnum : enum16 {
168+
kUnspecified = 0;
169+
kVoltage = 1;
170+
kActiveCurrent = 2;
171+
kReactiveCurrent = 3;
172+
kApparentCurrent = 4;
173+
kActivePower = 5;
174+
kReactivePower = 6;
175+
kApparentPower = 7;
176+
kRMSVoltage = 8;
177+
kRMSCurrent = 9;
178+
kRMSPower = 10;
179+
kFrequency = 11;
180+
kPowerFactor = 12;
181+
kNeutralCurrent = 13;
182+
kElectricalEnergy = 14;
183+
kReactiveEnergy = 15;
184+
kApparentEnergy = 16;
185+
kSoilMoisture = 17;
186+
}
187+
167188
enum PositionTag : enum8 {
168189
kLeft = 0;
169190
kRight = 1;
@@ -231,6 +252,25 @@ struct PriceStruct {
231252
CurrencyStruct currency = 1;
232253
}
233254

255+
struct MeasurementAccuracyRangeStruct {
256+
int64s rangeMin = 0;
257+
int64s rangeMax = 1;
258+
optional percent100ths percentMax = 2;
259+
optional percent100ths percentMin = 3;
260+
optional percent100ths percentTypical = 4;
261+
optional int64u fixedMax = 5;
262+
optional int64u fixedMin = 6;
263+
optional int64u fixedTypical = 7;
264+
}
265+
266+
struct MeasurementAccuracyStruct {
267+
MeasurementTypeEnum measurementType = 0;
268+
boolean measured = 1;
269+
int64s minMeasuredValue = 2;
270+
int64s maxMeasuredValue = 3;
271+
MeasurementAccuracyRangeStruct accuracyRanges[] = 4;
272+
}
273+
234274
struct AtomicAttributeStatusStruct {
235275
attrib_id attributeID = 0;
236276
status statusCode = 1;

examples/camera-app/camera-common/camera-app.matter

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,27 @@ enum LocationTag : enum8 {
164164
kOutside = 3;
165165
}
166166

167+
enum MeasurementTypeEnum : enum16 {
168+
kUnspecified = 0;
169+
kVoltage = 1;
170+
kActiveCurrent = 2;
171+
kReactiveCurrent = 3;
172+
kApparentCurrent = 4;
173+
kActivePower = 5;
174+
kReactivePower = 6;
175+
kApparentPower = 7;
176+
kRMSVoltage = 8;
177+
kRMSCurrent = 9;
178+
kRMSPower = 10;
179+
kFrequency = 11;
180+
kPowerFactor = 12;
181+
kNeutralCurrent = 13;
182+
kElectricalEnergy = 14;
183+
kReactiveEnergy = 15;
184+
kApparentEnergy = 16;
185+
kSoilMoisture = 17;
186+
}
187+
167188
enum PositionTag : enum8 {
168189
kLeft = 0;
169190
kRight = 1;
@@ -231,6 +252,25 @@ struct PriceStruct {
231252
CurrencyStruct currency = 1;
232253
}
233254

255+
struct MeasurementAccuracyRangeStruct {
256+
int64s rangeMin = 0;
257+
int64s rangeMax = 1;
258+
optional percent100ths percentMax = 2;
259+
optional percent100ths percentMin = 3;
260+
optional percent100ths percentTypical = 4;
261+
optional int64u fixedMax = 5;
262+
optional int64u fixedMin = 6;
263+
optional int64u fixedTypical = 7;
264+
}
265+
266+
struct MeasurementAccuracyStruct {
267+
MeasurementTypeEnum measurementType = 0;
268+
boolean measured = 1;
269+
int64s minMeasuredValue = 2;
270+
int64s maxMeasuredValue = 3;
271+
MeasurementAccuracyRangeStruct accuracyRanges[] = 4;
272+
}
273+
234274
struct AtomicAttributeStatusStruct {
235275
attrib_id attributeID = 0;
236276
status statusCode = 1;

0 commit comments

Comments
 (0)