HOW TO: Change the SE Framework Registry setting of a ConnectPort X2e SE gateway so that Smart Energy network DST changes are managed by NTP on the Gateway

As of SE Framework version 1.6.5, the ConnectPort X2e for Smart Energy (Note: Applicable to ESI-type gateways only) now has two ways to manage the semi-annual updating of the Daylight Savings Time start/end dates on a Smart Energy network.


The ConnectPort X2e for Smart Energy gateway which you want to configure must be in a Digi Remote Manager account which you have access to (free or subscribed).  The CP-X2e SE gateway also must be running Smart Energy Framework version of 1.6.5 or later, and have an ESI role on your Smart Energy Network (an IHD Gateway gets its time from an ESI).

Reference Link:  HOW TO: Create a free 5-device Device Cloud Developer Edition account

Old default method:  Calculate DST start/end for your timezone then apply the settings manually:

In SE Framework versions 1.6.4 and earlier (also the default for SE Framework 1.6.5 or later) , a user needs to manually update the Daylight Savings Time Start/End values of each Gateway/SE network, each year.  This update can only be performed after the user has calculated the epoch 2000 values of DST start/end, of whatever timezone the Gateway resides in.

So how does one determine the Daylight Savings Time (DST) Start and End values for their time zone in a given year?   You'd likely need to find a calculator, then calculate the epoch 2000 values for DST start/end in your timezone with a process similar to this:

1. Determine the +/- offset in seconds from GMT for the non-DST timezone which the Gateway resides in 
2. Determine the Daylight Savings Time (DST) Start/End in epoch 1970 for the present year
3. Convert epoch 1970 DST start/end dates epoch 2000 by subtracting the time difference from 1/1/1970 to 1/1/2000 in seconds (i.e. subtract 946684800)
4. Use the numbers above to configure the time cluster of your SE device using write_attributes or set_timezone.

Here is how a get_timezone configuration output might look, using the CP-X2e SE Coordinator's default settings of manually updating the DST settings of the Gateway's Smart Energy network:

<get_timezone_response timestamp="1459958880">
  <use_os_timezone type="bool">FALSE</use_os_timezone>
  <gateway_timezone type="dict">
    <timezone type="int">-0x7080</timezone>
    <altzone type="int">-0x6270</altzone>
    <dst_end type="int">0x1FB1AD90</dst_end>
    <dst_start type="int">0x1E77F6A0</dst_start>

The field marked in bold is the field which indicates whether time needs to be manually set on the network (value of "false") vs. the Gateway managing that time via its Operating System (if the value was "true").

This is the default way of calculating time for the Smart Energy network of a ConnectPort X2e for Smart Energy gateway, even for SE Framework version 1.6.5 and beyond.  What SE Framework version 1.6.5 has added however, is an alternate way of managing the DST start/end times each year...  by using the ConnectPort X2e SE's Linux OS and its required NTP server connectivity to manage the semi-annual DST updates going forward.

New method:  Configure a correct Timezone on your Gateway, then let the Gateway manage DST start/end:

With SE Framework version 1.6.5 or later, a slight modification can be made to the registry settings of the SE Framework, which will allow the Gateway to manage the DST updates for you (as long as the Gateway itself is configured for the correct timezone).

Here is a screenshot of the Registry settings of a ConnectPort X2e SE Coordinator ESI Gateway's "time" configuration area:

To change the SE Framework so that Smart Energy DST updating is now managed by the Gateway's OS via NTP server connectivity:

1. Click the Set Value button (indicated by the Pointer in the screenshot above)
2. Change the Current Value listed by typing the word "true" in the New Value field, then clicking the "Set" button as shown in the screenshot below:

From this moment onward, the semi-annual DST updating of the Smart Energy network will now be maintained by the Linux OS running on your Gateway, via the NTP Server connectivity it maintains.

If you run the get_timezone command again after the changes mentioned above, the output would look similar to this now:

<get_timezone_response timestamp="1459960549">
  <use_os_timezone type="bool">TRUE</use_os_timezone>
  <gateway_timezone type="dict">
    <timezone type="int">0x0</timezone>

If you wish to return to manually setting/managing DST updates on the Smart Energy network, the Time_Synchronizer.use_os_timezone field can be returned to the default value of "false" by either manually setting the field using the method above, or factory defaulting the Registry settings of the Gateway's Smart Energy Framework (since "false" is the default value).

Regardless of which method is used to manage the DST updates semi-annually, the "time" which is used on the SE network of the Gateway is still based on how successfully your Gateway is keeping time to begin with.  If you feel that the time itself is "off" or not correct on your Gateway, be sure to read the top article listed below especially.  The top article listed below will help ensure your Gateway is setup to accurately track time in the first place.

Additional Reading:

Recommended Time Server (NTP) configuration for ConnectPort X2e for Smart Energy and XBee Gateways
HOW TO: Change a ConnectPort X2e Smart Energy Coordinator Gateway to a Router Gateway and Vice Versa
Last updated: Jun 19, 2019

Recently Viewed

No recently viewed articles