Skip to content

Commit 236b0b6

Browse files
Several changes (#54)
* Added Driver.SoftReset method. Fixed BeginRebuildingRoutes, StopRebuildingRoutes and RebuildNodeRoutes methods to use the correct commands. Fixed typo in RebuildRoutesDone event. * Removed the old command enums for healing the network and nodes. * Add SoftReset to CHANGELOG --------- Co-authored-by: Marcus Davies <[email protected]>
1 parent 509e4ae commit 236b0b6

File tree

4 files changed

+33
-9
lines changed

4 files changed

+33
-9
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@
4242
- Added **GetAvailableFirmwareUpdates** methods to the Controller class
4343
- Added **FirmwareUpdateOTA** method to the Controller class, to update a node with the fetched Updates via **GetAvailableFirmwareUpdates**
4444
- Added **HardReset** method to the Driver class
45-
**Warning!!!** This will Reset your controller, and will result in a clean network with no included nodes.
45+
**Warning!!!** This will Reset your controller, and will result in a clean network with no included nodes.
46+
- Added **SoftReset** method to the Driver class
4647
- Added the **ccSpecific** property to the **ValueMetadata** class
4748
- Added the ability to add new server methods to the library during runtime.
4849
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

Visual Studio Projects/ZWaveJS.NET/ZWaveJS.NET/Controller.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,11 @@ internal void Trigger_RebuildRoutesProgress(RebuildRoutesProgressArgs Args)
5151
}
5252

5353
public delegate void RebuildRoutesDoneEvent(RebuildRoutesDoneArgs Args);
54-
public event RebuildRoutesDoneEvent RebuldRoutesDone;
54+
public event RebuildRoutesDoneEvent RebuildRoutesDone;
5555
internal void Trigger_RebuildRoutesDone(RebuildRoutesDoneArgs Args)
5656
{
5757
this.isRebuildingRoutes = false;
58-
RebuldRoutesDone?.Invoke(Args);
58+
RebuildRoutesDone?.Invoke(Args);
5959
}
6060

6161
private Abort AbortSub;
@@ -702,7 +702,7 @@ public Task<CMDResult> RebuildNodeRoutes(int NodeID)
702702
Dictionary<string, object> Request = new Dictionary<string, object>();
703703

704704
Request.Add("messageId", ID);
705-
Request.Add("command", Enums.Commands.HealNode);
705+
Request.Add("command", Enums.Commands.RebuildNodeRoutes);
706706
Request.Add("nodeId", NodeID);
707707

708708
string RequestPL = Newtonsoft.Json.JsonConvert.SerializeObject(Request);
@@ -736,7 +736,7 @@ public Task<CMDResult> BeginRebuildingRoutes(RebuildRoutesOptions Options)
736736
Dictionary<string, object> Request = new Dictionary<string, object>();
737737

738738
Request.Add("messageId", ID);
739-
Request.Add("command", Enums.Commands.BeginHealingNetwork);
739+
Request.Add("command", Enums.Commands.BeginRebuildingRoutes);
740740
Request.Add("options", Options);
741741

742742
string RequestPL = Newtonsoft.Json.JsonConvert.SerializeObject(Request);
@@ -766,7 +766,7 @@ public Task<CMDResult> StopRebuildingRoutes()
766766
Dictionary<string, object> Request = new Dictionary<string, object>();
767767

768768
Request.Add("messageId", ID);
769-
Request.Add("command", Enums.Commands.StopHealingNetwork);
769+
Request.Add("command", Enums.Commands.StopRebuildingRoutes);
770770

771771
string RequestPL = Newtonsoft.Json.JsonConvert.SerializeObject(Request);
772772
Driver.Instance.ClientWebSocket.SendInstant(RequestPL);

Visual Studio Projects/ZWaveJS.NET/ZWaveJS.NET/Driver.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -852,7 +852,29 @@ public Task<CMDResult> HardReset()
852852
ClientWebSocket.SendInstant(RequestPL);
853853

854854
return Result.Task;
855+
}
856+
857+
public Task<CMDResult> SoftReset()
858+
{
859+
Guid ID = Guid.NewGuid();
860+
861+
TaskCompletionSource<CMDResult> Result = new TaskCompletionSource<CMDResult>();
862+
863+
Callbacks.Add(ID, (JO) =>
864+
{
865+
CMDResult Res = new CMDResult(JO);
866+
Result.SetResult(Res);
867+
});
868+
869+
Dictionary<string, object> Request = new Dictionary<string, object>();
870+
871+
Request.Add("messageId", ID);
872+
Request.Add("command", Enums.Commands.SoftReset);
855873

874+
string RequestPL = Newtonsoft.Json.JsonConvert.SerializeObject(Request);
875+
ClientWebSocket.SendInstant(RequestPL);
876+
877+
return Result.Task;
856878
}
857879

858880
// Proces Message

Visual Studio Projects/ZWaveJS.NET/ZWaveJS.NET/Enums.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,9 +130,9 @@ internal class Commands
130130
public const string GrantSecurityClasses = "controller.grant_security_classes";
131131
public const string ValidateDSK = "controller.validate_dsk_and_enter_pin";
132132
public const string RefreshInfo = "node.refresh_info";
133-
public const string BeginHealingNetwork = "controller.begin_healing_network";
134-
public const string StopHealingNetwork = "controller.stop_healing_network";
135-
public const string HealNode = "controller.heal_node";
133+
public const string BeginRebuildingRoutes = "controller.begin_rebuilding_routes";
134+
public const string StopRebuildingRoutes = "controller.stop_rebuilding_routes";
135+
public const string RebuildNodeRoutes = "controller.rebuild_node_routes";
136136
public const string SetName = "node.set_name";
137137
public const string SetLocation = "node.set_location";
138138
public const string KeepNodeAwake = "node.set_keep_awake";
@@ -164,6 +164,7 @@ internal class Commands
164164
public const string GetAvailableFirmwareUpdates = "controller.get_available_firmware_updates";
165165
public const string FirmwareUpdateOTA = "controller.firmware_update_ota";
166166
public const string HardReset = "driver.hard_reset";
167+
public const string SoftReset = "driver.soft_reset";
167168
}
168169

169170
public enum SecurityClass

0 commit comments

Comments
 (0)