Skip to content

Commit 56e9164

Browse files
V2 (#12)
* FW Updates * FW Updates * Update yarn.lock * API alignment * Statistics * Event split and Supports CCAPI methods * statistics * Update README.md * Tests * Statistics and Status sync
1 parent 999dd6a commit 56e9164

File tree

14 files changed

+578
-206
lines changed

14 files changed

+578
-206
lines changed

CHANGELOG.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,36 @@
1+
## v2.0.0
2+
3+
- Versions
4+
- ZWave JS Driver Version: 8.10.0
5+
- ZWave JS Server Version: 1.14.0 (Schema Version 14)
6+
7+
- Breaking Changes
8+
- **values** and **index** properties are now removed from the ZWaveNode class
9+
- **nodeId** is now **id** on the ZWaveNode class
10+
- **highestSecurityClass** property has been replaced with the correct method of **GetHighestSecurityClass** on the ZWaveNode class
11+
12+
The updates above are to better align the API with the ZWave JS API and its documentation.
13+
14+
- Fixes
15+
- Node Name and location not being set up on driver init.
16+
- Node status is now kept in sync.
17+
18+
- New Features
19+
- Added methods for firmware updating and associated event handlers
20+
- Added **Dead** event handler
21+
- Added **GetAllEndpoints** method
22+
- Added **GetEndpointCount** method
23+
- Added **HasSecurityClass** method
24+
- Added **StatisticsUpdated** event handler for both the controller and nodes
25+
- Added **statistics** property to both the controller and its nodes
26+
- Added **SupportsCCAPI** method
27+
28+
- Internal changes
29+
- Split Node and Controller event dictionaries to isolate statistic events
30+
31+
- New Features
32+
- Bump ZWave JS Driver
33+
134
## v1.1.0
235

336
- Versions

PSI/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
2-
"version": "1.1.0",
2+
"version": "2.0.0",
33
"name": "server",
44
"bin": "./server.js",
55
"dependencies": {
66
"@zwave-js/server": "1.14.0",
7-
"zwave-js": "8.9.1"
7+
"zwave-js": "8.10.0"
88
},
99
"devDependencies": {
1010
"pkg": "^5.5.1"

PSI/yarn.lock

Lines changed: 60 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ __metadata:
55
version: 5
66
cacheKey: 8
77

8-
"@alcalzone/jsonl-db@npm:^2.2.0":
9-
version: 2.2.0
10-
resolution: "@alcalzone/jsonl-db@npm:2.2.0"
8+
"@alcalzone/jsonl-db@npm:^2.4.1":
9+
version: 2.4.1
10+
resolution: "@alcalzone/jsonl-db@npm:2.4.1"
1111
dependencies:
12-
alcalzone-shared: ^4.0.0
12+
alcalzone-shared: ^4.0.1
1313
fs-extra: ^10.0.0
1414
proper-lockfile: ^4.1.2
15-
checksum: 8e1fb815675d7df5fa60704ce2654309351ead03318dd0d36d999f3798fe689cf2799636bbc72c5ccca11c997643b332bac9f6caea766de8500c64f22d2265fb
15+
checksum: 0e96fbe82e8e6bd560f7cc5fd1d23268b770cb041087c88bbb2181b4450fddc2c6d1d58bcd4f4d382c217d6cd902993358b768e81bb8daef97309d821b9a5dc8
1616
languageName: node
1717
linkType: hard
1818

@@ -142,7 +142,7 @@ __metadata:
142142
languageName: node
143143
linkType: hard
144144

145-
"@sentry/integrations@npm:^6.15.0":
145+
"@sentry/integrations@npm:^6.16.1":
146146
version: 6.16.1
147147
resolution: "@sentry/integrations@npm:6.16.1"
148148
dependencies:
@@ -165,7 +165,7 @@ __metadata:
165165
languageName: node
166166
linkType: hard
167167

168-
"@sentry/node@npm:^6.15.0":
168+
"@sentry/node@npm:^6.16.1":
169169
version: 6.16.1
170170
resolution: "@sentry/node@npm:6.16.1"
171171
dependencies:
@@ -313,29 +313,29 @@ __metadata:
313313
languageName: node
314314
linkType: hard
315315

316-
"@zwave-js/config@npm:8.9.1":
317-
version: 8.9.1
318-
resolution: "@zwave-js/config@npm:8.9.1"
316+
"@zwave-js/config@npm:8.10.0":
317+
version: 8.10.0
318+
resolution: "@zwave-js/config@npm:8.10.0"
319319
dependencies:
320-
"@zwave-js/core": 8.9.0
321-
"@zwave-js/shared": 8.9.0
320+
"@zwave-js/core": 8.10.0
321+
"@zwave-js/shared": 8.10.0
322322
alcalzone-shared: ^4.0.1
323323
ansi-colors: ^4.1.1
324324
fs-extra: ^10.0.0
325325
json-logic-js: ^2.0.1
326326
json5: ^2.2.0
327327
semver: ^7.3.5
328328
winston: ^3.3.3
329-
checksum: 347662aa6cd13588215f80512ffe1e8f6a0d3c6612ce34aa41e0680e15b9b622d9c1c1f945b69cbacd7a7f98136922734a6fc3b53bc84412f8d03ab5f23c09a1
329+
checksum: 2a51d87acbd75bbb25e5c3703313e1aa1972ba4270147c22ff6f35fc8d18dcc5cab0ebe890a5ac9f4f60cf804049327871456cb3289579fa256ba738b6a71b5e
330330
languageName: node
331331
linkType: hard
332332

333-
"@zwave-js/core@npm:8.9.0":
334-
version: 8.9.0
335-
resolution: "@zwave-js/core@npm:8.9.0"
333+
"@zwave-js/core@npm:8.10.0":
334+
version: 8.10.0
335+
resolution: "@zwave-js/core@npm:8.10.0"
336336
dependencies:
337-
"@alcalzone/jsonl-db": ^2.2.0
338-
"@zwave-js/shared": 8.9.0
337+
"@alcalzone/jsonl-db": ^2.4.1
338+
"@zwave-js/shared": 8.10.0
339339
"@zwave-js/winston-daily-rotate-file": ^4.5.6-0
340340
alcalzone-shared: ^4.0.1
341341
ansi-colors: ^4.1.1
@@ -345,7 +345,7 @@ __metadata:
345345
triple-beam: "*"
346346
winston: ^3.3.3
347347
winston-transport: "*"
348-
checksum: be80d40cb43885f0928490803cea6f4808a2b7ff18794c5e6d322dba4a71c5b49188db323ea1ea2f705312cf9ff13636127641baa3ad9f23344dd3502a005a9c
348+
checksum: 896a4b6ec4638434505db42bcadd70f877c41cb69df83545e2d1ae42534e3210417e25a7cce381aaa2808a39737a187dc37cbdd5661ec3d1661b83d89728262a
349349
languageName: node
350350
linkType: hard
351351

@@ -358,34 +358,34 @@ __metadata:
358358
languageName: node
359359
linkType: hard
360360

361-
"@zwave-js/nvmedit@npm:8.9.0":
362-
version: 8.9.0
363-
resolution: "@zwave-js/nvmedit@npm:8.9.0"
361+
"@zwave-js/nvmedit@npm:8.10.0":
362+
version: 8.10.0
363+
resolution: "@zwave-js/nvmedit@npm:8.10.0"
364364
dependencies:
365-
"@zwave-js/core": 8.9.0
366-
"@zwave-js/shared": 8.9.0
365+
"@zwave-js/core": 8.10.0
366+
"@zwave-js/shared": 8.10.0
367367
alcalzone-shared: ^4.0.1
368368
fs-extra: ^10.0.0
369369
reflect-metadata: ^0.1.13
370370
semver: ^7.3.5
371-
yargs: ^17.2.1
371+
yargs: ^17.3.1
372372
bin:
373373
nvmedit: bin/nvmedit.js
374-
checksum: fcf7c892f6027895afc6c8afd8120b270cc01d0aeb2de1cc8050a4981a562496816cbfcc77df92a7d38a4a47737587d5ddf660d74a265365653f983a73d76d9f
374+
checksum: 76217368f43ae1c7ed3f526f81bc2150197b4f65342c70ca1811207097962c042d56ca7e4cc82e300c6fe429c2d10a00b5096457de15f27b8be5a2e59d65ed50
375375
languageName: node
376376
linkType: hard
377377

378-
"@zwave-js/serial@npm:8.9.0":
379-
version: 8.9.0
380-
resolution: "@zwave-js/serial@npm:8.9.0"
378+
"@zwave-js/serial@npm:8.10.0":
379+
version: 8.10.0
380+
resolution: "@zwave-js/serial@npm:8.10.0"
381381
dependencies:
382-
"@sentry/node": ^6.15.0
383-
"@zwave-js/core": 8.9.0
384-
"@zwave-js/shared": 8.9.0
382+
"@sentry/node": ^6.16.1
383+
"@zwave-js/core": 8.10.0
384+
"@zwave-js/shared": 8.10.0
385385
alcalzone-shared: ^4.0.1
386386
serialport: ^9.2.8
387387
winston: ^3.3.3
388-
checksum: 4e8181f7d3275bea32101ea2a70178822e4642b87169092fa551ddc5fd83d288a341aa7bc51be2cbbea3c6c61dba2150a597ae164be1fc5fbfcfaa3ea9bafb36
388+
checksum: 622b81ee8cd453057295098a83bda799911dcf12fdadf81215bcf8dae30b6422d47ebf107be6167babb2b6bafb3855d31405bd8163b606cff6866c3c1e024e13
389389
languageName: node
390390
linkType: hard
391391

@@ -404,13 +404,13 @@ __metadata:
404404
languageName: node
405405
linkType: hard
406406

407-
"@zwave-js/shared@npm:8.9.0":
408-
version: 8.9.0
409-
resolution: "@zwave-js/shared@npm:8.9.0"
407+
"@zwave-js/shared@npm:8.10.0":
408+
version: 8.10.0
409+
resolution: "@zwave-js/shared@npm:8.10.0"
410410
dependencies:
411411
alcalzone-shared: ^4.0.1
412412
fs-extra: ^10.0.0
413-
checksum: 3533e1788faed6a993b69cf6f0f6267506f9e88c3a6da14b47b73057732d838f4cbbaca2e3011ddbab4793eac7016975377e281b901c015663280385c50af56f
413+
checksum: 5cea23e658149e08834c86733f63fc72dfe5fbce92f208d5eccb48b0fb379ebf10abc85f4801529dd4ccb4373d271d2eea937750bdd87c9563c6aa4dc900008e
414414
languageName: node
415415
linkType: hard
416416

@@ -465,7 +465,7 @@ __metadata:
465465
languageName: node
466466
linkType: hard
467467

468-
"alcalzone-shared@npm:^4.0.0, alcalzone-shared@npm:^4.0.1":
468+
"alcalzone-shared@npm:^4.0.1":
469469
version: 4.0.1
470470
resolution: "alcalzone-shared@npm:4.0.1"
471471
dependencies:
@@ -2386,7 +2386,7 @@ __metadata:
23862386
dependencies:
23872387
"@zwave-js/server": 1.14.0
23882388
pkg: ^5.5.1
2389-
zwave-js: 8.9.1
2389+
zwave-js: 8.10.0
23902390
bin:
23912391
server: ./server.js
23922392
languageName: unknown
@@ -2863,10 +2863,10 @@ __metadata:
28632863
languageName: node
28642864
linkType: hard
28652865

2866-
"xstate@npm:^4.26.1":
2867-
version: 4.26.1
2868-
resolution: "xstate@npm:4.26.1"
2869-
checksum: b31a0f2033ec5c9d50f5e15682b3a0b8977f972a02ab33c22f29e3b3d931d07eda75e5c823377bd6a32b46d4467ec8eee4e711d2d2948330ae73bbd828e12920
2866+
"xstate@npm:^4.27.0":
2867+
version: 4.27.0
2868+
resolution: "xstate@npm:4.27.0"
2869+
checksum: 5010e4921e39dcec7cee7bf3567a219a9c7810c117ee166bf5ff27c1aad568d325985501c71948fc99ab4f09b81d94f677fecd04ea5e69bac361021a7deb1776
28702870
languageName: node
28712871
linkType: hard
28722872

@@ -2913,9 +2913,9 @@ __metadata:
29132913
languageName: node
29142914
linkType: hard
29152915

2916-
"yargs@npm:^17.2.1":
2917-
version: 17.3.0
2918-
resolution: "yargs@npm:17.3.0"
2916+
"yargs@npm:^17.3.1":
2917+
version: 17.3.1
2918+
resolution: "yargs@npm:17.3.1"
29192919
dependencies:
29202920
cliui: ^7.0.2
29212921
escalade: ^3.1.1
@@ -2924,23 +2924,23 @@ __metadata:
29242924
string-width: ^4.2.3
29252925
y18n: ^5.0.5
29262926
yargs-parser: ^21.0.0
2927-
checksum: 2b687338684bf9645e9389ffdbe813fc5a2ddfede299d46fbe5ac80eb9a391e558b97861ba44d2256936ebe9d7f8135f6a38af1c76a5685eac4061008b2df57a
2927+
checksum: 64fc2e32c56739f1d14d2d24acd17a6944c3c8e3e3558f09fc1953ac112e868cc16013d282886b9d5be22187f8b9ed4f60741a6b1011f595ce2718805a656852
29282928
languageName: node
29292929
linkType: hard
29302930

2931-
"zwave-js@npm:8.9.1":
2932-
version: 8.9.1
2933-
resolution: "zwave-js@npm:8.9.1"
2931+
"zwave-js@npm:8.10.0":
2932+
version: 8.10.0
2933+
resolution: "zwave-js@npm:8.10.0"
29342934
dependencies:
2935-
"@alcalzone/jsonl-db": ^2.2.0
2935+
"@alcalzone/jsonl-db": ^2.4.1
29362936
"@alcalzone/pak": ^0.7.0
2937-
"@sentry/integrations": ^6.15.0
2938-
"@sentry/node": ^6.15.0
2939-
"@zwave-js/config": 8.9.1
2940-
"@zwave-js/core": 8.9.0
2941-
"@zwave-js/nvmedit": 8.9.0
2942-
"@zwave-js/serial": 8.9.0
2943-
"@zwave-js/shared": 8.9.0
2937+
"@sentry/integrations": ^6.16.1
2938+
"@sentry/node": ^6.16.1
2939+
"@zwave-js/config": 8.10.0
2940+
"@zwave-js/core": 8.10.0
2941+
"@zwave-js/nvmedit": 8.10.0
2942+
"@zwave-js/serial": 8.10.0
2943+
"@zwave-js/shared": 8.10.0
29442944
alcalzone-shared: ^4.0.1
29452945
ansi-colors: ^4.1.1
29462946
axios: ^0.24.0
@@ -2952,7 +2952,7 @@ __metadata:
29522952
serialport: ^9.2.8
29532953
source-map-support: ^0.5.21
29542954
winston: ^3.3.3
2955-
xstate: ^4.26.1
2956-
checksum: 80d967a374a1ac2fe89c9b78ea454fc4e4c1cfe10a885a90554cdbe6c73014e3ca1964dc4ec01dbeed5485d22ef542394e25271837b067353a897bc64b69a245
2955+
xstate: ^4.27.0
2956+
checksum: d772ff9bfed97e90fb59d72d37ad3730ab913f65348242435dd9487b57d96dbbbb0acc0bd5da2027794fb1100c65651cc80f37497b354c8d4898104ebc9d2f02
29572957
languageName: node
29582958
linkType: hard

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ All releases will be published to nuget, so search for **ZWaveJS.NET** and insta
6464

6565
- [ ] Controller
6666
- [x] Controller Info
67+
- [x] Network Statistics
6768
- [x] Inclusion (Unsecured, S0 & S2 Security)
6869
- [x] S2 Security inclusion Event hooks (needed to guide users in a UI for pairing S2 devices)
6970
- [x] Exclusion
@@ -78,21 +79,22 @@ All releases will be published to nuget, so search for **ZWaveJS.NET** and insta
7879

7980
- [ ] Node
8081
- [x] Node Info
82+
- [x] Network Statistics
8183
- [x] Set name & location
8284
- [x] Updating Values
8385
- [x] Polling Values
8486
- [x] Fetching Value
8587
- [x] CCAPI Invoke (and its endpoints)
8688
- [x] Obtain Value IDs
8789
- [x] Obtain Value Meta Data
88-
- [x] Node Ready, Asleep, Awake Event Subscription
90+
- [x] Node Ready, Asleep, Awake, Dead Event Subscription
8991
- [x] Value Updated Event Subscription
9092
- [x] Notification Event Subscription
9193
- [x] Value Notification Event Subscription
9294
- [x] Interview Node
9395
- [x] Interview Events (Started, Completed, Failed)
94-
- [ ] Update Firmware
95-
- [ ] Update Firmware Progress Event Subscription
96+
- [x] Update Firmware
97+
- [x] Update Firmware Progress Event Subscription
9698
- [ ] Association Management
9799

98100
## Brief Example

Visual Studio Project/Test Console App/Program.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,6 @@ internal class Program
99
static Driver D;
1010
static void Main(string[] args)
1111
{
12-
13-
}
14-
15-
private static void D_DriverReady()
16-
{
17-
1812
}
1913
}
2014
}

Visual Studio Project/ZWaveJS.NET/Controller.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,13 @@ internal Controller()
1010

1111
}
1212

13+
public delegate void StatisticsUpdatedEvent(ControllerStatistics Statistics);
14+
public event StatisticsUpdatedEvent StatisticsUpdated;
15+
internal void Trigger_StatisticsUpdated(ControllerStatistics Statistics)
16+
{
17+
this.statistics = Statistics;
18+
StatisticsUpdated?.Invoke(Statistics);
19+
}
1320

1421
public delegate void InclusionAbortedEvent();
1522
public event InclusionAbortedEvent InclusionAborted;
@@ -349,6 +356,8 @@ public Task<bool> StopExclusion()
349356
public bool supportsTimers { get; internal set; }
350357
[Newtonsoft.Json.JsonProperty]
351358
public bool isHealNetworkActive { get; internal set; }
359+
[Newtonsoft.Json.JsonProperty]
360+
public ControllerStatistics statistics { get; internal set; }
352361

353362
}
354363
}

0 commit comments

Comments
 (0)