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 630661d8f4cd85..83126e8d9e74ba 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 @@ -2665,9 +2665,9 @@ server cluster PumpConfigurationAndControl = 512 { server cluster Thermostat = 513 { enum SetpointAdjustMode : ENUM8 { - kHeatSetpoint = 0; - kCoolSetpoint = 1; - kHeatAndCoolSetpoints = 2; + kHeat = 0; + kCool = 1; + kBoth = 2; } enum ThermostatControlSequence : ENUM8 { @@ -2690,9 +2690,11 @@ server cluster Thermostat = 513 { kAuto = 1; kCool = 3; kHeat = 4; - kEmergencyHeating = 5; + kEmergencyHeat = 5; kPrecooling = 6; kFanOnly = 7; + kDry = 8; + kSleep = 9; } bitmap DayOfWeek : BITMAP8 { @@ -2703,21 +2705,21 @@ server cluster Thermostat = 513 { kThursday = 0x10; kFriday = 0x20; kSaturday = 0x40; - kAwayOrVacation = 0x80; + kAway = 0x80; } bitmap ModeForSequence : BITMAP8 { - kHeatSetpointFieldPresent = 0x1; - kCoolSetpointFieldPresent = 0x2; + kHeatSetpointPresent = 0x1; + kCoolSetpointPresent = 0x2; } bitmap ThermostatFeature : BITMAP32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; - kSchedule = 0x8; + kScheduleConfiguration = 0x8; kSetback = 0x10; - kAutomode = 0x20; + kAutoMode = 0x20; } struct ThermostatScheduleTransition { diff --git a/examples/all-clusters-app/ameba/main/include/ThermostatCommands.h b/examples/all-clusters-app/ameba/main/include/ThermostatCommands.h index c1444bf332c0ab..31ff5098869680 100644 --- a/examples/all-clusters-app/ameba/main/include/ThermostatCommands.h +++ b/examples/all-clusters-app/ameba/main/include/ThermostatCommands.h @@ -154,7 +154,7 @@ void ProcessThermostatUnicastBindingCommand(BindingCommandData * data, const Emb switch (data->commandId) { case Clusters::Thermostat::Commands::SetpointRaiseLower::Id: - setpointRaiseLowerCommand.mode = static_cast(data->args[0]); + setpointRaiseLowerCommand.mode = static_cast(data->args[0]); setpointRaiseLowerCommand.amount = static_cast(data->args[1]); Controller::InvokeCommandRequest(peer_device->GetExchangeManager(), peer_device->GetSecureSession().Value(), binding.remote, setpointRaiseLowerCommand, onSuccess, onFailure); @@ -171,7 +171,7 @@ void ProcessThermostatGroupBindingCommand(BindingCommandData * data, const Ember switch (data->commandId) { case Clusters::Thermostat::Commands::SetpointRaiseLower::Id: - setpointRaiseLowerCommand.mode = static_cast(data->args[0]); + setpointRaiseLowerCommand.mode = static_cast(data->args[0]); setpointRaiseLowerCommand.amount = static_cast(data->args[1]); Controller::InvokeGroupCommandRequest(&exchangeMgr, binding.fabricIndex, binding.groupId, setpointRaiseLowerCommand); break; diff --git a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter index 6f9667a26450e3..cb715aace82caf 100644 --- a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter +++ b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter @@ -2262,9 +2262,9 @@ server cluster PumpConfigurationAndControl = 512 { server cluster Thermostat = 513 { enum SetpointAdjustMode : ENUM8 { - kHeatSetpoint = 0; - kCoolSetpoint = 1; - kHeatAndCoolSetpoints = 2; + kHeat = 0; + kCool = 1; + kBoth = 2; } enum ThermostatControlSequence : ENUM8 { @@ -2287,9 +2287,11 @@ server cluster Thermostat = 513 { kAuto = 1; kCool = 3; kHeat = 4; - kEmergencyHeating = 5; + kEmergencyHeat = 5; kPrecooling = 6; kFanOnly = 7; + kDry = 8; + kSleep = 9; } bitmap DayOfWeek : BITMAP8 { @@ -2300,21 +2302,21 @@ server cluster Thermostat = 513 { kThursday = 0x10; kFriday = 0x20; kSaturday = 0x40; - kAwayOrVacation = 0x80; + kAway = 0x80; } bitmap ModeForSequence : BITMAP8 { - kHeatSetpointFieldPresent = 0x1; - kCoolSetpointFieldPresent = 0x2; + kHeatSetpointPresent = 0x1; + kCoolSetpointPresent = 0x2; } bitmap ThermostatFeature : BITMAP32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; - kSchedule = 0x8; + kScheduleConfiguration = 0x8; kSetback = 0x10; - kAutomode = 0x20; + kAutoMode = 0x20; } struct ThermostatScheduleTransition { diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter index b97b9c5f6ba28a..f90838ab7e8fb8 100644 --- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter +++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter @@ -1171,9 +1171,9 @@ server cluster FixedLabel = 64 { client cluster Thermostat = 513 { enum SetpointAdjustMode : ENUM8 { - kHeatSetpoint = 0; - kCoolSetpoint = 1; - kHeatAndCoolSetpoints = 2; + kHeat = 0; + kCool = 1; + kBoth = 2; } enum ThermostatControlSequence : ENUM8 { @@ -1196,9 +1196,11 @@ client cluster Thermostat = 513 { kAuto = 1; kCool = 3; kHeat = 4; - kEmergencyHeating = 5; + kEmergencyHeat = 5; kPrecooling = 6; kFanOnly = 7; + kDry = 8; + kSleep = 9; } bitmap DayOfWeek : BITMAP8 { @@ -1209,21 +1211,21 @@ client cluster Thermostat = 513 { kThursday = 0x10; kFriday = 0x20; kSaturday = 0x40; - kAwayOrVacation = 0x80; + kAway = 0x80; } bitmap ModeForSequence : BITMAP8 { - kHeatSetpointFieldPresent = 0x1; - kCoolSetpointFieldPresent = 0x2; + kHeatSetpointPresent = 0x1; + kCoolSetpointPresent = 0x2; } bitmap ThermostatFeature : BITMAP32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; - kSchedule = 0x8; + kScheduleConfiguration = 0x8; kSetback = 0x10; - kAutomode = 0x20; + kAutoMode = 0x20; } readonly attribute nullable int16s localTemperature = 0; diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter index 3ffcc2edca87a6..5c255f0f39dfff 100644 --- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter +++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter @@ -1029,9 +1029,9 @@ server cluster FixedLabel = 64 { server cluster Thermostat = 513 { enum SetpointAdjustMode : ENUM8 { - kHeatSetpoint = 0; - kCoolSetpoint = 1; - kHeatAndCoolSetpoints = 2; + kHeat = 0; + kCool = 1; + kBoth = 2; } enum ThermostatControlSequence : ENUM8 { @@ -1054,9 +1054,11 @@ server cluster Thermostat = 513 { kAuto = 1; kCool = 3; kHeat = 4; - kEmergencyHeating = 5; + kEmergencyHeat = 5; kPrecooling = 6; kFanOnly = 7; + kDry = 8; + kSleep = 9; } bitmap DayOfWeek : BITMAP8 { @@ -1067,21 +1069,21 @@ server cluster Thermostat = 513 { kThursday = 0x10; kFriday = 0x20; kSaturday = 0x40; - kAwayOrVacation = 0x80; + kAway = 0x80; } bitmap ModeForSequence : BITMAP8 { - kHeatSetpointFieldPresent = 0x1; - kCoolSetpointFieldPresent = 0x2; + kHeatSetpointPresent = 0x1; + kCoolSetpointPresent = 0x2; } bitmap ThermostatFeature : BITMAP32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; - kSchedule = 0x8; + kScheduleConfiguration = 0x8; kSetback = 0x10; - kAutomode = 0x20; + kAutoMode = 0x20; } readonly attribute nullable int16s localTemperature = 0; diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter index 9beb7e35e56454..483d167fb11996 100644 --- a/examples/placeholder/linux/apps/app1/config.matter +++ b/examples/placeholder/linux/apps/app1/config.matter @@ -1862,9 +1862,9 @@ server cluster PumpConfigurationAndControl = 512 { server cluster Thermostat = 513 { enum SetpointAdjustMode : ENUM8 { - kHeatSetpoint = 0; - kCoolSetpoint = 1; - kHeatAndCoolSetpoints = 2; + kHeat = 0; + kCool = 1; + kBoth = 2; } enum ThermostatControlSequence : ENUM8 { @@ -1887,9 +1887,11 @@ server cluster Thermostat = 513 { kAuto = 1; kCool = 3; kHeat = 4; - kEmergencyHeating = 5; + kEmergencyHeat = 5; kPrecooling = 6; kFanOnly = 7; + kDry = 8; + kSleep = 9; } bitmap DayOfWeek : BITMAP8 { @@ -1900,21 +1902,21 @@ server cluster Thermostat = 513 { kThursday = 0x10; kFriday = 0x20; kSaturday = 0x40; - kAwayOrVacation = 0x80; + kAway = 0x80; } bitmap ModeForSequence : BITMAP8 { - kHeatSetpointFieldPresent = 0x1; - kCoolSetpointFieldPresent = 0x2; + kHeatSetpointPresent = 0x1; + kCoolSetpointPresent = 0x2; } bitmap ThermostatFeature : BITMAP32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; - kSchedule = 0x8; + kScheduleConfiguration = 0x8; kSetback = 0x10; - kAutomode = 0x20; + kAutoMode = 0x20; } struct ThermostatScheduleTransition { diff --git a/examples/placeholder/linux/apps/app2/config.matter b/examples/placeholder/linux/apps/app2/config.matter index c74463df762bbd..2931da30072bbb 100644 --- a/examples/placeholder/linux/apps/app2/config.matter +++ b/examples/placeholder/linux/apps/app2/config.matter @@ -1839,9 +1839,9 @@ server cluster PumpConfigurationAndControl = 512 { server cluster Thermostat = 513 { enum SetpointAdjustMode : ENUM8 { - kHeatSetpoint = 0; - kCoolSetpoint = 1; - kHeatAndCoolSetpoints = 2; + kHeat = 0; + kCool = 1; + kBoth = 2; } enum ThermostatControlSequence : ENUM8 { @@ -1864,9 +1864,11 @@ server cluster Thermostat = 513 { kAuto = 1; kCool = 3; kHeat = 4; - kEmergencyHeating = 5; + kEmergencyHeat = 5; kPrecooling = 6; kFanOnly = 7; + kDry = 8; + kSleep = 9; } bitmap DayOfWeek : BITMAP8 { @@ -1877,21 +1879,21 @@ server cluster Thermostat = 513 { kThursday = 0x10; kFriday = 0x20; kSaturday = 0x40; - kAwayOrVacation = 0x80; + kAway = 0x80; } bitmap ModeForSequence : BITMAP8 { - kHeatSetpointFieldPresent = 0x1; - kCoolSetpointFieldPresent = 0x2; + kHeatSetpointPresent = 0x1; + kCoolSetpointPresent = 0x2; } bitmap ThermostatFeature : BITMAP32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; - kSchedule = 0x8; + kScheduleConfiguration = 0x8; kSetback = 0x10; - kAutomode = 0x20; + kAutoMode = 0x20; } struct ThermostatScheduleTransition { diff --git a/examples/thermostat/thermostat-common/thermostat.matter b/examples/thermostat/thermostat-common/thermostat.matter index 63e5edf61ce54e..a15060632caa3c 100644 --- a/examples/thermostat/thermostat-common/thermostat.matter +++ b/examples/thermostat/thermostat-common/thermostat.matter @@ -1394,9 +1394,9 @@ server cluster UserLabel = 65 { server cluster Thermostat = 513 { enum SetpointAdjustMode : ENUM8 { - kHeatSetpoint = 0; - kCoolSetpoint = 1; - kHeatAndCoolSetpoints = 2; + kHeat = 0; + kCool = 1; + kBoth = 2; } enum ThermostatControlSequence : ENUM8 { @@ -1419,9 +1419,11 @@ server cluster Thermostat = 513 { kAuto = 1; kCool = 3; kHeat = 4; - kEmergencyHeating = 5; + kEmergencyHeat = 5; kPrecooling = 6; kFanOnly = 7; + kDry = 8; + kSleep = 9; } bitmap DayOfWeek : BITMAP8 { @@ -1432,21 +1434,21 @@ server cluster Thermostat = 513 { kThursday = 0x10; kFriday = 0x20; kSaturday = 0x40; - kAwayOrVacation = 0x80; + kAway = 0x80; } bitmap ModeForSequence : BITMAP8 { - kHeatSetpointFieldPresent = 0x1; - kCoolSetpointFieldPresent = 0x2; + kHeatSetpointPresent = 0x1; + kCoolSetpointPresent = 0x2; } bitmap ThermostatFeature : BITMAP32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; - kSchedule = 0x8; + kScheduleConfiguration = 0x8; kSetback = 0x10; - kAutomode = 0x20; + kAutoMode = 0x20; } struct ThermostatScheduleTransition { diff --git a/src/app/clusters/thermostat-server/thermostat-server.cpp b/src/app/clusters/thermostat-server/thermostat-server.cpp index 96da514d59b1c2..199632e128655e 100644 --- a/src/app/clusters/thermostat-server/thermostat-server.cpp +++ b/src/app/clusters/thermostat-server/thermostat-server.cpp @@ -336,8 +336,7 @@ MatterThermostatClusterServerPreAttributeChangedCallback(const app::ConcreteAttr { case ThermostatControlSequence::kCoolingOnly: case ThermostatControlSequence::kCoolingWithReheat: - if (RequestedSystemMode == ThermostatSystemMode::kHeat || - RequestedSystemMode == ThermostatSystemMode::kEmergencyHeating) + if (RequestedSystemMode == ThermostatSystemMode::kHeat || RequestedSystemMode == ThermostatSystemMode::kEmergencyHeat) return imcode::InvalidValue; else return imcode::Success; @@ -381,8 +380,6 @@ bool emberAfThermostatClusterSetWeeklyScheduleCallback(app::CommandHandler * com return false; } -using namespace chip::app::Clusters::Thermostat::Attributes; - int16_t EnforceHeatingSetpointLimits(int16_t HeatingSetpoint, EndpointId endpoint) { // Optional Mfg supplied limits @@ -565,7 +562,7 @@ bool emberAfThermostatClusterSetpointRaiseLowerCallback(app::CommandHandler * co switch (mode) { - case EMBER_ZCL_SETPOINT_ADJUST_MODE_HEAT_AND_COOL_SETPOINTS: + case SetpointAdjustMode::kBoth: if (HeatSupported && CoolSupported) { int16_t DesiredCoolingSetpoint, CoolLimit, DesiredHeatingSetpoint, HeatLimit; @@ -645,7 +642,7 @@ bool emberAfThermostatClusterSetpointRaiseLowerCallback(app::CommandHandler * co status = EMBER_ZCL_STATUS_SUCCESS; break; - case EMBER_ZCL_SETPOINT_ADJUST_MODE_COOL_SETPOINT: + case SetpointAdjustMode::kCool: if (CoolSupported) { if (OccupiedCoolingSetpoint::Get(aEndpointId, &CoolingSetpoint) == EMBER_ZCL_STATUS_SUCCESS) @@ -698,7 +695,7 @@ bool emberAfThermostatClusterSetpointRaiseLowerCallback(app::CommandHandler * co status = EMBER_ZCL_STATUS_INVALID_COMMAND; break; - case EMBER_ZCL_SETPOINT_ADJUST_MODE_HEAT_SETPOINT: + case SetpointAdjustMode::kHeat: if (HeatSupported) { if (OccupiedHeatingSetpoint::Get(aEndpointId, &HeatingSetpoint) == EMBER_ZCL_STATUS_SUCCESS) diff --git a/src/app/common/templates/weak-enum-list.yaml b/src/app/common/templates/weak-enum-list.yaml index d9b4dc74e9517b..6f847783db7340 100644 --- a/src/app/common/templates/weak-enum-list.yaml +++ b/src/app/common/templates/weak-enum-list.yaml @@ -31,7 +31,6 @@ - SaturationMoveMode - SaturationStepMode - SecurityType -- SetpointAdjustMode - StartUpOnOffValue - StatusCode - StepMode 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 b1f0608e9f0be5..56d85f75687cbd 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 @@ -213,15 +213,15 @@ limitations under the License. - + - + - + diff --git a/src/app/zap-templates/zcl/data-model/silabs/types.xml b/src/app/zap-templates/zcl/data-model/silabs/types.xml index 4293b31d489dd1..f2fa2acd06b1d4 100644 --- a/src/app/zap-templates/zcl/data-model/silabs/types.xml +++ b/src/app/zap-templates/zcl/data-model/silabs/types.xml @@ -144,28 +144,30 @@ limitations under the License. - - - - - - + + + + + + - - - - - - - + + + + + + + + + - - - + + + @@ -582,12 +584,12 @@ limitations under the License. - + - - + + diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter index a5ea74f9a50c3f..b5c4392d8834ec 100644 --- a/src/controller/data_model/controller-clusters.matter +++ b/src/controller/data_model/controller-clusters.matter @@ -2921,9 +2921,9 @@ client cluster PumpConfigurationAndControl = 512 { client cluster Thermostat = 513 { enum SetpointAdjustMode : ENUM8 { - kHeatSetpoint = 0; - kCoolSetpoint = 1; - kHeatAndCoolSetpoints = 2; + kHeat = 0; + kCool = 1; + kBoth = 2; } enum ThermostatControlSequence : ENUM8 { @@ -2946,9 +2946,11 @@ client cluster Thermostat = 513 { kAuto = 1; kCool = 3; kHeat = 4; - kEmergencyHeating = 5; + kEmergencyHeat = 5; kPrecooling = 6; kFanOnly = 7; + kDry = 8; + kSleep = 9; } bitmap DayOfWeek : BITMAP8 { @@ -2959,21 +2961,21 @@ client cluster Thermostat = 513 { kThursday = 0x10; kFriday = 0x20; kSaturday = 0x40; - kAwayOrVacation = 0x80; + kAway = 0x80; } bitmap ModeForSequence : BITMAP8 { - kHeatSetpointFieldPresent = 0x1; - kCoolSetpointFieldPresent = 0x2; + kHeatSetpointPresent = 0x1; + kCoolSetpointPresent = 0x2; } bitmap ThermostatFeature : BITMAP32 { kHeating = 0x1; kCooling = 0x2; kOccupancy = 0x4; - kSchedule = 0x8; + kScheduleConfiguration = 0x8; kSetback = 0x10; - kAutomode = 0x20; + kAutoMode = 0x20; } struct ThermostatScheduleTransition { diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py index 43cd0c91eb995b..9606e03acb8170 100644 --- a/src/controller/python/chip/clusters/Objects.py +++ b/src/controller/python/chip/clusters/Objects.py @@ -17548,9 +17548,9 @@ def descriptor(cls) -> ClusterObjectDescriptor: class Enums: class SetpointAdjustMode(MatterIntEnum): - kHeatSetpoint = 0x00 - kCoolSetpoint = 0x01 - kHeatAndCoolSetpoints = 0x02 + kHeat = 0x00 + kCool = 0x01 + kBoth = 0x02 # All received enum values that are not listed above will be mapped # to kUnknownEnumValue. This is a helper enum value that should only # be used by code to process how it handles receiving and unknown @@ -17585,9 +17585,11 @@ class ThermostatSystemMode(MatterIntEnum): kAuto = 0x01 kCool = 0x03 kHeat = 0x04 - kEmergencyHeating = 0x05 + kEmergencyHeat = 0x05 kPrecooling = 0x06 kFanOnly = 0x07 + kDry = 0x08 + kSleep = 0x09 # All received enum values that are not listed above will be mapped # to kUnknownEnumValue. This is a helper enum value that should only # be used by code to process how it handles receiving and unknown @@ -17604,19 +17606,19 @@ class DayOfWeek(IntFlag): kThursday = 0x10 kFriday = 0x20 kSaturday = 0x40 - kAwayOrVacation = 0x80 + kAway = 0x80 class ModeForSequence(IntFlag): - kHeatSetpointFieldPresent = 0x1 - kCoolSetpointFieldPresent = 0x2 + kHeatSetpointPresent = 0x1 + kCoolSetpointPresent = 0x2 class ThermostatFeature(IntFlag): kHeating = 0x1 kCooling = 0x2 kOccupancy = 0x4 - kSchedule = 0x8 + kScheduleConfiguration = 0x8 kSetback = 0x10 - kAutomode = 0x20 + kAutoMode = 0x20 class Structs: diff --git a/src/darwin/Framework/CHIP/templates/availability.yaml b/src/darwin/Framework/CHIP/templates/availability.yaml index cdbb55f85fd97a..a698ca4fc3e041 100644 --- a/src/darwin/Framework/CHIP/templates/availability.yaml +++ b/src/darwin/Framework/CHIP/templates/availability.yaml @@ -5622,6 +5622,15 @@ - Percentage ParameterEnum: - Video + Thermostat: + ThermostatSystemMode: + - EmergencyHeat + - Dry + - Sleep + SetpointAdjustMode: + - Heat + - Cool + - Both bitmaps: UnitTesting: - Bitmap8MaskMap @@ -5700,6 +5709,15 @@ - ConstantTemperature - Automatic - Local + Thermostat: + ThermostatFeature: + - ScheduleConfiguration + - AutoMode + DayOfWeek: + - Away + ModeForSequence: + - HeatSetpointPresent + - CoolSetpointPresent deprecated: clusters: - OtaSoftwareUpdateProvider @@ -5925,6 +5943,13 @@ MetricTypeEnum: - PIXELS - PERCENTAGE + Thermostat: + ThermostatSystemMode: + - EmergencyHeating + SetpointAdjustMode: + - HeatSetpoint + - CoolSetpoint + - HeatAndCoolSetpoints bitmaps: DoorLock: - DlDaysMaskMap @@ -5947,6 +5972,15 @@ - UsersManagement - Notifications - YearDaySchedules + Thermostat: + ThermostatFeature: + - Schedule + - Automode + DayOfWeek: + - AwayOrVacation + ModeForSequence: + - HeatSetpointFieldPresent + - CoolSetpointFieldPresent apis: - Timed Invoke for server to client commands - Deprecated global attribute names @@ -6244,6 +6278,13 @@ MetricTypeEnum: Pixels: PIXELS Percentage: PERCENTAGE + Thermostat: + ThermostatSystemMode: + EmergencyHeat: EmergencyHeating + SetpointAdjustMode: + Heat: HeatSetpoint + Cool: CoolSetpoint + Both: HeatAndCoolSetpoints bitmaps: DoorLock: DaysMaskMap: DlDaysMaskMap @@ -6266,3 +6307,12 @@ User: UsersManagement Notification: Notifications YearDayAccessSchedules: YearDaySchedules + Thermostat: + ThermostatFeature: + ScheduleConfiguration: Schedule + AutoMode: Automode + DayOfWeek: + Away: AwayOrVacation + ModeForSequence: + HeatSetpointPresent: HeatSetpointFieldPresent + CoolSetpointPresent: CoolSetpointFieldPresent diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h index 1318ae27d76b17..237b7c0301343f 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h @@ -18798,9 +18798,18 @@ typedef NS_OPTIONS(uint16_t, MTRPumpConfigurationAndControlPumpStatus) { } API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); typedef NS_ENUM(uint8_t, MTRThermostatSetpointAdjustMode) { - MTRThermostatSetpointAdjustModeHeatSetpoint API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x00, - MTRThermostatSetpointAdjustModeCoolSetpoint API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x01, - MTRThermostatSetpointAdjustModeHeatAndCoolSetpoints API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x02, + MTRThermostatSetpointAdjustModeHeat MTR_NEWLY_AVAILABLE = 0x00, + MTRThermostatSetpointAdjustModeHeatSetpoint API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) + MTR_NEWLY_DEPRECATED("Please use MTRThermostatSetpointAdjustModeHeat") + = 0x00, + MTRThermostatSetpointAdjustModeCool MTR_NEWLY_AVAILABLE = 0x01, + MTRThermostatSetpointAdjustModeCoolSetpoint API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) + MTR_NEWLY_DEPRECATED("Please use MTRThermostatSetpointAdjustModeCool") + = 0x01, + MTRThermostatSetpointAdjustModeBoth MTR_NEWLY_AVAILABLE = 0x02, + MTRThermostatSetpointAdjustModeHeatAndCoolSetpoints API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) + MTR_NEWLY_DEPRECATED("Please use MTRThermostatSetpointAdjustModeBoth") + = 0x02, } API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); typedef NS_ENUM(uint8_t, MTRThermostatControlSequence) { @@ -18823,9 +18832,14 @@ typedef NS_ENUM(uint8_t, MTRThermostatSystemMode) { MTRThermostatSystemModeAuto API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x01, MTRThermostatSystemModeCool API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x03, MTRThermostatSystemModeHeat API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x04, - MTRThermostatSystemModeEmergencyHeating API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x05, + MTRThermostatSystemModeEmergencyHeat MTR_NEWLY_AVAILABLE = 0x05, + MTRThermostatSystemModeEmergencyHeating API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) + MTR_NEWLY_DEPRECATED("Please use MTRThermostatSystemModeEmergencyHeat") + = 0x05, MTRThermostatSystemModePrecooling API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x06, MTRThermostatSystemModeFanOnly API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x07, + MTRThermostatSystemModeDry MTR_NEWLY_AVAILABLE = 0x08, + MTRThermostatSystemModeSleep MTR_NEWLY_AVAILABLE = 0x09, } API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); typedef NS_OPTIONS(uint8_t, MTRThermostatDayOfWeek) { @@ -18836,21 +18850,36 @@ typedef NS_OPTIONS(uint8_t, MTRThermostatDayOfWeek) { MTRThermostatDayOfWeekThursday API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x10, MTRThermostatDayOfWeekFriday API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x20, MTRThermostatDayOfWeekSaturday API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x40, - MTRThermostatDayOfWeekAwayOrVacation API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x80, + MTRThermostatDayOfWeekAway MTR_NEWLY_AVAILABLE = 0x80, + MTRThermostatDayOfWeekAwayOrVacation API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) + MTR_NEWLY_DEPRECATED("Please use MTRThermostatDayOfWeekAway") + = 0x80, } API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); typedef NS_OPTIONS(uint8_t, MTRThermostatModeForSequence) { - MTRThermostatModeForSequenceHeatSetpointFieldPresent API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x1, - MTRThermostatModeForSequenceCoolSetpointFieldPresent API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x2, + MTRThermostatModeForSequenceHeatSetpointPresent MTR_NEWLY_AVAILABLE = 0x1, + MTRThermostatModeForSequenceHeatSetpointFieldPresent API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) + MTR_NEWLY_DEPRECATED("Please use MTRThermostatModeForSequenceHeatSetpointPresent") + = 0x1, + MTRThermostatModeForSequenceCoolSetpointPresent MTR_NEWLY_AVAILABLE = 0x2, + MTRThermostatModeForSequenceCoolSetpointFieldPresent API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) + MTR_NEWLY_DEPRECATED("Please use MTRThermostatModeForSequenceCoolSetpointPresent") + = 0x2, } API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); typedef NS_OPTIONS(uint32_t, MTRThermostatFeature) { MTRThermostatFeatureHeating API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x1, MTRThermostatFeatureCooling API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x2, MTRThermostatFeatureOccupancy API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x4, - MTRThermostatFeatureSchedule API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x8, + MTRThermostatFeatureScheduleConfiguration MTR_NEWLY_AVAILABLE = 0x8, + MTRThermostatFeatureSchedule API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) + MTR_NEWLY_DEPRECATED("Please use MTRThermostatFeatureScheduleConfiguration") + = 0x8, MTRThermostatFeatureSetback API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x10, - MTRThermostatFeatureAutomode API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x20, + MTRThermostatFeatureAutoMode MTR_NEWLY_AVAILABLE = 0x20, + MTRThermostatFeatureAutomode API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) + MTR_NEWLY_DEPRECATED("Please use MTRThermostatFeatureAutoMode") + = 0x20, } API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); typedef NS_ENUM(uint8_t, MTRFanControlFanModeSequenceType) { diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h index 80d01abffd9bb2..e964817905cb1b 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h @@ -1520,17 +1520,9 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::SetpointAdj using EnumType = Thermostat::SetpointAdjustMode; switch (val) { -// Need to convert consumers to using the new enum classes, so we -// don't just have casts all over. -#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM - case EnumType::kHeatSetpoint: - case EnumType::kCoolSetpoint: - case EnumType::kHeatAndCoolSetpoints: -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM - case EMBER_ZCL_SETPOINT_ADJUST_MODE_HEAT_SETPOINT: - case EMBER_ZCL_SETPOINT_ADJUST_MODE_COOL_SETPOINT: - case EMBER_ZCL_SETPOINT_ADJUST_MODE_HEAT_AND_COOL_SETPOINTS: -#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM + case EnumType::kHeat: + case EnumType::kCool: + case EnumType::kBoth: return val; default: return static_cast(3); @@ -1574,9 +1566,11 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(Thermostat::ThermostatS case EnumType::kAuto: case EnumType::kCool: case EnumType::kHeat: - case EnumType::kEmergencyHeating: + case EnumType::kEmergencyHeat: case EnumType::kPrecooling: case EnumType::kFanOnly: + case EnumType::kDry: + case EnumType::kSleep: return val; default: return static_cast(2); diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h index aba44070a5c52c..d7cf365c928f49 100644 --- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h +++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h @@ -1950,25 +1950,18 @@ enum class PumpStatus : uint16_t namespace Thermostat { -// Need to convert consumers to using the new enum classes, so we -// don't just have casts all over. -#ifdef CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Enum for SetpointAdjustMode enum class SetpointAdjustMode : uint8_t { - kHeatSetpoint = 0x00, - kCoolSetpoint = 0x01, - kHeatAndCoolSetpoints = 0x02, + kHeat = 0x00, + kCool = 0x01, + kBoth = 0x02, // All received enum values that are not listed above will be mapped // to kUnknownEnumValue. This is a helper enum value that should only // be used by code to process how it handles receiving and unknown // enum value. This specific should never be transmitted. kUnknownEnumValue = 3, }; -#else // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM -using SetpointAdjustMode = EmberAfSetpointAdjustMode; -static SetpointAdjustMode __attribute__((unused)) kSetpointAdjustModekUnknownEnumValue = static_cast(3); -#endif // CHIP_USE_ENUM_CLASS_FOR_IM_ENUM // Enum for ThermostatControlSequence enum class ThermostatControlSequence : uint8_t @@ -2002,13 +1995,15 @@ enum class ThermostatRunningMode : uint8_t // Enum for ThermostatSystemMode enum class ThermostatSystemMode : uint8_t { - kOff = 0x00, - kAuto = 0x01, - kCool = 0x03, - kHeat = 0x04, - kEmergencyHeating = 0x05, - kPrecooling = 0x06, - kFanOnly = 0x07, + kOff = 0x00, + kAuto = 0x01, + kCool = 0x03, + kHeat = 0x04, + kEmergencyHeat = 0x05, + kPrecooling = 0x06, + kFanOnly = 0x07, + kDry = 0x08, + kSleep = 0x09, // All received enum values that are not listed above will be mapped // to kUnknownEnumValue. This is a helper enum value that should only // be used by code to process how it handles receiving and unknown @@ -2019,32 +2014,32 @@ enum class ThermostatSystemMode : uint8_t // Bitmap for DayOfWeek enum class DayOfWeek : uint8_t { - kSunday = 0x1, - kMonday = 0x2, - kTuesday = 0x4, - kWednesday = 0x8, - kThursday = 0x10, - kFriday = 0x20, - kSaturday = 0x40, - kAwayOrVacation = 0x80, + kSunday = 0x1, + kMonday = 0x2, + kTuesday = 0x4, + kWednesday = 0x8, + kThursday = 0x10, + kFriday = 0x20, + kSaturday = 0x40, + kAway = 0x80, }; // Bitmap for ModeForSequence enum class ModeForSequence : uint8_t { - kHeatSetpointFieldPresent = 0x1, - kCoolSetpointFieldPresent = 0x2, + kHeatSetpointPresent = 0x1, + kCoolSetpointPresent = 0x2, }; // Bitmap for ThermostatFeature enum class ThermostatFeature : uint32_t { - kHeating = 0x1, - kCooling = 0x2, - kOccupancy = 0x4, - kSchedule = 0x8, - kSetback = 0x10, - kAutomode = 0x20, + kHeating = 0x1, + kCooling = 0x2, + kOccupancy = 0x4, + kScheduleConfiguration = 0x8, + kSetback = 0x10, + kAutoMode = 0x20, }; } // namespace Thermostat diff --git a/zzz_generated/app-common/app-common/zap-generated/enums.h b/zzz_generated/app-common/app-common/zap-generated/enums.h index 36dc14164bf444..daf55b0963e8a7 100644 --- a/zzz_generated/app-common/app-common/zap-generated/enums.h +++ b/zzz_generated/app-common/app-common/zap-generated/enums.h @@ -281,14 +281,6 @@ enum EmberAfSecurityType : uint8_t EMBER_ZCL_SECURITY_TYPE_WPA3 = 5, }; -// Enum for SetpointAdjustMode -enum EmberAfSetpointAdjustMode : uint8_t -{ - EMBER_ZCL_SETPOINT_ADJUST_MODE_HEAT_SETPOINT = 0, - EMBER_ZCL_SETPOINT_ADJUST_MODE_COOL_SETPOINT = 1, - EMBER_ZCL_SETPOINT_ADJUST_MODE_HEAT_AND_COOL_SETPOINTS = 2, -}; - // Enum for StartUpOnOffValue enum EmberAfStartUpOnOffValue : uint8_t { @@ -474,8 +466,8 @@ enum EmberAfWiFiVersionType : uint8_t #define EMBER_AF_DAY_OF_WEEK_FRIDAY_OFFSET (5) #define EMBER_AF_DAY_OF_WEEK_SATURDAY (64) #define EMBER_AF_DAY_OF_WEEK_SATURDAY_OFFSET (6) -#define EMBER_AF_DAY_OF_WEEK_AWAY_OR_VACATION (128) -#define EMBER_AF_DAY_OF_WEEK_AWAY_OR_VACATION_OFFSET (7) +#define EMBER_AF_DAY_OF_WEEK_AWAY (128) +#define EMBER_AF_DAY_OF_WEEK_AWAY_OFFSET (7) #define EMBER_AF_DAYS_MASK_MAP_SUNDAY (1) #define EMBER_AF_DAYS_MASK_MAP_SUNDAY_OFFSET (0) #define EMBER_AF_DAYS_MASK_MAP_MONDAY (2) @@ -758,10 +750,10 @@ enum EmberAfWiFiVersionType : uint8_t #define EMBER_AF_MODE_MAINTENANCE_MODE_OFFSET (2) #define EMBER_AF_MODE_LED_FEEDBACK (8) #define EMBER_AF_MODE_LED_FEEDBACK_OFFSET (3) -#define EMBER_AF_MODE_FOR_SEQUENCE_HEAT_SETPOINT_FIELD_PRESENT (1) -#define EMBER_AF_MODE_FOR_SEQUENCE_HEAT_SETPOINT_FIELD_PRESENT_OFFSET (0) -#define EMBER_AF_MODE_FOR_SEQUENCE_COOL_SETPOINT_FIELD_PRESENT (2) -#define EMBER_AF_MODE_FOR_SEQUENCE_COOL_SETPOINT_FIELD_PRESENT_OFFSET (1) +#define EMBER_AF_MODE_FOR_SEQUENCE_HEAT_SETPOINT_PRESENT (1) +#define EMBER_AF_MODE_FOR_SEQUENCE_HEAT_SETPOINT_PRESENT_OFFSET (0) +#define EMBER_AF_MODE_FOR_SEQUENCE_COOL_SETPOINT_PRESENT (2) +#define EMBER_AF_MODE_FOR_SEQUENCE_COOL_SETPOINT_PRESENT_OFFSET (1) #define EMBER_AF_MODE_SELECT_FEATURE_DEPONOFF (1) #define EMBER_AF_MODE_SELECT_FEATURE_DEPONOFF_OFFSET (0) #define EMBER_AF_NETWORK_COMMISSIONING_FEATURE_WI_FI_NETWORK_INTERFACE (1) @@ -918,12 +910,12 @@ enum EmberAfWiFiVersionType : uint8_t #define EMBER_AF_THERMOSTAT_FEATURE_COOLING_OFFSET (1) #define EMBER_AF_THERMOSTAT_FEATURE_OCCUPANCY (4) #define EMBER_AF_THERMOSTAT_FEATURE_OCCUPANCY_OFFSET (2) -#define EMBER_AF_THERMOSTAT_FEATURE_SCHEDULE (8) -#define EMBER_AF_THERMOSTAT_FEATURE_SCHEDULE_OFFSET (3) +#define EMBER_AF_THERMOSTAT_FEATURE_SCHEDULE_CONFIGURATION (8) +#define EMBER_AF_THERMOSTAT_FEATURE_SCHEDULE_CONFIGURATION_OFFSET (3) #define EMBER_AF_THERMOSTAT_FEATURE_SETBACK (16) #define EMBER_AF_THERMOSTAT_FEATURE_SETBACK_OFFSET (4) -#define EMBER_AF_THERMOSTAT_FEATURE_AUTOMODE (32) -#define EMBER_AF_THERMOSTAT_FEATURE_AUTOMODE_OFFSET (5) +#define EMBER_AF_THERMOSTAT_FEATURE_AUTO_MODE (32) +#define EMBER_AF_THERMOSTAT_FEATURE_AUTO_MODE_OFFSET (5) #define EMBER_AF_THERMOSTAT_OCCUPANCY_OCCUPIED (1) #define EMBER_AF_THERMOSTAT_OCCUPANCY_OCCUPIED_OFFSET (0) #define EMBER_AF_THERMOSTAT_RUNNING_STATE_HEAT_STATE_ON (1)