Change Log¶
1.6.10¶
Changes:
- Added ReportWatchdog.enabled in Registry Settings; set to False (disabled) by default due to various bug fixes since the reporting watchdog was added in 1.6.2.
- Filter duplicate ZDO/ZDP Simple Descriptor Requests received within a 10-second window to improve interoperability with devices that send large numbers of duplicate requests in a short period.
1.6.9¶
Note
Internal release.
Changes:
Delayed the RPC remove_device_response until all over-the-air messaging is complete. Allows easier sequencing in back-to-back operations on the same device, especially when registering the device again immediately with RPC add_device.
1.6.8¶
Note
Internal release.
1.6.7¶
Note
Internal release.
1.6.6¶
Note
Internal release.
1.6.5¶
Changes:
- Timezone and daylight savings time updates can now be inherited from the OS, instead of manually set. See Time Synchronization for more information.
- Added Time_Synchronizer.use_os_timezone in registry settings, set to False by default. See Registry Settings for more information.
- Removed support for duplicate NTP time synchronization within the Smart Energy application code. All time synchronization now handled by the OS.
- Added basic support for the ZCL TimeOfDay and Date attribute types to be handled as unsigned 32-bit integers.
- Default value for ZCL_Endpoint.enable_direction_bit_correction now True in Registry Settings.
- Max value for RPC_Manager.max_output_length now 65536 in Registry Settings.
- Initial registry settings can be optionally defaulted from /WEB/python/default_registry_settings.ini when resetting to defaults through deleting /WEB/python/registry_settings.ini and rebooting. This allows a required custom configuration to be maintained.
1.6.4¶
Note
Internal release.
1.6.3¶
Changes:
- Default value for ZCL_Endpoint.enable_direction_bit_correction now False in Registry Settings.
- Removed support for pre-certification Simple Metering mirror feature of SE 1.1a.
1.6.2¶
Changes:
Added a watchdog to restart ZCL attribute reporting in cases where persistent stalls are encountered.
1.6.1¶
- Changes:
New type ‘cron’ added to Simple Parameter Types.
- 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) in Registry Settings.
- Removed RPC_Manager.store_to_flash_delay (replaced by Buffer_Manager.store_to_flash_delay) in 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 received_attribute_report_collection*.
- 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 General Interface to get configuration information: get_paths, get_modules, get_endpoints, and 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, and 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 Reference, Cluster, ZCL_Cluster, and temporary clusters).
1.6.0¶
Note
Internal release.
1.5.1¶
- Changes:
- Added support for X2e gateway.
- Free memory check only used for NDS. - Background_Thread.watchdog_memory in Registry Settings. - Background_Thread.watchdog_memory_duration in Registry Settings. - Background_Thread.watchdog_memory_interval in Registry Settings.
1.5.0¶
- Changes:
New Zigbee OTA Upgrade Cluster Interface (ZigBee standard over-the-air firmware upgrades) included by default for gateways.
- Time synchronization on the gateway is transitioning to being handled by the underlying operating system instead of the Python code. Support for NTP will be deprecated in the current Python code and disabled by default.
- See Time Synchronization for an overview of how time is handled on the gateway.
- Removed “Time_Synchronizer.use_NTP_server” in Registry Settings.
- Deprecated “NTP_Client.server1” in Registry Settings.
- Deprecated “NTP_Client.server2” in Registry Settings.
- Updated RPC command get_time.
- Removed RPC command set_time.
- Messages in the asynchronous response buffer can now be stored to flash when Registry Settings “RPC_Manager.use_push” is set to True. (See Asynchronous Requests).
- Added RPC_Manager.store_to_flash_delay in Registry Settings.
Internal representation of XML data types now uses a compressible representation call TreeParser instead of the standard ElementTree Python module. (See XML Parameter Type).
- The maximum size of the asynchronous output buffer was changed from using a number of messages to a number of bytes. This changes helps control the actual amount of memory used since message sizes can vary greatly. (See Asynchronous Requests).
- Removed “RPC_Manager.max_buffer_items” in Registry Settings.
- Added “RPC_Manager.max_buffer_length” in Registry Settings.
- New discovery_status information given to indicate when gateway has finished automated service discovery for each device.
- New status code “Device Discovery Complete” added to RPC Command message*. (See Remote Device Status).
- Added parameter “discovery_status” to message* with status code “Joined Network”. (See Local Device Status).
- Added parameter “discovery_status” to message* with status code “Known Device Active”. (See Remote Device Status).
- Added parameter “discovery_status” to message* with status code “Unknown Device Active”. (See Remote Device Status).
- Added parameter “discovery_status” to ZDODeviceRecord which is used in the response to get_device_information.
RPC command refresh_device_information can optionally remove inactive devices from the device list with the parameter “clear_inactive”. (See get_device_information to get device list).
RPC command read_attributes updated to automatically discover and read all of the attributes on a cluster if no list of attributes is supplied.
RPC command get_meter_profile updated to accept different parameters and to send multiple ZigBee level messages to retrieve meter profile data. (See new parameters added to GetProfileRecord).
New RPC command request_fast_poll_mode added.
- Background memory check updated. Instead of periodically allocating a large buffer to check for memory availability, the system queries the operating system for available memory.
- Removed “Background_Thread.watchdog_alloc” in Registry Settings.
- Removed “Background_Thread.watchdog_alloc_interval” in Registry Settings.
- Added “Background_Thread.watchdog_memory” in Registry Settings.
- Added “Background_Thread.watchdog_memory_duration” in Registry Settings.
- Added “Background_Thread.watchdog_memory_interval” in Registry Settings.
RPC parameters “source_endpoint_id” and “destination_endpoint_id” will now default based on service discovery for RPC functions (including ZigBee Interface).
- Parameter “attribute_type” no longer required for local writes or reporting configurations when using pseudo reporting:
Parameter “max_interval” in AttributeReportingConfigurationRecord can now exceed 0xFFFE when pseudo_reporting is set to True in RPC command start_receiving_reports.
New RPC command registry_restore_defaults added.
Added Registry Settings “SE_Profile.profile_version_1_X” to set whether the gateway uses Smart Energy Version 1.0 or 1.1.
Added Registry Settings “Time_Server.enable_superseding_bit” to force a gateway’s time server to be the authoritative time server on a Smart Energy 1.1 network.
Removed “ZDO_Device_Manager.require_explicit_device_add” in Registry Settings. This feature is no longer supported.
Parameter “signature” in ReportEventStatusRecord has become optional.
Time cluster servers will automatically set their time zone and daylight savings time from the Python time module if available (See ZCL_TimeCluster_server).
1.4.1¶
Note
Internal release.
1.4.0¶
- Changes:
- Added background watchdog thread. This watchdog is an independent Python thread that periodically checks to make sure the main Python code is still running. It also periodically allocates buffers to check that there is contiguous RAM available to the Python code.
- See Background_Thread.watchdog_alloc in Registry Settings.
- See Background_Thread.watchdog_alloc_interval in Registry Settings.
Removed registry option Conversation.TX_status_timeout. (See Registry Settings).
Changed default value for registry option Conversation.default_timeout from 30 to 10. (See Registry Settings).
Removed registry option Endpoint.max_socket_retries. (See Registry Settings).
Removed registry option RPC_Manager.pushed_file_extension. (See Registry Settings).
Changed default value for registry option RPC_Manager.use_push from False to True. (See Registry Settings).
Added registry option ZCL_Cluster.ignore_incomplete_records. (See Registry Settings).
Added registry option ZigBee_Socket.max_socket_retries. (See Registry Settings).
New parameters added to get_time.
- RPC parameters “source_endpoint_id” and “destination_endpoint_id” will now default based on service discovery.
- See RPC functions in ZCL Interface.
- See RPC functions in SE Interface.
- RPC functions in ZigBee Interface do NOT default “source_endpoint_id” or “destination_endpoint_id”.
RPC command remove_device has new optional parameter “remove_from_network”.
The response to the RPC command get_zigbee_network_status has a new parameter “certificate_type”.
RPC command configure_zigbee_network has new optional parameter “network_key”.
New RPC command get_join_status.
New RPC command clear_join_status.
RPC command xbee_AT has new optional parameter “apply”.
RPC command read_reporting_configuration has decremented parameter “remote_configuration”.
RPC command send_ZCL has new optional parameter “disable_default_response”.
- New status codes added for the message* command added:
- See message codes for Local Device Status.
- See message codes for Remote Device Status.
- See message codes for ZigBee Conversation Status.
Added Registry Settings “Version.version” to report the current version of the Python code running. This is useful because the version will be saved in registry.ini and can be used to determine the last version that was run on a gateway.
Time cluster servers will only support the standard time and local time attributes if the required time zone and daylight savings attributes are set on the gateway (See cluster_ZCL_TimeCluster_server).
1.3.3¶
- Changes:
- New Remote Device Status codes added to RPC response message*.
- New ERT Meter Configuration Interface added.
1.3.0¶
Note
This is the initial version of the Smart Energy Framework for this documentation.
1.2.1¶
Note
This version was released prior to this documentation and is not covered by this User’s Guide.
1.1.1¶
Note
This version was released prior to this documentation and is not covered by this User’s Guide.
1.1.0¶
Note
This version was released prior to this documentation and is not covered by this User’s Guide.