zwave-js 11.4.2 → 11.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/build/lib/controller/Controller.d.ts.map +1 -1
  2. package/build/lib/controller/Controller.js +9 -1
  3. package/build/lib/controller/Controller.js.map +1 -1
  4. package/build/lib/driver/Driver.d.ts +5 -1
  5. package/build/lib/driver/Driver.d.ts.map +1 -1
  6. package/build/lib/driver/Driver.js +17 -10
  7. package/build/lib/driver/Driver.js.map +1 -1
  8. package/build/lib/driver/MessageGenerators.d.ts.map +1 -1
  9. package/build/lib/driver/MessageGenerators.js +64 -4
  10. package/build/lib/driver/MessageGenerators.js.map +1 -1
  11. package/build/lib/driver/NetworkCache.d.ts +1 -0
  12. package/build/lib/driver/NetworkCache.d.ts.map +1 -1
  13. package/build/lib/driver/NetworkCache.js +19 -0
  14. package/build/lib/driver/NetworkCache.js.map +1 -1
  15. package/build/lib/node/MockNodeBehaviors.d.ts.map +1 -1
  16. package/build/lib/node/MockNodeBehaviors.js +15 -5
  17. package/build/lib/node/MockNodeBehaviors.js.map +1 -1
  18. package/build/lib/node/Node.d.ts +2 -0
  19. package/build/lib/node/Node.d.ts.map +1 -1
  20. package/build/lib/node/Node.js +13 -0
  21. package/build/lib/node/Node.js.map +1 -1
  22. package/build/lib/node/NodeStatistics.d.ts +2 -0
  23. package/build/lib/node/NodeStatistics.d.ts.map +1 -1
  24. package/build/lib/node/NodeStatistics.js.map +1 -1
  25. package/build/lib/node/_Types.d.ts +1 -0
  26. package/build/lib/node/_Types.d.ts.map +1 -1
  27. package/build/lib/node/_Types.js +20 -1
  28. package/build/lib/node/_Types.js.map +1 -1
  29. package/build/lib/node/mockCCBehaviors/Configuration.d.ts +1 -1
  30. package/build/lib/node/mockCCBehaviors/Configuration.d.ts.map +1 -1
  31. package/build/lib/node/mockCCBehaviors/Configuration.js +2 -2
  32. package/build/lib/node/mockCCBehaviors/Configuration.js.map +1 -1
  33. package/build/lib/node/mockCCBehaviors/EnergyProduction.d.ts +1 -1
  34. package/build/lib/node/mockCCBehaviors/EnergyProduction.d.ts.map +1 -1
  35. package/build/lib/node/mockCCBehaviors/EnergyProduction.js +2 -2
  36. package/build/lib/node/mockCCBehaviors/EnergyProduction.js.map +1 -1
  37. package/build/lib/node/mockCCBehaviors/ManufacturerSpecific.d.ts +3 -0
  38. package/build/lib/node/mockCCBehaviors/ManufacturerSpecific.d.ts.map +1 -0
  39. package/build/lib/node/mockCCBehaviors/ManufacturerSpecific.js +26 -0
  40. package/build/lib/node/mockCCBehaviors/ManufacturerSpecific.js.map +1 -0
  41. package/build/lib/node/mockCCBehaviors/Notification.d.ts +1 -1
  42. package/build/lib/node/mockCCBehaviors/Notification.d.ts.map +1 -1
  43. package/build/lib/node/mockCCBehaviors/Notification.js +2 -2
  44. package/build/lib/node/mockCCBehaviors/Notification.js.map +1 -1
  45. package/build/lib/node/mockCCBehaviors/ScheduleEntryLock.d.ts +3 -0
  46. package/build/lib/node/mockCCBehaviors/ScheduleEntryLock.d.ts.map +1 -0
  47. package/build/lib/node/mockCCBehaviors/ScheduleEntryLock.js +325 -0
  48. package/build/lib/node/mockCCBehaviors/ScheduleEntryLock.js.map +1 -0
  49. package/build/lib/node/mockCCBehaviors/SoundSwitch.d.ts +1 -1
  50. package/build/lib/node/mockCCBehaviors/SoundSwitch.d.ts.map +1 -1
  51. package/build/lib/node/mockCCBehaviors/SoundSwitch.js +2 -2
  52. package/build/lib/node/mockCCBehaviors/SoundSwitch.js.map +1 -1
  53. package/build/lib/node/mockCCBehaviors/ThermostatMode.d.ts +3 -0
  54. package/build/lib/node/mockCCBehaviors/ThermostatMode.d.ts.map +1 -0
  55. package/build/lib/node/mockCCBehaviors/ThermostatMode.js +76 -0
  56. package/build/lib/node/mockCCBehaviors/ThermostatMode.js.map +1 -0
  57. package/build/lib/node/mockCCBehaviors/ThermostatSetpoint.d.ts +3 -0
  58. package/build/lib/node/mockCCBehaviors/ThermostatSetpoint.d.ts.map +1 -0
  59. package/build/lib/node/mockCCBehaviors/ThermostatSetpoint.js +155 -0
  60. package/build/lib/node/mockCCBehaviors/ThermostatSetpoint.js.map +1 -0
  61. package/build/lib/node/mockCCBehaviors/UserCode.d.ts +4 -0
  62. package/build/lib/node/mockCCBehaviors/UserCode.d.ts.map +1 -0
  63. package/build/lib/node/mockCCBehaviors/UserCode.js +264 -0
  64. package/build/lib/node/mockCCBehaviors/UserCode.js.map +1 -0
  65. package/build/lib/node/mockCCBehaviors/WindowCovering.d.ts +1 -1
  66. package/build/lib/node/mockCCBehaviors/WindowCovering.d.ts.map +1 -1
  67. package/build/lib/node/mockCCBehaviors/WindowCovering.js +2 -2
  68. package/build/lib/node/mockCCBehaviors/WindowCovering.js.map +1 -1
  69. package/build/lib/serialapi/network-mgmt/RemoveNodeFromNetworkRequest.d.ts +1 -0
  70. package/build/lib/serialapi/network-mgmt/RemoveNodeFromNetworkRequest.d.ts.map +1 -1
  71. package/build/lib/serialapi/network-mgmt/RemoveNodeFromNetworkRequest.js +4 -0
  72. package/build/lib/serialapi/network-mgmt/RemoveNodeFromNetworkRequest.js.map +1 -1
  73. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"SoundSwitch.d.ts","sourceRoot":"","sources":["../../../../src/lib/node/mockCCBehaviors/SoundSwitch.ts"],"names":[],"mappings":"AAUA,OAAO,EAGN,KAAK,gBAAgB,EAErB,MAAM,mBAAmB,CAAC;AAgI3B,eAAO,MAAM,SAAS,oBAKrB,CAAC"}
