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/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py
index 492253ff5815fb..ffb731f8636a5a 100644
--- a/src/controller/python/chip/clusters/Objects.py
+++ b/src/controller/python/chip/clusters/Objects.py
@@ -11001,8 +11001,8 @@ def descriptor(cls) -> ClusterObjectDescriptor:
ClusterObjectFieldDescriptor(Label="timeSource", Tag=0x00000002, Type=typing.Optional[TimeSynchronization.Enums.TimeSourceEnum]),
ClusterObjectFieldDescriptor(Label="trustedTimeNodeId", Tag=0x00000003, Type=typing.Union[Nullable, uint]),
ClusterObjectFieldDescriptor(Label="defaultNtp", Tag=0x00000004, Type=typing.Union[None, Nullable, str]),
- ClusterObjectFieldDescriptor(Label="timeZone", Tag=0x00000005, Type=typing.Optional[typing.List[TimeSynchronization.Structs.TimeZoneType]]),
- ClusterObjectFieldDescriptor(Label="dstOffset", Tag=0x00000006, Type=typing.Optional[typing.List[TimeSynchronization.Structs.DstOffsetType]]),
+ ClusterObjectFieldDescriptor(Label="timeZone", Tag=0x00000005, Type=typing.Optional[typing.List[TimeSynchronization.Structs.TimeZoneStruct]]),
+ ClusterObjectFieldDescriptor(Label="DSTOffset", Tag=0x00000006, Type=typing.Optional[typing.List[TimeSynchronization.Structs.DSTOffsetStruct]]),
ClusterObjectFieldDescriptor(Label="localTime", Tag=0x00000007, Type=typing.Union[None, Nullable, uint]),
ClusterObjectFieldDescriptor(Label="timeZoneDatabase", Tag=0x00000008, Type=typing.Optional[bool]),
ClusterObjectFieldDescriptor(Label="ntpServerPort", Tag=0x00000009, Type=typing.Union[None, Nullable, uint]),
@@ -11019,8 +11019,8 @@ def descriptor(cls) -> ClusterObjectDescriptor:
timeSource: 'typing.Optional[TimeSynchronization.Enums.TimeSourceEnum]' = None
trustedTimeNodeId: 'typing.Union[Nullable, uint]' = None
defaultNtp: 'typing.Union[None, Nullable, str]' = None
- timeZone: 'typing.Optional[typing.List[TimeSynchronization.Structs.TimeZoneType]]' = None
- dstOffset: 'typing.Optional[typing.List[TimeSynchronization.Structs.DstOffsetType]]' = None
+ timeZone: 'typing.Optional[typing.List[TimeSynchronization.Structs.TimeZoneStruct]]' = None
+ DSTOffset: 'typing.Optional[typing.List[TimeSynchronization.Structs.DSTOffsetStruct]]' = None
localTime: 'typing.Union[None, Nullable, uint]' = None
timeZoneDatabase: 'typing.Optional[bool]' = None
ntpServerPort: 'typing.Union[None, Nullable, uint]' = None
@@ -11072,7 +11072,7 @@ class TimeSourceEnum(MatterIntEnum):
class Structs:
@dataclass
- class DstOffsetType(ClusterObject):
+ class DSTOffsetStruct(ClusterObject):
@ChipUtility.classproperty
def descriptor(cls) -> ClusterObjectDescriptor:
return ClusterObjectDescriptor(
@@ -11087,7 +11087,7 @@ def descriptor(cls) -> ClusterObjectDescriptor:
validUntil: 'uint' = 0
@dataclass
- class TimeZoneType(ClusterObject):
+ class TimeZoneStruct(ClusterObject):
@ChipUtility.classproperty
def descriptor(cls) -> ClusterObjectDescriptor:
return ClusterObjectDescriptor(
@@ -11218,12 +11218,12 @@ def attribute_id(cls) -> int:
@ChipUtility.classproperty
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
- return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[TimeSynchronization.Structs.TimeZoneType]])
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[TimeSynchronization.Structs.TimeZoneStruct]])
- value: 'typing.Optional[typing.List[TimeSynchronization.Structs.TimeZoneType]]' = None
+ value: 'typing.Optional[typing.List[TimeSynchronization.Structs.TimeZoneStruct]]' = None
@dataclass
- class DstOffset(ClusterAttributeDescriptor):
+ class DSTOffset(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
return 0x0038
@@ -11234,9 +11234,9 @@ def attribute_id(cls) -> int:
@ChipUtility.classproperty
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
- return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[TimeSynchronization.Structs.DstOffsetType]])
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[TimeSynchronization.Structs.DSTOffsetStruct]])
- value: 'typing.Optional[typing.List[TimeSynchronization.Structs.DstOffsetType]]' = None
+ value: 'typing.Optional[typing.List[TimeSynchronization.Structs.DSTOffsetStruct]]' = None
@dataclass
class LocalTime(ClusterAttributeDescriptor):
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
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h
index c4128a91b14da4..2fd6a1105eed8f 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h
@@ -2907,7 +2907,7 @@ typedef NS_ENUM(uint32_t, MTRAttributeIDType) {
watchos(9.1, 9.4), tvos(16.1, 16.4))
= 0x00000005,
MTRClusterTimeSynchronizationAttributeDstOffsetID API_DEPRECATED(
- "Please use MTRAttributeIDTypeClusterTimeSynchronizationAttributeDstOffsetID", ios(16.1, 16.4), macos(13.0, 13.3),
+ "Please use MTRAttributeIDTypeClusterTimeSynchronizationAttributeDSTOffsetID", ios(16.1, 16.4), macos(13.0, 13.3),
watchos(9.1, 9.4), tvos(16.1, 16.4))
= 0x00000006,
MTRClusterTimeSynchronizationAttributeLocalTimeID API_DEPRECATED(
@@ -2960,8 +2960,10 @@ typedef NS_ENUM(uint32_t, MTRAttributeIDType) {
= 0x00000004,
MTRAttributeIDTypeClusterTimeSynchronizationAttributeTimeZoneID API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4))
= 0x00000005,
+ MTRAttributeIDTypeClusterTimeSynchronizationAttributeDSTOffsetID MTR_NEWLY_AVAILABLE = 0x00000006,
MTRAttributeIDTypeClusterTimeSynchronizationAttributeDstOffsetID API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4))
- = 0x00000006,
+ MTR_NEWLY_DEPRECATED("Please use MTRAttributeIDTypeTimeSynchronizationAttributeDSTOffsetID")
+ = MTRAttributeIDTypeClusterTimeSynchronizationAttributeDSTOffsetID,
MTRAttributeIDTypeClusterTimeSynchronizationAttributeLocalTimeID API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4))
= 0x00000007,
MTRAttributeIDTypeClusterTimeSynchronizationAttributeTimeZoneDatabaseID API_AVAILABLE(
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h
index ea7461748adb88..332cff9dafa5d5 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h
@@ -473,18 +473,27 @@ API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1))
@property (nonatomic, copy) NSNumber * _Nonnull connectionStatus API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
@end
+MTR_NEWLY_AVAILABLE
+@interface MTRTimeSynchronizationClusterDSTOffsetStruct : NSObject
+@property (nonatomic, copy) NSNumber * _Nonnull offset MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull validStarting MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull validUntil MTR_NEWLY_AVAILABLE;
+@end
+
API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1))
-@interface MTRTimeSynchronizationClusterDstOffsetType : NSObject
-@property (nonatomic, copy) NSNumber * _Nonnull offset API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
-@property (nonatomic, copy) NSNumber * _Nonnull validStarting API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
-@property (nonatomic, copy) NSNumber * _Nonnull validUntil API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
+MTR_NEWLY_DEPRECATED("Please use MTRTimeSynchronizationClusterDSTOffsetStruct")
+@interface MTRTimeSynchronizationClusterDstOffsetType : MTRTimeSynchronizationClusterDSTOffsetStruct
+@end
+MTR_NEWLY_AVAILABLE
+@interface MTRTimeSynchronizationClusterTimeZoneStruct : NSObject
+@property (nonatomic, copy) NSNumber * _Nonnull offset MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull validAt MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSString * _Nullable name MTR_NEWLY_AVAILABLE;
@end
API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1))
-@interface MTRTimeSynchronizationClusterTimeZoneType : NSObject
-@property (nonatomic, copy) NSNumber * _Nonnull offset API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
-@property (nonatomic, copy) NSNumber * _Nonnull validAt API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
-@property (nonatomic, copy) NSString * _Nullable name API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
+MTR_NEWLY_DEPRECATED("Please use MTRTimeSynchronizationClusterTimeZoneStruct")
+@interface MTRTimeSynchronizationClusterTimeZoneType : MTRTimeSynchronizationClusterTimeZoneStruct
@end
API_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4))
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm
index 975e505e51ec9f..f1022f235eaede 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm
@@ -1811,7 +1811,7 @@ - (NSString *)description
@end
-@implementation MTRTimeSynchronizationClusterDstOffsetType
+@implementation MTRTimeSynchronizationClusterDSTOffsetStruct
- (instancetype)init
{
if (self = [super init]) {
@@ -1827,7 +1827,7 @@ - (instancetype)init
- (id)copyWithZone:(NSZone * _Nullable)zone
{
- auto other = [[MTRTimeSynchronizationClusterDstOffsetType alloc] init];
+ auto other = [[MTRTimeSynchronizationClusterDSTOffsetStruct alloc] init];
other.offset = self.offset;
other.validStarting = self.validStarting;
@@ -1845,7 +1845,10 @@ - (NSString *)description
@end
-@implementation MTRTimeSynchronizationClusterTimeZoneType
+@implementation MTRTimeSynchronizationClusterDstOffsetType : MTRTimeSynchronizationClusterDSTOffsetStruct
+@end
+
+@implementation MTRTimeSynchronizationClusterTimeZoneStruct
- (instancetype)init
{
if (self = [super init]) {
@@ -1861,7 +1864,7 @@ - (instancetype)init
- (id)copyWithZone:(NSZone * _Nullable)zone
{
- auto other = [[MTRTimeSynchronizationClusterTimeZoneType alloc] init];
+ auto other = [[MTRTimeSynchronizationClusterTimeZoneStruct alloc] init];
other.offset = self.offset;
other.validAt = self.validAt;
@@ -1879,6 +1882,9 @@ - (NSString *)description
@end
+@implementation MTRTimeSynchronizationClusterTimeZoneType : MTRTimeSynchronizationClusterTimeZoneStruct
+@end
+
@implementation MTRBridgedDeviceBasicInformationClusterStartUpEvent
- (instancetype)init
{
diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp
index cc23466a7daf79..ee17d980f621ad 100644
--- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp
+++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp
@@ -8062,7 +8062,7 @@ namespace Events {} // namespace Events
} // namespace EthernetNetworkDiagnostics
namespace TimeSynchronization {
namespace Structs {
-namespace DstOffsetType {
+namespace DSTOffsetStruct {
CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const
{
TLV::TLVType outer;
@@ -8109,8 +8109,8 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader)
return CHIP_NO_ERROR;
}
-} // namespace DstOffsetType
-namespace TimeZoneType {
+} // namespace DSTOffsetStruct
+namespace TimeZoneStruct {
CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const
{
TLV::TLVType outer;
@@ -8157,7 +8157,7 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader)
return CHIP_NO_ERROR;
}
-} // namespace TimeZoneType
+} // namespace TimeZoneStruct
} // namespace Structs
namespace Commands {
@@ -8231,8 +8231,8 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre
case Attributes::TimeZone::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, timeZone));
break;
- case Attributes::DstOffset::TypeInfo::GetAttributeId():
- ReturnErrorOnFailure(DataModel::Decode(reader, dstOffset));
+ case Attributes::DSTOffset::TypeInfo::GetAttributeId():
+ ReturnErrorOnFailure(DataModel::Decode(reader, DSTOffset));
break;
case Attributes::LocalTime::TypeInfo::GetAttributeId():
ReturnErrorOnFailure(DataModel::Decode(reader, localTime));
diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
index f4c85863c63b90..29d35c573d02e5 100644
--- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
+++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
@@ -10254,7 +10254,7 @@ struct TypeInfo
} // namespace EthernetNetworkDiagnostics
namespace TimeSynchronization {
namespace Structs {
-namespace DstOffsetType {
+namespace DSTOffsetStruct {
enum class Fields
{
kOffset = 0,
@@ -10278,8 +10278,8 @@ struct Type
using DecodableType = Type;
-} // namespace DstOffsetType
-namespace TimeZoneType {
+} // namespace DSTOffsetStruct
+namespace TimeZoneStruct {
enum class Fields
{
kOffset = 0,
@@ -10303,7 +10303,7 @@ struct Type
using DecodableType = Type;
-} // namespace TimeZoneType
+} // namespace TimeZoneStruct
} // namespace Structs
namespace Commands {
@@ -10423,31 +10423,31 @@ struct TypeInfo
namespace TimeZone {
struct TypeInfo
{
- using Type = chip::app::DataModel::List;
+ using Type = chip::app::DataModel::List;
using DecodableType =
- chip::app::DataModel::DecodableList;
- using DecodableArgType =
- const chip::app::DataModel::DecodableList &;
+ chip::app::DataModel::DecodableList;
+ using DecodableArgType = const chip::app::DataModel::DecodableList<
+ chip::app::Clusters::TimeSynchronization::Structs::TimeZoneStruct::DecodableType> &;
static constexpr ClusterId GetClusterId() { return Clusters::TimeSynchronization::Id; }
static constexpr AttributeId GetAttributeId() { return Attributes::TimeZone::Id; }
static constexpr bool MustUseTimedWrite() { return false; }
};
} // namespace TimeZone
-namespace DstOffset {
+namespace DSTOffset {
struct TypeInfo
{
- using Type = chip::app::DataModel::List;
+ using Type = chip::app::DataModel::List;
using DecodableType =
- chip::app::DataModel::DecodableList;
+ chip::app::DataModel::DecodableList;
using DecodableArgType = const chip::app::DataModel::DecodableList<
- chip::app::Clusters::TimeSynchronization::Structs::DstOffsetType::DecodableType> &;
+ chip::app::Clusters::TimeSynchronization::Structs::DSTOffsetStruct::DecodableType> &;
static constexpr ClusterId GetClusterId() { return Clusters::TimeSynchronization::Id; }
- static constexpr AttributeId GetAttributeId() { return Attributes::DstOffset::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::DSTOffset::Id; }
static constexpr bool MustUseTimedWrite() { return false; }
};
-} // namespace DstOffset
+} // namespace DSTOffset
namespace LocalTime {
struct TypeInfo
{
@@ -10537,7 +10537,7 @@ struct TypeInfo
Attributes::TrustedTimeNodeId::TypeInfo::DecodableType trustedTimeNodeId;
Attributes::DefaultNtp::TypeInfo::DecodableType defaultNtp;
Attributes::TimeZone::TypeInfo::DecodableType timeZone;
- Attributes::DstOffset::TypeInfo::DecodableType dstOffset;
+ Attributes::DSTOffset::TypeInfo::DecodableType DSTOffset;
Attributes::LocalTime::TypeInfo::DecodableType localTime;
Attributes::TimeZoneDatabase::TypeInfo::DecodableType timeZoneDatabase = static_cast(0);
Attributes::NtpServerPort::TypeInfo::DecodableType ntpServerPort;
diff --git a/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h b/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h
index f4b7467e35c34e..62102d5fed1e5f 100644
--- a/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h
+++ b/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h
@@ -1822,9 +1822,9 @@ namespace TimeZone {
static constexpr AttributeId Id = 0x00000005;
} // namespace TimeZone
-namespace DstOffset {
+namespace DSTOffset {
static constexpr AttributeId Id = 0x00000006;
-} // namespace DstOffset
+} // namespace DSTOffset
namespace LocalTime {
static constexpr AttributeId Id = 0x00000007;
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
index 2165b874b21efc..5d743f4ebcbeea 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
+++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
@@ -2951,7 +2951,7 @@ class EthernetNetworkDiagnosticsResetCounts : public ClusterCommand
| * TrustedTimeNodeId | 0x0003 |
| * DefaultNtp | 0x0004 |
| * TimeZone | 0x0005 |
-| * DstOffset | 0x0006 |
+| * DSTOffset | 0x0006 |
| * LocalTime | 0x0007 |
| * TimeZoneDatabase | 0x0008 |
| * NtpServerPort | 0x0009 |
@@ -11012,7 +11012,7 @@ void registerClusterTimeSynchronization(Commands & commands, CredentialIssuerCom
make_unique(Id, "trusted-time-node-id", Attributes::TrustedTimeNodeId::Id, credsIssuerConfig), //
make_unique(Id, "default-ntp", Attributes::DefaultNtp::Id, credsIssuerConfig), //
make_unique(Id, "time-zone", Attributes::TimeZone::Id, credsIssuerConfig), //
- make_unique(Id, "dst-offset", Attributes::DstOffset::Id, credsIssuerConfig), //
+ make_unique(Id, "dstoffset", Attributes::DSTOffset::Id, credsIssuerConfig), //
make_unique(Id, "local-time", Attributes::LocalTime::Id, credsIssuerConfig), //
make_unique(Id, "time-zone-database", Attributes::TimeZoneDatabase::Id, credsIssuerConfig), //
make_unique(Id, "ntp-server-port", Attributes::NtpServerPort::Id, credsIssuerConfig), //
@@ -11035,11 +11035,11 @@ void registerClusterTimeSynchronization(Commands & commands, CredentialIssuerCom
make_unique>>(Id, "default-ntp", Attributes::DefaultNtp::Id,
WriteCommandType::kWrite, credsIssuerConfig), //
make_unique>>(
+ chip::app::DataModel::List>>(
Id, "time-zone", Attributes::TimeZone::Id, WriteCommandType::kWrite, credsIssuerConfig), //
make_unique>>(
- Id, "dst-offset", Attributes::DstOffset::Id, WriteCommandType::kWrite, credsIssuerConfig), //
+ chip::app::DataModel::List>>(
+ Id, "dstoffset", Attributes::DSTOffset::Id, WriteCommandType::kWrite, credsIssuerConfig), //
make_unique>>(
Id, "local-time", 0, UINT64_MAX, Attributes::LocalTime::Id, WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique>(Id, "time-zone-database", 0, 1, Attributes::TimeZoneDatabase::Id,
@@ -11067,7 +11067,7 @@ void registerClusterTimeSynchronization(Commands & commands, CredentialIssuerCom
make_unique(Id, "trusted-time-node-id", Attributes::TrustedTimeNodeId::Id, credsIssuerConfig), //
make_unique(Id, "default-ntp", Attributes::DefaultNtp::Id, credsIssuerConfig), //
make_unique(Id, "time-zone", Attributes::TimeZone::Id, credsIssuerConfig), //
- make_unique(Id, "dst-offset", Attributes::DstOffset::Id, credsIssuerConfig), //
+ make_unique(Id, "dstoffset", Attributes::DSTOffset::Id, credsIssuerConfig), //
make_unique(Id, "local-time", Attributes::LocalTime::Id, credsIssuerConfig), //
make_unique(Id, "time-zone-database", Attributes::TimeZoneDatabase::Id, credsIssuerConfig), //
make_unique(Id, "ntp-server-port", Attributes::NtpServerPort::Id, credsIssuerConfig), //
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp
index 3127f85e5b9117..2fc35891aafc4a 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp
+++ b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp
@@ -497,6 +497,37 @@ void ComplexArgumentParser::Finalize(chip::app::Clusters::DoorLock::Structs::Cre
ComplexArgumentParser::Finalize(request.credentialType);
ComplexArgumentParser::Finalize(request.credentialIndex);
}
+CHIP_ERROR ComplexArgumentParser::Setup(const char * label,
+ chip::app::Clusters::TimeSynchronization::Structs::DSTOffsetStruct::Type & request,
+ Json::Value & value)
+{
+ VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT);
+
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("DSTOffsetStruct.offset", "offset", value.isMember("offset")));
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("DSTOffsetStruct.validStarting", "validStarting",
+ value.isMember("validStarting")));
+ ReturnErrorOnFailure(
+ ComplexArgumentParser::EnsureMemberExist("DSTOffsetStruct.validUntil", "validUntil", value.isMember("validUntil")));
+
+ char labelWithMember[kMaxLabelLength];
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "offset");
+ ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.offset, value["offset"]));
+
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "validStarting");
+ ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.validStarting, value["validStarting"]));
+
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "validUntil");
+ ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.validUntil, value["validUntil"]));
+
+ return CHIP_NO_ERROR;
+}
+
+void ComplexArgumentParser::Finalize(chip::app::Clusters::TimeSynchronization::Structs::DSTOffsetStruct::Type & request)
+{
+ ComplexArgumentParser::Finalize(request.offset);
+ ComplexArgumentParser::Finalize(request.validStarting);
+ ComplexArgumentParser::Finalize(request.validUntil);
+}
CHIP_ERROR ComplexArgumentParser::Setup(const char * label,
chip::app::Clusters::Descriptor::Structs::DeviceTypeStruct::Type & request,
Json::Value & value)
@@ -571,37 +602,6 @@ void ComplexArgumentParser::Finalize(chip::app::Clusters::UnitTesting::Structs::
{
ComplexArgumentParser::Finalize(request.a);
}
-CHIP_ERROR ComplexArgumentParser::Setup(const char * label,
- chip::app::Clusters::TimeSynchronization::Structs::DstOffsetType::Type & request,
- Json::Value & value)
-{
- VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT);
-
- ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("DstOffsetType.offset", "offset", value.isMember("offset")));
- ReturnErrorOnFailure(
- ComplexArgumentParser::EnsureMemberExist("DstOffsetType.validStarting", "validStarting", value.isMember("validStarting")));
- ReturnErrorOnFailure(
- ComplexArgumentParser::EnsureMemberExist("DstOffsetType.validUntil", "validUntil", value.isMember("validUntil")));
-
- char labelWithMember[kMaxLabelLength];
- snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "offset");
- ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.offset, value["offset"]));
-
- snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "validStarting");
- ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.validStarting, value["validStarting"]));
-
- snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "validUntil");
- ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.validUntil, value["validUntil"]));
-
- return CHIP_NO_ERROR;
-}
-
-void ComplexArgumentParser::Finalize(chip::app::Clusters::TimeSynchronization::Structs::DstOffsetType::Type & request)
-{
- ComplexArgumentParser::Finalize(request.offset);
- ComplexArgumentParser::Finalize(request.validStarting);
- ComplexArgumentParser::Finalize(request.validUntil);
-}
CHIP_ERROR ComplexArgumentParser::Setup(const char * label,
chip::app::Clusters::Actions::Structs::EndpointListStruct::Type & request,
Json::Value & value)
@@ -2160,13 +2160,13 @@ void ComplexArgumentParser::Finalize(chip::app::Clusters::SoftwareDiagnostics::S
ComplexArgumentParser::Finalize(request.stackSize);
}
CHIP_ERROR ComplexArgumentParser::Setup(const char * label,
- chip::app::Clusters::TimeSynchronization::Structs::TimeZoneType::Type & request,
+ chip::app::Clusters::TimeSynchronization::Structs::TimeZoneStruct::Type & request,
Json::Value & value)
{
VerifyOrReturnError(value.isObject(), CHIP_ERROR_INVALID_ARGUMENT);
- ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("TimeZoneType.offset", "offset", value.isMember("offset")));
- ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("TimeZoneType.validAt", "validAt", value.isMember("validAt")));
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("TimeZoneStruct.offset", "offset", value.isMember("offset")));
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("TimeZoneStruct.validAt", "validAt", value.isMember("validAt")));
char labelWithMember[kMaxLabelLength];
snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "offset");
@@ -2184,7 +2184,7 @@ CHIP_ERROR ComplexArgumentParser::Setup(const char * label,
return CHIP_NO_ERROR;
}
-void ComplexArgumentParser::Finalize(chip::app::Clusters::TimeSynchronization::Structs::TimeZoneType::Type & request)
+void ComplexArgumentParser::Finalize(chip::app::Clusters::TimeSynchronization::Structs::TimeZoneStruct::Type & request)
{
ComplexArgumentParser::Finalize(request.offset);
ComplexArgumentParser::Finalize(request.validAt);
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h
index f901a9c4186368..8c0036f996e70c 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h
+++ b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.h
@@ -85,6 +85,10 @@ static CHIP_ERROR Setup(const char * label, chip::app::Clusters::DoorLock::Struc
Json::Value & value);
static void Finalize(chip::app::Clusters::DoorLock::Structs::CredentialStruct::Type & request);
+static CHIP_ERROR Setup(const char * label, chip::app::Clusters::TimeSynchronization::Structs::DSTOffsetStruct::Type & request,
+ Json::Value & value);
+
+static void Finalize(chip::app::Clusters::TimeSynchronization::Structs::DSTOffsetStruct::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::Descriptor::Structs::DeviceTypeStruct::Type & request,
Json::Value & value);
@@ -97,10 +101,6 @@ static CHIP_ERROR Setup(const char * label, chip::app::Clusters::UnitTesting::St
Json::Value & value);
static void Finalize(chip::app::Clusters::UnitTesting::Structs::DoubleNestedStructList::Type & request);
-static CHIP_ERROR Setup(const char * label, chip::app::Clusters::TimeSynchronization::Structs::DstOffsetType::Type & request,
- Json::Value & value);
-
-static void Finalize(chip::app::Clusters::TimeSynchronization::Structs::DstOffsetType::Type & request);
static CHIP_ERROR Setup(const char * label, chip::app::Clusters::Actions::Structs::EndpointListStruct::Type & request,
Json::Value & value);
@@ -248,10 +248,10 @@ static CHIP_ERROR Setup(const char * label, chip::app::Clusters::SoftwareDiagnos
Json::Value & value);
static void Finalize(chip::app::Clusters::SoftwareDiagnostics::Structs::ThreadMetricsStruct::Type & request);
-static CHIP_ERROR Setup(const char * label, chip::app::Clusters::TimeSynchronization::Structs::TimeZoneType::Type & request,
+static CHIP_ERROR Setup(const char * label, chip::app::Clusters::TimeSynchronization::Structs::TimeZoneStruct::Type & request,
Json::Value & value);
-static void Finalize(chip::app::Clusters::TimeSynchronization::Structs::TimeZoneType::Type & request);
+static void Finalize(chip::app::Clusters::TimeSynchronization::Structs::TimeZoneStruct::Type & request);
static CHIP_ERROR Setup(const char * label,
chip::app::Clusters::NetworkCommissioning::Structs::WiFiInterfaceScanResult::Type & request,
Json::Value & value);
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp
index 0a6e067f515d1f..bbebf782267a3e 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp
+++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp
@@ -494,6 +494,39 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent,
return CHIP_NO_ERROR;
}
+CHIP_ERROR
+DataModelLogger::LogValue(const char * label, size_t indent,
+ const chip::app::Clusters::TimeSynchronization::Structs::DSTOffsetStruct::DecodableType & value)
+{
+ DataModelLogger::LogString(label, indent, "{");
+ {
+ CHIP_ERROR err = LogValue("Offset", indent + 1, value.offset);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Offset'");
+ return err;
+ }
+ }
+ {
+ CHIP_ERROR err = LogValue("ValidStarting", indent + 1, value.validStarting);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ValidStarting'");
+ return err;
+ }
+ }
+ {
+ CHIP_ERROR err = LogValue("ValidUntil", indent + 1, value.validUntil);
+ if (err != CHIP_NO_ERROR)
+ {
+ DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ValidUntil'");
+ return err;
+ }
+ }
+ DataModelLogger::LogString(indent, "}");
+
+ return CHIP_NO_ERROR;
+}
CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent,
const chip::app::Clusters::Descriptor::Structs::DeviceTypeStruct::DecodableType & value)
{
@@ -566,38 +599,6 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent,
return CHIP_NO_ERROR;
}
-CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent,
- const chip::app::Clusters::TimeSynchronization::Structs::DstOffsetType::DecodableType & value)
-{
- DataModelLogger::LogString(label, indent, "{");
- {
- CHIP_ERROR err = LogValue("Offset", indent + 1, value.offset);
- if (err != CHIP_NO_ERROR)
- {
- DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'Offset'");
- return err;
- }
- }
- {
- CHIP_ERROR err = LogValue("ValidStarting", indent + 1, value.validStarting);
- if (err != CHIP_NO_ERROR)
- {
- DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ValidStarting'");
- return err;
- }
- }
- {
- CHIP_ERROR err = LogValue("ValidUntil", indent + 1, value.validUntil);
- if (err != CHIP_NO_ERROR)
- {
- DataModelLogger::LogString(indent + 1, "Struct truncated due to invalid value for 'ValidUntil'");
- return err;
- }
- }
- DataModelLogger::LogString(indent, "}");
-
- return CHIP_NO_ERROR;
-}
CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent,
const chip::app::Clusters::Actions::Structs::EndpointListStruct::DecodableType & value)
{
@@ -2313,7 +2314,7 @@ DataModelLogger::LogValue(const char * label, size_t indent,
return CHIP_NO_ERROR;
}
CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent,
- const chip::app::Clusters::TimeSynchronization::Structs::TimeZoneType::DecodableType & value)
+ const chip::app::Clusters::TimeSynchronization::Structs::TimeZoneStruct::DecodableType & value)
{
DataModelLogger::LogString(label, indent, "{");
{
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h
index c57766c79a2227..cb1d136ebc92b7 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h
+++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.h
@@ -50,14 +50,14 @@ static CHIP_ERROR LogValue(const char * label, size_t indent,
const chip::app::Clusters::ContentLauncher::Structs::ContentSearchStruct::DecodableType & value);
static CHIP_ERROR LogValue(const char * label, size_t indent,
const chip::app::Clusters::DoorLock::Structs::CredentialStruct::DecodableType & value);
+static CHIP_ERROR LogValue(const char * label, size_t indent,
+ const chip::app::Clusters::TimeSynchronization::Structs::DSTOffsetStruct::DecodableType & value);
static CHIP_ERROR LogValue(const char * label, size_t indent,
const chip::app::Clusters::Descriptor::Structs::DeviceTypeStruct::DecodableType & value);
static CHIP_ERROR LogValue(const char * label, size_t indent,
const chip::app::Clusters::ContentLauncher::Structs::DimensionStruct::DecodableType & value);
static CHIP_ERROR LogValue(const char * label, size_t indent,
const chip::app::Clusters::UnitTesting::Structs::DoubleNestedStructList::DecodableType & value);
-static CHIP_ERROR LogValue(const char * label, size_t indent,
- const chip::app::Clusters::TimeSynchronization::Structs::DstOffsetType::DecodableType & value);
static CHIP_ERROR LogValue(const char * label, size_t indent,
const chip::app::Clusters::Actions::Structs::EndpointListStruct::DecodableType & value);
static CHIP_ERROR LogValue(const char * label, size_t indent,
@@ -134,7 +134,7 @@ LogValue(const char * label, size_t indent,
static CHIP_ERROR LogValue(const char * label, size_t indent,
const chip::app::Clusters::SoftwareDiagnostics::Structs::ThreadMetricsStruct::DecodableType & value);
static CHIP_ERROR LogValue(const char * label, size_t indent,
- const chip::app::Clusters::TimeSynchronization::Structs::TimeZoneType::DecodableType & value);
+ const chip::app::Clusters::TimeSynchronization::Structs::TimeZoneStruct::DecodableType & value);
static CHIP_ERROR
LogValue(const char * label, size_t indent,
const chip::app::Clusters::NetworkCommissioning::Structs::WiFiInterfaceScanResult::DecodableType & value);