-
Versions
- ZWave JS Driver Version: 15.3.0
- ZWave JS Server Version: 3.1.0 (Schema Version 43)
-
Breaking Changes
- You now need to build your own PSI for the platforms you wish to target.
Having to maintain the build actions/platforms to keep these updated is eating into the time I have left.
Building a PSI is relatively uneventful - please see the READ ME on how to do this. - DownloadPSI method on the Helper class has been removed.
- Removed support for NET45 and NET5.0
The supported frameworks are as follows:
- NET 48
- NET 6.0
- NET 7.0
- NET 80
- NETSTANDARD 2.0
- NETSTANDARD 2.1 - enableSoftReset has been moved to features.softReset on the ZWaveOptions class
- The NodeStatistics arg on the ZWaveNode class event StatisticsUpdated has been renamed to NodeStatisticsUpdatedArgs
- The ControllerStatistics arg on the Controller class event StatisticsUpdated has been renamed to ControllerStatisticsUpdatedArgs
- The InclusionResult argument has been renamed to InclusionResultArgs
- The ValueUpdated event now uses a dedicated class for the args parameter
- The ValueNotification event now uses a dedicated class for the args parameter
- The NodeRemoved event now contains a reason Enum as to why it was removed.
- The NetworkHealDone and NetworkHealProgress events have been renamed to
RebuildRoutesDone and RebuildRoutesProgress and not have dedicated classes for the args - The BeginExclusion method now requires an Exclusion Options instance
- The Node BeginFirmwareUpdate method has been renamed to UpdateFrimware, and requires a class instance.
- The Node FirmwareUpdateProgress event now passes an args parameter
- The Node FirmwareUpdateFinished event now passes an args parameter
- Setting the Node name, location and keepAwake values is now only possible with methods for each.
This is to address some unintentional communication between the Driver runtime and the lib. - The method GetAllEndpoints has been removed, and is replaced with an endpoints property
- You now need to build your own PSI for the platforms you wish to target.
-
New Features
- Multiple Driver instances are now supported
- Added ability to save ZWaveOptions to a JSON string and back
- Added Long Range (LR) support
- Added deviceConfig property to the Controller class.
- Added SetRawConfigParameterValue method to the ZWaveNode class.
- Added RefreshValues method to the ZWaveNode class.
- Added RefreshCCValues method to the ZWaveNode class.
- Added WaitForWakeUp method to the ZWaveNode class.
- Added Ping, method to the ZwaveNode class.
- Added StartListeningLogs, StopListeningLogs methods and the associated events to the Driver class.
- Added ValueAdded, ValueRemoved events. ValueRemoved was never added until now, ValueAdded, previously used the ValueUpdated event
- Added metadata updated event to the ZWaveNode class.
- Added ManuallyIdleNotificationValue method to the ZWaveNode class.
- Added endpointLabel to the Endpoint class
- Added Interview method, to the ZWaveNode class - this should only be used if "disableOnNodeAdded" is set to true
- Allow specifying Refresh Info options, when re-interviewing a node.
- Added FirmwareUpdateOTW method (and supporting events) to update the Controller Firmware
- Added SetRFRegion, GetRFRegion methods to the Controller class
- Added SetPowerlevel, GetPowerlevel methods to the Controller class
- Added GetAvailableFirmwareUpdates methods to the Controller class
- Added ConfigManager methods to the Driver class
- Added FirmwareUpdateOTA method to the Controller class, to update a node with the fetched Updates via GetAvailableFirmwareUpdates
- Added HardReset method to the Driver class
Warning!!! This will Reset your controller, and will result in a clean network with no included nodes. - Added SoftReset method to the Driver class
- Added the ccSpecific property to the ValueMetadata class
- Added the ability to add new server methods to the library during runtime.
This is helpful if you want to use a method that is not yet implemented, or to support an older version of an exetrnal server
-
Internal changes
- Switched to an alternative websocket client package (which is now embedded)
- Massive structural / performance improvements
- All event handlers are now executed with their own
Taskinstance - Better (hopefully) recovery/connection error handling
- Updated some of the defaults in the Zwave Options to mirror the Driver defaults
- Internal logic to ensure the server satifies the specified expected schema requested by the library