**Not mandatory.** Implement in device if needed by application. 

A segment controller sends this event once a second on the segment that it controls. The data field contains the 8-bit CRC of the segment controller GUID and the time since the epoch (00:00:00 UTC, January 1, 1970) as a 32-bit value. A node that receive (and recognize) this event could respond with a CLASS1.INFORMATION, Type=9 event (HEARTBEAT) and should do so if it does not send out a regular heartbeat event.

Other nodes can originate this event on the segment. For these nodes the data part, as specified below, should be omitted. A better choice for periodic heartbeat events from a node may be [CLASS1.INFORMATION, Type=9 (HEARTBEAT)](./class1.information.md#type9)

All nodes that recognize this event should save the 8-bit CRC in non-volatile storage and use it on power up. When a node starts up on a segment it should begin to listen for the Segment controller heartbeat. When/if it is received the node compares it with the stored value and if equal and the node is assigned a nickname-ID it continues to its working mode. If different, the node has detected that it has been moved to a new segment and therefore must drop its nickname-ID and enters the configuration mode to obtain a new nickname-ID from the segment controller.

If the node is in working mode and its nickname-ID changes, the node should do a complete restart after first setting all controls to their default state.

As a segment can be without a segment controller this event is not available on all segments and is not mandatory. 

 | Data byte | Description | 
 | :---------: | ----------- | 
 | 0 | 8-bit CRC of the segment controller GUID. | 
 | 1 | MSB of time since epoch (optional). |
 | 2  | Time since epoch (optional). | 
 | 3         | Time since epoch (optional).|
 | 4         | LSB of time since epoch | 

Uninitiated nodes have the CRC of the segment controller set to 0xFF.

A node that is initialized on a segment and does not receive a Heartbeat can take the role of segment controller if it wishes to do so. Only one node one a segment are allowed to do this fully by setting its nickname=0 and therefore a standard node should not have this feature built in. Any node can however behave like a segment controller but use a nickname other then zero. 

Time is UTC.
