Downloads
v 2.2.2
Release Date: 2022-05-05 (May 05, 2022)
Name | Description |
---|---|
Gateway API Library (including all dependencies) | |
Gateway API Javadoc |
This release focuses on
Release Notes
- Default Response of NO_IMAGE_AVAILABLE should be sent if ImageBlockRequest is received when no image on the server
v 2.2.1
Release Date: 2022-03-29 (March 29, 2022)
Name | Description |
---|---|
Gateway API Library (including all dependencies) | |
Gateway API Javadoc |
This release focuses on
Release Notes
- Device Event Add on a coordinator during startup will be delayed until the network is up
- This caused issues on fresh boards as the coordinator's node id is not set until the network is up.
- Clients would have had to both listen for the network-up event AND device event add which caused some confusion and erroneous behavior.
v 2.2.0
Release Date: 2022-02-18 (February 18, 2022)
Name | Location |
---|---|
Gateway API Library (including all dependencies) | |
Gateway API javadoc |
This release focuses on adding Poll Control Support To Device's with Poll Control Server
Release Notes
- Add new Poll Control Manager To Support Adding ZCL/ZDO Unicasts Messages To A Device Specific Queue
- If device has poll control server, poll control manager will attempt to first send the unicast to the device on failure, via aps ack timeout, or response received timeout (depending options)
- On failure, a message will be added to a queue to be sent on a check-in from the device
- The default behaviour can be modified to always add to the message queue without first sending out the unicast to target end device
- On check-in, a check-in-response will be triggered using a configurable default fast poll timeout value
- Added ability to automatically stop fast polling when no more tasks are in the queue
- If device has poll control server, poll control manager will attempt to first send the unicast to the device on failure, via aps ack timeout, or response received timeout (depending options)
- Add poll control events API for clients to listen for when a device has started fast polling and when it has stopped
- Add new API in GatewayClient to read network status
v 2.1.2
Release Date: 2021-11-12 (September 10, 2021)
Name | Description |
---|---|
Gateway API Library (including all dependencies) | |
Gateway API javadoc |
This release focuses on adding Install Code and Trust Center Network Features
Release Notes
- Cluster Revision Attribute for Poll Control Client and Diagnostics Client will be written to a value of 0x0003 on startup
v 2.1.1
Release Date: 2021-09-10 (September 10, 2021)
Name | Description |
---|---|
Gateway API Library (including all dependencies) | |
Gateway API javadoc |
This release focuses on adding Install Code and Trust Center Network Features
Release Notes
- Network Formation Will Correctly Be The Default Network Method At Startup
- Cluster Revision Attributes For Basic, Identify, Alarms, Door Lock and Power client cluster will automatically be written
- Fix issue with ZCL Passthrough Message JSON From Throwing Exception When Deserializing Using toJSON() Method
- Fix ping() (latency request) method json
- Flatten object
v 2.1.0
Release Date: 2021-08-16 (August 16, 2021)
Name | Description |
---|---|
Gateway API Library (including all dependencies) | |
Gateway API javadoc |
This release focuses on adding Install Code and Trust Center Network Features
Release Notes
- Expose More Information In Upgrade Progress for OTA and Serial Upgrades
- upgradeFile
- firmwareVersion
- gatewayDeviceId
- eventId
- timestamp
- Add Install Code API
- Network Formation Used Over HA1.2 Form Network
- Add Network Formation API
- Network Steering Used When Joining For Devices
- Add Network Steering API
- Add Parameters to specify PanID and ExtendedPanId in HA1.2 Form Network
- Add Permit Join, PanID, and ExtendedPanId to network information
Internal Fix
- Extended PanID was not showing correct length of invalid valid when Dialogue failed
v 2.0.16
Release Date: 2021-04-09 (April 09, 2021)
Name | Description |
---|---|
Gateway API Library (including all dependencies) | |
Gateway API javadoc |
This release focuses on internal development changes.
Release Notes
Internal Development Changes
- Add TestHarness API to facilitate automatic pre-release checks
- Allows TestSuites using the TestHarness to specify devices on the local machine to setup a network and run tests with actual devices
- Add ProtocolPassThroughAPI PreRelease Test
- FunctionResult class will no longer have a global public variable for results
- Fix SpotBug warnings with OTA Upgrade Module
- Fix Timer Usages in OTA Upgrade
v 2.0.15
Release Date: 2021-03-25 (March 25, 2021)
Name | Description |
---|---|
Gateway API Library (including all dependencies) | |
Gateway API javadoc |
This release focuses on more stability fixes for OTA Upgrade, adding more test coverages, and refactoring internal classes into appropriate modules.
Release Notes
Public API
- Add More Documentation To ZCL Unicast, Broadcast, and Multicast Methods That Matches The External Documentation On Confluence.
- Fix Issue of usage of FunctionObject interpreting integers as double for ZCL Unicast, Multicast and Broadcast.
- Fix unintended exception being thrown when using ConfigureReportingFunctionParameter to configure reporting.
- Fix OTA Upgrade Edge Case of Set OTA Upgrade Delay, Wait, Pause, Wait, and Unpause during mid upgrade. The OTA upgrade will now proceed as normal.
Internal Development Changes
- Refactored Usages of ZigBee Global class in zigbee-spec to add more convenience methods for converting to native zigbee types
- Removed redundant objects
- Add More coverage for edge cases to the InternalOtaHandler
v 2.0.14
Release Date: 2021-02-26 (February 26, 2021)
Name | Description |
---|---|
Gateway API Library (including all dependencies) | gateway-api-2.0.14-standalone.jar |
Gateway API javadoc | gateway-api-2.0.14-javadoc.jar |
This release focuses on more stability fixes for OTA Upgrade, adding more test coverages, and refactoring internal classes into appropriate modules.
Release Notes
Public API
- Fix issue where if a client were to send an image notify with no OTA file registered, all following image notifies would have been ignored.
- Fix issue of one-time delay being ignored if unpauseOtaUpgrade() is called immediately after SetRateLimitPolicy().
- Fix issue where two abort progress reports are observed when OTA server is brought down mid upgrade, and immediately brought back up.
Internal Development Changes
- Add more test coverage for ZCLAttributeWriteHandler in rapidconnectdevice module.
- Move ZCL Utilities and ZigBee ZCL classes from rapidconnectdevice module to zigbee-spec module.
- Remove dependency of rapidconnectdevice module from zigbee-spec.
- Add new API to internal FunctionResult class to start using actual Java objects instead of marshalling/unmarshalling JSON strings to facilitate device interactions internally.
v 2.0.13
Release Date: 2021-02-05 (February 05, 2021)
Name | Description |
---|---|
Gateway API Library (including all dependencies) | gateway-api-2.0.13-standalone.jar |
Gateway API javadoc | gateway-api-2.0.13-javadoc.jar |
This release is an internal maintenance release meant to facilitate upgrading aging test dependencies (JUNIT4). This change affects the entire rotarran-framework
Release Notes
- Remove JUNIT4 as a dependency in place of JUNIT5 (5.7.0)
- Upgraded Mockito from 2.23 to 3.7.7
- Modified every unit test, and integration test to use JUNIT5 API annotations and API
- Modified how integration and unit test reports are generated in GAPI
- Build plan had to change to accommodate this change
- Unit test results that are tested on the enterprise board will be created under the following path:
- ../unit_test_results/TEST-junit-jupiter.xml
- Integration test results that are tested on the enterprise board will be created under the following path:
- ../integration_test_results/TEST-junit-jupiter.xml
- JUNIT5 Test results will still output an XML file based on the legacy JUNIT XML format
- Add more unit tests to be tested on the enterprise board environment
- OTA Pause or Rate Limit Policy will now correctly be applied in edge cases where it is followed immediately right before a startOTAUprade():
v 2.0.12
Release Date: 2020-12-22 (Dec 22, 2020)
Name | Description |
---|---|
Gateway API Library (including all dependencies) | gateway-api-2.0.12-standalone.jar |
Gateway API javadoc | gateway-api-2.0.12-javadoc.jar |
This release is an internal maintenance release
For more information regarding new and modified methods, see the API Documentation.
Release Notes
- Change Write Attributes to use ZCL Unicast instead of using RHAZCLWriteAttributeRequest
- ManufacturerCode is now used automatically
- Fixed Issue when stopping OTAUpgrade, the upgrade will start again in the next QueryNextImageRequest
- Fixed Issue where if AllowAllUpgrades flag is false, and if end device does not hear ImageNotify, it will go ahead with an OTA upgrade on the next QueryNextImage
- If we do not receive a response to ImageNotify, then we consider that upgrade "Cancelled"
- Update Abort Mechanism to abort with ImageBlockResponse instead of a DefaultResponse
- ImageBlockResponse will contain the status of 95 as the payload as per spec
- Fix Internal FunctionObject JSON Serialization
- Add Access Control to Property.toString() method
v 2.0.11
Release Date: 2020-11-27 (Nov 27, 2020)
Name | Description |
---|---|
Gateway API Library (including all dependencies) | gateway-api-2.0.11-standalone.jar |
Gateway API javadoc | gateway-api-2.0.11-javadoc.jar |
This release is a maintenance release meant to fix bugs.
For more information regarding new and modified methods, see the API Documentation.
Release Notes
- SimpleCli Bind and Unbind commands will not throw a more meaningful error on an incorrect payload
- Added Move To Level With Transition Time Functionality In LightDevice
- SimpleCli will now have a new command "moveToLevelTransition"
- Logging Behaviour Modified
- The Gateway API will no longer generate logs files by default, even if clients have their own logging configuration
- To enable the Gateway API to generate log files on its own, the environment variable 'GAPI_DEBUG_FILE' must be present
- Rolling Logs generated by the Gateway API will be reduced to a total of 20MB and only allowed to have a history of 1.
- Gateway API has the capabilities to log to a Syslog daemon on the localhost via port 514 for Linux hosts
- This can be turned on via defining the environment variable 'GAPI_SYSLOG'
- The Gateway API will no longer generate logs files by default, even if clients have their own logging configuration
v 2.0.10
Release Date: 2020-06-22 (June 22, 2020)
Name | Description |
---|---|
Gateway API Library (including all dependencies) | gateway-api-2.0.10-standalone.jar |
Gateway API javadoc | gateway-api-2.0.10-javadoc.jar |
This release is a maintenance release meant to fix bugs.
For more information regarding new and modified methods, see the API Documentation.
Release Notes
- Fixed Thermostat properties from not being updated (KeypadLockout TemperatureDisplayMode, TemperatureSetpointHold, and FanModeSequence)
- Some property names had inconsistent naming scheme from the rest of the properties which causes confusion amongst clients
- Door locks, especially ones with the WWAHU cluster, can now discover its properties
- Send ZCL Command caused issues in simple cli due to missing validation for the "Is Cluster Specific?" prompt
- JSSC will no longer throw IO Exceptions into the console needlessly as it causes confusion in the simple cli, especially on gateway devices
v 2.0.9
Release Date: 2020-06-05 (June 5, 2020)
Name | Description |
---|---|
Gateway API Library (including all dependencies) | gateway-api-2.0.9-standalone.jar |
Gateway API javadoc | gateway-api-2.0.9-javadoc.jar |
This release introduces an OTA Upgrade server implementation, so that remote devices on the network (that have an OTA Client cluster) can be upgraded over-the-air.
For more information regarding new and modified methods, see the API Documentation.
Release Notes
- Added Groups API to facilitate groups management of Gateway Devices
- Added a new OTA Rate Limit Policy API
- Pause/Unpause OTA upgrades
- Slow down OTA upgrades
- Speed up OTA upgrades
- Added new and optional GatewayClientBuilder to facilitate construction of a GatewayClient object
- Added a new RapidConnect Passthrough Mechanism
- A client can now register listeners to consume sent Rapidconnect frame events
- A client can now register listeners to consume received RapidConnect frame events
- A client can now send raw RapidConnect frames from a gateway object
- OTA API Improvements
- Fixes edge cases when registering OTA FIles and Handlers moments after GatewayClient has been initialized
- OTA Progress handlers will now be called on a separate thread
- Various Bug Fixes
- ping() method now returns a timeout correctly if devices go beyond the internal timeout
- Can No longer register duplicate OTA Files
v 2.0.8
Release Date: 2020-02-21
Name | Description |
---|---|
Gateway API Library (including all dependencies) | gateway-api-2.0.8-standalone.jar |
Gateway API javadoc | gateway-api-2.0.8-javadoc.jar |
Gateway API Sample Code | gateway-api-sample-2.0.8.zip |
This release introduces an OTA Upgrade server implementation, so that remote devices on the network (that have an OTA Client cluster) can be upgraded over-the-air.
For more information regarding new and modified methods, see the API Documentation.
Release Notes
- Added an OTA Server API, allowing users to register/deregister OTA upgrade files to be served over the network, start/stop OTA upgrades on remote devices, and monitor their progress.
- Added ZigbeeDevice API to multicast and broadcast protocol commands.
- Simplified the API by removing the "Status" class; has been merged with the UpgradeStatus class for clarity
- Various other stability and reliability improvements.
v 2.0.7
Release Date: 2019-12-06
Name | Description |
---|---|
Gateway API Library (including all dependencies) | gateway-api-2.0.7-standalone.jar |
Gateway API javadoc | gateway-api-2.0.7-javadoc.jar |
Gateway API Sample Code | gateway-api-sample-2.0.7.zip |
This release focuses on stability and reliability improvements.
Release Notes
- Simplified the API by removing the CommandData class, which was no longer necessary.
- Changed ZigbeeDevice.sendZclCommand to specify whether the command requires a response. This flag should be set to avoid errors when sending commands that don't have responses.
- Fixed issues with Property Update handler not triggering on all possible zigbee attributes.
- Fixed issue with OnOff property showing that it was not writable.
- Fixed issue with ZigbeeDevice.sendZclCommand not setting the Manufacturer Code properly, if a non-zero value was passed in.
- Fixed reliability issues when reading many attributes from a single device at once.
- Fixed some display issues with various zigbee enumeration values not showing up correctly in Property objects.
- Added OSGI metadata into the bundle, for use in frameworks such as Eclipse Smart Home or Eclipse Kura.
- Removed unnecessary methods and classes.
- Various other stability and reliability improvements.
v 2.0.6
Release Date: 2019-10-23
Name | Description |
---|---|
Gateway API Library (including all dependencies) | gateway-api-2.0.6-standalone.jar |
Gateway API Library (thin jar) | gateway-api-2.0.6.jar |
Gateway API javadoc | gateway-api-2.0.6-javadoc.jar |
Gateway API Sample Code | gateway-api-sample-2.0.6.zip |
This release focuses on performance improvements and bug fixes.
Release Notes
- Improved the performance of the serial port handling code on Linux and macOS by properly blocking when waiting for bytes. This noticeably improves overall system performance on single core CPUs.
- Fixed issues when configuring attribute reporting on devices whose properties haven't been discovered yet.
- Fixed issues with duplicate Property names. Property names that are derived from zigbee attributes names now have unique values. See Zigbee Attribute Names for updated names.
- Added "getAccessControl" method to Property class, which will return whether the Property is read only, write only, or read/write.
- In SimpleCli, renamed the "getLatency" command to "ping".
v 2.0.5
Release Date: 2019-09-23
Name | Description |
---|---|
Gateway API Library (including all dependencies) | gateway-api-2.0.5-standalone.jar |
Gateway API Library (thin jar) | gateway-api-2.0.5.jar |
Gateway API javadoc | gateway-api-2.0.5-javadoc.jar |
Gateway API Sample Code | gateway-api-sample-2.0.5.zip |
The main focus of this release is performance and reliability improvements when dealing with network actions such as device discovery, reading cached values, binding, and updating device properties.
Note that certain API's have been refactored and are not backwards compatible. See Release Notes below for more details.
For more information regarding new and modified methods, see the API Documentation.
Release Notes
- Added the ping() method to the Device class, which will return round-trip latency between the Device and the Gateway
- Added the getManufacturerName(), getHardwareVersion(), getModelNumber() convenience methods to the Device class, which will smartly use cached values once those properties have been obtained the first time
- Improved network discovery performance for sleepy end-devices, and end-devices in general
- Improved Device discovery so that more is known about the device before it is added to the GatewayClient's list of known Devices
- Improved IasZone sample application to handle Zone Enrol requests more reliably
- Improved IasZone sample application to write the Ias_Cie_Address property on the remote device more reliably
- Improved binding so that you can bind to properties that haven't been discovered yet
- Fixed various issues when calling updateProperty on a Device whose attributes haven't been discovered. Now, calling updateProperty should work all the time, regardless of what is known about the Device
- Fixed various issues with setting/getting the heating/cooling setpoint of a Thermostat through the SimpleCli application and ThermostatDevice API
- Fixed various issues with cached properties so that they reliably reflect the last known value on the Device
- Fixed issues with GreenPower endpoints showing up as separate devices. Now they're filtered out
- Return more descriptive error codes when common operations fail
- Refactored the following methods in the ThermostatDevice class for clarity: readMode() → readSystemMode(), adjustSetpoint(SetpointModeEnum setpointMode, int amount) → adjustOccupiedSetpoint(SetpointModeEnum setpointMode, double amount)
- Refactored the following methods in the ThermostatDevice class for clarity: readSetpointLimit(Setpoint setpoint) is now two methods: readOccupiedCoolingSetpoint() and readOccupiedHeatingSetpoint()
- Refactored the following methods in the ThermostatDevice class for clarity: setSetpointLimit(Setpoint setpoint, int setpointLimit) is now two methods: setOccupiedCoolingSetpoint(double temperature) and setOccupiedHeatingSetpoint(double temperature)
- Various other fixes and improvements
v 2.0.4
Release Date: 2019-08-01
Name | Description |
---|---|
Gateway API Library (including all dependencies) | gateway-api-2.0.4-standalone.jar |
Gateway API Library (thin jar) | gateway-api-2.0.4.jar |
Gateway API javadoc | gateway-api-2.0.4-javadoc.jar |
Gateway API Sample Code | gateway-api-sample-2.0.4.zip |
This release focuses on improving the experience of working with zigbee devices and attributes, as well as making it easier and faster to read and discover properties on a Device.
Human-readable zigbee Properties
Gateway API will now return generic Property objects for any zigbee attributes that exist on the Device. Property objects will refer to zigbee attributes by their human-readable names (instead of a numeric ID), and will identify the type of the attribute. All attributes in the zigbee spec are supported and can be read using the getProperty(String) method. All zigbee attributes that are writable can be written using the updateProperty(Property) method, by simply referring to the name of the attribute and passing in a String representation of the value to be updated.
See the Zigbee Attribute Names document for a full list of zigbee attributes that can be used with the Properties API.
Further, new API's have been provided for users to read/write zigbee attributes, or call zigbee commands, using raw bytes as an alternative to the human-readable zigbee Property objects. See the ZigbeeDevice API for more info.
Reading and Discovering Properties
The getProperties() method has been changed so that it no longer does a full discovery of all the attributes on all the clusters of a Device. Users can use the new discoverAllProperties() method to initiate a full discovery process, with the caveat that it is an expensive network operation and should not be called repeatedly.
The behaviour of getProperties() has changed so that it will refresh a list of known Property objects on the Device. If there are no known Property objects on the Device (for example, because they haven't been read via a call to getProperty(String), or discovered via a call to discoverAllProperties(), or otherwise reported to the Gateway via Attribute Reporting, etc), then getProperties() will return no Properties.
The behaviour of getProperty(String) has been changed so that it can be used to obtain a single Property without having to do a full discovery of the Device. If a Property exists on the Device, it will be added to the list of known Property objects that is refreshed via a call to getProperties().
The behaviour of getProtocolProperties() has also been changed to match that of getProperties().
For more information, see the API Documentation.
Release Notes
- Allow users to use getProperty without triggering a full discovery of the Device.
- Change getProperties so that it only refreshes a list of known Property objects on the Device, rather than refreshing every single attribute on every single cluster of the Device.
- Add a new method: "discoverAllProperties" to do a full discovery of a Device.
- Implement a Generic Attribute Property that is returned whenever a zigbee attribute is found on a Device.
- Allow users to get or update any zigbee attribute by name and string value.
- Alternatively, allow users to read/write any zigbee attribute, or send any zigbee command, using raw bytes.
- Allow users to form networks on the channel of their choice, instead of automatically picking the best channel.
- Fix an issue where an unsuccessful "bind" command would return as if it succeeded.
- Fix issues with "getCachedXXX" methods not always returning the correct cached value.
- Fix issues with network formation on some older versions of RapidConnect firmware. Sometimes, the network state would be unknown after connecting to and configuring a RapidConnect Module.
- Fix issues with helper methods on the ThermostatDevice class not always working.
- Fix issues with "getConnectedGatewayId" returning the wrong Device object.
- Renamed the "level" Property on LightDevice to "CurrentLevel".
- Renamed GenericDevice to ZigbeeDevice.
- Renamed getNetworkStatus(ConnectionInfo) to getNetworkInfo(ConnectionInfo), and return a NetworkInformation class that contains more information about the network.
- Various other stability and reliability improvements.
v 2.0.3
Release Date: 2019-05-31
Name | Description |
---|---|
Gateway API Library (including all dependencies) | gateway-api-2.0.3-standalone.jar |
Gateway API Library (thin jar) | gateway-api-2.0.3.jar |
Gateway API javadoc | gateway-api-2.0.3-javadoc.jar |
Gateway API Sample Code | gateway-api-sample-2.0.3.zip |
This release implements changes to make it easier for integrators to use the API, plus a new Zigbee Passthrough API, as well as the usual bug fixes and stability improvements. Further, there are more sample applications and improvements to the documentation as well.
Note: The 2.x versions of the Gateway API are not backwards compatible with the 1.x versions. Some method have changed their names and behaviours.
For more information, see the API Documentation.
Release Notes
- New Zigbee Passthrough API, allowing developers to interact with the underlying protocol if needed
- New getProperties API and behaviours, allowing developers to get the last known (cached) values without hitting the network
- New Property API for Occupancy Sensors
- Added IAS Zone client cluster to the default GatewayClient configuration for zigbee Coordinators
- Added Device API to obtain the Gateway Id that a Device is connected to
- Added GatewayClient API to obtain the Gateway Id's that the GatewayClient has been initialized with
- Added the ability for users to define their own GatewayClient configuration file for zigbee Coordinators (for example, to support Manufacturer Specific clusters)
- Added the ability for users to form a network on the channel of their choice, instead of always automatically choosing the best channel
- Improved the reliability and accuracy of the getProperties/getCachedProperties API
- Improved the reliability and accuracy of the getProtocolProperties/getCachedProtocolProperties API for zigbee devices
- Improved the behaviour of the getProperties API so that it is properly asynchronous
- Various improvements to the reliability of the Serial Acknowledgement scheme, especially during bootloading or serial upgrading
- Various improvements to the getDevices API (renamed from listDevices); returned devices don't include the GatewayClient anymore
- Various bug fixes when interacting with Thermostat devices
- Various bug fixes when interacting with Lighting devices
- Various bug fixes when interacting with Occupancy Sensor devices
- Various bug fixes and improvements to JSON interfaces and objects
- Fixed invalid clusters from the GatewayClient configuration for zigbee Coordinators
- Better sample code showing how to automatically discover devices on the network
- Better sample code showing how to interact with Occupancy Sensors (discover, register, bind, enrol, and handle alarms)
Migration Notes from 1.x to 2.x
Changes to GatewayClient
Added
- public GatewayClient(ConnectionInfo connectionInfo, DeviceEventHandler handler, String configFilePath) throws GatewayConnectionException
- public CompletableFuture<NetworkStatus> createNetwork(ConnectionInfo c, List<Integer> channels)
- public Collection<Device> getGatewayDevices()
Modified
- renamed the DeviceEventListener interface to DeviceEventHandler
- renamed the addDeviceEventListener method to addDeviceEventHandler
- renamed the removeDeviceEventListener method to removeDeviceEventHandler
- renamed the removeAllDeviceEventListeners method to removeAllDeviceEventHandlers
- renamed all “listDevices” methods to “getDevices”, in order to be more consistent with the other method called getDevice
Changes to Device
Added
public Collection<Property> getCachedProperties()
public Optional<Property> getCachedProperty(String propertyName)
public Collection<Property> getCachedProtocolProperties()
public boolean addProtocolHandler(BiConsumer<Device,String> handler)
public boolean removeProtocolHandler(BiConsumer<Device,String> handler)
public boolean removeAllProtocolHandlers()
Modified
- Renamed DefaultDevice to GenericDevice
- Renamed getRawProtocolProperties to getProtocolProperties
- DeviceType now has an extra field called “category”, which is a String that can be used to identify the category of device (i.e. lighting, occupancy sensor, combined interface, etc).
- Changed return value of getProperties
- Changed return value of getProperty
- Changed return value of getProtocolProperties
- addPropertyUpdateListener(Consumer<Property>) has been replaced with addPropertyUpdateHandler(BiConsumer<Device, Property> handler)
- removePropertyUpdateListener(Consumer<Property>) has been replaced with removePropertyUpdateHandler(BiConsumer<Device, Property> handler)
v 1.0.2
Release Date: 2018-09-26
This release focuses on fixing some critical issues with the LightDevice API, as well as incorrect cached values for Devices. Further, it increases the reliability of Property discovery methods, and adds binding and attribute reporting functionality for zigbee devices.
Release Notes
- Added binding and attribute reporting functionality for zigbee devices. This allows devices to automatically report when their properties have changed. See the bind(), unbind(), configureReporting(), and enableDefaultReporting() methods in the Device API documentation for more information.
- Added the getApiVersion() method, which will return the version of the Gateway API being used.
- Added command to the sample application to toggle logging on/off.
- Added commands to sample application to exercise the bind/unbind/enableReporting methods.
- Fixed issue with LightDevice on()/off() convenience method not working (issue introduced in v 1.0.1).
- Fixed issues with cached values not updating correctly.
- Improved the reliability of discovery methods.
- Improved getProperties() call to return whether a retry is required because not all properties were discovered.
- Various fixes and improvements.
v 1.0.1
Release Date: 2018-09-06
This release focuses on fixing bugs and improving system reliability.
Release Notes
- Fixed issue with property update listener triggering twice.
- Fixed issue with LightDevice.readLevel not reporting the same value as LightDevice.moveToLevel due to rounding error.
- Fixed issue with LightDevice property values being JSON strings when they should have been simple values.
- Fixed issue with getProperties/getProperty API not triggering a discovery when nothing is known about the device.
- Fixed issue with motion sensors leaving the network a few minutes after joining for the first time.
- Various improvements to the messaging sub-system, which should result in improved system reliability.
- Added more unit and integration testing.
v 1.0.0
Release Date: 2018-08-14
This release focuses on adding device support for Occupancy Sensors, adding new properties for Thermostats, as well as improving system stability and performance.
Release Notes
- Added Thermostat properties (System Mode, Local Temperature, Occupied Heating/Cooling Setpoint, Thermostat Running Mode, Fan Mode).
- Added support for Nyce Occupancy Sensors.
- Added support to kick devices off the network.
- Added API method to remove all PropertyUpdateListeners from a Device.
- Fixed getProperties() on ThermostatDevice returning nothing.
- Fixed GatewayClient constructor to throw exception if it cannot connect to, or configure, the device.
- Fixed duplicate local discovery, which should speed-up library startup time.
- Various stability improvements.
- Added more unit and integration testing.
v 0.0.9
Release Date: 2018-07-25
This release focuses on improving the reliability and stability of the system. Future releases will focus on supporting more devices, as well as enhancing support for existing devices.
It is recommended to use this release against the latest version of RapidConnect firmware, which can be found here: RapidConnect Downloads and Documentation.
Release Notes
- Added feature to serial library to log parsing errors.
- Added method to cancel firmware upgrade.
- Fixed LightDevice on/off convenience methods.
- Fixed issue with serial acknowledgement getting turned off.
- Various improvements to the reliability of network commands.
- Various improvements to improve stability and responsiveness.
v 0.0.8
Release Date: 2018-07-04
This release focuses on bug fixes, improving stability and reliability, as well as settling on a Device API that will be expanded upon in future releases.
Release Notes
- Changed 'upgradeFirmware' GatewayClient API to return a CompletableFuture.
- Changed 'getProperty' and 'updateProperty' Device API to return a PropertyCommand object, which contains a CompletableFuture and cached value.
- Added 'getRawProtocolProperties' which does what 'getProperties' used to do; it gets the underlying device properties in the device-specific protocol format (for example Clusters and Attributes if the device is a zigbee device).
- Added OnOff property to LightDevice.
- Added LevelControl property to LightDevice.
- Changed 'getProperties' to return the above device specific properties if they exist.
- Improved the responsiveness of serial communications when connecting to the Module for the first time.
- Improved error reporting for malformed JSON objects.
- Fixed the reliability of network commands (create, dissolve, get network status).
- Fixed 'type' field in JSON Cluster property to display hex value instead of decimal value. For example, zigbee type 0x16 used to display as '22'. Now it will display as '16'.
- Fixed Discovery to properly match responses from the network to requests from the gateway.
- Fixed attribute discovery to retry using default attribute discovery command if extended attribute discovery method is unsupported.
- Various improvements to internal messaging system to handle duplicate requests more reliably.
- Various fixes to improve stability and responsiveness.
Legal Notices
Copyright © 2020 MMB Networks, Inc. All rights reserved.
Confidential materials prepared and delivered by MMB Networks for receipt and review only by any partner subject to a valid and enforceable MMB Networks confidentiality agreement. Any receipt, review, or misuse of any of the content exchanged hereunder by any party not a party to this confidential exchange shall be subject to any and all rights available under the law. All rights, title and interest to the materials shall remain with MMB Networks.
Any suggestions provided to MMB Networks with respect to MMB Networks' products or services shall be collectively deemed “Feedback.” You, on behalf of yourself, or if you are providing Feedback on behalf of your employer or another entity, represent and warrant that you have full legal authority to bind such entity to these terms, agree to grant and hereby grant to MMB Networks a nonexclusive, perpetual, irrevocable, royalty free, worldwide license to use and otherwise exploit such Feedback within any MMB Networks products and services.