
# Release Notes for Smart Energy Framework
## May 14, 2015
## 93000957 Revision H 

1.6.10 RELEASE 
--------------

### Features:

* Version attribute added to responses tag.
* Last report time is now saved to a file to improve performance for long
  interval reporting.
* SEF-266 The Smart Energy Framework will now run on an X4 (using Python 2.4.3).

### Bug Fixes:

* SEF-294 Fixed ZCL sync failure with more than one time server.
* SEF-291 Error is now reported in log when failing to write config file.
* SEF-287 Fixed issue where turning off remote device reporting failed.
* SEF-280 Fixed trivial issue where frame_sent attribute is set incorrectly.
* SEF-279 Invalid attribute values are now handled more consistently.
* SEF-278 Fixed memory leak after zigbee socket exceptions.
* SEF-277 Fixed issue with retry on zigbee socket send resource error.
* SEF-276 Fixed issue with batch reporting when use_push is set to False.
* SEF-275 Flooding duplicate Simple Descriptor Requests are now ignored if
  sent in rapid succession to the gateway.
* SEF-274 The reporting watchdog default has been changed to disabled in favor
  of more robust reporting.
* SEF-261 Fixed several issues where Reporting Manager dump files were being
  created on the gateway.
* SEF-259 SE Framework now waits to synchronize it's own SE network time after
  the OS has has synchronized with an NTP server.
* SEF-257 Floating point numbers now report as "float" instead of "base16" in
  ZCL reporting output.
* SEF-254 Fixed race condition between discovery of ZDO device information 
  and reporting initialization.
* SEF-253 Fixed output of negative integer in ZCL attribute reporting.
* SEF-252 Fixed issue where reports are lost if the 
  SmartEnergyAttributeLimitEnforced throttling is enabled.
* SEF-248 Removed limit of length of first item of XML output to ensure
  responses do not stall.
* SEF-241 Fixed issue where error message was incorrectly returned on a
  successful send_zigbee request.
* SEF-209 Fixed issue where get_local_reporting_configurations does not show 
  the reporting configuration when configured with a ZCL start_reports request.
* SEF-185 Fixed issue where remove_device would generate responses before
  all removal actions were complete.
* SEF-95  Fixed issue where real reporting on X2e SE gateways does not stop 
  without powercycle.

1.6.5 RELEASE 
-------------

### Bug Fixes:

* SEF-151 Issue where SEF starts to fail to push asynchronous messages to Device
  Cloud properly after switching accounts.
* SEF-169 SEF buffer manager refactored for better consistency in reporting, 
  fixed a number of issues related to reporting with buffering.
* SEF-179 Issue where reporting packs integers >32 bit as binary strings for 
  output.
* SEF-33 Change SEF to inherit timezone settings from Gateway, if possible, yet
  still allow manual setting if not.
* SEF-127 ESI Router is issues leave_network request when it should not.
* SEF-139 Default server/client correction option changed to true.
* SEF-140 Smart Energy Framework not converting old style reporting 
  configurations gracefully
* SEF-141 Gateway not falling back to Get Current Price, when Get Scheduled 
  Prices not supported
* SEF-142 Reporting on Smart Energy attribute is not auto-updating though 
  reporting configuration exists.
* SEF-143 PAN ID cannot be set as integer in CP-X2e SE.
* SEF-150 Long delays in attribute reporting sometimes seen after attribute 
  change.
* SEF-152 SEF synchronous responses will occasionally not include the response.
* SEF-155 CP-X2e SE Coordinator can no longer add_device giving error "error 
  registering device: 180".
* SEF-162 Issue where some attributes read correctly with 2D2C load controller.
* SEF-163/146 Fixed issue where CP-X2e SE Coordinator Gateway with ERT/SE 
  Bridge and SE Range Extender stopped updating metering attribute.
* SEF-181 Header generation for ZCL reporting is sorted to prevent data loss.
* SEF-187 Race condition on match_desc_req broadcast as device joins network 
  can break client key establishment
* SEF-189 Fixed issue where remove_device often triggers twice.
* SEF-195 Install Code generates incorrect link key when the CRC is byte 
  switched.
* SEF-197 Race condition on remove_device and match_desc_rsp prevents 
  add_device.
* SEF-198 Firmware reset on coord XBee causes SEF to consider network 
  dropped.
* SEF-92 Device Cloud occasionally fails to respond to reporting push from an
  SE gateway within gateway timeout.
* SEF-137 Custom default registry settings aren't preserved when restoring
  registry settings to default.
* SEF-191 Issue where attribute reports drop long-type request_identifier.
* SEF-199 SEF shouldn't send APSME remove if ZDP leave succeeds
* SEF-200 Added range checking to MAC address checks.
* SEF-177 Removed unnecessary write when loading saved reporting configs