1
+ {"version":3,"file":"SoundSwitch.d.ts","sourceRoot":"","sources":["../../../../src/lib/node/mockCCBehaviors/SoundSwitch.ts"],"names":[],"mappings":"AAUA,OAAO,EAGN,KAAK,gBAAgB,EAErB,MAAM,mBAAmB,CAAC;AAgI3B,eAAO,MAAM,sBAAsB,oBAKlC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.behaviors = void 0;
3
+ exports.SoundSwitchCCBehaviors = void 0;
4
4
  const SoundSwitchCC_1 = require("@zwave-js/cc/SoundSwitchCC");
5
5
  const safe_1 = require("@zwave-js/core/safe");
6
6
  const testing_1 = require("@zwave-js/testing");
@@ -92,7 +92,7 @@ const respondToSoundSwitchToneInfoGet = {
92
92
  return false;
93
93
  },
94
94
  };
95
- exports.behaviors = [
95
+ exports.SoundSwitchCCBehaviors = [
96
96
  respondToSoundSwitchConfigurationGet,
97
97
  respondToSoundSwitchConfigurationSet,
98
98
  respondToSoundSwitchToneNumberGet,
@@ -1 +1 @@
1
- {"version":3,"file":"SoundSwitch.js","sourceRoot":"","sources":["../../../../src/lib/node/mockCCBehaviors/SoundSwitch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SoundSwitch.js","sourceRoot":"","sources":["../../../../src/lib/node/mockCCBehaviors/SoundSwitch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type MockNodeBehavior } from "@zwave-js/testing";
2
+ export declare const ThermostatModeCCBehaviors: MockNodeBehavior[];
3
+ //# sourceMappingURL=ThermostatMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThermostatMode.d.ts","sourceRoot":"","sources":["../../../../src/lib/node/mockCCBehaviors/ThermostatMode.ts"],"names":[],"mappings":"AASA,OAAO,EAGN,KAAK,gBAAgB,EAErB,MAAM,mBAAmB,CAAC;AAyF3B,eAAO,MAAM,yBAAyB,oBAIrC,CAAC"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ThermostatModeCCBehaviors = void 0;
4
+ const cc_1 = require("@zwave-js/cc");
5
+ const ThermostatModeCC_1 = require("@zwave-js/cc/ThermostatModeCC");
6
+ const safe_1 = require("@zwave-js/core/safe");
7
+ const testing_1 = require("@zwave-js/testing");
8
+ const defaultCapabilities = {
9
+ supportedModes: [cc_1.ThermostatMode.Off],
10
+ };
11
+ const STATE_KEY_PREFIX = "ThermostatMode_";
12
+ const StateKeys = {
13
+ mode: `${STATE_KEY_PREFIX}mode`,
14
+ manufacturerData: `${STATE_KEY_PREFIX}manufacturerData`,
15
+ };
16
+ const respondToThermostatModeSet = {
17
+ onControllerFrame(controller, self, frame) {
18
+ if (frame.type === testing_1.MockZWaveFrameType.Request &&
19
+ frame.payload instanceof ThermostatModeCC_1.ThermostatModeCCSet) {
20
+ self.state.set(StateKeys.mode, frame.payload.mode);
21
+ self.state.set(StateKeys.manufacturerData, frame.payload.manufacturerData);
22
+ return true;
23
+ }
24
+ return false;
25
+ },
26
+ };
27
+ const respondToThermostatModeGet = {
28
+ async onControllerFrame(controller, self, frame) {
29
+ if (frame.type === testing_1.MockZWaveFrameType.Request &&
30
+ frame.payload instanceof ThermostatModeCC_1.ThermostatModeCCGet) {
31
+ const mode = (self.state.get(StateKeys.mode) ??
32
+ cc_1.ThermostatMode.Off);
33
+ const manufacturerData = mode === cc_1.ThermostatMode["Manufacturer specific"]
34
+ ? self.state.get(StateKeys.manufacturerData)
35
+ : undefined;
36
+ const cc = new ThermostatModeCC_1.ThermostatModeCCReport(self.host, {
37
+ nodeId: controller.host.ownNodeId,
38
+ // @ts-expect-error yeah yeah...
39
+ mode,
40
+ // @ts-expect-error I know...
41
+ manufacturerData,
42
+ });
43
+ await self.sendToController((0, testing_1.createMockZWaveRequestFrame)(cc, {
44
+ ackRequested: false,
45
+ }));
46
+ return true;
47
+ }
48
+ return false;
49
+ },
50
+ };
51
+ const respondToThermostatModeSupportedGet = {
52
+ async onControllerFrame(controller, self, frame) {
53
+ if (frame.type === testing_1.MockZWaveFrameType.Request &&
54
+ frame.payload instanceof ThermostatModeCC_1.ThermostatModeCCSupportedGet) {
55
+ const capabilities = {
56
+ ...defaultCapabilities,
57
+ ...self.getCCCapabilities(safe_1.CommandClasses["Thermostat Mode"], frame.payload.endpointIndex),
58
+ };
59
+ const cc = new ThermostatModeCC_1.ThermostatModeCCSupportedReport(self.host, {
60
+ nodeId: controller.host.ownNodeId,
61
+ supportedModes: capabilities.supportedModes,
62
+ });
63
+ await self.sendToController((0, testing_1.createMockZWaveRequestFrame)(cc, {
64
+ ackRequested: false,
65
+ }));
66
+ return true;
67
+ }
68
+ return false;
69
+ },
70
+ };
71
+ exports.ThermostatModeCCBehaviors = [
72
+ respondToThermostatModeGet,
73
+ respondToThermostatModeSet,
74
+ respondToThermostatModeSupportedGet,
75
+ ];
76
+ //# sourceMappingURL=ThermostatMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThermostatMode.js","sourceRoot":"","sources":["../../../../src/lib/node/mockCCBehaviors/ThermostatMode.ts"],"names":[],"mappings":";;;AAAA,qCAA8C;AAC9C,oEAMuC;AACvC,8CAAqD;AACrD,+CAK2B;AAE3B,MAAM,mBAAmB,GAAiC;IACzD,cAAc,EAAE,CAAC,mBAAc,CAAC,GAAG,CAAC;CACpC,CAAC;AAEF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAC3C,MAAM,SAAS,GAAG;IACjB,IAAI,EAAE,GAAG,gBAAgB,MAAM;IAC/B,gBAAgB,EAAE,GAAG,gBAAgB,kBAAkB;CAC9C,CAAC;AAEX,MAAM,0BAA0B,GAAqB;IACpD,iBAAiB,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK;QACxC,IACC,KAAK,CAAC,IAAI,KAAK,4BAAkB,CAAC,OAAO;YACzC,KAAK,CAAC,OAAO,YAAY,sCAAmB,EAC3C;YACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,KAAK,CAAC,GAAG,CACb,SAAS,CAAC,gBAAgB,EAC1B,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAC9B,CAAC;YACF,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAC;AAEF,MAAM,0BAA0B,GAAqB;IACpD,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK;QAC9C,IACC,KAAK,CAAC,IAAI,KAAK,4BAAkB,CAAC,OAAO;YACzC,KAAK,CAAC,OAAO,YAAY,sCAAmB,EAC3C;YACD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC3C,mBAAc,CAAC,GAAG,CAAmB,CAAC;YACvC,MAAM,gBAAgB,GACrB,IAAI,KAAK,mBAAc,CAAC,uBAAuB,CAAC;gBAC/C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC;gBAC5C,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,EAAE,GAAG,IAAI,yCAAsB,CAAC,IAAI,CAAC,IAAI,EAAE;gBAChD,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS;gBACjC,gCAAgC;gBAChC,IAAI;gBACJ,6BAA6B;gBAC7B,gBAAgB;aAChB,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,CAC1B,IAAA,qCAA2B,EAAC,EAAE,EAAE;gBAC/B,YAAY,EAAE,KAAK;aACnB,CAAC,CACF,CAAC;YACF,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAC;AAEF,MAAM,mCAAmC,GAAqB;IAC7D,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK;QAC9C,IACC,KAAK,CAAC,IAAI,KAAK,4BAAkB,CAAC,OAAO;YACzC,KAAK,CAAC,OAAO,YAAY,+CAA4B,EACpD;YACD,MAAM,YAAY,GAAG;gBACpB,GAAG,mBAAmB;gBACtB,GAAG,IAAI,CAAC,iBAAiB,CACxB,qBAAc,CAAC,iBAAiB,CAAC,EACjC,KAAK,CAAC,OAAO,CAAC,aAAa,CAC3B;aACD,CAAC;YAEF,MAAM,EAAE,GAAG,IAAI,kDAA+B,CAAC,IAAI,CAAC,IAAI,EAAE;gBACzD,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS;gBACjC,cAAc,EAAE,YAAY,CAAC,cAAc;aAC3C,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,CAC1B,IAAA,qCAA2B,EAAC,EAAE,EAAE;gBAC/B,YAAY,EAAE,KAAK;aACnB,CAAC,CACF,CAAC;YACF,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAC;AAEW,QAAA,yBAAyB,GAAG;IACxC,0BAA0B;IAC1B,0BAA0B;IAC1B,mCAAmC;CACnC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type MockNodeBehavior } from "@zwave-js/testing";
2
+ export declare const ThermostatSetpointCCBehaviors: MockNodeBehavior[];
3
+ //# sourceMappingURL=ThermostatSetpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThermostatSetpoint.d.ts","sourceRoot":"","sources":["../../../../src/lib/node/mockCCBehaviors/ThermostatSetpoint.ts"],"names":[],"mappings":"AAWA,OAAO,EAGN,KAAK,gBAAgB,EAErB,MAAM,mBAAmB,CAAC;AAuM3B,eAAO,MAAM,6BAA6B,oBAKzC,CAAC"}
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ThermostatSetpointCCBehaviors = void 0;
4
+ const cc_1 = require("@zwave-js/cc");
5
+ const ThermostatSetpointCC_1 = require("@zwave-js/cc/ThermostatSetpointCC");
6
+ const safe_1 = require("@zwave-js/core/safe");
7
+ const testing_1 = require("@zwave-js/testing");
8
+ const defaultCapabilities = {
9
+ setpoints: {
10
+ [cc_1.ThermostatSetpointType.Heating]: {
11
+ minValue: 0,
12
+ maxValue: 100,
13
+ scale: "°C",
14
+ },
15
+ },
16
+ };
17
+ const STATE_KEY_PREFIX = "ThermostatSetpoint_";
18
+ const StateKeys = {
19
+ setpoint: (type) => `${STATE_KEY_PREFIX}setpoint_${type}`,
20
+ scale: (type) => `${STATE_KEY_PREFIX}scale_${type}`,
21
+ };
22
+ const respondToThermostatSetpointSet = {
23
+ onControllerFrame(controller, self, frame) {
24
+ if (frame.type === testing_1.MockZWaveFrameType.Request &&
25
+ frame.payload instanceof ThermostatSetpointCC_1.ThermostatSetpointCCSet) {
26
+ const capabilities = {
27
+ ...defaultCapabilities,
28
+ ...self.getCCCapabilities(safe_1.CommandClasses["Thermostat Setpoint"], frame.payload.endpointIndex),
29
+ };
30
+ const setpointCaps = capabilities.setpoints[frame.payload.setpointType];
31
+ if (!setpointCaps)
32
+ return true;
33
+ const value = frame.payload.value;
34
+ if (value > setpointCaps.minValue ||
35
+ value > setpointCaps.maxValue) {
36
+ return true;
37
+ }
38
+ self.state.set(StateKeys.setpoint(frame.payload.setpointType), value);
39
+ self.state.set(StateKeys.scale(frame.payload.setpointType), frame.payload.scale);
40
+ return true;
41
+ }
42
+ return false;
43
+ },
44
+ };
45
+ const respondToThermostatSetpointGet = {
46
+ async onControllerFrame(controller, self, frame) {
47
+ if (frame.type === testing_1.MockZWaveFrameType.Request &&
48
+ frame.payload instanceof ThermostatSetpointCC_1.ThermostatSetpointCCGet) {
49
+ const capabilities = {
50
+ ...defaultCapabilities,
51
+ ...self.getCCCapabilities(safe_1.CommandClasses["Thermostat Setpoint"], frame.payload.endpointIndex),
52
+ };
53
+ const setpointType = frame.payload.setpointType;
54
+ const setpointCaps = capabilities.setpoints[setpointType];
55
+ let value = self.state.get(StateKeys.setpoint(setpointType));
56
+ let scale = self.state.get(StateKeys.scale(setpointType));
57
+ if (setpointCaps) {
58
+ if (value === undefined) {
59
+ value = setpointCaps.defaultValue ?? setpointCaps.minValue;
60
+ }
61
+ if (scale === undefined) {
62
+ scale = setpointCaps.scale === "°F" ? 1 : 0;
63
+ }
64
+ }
65
+ let cc;
66
+ if (value !== undefined) {
67
+ cc = new ThermostatSetpointCC_1.ThermostatSetpointCCReport(self.host, {
68
+ nodeId: controller.host.ownNodeId,
69
+ type: setpointType,
70
+ value,
71
+ scale: scale ?? 0,
72
+ });
73
+ }
74
+ else {
75
+ cc = new ThermostatSetpointCC_1.ThermostatSetpointCCReport(self.host, {
76
+ nodeId: controller.host.ownNodeId,
77
+ type: cc_1.ThermostatSetpointType["N/A"],
78
+ scale: 0,
79
+ value: 0,
80
+ });
81
+ }
82
+ await self.sendToController((0, testing_1.createMockZWaveRequestFrame)(cc, {
83
+ ackRequested: false,
84
+ }));
85
+ return true;
86
+ }
87
+ return false;
88
+ },
89
+ };
90
+ const respondToThermostatSetpointSupportedGet = {
91
+ async onControllerFrame(controller, self, frame) {
92
+ if (frame.type === testing_1.MockZWaveFrameType.Request &&
93
+ frame.payload instanceof ThermostatSetpointCC_1.ThermostatSetpointCCSupportedGet) {
94
+ const capabilities = {
95
+ ...defaultCapabilities,
96
+ ...self.getCCCapabilities(safe_1.CommandClasses["Thermostat Setpoint"], frame.payload.endpointIndex),
97
+ };
98
+ const cc = new ThermostatSetpointCC_1.ThermostatSetpointCCSupportedReport(self.host, {
99
+ nodeId: controller.host.ownNodeId,
100
+ supportedSetpointTypes: Object.keys(capabilities.setpoints).map((k) => parseInt(k)),
101
+ });
102
+ await self.sendToController((0, testing_1.createMockZWaveRequestFrame)(cc, {
103
+ ackRequested: false,
104
+ }));
105
+ return true;
106
+ }
107
+ return false;
108
+ },
109
+ };
110
+ const respondToThermostatSetpointCapabilitiesGet = {
111
+ async onControllerFrame(controller, self, frame) {
112
+ if (frame.type === testing_1.MockZWaveFrameType.Request &&
113
+ frame.payload instanceof ThermostatSetpointCC_1.ThermostatSetpointCCCapabilitiesGet) {
114
+ const capabilities = {
115
+ ...defaultCapabilities,
116
+ ...self.getCCCapabilities(safe_1.CommandClasses["Thermostat Setpoint"], frame.payload.endpointIndex),
117
+ };
118
+ const setpointType = frame.payload.setpointType;
119
+ const setpointCaps = capabilities.setpoints[setpointType];
120
+ let cc;
121
+ if (setpointCaps) {
122
+ cc = new ThermostatSetpointCC_1.ThermostatSetpointCCCapabilitiesReport(self.host, {
123
+ nodeId: controller.host.ownNodeId,
124
+ type: setpointType,
125
+ minValue: setpointCaps.minValue,
126
+ maxValue: setpointCaps.maxValue,
127
+ minValueScale: setpointCaps.scale === "°C" ? 0 : 1,
128
+ maxValueScale: setpointCaps.scale === "°C" ? 0 : 1,
129
+ });
130
+ }
131
+ else {
132
+ cc = new ThermostatSetpointCC_1.ThermostatSetpointCCCapabilitiesReport(self.host, {
133
+ nodeId: controller.host.ownNodeId,
134
+ type: cc_1.ThermostatSetpointType["N/A"],
135
+ minValue: 0,
136
+ maxValue: 0,
137
+ minValueScale: 0,
138
+ maxValueScale: 0,
139
+ });
140
+ }
141
+ await self.sendToController((0, testing_1.createMockZWaveRequestFrame)(cc, {
142
+ ackRequested: false,
143
+ }));
144
+ return true;
145
+ }
146
+ return false;
147
+ },
148
+ };
149
+ exports.ThermostatSetpointCCBehaviors = [
150
+ respondToThermostatSetpointGet,
151
+ respondToThermostatSetpointSet,
152
+ respondToThermostatSetpointSupportedGet,
153
+ respondToThermostatSetpointCapabilitiesGet,
154
+ ];
155
+ //# sourceMappingURL=ThermostatSetpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThermostatSetpoint.js","sourceRoot":"","sources":["../../../../src/lib/node/mockCCBehaviors/ThermostatSetpoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type MockNodeBehavior, type UserCodeCCCapabilities } from "@zwave-js/testing";
2
+ export declare const defaultCapabilities: UserCodeCCCapabilities;
3
+ export declare const UserCodeCCBehaviors: MockNodeBehavior[];
4
+ //# sourceMappingURL=UserCode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserCode.d.ts","sourceRoot":"","sources":["../../../../src/lib/node/mockCCBehaviors/UserCode.ts"],"names":[],"mappings":"AAmBA,OAAO,EAGN,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,mBAAmB,EAAE,sBAYjC,CAAC;AA6UF,eAAO,MAAM,mBAAmB,oBAU/B,CAAC"}
@@ -0,0 +1,264 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserCodeCCBehaviors = exports.defaultCapabilities = void 0;
4
+ const cc_1 = require("@zwave-js/cc");
5
+ const UserCodeCC_1 = require("@zwave-js/cc/UserCodeCC");
6
+ const safe_1 = require("@zwave-js/core/safe");
7
+ const testing_1 = require("@zwave-js/testing");
8
+ exports.defaultCapabilities = {
9
+ numUsers: 1,
10
+ supportedASCIIChars: "0123456789",
11
+ supportsMasterCode: true,
12
+ supportsMasterCodeDeactivation: true,
13
+ supportsUserCodeChecksum: true,
14
+ supportedKeypadModes: [cc_1.KeypadMode.Normal],
15
+ supportedUserIDStatuses: [
16
+ cc_1.UserIDStatus.Available,
17
+ cc_1.UserIDStatus.Enabled,
18
+ cc_1.UserIDStatus.Disabled,
19
+ ],
20
+ };
21
+ const STATE_KEY_PREFIX = "UserCode_";
22
+ const StateKeys = {
23
+ userCode: (userId) => `${STATE_KEY_PREFIX}userCode_${userId}`,
24
+ userIdStatus: (userId) => `${STATE_KEY_PREFIX}userIdStatus_${userId}`,
25
+ masterCode: `${STATE_KEY_PREFIX}masterCode`,
26
+ keypadMode: `${STATE_KEY_PREFIX}keypadMode`,
27
+ };
28
+ const respondToUsersNumberGet = {
29
+ async onControllerFrame(controller, self, frame) {
30
+ if (frame.type === testing_1.MockZWaveFrameType.Request &&
31
+ frame.payload instanceof UserCodeCC_1.UserCodeCCUsersNumberGet) {
32
+ const capabilities = {
33
+ ...exports.defaultCapabilities,
34
+ ...self.getCCCapabilities(safe_1.CommandClasses["User Code"], frame.payload.endpointIndex),
35
+ };
36
+ const cc = new UserCodeCC_1.UserCodeCCUsersNumberReport(self.host, {
37
+ nodeId: controller.host.ownNodeId,
38
+ supportedUsers: capabilities.numUsers ?? 1,
39
+ });
40
+ await self.sendToController((0, testing_1.createMockZWaveRequestFrame)(cc, {
41
+ ackRequested: false,
42
+ }));
43
+ return true;
44
+ }
45
+ return false;
46
+ },
47
+ };
48
+ const respondToUserGet = {
49
+ async onControllerFrame(controller, self, frame) {
50
+ if (frame.type === testing_1.MockZWaveFrameType.Request &&
51
+ frame.payload instanceof UserCodeCC_1.UserCodeCCGet) {
52
+ const capabilities = {
53
+ ...exports.defaultCapabilities,
54
+ ...self.getCCCapabilities(safe_1.CommandClasses["User Code"], frame.payload.endpointIndex),
55
+ };
56
+ const userId = frame.payload.userId;
57
+ let cc;
58
+ if (capabilities.numUsers >= userId) {
59
+ cc = new UserCodeCC_1.UserCodeCCReport(self.host, {
60
+ nodeId: controller.host.ownNodeId,
61
+ userId,
62
+ userIdStatus: (self.state.get(StateKeys.userIdStatus(userId)) ?? cc_1.UserIDStatus.Available),
63
+ userCode: self.state.get(StateKeys.userCode(userId)),
64
+ });
65
+ }
66
+ else {
67
+ cc = new UserCodeCC_1.UserCodeCCReport(self.host, {
68
+ nodeId: controller.host.ownNodeId,
69
+ userId,
70
+ userIdStatus: cc_1.UserIDStatus.StatusNotAvailable,
71
+ });
72
+ }
73
+ await self.sendToController((0, testing_1.createMockZWaveRequestFrame)(cc, {
74
+ ackRequested: false,
75
+ }));
76
+ return true;
77
+ }
78
+ return false;
79
+ },
80
+ };
81
+ const respondToUserCodeSet = {
82
+ onControllerFrame(controller, self, frame) {
83
+ if (frame.type === testing_1.MockZWaveFrameType.Request &&
84
+ frame.payload instanceof UserCodeCC_1.UserCodeCCSet) {
85
+ const capabilities = {
86
+ ...exports.defaultCapabilities,
87
+ ...self.getCCCapabilities(safe_1.CommandClasses["User Code"], frame.payload.endpointIndex),
88
+ };
89
+ const userId = frame.payload.userId;
90
+ const userIdStatus = frame.payload.userIdStatus;
91
+ if (capabilities.numUsers >= userId) {
92
+ self.state.set(StateKeys.userIdStatus(userId), userIdStatus);
93
+ const code = userIdStatus !== cc_1.UserIDStatus.Available &&
94
+ userIdStatus !== cc_1.UserIDStatus.StatusNotAvailable
95
+ ? frame.payload.userCode
96
+ : undefined;
97
+ self.state.set(StateKeys.userCode(userId), code);
98
+ }
99
+ return true;
100
+ }
101
+ return false;
102
+ },
103
+ };
104
+ const respondToUserCodeCapabilitiesGet = {
105
+ async onControllerFrame(controller, self, frame) {
106
+ if (frame.type === testing_1.MockZWaveFrameType.Request &&
107
+ frame.payload instanceof UserCodeCC_1.UserCodeCCCapabilitiesGet) {
108
+ const capabilities = {
109
+ ...exports.defaultCapabilities,
110
+ ...self.getCCCapabilities(safe_1.CommandClasses["User Code"], frame.payload.endpointIndex),
111
+ };
112
+ const cc = new UserCodeCC_1.UserCodeCCCapabilitiesReport(self.host, {
113
+ nodeId: controller.host.ownNodeId,
114
+ supportsMasterCode: capabilities.supportsMasterCode,
115
+ supportsMasterCodeDeactivation: capabilities.supportsMasterCodeDeactivation,
116
+ supportsUserCodeChecksum: capabilities.supportsUserCodeChecksum,
117
+ supportsMultipleUserCodeReport: false,
118
+ supportsMultipleUserCodeSet: false,
119
+ supportedUserIDStatuses: capabilities.supportedUserIDStatuses,
120
+ supportedKeypadModes: capabilities.supportedKeypadModes,
121
+ supportedASCIIChars: capabilities.supportedASCIIChars,
122
+ });
123
+ await self.sendToController((0, testing_1.createMockZWaveRequestFrame)(cc, {
124
+ ackRequested: false,
125
+ }));
126
+ return true;
127
+ }
128
+ return false;
129
+ },
130
+ };
131
+ const respondToUserCodeKeypadModeGet = {
132
+ async onControllerFrame(controller, self, frame) {
133
+ if (frame.type === testing_1.MockZWaveFrameType.Request &&
134
+ frame.payload instanceof UserCodeCC_1.UserCodeCCKeypadModeGet) {
135
+ const capabilities = {
136
+ ...exports.defaultCapabilities,
137
+ ...self.getCCCapabilities(safe_1.CommandClasses["User Code"], frame.payload.endpointIndex),
138
+ };
139
+ const cc = new UserCodeCC_1.UserCodeCCKeypadModeReport(self.host, {
140
+ nodeId: controller.host.ownNodeId,
141
+ keypadMode: (self.state.get(StateKeys.keypadMode) ??
142
+ capabilities.supportedKeypadModes?.[0] ??
143
+ cc_1.KeypadMode.Normal),
144
+ });
145
+ await self.sendToController((0, testing_1.createMockZWaveRequestFrame)(cc, {
146
+ ackRequested: false,
147
+ }));
148
+ return true;
149
+ }
150
+ return false;
151
+ },
152
+ };
153
+ const respondToUserCodeKeypadModeSet = {
154
+ onControllerFrame(controller, self, frame) {
155
+ if (frame.type === testing_1.MockZWaveFrameType.Request &&
156
+ frame.payload instanceof UserCodeCC_1.UserCodeCCKeypadModeSet) {
157
+ const capabilities = {
158
+ ...exports.defaultCapabilities,
159
+ ...self.getCCCapabilities(safe_1.CommandClasses["User Code"], frame.payload.endpointIndex),
160
+ };
161
+ if (capabilities.supportedKeypadModes?.includes(frame.payload.keypadMode)) {
162
+ self.state.set(StateKeys.keypadMode, frame.payload.keypadMode);
163
+ }
164
+ return true;
165
+ }
166
+ return false;
167
+ },
168
+ };
169
+ const respondToUserCodeMasterCodeSet = {
170
+ onControllerFrame(controller, self, frame) {
171
+ if (frame.type === testing_1.MockZWaveFrameType.Request &&
172
+ frame.payload instanceof UserCodeCC_1.UserCodeCCMasterCodeSet) {
173
+ const capabilities = {
174
+ ...exports.defaultCapabilities,
175
+ ...self.getCCCapabilities(safe_1.CommandClasses["User Code"], frame.payload.endpointIndex),
176
+ };
177
+ const masterCode = frame.payload.masterCode;
178
+ if (capabilities.supportsMasterCode) {
179
+ if (masterCode.length > 0 ||
180
+ capabilities.supportsMasterCodeDeactivation) {
181
+ self.state.set(StateKeys.masterCode, frame.payload.masterCode);
182
+ }
183
+ }
184
+ return true;
185
+ }
186
+ return false;
187
+ },
188
+ };
189
+ const respondToUserCodeMasterCodeGet = {
190
+ async onControllerFrame(controller, self, frame) {
191
+ if (frame.type === testing_1.MockZWaveFrameType.Request &&
192
+ frame.payload instanceof UserCodeCC_1.UserCodeCCMasterCodeGet) {
193
+ const capabilities = {
194
+ ...exports.defaultCapabilities,
195
+ ...self.getCCCapabilities(safe_1.CommandClasses["User Code"], frame.payload.endpointIndex),
196
+ };
197
+ let masterCode;
198
+ if (capabilities.supportsMasterCode) {
199
+ masterCode = self.state.get(StateKeys.masterCode);
200
+ }
201
+ const cc = new UserCodeCC_1.UserCodeCCMasterCodeReport(self.host, {
202
+ nodeId: controller.host.ownNodeId,
203
+ masterCode: masterCode ?? "",
204
+ });
205
+ await self.sendToController((0, testing_1.createMockZWaveRequestFrame)(cc, {
206
+ ackRequested: false,
207
+ }));
208
+ return true;
209
+ }
210
+ return false;
211
+ },
212
+ };
213
+ const respondToUserCodeUserCodeChecksumGet = {
214
+ async onControllerFrame(controller, self, frame) {
215
+ if (frame.type === testing_1.MockZWaveFrameType.Request &&
216
+ frame.payload instanceof UserCodeCC_1.UserCodeCCUserCodeChecksumGet) {
217
+ const capabilities = {
218
+ ...exports.defaultCapabilities,
219
+ ...self.getCCCapabilities(safe_1.CommandClasses["User Code"], frame.payload.endpointIndex),
220
+ };
221
+ if (capabilities.supportsUserCodeChecksum) {
222
+ let data = Buffer.allocUnsafe(0);
223
+ for (let i = 1; i <= capabilities.numUsers; i++) {
224
+ const status = self.state.get(StateKeys.userIdStatus(i));
225
+ let code = (self.state.get(StateKeys.userCode(i)) ?? "");
226
+ if (status === undefined ||
227
+ status === cc_1.UserIDStatus.Available ||
228
+ code.length === 0) {
229
+ continue;
230
+ }
231
+ const tmp = Buffer.allocUnsafe(3 + code.length);
232
+ tmp.writeUInt16BE(i, 0);
233
+ tmp[2] = status;
234
+ if (typeof code === "string")
235
+ code = Buffer.from(code, "ascii");
236
+ code.copy(tmp, 3);
237
+ data = Buffer.concat([data, tmp]);
238
+ }
239
+ const checksum = data.length > 0 ? (0, safe_1.CRC16_CCITT)(data) : 0x0000;
240
+ const cc = new UserCodeCC_1.UserCodeCCUserCodeChecksumReport(self.host, {
241
+ nodeId: controller.host.ownNodeId,
242
+ userCodeChecksum: checksum,
243
+ });
244
+ await self.sendToController((0, testing_1.createMockZWaveRequestFrame)(cc, {
245
+ ackRequested: false,
246
+ }));
247
+ }
248
+ return true;
249
+ }
250
+ return false;
251
+ },
252
+ };
253
+ exports.UserCodeCCBehaviors = [
254
+ respondToUsersNumberGet,
255
+ respondToUserGet,
256
+ respondToUserCodeSet,
257
+ respondToUserCodeCapabilitiesGet,
258
+ respondToUserCodeKeypadModeGet,
259
+ respondToUserCodeKeypadModeSet,
260
+ respondToUserCodeMasterCodeGet,
261
+ respondToUserCodeMasterCodeSet,
262
+ respondToUserCodeUserCodeChecksumGet,
263
+ ];
264
+ //# sourceMappingURL=UserCode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserCode.js","sourceRoot":"","sources":["../../../../src/lib/node/mockCCBehaviors/UserCode.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { type MockNodeBehavior } from "@zwave-js/testing";
2
- export declare const behaviors: MockNodeBehavior[];
2
+ export declare const WindowCoveringCCBehaviors: MockNodeBehavior[];
3
3
  //# sourceMappingURL=WindowCovering.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WindowCovering.d.ts","sourceRoot":"","sources":["../../../../src/lib/node/mockCCBehaviors/WindowCovering.ts"],"names":[],"mappings":"AAKA,OAAO,EAGN,KAAK,gBAAgB,EAErB,MAAM,mBAAmB,CAAC;AAkC3B,eAAO,MAAM,SAAS,oBAAwC,CAAC"}
1
+ {"version":3,"file":"WindowCovering.d.ts","sourceRoot":"","sources":["../../../../src/lib/node/mockCCBehaviors/WindowCovering.ts"],"names":[],"mappings":"AAKA,OAAO,EAGN,KAAK,gBAAgB,EAErB,MAAM,mBAAmB,CAAC;AAkC3B,eAAO,MAAM,yBAAyB,oBAAwC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.behaviors = void 0;
3
+ exports.WindowCoveringCCBehaviors = void 0;
4
4
  const WindowCoveringCC_1 = require("@zwave-js/cc/WindowCoveringCC");
5
5
  const safe_1 = require("@zwave-js/core/safe");
6
6
  const testing_1 = require("@zwave-js/testing");
@@ -27,5 +27,5 @@ const respondToWindowCoveringSupportedGet = {
27
27
  return false;
28
28
  },
29
29
  };
30
- exports.behaviors = [respondToWindowCoveringSupportedGet];
30
+ exports.WindowCoveringCCBehaviors = [respondToWindowCoveringSupportedGet];
31
31
  //# sourceMappingURL=WindowCovering.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WindowCovering.js","sourceRoot":"","sources":["../../../../src/lib/node/mockCCBehaviors/WindowCovering.ts"],"names":[],"mappings":";;;AAAA,oEAGuC;AACvC,8CAAqD;AACrD,+CAK2B;AAE3B,MAAM,mBAAmB,GAAiC;IACzD,mBAAmB,EAAE,EAAE;CACvB,CAAC;AAEF,MAAM,mCAAmC,GAAqB;IAC7D,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK;QAC9C,IACC,KAAK,CAAC,IAAI,KAAK,4BAAkB,CAAC,OAAO;YACzC,KAAK,CAAC,OAAO,YAAY,+CAA4B,EACpD;YACD,MAAM,YAAY,GAAG;gBACpB,GAAG,mBAAmB;gBACtB,GAAG,IAAI,CAAC,iBAAiB,CACxB,qBAAc,CAAC,iBAAiB,CAAC,EACjC,KAAK,CAAC,OAAO,CAAC,aAAa,CAC3B;aACD,CAAC;YACF,MAAM,EAAE,GAAG,IAAI,kDAA+B,CAAC,IAAI,CAAC,IAAI,EAAE;gBACzD,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS;gBACjC,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;aACrD,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,CAC1B,IAAA,qCAA2B,EAAC,EAAE,EAAE;gBAC/B,YAAY,EAAE,KAAK;aACnB,CAAC,CACF,CAAC;YACF,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAC;AAEW,QAAA,SAAS,GAAG,CAAC,mCAAmC,CAAC,CAAC"}
1
+ {"version":3,"file":"WindowCovering.js","sourceRoot":"","sources":["../../../../src/lib/node/mockCCBehaviors/WindowCovering.ts"],"names":[],"mappings":";;;AAAA,oEAGuC;AACvC,8CAAqD;AACrD,+CAK2B;AAE3B,MAAM,mBAAmB,GAAiC;IACzD,mBAAmB,EAAE,EAAE;CACvB,CAAC;AAEF,MAAM,mCAAmC,GAAqB;IAC7D,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK;QAC9C,IACC,KAAK,CAAC,IAAI,KAAK,4BAAkB,CAAC,OAAO;YACzC,KAAK,CAAC,OAAO,YAAY,+CAA4B,EACpD;YACD,MAAM,YAAY,GAAG;gBACpB,GAAG,mBAAmB;gBACtB,GAAG,IAAI,CAAC,iBAAiB,CACxB,qBAAc,CAAC,iBAAiB,CAAC,EACjC,KAAK,CAAC,OAAO,CAAC,aAAa,CAC3B;aACD,CAAC;YACF,MAAM,EAAE,GAAG,IAAI,kDAA+B,CAAC,IAAI,CAAC,IAAI,EAAE;gBACzD,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS;gBACjC,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;aACrD,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,CAC1B,IAAA,qCAA2B,EAAC,EAAE,EAAE;gBAC/B,YAAY,EAAE,KAAK;aACnB,CAAC,CACF,CAAC;YACF,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAC;AAEW,QAAA,yBAAyB,GAAG,CAAC,mCAAmC,CAAC,CAAC"}
@@ -14,6 +14,7 @@ export declare enum RemoveNodeStatus {
14
14
  NodeFound = 2,
15
15
  RemovingSlave = 3,
16
16
  RemovingController = 4,
17
+ Reserved_0x05 = 5,
17
18
  Done = 6,
18
19
  Failed = 7
19
20
  }