-
-
Notifications
You must be signed in to change notification settings - Fork 7
Version 4.0.0 (Breaking) #31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
* Socket & LR * Fix Versions * Nullable Fix * Fix & Test * Show Embedded runtime Driver console output during debug
… to the NodeStatistics class. (#67) * Add NodeAlive event to the ZWaveNode class, and add lastSeen property to the NodeStatistics class. * Add lastSeen to the ZWaveNode and Statistics classes as DateTime?
* Smart Start * improve build * add lint scripts * Bump schema 40
|
I have bumped the schema - and Im thinking about doing a release on this (v4) I merged them into a secondary PR I was working on (to address smart start inconstancies), and merged that PR to V4 This PR - should now be fully updated with your commits, and has the following versions.
if connecting to a lesser version of the schema (since its now based on 40) - just use the override Do you want to cast your eyes over it? |
|
This MASSIVE update may get released this week - do you want to test it? remember to build your PSI rename ./dist/server.exe to ./dist/server.psi, and distrubute the image with the library. Note: it doesn't yet have the ability to load a PSI from another location. |
It looks good, but I won't be able to test it before next week. |
|
@marcus-j-davies you should probably bump the driver to 14.3.8. 14.3.7 has an issue with reading from cache. |
|
Thanks @AlCalzone for the heads up - Bumped! |
…a version compatibility is now only checked on server side. (#84) Remove some compilation warnings.
|
@spudwebb - Hope your well? I'm going to be finishing up V4 today, and going to be moving to v5 right after (Branch already based on v4). But After V4 - it will drop support for older targets, V5 will get continued updates but will only support the modern targets
I will be removing the embedded sockets library in v5 - as I need to bring it up to the latest code bases. I will bring V4 upto the latest Schema of course - but after that, V5 will be the active branch, where it will steer away from legacy frameworks - hence my suggestion to keep your own fork for V4. tl;dr |
|
Fair enough, I will maintain my own fork of v4. |
|
Let me first bring v4 inline with the current schema (working on it at this very minute).
I am also setting the internal CMDResult(JObject Res)
{
this.Success = Res.Value<bool>("success");
if (Res.ContainsKey("result"))
{
bool? success = Res.SelectToken("result.success")?.Value<bool?>();
if (success.HasValue)
SetPayload(success.Value);
}
if(Res.ContainsKey("zwaveErrorCode"))
this.ErrorCode = Res.Value<string>("zwaveErrorCode");
if (Res.ContainsKey("zwaveErrorMessage"))
this.Message = Res.Value<string>("zwaveErrorMessage");
}Meaning if you don't use Will tag you once those changes are pushed, so you can grab the latest v4 code |
|
I am adding a new method to the public T ResultPayloadAs<T>()
{
return ResultPayload is T value ? value : default!;
}Usage Driver.Controller.Nodes.get(4).GetDefinedValueIDs().ContinueWith((R) =>{
ValueID[] VIDs = R.Result.ResultPayloadAs<ValueID[]>()
foreach(ValueID VID in VIDs){
// Do something with VID (Value ID)
}
})Once again, I will ping you once V4 has been updated with all my changes & bumps to the schema |
WORK-IN-PROGRESS
Versions
Breaking Changes
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.
The supported frameworks are as follows:
- NET 48
- NET 6.0
- NET 7.0
- NET 80
- NETSTANDARD 2.0
- NETSTANDARD 2.1
RebuildRoutesDone and RebuildRoutesProgress and not have dedicated classes for the args
This is to address some unintentional communication between the Driver runtime and the lib.
New Features
Warning!!! This will Reset your controller, and will result in a clean network with no included nodes.
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
TaskinstanceShoutout to...
@spudwebb for the massive amounts of contribution for this release
and @georgeinva2004 for testing the stuff I haven't (which is a lot 😬)
and @AlCalzone for..... Ummm Zwave JS
and @raman325 for the foundations needed to expose the Driver to other languages