1.6.4 RELEASE
-------------

### Bug Fixes:

* SEF-131: Reporting for multiple devices when configured between 
  reboots caused inconsistent reporting results.
  
1.6.3 RELEASE
-------------

### Bug Fixes:

* SEF-94: Reporting using ZigBee cluster reporting mechanisms now
  works correctly.  Previously, all reporting was pseudo-reporting.
* SEF-83: Reporting of configurations using intervals less than one
  minute no longer generate a backlog.
* SEF-26: When DRLC GetScheduleEvent requests occurred with a
  populated StartTime, we would not respond with the proper events.
* SEF-11: Error reporting and robustness changes to support partner
  link-key exchange for a multi-ESI scenario.

1.6.2 RELEASE
-------------

### Features:

* A reporting watchdog was added to the framework to re-start
  reporting in the event of reporting failures.

### Bug Fixes:

* SEF-88: Virtual attribute reporting failed on reboot when multiple 
  endpoints were present.
* SEF-79: Meter profiling (Get_Meter_Profile command) did not resume
  after reboot in some instances.
* SEF-76: Multiple attribute reporting failed to operate after some
  period of time.
* SEF-62: Reports stopped being generated after some period of time 
  and required a power cycle to resume.

1.6.1 RELEASE 
-------------


### Bug Fixes:
* Day of the week reporting failed to work correctly (45390).
* DST was not handled correctly (45763).
   


1.6.0 RELEASE
-------------

### Important Notes: 

* This version of the framework is only supported on ConnectPort X2e
  and other box products based on Digi Embedded Linux due to memory
  constraints of the ConnectPort X2.
* New XBee firmware version 0x5123 requires a 10 second delay before
  joining devices after changing from a router to a coordinator.
* Default encryption is now APS for most clusters; clusters cannot mix 
  encryption on the same endpoint.

### Features:

* New type 'cron' added to simple parameters.
* Added Buffer Manager system to better control and limit internal memory 
  usage.
..* RPC output buffer now stores outgoing messages using a binary encoding.
..* Reporting groups store their data in a binary format, which should allow 
     for many more data points to be stored during network outages.
..* Total max RAM used by buffers set by Buffer_Manager.max_ram_size in 
     registry settings
..* Total max flash used by buffers set by Buffer_Manager.max_flash_size in 
     registry settings
..* Timeout to move RAM buffers to flash set by 
     Buffer_Manager.store_to_flash_delay in registry settings
..* Priority of RPC output buffer set by RPC_Manager.output_buffer_priority 
     in registry settings
..* Removed RPC_Manager.max_buffer_length (replaced by 
     RPC_Manager.output_buffer_priority) from registry settings
..* Removed RPC_Manager.store_to_flash_delay (replaced by 
     Buffer_Manager.store_to_flash_delay) from registry settings
* Reworked ZCL Reporting
..* Added support for multi-attribute reporting groups, which included adding
     RPC interface methods start_reports, stop_reports, and flush_reports and 
     response message attribute_report
..* Added new ZCL records StartReportRecord, StartReportStatusRecord, 
     StopReportRecord, StopReportStatusRecord, ReportHeaderRecord, and 
     ReportDataRecord.
..* Added support for cron scheduling, used for scheduled reporting
     and scheduled pushes of collected reporting data.
..* Modified the LocalReportingConfigurationRecord to support
     groups and scheduling of collections of readings to be reported
     together. 
..* Depricated start_receiving_reports, stop_receiving_reports, and
     response message received_attribute_report.
..* Pseudo reporting is now the default reporting style; previous
     framework versions would default to attempting real reporting and
     retrying with pseudo reporting on failure.
* RPC Manager now sets a limit on size of outgoing messages using
  RPC_Manager.max_output_length in registry settings.
* main.tick_delay on non-X2 platforms will now default to 0.2
  instead of 0.05 in registry settings.
* Added new commands to the RPC interface to get configuration
  information: get_paths, get_modules, get_endpoints, get_clusters.
* Added parameter "zigbee_time_offset" to get_time response.
* Added timezone support to platforms that don't natively support
  timezone information through RPC commands get_timezone,
  set_timezone, clear_timezone.
* RPC command enable_joining now preserves joining time over reboots. 
* Endpoints now set the default for clusters requiring APS
  encryption.  This will affect all endpoints and any clusters that do
  not specify their encryption level: Endpoint, Cluster, ZCL_Cluster and
  temporary clusters).

### Bug Fixes:

* Re-adding a device no longer overwrites the ephemeral link key
  (41349).
* Devices that are not active on XBee network upon removal no longer
  cycle active/inactive (41346).
* X2e SE Router endpoints are now preserved after xbee NR=0 (44949).
* Flooding the gateway with multiple time requests no longer causes
  the Coordinator to stop responding (40899).





