Const
Readonly
attributes: { Readonly
dstA list of offsets to apply for daylight savings time, and their validity period. List entries shall be sorted by ValidStarting time.
A list entry shall NOT have a ValidStarting time that is smaller than the ValidUntil time of the previous entry. There shall be at most one list entry with a null ValidUntil time and, if such an entry is present, it shall appear last in the list.
Over time, the node SHOULD remove any entries which are no longer active from the list.
Over time, if the node supports a TimeZoneDatabase and it has information available for the given time zone name, it may update its own list to add additional entries.
If a time zone does not use DST, this shall be indicated by a single entry with a 0 offset and a null ValidUntil field.
Readonly
dstNumber of supported list entries in DSTOffset attribute. This value must be at least 1.
Readonly
localThe computed current local time of the node as a epoch-us (Epoch Time in Microseconds). The value of LocalTime shall be the sum of the UTCTime, the offset of the currently valid TimeZoneStruct from the TimeZone attribute (converted to microseconds), and the offset of the currently valid DSTOffsetStruct from the DSTOffset attribute (converted to microseconds), if such an entry exists.
If the node has not achieved time synchronization, this shall be null. If the node has an empty DSTOffset, this shall be null.
Readonly
timeA list of time zone offsets from UTC and when they shall take effect. This attribute uses a list of time offset configurations to allow Nodes to handle scheduled regulatory time zone changes. This attribute shall NOT be used to indicate daylight savings time changes (see DSTOffset attribute for daylight savings time).
The first entry shall have a ValidAt entry of 0. If there is a second entry, it shall have a non-zero
ValidAt time.
If a node supports a TimeZoneDatabase, and it has data for the given time zone Name and the given Offset matches, the node may update its own DSTOffset attribute to add new DST change times as required, based on the Name fields of the TimeZoneStruct. Administrators may add additional entries to the DSTOffset of other Nodes with the same time zone, if required.
If a node does not support a TimeZoneDatabase, the Name field of the TimeZoneStruct is only applicable for client-side localization. In particular:
• If the node does not support a TimeZoneDatabase, the Name field shall NOT be used to calculate the local time.
• If the node does not support a TimeZoneDatabase, the Name field shall NOT be used to calculate DST start or end dates.
When time passes, the node SHOULD remove any entries which are no longer active and change the ValidAt time for the currently used TimeZoneStruct list item to zero.
This attribute shall have at least one entry. If the node does not have a default time zone and no time zone has been set, it may set this value to a list containing a single TimeZoneStruct with an offset of 0 (UTC) and a ValidAt time of 0.
Readonly
timeIndicates whether the node has access to a time zone database. Nodes with a time zone database may update their own DSTOffset attribute to add new entries and may push DSTOffset updates to other Nodes in the same time zone as required.
Readonly
timeNumber of supported list entries in the TimeZone attribute. This attribute may take the value of 1 or 2, where the optional second list entry may be used to handle scheduled regulatory time zone changes.
Readonly
commands: { Readonly
setThis command is used to set the DST offsets for a node.
• If the length of DSTOffset is larger than DSTOffsetListMaxSize, the node shall respond with RESOURCE_EXHAUSTED.
• Else if the list entries do not conform to the list requirements for DSTOffset attribute, the node shall respond with CONSTRAINT_ERROR.
If there are no errors in the list, the DSTOffset field shall be copied to the DSTOffset attribute.
If the DSTOffset attribute change causes a corresponding change to the DST state, a DSTStatus event shall be generated. If the list is empty, the node shall generate a DSTTableEmpty event.
Readonly
setThis command is used to set the time zone of the node.
If the given list is larger than the TimeZoneListMaxSize, the node shall respond with RESOURCE_EXHAUSTED and the TimeZone attribute shall NOT be updated.
If the given list does not conform to the list requirements in TimeZone attribute the node shall respond with a CONSTRAINT_ERROR and the TimeZone attribute shall NOT be updated.
If there are no errors in the list, the TimeZone field shall be copied to the TimeZone attribute. A TimeZoneStatus event shall be generated with the new time zone information.
If the node supports a time zone database and it has information available for the time zone that will be applied, it may set its DSTOffset attribute, otherwise the DSTOffset attribute shall be set to an empty list. A DSTTableEmpty event shall be generated if the DSTOffset attribute is empty. A DSTStatus event shall be generated if the node was previously applying a DST offset.
Readonly
events: { Readonly
dstThis event shall be generated when the node starts or stops applying a DST offset.
DSTOffsetActive
Indicates whether the current DST offset is being applied (i.e, daylight savings time is applied, as opposed to standard time).
Readonly
dstThis event shall be generated when the node stops applying the current DSTOffset and there are no entries in the list with a larger ValidStarting time, indicating the need to possibly get new DST data. This event shall also be generated if the DSTOffset list is cleared either by a SetTimeZone command, or by a SetDSTOffset command with an empty list.
The node shall generate this event if the node has not generated a DSTTableEmpty event in the last hour, and the DSTOffset list is empty when the node attempts to update its time. DSTTableEmpty events corresponding to a time update SHOULD NOT be generated more often than once per hour.
There is no data for this event.
Readonly
timeThis event shall be generated when the node changes its time zone offset or name. It shall NOT be sent for DST changes that are not accompanied by a time zone change.
A TimeSynchronizationCluster supports these elements if it supports feature TimeZone.