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 b9af6c37182927..f2f96c7a142d5a 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
@@ -3339,7 +3339,13 @@ server cluster Thermostat = 513 {
kAutomode = 0x20;
}
- readonly attribute int16s localTemperature = 0;
+ struct ThermostatScheduleTransition {
+ int16u transitionTime = 0;
+ nullable int16s heatSetpoint = 1;
+ nullable int16s coolSetpoint = 2;
+ }
+
+ readonly attribute nullable int16s localTemperature = 0;
readonly attribute int16s absMinHeatSetpointLimit = 3;
readonly attribute int16s absMaxHeatSetpointLimit = 4;
readonly attribute int16s absMinCoolSetpointLimit = 5;
diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter
index 43a4796ee0e391..a57b883834f239 100644
--- a/examples/placeholder/linux/apps/app1/config.matter
+++ b/examples/placeholder/linux/apps/app1/config.matter
@@ -2302,7 +2302,13 @@ server cluster Thermostat = 513 {
kAutomode = 0x20;
}
- readonly attribute int16s localTemperature = 0;
+ struct ThermostatScheduleTransition {
+ int16u transitionTime = 0;
+ nullable int16s heatSetpoint = 1;
+ nullable int16s coolSetpoint = 2;
+ }
+
+ readonly attribute nullable int16s localTemperature = 0;
readonly attribute int16s absMinHeatSetpointLimit = 3;
readonly attribute int16s absMinCoolSetpointLimit = 5;
readonly attribute int16s absMaxCoolSetpointLimit = 6;
diff --git a/examples/placeholder/linux/apps/app2/config.matter b/examples/placeholder/linux/apps/app2/config.matter
index 43a4796ee0e391..a57b883834f239 100644
--- a/examples/placeholder/linux/apps/app2/config.matter
+++ b/examples/placeholder/linux/apps/app2/config.matter
@@ -2302,7 +2302,13 @@ server cluster Thermostat = 513 {
kAutomode = 0x20;
}
- readonly attribute int16s localTemperature = 0;
+ struct ThermostatScheduleTransition {
+ int16u transitionTime = 0;
+ nullable int16s heatSetpoint = 1;
+ nullable int16s coolSetpoint = 2;
+ }
+
+ readonly attribute nullable int16s localTemperature = 0;
readonly attribute int16s absMinHeatSetpointLimit = 3;
readonly attribute int16s absMinCoolSetpointLimit = 5;
readonly attribute int16s absMaxCoolSetpointLimit = 6;
diff --git a/examples/thermostat/thermostat-common/thermostat.matter b/examples/thermostat/thermostat-common/thermostat.matter
index 23901ccebeb421..abda1cb10f504b 100644
--- a/examples/thermostat/thermostat-common/thermostat.matter
+++ b/examples/thermostat/thermostat-common/thermostat.matter
@@ -1042,7 +1042,13 @@ server cluster Thermostat = 513 {
kAutomode = 0x20;
}
- readonly attribute int16s localTemperature = 0;
+ struct ThermostatScheduleTransition {
+ int16u transitionTime = 0;
+ nullable int16s heatSetpoint = 1;
+ nullable int16s coolSetpoint = 2;
+ }
+
+ readonly attribute nullable int16s localTemperature = 0;
readonly attribute int16s absMinHeatSetpointLimit = 3;
readonly attribute int16s absMaxHeatSetpointLimit = 4;
readonly attribute int16s absMinCoolSetpointLimit = 5;
@@ -1068,10 +1074,10 @@ server cluster Thermostat = 513 {
}
request struct SetWeeklyScheduleRequest {
- ENUM8 numberOfTransitionsForSequence = 0;
+ INT8U numberOfTransitionsForSequence = 0;
DayOfWeek dayOfWeekForSequence = 1;
ModeForSequence modeForSequence = 2;
- INT8U payload[] = 3;
+ ThermostatScheduleTransition transitions[] = 3;
}
request struct GetWeeklyScheduleRequest {
@@ -1080,15 +1086,15 @@ server cluster Thermostat = 513 {
}
response struct GetWeeklyScheduleResponse = 0 {
- ENUM8 numberOfTransitionsForSequence = 0;
+ INT8U numberOfTransitionsForSequence = 0;
DayOfWeek dayOfWeekForSequence = 1;
ModeForSequence modeForSequence = 2;
- INT8U payload[] = 3;
+ ThermostatScheduleTransition transitions[] = 3;
}
response struct GetRelayStatusLogResponse = 1 {
INT16U timeOfDay = 0;
- BITMAP16 relayStatus = 1;
+ BITMAP8 relayStatus = 1;
INT16S localTemperature = 2;
INT8U humidityInPercentage = 3;
INT16S setpoint = 4;
diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_2_1.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_2_1.yaml
index 206b584cda5ad5..5b42c72a1f7fae 100644
--- a/src/app/tests/suites/certification/Test_TC_TSTAT_2_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_TSTAT_2_1.yaml
@@ -33,7 +33,7 @@ tests:
- label:
"Reads constraints of mandatory attributes from DUT: LocalTemperature"
command: "readAttribute"
- attribute: "local temperature"
+ attribute: "LocalTemperature"
response:
constraints:
type: int16
@@ -42,7 +42,7 @@ tests:
"Reads constraints of mandatory attributes from DUT:
AbsMinHeatSetpointLimit"
command: "readAttribute"
- attribute: "abs min heat setpoint limit"
+ attribute: "AbsMinHeatSetpointLimit"
response:
constraints:
type: int16
@@ -53,7 +53,7 @@ tests:
"Reads constraints of mandatory attributes from DUT:
AbsMaxHeatSetpointLimit"
command: "readAttribute"
- attribute: "abs max heat setpoint limit"
+ attribute: "AbsMaxHeatSetpointLimit"
response:
constraints:
type: int16
@@ -65,7 +65,7 @@ tests:
AbsMinCoolSetpointLimit"
optional: true
command: "readAttribute"
- attribute: "abs min cool setpoint limit"
+ attribute: "AbsMinCoolSetpointLimit"
response:
constraints:
type: int16
@@ -77,7 +77,7 @@ tests:
AbsMaxCoolSetpointLimit"
optional: true
command: "readAttribute"
- attribute: "abs max cool setpoint limit"
+ attribute: "AbsMaxCoolSetpointLimit"
response:
constraints:
type: int16
@@ -111,7 +111,7 @@ tests:
OccupiedCoolingSetpoint"
optional: true
command: "readAttribute"
- attribute: "occupied cooling setpoint"
+ attribute: "OccupiedCoolingSetpoint"
response:
constraints:
type: int16
@@ -122,7 +122,7 @@ tests:
"Reads constraints of mandatory attributes from DUT:
OccupiedHeatingSetpoint"
command: "readAttribute"
- attribute: "occupied heating setpoint"
+ attribute: "OccupiedHeatingSetpoint"
response:
constraints:
type: int16
@@ -157,7 +157,7 @@ tests:
"Reads constraints of mandatory attributes from DUT:
MinHeatSetpointLimit"
command: "readAttribute"
- attribute: "min heat setpoint limit"
+ attribute: "MinHeatSetpointLimit"
response:
constraints:
type: int16
@@ -168,7 +168,7 @@ tests:
"Reads constraints of mandatory attributes from DUT:
MaxHeatSetpointLimit"
command: "readAttribute"
- attribute: "max heat setpoint limit"
+ attribute: "MaxHeatSetpointLimit"
response:
constraints:
type: int16
@@ -180,7 +180,7 @@ tests:
MinCoolSetpointLimit"
optional: true
command: "readAttribute"
- attribute: "min cool setpoint limit"
+ attribute: "MinCoolSetpointLimit"
response:
constraints:
type: int16
@@ -192,7 +192,7 @@ tests:
MaxCoolSetpointLimit"
optional: true
command: "readAttribute"
- attribute: "max cool setpoint limit"
+ attribute: "MaxCoolSetpointLimit"
response:
constraints:
type: int16
@@ -203,7 +203,7 @@ tests:
"Reads constraints of mandatory attributes from DUT:
ControlSequenceOfOperation"
command: "readAttribute"
- attribute: "control sequence of operation"
+ attribute: "ControlSequenceOfOperation"
response:
constraints:
type: enum8
@@ -212,7 +212,7 @@ tests:
- label: "Reads constraints of mandatory attributes from DUT: SystemMode"
command: "readAttribute"
- attribute: "system mode"
+ attribute: "SystemMode"
response:
constraints:
type: enum8
@@ -267,7 +267,7 @@ tests:
MinSetpointDeadBand"
optional: true
command: "readAttribute"
- attribute: "min setpoint dead band"
+ attribute: "MinSetpointDeadBand"
response:
constraints:
type: int8
@@ -309,7 +309,7 @@ tests:
- label: "Reads constraints of optional attributes from DUT: StartOfWeek"
optional: true
command: "readAttribute"
- attribute: "start of week"
+ attribute: "StartOfWeek"
response:
constraints:
type: enum8
@@ -321,7 +321,7 @@ tests:
NumberOfWeeklyTransitions"
optional: true
command: "readAttribute"
- attribute: "number of weekly transitions"
+ attribute: "NumberOfWeeklyTransitions"
response:
constraints:
type: uint8
@@ -331,7 +331,7 @@ tests:
NumberOfDailyTransitions"
optional: true
command: "readAttribute"
- attribute: "number of daily transitions"
+ attribute: "NumberOfDailyTransitions"
response:
constraints:
type: uint8
diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_2_2.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_2_2.yaml
index 3f1e178ccacf5a..9012c5e373725f 100644
--- a/src/app/tests/suites/certification/Test_TC_TSTAT_2_2.yaml
+++ b/src/app/tests/suites/certification/Test_TC_TSTAT_2_2.yaml
@@ -33,7 +33,7 @@ tests:
that the value is within range"
optional: true
command: "readAttribute"
- attribute: "occupied cooling setpoint"
+ attribute: "OccupiedCoolingSetpoint"
PICS: A_OCCUPIEDCOOLINGSETPOINT
response:
value: 2600
@@ -47,7 +47,7 @@ tests:
OccupiedCoolingSetpoint attribute"
optional: true
command: "writeAttribute"
- attribute: "occupied cooling setpoint"
+ attribute: "OccupiedCoolingSetpoint"
PICS: A_OCCUPIEDCOOLINGSETPOINT
arguments:
value: 2000
@@ -57,7 +57,7 @@ tests:
OccupiedCoolingSetpoint attribute"
optional: true
command: "readAttribute"
- attribute: "occupied cooling setpoint"
+ attribute: "OccupiedCoolingSetpoint"
PICS: A_OCCUPIEDCOOLINGSETPOINT
response:
value: 2000
@@ -68,7 +68,7 @@ tests:
MinCoolSetpointLimit"
disabled: true
command: "writeAttribute"
- attribute: "occupied cooling setpoint"
+ attribute: "OccupiedCoolingSetpoint"
PICS: A_OCCUPIEDCOOLINGSETPOINT
arguments:
value: 30
@@ -79,7 +79,7 @@ tests:
MaxCoolSetpointLimit"
disabled: true
command: "writeAttribute"
- attribute: "occupied cooling setpoint"
+ attribute: "OccupiedCoolingSetpoint"
PICS: A_OCCUPIEDCOOLINGSETPOINT
arguments:
value: 4000
@@ -89,7 +89,7 @@ tests:
attribute"
optional: true
command: "writeAttribute"
- attribute: "occupied cooling setpoint"
+ attribute: "OccupiedCoolingSetpoint"
PICS: A_OCCUPIEDCOOLINGSETPOINT
arguments:
value: 1600
@@ -99,7 +99,7 @@ tests:
attribute"
optional: true
command: "writeAttribute"
- attribute: "occupied cooling setpoint"
+ attribute: "OccupiedCoolingSetpoint"
PICS: A_OCCUPIEDCOOLINGSETPOINT
arguments:
value: 2600
@@ -108,7 +108,7 @@ tests:
"Reads OccupiedHeatingSetpoint attribute from Server DUT and verifies
that the value is within range"
command: "readAttribute"
- attribute: "occupied heating setpoint"
+ attribute: "OccupiedHeatingSetpoint"
PICS: A_OCCUPIEDHEATINGSETPOINT
response:
value: 2000
@@ -121,7 +121,7 @@ tests:
"Writes a value back that is different but valid for
OccupiedHeatingSetpoint attribute"
command: "writeAttribute"
- attribute: "occupied heating setpoint"
+ attribute: "OccupiedHeatingSetpoint"
PICS: A_OCCUPIEDHEATINGSETPOINT
arguments:
value: 2100
@@ -130,7 +130,7 @@ tests:
"Reads it back again to confirm the successful write of
OccupiedHeatingSetpoint attribute"
command: "readAttribute"
- attribute: "occupied heating setpoint"
+ attribute: "OccupiedHeatingSetpoint"
PICS: A_OCCUPIEDHEATINGSETPOINT
response:
value: 2100
@@ -141,7 +141,7 @@ tests:
MinHeatSetpointLimit"
disabled: true
command: "writeAttribute"
- attribute: "occupied heating setpoint"
+ attribute: "OccupiedHeatingSetpoint"
PICS: A_OCCUPIEDHEATINGSETPOINT
arguments:
value: 1002
@@ -152,7 +152,7 @@ tests:
MaxHeatSetpointLimit"
disabled: true
command: "writeAttribute"
- attribute: "occupied heating setpoint"
+ attribute: "OccupiedHeatingSetpoint"
PICS: A_OCCUPIEDHEATINGSETPOINT
arguments:
value: 4010
@@ -161,7 +161,7 @@ tests:
"Writes the limit of MinHeatSetpointLimit to OccupiedHeatingSetpoint
attribute"
command: "writeAttribute"
- attribute: "occupied heating setpoint"
+ attribute: "OccupiedHeatingSetpoint"
PICS: A_OCCUPIEDHEATINGSETPOINT
arguments:
value: 700
@@ -170,7 +170,7 @@ tests:
"Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint
attribute"
command: "writeAttribute"
- attribute: "occupied heating setpoint"
+ attribute: "OccupiedHeatingSetpoint"
PICS: A_OCCUPIEDHEATINGSETPOINT
arguments:
value: 3000
@@ -179,7 +179,7 @@ tests:
"Reads MinHeatSetpointLimit attribute from Server DUT and verifies
that the value is within range"
command: "readAttribute"
- attribute: "min heat setpoint limit"
+ attribute: "MinHeatSetpointLimit"
PICS: A_MINHEATSETPOINTLIMIT
response:
value: 700
@@ -192,7 +192,7 @@ tests:
"Writes a value back that is different but valid for
MinHeatSetpointLimit attribute"
command: "writeAttribute"
- attribute: "min heat setpoint limit"
+ attribute: "MinHeatSetpointLimit"
PICS: A_MINHEATSETPOINTLIMIT
arguments:
value: 2000
@@ -201,7 +201,7 @@ tests:
"Reads it back again to confirm the successful write of
MinHeatSetpointLimit attribute"
command: "readAttribute"
- attribute: "min heat setpoint limit"
+ attribute: "MinHeatSetpointLimit"
PICS: A_MINHEATSETPOINTLIMIT
response:
value: 2000
@@ -212,7 +212,7 @@ tests:
AbsMinHeatSetpointLimit "
disabled: true
command: "writeAttribute"
- attribute: "min heat setpoint limit"
+ attribute: "MinHeatSetpointLimit"
PICS: A_MINHEATSETPOINTLIMIT
arguments:
value: 650
@@ -223,7 +223,7 @@ tests:
AbsMaxHeatSetpointLimit "
disabled: true
command: "writeAttribute"
- attribute: "min heat setpoint limit"
+ attribute: "MinHeatSetpointLimit"
PICS: A_MINHEATSETPOINTLIMIT
arguments:
value: 4050
@@ -232,7 +232,7 @@ tests:
"Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit
attribute"
command: "writeAttribute"
- attribute: "min heat setpoint limit"
+ attribute: "MinHeatSetpointLimit"
PICS: A_MINHEATSETPOINTLIMIT
arguments:
value: 700
@@ -241,7 +241,7 @@ tests:
"Writes the limit of AbsMaxHeatSetpointLimit to MinHeatSetpointLimit
attribute"
command: "writeAttribute"
- attribute: "min heat setpoint limit"
+ attribute: "MinHeatSetpointLimit"
PICS: A_MINHEATSETPOINTLIMIT
arguments:
value: 3000
@@ -250,7 +250,7 @@ tests:
"Reads MaxHeatSetpointLimit attribute from Server DUT and verifies
that the value is within range"
command: "readAttribute"
- attribute: "max heat setpoint limit"
+ attribute: "MaxHeatSetpointLimit"
PICS: A_MAXHEATSETPOINTLIMIT
response:
value: 3000
@@ -263,7 +263,7 @@ tests:
"Writes a value back that is different but valid for
MaxHeatSetpointLimit attribute"
command: "writeAttribute"
- attribute: "max heat setpoint limit"
+ attribute: "MaxHeatSetpointLimit"
PICS: A_MAXHEATSETPOINTLIMIT
arguments:
value: 2000
@@ -272,7 +272,7 @@ tests:
"Reads it back again to confirm the successful write of
MaxHeatSetpointLimit attribute"
command: "readAttribute"
- attribute: "max heat setpoint limit"
+ attribute: "MaxHeatSetpointLimit"
PICS: A_MAXHEATSETPOINTLIMIT
response:
value: 2000
@@ -283,7 +283,7 @@ tests:
AbsMinHeatSetpointLimit "
disabled: true
command: "writeAttribute"
- attribute: "max heat setpoint limit"
+ attribute: "MaxHeatSetpointLimit"
PICS: A_MAXHEATSETPOINTLIMIT
arguments:
value: 500
@@ -294,7 +294,7 @@ tests:
AbsMaxHeatSetpointLimit "
disabled: true
command: "writeAttribute"
- attribute: "max heat setpoint limit"
+ attribute: "MaxHeatSetpointLimit"
PICS: A_MAXHEATSETPOINTLIMIT
arguments:
value: 4000
@@ -303,7 +303,7 @@ tests:
"Writes the limit of AbsMinHeatSetpointLimit to MaxHeatSetpointLimit
attribute"
command: "writeAttribute"
- attribute: "max heat setpoint limit"
+ attribute: "MaxHeatSetpointLimit"
PICS: A_MAXHEATSETPOINTLIMIT
arguments:
value: 700
@@ -312,7 +312,7 @@ tests:
"Writes the limit of AbsMaxHeatSetpointLimit to MaxHeatSetpointLimit
attribute"
command: "writeAttribute"
- attribute: "max heat setpoint limit"
+ attribute: "MaxHeatSetpointLimit"
PICS: A_MAXHEATSETPOINTLIMIT
arguments:
value: 3000
@@ -322,7 +322,7 @@ tests:
that the value is within range"
optional: true
command: "readAttribute"
- attribute: "min cool setpoint limit"
+ attribute: "MinCoolSetpointLimit"
PICS: A_MINCOOLSETPOINTLIMIT
response:
value: 1600
@@ -336,7 +336,7 @@ tests:
MinCoolSetpointLimit attribute"
optional: true
command: "writeAttribute"
- attribute: "min cool setpoint limit"
+ attribute: "MinCoolSetpointLimit"
PICS: A_MINCOOLSETPOINTLIMIT
arguments:
value: 2000
@@ -346,7 +346,7 @@ tests:
MinCoolSetpointLimit attribute"
optional: true
command: "readAttribute"
- attribute: "min cool setpoint limit"
+ attribute: "MinCoolSetpointLimit"
PICS: A_MINCOOLSETPOINTLIMIT
response:
value: 2000
@@ -357,7 +357,7 @@ tests:
AbsMinCoolSetpointLimit "
disabled: true
command: "writeAttribute"
- attribute: "min cool setpoint limit"
+ attribute: "MinCoolSetpointLimit"
PICS: A_MINCOOLSETPOINTLIMIT
arguments:
value: 1000
@@ -367,7 +367,7 @@ tests:
"Writes MinCoolSetpointLimit to value above the MaxCoolSetpointLimit "
disabled: true
command: "writeAttribute"
- attribute: "min cool setpoint limit"
+ attribute: "MinCoolSetpointLimit"
PICS: A_MINCOOLSETPOINTLIMIT
arguments:
value: 4000
@@ -377,7 +377,7 @@ tests:
attribute"
optional: true
command: "writeAttribute"
- attribute: "min cool setpoint limit"
+ attribute: "MinCoolSetpointLimit"
PICS: A_MINCOOLSETPOINTLIMIT
arguments:
value: 1600
@@ -387,7 +387,7 @@ tests:
attribute"
optional: true
command: "writeAttribute"
- attribute: "min cool setpoint limit"
+ attribute: "MinCoolSetpointLimit"
PICS: A_MINCOOLSETPOINTLIMIT
arguments:
value: 3200
@@ -397,7 +397,7 @@ tests:
that the value is within range"
optional: true
command: "readAttribute"
- attribute: "max cool setpoint limit"
+ attribute: "MaxCoolSetpointLimit"
PICS: A_MAXCOOLSETPOINTLIMIT
response:
value: 3200
@@ -411,7 +411,7 @@ tests:
MaxCoolSetpointLimit attribute"
optional: true
command: "writeAttribute"
- attribute: "max cool setpoint limit"
+ attribute: "MaxCoolSetpointLimit"
PICS: A_MAXCOOLSETPOINTLIMIT
arguments:
value: 2000
@@ -421,7 +421,7 @@ tests:
MaxCoolSetpointLimit attribute"
optional: true
command: "readAttribute"
- attribute: "max cool setpoint limit"
+ attribute: "MaxCoolSetpointLimit"
PICS: A_MAXCOOLSETPOINTLIMIT
response:
value: 2000
@@ -432,7 +432,7 @@ tests:
AbsMinCoolSetpointLimit "
disabled: true
command: "writeAttribute"
- attribute: "max cool setpoint limit"
+ attribute: "MaxCoolSetpointLimit"
PICS: A_MAXCOOLSETPOINTLIMIT
arguments:
value: 1000
@@ -442,7 +442,7 @@ tests:
"Writes MaxCoolSetpointLimit to value above the MaxCoolSetpointLimit "
disabled: true
command: "writeAttribute"
- attribute: "max cool setpoint limit"
+ attribute: "MaxCoolSetpointLimit"
PICS: A_MAXCOOLSETPOINTLIMIT
arguments:
value: 4000
@@ -452,7 +452,7 @@ tests:
attribute"
optional: true
command: "writeAttribute"
- attribute: "max cool setpoint limit"
+ attribute: "MaxCoolSetpointLimit"
PICS: A_MAXCOOLSETPOINTLIMIT
arguments:
value: 1600
@@ -462,7 +462,7 @@ tests:
attribute"
optional: true
command: "writeAttribute"
- attribute: "max cool setpoint limit"
+ attribute: "MaxCoolSetpointLimit"
PICS: A_MAXCOOLSETPOINTLIMIT
arguments:
value: 3200
@@ -471,7 +471,7 @@ tests:
"Writes (sets back) the limit of MinHeatSetpointLimit to
MinHeatSetpointLimit attribute"
command: "writeAttribute"
- attribute: "min heat setpoint limit"
+ attribute: "MinHeatSetpointLimit"
PICS: A_MINHEATSETPOINTLIMIT
arguments:
value: 700
@@ -480,7 +480,7 @@ tests:
"Writes (sets back) the limit of MaxHeatSetpointLimit to
MinHeatSetpointLimit attribute"
command: "writeAttribute"
- attribute: "min heat setpoint limit"
+ attribute: "MinHeatSetpointLimit"
PICS: A_MINHEATSETPOINTLIMIT
arguments:
value: 3000
@@ -489,7 +489,7 @@ tests:
"Writes (sets back) the limit of MinHeatSetpointLimit to
MaxHeatSetpointLimit attribute"
command: "writeAttribute"
- attribute: "max heat setpoint limit"
+ attribute: "MaxHeatSetpointLimit"
PICS: A_MINHEATSETPOINTLIMIT
arguments:
value: 700
@@ -498,7 +498,7 @@ tests:
"Writes (sets back) the limit of MaxHeatSetpointLimit to
MaxHeatSetpointLimit attribute"
command: "writeAttribute"
- attribute: "max heat setpoint limit"
+ attribute: "MaxHeatSetpointLimit"
PICS: A_MINHEATSETPOINTLIMIT
arguments:
value: 3000
@@ -508,7 +508,7 @@ tests:
MinCoolSetpointLimit attribute"
optional: true
command: "writeAttribute"
- attribute: "min cool setpoint limit"
+ attribute: "MinCoolSetpointLimit"
PICS: A_MINCOOLSETPOINTLIMIT
arguments:
value: 1600
@@ -518,7 +518,7 @@ tests:
MinCoolSetpointLimit attribute"
optional: true
command: "writeAttribute"
- attribute: "min cool setpoint limit"
+ attribute: "MinCoolSetpointLimit"
PICS: A_MINCOOLSETPOINTLIMIT
arguments:
value: 3200
@@ -528,7 +528,7 @@ tests:
MaxCoolSetpointLimit attribute"
optional: true
command: "writeAttribute"
- attribute: "max cool setpoint limit"
+ attribute: "MaxCoolSetpointLimit"
PICS: A_MAXCOOLSETPOINTLIMIT
arguments:
value: 1600
@@ -538,7 +538,7 @@ tests:
MaxCoolSetpointLimit attribute"
optional: true
command: "writeAttribute"
- attribute: "max cool setpoint limit"
+ attribute: "MaxCoolSetpointLimit"
PICS: A_MAXCOOLSETPOINTLIMIT
arguments:
value: 3200
@@ -547,7 +547,7 @@ tests:
"Reads ControlSequenceOfOperation from Server DUT and verifies that
the value is valid"
command: "readAttribute"
- attribute: "control sequence of operation"
+ attribute: "ControlSequenceOfOperation"
PICS: A_CONTROLSEQUENCEOFOPERATION
response:
value: 4
@@ -560,21 +560,21 @@ tests:
"Write Attribute command for ControlSequenceOfOperation with a new
valid value"
command: "writeAttribute"
- attribute: "control sequence of operation"
+ attribute: "ControlSequenceOfOperation"
PICS: A_CONTROLSEQUENCEOFOPERATION
arguments:
value: 2
- label: "Read it back again to confirm the successful write"
command: "readAttribute"
- attribute: "control sequence of operation"
+ attribute: "ControlSequenceOfOperation"
PICS: A_CONTROLSEQUENCEOFOPERATION
response:
value: 2
- label: "Sets OccupiedHeatingSetpoint to default value"
command: "writeAttribute"
- attribute: "occupied heating setpoint"
+ attribute: "OccupiedHeatingSetpoint"
PICS: A_OCCUPIEDHEATINGSETPOINT
arguments:
value: 2000
@@ -596,14 +596,14 @@ tests:
write"
disabled: true
command: "readAttribute"
- attribute: "occupied heating setpoint"
+ attribute: "OccupiedHeatingSetpoint"
PICS: A_OCCUPIEDHEATINGSETPOINT
response:
value: -30
- label: "Sets OccupiedHeatingSetpoint to default value"
command: "writeAttribute"
- attribute: "occupied heating setpoint"
+ attribute: "OccupiedHeatingSetpoint"
PICS: A_OCCUPIEDHEATINGSETPOINT
arguments:
value: 2000
@@ -625,7 +625,7 @@ tests:
write"
disabled: true
command: "readAttribute"
- attribute: "occupied heating setpoint"
+ attribute: "OccupiedHeatingSetpoint"
PICS: A_OCCUPIEDHEATINGSETPOINT
response:
value: 30
@@ -633,7 +633,7 @@ tests:
- label: "Sets OccupiedCoolingSetpoint to default value"
optional: true
command: "writeAttribute"
- attribute: "occupied cooling setpoint"
+ attribute: "OccupiedCoolingSetpoint"
PICS: A_OCCUPIEDCOOLINGSETPOINT
arguments:
value: 2600
@@ -655,7 +655,7 @@ tests:
write"
disabled: true
command: "readAttribute"
- attribute: "occupied cooling setpoint"
+ attribute: "OccupiedCoolingSetpoint"
PICS: A_OCCUPIEDCOOLINGSETPOINT
response:
value: -30
@@ -663,7 +663,7 @@ tests:
- label: "Sets OccupiedCoolingSetpoint to default value"
optional: true
command: "writeAttribute"
- attribute: "occupied cooling setpoint"
+ attribute: "OccupiedCoolingSetpoint"
PICS: A_OCCUPIEDCOOLINGSETPOINT
arguments:
value: 2600
@@ -685,7 +685,7 @@ tests:
write"
disabled: true
command: "readAttribute"
- attribute: "occupied cooling setpoint"
+ attribute: "OccupiedCoolingSetpoint"
PICS: A_OCCUPIEDCOOLINGSETPOINT
response:
value: 30
@@ -693,14 +693,14 @@ tests:
- label: "Sets OccupiedCoolingSetpoint to default value"
optional: true
command: "writeAttribute"
- attribute: "occupied cooling setpoint"
+ attribute: "OccupiedCoolingSetpoint"
PICS: A_OCCUPIEDCOOLINGSETPOINT
arguments:
value: 2600
- label: "Sets OccupiedHeatingSetpoint to default value"
command: "writeAttribute"
- attribute: "occupied heating setpoint"
+ attribute: "OccupiedHeatingSetpoint"
PICS: A_OCCUPIEDHEATINGSETPOINT
arguments:
value: 2000
@@ -722,7 +722,7 @@ tests:
write"
disabled: true
command: "readAttribute"
- attribute: "occupied cooling setpoint"
+ attribute: "OccupiedCoolingSetpoint"
PICS: A_OCCUPIEDCOOLINGSETPOINT
response:
value: -30
@@ -732,7 +732,7 @@ tests:
write"
disabled: true
command: "readAttribute"
- attribute: "occupied heating setpoint"
+ attribute: "OccupiedHeatingSetpoint"
PICS: A_OCCUPIEDHEATINGSETPOINT
response:
value: -30
@@ -740,14 +740,14 @@ tests:
- label: "Sets OccupiedCoolingSetpoint to default value"
optional: true
command: "writeAttribute"
- attribute: "occupied cooling setpoint"
+ attribute: "OccupiedCoolingSetpoint"
PICS: A_OCCUPIEDCOOLINGSETPOINT
arguments:
value: 2600
- label: "Sets OccupiedHeatingSetpoint to default value"
command: "writeAttribute"
- attribute: "occupied heating setpoint"
+ attribute: "OccupiedHeatingSetpoint"
PICS: A_OCCUPIEDHEATINGSETPOINT
arguments:
value: 2000
@@ -769,7 +769,7 @@ tests:
write"
disabled: true
command: "readAttribute"
- attribute: "occupied cooling setpoint"
+ attribute: "OccupiedCoolingSetpoint"
PICS: A_OCCUPIEDCOOLINGSETPOINT
response:
value: 30
@@ -779,7 +779,7 @@ tests:
write"
disabled: true
command: "readAttribute"
- attribute: "occupied heating setpoint"
+ attribute: "OccupiedHeatingSetpoint"
PICS: A_OCCUPIEDHEATINGSETPOINT
response:
value: 30
diff --git a/src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml
index 88121611ccbee6..63080bd9572d6a 100644
--- a/src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml
@@ -24,129 +24,147 @@ limitations under the License.
THERMOSTAT_CLUSTER
true
true
-
- local temperature
- outdoor temperature
- occupancy
+
+ LocalTemperature
+ OutdoorTemperature
+ Occupancy
- abs min heat setpoint limit
- abs max heat setpoint limit
- abs min cool setpoint limit
- abs max cool setpoint limit
- pi cooling demand
- pi heating demand
+ AbsMinHeatSetpointLimit
+ AbsMaxHeatSetpointLimit
+ AbsMinCoolSetpointLimit
+ AbsMaxCoolSetpointLimit
+ PICoolingDemand
+ PIHeatingDemand
- HVAC system type configuration
+ HVACSystemTypeConfiguration
- local temperature calibration
+ LocalTemperatureCalibration
- occupied cooling setpoint
- occupied heating setpoint
- unoccupied cooling setpoint
- unoccupied heating setpoint
-
- min heat setpoint limit
+ OccupiedCoolingSetpoint
+ OccupiedHeatingSetpoint
+ UnoccupiedCoolingSetpoint
+ UnoccupiedHeatingSetpoint
+
+ MinHeatSetpointLimit
-
- max heat setpoint limit
+
+ MaxHeatSetpointLimit
-
- min cool setpoint limit
+
+ MinCoolSetpointLimit
-
- max cool setpoint limit
+
+ MaxCoolSetpointLimit
-
- min setpoint dead band
+
+ MinSetpointDeadBand
- remote sensing
+ RemoteSensing
- control sequence of operation
+ ControlSequenceOfOperation
- system mode
+ SystemMode
- alarm mask
-
- thermostat running mode
- start of week
- number of weekly transitions
- number of daily transitions
+ AlarmMask
+ ThermostatRunningMode
+ StartOfWeek
+ NumberOfWeeklyTransitions
+ NumberOfDailyTransitions
- temperature setpoint hold
+ TemperatureSetpointHold
-
- temperature setpoint hold duration
+
+ TemperatureSetpointHoldDuration
-
- thermostat programming operation mode
+
+ ThermostatProgrammingOperationMode
+
+
+
+ ThermostatRunningState
+ SetpointChangeSource
+ SetpointChangeAmount
+ SetpointChangeSourceTimestamp
+
+ OccupiedSetback
+
+
+
+ OccupiedSetbackMin
+ OccupiedSetbackMax
+
+ UnoccupiedSetback
+
+
+
+ UnoccupiedSetbackMin
+ UnoccupiedSetbackMax
+
+ EmergencyHeatDelta
- thermostat running state
- setpoint change source
- setpoint change amount
- setpoint change source timestamp
- ac type
+ ACType
- ac capacity
+ ACCapacity
- ac refrigerant type
+ ACRefrigerantType
- ac compressor type
+ ACCompressorType
- ac error code
+ ACErrorCode
- ac louver position
+ ACLouverPosition
- ac coil temperature
+ ACCoilTemperature
- ac capacity format
+ ACCapacityformat
@@ -154,25 +172,25 @@ limitations under the License.
Command description for SetpointRaiseLower
-
-
+
+
Command description for SetWeeklySchedule
-
-
-
-
+
+
+
+
Command description for GetWeeklySchedule
-
-
+
+
@@ -189,21 +207,21 @@ limitations under the License.
The Current Weekly Schedule Command is sent from the server in response to the Get Weekly Schedule Command.
-
-
-
-
+
+
+
+
This command is sent from the thermostat cluster server in response to the Get Relay Status Log.
-
-
-
-
-
-
+
+
+
+
+
+
@@ -217,4 +235,12 @@ limitations under the License.
+
+
+
+
+
+
+
+
diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter
index d67cb119647ded..ed781a27b23c14 100644
--- a/src/controller/data_model/controller-clusters.matter
+++ b/src/controller/data_model/controller-clusters.matter
@@ -3809,7 +3809,13 @@ client cluster Thermostat = 513 {
kAutomode = 0x20;
}
- readonly attribute int16s localTemperature = 0;
+ struct ThermostatScheduleTransition {
+ int16u transitionTime = 0;
+ nullable int16s heatSetpoint = 1;
+ nullable int16s coolSetpoint = 2;
+ }
+
+ readonly attribute nullable int16s localTemperature = 0;
readonly attribute int16s absMinHeatSetpointLimit = 3;
readonly attribute int16s absMaxHeatSetpointLimit = 4;
readonly attribute int16s absMinCoolSetpointLimit = 5;
@@ -3836,10 +3842,10 @@ client cluster Thermostat = 513 {
}
request struct SetWeeklyScheduleRequest {
- ENUM8 numberOfTransitionsForSequence = 0;
+ INT8U numberOfTransitionsForSequence = 0;
DayOfWeek dayOfWeekForSequence = 1;
ModeForSequence modeForSequence = 2;
- INT8U payload[] = 3;
+ ThermostatScheduleTransition transitions[] = 3;
}
request struct GetWeeklyScheduleRequest {
@@ -3848,15 +3854,15 @@ client cluster Thermostat = 513 {
}
response struct GetWeeklyScheduleResponse = 0 {
- ENUM8 numberOfTransitionsForSequence = 0;
+ INT8U numberOfTransitionsForSequence = 0;
DayOfWeek dayOfWeekForSequence = 1;
ModeForSequence modeForSequence = 2;
- INT8U payload[] = 3;
+ ThermostatScheduleTransition transitions[] = 3;
}
response struct GetRelayStatusLogResponse = 1 {
INT16U timeOfDay = 0;
- BITMAP16 relayStatus = 1;
+ BITMAP8 relayStatus = 1;
INT16S localTemperature = 2;
INT8U humidityInPercentage = 3;
INT16S setpoint = 4;
diff --git a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
index e7a65cae93a5e4..a4cbbed53f645f 100644
--- a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
+++ b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
@@ -14863,10 +14863,17 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR
return nullptr;
}
jobject value;
- std::string valueClassName = "java/lang/Integer";
- std::string valueCtorSignature = "(I)V";
- chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(),
- cppValue, value);
+ if (cppValue.IsNull())
+ {
+ value = nullptr;
+ }
+ else
+ {
+ std::string valueClassName = "java/lang/Integer";
+ std::string valueCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(),
+ cppValue.Value(), value);
+ }
return value;
}
case Attributes::AbsMinHeatSetpointLimit::Id: {
diff --git a/src/controller/java/zap-generated/CHIPInvokeCallbacks.cpp b/src/controller/java/zap-generated/CHIPInvokeCallbacks.cpp
index db5660b5cc5c7e..d6cb0356af0ffe 100644
--- a/src/controller/java/zap-generated/CHIPInvokeCallbacks.cpp
+++ b/src/controller/java/zap-generated/CHIPInvokeCallbacks.cpp
@@ -4304,40 +4304,40 @@ void CHIPThermostatClusterGetRelayStatusLogResponseCallback::CallbackFn(
&javaMethod);
VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Error invoking Java callback: %s", ErrorStr(err)));
- jobject timeOfDay;
- std::string timeOfDayClassName = "java/lang/Integer";
- std::string timeOfDayCtorSignature = "(I)V";
- chip::JniReferences::GetInstance().CreateBoxedObject(timeOfDayClassName.c_str(), timeOfDayCtorSignature.c_str(),
- dataResponse.timeOfDay, timeOfDay);
- jobject relayStatus;
- std::string relayStatusClassName = "java/lang/Integer";
- std::string relayStatusCtorSignature = "(I)V";
- chip::JniReferences::GetInstance().CreateBoxedObject(relayStatusClassName.c_str(), relayStatusCtorSignature.c_str(),
- dataResponse.relayStatus, relayStatus);
- jobject localTemperature;
- std::string localTemperatureClassName = "java/lang/Integer";
- std::string localTemperatureCtorSignature = "(I)V";
+ jobject TimeOfDay;
+ std::string TimeOfDayClassName = "java/lang/Integer";
+ std::string TimeOfDayCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(TimeOfDayClassName.c_str(), TimeOfDayCtorSignature.c_str(),
+ dataResponse.timeOfDay, TimeOfDay);
+ jobject RelayStatus;
+ std::string RelayStatusClassName = "java/lang/Integer";
+ std::string RelayStatusCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(RelayStatusClassName.c_str(), RelayStatusCtorSignature.c_str(),
+ dataResponse.relayStatus, RelayStatus);
+ jobject LocalTemperature;
+ std::string LocalTemperatureClassName = "java/lang/Integer";
+ std::string LocalTemperatureCtorSignature = "(I)V";
chip::JniReferences::GetInstance().CreateBoxedObject(
- localTemperatureClassName.c_str(), localTemperatureCtorSignature.c_str(), dataResponse.localTemperature, localTemperature);
- jobject humidityInPercentage;
- std::string humidityInPercentageClassName = "java/lang/Integer";
- std::string humidityInPercentageCtorSignature = "(I)V";
- chip::JniReferences::GetInstance().CreateBoxedObject(humidityInPercentageClassName.c_str(),
- humidityInPercentageCtorSignature.c_str(),
- dataResponse.humidityInPercentage, humidityInPercentage);
- jobject setpoint;
- std::string setpointClassName = "java/lang/Integer";
- std::string setpointCtorSignature = "(I)V";
- chip::JniReferences::GetInstance().CreateBoxedObject(setpointClassName.c_str(), setpointCtorSignature.c_str(),
- dataResponse.setpoint, setpoint);
- jobject unreadEntries;
- std::string unreadEntriesClassName = "java/lang/Integer";
- std::string unreadEntriesCtorSignature = "(I)V";
+ LocalTemperatureClassName.c_str(), LocalTemperatureCtorSignature.c_str(), dataResponse.localTemperature, LocalTemperature);
+ jobject HumidityInPercentage;
+ std::string HumidityInPercentageClassName = "java/lang/Integer";
+ std::string HumidityInPercentageCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(HumidityInPercentageClassName.c_str(),
+ HumidityInPercentageCtorSignature.c_str(),
+ dataResponse.humidityInPercentage, HumidityInPercentage);
+ jobject Setpoint;
+ std::string SetpointClassName = "java/lang/Integer";
+ std::string SetpointCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(SetpointClassName.c_str(), SetpointCtorSignature.c_str(),
+ dataResponse.setpoint, Setpoint);
+ jobject UnreadEntries;
+ std::string UnreadEntriesClassName = "java/lang/Integer";
+ std::string UnreadEntriesCtorSignature = "(I)V";
chip::JniReferences::GetInstance().CreateBoxedObject(
- unreadEntriesClassName.c_str(), unreadEntriesCtorSignature.c_str(), dataResponse.unreadEntries, unreadEntries);
+ UnreadEntriesClassName.c_str(), UnreadEntriesCtorSignature.c_str(), dataResponse.unreadEntries, UnreadEntries);
- env->CallVoidMethod(javaCallbackRef, javaMethod, timeOfDay, relayStatus, localTemperature, humidityInPercentage, setpoint,
- unreadEntries);
+ env->CallVoidMethod(javaCallbackRef, javaMethod, TimeOfDay, RelayStatus, LocalTemperature, HumidityInPercentage, Setpoint,
+ UnreadEntries);
}
CHIPThermostatClusterGetWeeklyScheduleResponseCallback::CHIPThermostatClusterGetWeeklyScheduleResponseCallback(
jobject javaCallback) :
@@ -4394,40 +4394,88 @@ void CHIPThermostatClusterGetWeeklyScheduleResponseCallback::CallbackFn(
&javaMethod);
VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Error invoking Java callback: %s", ErrorStr(err)));
- jobject numberOfTransitionsForSequence;
- std::string numberOfTransitionsForSequenceClassName = "java/lang/Integer";
- std::string numberOfTransitionsForSequenceCtorSignature = "(I)V";
+ jobject NumberOfTransitionsForSequence;
+ std::string NumberOfTransitionsForSequenceClassName = "java/lang/Integer";
+ std::string NumberOfTransitionsForSequenceCtorSignature = "(I)V";
chip::JniReferences::GetInstance().CreateBoxedObject(
- numberOfTransitionsForSequenceClassName.c_str(), numberOfTransitionsForSequenceCtorSignature.c_str(),
- dataResponse.numberOfTransitionsForSequence, numberOfTransitionsForSequence);
- jobject dayOfWeekForSequence;
- std::string dayOfWeekForSequenceClassName = "java/lang/Integer";
- std::string dayOfWeekForSequenceCtorSignature = "(I)V";
- chip::JniReferences::GetInstance().CreateBoxedObject(dayOfWeekForSequenceClassName.c_str(),
- dayOfWeekForSequenceCtorSignature.c_str(),
- dataResponse.dayOfWeekForSequence.Raw(), dayOfWeekForSequence);
- jobject modeForSequence;
- std::string modeForSequenceClassName = "java/lang/Integer";
- std::string modeForSequenceCtorSignature = "(I)V";
- chip::JniReferences::GetInstance().CreateBoxedObject(modeForSequenceClassName.c_str(),
- modeForSequenceCtorSignature.c_str(),
- dataResponse.modeForSequence.Raw(), modeForSequence);
- jobject payload;
- chip::JniReferences::GetInstance().CreateArrayList(payload);
-
- auto iter_payload_0 = dataResponse.payload.begin();
- while (iter_payload_0.Next())
- {
- auto & entry_0 = iter_payload_0.GetValue();
+ NumberOfTransitionsForSequenceClassName.c_str(), NumberOfTransitionsForSequenceCtorSignature.c_str(),
+ dataResponse.numberOfTransitionsForSequence, NumberOfTransitionsForSequence);
+ jobject DayOfWeekForSequence;
+ std::string DayOfWeekForSequenceClassName = "java/lang/Integer";
+ std::string DayOfWeekForSequenceCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(DayOfWeekForSequenceClassName.c_str(),
+ DayOfWeekForSequenceCtorSignature.c_str(),
+ dataResponse.dayOfWeekForSequence.Raw(), DayOfWeekForSequence);
+ jobject ModeForSequence;
+ std::string ModeForSequenceClassName = "java/lang/Integer";
+ std::string ModeForSequenceCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(ModeForSequenceClassName.c_str(),
+ ModeForSequenceCtorSignature.c_str(),
+ dataResponse.modeForSequence.Raw(), ModeForSequence);
+ jobject Transitions;
+ chip::JniReferences::GetInstance().CreateArrayList(Transitions);
+
+ auto iter_Transitions_0 = dataResponse.transitions.begin();
+ while (iter_Transitions_0.Next())
+ {
+ auto & entry_0 = iter_Transitions_0.GetValue();
jobject newElement_0;
- std::string newElement_0ClassName = "java/lang/Integer";
- std::string newElement_0CtorSignature = "(I)V";
- chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0ClassName.c_str(),
- newElement_0CtorSignature.c_str(), entry_0, newElement_0);
- chip::JniReferences::GetInstance().AddToList(payload, newElement_0);
+ jobject newElement_0_transitionTime;
+ std::string newElement_0_transitionTimeClassName = "java/lang/Integer";
+ std::string newElement_0_transitionTimeCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_transitionTimeClassName.c_str(),
+ newElement_0_transitionTimeCtorSignature.c_str(),
+ entry_0.transitionTime, newElement_0_transitionTime);
+ jobject newElement_0_heatSetpoint;
+ if (entry_0.heatSetpoint.IsNull())
+ {
+ newElement_0_heatSetpoint = nullptr;
+ }
+ else
+ {
+ std::string newElement_0_heatSetpointClassName = "java/lang/Integer";
+ std::string newElement_0_heatSetpointCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_heatSetpointClassName.c_str(),
+ newElement_0_heatSetpointCtorSignature.c_str(),
+ entry_0.heatSetpoint.Value(), newElement_0_heatSetpoint);
+ }
+ jobject newElement_0_coolSetpoint;
+ if (entry_0.coolSetpoint.IsNull())
+ {
+ newElement_0_coolSetpoint = nullptr;
+ }
+ else
+ {
+ std::string newElement_0_coolSetpointClassName = "java/lang/Integer";
+ std::string newElement_0_coolSetpointCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_coolSetpointClassName.c_str(),
+ newElement_0_coolSetpointCtorSignature.c_str(),
+ entry_0.coolSetpoint.Value(), newElement_0_coolSetpoint);
+ }
+
+ jclass thermostatScheduleTransitionStructClass;
+ err = chip::JniReferences::GetInstance().GetClassRef(
+ env, "chip/devicecontroller/ChipStructs$ThermostatClusterThermostatScheduleTransition",
+ thermostatScheduleTransitionStructClass);
+ if (err != CHIP_NO_ERROR)
+ {
+ ChipLogError(Zcl, "Could not find class ChipStructs$ThermostatClusterThermostatScheduleTransition");
+ return;
+ }
+ jmethodID thermostatScheduleTransitionStructCtor = env->GetMethodID(
+ thermostatScheduleTransitionStructClass, "", "(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V");
+ if (thermostatScheduleTransitionStructCtor == nullptr)
+ {
+ ChipLogError(Zcl, "Could not find ChipStructs$ThermostatClusterThermostatScheduleTransition constructor");
+ return;
+ }
+
+ newElement_0 = env->NewObject(thermostatScheduleTransitionStructClass, thermostatScheduleTransitionStructCtor,
+ newElement_0_transitionTime, newElement_0_heatSetpoint, newElement_0_coolSetpoint);
+ chip::JniReferences::GetInstance().AddToList(Transitions, newElement_0);
}
- env->CallVoidMethod(javaCallbackRef, javaMethod, numberOfTransitionsForSequence, dayOfWeekForSequence, modeForSequence,
- payload);
+ env->CallVoidMethod(javaCallbackRef, javaMethod, NumberOfTransitionsForSequence, DayOfWeekForSequence, ModeForSequence,
+ Transitions);
}
} // namespace chip
diff --git a/src/controller/java/zap-generated/CHIPReadCallbacks.cpp b/src/controller/java/zap-generated/CHIPReadCallbacks.cpp
index d1d8d267654410..d76dc23fe21cbe 100644
--- a/src/controller/java/zap-generated/CHIPReadCallbacks.cpp
+++ b/src/controller/java/zap-generated/CHIPReadCallbacks.cpp
@@ -22718,6 +22718,73 @@ void CHIPTestClusterAttributeListAttributeCallback::CallbackFn(void * context,
env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj);
}
+CHIPThermostatLocalTemperatureAttributeCallback::CHIPThermostatLocalTemperatureAttributeCallback(jobject javaCallback,
+ bool keepAlive) :
+ chip::Callback::Callback(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");
+ }
+}
+
+CHIPThermostatLocalTemperatureAttributeCallback::~CHIPThermostatLocalTemperatureAttributeCallback()
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not delete global reference for Java callback");
+ return;
+ }
+ env->DeleteGlobalRef(javaCallbackRef);
+}
+
+void CHIPThermostatLocalTemperatureAttributeCallback::CallbackFn(void * context,
+ const chip::app::DataModel::Nullable & value)
+{
+ 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 cppCallback(
+ reinterpret_cast(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/lang/Integer;)V", &javaMethod);
+ VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method"));
+
+ jobject javaValue;
+ if (value.IsNull())
+ {
+ javaValue = nullptr;
+ }
+ else
+ {
+ std::string javaValueClassName = "java/lang/Integer";
+ std::string javaValueCtorSignature = "(I)V";
+ chip::JniReferences::GetInstance().CreateBoxedObject(javaValueClassName.c_str(), javaValueCtorSignature.c_str(),
+ value.Value(), javaValue);
+ }
+
+ env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue);
+}
+
CHIPThermostatAttributeListAttributeCallback::CHIPThermostatAttributeListAttributeCallback(jobject javaCallback, bool keepAlive) :
chip::Callback::Callback(CallbackFn, this), keepAlive(keepAlive)
{
diff --git a/src/controller/java/zap-generated/CHIPReadCallbacks.h b/src/controller/java/zap-generated/CHIPReadCallbacks.h
index 7bfea744f3a36a..e8cdd218dde4dc 100644
--- a/src/controller/java/zap-generated/CHIPReadCallbacks.h
+++ b/src/controller/java/zap-generated/CHIPReadCallbacks.h
@@ -9300,6 +9300,36 @@ class CHIPTestClusterAttributeListAttributeCallback
bool keepAlive;
};
+class CHIPThermostatLocalTemperatureAttributeCallback
+ : public chip::Callback::Callback
+{
+public:
+ CHIPThermostatLocalTemperatureAttributeCallback(jobject javaCallback, bool keepAlive = false);
+
+ ~CHIPThermostatLocalTemperatureAttributeCallback();
+
+ static void maybeDestroy(CHIPThermostatLocalTemperatureAttributeCallback * callback)
+ {
+ if (!callback->keepAlive)
+ {
+ callback->Cancel();
+ chip::Platform::Delete(callback);
+ }
+ }
+
+ static void CallbackFn(void * context, const chip::app::DataModel::Nullable & value);
+ static void OnSubscriptionEstablished(void * context)
+ {
+ CHIP_ERROR err = chip::JniReferences::GetInstance().CallSubscriptionEstablished(
+ reinterpret_cast(context)->javaCallbackRef);
+ VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Error calling onSubscriptionEstablished: %s", ErrorStr(err)));
+ };
+
+private:
+ jobject javaCallbackRef;
+ bool keepAlive;
+};
+
class CHIPThermostatAttributeListAttributeCallback
: public chip::Callback::Callback
{
diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java b/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java
index fde65ad2335174..0fec772a0c7f1f 100644
--- a/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java
+++ b/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java
@@ -19980,14 +19980,14 @@ public void setWeeklySchedule(
Integer numberOfTransitionsForSequence,
Integer dayOfWeekForSequence,
Integer modeForSequence,
- ArrayList payload) {
+ ArrayList transitions) {
setWeeklySchedule(
chipClusterPtr,
callback,
numberOfTransitionsForSequence,
dayOfWeekForSequence,
modeForSequence,
- payload,
+ transitions,
null);
}
@@ -19996,7 +19996,7 @@ public void setWeeklySchedule(
Integer numberOfTransitionsForSequence,
Integer dayOfWeekForSequence,
Integer modeForSequence,
- ArrayList payload,
+ ArrayList transitions,
int timedInvokeTimeoutMs) {
setWeeklySchedule(
chipClusterPtr,
@@ -20004,7 +20004,7 @@ public void setWeeklySchedule(
numberOfTransitionsForSequence,
dayOfWeekForSequence,
modeForSequence,
- payload,
+ transitions,
timedInvokeTimeoutMs);
}
@@ -20040,7 +20040,7 @@ private native void setWeeklySchedule(
Integer numberOfTransitionsForSequence,
Integer dayOfWeekForSequence,
Integer modeForSequence,
- ArrayList payload,
+ ArrayList transitions,
@Nullable Integer timedInvokeTimeoutMs);
private native void setpointRaiseLower(
@@ -20067,11 +20067,19 @@ void onSuccess(
Integer numberOfTransitionsForSequence,
Integer dayOfWeekForSequence,
Integer modeForSequence,
- ArrayList payload);
+ ArrayList transitions);
void onError(Exception error);
}
+ public interface LocalTemperatureAttributeCallback {
+ void onSuccess(@Nullable Integer value);
+
+ void onError(Exception ex);
+
+ default void onSubscriptionEstablished() {}
+ }
+
public interface AttributeListAttributeCallback {
void onSuccess(List valueList);
@@ -20080,12 +20088,12 @@ public interface AttributeListAttributeCallback {
default void onSubscriptionEstablished() {}
}
- public void readLocalTemperatureAttribute(IntegerAttributeCallback callback) {
+ public void readLocalTemperatureAttribute(LocalTemperatureAttributeCallback callback) {
readLocalTemperatureAttribute(chipClusterPtr, callback);
}
public void subscribeLocalTemperatureAttribute(
- IntegerAttributeCallback callback, int minInterval, int maxInterval) {
+ LocalTemperatureAttributeCallback callback, int minInterval, int maxInterval) {
subscribeLocalTemperatureAttribute(chipClusterPtr, callback, minInterval, maxInterval);
}
@@ -20349,10 +20357,13 @@ public void subscribeClusterRevisionAttribute(
}
private native void readLocalTemperatureAttribute(
- long chipClusterPtr, IntegerAttributeCallback callback);
+ long chipClusterPtr, LocalTemperatureAttributeCallback callback);
private native void subscribeLocalTemperatureAttribute(
- long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval);
+ long chipClusterPtr,
+ LocalTemperatureAttributeCallback callback,
+ int minInterval,
+ int maxInterval);
private native void readAbsMinHeatSetpointLimitAttribute(
long chipClusterPtr, IntegerAttributeCallback callback);
diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ChipStructs.java b/src/controller/java/zap-generated/chip/devicecontroller/ChipStructs.java
index 332635c2e1cb69..889a1b030e375e 100644
--- a/src/controller/java/zap-generated/chip/devicecontroller/ChipStructs.java
+++ b/src/controller/java/zap-generated/chip/devicecontroller/ChipStructs.java
@@ -1844,6 +1844,36 @@ public String toString() {
}
}
+ public static class ThermostatClusterThermostatScheduleTransition {
+ public Integer transitionTime;
+ public @Nullable Integer heatSetpoint;
+ public @Nullable Integer coolSetpoint;
+
+ public ThermostatClusterThermostatScheduleTransition(
+ Integer transitionTime, @Nullable Integer heatSetpoint, @Nullable Integer coolSetpoint) {
+ this.transitionTime = transitionTime;
+ this.heatSetpoint = heatSetpoint;
+ this.coolSetpoint = coolSetpoint;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder output = new StringBuilder();
+ output.append("ThermostatClusterThermostatScheduleTransition {\n");
+ output.append("\ttransitionTime: ");
+ output.append(transitionTime);
+ output.append("\n");
+ output.append("\theatSetpoint: ");
+ output.append(heatSetpoint);
+ output.append("\n");
+ output.append("\tcoolSetpoint: ");
+ output.append(coolSetpoint);
+ output.append("\n");
+ output.append("}\n");
+ return output.toString();
+ }
+ }
+
public static class ThreadNetworkDiagnosticsClusterNeighborTable {
public Long extAddress;
public Long age;
diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java b/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java
index 2f3dc7c8e89019..53e0eaef9f1a01 100644
--- a/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java
+++ b/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java
@@ -6419,29 +6419,29 @@ public void setCallbackDelegate(ClusterCommandCallback callback) {
@Override
public void onSuccess(
- Integer timeOfDay,
- Integer relayStatus,
- Integer localTemperature,
- Integer humidityInPercentage,
- Integer setpoint,
- Integer unreadEntries) {
- Map responseValues = new LinkedHashMap<>();
- CommandResponseInfo timeOfDayResponseValue = new CommandResponseInfo("timeOfDay", "Integer");
- responseValues.put(timeOfDayResponseValue, timeOfDay);
- CommandResponseInfo relayStatusResponseValue =
- new CommandResponseInfo("relayStatus", "Integer");
- responseValues.put(relayStatusResponseValue, relayStatus);
- CommandResponseInfo localTemperatureResponseValue =
- new CommandResponseInfo("localTemperature", "Integer");
- responseValues.put(localTemperatureResponseValue, localTemperature);
- CommandResponseInfo humidityInPercentageResponseValue =
- new CommandResponseInfo("humidityInPercentage", "Integer");
- responseValues.put(humidityInPercentageResponseValue, humidityInPercentage);
- CommandResponseInfo setpointResponseValue = new CommandResponseInfo("setpoint", "Integer");
- responseValues.put(setpointResponseValue, setpoint);
- CommandResponseInfo unreadEntriesResponseValue =
- new CommandResponseInfo("unreadEntries", "Integer");
- responseValues.put(unreadEntriesResponseValue, unreadEntries);
+ Integer TimeOfDay,
+ Integer RelayStatus,
+ Integer LocalTemperature,
+ Integer HumidityInPercentage,
+ Integer Setpoint,
+ Integer UnreadEntries) {
+ Map responseValues = new LinkedHashMap<>();
+ CommandResponseInfo TimeOfDayResponseValue = new CommandResponseInfo("TimeOfDay", "Integer");
+ responseValues.put(TimeOfDayResponseValue, TimeOfDay);
+ CommandResponseInfo RelayStatusResponseValue =
+ new CommandResponseInfo("RelayStatus", "Integer");
+ responseValues.put(RelayStatusResponseValue, RelayStatus);
+ CommandResponseInfo LocalTemperatureResponseValue =
+ new CommandResponseInfo("LocalTemperature", "Integer");
+ responseValues.put(LocalTemperatureResponseValue, LocalTemperature);
+ CommandResponseInfo HumidityInPercentageResponseValue =
+ new CommandResponseInfo("HumidityInPercentage", "Integer");
+ responseValues.put(HumidityInPercentageResponseValue, HumidityInPercentage);
+ CommandResponseInfo SetpointResponseValue = new CommandResponseInfo("Setpoint", "Integer");
+ responseValues.put(SetpointResponseValue, Setpoint);
+ CommandResponseInfo UnreadEntriesResponseValue =
+ new CommandResponseInfo("UnreadEntries", "Integer");
+ responseValues.put(UnreadEntriesResponseValue, UnreadEntries);
callback.onSuccess(responseValues);
}
@@ -6463,22 +6463,22 @@ public void setCallbackDelegate(ClusterCommandCallback callback) {
@Override
public void onSuccess(
- Integer numberOfTransitionsForSequence,
- Integer dayOfWeekForSequence,
- Integer modeForSequence,
- ArrayList payload) {
+ Integer NumberOfTransitionsForSequence,
+ Integer DayOfWeekForSequence,
+ Integer ModeForSequence,
+ ArrayList Transitions) {
Map responseValues = new LinkedHashMap<>();
- CommandResponseInfo numberOfTransitionsForSequenceResponseValue =
- new CommandResponseInfo("numberOfTransitionsForSequence", "Integer");
+ CommandResponseInfo NumberOfTransitionsForSequenceResponseValue =
+ new CommandResponseInfo("NumberOfTransitionsForSequence", "Integer");
responseValues.put(
- numberOfTransitionsForSequenceResponseValue, numberOfTransitionsForSequence);
- CommandResponseInfo dayOfWeekForSequenceResponseValue =
- new CommandResponseInfo("dayOfWeekForSequence", "Integer");
- responseValues.put(dayOfWeekForSequenceResponseValue, dayOfWeekForSequence);
- CommandResponseInfo modeForSequenceResponseValue =
- new CommandResponseInfo("modeForSequence", "Integer");
- responseValues.put(modeForSequenceResponseValue, modeForSequence);
- // payload: /* TYPE WARNING: array array defaults to */ uint8_t *
+ NumberOfTransitionsForSequenceResponseValue, NumberOfTransitionsForSequence);
+ CommandResponseInfo DayOfWeekForSequenceResponseValue =
+ new CommandResponseInfo("DayOfWeekForSequence", "Integer");
+ responseValues.put(DayOfWeekForSequenceResponseValue, DayOfWeekForSequence);
+ CommandResponseInfo ModeForSequenceResponseValue =
+ new CommandResponseInfo("ModeForSequence", "Integer");
+ responseValues.put(ModeForSequenceResponseValue, ModeForSequence);
+ // Transitions: /* TYPE WARNING: array array defaults to */ uint8_t *
// Conversion from this type to Java is not properly implemented yet
callback.onSuccess(responseValues);
}
@@ -11824,11 +11824,6 @@ public Map> getCommandMap() {
thermostatsetWeeklyScheduleCommandParams.put(
"modeForSequence", thermostatsetWeeklySchedulemodeForSequenceCommandParameterInfo);
- CommandParameterInfo thermostatsetWeeklySchedulepayloadCommandParameterInfo =
- new CommandParameterInfo("payload", ArrayList.class);
- thermostatsetWeeklyScheduleCommandParams.put(
- "payload", thermostatsetWeeklySchedulepayloadCommandParameterInfo);
-
InteractionInfo thermostatsetWeeklyScheduleInteractionInfo =
new InteractionInfo(
(cluster, callback, commandArguments) -> {
@@ -11838,7 +11833,8 @@ public Map> getCommandMap() {
(Integer) commandArguments.get("numberOfTransitionsForSequence"),
(Integer) commandArguments.get("dayOfWeekForSequence"),
(Integer) commandArguments.get("modeForSequence"),
- (ArrayList) commandArguments.get("payload"));
+ (ArrayList)
+ commandArguments.get("transitions"));
},
() -> new DelegatedDefaultClusterCallback(),
thermostatsetWeeklyScheduleCommandParams);
diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ClusterReadMapping.java b/src/controller/java/zap-generated/chip/devicecontroller/ClusterReadMapping.java
index 4e894545a5830f..f985ad3810f436 100644
--- a/src/controller/java/zap-generated/chip/devicecontroller/ClusterReadMapping.java
+++ b/src/controller/java/zap-generated/chip/devicecontroller/ClusterReadMapping.java
@@ -9234,7 +9234,8 @@ public Map> getReadAttributeMap() {
new InteractionInfo(
(cluster, callback, commandArguments) -> {
((ChipClusters.ThermostatCluster) cluster)
- .readLocalTemperatureAttribute((ChipClusters.IntegerAttributeCallback) callback);
+ .readLocalTemperatureAttribute(
+ (ChipClusters.ThermostatCluster.LocalTemperatureAttributeCallback) callback);
},
() -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(),
readThermostatLocalTemperatureCommandParams);
diff --git a/src/controller/python/chip/clusters/CHIPClusters.py b/src/controller/python/chip/clusters/CHIPClusters.py
index ec80df70789e22..f669a3df89c943 100644
--- a/src/controller/python/chip/clusters/CHIPClusters.py
+++ b/src/controller/python/chip/clusters/CHIPClusters.py
@@ -5958,7 +5958,9 @@ class ChipClusters:
"numberOfTransitionsForSequence": "int",
"dayOfWeekForSequence": "int",
"modeForSequence": "int",
- "payload": "int",
+ "transitionTime": "int",
+ "heatSetpoint": "int",
+ "coolSetpoint": "int",
},
},
0x00000000: {
diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py
index 0df7378ceb3c96..6fce95229b31c0 100644
--- a/src/controller/python/chip/clusters/Objects.py
+++ b/src/controller/python/chip/clusters/Objects.py
@@ -20105,19 +20105,19 @@ class Thermostat(Cluster):
def descriptor(cls) -> ClusterObjectDescriptor:
return ClusterObjectDescriptor(
Fields = [
- ClusterObjectFieldDescriptor(Label="localTemperature", Tag=0x00000000, Type=int),
- ClusterObjectFieldDescriptor(Label="outdoorTemperature", Tag=0x00000001, Type=typing.Optional[int]),
+ ClusterObjectFieldDescriptor(Label="localTemperature", Tag=0x00000000, Type=typing.Union[Nullable, int]),
+ ClusterObjectFieldDescriptor(Label="outdoorTemperature", Tag=0x00000001, Type=typing.Union[None, Nullable, int]),
ClusterObjectFieldDescriptor(Label="occupancy", Tag=0x00000002, Type=typing.Optional[uint]),
ClusterObjectFieldDescriptor(Label="absMinHeatSetpointLimit", Tag=0x00000003, Type=typing.Optional[int]),
ClusterObjectFieldDescriptor(Label="absMaxHeatSetpointLimit", Tag=0x00000004, Type=typing.Optional[int]),
ClusterObjectFieldDescriptor(Label="absMinCoolSetpointLimit", Tag=0x00000005, Type=typing.Optional[int]),
ClusterObjectFieldDescriptor(Label="absMaxCoolSetpointLimit", Tag=0x00000006, Type=typing.Optional[int]),
- ClusterObjectFieldDescriptor(Label="piCoolingDemand", Tag=0x00000007, Type=typing.Optional[uint]),
- ClusterObjectFieldDescriptor(Label="piHeatingDemand", Tag=0x00000008, Type=typing.Optional[uint]),
- ClusterObjectFieldDescriptor(Label="hvacSystemTypeConfiguration", Tag=0x00000009, Type=typing.Optional[uint]),
+ ClusterObjectFieldDescriptor(Label="PICoolingDemand", Tag=0x00000007, Type=typing.Optional[uint]),
+ ClusterObjectFieldDescriptor(Label="PIHeatingDemand", Tag=0x00000008, Type=typing.Optional[uint]),
+ ClusterObjectFieldDescriptor(Label="HVACSystemTypeConfiguration", Tag=0x00000009, Type=typing.Optional[uint]),
ClusterObjectFieldDescriptor(Label="localTemperatureCalibration", Tag=0x00000010, Type=typing.Optional[int]),
- ClusterObjectFieldDescriptor(Label="occupiedCoolingSetpoint", Tag=0x00000011, Type=int),
- ClusterObjectFieldDescriptor(Label="occupiedHeatingSetpoint", Tag=0x00000012, Type=int),
+ ClusterObjectFieldDescriptor(Label="occupiedCoolingSetpoint", Tag=0x00000011, Type=typing.Optional[int]),
+ ClusterObjectFieldDescriptor(Label="occupiedHeatingSetpoint", Tag=0x00000012, Type=typing.Optional[int]),
ClusterObjectFieldDescriptor(Label="unoccupiedCoolingSetpoint", Tag=0x00000013, Type=typing.Optional[int]),
ClusterObjectFieldDescriptor(Label="unoccupiedHeatingSetpoint", Tag=0x00000014, Type=typing.Optional[int]),
ClusterObjectFieldDescriptor(Label="minHeatSetpointLimit", Tag=0x00000015, Type=typing.Optional[int]),
@@ -20134,20 +20134,27 @@ def descriptor(cls) -> ClusterObjectDescriptor:
ClusterObjectFieldDescriptor(Label="numberOfWeeklyTransitions", Tag=0x00000021, Type=typing.Optional[uint]),
ClusterObjectFieldDescriptor(Label="numberOfDailyTransitions", Tag=0x00000022, Type=typing.Optional[uint]),
ClusterObjectFieldDescriptor(Label="temperatureSetpointHold", Tag=0x00000023, Type=typing.Optional[uint]),
- ClusterObjectFieldDescriptor(Label="temperatureSetpointHoldDuration", Tag=0x00000024, Type=typing.Optional[uint]),
+ ClusterObjectFieldDescriptor(Label="temperatureSetpointHoldDuration", Tag=0x00000024, Type=typing.Union[None, Nullable, uint]),
ClusterObjectFieldDescriptor(Label="thermostatProgrammingOperationMode", Tag=0x00000025, Type=typing.Optional[uint]),
ClusterObjectFieldDescriptor(Label="thermostatRunningState", Tag=0x00000029, Type=typing.Optional[uint]),
ClusterObjectFieldDescriptor(Label="setpointChangeSource", Tag=0x00000030, Type=typing.Optional[uint]),
- ClusterObjectFieldDescriptor(Label="setpointChangeAmount", Tag=0x00000031, Type=typing.Optional[int]),
+ ClusterObjectFieldDescriptor(Label="setpointChangeAmount", Tag=0x00000031, Type=typing.Union[None, Nullable, int]),
ClusterObjectFieldDescriptor(Label="setpointChangeSourceTimestamp", Tag=0x00000032, Type=typing.Optional[uint]),
- ClusterObjectFieldDescriptor(Label="acType", Tag=0x00000040, Type=typing.Optional[uint]),
- ClusterObjectFieldDescriptor(Label="acCapacity", Tag=0x00000041, Type=typing.Optional[uint]),
- ClusterObjectFieldDescriptor(Label="acRefrigerantType", Tag=0x00000042, Type=typing.Optional[uint]),
- ClusterObjectFieldDescriptor(Label="acCompressorType", Tag=0x00000043, Type=typing.Optional[uint]),
- ClusterObjectFieldDescriptor(Label="acErrorCode", Tag=0x00000044, Type=typing.Optional[uint]),
- ClusterObjectFieldDescriptor(Label="acLouverPosition", Tag=0x00000045, Type=typing.Optional[uint]),
- ClusterObjectFieldDescriptor(Label="acCoilTemperature", Tag=0x00000046, Type=typing.Optional[int]),
- ClusterObjectFieldDescriptor(Label="acCapacityFormat", Tag=0x00000047, Type=typing.Optional[uint]),
+ ClusterObjectFieldDescriptor(Label="occupiedSetback", Tag=0x00000034, Type=typing.Union[None, Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="occupiedSetbackMin", Tag=0x00000035, Type=typing.Union[None, Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="occupiedSetbackMax", Tag=0x00000036, Type=typing.Union[None, Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="unoccupiedSetback", Tag=0x00000037, Type=typing.Union[None, Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="unoccupiedSetbackMin", Tag=0x00000038, Type=typing.Union[None, Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="unoccupiedSetbackMax", Tag=0x00000039, Type=typing.Union[None, Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="emergencyHeatDelta", Tag=0x0000003A, Type=typing.Optional[uint]),
+ ClusterObjectFieldDescriptor(Label="ACType", Tag=0x00000040, Type=typing.Optional[uint]),
+ ClusterObjectFieldDescriptor(Label="ACCapacity", Tag=0x00000041, Type=typing.Optional[uint]),
+ ClusterObjectFieldDescriptor(Label="ACRefrigerantType", Tag=0x00000042, Type=typing.Optional[uint]),
+ ClusterObjectFieldDescriptor(Label="ACCompressorType", Tag=0x00000043, Type=typing.Optional[uint]),
+ ClusterObjectFieldDescriptor(Label="ACErrorCode", Tag=0x00000044, Type=typing.Optional[uint]),
+ ClusterObjectFieldDescriptor(Label="ACLouverPosition", Tag=0x00000045, Type=typing.Optional[uint]),
+ ClusterObjectFieldDescriptor(Label="ACCoilTemperature", Tag=0x00000046, Type=typing.Union[None, Nullable, int]),
+ ClusterObjectFieldDescriptor(Label="ACCapacityformat", Tag=0x00000047, Type=typing.Optional[uint]),
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="attributeList", Tag=0x0000FFFB, Type=typing.List[uint]),
@@ -20155,19 +20162,19 @@ def descriptor(cls) -> ClusterObjectDescriptor:
ClusterObjectFieldDescriptor(Label="clusterRevision", Tag=0x0000FFFD, Type=uint),
])
- localTemperature: 'int' = None
- outdoorTemperature: 'typing.Optional[int]' = None
+ localTemperature: 'typing.Union[Nullable, int]' = None
+ outdoorTemperature: 'typing.Union[None, Nullable, int]' = None
occupancy: 'typing.Optional[uint]' = None
absMinHeatSetpointLimit: 'typing.Optional[int]' = None
absMaxHeatSetpointLimit: 'typing.Optional[int]' = None
absMinCoolSetpointLimit: 'typing.Optional[int]' = None
absMaxCoolSetpointLimit: 'typing.Optional[int]' = None
- piCoolingDemand: 'typing.Optional[uint]' = None
- piHeatingDemand: 'typing.Optional[uint]' = None
- hvacSystemTypeConfiguration: 'typing.Optional[uint]' = None
+ PICoolingDemand: 'typing.Optional[uint]' = None
+ PIHeatingDemand: 'typing.Optional[uint]' = None
+ HVACSystemTypeConfiguration: 'typing.Optional[uint]' = None
localTemperatureCalibration: 'typing.Optional[int]' = None
- occupiedCoolingSetpoint: 'int' = None
- occupiedHeatingSetpoint: 'int' = None
+ occupiedCoolingSetpoint: 'typing.Optional[int]' = None
+ occupiedHeatingSetpoint: 'typing.Optional[int]' = None
unoccupiedCoolingSetpoint: 'typing.Optional[int]' = None
unoccupiedHeatingSetpoint: 'typing.Optional[int]' = None
minHeatSetpointLimit: 'typing.Optional[int]' = None
@@ -20184,20 +20191,27 @@ def descriptor(cls) -> ClusterObjectDescriptor:
numberOfWeeklyTransitions: 'typing.Optional[uint]' = None
numberOfDailyTransitions: 'typing.Optional[uint]' = None
temperatureSetpointHold: 'typing.Optional[uint]' = None
- temperatureSetpointHoldDuration: 'typing.Optional[uint]' = None
+ temperatureSetpointHoldDuration: 'typing.Union[None, Nullable, uint]' = None
thermostatProgrammingOperationMode: 'typing.Optional[uint]' = None
thermostatRunningState: 'typing.Optional[uint]' = None
setpointChangeSource: 'typing.Optional[uint]' = None
- setpointChangeAmount: 'typing.Optional[int]' = None
+ setpointChangeAmount: 'typing.Union[None, Nullable, int]' = None
setpointChangeSourceTimestamp: 'typing.Optional[uint]' = None
- acType: 'typing.Optional[uint]' = None
- acCapacity: 'typing.Optional[uint]' = None
- acRefrigerantType: 'typing.Optional[uint]' = None
- acCompressorType: 'typing.Optional[uint]' = None
- acErrorCode: 'typing.Optional[uint]' = None
- acLouverPosition: 'typing.Optional[uint]' = None
- acCoilTemperature: 'typing.Optional[int]' = None
- acCapacityFormat: 'typing.Optional[uint]' = None
+ occupiedSetback: 'typing.Union[None, Nullable, uint]' = None
+ occupiedSetbackMin: 'typing.Union[None, Nullable, uint]' = None
+ occupiedSetbackMax: 'typing.Union[None, Nullable, uint]' = None
+ unoccupiedSetback: 'typing.Union[None, Nullable, uint]' = None
+ unoccupiedSetbackMin: 'typing.Union[None, Nullable, uint]' = None
+ unoccupiedSetbackMax: 'typing.Union[None, Nullable, uint]' = None
+ emergencyHeatDelta: 'typing.Optional[uint]' = None
+ ACType: 'typing.Optional[uint]' = None
+ ACCapacity: 'typing.Optional[uint]' = None
+ ACRefrigerantType: 'typing.Optional[uint]' = None
+ ACCompressorType: 'typing.Optional[uint]' = None
+ ACErrorCode: 'typing.Optional[uint]' = None
+ ACLouverPosition: 'typing.Optional[uint]' = None
+ ACCoilTemperature: 'typing.Union[None, Nullable, int]' = None
+ ACCapacityformat: 'typing.Optional[uint]' = None
generatedCommandList: 'typing.List[uint]' = None
acceptedCommandList: 'typing.List[uint]' = None
attributeList: 'typing.List[uint]' = None
@@ -20233,6 +20247,23 @@ class ThermostatSystemMode(IntEnum):
kFanOnly = 0x07
+ class Structs:
+ @dataclass
+ class ThermostatScheduleTransition(ClusterObject):
+ @ChipUtility.classproperty
+ def descriptor(cls) -> ClusterObjectDescriptor:
+ return ClusterObjectDescriptor(
+ Fields = [
+ ClusterObjectFieldDescriptor(Label="transitionTime", Tag=0, Type=uint),
+ ClusterObjectFieldDescriptor(Label="heatSetpoint", Tag=1, Type=typing.Union[Nullable, int]),
+ ClusterObjectFieldDescriptor(Label="coolSetpoint", Tag=2, Type=typing.Union[Nullable, int]),
+ ])
+
+ transitionTime: 'uint' = 0
+ heatSetpoint: 'typing.Union[Nullable, int]' = NullValue
+ coolSetpoint: 'typing.Union[Nullable, int]' = NullValue
+
+
class Commands:
@dataclass
@@ -20265,13 +20296,13 @@ def descriptor(cls) -> ClusterObjectDescriptor:
ClusterObjectFieldDescriptor(Label="numberOfTransitionsForSequence", Tag=0, Type=uint),
ClusterObjectFieldDescriptor(Label="dayOfWeekForSequence", Tag=1, Type=uint),
ClusterObjectFieldDescriptor(Label="modeForSequence", Tag=2, Type=uint),
- ClusterObjectFieldDescriptor(Label="payload", Tag=3, Type=typing.List[uint]),
+ ClusterObjectFieldDescriptor(Label="transitions", Tag=3, Type=typing.List[Thermostat.Structs.ThermostatScheduleTransition]),
])
numberOfTransitionsForSequence: 'uint' = 0
dayOfWeekForSequence: 'uint' = 0
modeForSequence: 'uint' = 0
- payload: 'typing.List[uint]' = field(default_factory=lambda: [])
+ transitions: 'typing.List[Thermostat.Structs.ThermostatScheduleTransition]' = field(default_factory=lambda: [])
@dataclass
class SetWeeklySchedule(ClusterCommand):
@@ -20286,13 +20317,13 @@ def descriptor(cls) -> ClusterObjectDescriptor:
ClusterObjectFieldDescriptor(Label="numberOfTransitionsForSequence", Tag=0, Type=uint),
ClusterObjectFieldDescriptor(Label="dayOfWeekForSequence", Tag=1, Type=uint),
ClusterObjectFieldDescriptor(Label="modeForSequence", Tag=2, Type=uint),
- ClusterObjectFieldDescriptor(Label="payload", Tag=3, Type=typing.List[uint]),
+ ClusterObjectFieldDescriptor(Label="transitions", Tag=3, Type=typing.List[Thermostat.Structs.ThermostatScheduleTransition]),
])
numberOfTransitionsForSequence: 'uint' = 0
dayOfWeekForSequence: 'uint' = 0
modeForSequence: 'uint' = 0
- payload: 'typing.List[uint]' = field(default_factory=lambda: [])
+ transitions: 'typing.List[Thermostat.Structs.ThermostatScheduleTransition]' = field(default_factory=lambda: [])
@dataclass
class GetRelayStatusLogResponse(ClusterCommand):
@@ -20376,9 +20407,9 @@ def attribute_id(cls) -> int:
@ChipUtility.classproperty
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
- return ClusterObjectFieldDescriptor(Type=int)
+ return ClusterObjectFieldDescriptor(Type=typing.Union[Nullable, int])
- value: 'int' = 0
+ value: 'typing.Union[Nullable, int]' = NullValue
@dataclass
class OutdoorTemperature(ClusterAttributeDescriptor):
@@ -20392,9 +20423,9 @@ def attribute_id(cls) -> int:
@ChipUtility.classproperty
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
- return ClusterObjectFieldDescriptor(Type=typing.Optional[int])
+ return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int])
- value: 'typing.Optional[int]' = None
+ value: 'typing.Union[None, Nullable, int]' = None
@dataclass
class Occupancy(ClusterAttributeDescriptor):
@@ -20477,7 +20508,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
value: 'typing.Optional[int]' = None
@dataclass
- class PiCoolingDemand(ClusterAttributeDescriptor):
+ class PICoolingDemand(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
return 0x0201
@@ -20493,7 +20524,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
value: 'typing.Optional[uint]' = None
@dataclass
- class PiHeatingDemand(ClusterAttributeDescriptor):
+ class PIHeatingDemand(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
return 0x0201
@@ -20509,7 +20540,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
value: 'typing.Optional[uint]' = None
@dataclass
- class HvacSystemTypeConfiguration(ClusterAttributeDescriptor):
+ class HVACSystemTypeConfiguration(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
return 0x0201
@@ -20552,9 +20583,9 @@ def attribute_id(cls) -> int:
@ChipUtility.classproperty
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
- return ClusterObjectFieldDescriptor(Type=int)
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[int])
- value: 'int' = 0
+ value: 'typing.Optional[int]' = None
@dataclass
class OccupiedHeatingSetpoint(ClusterAttributeDescriptor):
@@ -20568,9 +20599,9 @@ def attribute_id(cls) -> int:
@ChipUtility.classproperty
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
- return ClusterObjectFieldDescriptor(Type=int)
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[int])
- value: 'int' = 0
+ value: 'typing.Optional[int]' = None
@dataclass
class UnoccupiedCoolingSetpoint(ClusterAttributeDescriptor):
@@ -20840,9 +20871,9 @@ def attribute_id(cls) -> int:
@ChipUtility.classproperty
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
- return ClusterObjectFieldDescriptor(Type=typing.Optional[uint])
+ return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint])
- value: 'typing.Optional[uint]' = None
+ value: 'typing.Union[None, Nullable, uint]' = None
@dataclass
class ThermostatProgrammingOperationMode(ClusterAttributeDescriptor):
@@ -20904,9 +20935,9 @@ def attribute_id(cls) -> int:
@ChipUtility.classproperty
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
- return ClusterObjectFieldDescriptor(Type=typing.Optional[int])
+ return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int])
- value: 'typing.Optional[int]' = None
+ value: 'typing.Union[None, Nullable, int]' = None
@dataclass
class SetpointChangeSourceTimestamp(ClusterAttributeDescriptor):
@@ -20925,7 +20956,119 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
value: 'typing.Optional[uint]' = None
@dataclass
- class AcType(ClusterAttributeDescriptor):
+ class OccupiedSetback(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x0201
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000034
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint])
+
+ value: 'typing.Union[None, Nullable, uint]' = None
+
+ @dataclass
+ class OccupiedSetbackMin(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x0201
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000035
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint])
+
+ value: 'typing.Union[None, Nullable, uint]' = None
+
+ @dataclass
+ class OccupiedSetbackMax(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x0201
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000036
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint])
+
+ value: 'typing.Union[None, Nullable, uint]' = None
+
+ @dataclass
+ class UnoccupiedSetback(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x0201
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000037
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint])
+
+ value: 'typing.Union[None, Nullable, uint]' = None
+
+ @dataclass
+ class UnoccupiedSetbackMin(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x0201
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000038
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint])
+
+ value: 'typing.Union[None, Nullable, uint]' = None
+
+ @dataclass
+ class UnoccupiedSetbackMax(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x0201
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000039
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, uint])
+
+ value: 'typing.Union[None, Nullable, uint]' = None
+
+ @dataclass
+ class EmergencyHeatDelta(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x0201
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x0000003A
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[uint])
+
+ value: 'typing.Optional[uint]' = None
+
+ @dataclass
+ class ACType(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
return 0x0201
@@ -20941,7 +21084,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
value: 'typing.Optional[uint]' = None
@dataclass
- class AcCapacity(ClusterAttributeDescriptor):
+ class ACCapacity(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
return 0x0201
@@ -20957,7 +21100,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
value: 'typing.Optional[uint]' = None
@dataclass
- class AcRefrigerantType(ClusterAttributeDescriptor):
+ class ACRefrigerantType(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
return 0x0201
@@ -20973,7 +21116,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
value: 'typing.Optional[uint]' = None
@dataclass
- class AcCompressorType(ClusterAttributeDescriptor):
+ class ACCompressorType(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
return 0x0201
@@ -20989,7 +21132,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
value: 'typing.Optional[uint]' = None
@dataclass
- class AcErrorCode(ClusterAttributeDescriptor):
+ class ACErrorCode(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
return 0x0201
@@ -21005,7 +21148,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
value: 'typing.Optional[uint]' = None
@dataclass
- class AcLouverPosition(ClusterAttributeDescriptor):
+ class ACLouverPosition(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
return 0x0201
@@ -21021,7 +21164,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
value: 'typing.Optional[uint]' = None
@dataclass
- class AcCoilTemperature(ClusterAttributeDescriptor):
+ class ACCoilTemperature(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
return 0x0201
@@ -21032,12 +21175,12 @@ def attribute_id(cls) -> int:
@ChipUtility.classproperty
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
- return ClusterObjectFieldDescriptor(Type=typing.Optional[int])
+ return ClusterObjectFieldDescriptor(Type=typing.Union[None, Nullable, int])
- value: 'typing.Optional[int]' = None
+ value: 'typing.Union[None, Nullable, int]' = None
@dataclass
- class AcCapacityFormat(ClusterAttributeDescriptor):
+ class ACCapacityformat(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
return 0x0201
diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPAttributeTLVValueDecoder.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPAttributeTLVValueDecoder.mm
index e1605d09c344a1..c100aa9e145db7 100644
--- a/src/darwin/Framework/CHIP/zap-generated/CHIPAttributeTLVValueDecoder.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/CHIPAttributeTLVValueDecoder.mm
@@ -14257,8 +14257,12 @@ id CHIPDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader
if (*aError != CHIP_NO_ERROR) {
return nil;
}
- NSNumber * _Nonnull value;
- value = [NSNumber numberWithShort:cppValue];
+ NSNumber * _Nullable value;
+ if (cppValue.IsNull()) {
+ value = nil;
+ } else {
+ value = [NSNumber numberWithShort:cppValue.Value()];
+ }
return value;
}
case Attributes::OutdoorTemperature::Id: {
@@ -14268,8 +14272,12 @@ id CHIPDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader
if (*aError != CHIP_NO_ERROR) {
return nil;
}
- NSNumber * _Nonnull value;
- value = [NSNumber numberWithShort:cppValue];
+ NSNumber * _Nullable value;
+ if (cppValue.IsNull()) {
+ value = nil;
+ } else {
+ value = [NSNumber numberWithShort:cppValue.Value()];
+ }
return value;
}
case Attributes::Occupancy::Id: {
@@ -14327,8 +14335,8 @@ id CHIPDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader
value = [NSNumber numberWithShort:cppValue];
return value;
}
- case Attributes::PiCoolingDemand::Id: {
- using TypeInfo = Attributes::PiCoolingDemand::TypeInfo;
+ case Attributes::PICoolingDemand::Id: {
+ using TypeInfo = Attributes::PICoolingDemand::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
@@ -14338,8 +14346,8 @@ id CHIPDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
- case Attributes::PiHeatingDemand::Id: {
- using TypeInfo = Attributes::PiHeatingDemand::TypeInfo;
+ case Attributes::PIHeatingDemand::Id: {
+ using TypeInfo = Attributes::PIHeatingDemand::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
@@ -14349,8 +14357,8 @@ id CHIPDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
- case Attributes::HvacSystemTypeConfiguration::Id: {
- using TypeInfo = Attributes::HvacSystemTypeConfiguration::TypeInfo;
+ case Attributes::HVACSystemTypeConfiguration::Id: {
+ using TypeInfo = Attributes::HVACSystemTypeConfiguration::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
@@ -14576,8 +14584,12 @@ id CHIPDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader
if (*aError != CHIP_NO_ERROR) {
return nil;
}
- NSNumber * _Nonnull value;
- value = [NSNumber numberWithUnsignedShort:cppValue];
+ NSNumber * _Nullable value;
+ if (cppValue.IsNull()) {
+ value = nil;
+ } else {
+ value = [NSNumber numberWithUnsignedShort:cppValue.Value()];
+ }
return value;
}
case Attributes::ThermostatProgrammingOperationMode::Id: {
@@ -14620,8 +14632,12 @@ id CHIPDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader
if (*aError != CHIP_NO_ERROR) {
return nil;
}
- NSNumber * _Nonnull value;
- value = [NSNumber numberWithShort:cppValue];
+ NSNumber * _Nullable value;
+ if (cppValue.IsNull()) {
+ value = nil;
+ } else {
+ value = [NSNumber numberWithShort:cppValue.Value()];
+ }
return value;
}
case Attributes::SetpointChangeSourceTimestamp::Id: {
@@ -14635,8 +14651,98 @@ id CHIPDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
- case Attributes::AcType::Id: {
- using TypeInfo = Attributes::AcType::TypeInfo;
+ case Attributes::OccupiedSetback::Id: {
+ using TypeInfo = Attributes::OccupiedSetback::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR) {
+ return nil;
+ }
+ NSNumber * _Nullable value;
+ if (cppValue.IsNull()) {
+ value = nil;
+ } else {
+ value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
+ }
+ return value;
+ }
+ case Attributes::OccupiedSetbackMin::Id: {
+ using TypeInfo = Attributes::OccupiedSetbackMin::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR) {
+ return nil;
+ }
+ NSNumber * _Nullable value;
+ if (cppValue.IsNull()) {
+ value = nil;
+ } else {
+ value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
+ }
+ return value;
+ }
+ case Attributes::OccupiedSetbackMax::Id: {
+ using TypeInfo = Attributes::OccupiedSetbackMax::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR) {
+ return nil;
+ }
+ NSNumber * _Nullable value;
+ if (cppValue.IsNull()) {
+ value = nil;
+ } else {
+ value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
+ }
+ return value;
+ }
+ case Attributes::UnoccupiedSetback::Id: {
+ using TypeInfo = Attributes::UnoccupiedSetback::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR) {
+ return nil;
+ }
+ NSNumber * _Nullable value;
+ if (cppValue.IsNull()) {
+ value = nil;
+ } else {
+ value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
+ }
+ return value;
+ }
+ case Attributes::UnoccupiedSetbackMin::Id: {
+ using TypeInfo = Attributes::UnoccupiedSetbackMin::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR) {
+ return nil;
+ }
+ NSNumber * _Nullable value;
+ if (cppValue.IsNull()) {
+ value = nil;
+ } else {
+ value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
+ }
+ return value;
+ }
+ case Attributes::UnoccupiedSetbackMax::Id: {
+ using TypeInfo = Attributes::UnoccupiedSetbackMax::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR) {
+ return nil;
+ }
+ NSNumber * _Nullable value;
+ if (cppValue.IsNull()) {
+ value = nil;
+ } else {
+ value = [NSNumber numberWithUnsignedChar:cppValue.Value()];
+ }
+ return value;
+ }
+ case Attributes::EmergencyHeatDelta::Id: {
+ using TypeInfo = Attributes::EmergencyHeatDelta::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
@@ -14646,8 +14752,19 @@ id CHIPDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
- case Attributes::AcCapacity::Id: {
- using TypeInfo = Attributes::AcCapacity::TypeInfo;
+ case Attributes::ACType::Id: {
+ using TypeInfo = Attributes::ACType::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR) {
+ return nil;
+ }
+ NSNumber * _Nonnull value;
+ value = [NSNumber numberWithUnsignedChar:cppValue];
+ return value;
+ }
+ case Attributes::ACCapacity::Id: {
+ using TypeInfo = Attributes::ACCapacity::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
@@ -14657,8 +14774,8 @@ id CHIPDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader
value = [NSNumber numberWithUnsignedShort:cppValue];
return value;
}
- case Attributes::AcRefrigerantType::Id: {
- using TypeInfo = Attributes::AcRefrigerantType::TypeInfo;
+ case Attributes::ACRefrigerantType::Id: {
+ using TypeInfo = Attributes::ACRefrigerantType::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
@@ -14668,8 +14785,8 @@ id CHIPDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
- case Attributes::AcCompressorType::Id: {
- using TypeInfo = Attributes::AcCompressorType::TypeInfo;
+ case Attributes::ACCompressorType::Id: {
+ using TypeInfo = Attributes::ACCompressorType::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
@@ -14679,8 +14796,8 @@ id CHIPDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
- case Attributes::AcErrorCode::Id: {
- using TypeInfo = Attributes::AcErrorCode::TypeInfo;
+ case Attributes::ACErrorCode::Id: {
+ using TypeInfo = Attributes::ACErrorCode::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
@@ -14690,8 +14807,8 @@ id CHIPDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader
value = [NSNumber numberWithUnsignedInt:cppValue];
return value;
}
- case Attributes::AcLouverPosition::Id: {
- using TypeInfo = Attributes::AcLouverPosition::TypeInfo;
+ case Attributes::ACLouverPosition::Id: {
+ using TypeInfo = Attributes::ACLouverPosition::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
@@ -14701,19 +14818,23 @@ id CHIPDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader
value = [NSNumber numberWithUnsignedChar:cppValue];
return value;
}
- case Attributes::AcCoilTemperature::Id: {
- using TypeInfo = Attributes::AcCoilTemperature::TypeInfo;
+ case Attributes::ACCoilTemperature::Id: {
+ using TypeInfo = Attributes::ACCoilTemperature::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
return nil;
}
- NSNumber * _Nonnull value;
- value = [NSNumber numberWithShort:cppValue];
+ NSNumber * _Nullable value;
+ if (cppValue.IsNull()) {
+ value = nil;
+ } else {
+ value = [NSNumber numberWithShort:cppValue.Value()];
+ }
return value;
}
- case Attributes::AcCapacityFormat::Id: {
- using TypeInfo = Attributes::AcCapacityFormat::TypeInfo;
+ case Attributes::ACCapacityformat::Id: {
+ using TypeInfo = Attributes::ACCapacityformat::TypeInfo;
TypeInfo::DecodableType cppValue;
*aError = DataModel::Decode(aReader, cppValue);
if (*aError != CHIP_NO_ERROR) {
diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge.mm
index c5e023f5d830b4..a3436ed15a58ae 100644
--- a/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/CHIPCallbackBridge.mm
@@ -13506,11 +13506,22 @@
{
{ // Scope for our temporary variables
auto * array_0 = [NSMutableArray new];
- auto iter_0 = data.payload.begin();
+ auto iter_0 = data.transitions.begin();
while (iter_0.Next()) {
auto & entry_0 = iter_0.GetValue();
- NSNumber * newElement_0;
- newElement_0 = [NSNumber numberWithUnsignedChar:entry_0];
+ CHIPThermostatClusterThermostatScheduleTransition * newElement_0;
+ newElement_0 = [CHIPThermostatClusterThermostatScheduleTransition new];
+ newElement_0.transitionTime = [NSNumber numberWithUnsignedShort:entry_0.transitionTime];
+ if (entry_0.heatSetpoint.IsNull()) {
+ newElement_0.heatSetpoint = nil;
+ } else {
+ newElement_0.heatSetpoint = [NSNumber numberWithShort:entry_0.heatSetpoint.Value()];
+ }
+ if (entry_0.coolSetpoint.IsNull()) {
+ newElement_0.coolSetpoint = nil;
+ } else {
+ newElement_0.coolSetpoint = [NSNumber numberWithShort:entry_0.coolSetpoint.Value()];
+ }
[array_0 addObject:newElement_0];
}
CHIP_ERROR err = iter_0.GetStatus();
@@ -13518,7 +13529,7 @@
OnFailureFn(context, err);
return;
}
- response.payload = array_0;
+ response.transitions = array_0;
}
}
DispatchSuccess(context, response);
@@ -13532,7 +13543,7 @@
response.timeOfDay = [NSNumber numberWithUnsignedShort:data.timeOfDay];
}
{
- response.relayStatus = [NSNumber numberWithUnsignedShort:data.relayStatus];
+ response.relayStatus = [NSNumber numberWithUnsignedChar:data.relayStatus];
}
{
response.localTemperature = [NSNumber numberWithShort:data.localTemperature];
diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h
index 7a8aa27608d157..93c45f4a1e602f 100644
--- a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h
+++ b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h
@@ -17643,61 +17643,61 @@ NS_ASSUME_NONNULL_BEGIN
completionHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
-- (void)readAttributePiCoolingDemandWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+- (void)readAttributePICoolingDemandWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler;
/**
* This API does not support setting autoResubscribe to NO in the
* CHIPSubscribeParams.
*/
-- (void)subscribeAttributePiCoolingDemandWithMinInterval:(NSNumber * _Nonnull)minInterval
+- (void)subscribeAttributePICoolingDemandWithMinInterval:(NSNumber * _Nonnull)minInterval
maxInterval:(NSNumber * _Nonnull)maxInterval
params:(CHIPSubscribeParams * _Nullable)params
subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
reportHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
-+ (void)readAttributePiCoolingDemandWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
++ (void)readAttributePICoolingDemandWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
endpoint:(NSNumber *)endpoint
queue:(dispatch_queue_t)queue
completionHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
-- (void)readAttributePiHeatingDemandWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+- (void)readAttributePIHeatingDemandWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler;
/**
* This API does not support setting autoResubscribe to NO in the
* CHIPSubscribeParams.
*/
-- (void)subscribeAttributePiHeatingDemandWithMinInterval:(NSNumber * _Nonnull)minInterval
+- (void)subscribeAttributePIHeatingDemandWithMinInterval:(NSNumber * _Nonnull)minInterval
maxInterval:(NSNumber * _Nonnull)maxInterval
params:(CHIPSubscribeParams * _Nullable)params
subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
reportHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
-+ (void)readAttributePiHeatingDemandWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
++ (void)readAttributePIHeatingDemandWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
endpoint:(NSNumber *)endpoint
queue:(dispatch_queue_t)queue
completionHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
-- (void)readAttributeHvacSystemTypeConfigurationWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+- (void)readAttributeHVACSystemTypeConfigurationWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler;
-- (void)writeAttributeHvacSystemTypeConfigurationWithValue:(NSNumber * _Nonnull)value
+- (void)writeAttributeHVACSystemTypeConfigurationWithValue:(NSNumber * _Nonnull)value
completionHandler:(StatusCompletion)completionHandler;
-- (void)writeAttributeHvacSystemTypeConfigurationWithValue:(NSNumber * _Nonnull)value
+- (void)writeAttributeHVACSystemTypeConfigurationWithValue:(NSNumber * _Nonnull)value
params:(CHIPWriteParams * _Nullable)params
completionHandler:(StatusCompletion)completionHandler;
/**
* This API does not support setting autoResubscribe to NO in the
* CHIPSubscribeParams.
*/
-- (void)subscribeAttributeHvacSystemTypeConfigurationWithMinInterval:(NSNumber * _Nonnull)minInterval
+- (void)subscribeAttributeHVACSystemTypeConfigurationWithMinInterval:(NSNumber * _Nonnull)minInterval
maxInterval:(NSNumber * _Nonnull)maxInterval
params:(CHIPSubscribeParams * _Nullable)params
subscriptionEstablished:
(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
reportHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))reportHandler;
-+ (void)readAttributeHvacSystemTypeConfigurationWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
++ (void)readAttributeHVACSystemTypeConfigurationWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
endpoint:(NSNumber *)endpoint
queue:(dispatch_queue_t)queue
completionHandler:(void (^)(NSNumber * _Nullable value,
@@ -18125,9 +18125,9 @@ NS_ASSUME_NONNULL_BEGIN
- (void)readAttributeTemperatureSetpointHoldDurationWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler;
-- (void)writeAttributeTemperatureSetpointHoldDurationWithValue:(NSNumber * _Nonnull)value
+- (void)writeAttributeTemperatureSetpointHoldDurationWithValue:(NSNumber * _Nullable)value
completionHandler:(StatusCompletion)completionHandler;
-- (void)writeAttributeTemperatureSetpointHoldDurationWithValue:(NSNumber * _Nonnull)value
+- (void)writeAttributeTemperatureSetpointHoldDurationWithValue:(NSNumber * _Nullable)value
params:(CHIPWriteParams * _Nullable)params
completionHandler:(StatusCompletion)completionHandler;
/**
@@ -18247,168 +18247,308 @@ NS_ASSUME_NONNULL_BEGIN
completionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler;
-- (void)readAttributeAcTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
-- (void)writeAttributeAcTypeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
-- (void)writeAttributeAcTypeWithValue:(NSNumber * _Nonnull)value
+- (void)readAttributeOccupiedSetbackWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+ NSError * _Nullable error))completionHandler;
+- (void)writeAttributeOccupiedSetbackWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeOccupiedSetbackWithValue:(NSNumber * _Nullable)value
+ params:(CHIPWriteParams * _Nullable)params
+ completionHandler:(StatusCompletion)completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * CHIPSubscribeParams.
+ */
+- (void)subscribeAttributeOccupiedSetbackWithMinInterval:(NSNumber * _Nonnull)minInterval
+ maxInterval:(NSNumber * _Nonnull)maxInterval
+ params:(CHIPSubscribeParams * _Nullable)params
+ subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+ reportHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeOccupiedSetbackWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
+ endpoint:(NSNumber *)endpoint
+ queue:(dispatch_queue_t)queue
+ completionHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeOccupiedSetbackMinWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+ NSError * _Nullable error))completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * CHIPSubscribeParams.
+ */
+- (void)subscribeAttributeOccupiedSetbackMinWithMinInterval:(NSNumber * _Nonnull)minInterval
+ maxInterval:(NSNumber * _Nonnull)maxInterval
+ params:(CHIPSubscribeParams * _Nullable)params
+ subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+ reportHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeOccupiedSetbackMinWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
+ endpoint:(NSNumber *)endpoint
+ queue:(dispatch_queue_t)queue
+ completionHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeOccupiedSetbackMaxWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+ NSError * _Nullable error))completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * CHIPSubscribeParams.
+ */
+- (void)subscribeAttributeOccupiedSetbackMaxWithMinInterval:(NSNumber * _Nonnull)minInterval
+ maxInterval:(NSNumber * _Nonnull)maxInterval
+ params:(CHIPSubscribeParams * _Nullable)params
+ subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+ reportHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeOccupiedSetbackMaxWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
+ endpoint:(NSNumber *)endpoint
+ queue:(dispatch_queue_t)queue
+ completionHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeUnoccupiedSetbackWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+ NSError * _Nullable error))completionHandler;
+- (void)writeAttributeUnoccupiedSetbackWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeUnoccupiedSetbackWithValue:(NSNumber * _Nullable)value
+ params:(CHIPWriteParams * _Nullable)params
+ completionHandler:(StatusCompletion)completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * CHIPSubscribeParams.
+ */
+- (void)subscribeAttributeUnoccupiedSetbackWithMinInterval:(NSNumber * _Nonnull)minInterval
+ maxInterval:(NSNumber * _Nonnull)maxInterval
+ params:(CHIPSubscribeParams * _Nullable)params
+ subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+ reportHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeUnoccupiedSetbackWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
+ endpoint:(NSNumber *)endpoint
+ queue:(dispatch_queue_t)queue
+ completionHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeUnoccupiedSetbackMinWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+ NSError * _Nullable error))completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * CHIPSubscribeParams.
+ */
+- (void)subscribeAttributeUnoccupiedSetbackMinWithMinInterval:(NSNumber * _Nonnull)minInterval
+ maxInterval:(NSNumber * _Nonnull)maxInterval
+ params:(CHIPSubscribeParams * _Nullable)params
+ subscriptionEstablished:
+ (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+ reportHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeUnoccupiedSetbackMinWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
+ endpoint:(NSNumber *)endpoint
+ queue:(dispatch_queue_t)queue
+ completionHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeUnoccupiedSetbackMaxWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+ NSError * _Nullable error))completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * CHIPSubscribeParams.
+ */
+- (void)subscribeAttributeUnoccupiedSetbackMaxWithMinInterval:(NSNumber * _Nonnull)minInterval
+ maxInterval:(NSNumber * _Nonnull)maxInterval
+ params:(CHIPSubscribeParams * _Nullable)params
+ subscriptionEstablished:
+ (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+ reportHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeUnoccupiedSetbackMaxWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
+ endpoint:(NSNumber *)endpoint
+ queue:(dispatch_queue_t)queue
+ completionHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeEmergencyHeatDeltaWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+ NSError * _Nullable error))completionHandler;
+- (void)writeAttributeEmergencyHeatDeltaWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeEmergencyHeatDeltaWithValue:(NSNumber * _Nonnull)value
+ params:(CHIPWriteParams * _Nullable)params
+ completionHandler:(StatusCompletion)completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * CHIPSubscribeParams.
+ */
+- (void)subscribeAttributeEmergencyHeatDeltaWithMinInterval:(NSNumber * _Nonnull)minInterval
+ maxInterval:(NSNumber * _Nonnull)maxInterval
+ params:(CHIPSubscribeParams * _Nullable)params
+ subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+ reportHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeEmergencyHeatDeltaWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
+ endpoint:(NSNumber *)endpoint
+ queue:(dispatch_queue_t)queue
+ completionHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeACTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+- (void)writeAttributeACTypeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeACTypeWithValue:(NSNumber * _Nonnull)value
params:(CHIPWriteParams * _Nullable)params
completionHandler:(StatusCompletion)completionHandler;
/**
* This API does not support setting autoResubscribe to NO in the
* CHIPSubscribeParams.
*/
-- (void)subscribeAttributeAcTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
+- (void)subscribeAttributeACTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
maxInterval:(NSNumber * _Nonnull)maxInterval
params:(CHIPSubscribeParams * _Nullable)params
subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
-+ (void)readAttributeAcTypeWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
++ (void)readAttributeACTypeWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
endpoint:(NSNumber *)endpoint
queue:(dispatch_queue_t)queue
completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
-- (void)readAttributeAcCapacityWithCompletionHandler:(void (^)(
+- (void)readAttributeACCapacityWithCompletionHandler:(void (^)(
NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
-- (void)writeAttributeAcCapacityWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
-- (void)writeAttributeAcCapacityWithValue:(NSNumber * _Nonnull)value
+- (void)writeAttributeACCapacityWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeACCapacityWithValue:(NSNumber * _Nonnull)value
params:(CHIPWriteParams * _Nullable)params
completionHandler:(StatusCompletion)completionHandler;
/**
* This API does not support setting autoResubscribe to NO in the
* CHIPSubscribeParams.
*/
-- (void)subscribeAttributeAcCapacityWithMinInterval:(NSNumber * _Nonnull)minInterval
+- (void)subscribeAttributeACCapacityWithMinInterval:(NSNumber * _Nonnull)minInterval
maxInterval:(NSNumber * _Nonnull)maxInterval
params:(CHIPSubscribeParams * _Nullable)params
subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
-+ (void)readAttributeAcCapacityWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
++ (void)readAttributeACCapacityWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
endpoint:(NSNumber *)endpoint
queue:(dispatch_queue_t)queue
completionHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
-- (void)readAttributeAcRefrigerantTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+- (void)readAttributeACRefrigerantTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler;
-- (void)writeAttributeAcRefrigerantTypeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
-- (void)writeAttributeAcRefrigerantTypeWithValue:(NSNumber * _Nonnull)value
+- (void)writeAttributeACRefrigerantTypeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeACRefrigerantTypeWithValue:(NSNumber * _Nonnull)value
params:(CHIPWriteParams * _Nullable)params
completionHandler:(StatusCompletion)completionHandler;
/**
* This API does not support setting autoResubscribe to NO in the
* CHIPSubscribeParams.
*/
-- (void)subscribeAttributeAcRefrigerantTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
+- (void)subscribeAttributeACRefrigerantTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
maxInterval:(NSNumber * _Nonnull)maxInterval
params:(CHIPSubscribeParams * _Nullable)params
subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
reportHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
-+ (void)readAttributeAcRefrigerantTypeWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
++ (void)readAttributeACRefrigerantTypeWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
endpoint:(NSNumber *)endpoint
queue:(dispatch_queue_t)queue
completionHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
-- (void)readAttributeAcCompressorTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+- (void)readAttributeACCompressorTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler;
-- (void)writeAttributeAcCompressorTypeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
-- (void)writeAttributeAcCompressorTypeWithValue:(NSNumber * _Nonnull)value
+- (void)writeAttributeACCompressorTypeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeACCompressorTypeWithValue:(NSNumber * _Nonnull)value
params:(CHIPWriteParams * _Nullable)params
completionHandler:(StatusCompletion)completionHandler;
/**
* This API does not support setting autoResubscribe to NO in the
* CHIPSubscribeParams.
*/
-- (void)subscribeAttributeAcCompressorTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
+- (void)subscribeAttributeACCompressorTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
maxInterval:(NSNumber * _Nonnull)maxInterval
params:(CHIPSubscribeParams * _Nullable)params
subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
reportHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
-+ (void)readAttributeAcCompressorTypeWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
++ (void)readAttributeACCompressorTypeWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
endpoint:(NSNumber *)endpoint
queue:(dispatch_queue_t)queue
completionHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
-- (void)readAttributeAcErrorCodeWithCompletionHandler:(void (^)(
+- (void)readAttributeACErrorCodeWithCompletionHandler:(void (^)(
NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
-- (void)writeAttributeAcErrorCodeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
-- (void)writeAttributeAcErrorCodeWithValue:(NSNumber * _Nonnull)value
+- (void)writeAttributeACErrorCodeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeACErrorCodeWithValue:(NSNumber * _Nonnull)value
params:(CHIPWriteParams * _Nullable)params
completionHandler:(StatusCompletion)completionHandler;
/**
* This API does not support setting autoResubscribe to NO in the
* CHIPSubscribeParams.
*/
-- (void)subscribeAttributeAcErrorCodeWithMinInterval:(NSNumber * _Nonnull)minInterval
+- (void)subscribeAttributeACErrorCodeWithMinInterval:(NSNumber * _Nonnull)minInterval
maxInterval:(NSNumber * _Nonnull)maxInterval
params:(CHIPSubscribeParams * _Nullable)params
subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
-+ (void)readAttributeAcErrorCodeWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
++ (void)readAttributeACErrorCodeWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
endpoint:(NSNumber *)endpoint
queue:(dispatch_queue_t)queue
completionHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
-- (void)readAttributeAcLouverPositionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+- (void)readAttributeACLouverPositionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler;
-- (void)writeAttributeAcLouverPositionWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
-- (void)writeAttributeAcLouverPositionWithValue:(NSNumber * _Nonnull)value
+- (void)writeAttributeACLouverPositionWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeACLouverPositionWithValue:(NSNumber * _Nonnull)value
params:(CHIPWriteParams * _Nullable)params
completionHandler:(StatusCompletion)completionHandler;
/**
* This API does not support setting autoResubscribe to NO in the
* CHIPSubscribeParams.
*/
-- (void)subscribeAttributeAcLouverPositionWithMinInterval:(NSNumber * _Nonnull)minInterval
+- (void)subscribeAttributeACLouverPositionWithMinInterval:(NSNumber * _Nonnull)minInterval
maxInterval:(NSNumber * _Nonnull)maxInterval
params:(CHIPSubscribeParams * _Nullable)params
subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
reportHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
-+ (void)readAttributeAcLouverPositionWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
++ (void)readAttributeACLouverPositionWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
endpoint:(NSNumber *)endpoint
queue:(dispatch_queue_t)queue
completionHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
-- (void)readAttributeAcCoilTemperatureWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+- (void)readAttributeACCoilTemperatureWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler;
/**
* This API does not support setting autoResubscribe to NO in the
* CHIPSubscribeParams.
*/
-- (void)subscribeAttributeAcCoilTemperatureWithMinInterval:(NSNumber * _Nonnull)minInterval
+- (void)subscribeAttributeACCoilTemperatureWithMinInterval:(NSNumber * _Nonnull)minInterval
maxInterval:(NSNumber * _Nonnull)maxInterval
params:(CHIPSubscribeParams * _Nullable)params
subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
reportHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
-+ (void)readAttributeAcCoilTemperatureWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
++ (void)readAttributeACCoilTemperatureWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
endpoint:(NSNumber *)endpoint
queue:(dispatch_queue_t)queue
completionHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
-- (void)readAttributeAcCapacityFormatWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+- (void)readAttributeACCapacityformatWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler;
-- (void)writeAttributeAcCapacityFormatWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
-- (void)writeAttributeAcCapacityFormatWithValue:(NSNumber * _Nonnull)value
+- (void)writeAttributeACCapacityformatWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeACCapacityformatWithValue:(NSNumber * _Nonnull)value
params:(CHIPWriteParams * _Nullable)params
completionHandler:(StatusCompletion)completionHandler;
/**
* This API does not support setting autoResubscribe to NO in the
* CHIPSubscribeParams.
*/
-- (void)subscribeAttributeAcCapacityFormatWithMinInterval:(NSNumber * _Nonnull)minInterval
+- (void)subscribeAttributeACCapacityformatWithMinInterval:(NSNumber * _Nonnull)minInterval
maxInterval:(NSNumber * _Nonnull)maxInterval
params:(CHIPSubscribeParams * _Nullable)params
subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
reportHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
-+ (void)readAttributeAcCapacityFormatWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
++ (void)readAttributeACCapacityformatWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
endpoint:(NSNumber *)endpoint
queue:(dispatch_queue_t)queue
completionHandler:
diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm
index 5ba22ea5618b66..bd9a597b6091b6 100644
--- a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm
@@ -68510,25 +68510,37 @@ - (void)setWeeklyScheduleWithParams:(CHIPThermostatClusterSetWeeklyScheduleParam
request.modeForSequence
= static_cast>(params.modeForSequence.unsignedCharValue);
{
- using ListType_0 = std::remove_reference_t;
+ using ListType_0 = std::remove_reference_t;
using ListMemberType_0 = ListMemberTypeGetter::Type;
- if (params.payload.count != 0) {
- auto * listHolder_0 = new ListHolder(params.payload.count);
+ if (params.transitions.count != 0) {
+ auto * listHolder_0 = new ListHolder(params.transitions.count);
if (listHolder_0 == nullptr || listHolder_0->mList == nullptr) {
return;
}
listFreer.add(listHolder_0);
- for (size_t i_0 = 0; i_0 < params.payload.count; ++i_0) {
- if (![params.payload[i_0] isKindOfClass:[NSNumber class]]) {
+ for (size_t i_0 = 0; i_0 < params.transitions.count; ++i_0) {
+ if (![params.transitions[i_0] isKindOfClass:[CHIPThermostatClusterThermostatScheduleTransition class]]) {
// Wrong kind of value.
return;
}
- auto element_0 = (NSNumber *) params.payload[i_0];
- listHolder_0->mList[i_0] = element_0.unsignedCharValue;
+ auto element_0 = (CHIPThermostatClusterThermostatScheduleTransition *) params.transitions[i_0];
+ listHolder_0->mList[i_0].transitionTime = element_0.transitionTime.unsignedShortValue;
+ if (element_0.heatSetpoint == nil) {
+ listHolder_0->mList[i_0].heatSetpoint.SetNull();
+ } else {
+ auto & nonNullValue_2 = listHolder_0->mList[i_0].heatSetpoint.SetNonNull();
+ nonNullValue_2 = element_0.heatSetpoint.shortValue;
+ }
+ if (element_0.coolSetpoint == nil) {
+ listHolder_0->mList[i_0].coolSetpoint.SetNull();
+ } else {
+ auto & nonNullValue_2 = listHolder_0->mList[i_0].coolSetpoint.SetNonNull();
+ nonNullValue_2 = element_0.coolSetpoint.shortValue;
+ }
}
- request.payload = ListType_0(listHolder_0->mList, params.payload.count);
+ request.transitions = ListType_0(listHolder_0->mList, params.transitions.count);
} else {
- request.payload = ListType_0();
+ request.transitions = ListType_0();
}
}
@@ -68630,12 +68642,13 @@ new CHIPThermostatClusterGetRelayStatusLogResponseCallbackBridge(
- (void)readAttributeLocalTemperatureWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler
{
- new CHIPInt16sAttributeCallbackBridge(self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
- using TypeInfo = Thermostat::Attributes::LocalTemperature::TypeInfo;
- auto successFn = Callback::FromCancelable(success);
- auto failureFn = Callback::FromCancelable(failure);
- return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
- });
+ new CHIPNullableInt16sAttributeCallbackBridge(
+ self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ using TypeInfo = Thermostat::Attributes::LocalTemperature::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
+ });
}
- (void)subscribeAttributeLocalTemperatureWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -68645,7 +68658,7 @@ - (void)subscribeAttributeLocalTemperatureWithMinInterval:(NSNumber * _Nonnull)m
reportHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler
{
- new CHIPInt16sAttributeCallbackSubscriptionBridge(
+ new CHIPNullableInt16sAttributeCallbackSubscriptionBridge(
self.callbackQueue, reportHandler,
^(Cancelable * success, Cancelable * failure) {
if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) {
@@ -68653,11 +68666,11 @@ new CHIPInt16sAttributeCallbackSubscriptionBridge(
return CHIP_ERROR_INVALID_ARGUMENT;
}
using TypeInfo = Thermostat::Attributes::LocalTemperature::TypeInfo;
- auto successFn = Callback::FromCancelable(success);
+ auto successFn = Callback::FromCancelable(success);
auto failureFn = Callback::FromCancelable(failure);
return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall,
[minInterval unsignedShortValue], [maxInterval unsignedShortValue],
- CHIPInt16sAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
+ CHIPNullableInt16sAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
params == nil || params.fabricFiltered == nil || [params.fabricFiltered boolValue],
params != nil && params.keepPreviousSubscriptions != nil && [params.keepPreviousSubscriptions boolValue]);
},
@@ -68670,7 +68683,7 @@ + (void)readAttributeLocalTemperatureWithAttributeCache:(CHIPAttributeCacheConta
completionHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
{
- new CHIPInt16sAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ new CHIPNullableInt16sAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
if (attributeCacheContainer.cppAttributeCache) {
chip::app::ConcreteAttributePath path;
using TypeInfo = Thermostat::Attributes::LocalTemperature::TypeInfo;
@@ -68679,7 +68692,7 @@ new CHIPInt16sAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * s
path.mAttributeId = TypeInfo::GetAttributeId();
TypeInfo::DecodableType value;
CHIP_ERROR err = attributeCacheContainer.cppAttributeCache->Get(path, value);
- auto successFn = Callback::FromCancelable(success);
+ auto successFn = Callback::FromCancelable(success);
if (err == CHIP_NO_ERROR) {
successFn->mCall(successFn->mContext, value);
}
@@ -68692,12 +68705,13 @@ new CHIPInt16sAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * s
- (void)readAttributeOutdoorTemperatureWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler
{
- new CHIPInt16sAttributeCallbackBridge(self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
- using TypeInfo = Thermostat::Attributes::OutdoorTemperature::TypeInfo;
- auto successFn = Callback::FromCancelable(success);
- auto failureFn = Callback::FromCancelable(failure);
- return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
- });
+ new CHIPNullableInt16sAttributeCallbackBridge(
+ self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ using TypeInfo = Thermostat::Attributes::OutdoorTemperature::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
+ });
}
- (void)subscribeAttributeOutdoorTemperatureWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -68707,7 +68721,7 @@ - (void)subscribeAttributeOutdoorTemperatureWithMinInterval:(NSNumber * _Nonnull
reportHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler
{
- new CHIPInt16sAttributeCallbackSubscriptionBridge(
+ new CHIPNullableInt16sAttributeCallbackSubscriptionBridge(
self.callbackQueue, reportHandler,
^(Cancelable * success, Cancelable * failure) {
if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) {
@@ -68715,11 +68729,11 @@ new CHIPInt16sAttributeCallbackSubscriptionBridge(
return CHIP_ERROR_INVALID_ARGUMENT;
}
using TypeInfo = Thermostat::Attributes::OutdoorTemperature::TypeInfo;
- auto successFn = Callback::FromCancelable(success);
+ auto successFn = Callback::FromCancelable(success);
auto failureFn = Callback::FromCancelable(failure);
return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall,
[minInterval unsignedShortValue], [maxInterval unsignedShortValue],
- CHIPInt16sAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
+ CHIPNullableInt16sAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
params == nil || params.fabricFiltered == nil || [params.fabricFiltered boolValue],
params != nil && params.keepPreviousSubscriptions != nil && [params.keepPreviousSubscriptions boolValue]);
},
@@ -68732,7 +68746,7 @@ + (void)readAttributeOutdoorTemperatureWithAttributeCache:(CHIPAttributeCacheCon
completionHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
{
- new CHIPInt16sAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ new CHIPNullableInt16sAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
if (attributeCacheContainer.cppAttributeCache) {
chip::app::ConcreteAttributePath path;
using TypeInfo = Thermostat::Attributes::OutdoorTemperature::TypeInfo;
@@ -68741,7 +68755,7 @@ new CHIPInt16sAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * s
path.mAttributeId = TypeInfo::GetAttributeId();
TypeInfo::DecodableType value;
CHIP_ERROR err = attributeCacheContainer.cppAttributeCache->Get(path, value);
- auto successFn = Callback::FromCancelable(success);
+ auto successFn = Callback::FromCancelable(success);
if (err == CHIP_NO_ERROR) {
successFn->mCall(successFn->mContext, value);
}
@@ -69063,18 +69077,18 @@ new CHIPInt16sAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * s
});
}
-- (void)readAttributePiCoolingDemandWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+- (void)readAttributePICoolingDemandWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler
{
new CHIPInt8uAttributeCallbackBridge(self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
- using TypeInfo = Thermostat::Attributes::PiCoolingDemand::TypeInfo;
+ using TypeInfo = Thermostat::Attributes::PICoolingDemand::TypeInfo;
auto successFn = Callback::FromCancelable(success);
auto failureFn = Callback::FromCancelable(failure);
return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
});
}
-- (void)subscribeAttributePiCoolingDemandWithMinInterval:(NSNumber * _Nonnull)minInterval
+- (void)subscribeAttributePICoolingDemandWithMinInterval:(NSNumber * _Nonnull)minInterval
maxInterval:(NSNumber * _Nonnull)maxInterval
params:(CHIPSubscribeParams * _Nullable)params
subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
@@ -69088,7 +69102,7 @@ new CHIPInt8uAttributeCallbackSubscriptionBridge(
// We don't support disabling auto-resubscribe.
return CHIP_ERROR_INVALID_ARGUMENT;
}
- using TypeInfo = Thermostat::Attributes::PiCoolingDemand::TypeInfo;
+ using TypeInfo = Thermostat::Attributes::PICoolingDemand::TypeInfo;
auto successFn = Callback::FromCancelable(success);
auto failureFn = Callback::FromCancelable(failure);
return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall,
@@ -69100,7 +69114,7 @@ new CHIPInt8uAttributeCallbackSubscriptionBridge(
subscriptionEstablishedHandler);
}
-+ (void)readAttributePiCoolingDemandWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
++ (void)readAttributePICoolingDemandWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
endpoint:(NSNumber *)endpoint
queue:(dispatch_queue_t)queue
completionHandler:
@@ -69109,7 +69123,7 @@ + (void)readAttributePiCoolingDemandWithAttributeCache:(CHIPAttributeCacheContai
new CHIPInt8uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
if (attributeCacheContainer.cppAttributeCache) {
chip::app::ConcreteAttributePath path;
- using TypeInfo = Thermostat::Attributes::PiCoolingDemand::TypeInfo;
+ using TypeInfo = Thermostat::Attributes::PICoolingDemand::TypeInfo;
path.mEndpointId = static_cast([endpoint unsignedShortValue]);
path.mClusterId = TypeInfo::GetClusterId();
path.mAttributeId = TypeInfo::GetAttributeId();
@@ -69125,18 +69139,18 @@ new CHIPInt8uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * su
});
}
-- (void)readAttributePiHeatingDemandWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+- (void)readAttributePIHeatingDemandWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler
{
new CHIPInt8uAttributeCallbackBridge(self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
- using TypeInfo = Thermostat::Attributes::PiHeatingDemand::TypeInfo;
+ using TypeInfo = Thermostat::Attributes::PIHeatingDemand::TypeInfo;
auto successFn = Callback::FromCancelable(success);
auto failureFn = Callback::FromCancelable(failure);
return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
});
}
-- (void)subscribeAttributePiHeatingDemandWithMinInterval:(NSNumber * _Nonnull)minInterval
+- (void)subscribeAttributePIHeatingDemandWithMinInterval:(NSNumber * _Nonnull)minInterval
maxInterval:(NSNumber * _Nonnull)maxInterval
params:(CHIPSubscribeParams * _Nullable)params
subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
@@ -69150,7 +69164,7 @@ new CHIPInt8uAttributeCallbackSubscriptionBridge(
// We don't support disabling auto-resubscribe.
return CHIP_ERROR_INVALID_ARGUMENT;
}
- using TypeInfo = Thermostat::Attributes::PiHeatingDemand::TypeInfo;
+ using TypeInfo = Thermostat::Attributes::PIHeatingDemand::TypeInfo;
auto successFn = Callback::FromCancelable(success);
auto failureFn = Callback::FromCancelable(failure);
return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall,
@@ -69162,7 +69176,7 @@ new CHIPInt8uAttributeCallbackSubscriptionBridge(
subscriptionEstablishedHandler);
}
-+ (void)readAttributePiHeatingDemandWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
++ (void)readAttributePIHeatingDemandWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
endpoint:(NSNumber *)endpoint
queue:(dispatch_queue_t)queue
completionHandler:
@@ -69171,7 +69185,7 @@ + (void)readAttributePiHeatingDemandWithAttributeCache:(CHIPAttributeCacheContai
new CHIPInt8uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
if (attributeCacheContainer.cppAttributeCache) {
chip::app::ConcreteAttributePath path;
- using TypeInfo = Thermostat::Attributes::PiHeatingDemand::TypeInfo;
+ using TypeInfo = Thermostat::Attributes::PIHeatingDemand::TypeInfo;
path.mEndpointId = static_cast([endpoint unsignedShortValue]);
path.mClusterId = TypeInfo::GetClusterId();
path.mAttributeId = TypeInfo::GetAttributeId();
@@ -69187,25 +69201,25 @@ new CHIPInt8uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * su
});
}
-- (void)readAttributeHvacSystemTypeConfigurationWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+- (void)readAttributeHVACSystemTypeConfigurationWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler
{
new CHIPInt8uAttributeCallbackBridge(self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
- using TypeInfo = Thermostat::Attributes::HvacSystemTypeConfiguration::TypeInfo;
+ using TypeInfo = Thermostat::Attributes::HVACSystemTypeConfiguration::TypeInfo;
auto successFn = Callback::FromCancelable(success);
auto failureFn = Callback::FromCancelable(failure);
return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
});
}
-- (void)writeAttributeHvacSystemTypeConfigurationWithValue:(NSNumber * _Nonnull)value
+- (void)writeAttributeHVACSystemTypeConfigurationWithValue:(NSNumber * _Nonnull)value
completionHandler:(StatusCompletion)completionHandler
{
- [self writeAttributeHvacSystemTypeConfigurationWithValue:(NSNumber * _Nonnull) value
+ [self writeAttributeHVACSystemTypeConfigurationWithValue:(NSNumber * _Nonnull) value
params:nil
completionHandler:completionHandler];
}
-- (void)writeAttributeHvacSystemTypeConfigurationWithValue:(NSNumber * _Nonnull)value
+- (void)writeAttributeHVACSystemTypeConfigurationWithValue:(NSNumber * _Nonnull)value
params:(CHIPWriteParams * _Nullable)params
completionHandler:(StatusCompletion)completionHandler
{
@@ -69223,7 +69237,7 @@ new CHIPDefaultSuccessCallbackBridge(
},
^(Cancelable * success, Cancelable * failure) {
ListFreer listFreer;
- using TypeInfo = Thermostat::Attributes::HvacSystemTypeConfiguration::TypeInfo;
+ using TypeInfo = Thermostat::Attributes::HVACSystemTypeConfiguration::TypeInfo;
TypeInfo::Type cppValue;
cppValue = value.unsignedCharValue;
auto successFn = Callback::FromCancelable(success);
@@ -69233,7 +69247,7 @@ new CHIPDefaultSuccessCallbackBridge(
});
}
-- (void)subscribeAttributeHvacSystemTypeConfigurationWithMinInterval:(NSNumber * _Nonnull)minInterval
+- (void)subscribeAttributeHVACSystemTypeConfigurationWithMinInterval:(NSNumber * _Nonnull)minInterval
maxInterval:(NSNumber * _Nonnull)maxInterval
params:(CHIPSubscribeParams * _Nullable)params
subscriptionEstablished:
@@ -69248,7 +69262,7 @@ new CHIPInt8uAttributeCallbackSubscriptionBridge(
// We don't support disabling auto-resubscribe.
return CHIP_ERROR_INVALID_ARGUMENT;
}
- using TypeInfo = Thermostat::Attributes::HvacSystemTypeConfiguration::TypeInfo;
+ using TypeInfo = Thermostat::Attributes::HVACSystemTypeConfiguration::TypeInfo;
auto successFn = Callback::FromCancelable(success);
auto failureFn = Callback::FromCancelable(failure);
return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall,
@@ -69260,7 +69274,7 @@ new CHIPInt8uAttributeCallbackSubscriptionBridge(
subscriptionEstablishedHandler);
}
-+ (void)readAttributeHvacSystemTypeConfigurationWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
++ (void)readAttributeHVACSystemTypeConfigurationWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
endpoint:(NSNumber *)endpoint
queue:(dispatch_queue_t)queue
completionHandler:(void (^)(NSNumber * _Nullable value,
@@ -69269,7 +69283,7 @@ + (void)readAttributeHvacSystemTypeConfigurationWithAttributeCache:(CHIPAttribut
new CHIPInt8uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
if (attributeCacheContainer.cppAttributeCache) {
chip::app::ConcreteAttributePath path;
- using TypeInfo = Thermostat::Attributes::HvacSystemTypeConfiguration::TypeInfo;
+ using TypeInfo = Thermostat::Attributes::HVACSystemTypeConfiguration::TypeInfo;
path.mEndpointId = static_cast([endpoint unsignedShortValue]);
path.mClusterId = TypeInfo::GetClusterId();
path.mAttributeId = TypeInfo::GetAttributeId();
@@ -70947,22 +70961,23 @@ new CHIPInt8uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * su
- (void)readAttributeTemperatureSetpointHoldDurationWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler
{
- new CHIPInt16uAttributeCallbackBridge(self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
- using TypeInfo = Thermostat::Attributes::TemperatureSetpointHoldDuration::TypeInfo;
- auto successFn = Callback::FromCancelable(success);
- auto failureFn = Callback::FromCancelable(failure);
- return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
- });
+ new CHIPNullableInt16uAttributeCallbackBridge(
+ self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ using TypeInfo = Thermostat::Attributes::TemperatureSetpointHoldDuration::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
+ });
}
-- (void)writeAttributeTemperatureSetpointHoldDurationWithValue:(NSNumber * _Nonnull)value
+- (void)writeAttributeTemperatureSetpointHoldDurationWithValue:(NSNumber * _Nullable)value
completionHandler:(StatusCompletion)completionHandler
{
- [self writeAttributeTemperatureSetpointHoldDurationWithValue:(NSNumber * _Nonnull) value
+ [self writeAttributeTemperatureSetpointHoldDurationWithValue:(NSNumber * _Nullable) value
params:nil
completionHandler:completionHandler];
}
-- (void)writeAttributeTemperatureSetpointHoldDurationWithValue:(NSNumber * _Nonnull)value
+- (void)writeAttributeTemperatureSetpointHoldDurationWithValue:(NSNumber * _Nullable)value
params:(CHIPWriteParams * _Nullable)params
completionHandler:(StatusCompletion)completionHandler
{
@@ -70982,7 +70997,12 @@ new CHIPDefaultSuccessCallbackBridge(
ListFreer listFreer;
using TypeInfo = Thermostat::Attributes::TemperatureSetpointHoldDuration::TypeInfo;
TypeInfo::Type cppValue;
- cppValue = value.unsignedShortValue;
+ if (value == nil) {
+ cppValue.SetNull();
+ } else {
+ auto & nonNullValue_0 = cppValue.SetNonNull();
+ nonNullValue_0 = value.unsignedShortValue;
+ }
auto successFn = Callback::FromCancelable(success);
auto failureFn = Callback::FromCancelable(failure);
return self.cppCluster.WriteAttribute(
@@ -70998,7 +71018,7 @@ - (void)subscribeAttributeTemperatureSetpointHoldDurationWithMinInterval:(NSNumb
reportHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))reportHandler
{
- new CHIPInt16uAttributeCallbackSubscriptionBridge(
+ new CHIPNullableInt16uAttributeCallbackSubscriptionBridge(
self.callbackQueue, reportHandler,
^(Cancelable * success, Cancelable * failure) {
if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) {
@@ -71006,11 +71026,11 @@ new CHIPInt16uAttributeCallbackSubscriptionBridge(
return CHIP_ERROR_INVALID_ARGUMENT;
}
using TypeInfo = Thermostat::Attributes::TemperatureSetpointHoldDuration::TypeInfo;
- auto successFn = Callback::FromCancelable(success);
+ auto successFn = Callback::FromCancelable(success);
auto failureFn = Callback::FromCancelable(failure);
return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall,
[minInterval unsignedShortValue], [maxInterval unsignedShortValue],
- CHIPInt16uAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
+ CHIPNullableInt16uAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
params == nil || params.fabricFiltered == nil || [params.fabricFiltered boolValue],
params != nil && params.keepPreviousSubscriptions != nil && [params.keepPreviousSubscriptions boolValue]);
},
@@ -71023,7 +71043,7 @@ + (void)readAttributeTemperatureSetpointHoldDurationWithAttributeCache:(CHIPAttr
completionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler
{
- new CHIPInt16uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ new CHIPNullableInt16uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
if (attributeCacheContainer.cppAttributeCache) {
chip::app::ConcreteAttributePath path;
using TypeInfo = Thermostat::Attributes::TemperatureSetpointHoldDuration::TypeInfo;
@@ -71032,7 +71052,7 @@ new CHIPInt16uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * s
path.mAttributeId = TypeInfo::GetAttributeId();
TypeInfo::DecodableType value;
CHIP_ERROR err = attributeCacheContainer.cppAttributeCache->Get(path, value);
- auto successFn = Callback::FromCancelable(success);
+ auto successFn = Callback::FromCancelable(success);
if (err == CHIP_NO_ERROR) {
successFn->mCall(successFn->mContext, value);
}
@@ -71269,12 +71289,13 @@ new CHIPInt8uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * su
- (void)readAttributeSetpointChangeAmountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler
{
- new CHIPInt16sAttributeCallbackBridge(self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
- using TypeInfo = Thermostat::Attributes::SetpointChangeAmount::TypeInfo;
- auto successFn = Callback::FromCancelable(success);
- auto failureFn = Callback::FromCancelable(failure);
- return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
- });
+ new CHIPNullableInt16sAttributeCallbackBridge(
+ self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ using TypeInfo = Thermostat::Attributes::SetpointChangeAmount::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
+ });
}
- (void)subscribeAttributeSetpointChangeAmountWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -71285,7 +71306,7 @@ - (void)subscribeAttributeSetpointChangeAmountWithMinInterval:(NSNumber * _Nonnu
reportHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler
{
- new CHIPInt16sAttributeCallbackSubscriptionBridge(
+ new CHIPNullableInt16sAttributeCallbackSubscriptionBridge(
self.callbackQueue, reportHandler,
^(Cancelable * success, Cancelable * failure) {
if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) {
@@ -71293,11 +71314,11 @@ new CHIPInt16sAttributeCallbackSubscriptionBridge(
return CHIP_ERROR_INVALID_ARGUMENT;
}
using TypeInfo = Thermostat::Attributes::SetpointChangeAmount::TypeInfo;
- auto successFn = Callback::FromCancelable(success);
+ auto successFn = Callback::FromCancelable(success);
auto failureFn = Callback::FromCancelable(failure);
return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall,
[minInterval unsignedShortValue], [maxInterval unsignedShortValue],
- CHIPInt16sAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
+ CHIPNullableInt16sAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
params == nil || params.fabricFiltered == nil || [params.fabricFiltered boolValue],
params != nil && params.keepPreviousSubscriptions != nil && [params.keepPreviousSubscriptions boolValue]);
},
@@ -71310,7 +71331,7 @@ + (void)readAttributeSetpointChangeAmountWithAttributeCache:(CHIPAttributeCacheC
completionHandler:
(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
{
- new CHIPInt16sAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ new CHIPNullableInt16sAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
if (attributeCacheContainer.cppAttributeCache) {
chip::app::ConcreteAttributePath path;
using TypeInfo = Thermostat::Attributes::SetpointChangeAmount::TypeInfo;
@@ -71319,7 +71340,7 @@ new CHIPInt16sAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * s
path.mAttributeId = TypeInfo::GetAttributeId();
TypeInfo::DecodableType value;
CHIP_ERROR err = attributeCacheContainer.cppAttributeCache->Get(path, value);
- auto successFn = Callback::FromCancelable(success);
+ auto successFn = Callback::FromCancelable(success);
if (err == CHIP_NO_ERROR) {
successFn->mCall(successFn->mContext, value);
}
@@ -71392,23 +71413,25 @@ new CHIPInt32uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * s
});
}
-- (void)readAttributeAcTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
+- (void)readAttributeOccupiedSetbackWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+ NSError * _Nullable error))completionHandler
{
- new CHIPInt8uAttributeCallbackBridge(self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
- using TypeInfo = Thermostat::Attributes::AcType::TypeInfo;
- auto successFn = Callback::FromCancelable(success);
- auto failureFn = Callback::FromCancelable(failure);
- return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
- });
+ new CHIPNullableInt8uAttributeCallbackBridge(
+ self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ using TypeInfo = Thermostat::Attributes::OccupiedSetback::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
+ });
}
-- (void)writeAttributeAcTypeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler
+- (void)writeAttributeOccupiedSetbackWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler
{
- [self writeAttributeAcTypeWithValue:(NSNumber * _Nonnull) value params:nil completionHandler:completionHandler];
+ [self writeAttributeOccupiedSetbackWithValue:(NSNumber * _Nullable) value params:nil completionHandler:completionHandler];
}
-- (void)writeAttributeAcTypeWithValue:(NSNumber * _Nonnull)value
- params:(CHIPWriteParams * _Nullable)params
- completionHandler:(StatusCompletion)completionHandler
+- (void)writeAttributeOccupiedSetbackWithValue:(NSNumber * _Nullable)value
+ params:(CHIPWriteParams * _Nullable)params
+ completionHandler:(StatusCompletion)completionHandler
{
chip::Optional timedWriteTimeoutMs;
if (params != nil) {
@@ -71424,9 +71447,14 @@ new CHIPDefaultSuccessCallbackBridge(
},
^(Cancelable * success, Cancelable * failure) {
ListFreer listFreer;
- using TypeInfo = Thermostat::Attributes::AcType::TypeInfo;
+ using TypeInfo = Thermostat::Attributes::OccupiedSetback::TypeInfo;
TypeInfo::Type cppValue;
- cppValue = value.unsignedCharValue;
+ if (value == nil) {
+ cppValue.SetNull();
+ } else {
+ auto & nonNullValue_0 = cppValue.SetNonNull();
+ nonNullValue_0 = value.unsignedCharValue;
+ }
auto successFn = Callback::FromCancelable(success);
auto failureFn = Callback::FromCancelable(failure);
return self.cppCluster.WriteAttribute(
@@ -71434,46 +71462,48 @@ new CHIPDefaultSuccessCallbackBridge(
});
}
-- (void)subscribeAttributeAcTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
- maxInterval:(NSNumber * _Nonnull)maxInterval
- params:(CHIPSubscribeParams * _Nullable)params
- subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
- reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler
+- (void)subscribeAttributeOccupiedSetbackWithMinInterval:(NSNumber * _Nonnull)minInterval
+ maxInterval:(NSNumber * _Nonnull)maxInterval
+ params:(CHIPSubscribeParams * _Nullable)params
+ subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+ reportHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler
{
- new CHIPInt8uAttributeCallbackSubscriptionBridge(
+ new CHIPNullableInt8uAttributeCallbackSubscriptionBridge(
self.callbackQueue, reportHandler,
^(Cancelable * success, Cancelable * failure) {
if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) {
// We don't support disabling auto-resubscribe.
return CHIP_ERROR_INVALID_ARGUMENT;
}
- using TypeInfo = Thermostat::Attributes::AcType::TypeInfo;
- auto successFn = Callback::FromCancelable(success);
+ using TypeInfo = Thermostat::Attributes::OccupiedSetback::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
auto failureFn = Callback::FromCancelable(failure);
return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall,
[minInterval unsignedShortValue], [maxInterval unsignedShortValue],
- CHIPInt8uAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
+ CHIPNullableInt8uAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
params == nil || params.fabricFiltered == nil || [params.fabricFiltered boolValue],
params != nil && params.keepPreviousSubscriptions != nil && [params.keepPreviousSubscriptions boolValue]);
},
subscriptionEstablishedHandler);
}
-+ (void)readAttributeAcTypeWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
- endpoint:(NSNumber *)endpoint
- queue:(dispatch_queue_t)queue
- completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
++ (void)readAttributeOccupiedSetbackWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
+ endpoint:(NSNumber *)endpoint
+ queue:(dispatch_queue_t)queue
+ completionHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
{
- new CHIPInt8uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ new CHIPNullableInt8uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
if (attributeCacheContainer.cppAttributeCache) {
chip::app::ConcreteAttributePath path;
- using TypeInfo = Thermostat::Attributes::AcType::TypeInfo;
+ using TypeInfo = Thermostat::Attributes::OccupiedSetback::TypeInfo;
path.mEndpointId = static_cast([endpoint unsignedShortValue]);
path.mClusterId = TypeInfo::GetClusterId();
path.mAttributeId = TypeInfo::GetAttributeId();
TypeInfo::DecodableType value;
CHIP_ERROR err = attributeCacheContainer.cppAttributeCache->Get(path, value);
- auto successFn = Callback::FromCancelable(success);
+ auto successFn = Callback::FromCancelable(success);
if (err == CHIP_NO_ERROR) {
successFn->mCall(successFn->mContext, value);
}
@@ -71483,89 +71513,123 @@ new CHIPInt8uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * su
});
}
-- (void)readAttributeAcCapacityWithCompletionHandler:(void (^)(
- NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
+- (void)readAttributeOccupiedSetbackMinWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+ NSError * _Nullable error))completionHandler
{
- new CHIPInt16uAttributeCallbackBridge(self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
- using TypeInfo = Thermostat::Attributes::AcCapacity::TypeInfo;
- auto successFn = Callback::FromCancelable(success);
- auto failureFn = Callback::FromCancelable(failure);
- return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
- });
+ new CHIPNullableInt8uAttributeCallbackBridge(
+ self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ using TypeInfo = Thermostat::Attributes::OccupiedSetbackMin::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
+ });
}
-- (void)writeAttributeAcCapacityWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler
+- (void)subscribeAttributeOccupiedSetbackMinWithMinInterval:(NSNumber * _Nonnull)minInterval
+ maxInterval:(NSNumber * _Nonnull)maxInterval
+ params:(CHIPSubscribeParams * _Nullable)params
+ subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+ reportHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler
{
- [self writeAttributeAcCapacityWithValue:(NSNumber * _Nonnull) value params:nil completionHandler:completionHandler];
+ new CHIPNullableInt8uAttributeCallbackSubscriptionBridge(
+ self.callbackQueue, reportHandler,
+ ^(Cancelable * success, Cancelable * failure) {
+ if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) {
+ // We don't support disabling auto-resubscribe.
+ return CHIP_ERROR_INVALID_ARGUMENT;
+ }
+ using TypeInfo = Thermostat::Attributes::OccupiedSetbackMin::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall,
+ [minInterval unsignedShortValue], [maxInterval unsignedShortValue],
+ CHIPNullableInt8uAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
+ params == nil || params.fabricFiltered == nil || [params.fabricFiltered boolValue],
+ params != nil && params.keepPreviousSubscriptions != nil && [params.keepPreviousSubscriptions boolValue]);
+ },
+ subscriptionEstablishedHandler);
}
-- (void)writeAttributeAcCapacityWithValue:(NSNumber * _Nonnull)value
- params:(CHIPWriteParams * _Nullable)params
- completionHandler:(StatusCompletion)completionHandler
+
++ (void)readAttributeOccupiedSetbackMinWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
+ endpoint:(NSNumber *)endpoint
+ queue:(dispatch_queue_t)queue
+ completionHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
{
- chip::Optional timedWriteTimeoutMs;
- if (params != nil) {
- if (params.timedWriteTimeoutMs != nil) {
- timedWriteTimeoutMs.SetValue(params.timedWriteTimeoutMs.unsignedShortValue);
+ new CHIPNullableInt8uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ if (attributeCacheContainer.cppAttributeCache) {
+ chip::app::ConcreteAttributePath path;
+ using TypeInfo = Thermostat::Attributes::OccupiedSetbackMin::TypeInfo;
+ path.mEndpointId = static_cast([endpoint unsignedShortValue]);
+ path.mClusterId = TypeInfo::GetClusterId();
+ path.mAttributeId = TypeInfo::GetAttributeId();
+ TypeInfo::DecodableType value;
+ CHIP_ERROR err = attributeCacheContainer.cppAttributeCache->Get(path, value);
+ auto successFn = Callback::FromCancelable(success);
+ if (err == CHIP_NO_ERROR) {
+ successFn->mCall(successFn->mContext, value);
+ }
+ return err;
}
- }
+ return CHIP_ERROR_NOT_FOUND;
+ });
+}
- new CHIPDefaultSuccessCallbackBridge(
- self.callbackQueue,
- ^(id _Nullable ignored, NSError * _Nullable error) {
- completionHandler(error);
- },
- ^(Cancelable * success, Cancelable * failure) {
- ListFreer listFreer;
- using TypeInfo = Thermostat::Attributes::AcCapacity::TypeInfo;
- TypeInfo::Type cppValue;
- cppValue = value.unsignedShortValue;
- auto successFn = Callback::FromCancelable(success);
+- (void)readAttributeOccupiedSetbackMaxWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+ NSError * _Nullable error))completionHandler
+{
+ new CHIPNullableInt8uAttributeCallbackBridge(
+ self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ using TypeInfo = Thermostat::Attributes::OccupiedSetbackMax::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
auto failureFn = Callback::FromCancelable(failure);
- return self.cppCluster.WriteAttribute(
- cppValue, successFn->mContext, successFn->mCall, failureFn->mCall, timedWriteTimeoutMs);
+ return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
});
}
-- (void)subscribeAttributeAcCapacityWithMinInterval:(NSNumber * _Nonnull)minInterval
- maxInterval:(NSNumber * _Nonnull)maxInterval
- params:(CHIPSubscribeParams * _Nullable)params
- subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
- reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler
+- (void)subscribeAttributeOccupiedSetbackMaxWithMinInterval:(NSNumber * _Nonnull)minInterval
+ maxInterval:(NSNumber * _Nonnull)maxInterval
+ params:(CHIPSubscribeParams * _Nullable)params
+ subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+ reportHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler
{
- new CHIPInt16uAttributeCallbackSubscriptionBridge(
+ new CHIPNullableInt8uAttributeCallbackSubscriptionBridge(
self.callbackQueue, reportHandler,
^(Cancelable * success, Cancelable * failure) {
if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) {
// We don't support disabling auto-resubscribe.
return CHIP_ERROR_INVALID_ARGUMENT;
}
- using TypeInfo = Thermostat::Attributes::AcCapacity::TypeInfo;
- auto successFn = Callback::FromCancelable(success);
+ using TypeInfo = Thermostat::Attributes::OccupiedSetbackMax::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
auto failureFn = Callback::FromCancelable(failure);
return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall,
[minInterval unsignedShortValue], [maxInterval unsignedShortValue],
- CHIPInt16uAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
+ CHIPNullableInt8uAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
params == nil || params.fabricFiltered == nil || [params.fabricFiltered boolValue],
params != nil && params.keepPreviousSubscriptions != nil && [params.keepPreviousSubscriptions boolValue]);
},
subscriptionEstablishedHandler);
}
-+ (void)readAttributeAcCapacityWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
- endpoint:(NSNumber *)endpoint
- queue:(dispatch_queue_t)queue
- completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
++ (void)readAttributeOccupiedSetbackMaxWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
+ endpoint:(NSNumber *)endpoint
+ queue:(dispatch_queue_t)queue
+ completionHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
{
- new CHIPInt16uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ new CHIPNullableInt8uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
if (attributeCacheContainer.cppAttributeCache) {
chip::app::ConcreteAttributePath path;
- using TypeInfo = Thermostat::Attributes::AcCapacity::TypeInfo;
+ using TypeInfo = Thermostat::Attributes::OccupiedSetbackMax::TypeInfo;
path.mEndpointId = static_cast([endpoint unsignedShortValue]);
path.mClusterId = TypeInfo::GetClusterId();
path.mAttributeId = TypeInfo::GetAttributeId();
TypeInfo::DecodableType value;
CHIP_ERROR err = attributeCacheContainer.cppAttributeCache->Get(path, value);
- auto successFn = Callback::FromCancelable(success);
+ auto successFn = Callback::FromCancelable(success);
if (err == CHIP_NO_ERROR) {
successFn->mCall(successFn->mContext, value);
}
@@ -71575,22 +71639,527 @@ new CHIPInt16uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * s
});
}
-- (void)readAttributeAcRefrigerantTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+- (void)readAttributeUnoccupiedSetbackWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
NSError * _Nullable error))completionHandler
{
- new CHIPInt8uAttributeCallbackBridge(self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
- using TypeInfo = Thermostat::Attributes::AcRefrigerantType::TypeInfo;
+ new CHIPNullableInt8uAttributeCallbackBridge(
+ self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ using TypeInfo = Thermostat::Attributes::UnoccupiedSetback::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
+ });
+}
+
+- (void)writeAttributeUnoccupiedSetbackWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler
+{
+ [self writeAttributeUnoccupiedSetbackWithValue:(NSNumber * _Nullable) value params:nil completionHandler:completionHandler];
+}
+- (void)writeAttributeUnoccupiedSetbackWithValue:(NSNumber * _Nullable)value
+ params:(CHIPWriteParams * _Nullable)params
+ completionHandler:(StatusCompletion)completionHandler
+{
+ chip::Optional timedWriteTimeoutMs;
+ if (params != nil) {
+ if (params.timedWriteTimeoutMs != nil) {
+ timedWriteTimeoutMs.SetValue(params.timedWriteTimeoutMs.unsignedShortValue);
+ }
+ }
+
+ new CHIPDefaultSuccessCallbackBridge(
+ self.callbackQueue,
+ ^(id _Nullable ignored, NSError * _Nullable error) {
+ completionHandler(error);
+ },
+ ^(Cancelable * success, Cancelable * failure) {
+ ListFreer listFreer;
+ using TypeInfo = Thermostat::Attributes::UnoccupiedSetback::TypeInfo;
+ TypeInfo::Type cppValue;
+ if (value == nil) {
+ cppValue.SetNull();
+ } else {
+ auto & nonNullValue_0 = cppValue.SetNonNull();
+ nonNullValue_0 = value.unsignedCharValue;
+ }
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.WriteAttribute(
+ cppValue, successFn->mContext, successFn->mCall, failureFn->mCall, timedWriteTimeoutMs);
+ });
+}
+
+- (void)subscribeAttributeUnoccupiedSetbackWithMinInterval:(NSNumber * _Nonnull)minInterval
+ maxInterval:(NSNumber * _Nonnull)maxInterval
+ params:(CHIPSubscribeParams * _Nullable)params
+ subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+ reportHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler
+{
+ new CHIPNullableInt8uAttributeCallbackSubscriptionBridge(
+ self.callbackQueue, reportHandler,
+ ^(Cancelable * success, Cancelable * failure) {
+ if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) {
+ // We don't support disabling auto-resubscribe.
+ return CHIP_ERROR_INVALID_ARGUMENT;
+ }
+ using TypeInfo = Thermostat::Attributes::UnoccupiedSetback::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall,
+ [minInterval unsignedShortValue], [maxInterval unsignedShortValue],
+ CHIPNullableInt8uAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
+ params == nil || params.fabricFiltered == nil || [params.fabricFiltered boolValue],
+ params != nil && params.keepPreviousSubscriptions != nil && [params.keepPreviousSubscriptions boolValue]);
+ },
+ subscriptionEstablishedHandler);
+}
+
++ (void)readAttributeUnoccupiedSetbackWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
+ endpoint:(NSNumber *)endpoint
+ queue:(dispatch_queue_t)queue
+ completionHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
+{
+ new CHIPNullableInt8uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ if (attributeCacheContainer.cppAttributeCache) {
+ chip::app::ConcreteAttributePath path;
+ using TypeInfo = Thermostat::Attributes::UnoccupiedSetback::TypeInfo;
+ path.mEndpointId = static_cast([endpoint unsignedShortValue]);
+ path.mClusterId = TypeInfo::GetClusterId();
+ path.mAttributeId = TypeInfo::GetAttributeId();
+ TypeInfo::DecodableType value;
+ CHIP_ERROR err = attributeCacheContainer.cppAttributeCache->Get(path, value);
+ auto successFn = Callback::FromCancelable(success);
+ if (err == CHIP_NO_ERROR) {
+ successFn->mCall(successFn->mContext, value);
+ }
+ return err;
+ }
+ return CHIP_ERROR_NOT_FOUND;
+ });
+}
+
+- (void)readAttributeUnoccupiedSetbackMinWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+ NSError * _Nullable error))completionHandler
+{
+ new CHIPNullableInt8uAttributeCallbackBridge(
+ self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ using TypeInfo = Thermostat::Attributes::UnoccupiedSetbackMin::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
+ });
+}
+
+- (void)subscribeAttributeUnoccupiedSetbackMinWithMinInterval:(NSNumber * _Nonnull)minInterval
+ maxInterval:(NSNumber * _Nonnull)maxInterval
+ params:(CHIPSubscribeParams * _Nullable)params
+ subscriptionEstablished:
+ (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+ reportHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler
+{
+ new CHIPNullableInt8uAttributeCallbackSubscriptionBridge(
+ self.callbackQueue, reportHandler,
+ ^(Cancelable * success, Cancelable * failure) {
+ if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) {
+ // We don't support disabling auto-resubscribe.
+ return CHIP_ERROR_INVALID_ARGUMENT;
+ }
+ using TypeInfo = Thermostat::Attributes::UnoccupiedSetbackMin::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall,
+ [minInterval unsignedShortValue], [maxInterval unsignedShortValue],
+ CHIPNullableInt8uAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
+ params == nil || params.fabricFiltered == nil || [params.fabricFiltered boolValue],
+ params != nil && params.keepPreviousSubscriptions != nil && [params.keepPreviousSubscriptions boolValue]);
+ },
+ subscriptionEstablishedHandler);
+}
+
++ (void)readAttributeUnoccupiedSetbackMinWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
+ endpoint:(NSNumber *)endpoint
+ queue:(dispatch_queue_t)queue
+ completionHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
+{
+ new CHIPNullableInt8uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ if (attributeCacheContainer.cppAttributeCache) {
+ chip::app::ConcreteAttributePath path;
+ using TypeInfo = Thermostat::Attributes::UnoccupiedSetbackMin::TypeInfo;
+ path.mEndpointId = static_cast([endpoint unsignedShortValue]);
+ path.mClusterId = TypeInfo::GetClusterId();
+ path.mAttributeId = TypeInfo::GetAttributeId();
+ TypeInfo::DecodableType value;
+ CHIP_ERROR err = attributeCacheContainer.cppAttributeCache->Get(path, value);
+ auto successFn = Callback::FromCancelable(success);
+ if (err == CHIP_NO_ERROR) {
+ successFn->mCall(successFn->mContext, value);
+ }
+ return err;
+ }
+ return CHIP_ERROR_NOT_FOUND;
+ });
+}
+
+- (void)readAttributeUnoccupiedSetbackMaxWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+ NSError * _Nullable error))completionHandler
+{
+ new CHIPNullableInt8uAttributeCallbackBridge(
+ self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ using TypeInfo = Thermostat::Attributes::UnoccupiedSetbackMax::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
+ });
+}
+
+- (void)subscribeAttributeUnoccupiedSetbackMaxWithMinInterval:(NSNumber * _Nonnull)minInterval
+ maxInterval:(NSNumber * _Nonnull)maxInterval
+ params:(CHIPSubscribeParams * _Nullable)params
+ subscriptionEstablished:
+ (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+ reportHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler
+{
+ new CHIPNullableInt8uAttributeCallbackSubscriptionBridge(
+ self.callbackQueue, reportHandler,
+ ^(Cancelable * success, Cancelable * failure) {
+ if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) {
+ // We don't support disabling auto-resubscribe.
+ return CHIP_ERROR_INVALID_ARGUMENT;
+ }
+ using TypeInfo = Thermostat::Attributes::UnoccupiedSetbackMax::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall,
+ [minInterval unsignedShortValue], [maxInterval unsignedShortValue],
+ CHIPNullableInt8uAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
+ params == nil || params.fabricFiltered == nil || [params.fabricFiltered boolValue],
+ params != nil && params.keepPreviousSubscriptions != nil && [params.keepPreviousSubscriptions boolValue]);
+ },
+ subscriptionEstablishedHandler);
+}
+
++ (void)readAttributeUnoccupiedSetbackMaxWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
+ endpoint:(NSNumber *)endpoint
+ queue:(dispatch_queue_t)queue
+ completionHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
+{
+ new CHIPNullableInt8uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ if (attributeCacheContainer.cppAttributeCache) {
+ chip::app::ConcreteAttributePath path;
+ using TypeInfo = Thermostat::Attributes::UnoccupiedSetbackMax::TypeInfo;
+ path.mEndpointId = static_cast([endpoint unsignedShortValue]);
+ path.mClusterId = TypeInfo::GetClusterId();
+ path.mAttributeId = TypeInfo::GetAttributeId();
+ TypeInfo::DecodableType value;
+ CHIP_ERROR err = attributeCacheContainer.cppAttributeCache->Get(path, value);
+ auto successFn = Callback::FromCancelable(success);
+ if (err == CHIP_NO_ERROR) {
+ successFn->mCall(successFn->mContext, value);
+ }
+ return err;
+ }
+ return CHIP_ERROR_NOT_FOUND;
+ });
+}
+
+- (void)readAttributeEmergencyHeatDeltaWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+ NSError * _Nullable error))completionHandler
+{
+ new CHIPInt8uAttributeCallbackBridge(self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ using TypeInfo = Thermostat::Attributes::EmergencyHeatDelta::TypeInfo;
auto successFn = Callback::FromCancelable(success);
auto failureFn = Callback::FromCancelable(failure);
return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
});
}
-- (void)writeAttributeAcRefrigerantTypeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler
+- (void)writeAttributeEmergencyHeatDeltaWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler
{
- [self writeAttributeAcRefrigerantTypeWithValue:(NSNumber * _Nonnull) value params:nil completionHandler:completionHandler];
+ [self writeAttributeEmergencyHeatDeltaWithValue:(NSNumber * _Nonnull) value params:nil completionHandler:completionHandler];
}
-- (void)writeAttributeAcRefrigerantTypeWithValue:(NSNumber * _Nonnull)value
+- (void)writeAttributeEmergencyHeatDeltaWithValue:(NSNumber * _Nonnull)value
+ params:(CHIPWriteParams * _Nullable)params
+ completionHandler:(StatusCompletion)completionHandler
+{
+ chip::Optional timedWriteTimeoutMs;
+ if (params != nil) {
+ if (params.timedWriteTimeoutMs != nil) {
+ timedWriteTimeoutMs.SetValue(params.timedWriteTimeoutMs.unsignedShortValue);
+ }
+ }
+
+ new CHIPDefaultSuccessCallbackBridge(
+ self.callbackQueue,
+ ^(id _Nullable ignored, NSError * _Nullable error) {
+ completionHandler(error);
+ },
+ ^(Cancelable * success, Cancelable * failure) {
+ ListFreer listFreer;
+ using TypeInfo = Thermostat::Attributes::EmergencyHeatDelta::TypeInfo;
+ TypeInfo::Type cppValue;
+ cppValue = value.unsignedCharValue;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.WriteAttribute(
+ cppValue, successFn->mContext, successFn->mCall, failureFn->mCall, timedWriteTimeoutMs);
+ });
+}
+
+- (void)subscribeAttributeEmergencyHeatDeltaWithMinInterval:(NSNumber * _Nonnull)minInterval
+ maxInterval:(NSNumber * _Nonnull)maxInterval
+ params:(CHIPSubscribeParams * _Nullable)params
+ subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+ reportHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler
+{
+ new CHIPInt8uAttributeCallbackSubscriptionBridge(
+ self.callbackQueue, reportHandler,
+ ^(Cancelable * success, Cancelable * failure) {
+ if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) {
+ // We don't support disabling auto-resubscribe.
+ return CHIP_ERROR_INVALID_ARGUMENT;
+ }
+ using TypeInfo = Thermostat::Attributes::EmergencyHeatDelta::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall,
+ [minInterval unsignedShortValue], [maxInterval unsignedShortValue],
+ CHIPInt8uAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
+ params == nil || params.fabricFiltered == nil || [params.fabricFiltered boolValue],
+ params != nil && params.keepPreviousSubscriptions != nil && [params.keepPreviousSubscriptions boolValue]);
+ },
+ subscriptionEstablishedHandler);
+}
+
++ (void)readAttributeEmergencyHeatDeltaWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
+ endpoint:(NSNumber *)endpoint
+ queue:(dispatch_queue_t)queue
+ completionHandler:
+ (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
+{
+ new CHIPInt8uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ if (attributeCacheContainer.cppAttributeCache) {
+ chip::app::ConcreteAttributePath path;
+ using TypeInfo = Thermostat::Attributes::EmergencyHeatDelta::TypeInfo;
+ path.mEndpointId = static_cast([endpoint unsignedShortValue]);
+ path.mClusterId = TypeInfo::GetClusterId();
+ path.mAttributeId = TypeInfo::GetAttributeId();
+ TypeInfo::DecodableType value;
+ CHIP_ERROR err = attributeCacheContainer.cppAttributeCache->Get(path, value);
+ auto successFn = Callback::FromCancelable(success);
+ if (err == CHIP_NO_ERROR) {
+ successFn->mCall(successFn->mContext, value);
+ }
+ return err;
+ }
+ return CHIP_ERROR_NOT_FOUND;
+ });
+}
+
+- (void)readAttributeACTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
+{
+ new CHIPInt8uAttributeCallbackBridge(self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ using TypeInfo = Thermostat::Attributes::ACType::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
+ });
+}
+
+- (void)writeAttributeACTypeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler
+{
+ [self writeAttributeACTypeWithValue:(NSNumber * _Nonnull) value params:nil completionHandler:completionHandler];
+}
+- (void)writeAttributeACTypeWithValue:(NSNumber * _Nonnull)value
+ params:(CHIPWriteParams * _Nullable)params
+ completionHandler:(StatusCompletion)completionHandler
+{
+ chip::Optional timedWriteTimeoutMs;
+ if (params != nil) {
+ if (params.timedWriteTimeoutMs != nil) {
+ timedWriteTimeoutMs.SetValue(params.timedWriteTimeoutMs.unsignedShortValue);
+ }
+ }
+
+ new CHIPDefaultSuccessCallbackBridge(
+ self.callbackQueue,
+ ^(id _Nullable ignored, NSError * _Nullable error) {
+ completionHandler(error);
+ },
+ ^(Cancelable * success, Cancelable * failure) {
+ ListFreer listFreer;
+ using TypeInfo = Thermostat::Attributes::ACType::TypeInfo;
+ TypeInfo::Type cppValue;
+ cppValue = value.unsignedCharValue;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.WriteAttribute(
+ cppValue, successFn->mContext, successFn->mCall, failureFn->mCall, timedWriteTimeoutMs);
+ });
+}
+
+- (void)subscribeAttributeACTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
+ maxInterval:(NSNumber * _Nonnull)maxInterval
+ params:(CHIPSubscribeParams * _Nullable)params
+ subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+ reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler
+{
+ new CHIPInt8uAttributeCallbackSubscriptionBridge(
+ self.callbackQueue, reportHandler,
+ ^(Cancelable * success, Cancelable * failure) {
+ if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) {
+ // We don't support disabling auto-resubscribe.
+ return CHIP_ERROR_INVALID_ARGUMENT;
+ }
+ using TypeInfo = Thermostat::Attributes::ACType::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall,
+ [minInterval unsignedShortValue], [maxInterval unsignedShortValue],
+ CHIPInt8uAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
+ params == nil || params.fabricFiltered == nil || [params.fabricFiltered boolValue],
+ params != nil && params.keepPreviousSubscriptions != nil && [params.keepPreviousSubscriptions boolValue]);
+ },
+ subscriptionEstablishedHandler);
+}
+
++ (void)readAttributeACTypeWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
+ endpoint:(NSNumber *)endpoint
+ queue:(dispatch_queue_t)queue
+ completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
+{
+ new CHIPInt8uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ if (attributeCacheContainer.cppAttributeCache) {
+ chip::app::ConcreteAttributePath path;
+ using TypeInfo = Thermostat::Attributes::ACType::TypeInfo;
+ path.mEndpointId = static_cast([endpoint unsignedShortValue]);
+ path.mClusterId = TypeInfo::GetClusterId();
+ path.mAttributeId = TypeInfo::GetAttributeId();
+ TypeInfo::DecodableType value;
+ CHIP_ERROR err = attributeCacheContainer.cppAttributeCache->Get(path, value);
+ auto successFn = Callback::FromCancelable(success);
+ if (err == CHIP_NO_ERROR) {
+ successFn->mCall(successFn->mContext, value);
+ }
+ return err;
+ }
+ return CHIP_ERROR_NOT_FOUND;
+ });
+}
+
+- (void)readAttributeACCapacityWithCompletionHandler:(void (^)(
+ NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
+{
+ new CHIPInt16uAttributeCallbackBridge(self.callbackQueue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ using TypeInfo = Thermostat::Attributes::ACCapacity::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.ReadAttribute(successFn->mContext, successFn->mCall, failureFn->mCall);
+ });
+}
+
+- (void)writeAttributeACCapacityWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler
+{
+ [self writeAttributeACCapacityWithValue:(NSNumber * _Nonnull) value params:nil completionHandler:completionHandler];
+}
+- (void)writeAttributeACCapacityWithValue:(NSNumber * _Nonnull)value
+ params:(CHIPWriteParams * _Nullable)params
+ completionHandler:(StatusCompletion)completionHandler
+{
+ chip::Optional timedWriteTimeoutMs;
+ if (params != nil) {
+ if (params.timedWriteTimeoutMs != nil) {
+ timedWriteTimeoutMs.SetValue(params.timedWriteTimeoutMs.unsignedShortValue);
+ }
+ }
+
+ new CHIPDefaultSuccessCallbackBridge(
+ self.callbackQueue,
+ ^(id _Nullable ignored, NSError * _Nullable error) {
+ completionHandler(error);
+ },
+ ^(Cancelable * success, Cancelable * failure) {
+ ListFreer listFreer;
+ using TypeInfo = Thermostat::Attributes::ACCapacity::TypeInfo;
+ TypeInfo::Type cppValue;
+ cppValue = value.unsignedShortValue;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.WriteAttribute(
+ cppValue, successFn->mContext, successFn->mCall, failureFn->mCall, timedWriteTimeoutMs);
+ });
+}
+
+- (void)subscribeAttributeACCapacityWithMinInterval:(NSNumber * _Nonnull)minInterval
+ maxInterval:(NSNumber * _Nonnull)maxInterval
+ params:(CHIPSubscribeParams * _Nullable)params
+ subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+ reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler
+{
+ new CHIPInt16uAttributeCallbackSubscriptionBridge(
+ self.callbackQueue, reportHandler,
+ ^(Cancelable * success, Cancelable * failure) {
+ if (params != nil && params.autoResubscribe != nil && ![params.autoResubscribe boolValue]) {
+ // We don't support disabling auto-resubscribe.
+ return CHIP_ERROR_INVALID_ARGUMENT;
+ }
+ using TypeInfo = Thermostat::Attributes::ACCapacity::TypeInfo;
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.SubscribeAttribute(successFn->mContext, successFn->mCall, failureFn->mCall,
+ [minInterval unsignedShortValue], [maxInterval unsignedShortValue],
+ CHIPInt16uAttributeCallbackSubscriptionBridge::OnSubscriptionEstablished,
+ params == nil || params.fabricFiltered == nil || [params.fabricFiltered boolValue],
+ params != nil && params.keepPreviousSubscriptions != nil && [params.keepPreviousSubscriptions boolValue]);
+ },
+ subscriptionEstablishedHandler);
+}
+
++ (void)readAttributeACCapacityWithAttributeCache:(CHIPAttributeCacheContainer *)attributeCacheContainer
+ endpoint:(NSNumber *)endpoint
+ queue:(dispatch_queue_t)queue
+ completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
+{
+ new CHIPInt16uAttributeCallbackBridge(queue, completionHandler, ^(Cancelable * success, Cancelable * failure) {
+ if (attributeCacheContainer.cppAttributeCache) {
+ chip::app::ConcreteAttributePath path;
+ using TypeInfo = Thermostat::Attributes::ACCapacity::TypeInfo;
+ path.mEndpointId = static_cast([endpoint unsignedShortValue]);
+ path.mClusterId = TypeInfo::GetClusterId();
+ path.mAttributeId = TypeInfo::GetAttributeId();
+ TypeInfo::DecodableType value;
+ CHIP_ERROR err = attributeCacheContainer.cppAttributeCache->Get