diff --git a/src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml index 5f997a98f68002..3ee77549dae7dd 100644 --- a/src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml @@ -47,14 +47,14 @@ limitations under the License. - + - + @@ -84,13 +84,13 @@ security materials. - + TimeZone - - DstOffset + + DSTOffset diff --git a/src/darwin/Framework/CHIP/templates/MTRClusterConstants.zapt b/src/darwin/Framework/CHIP/templates/MTRClusterConstants.zapt index dc1a5aa40ba4e7..ca8faae2b0fd82 100644 --- a/src/darwin/Framework/CHIP/templates/MTRClusterConstants.zapt +++ b/src/darwin/Framework/CHIP/templates/MTRClusterConstants.zapt @@ -94,6 +94,14 @@ MTRAttributeIDTypeCluster{{>cluster}}Attribute{{>attribute}}ID {{availability (a MTRAttributeIDTypeGlobalAttribute{{asUpperCamelCase label}}ID, {{/if}} {{/unless}} +{{! Anything which has an old name, and the new name was introduced in the "First after major API revamp" release or later + (or just after the "First major API revamp" release, but we don't have a good way to test for that), + we need to generate the new-form id for the old name too, as long as it was not removed. }} +{{#if (and (hasOldName (asUpperCamelCase ../clusterName preserveAcronyms=true) attribute=(asUpperCamelCase label preserveAcronyms=true) isForIds=true) + (not (wasIntroducedBeforeRelease "First after major API revamp" (asUpperCamelCase ../clusterName preserveAcronyms=true) attribute=(asUpperCamelCase label preserveAcronyms=true) isForIds=true)) + (not (wasRemoved (compatClusterNameRemapping ../clusterName) attribute=(compatAttributeNameRemapping ../clusterName label) isForIds=true)))}} +MTRAttributeIDTypeCluster{{compatClusterNameRemapping ../clusterName}}Attribute{{compatAttributeNameRemapping ../clusterName label}}ID {{availability (compatClusterNameRemapping ../clusterName) attribute=(compatAttributeNameRemapping ../clusterName label) isForIds=true minimalRelease="First major API revamp" deprecationMessage=(concat "Please use MTRAttributeIDType" (asUpperCamelCase ../clusterName preserveAcronyms=true) "Attribute" (asUpperCamelCase label preserveAcronyms=true) "ID")}} = MTRAttributeIDTypeCluster{{>cluster}}Attribute{{>attribute}}ID, +{{/if}} {{#last}} {{/last}} diff --git a/src/darwin/Framework/CHIP/templates/availability.yaml b/src/darwin/Framework/CHIP/templates/availability.yaml index 9c858aa64f8d74..d197da56df6a20 100644 --- a/src/darwin/Framework/CHIP/templates/availability.yaml +++ b/src/darwin/Framework/CHIP/templates/availability.yaml @@ -6503,7 +6503,7 @@ HeatSetpointPresent: HeatSetpointFieldPresent CoolSetpointPresent: CoolSetpointFieldPresent -- release: "Future" +- release: "First after major API revamp" versions: "future" introduced: global attributes: @@ -6565,6 +6565,7 @@ - EventList TimeSynchronization: - EventList + - DSTOffset BridgedDeviceBasicInformation: - EventList Switch: @@ -6651,10 +6652,32 @@ - EventList FaultInjection: - EventList + structs: + TimeSynchronization: + - DSTOffsetStruct + - TimeZoneStruct + struct fields: + TimeSynchronization: + DSTOffsetStruct: + - offset + - validStarting + - validUntil + TimeZoneStruct: + - offset + - validAt + - name enum values: DoorLock: LockDataTypeEnum: - FingerVein + deprecated: + attributes: + TimeSynchronization: + - DstOffset + structs: + TimeSynchronization: + - DstOffsetType + - TimeZoneType removed: enum values: DoorLock: @@ -6662,3 +6685,11 @@ # This value never existed for this enum name so, don't start # exposing it. It's exposed for LockDataTypeEnum - FingerVein + renames: + structs: + TimeSynchronization: + DSTOffsetStruct: DstOffsetType + TimeZoneStruct: TimeZoneType + attributes: + TimeSynchronization: + DSTOffset: DstOffset