@zwave-js/cc 15.24.0 → 15.24.2

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.
@@ -1,6 +1,6 @@
1
- import { type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type SupervisionResult, Timeout, type WithAddress } from "@zwave-js/core";
1
+ import { type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type SupervisionResult, Timeout, type ValueID, type WithAddress } from "@zwave-js/core";
2
2
  import { Bytes } from "@zwave-js/shared";
3
- import { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, type SetValueImplementation } from "../lib/API.js";
3
+ import { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, SET_VALUE_HOOKS, type SetValueImplementation, type SetValueImplementationHooksFactory } from "../lib/API.js";
4
4
  import { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, type RefreshValuesOptions } from "../lib/CommandClass.js";
5
5
  import { LocalProtectionState, ProtectionCommand, RFProtectionState } from "../lib/_Types.js";
6
6
  import type { CCEncodingContext, CCParsingContext } from "../lib/traits.js";
@@ -10,6 +10,8 @@ export declare class ProtectionCCAPI extends CCAPI {
10
10
  supportsCommand(cmd: ProtectionCommand): MaybeNotKnown<boolean>;
11
11
  protected get [SET_VALUE](): SetValueImplementation;
12
12
  protected get [POLL_VALUE](): PollValueImplementation;
13
+ protected [SET_VALUE_HOOKS]: SetValueImplementationHooksFactory;
14
+ isSetValueOptimistic(_valueId: ValueID): boolean;
13
15
  get(): Promise<Pick<ProtectionCCReport, "local" | "rf"> | undefined>;
14
16
  set(local: LocalProtectionState, rf?: RFProtectionState): Promise<SupervisionResult | undefined>;
15
17
  getSupported(): Promise<Pick<ProtectionCCSupportedReport, "supportedLocalStates" | "supportedRFStates" | "supportsExclusiveControl" | "supportsTimeout"> | undefined>;
@@ -29,7 +31,7 @@ export interface ProtectionCCSetOptions {
29
31
  }
30
32
  export declare class ProtectionCCSet extends ProtectionCC {
31
33
  constructor(options: WithAddress<ProtectionCCSetOptions>);
32
- static from(_raw: CCRaw, _ctx: CCParsingContext): ProtectionCCSet;
34
+ static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCSet;
33
35
  local: LocalProtectionState;
34
36
  rf?: RFProtectionState;
35
37
  serialize(ctx: CCEncodingContext): Promise<Bytes>;
@@ -44,6 +46,7 @@ export declare class ProtectionCCReport extends ProtectionCC {
44
46
  static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCReport;
45
47
  readonly local: LocalProtectionState;
46
48
  readonly rf?: RFProtectionState;
49
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
47
50
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
48
51
  }
49
52
  export declare class ProtectionCCGet extends ProtectionCC {
@@ -62,6 +65,7 @@ export declare class ProtectionCCSupportedReport extends ProtectionCC {
62
65
  readonly supportsTimeout: boolean;
63
66
  readonly supportedLocalStates: LocalProtectionState[];
64
67
  readonly supportedRFStates: RFProtectionState[];
68
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
65
69
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
66
70
  }
67
71
  export declare class ProtectionCCSupportedGet extends ProtectionCC {
@@ -73,6 +77,7 @@ export declare class ProtectionCCExclusiveControlReport extends ProtectionCC {
73
77
  constructor(options: WithAddress<ProtectionCCExclusiveControlReportOptions>);
74
78
  static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCExclusiveControlReport;
75
79
  readonly exclusiveControlNodeId: number;
80
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
76
81
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
77
82
  }
78
83
  export declare class ProtectionCCExclusiveControlGet extends ProtectionCC {
@@ -82,7 +87,7 @@ export interface ProtectionCCExclusiveControlSetOptions {
82
87
  }
83
88
  export declare class ProtectionCCExclusiveControlSet extends ProtectionCC {
84
89
  constructor(options: WithAddress<ProtectionCCExclusiveControlSetOptions>);
85
- static from(_raw: CCRaw, _ctx: CCParsingContext): ProtectionCCExclusiveControlSet;
90
+ static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCExclusiveControlSet;
86
91
  exclusiveControlNodeId: number;
87
92
  serialize(ctx: CCEncodingContext): Promise<Bytes>;
88
93
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
@@ -94,6 +99,7 @@ export declare class ProtectionCCTimeoutReport extends ProtectionCC {
94
99
  constructor(options: WithAddress<ProtectionCCTimeoutReportOptions>);
95
100
  static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCTimeoutReport;
96
101
  readonly timeout: Timeout;
102
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
97
103
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
98
104
  }
99
105
  export declare class ProtectionCCTimeoutGet extends ProtectionCC {
@@ -103,7 +109,7 @@ export interface ProtectionCCTimeoutSetOptions {
103
109
  }
104
110
  export declare class ProtectionCCTimeoutSet extends ProtectionCC {
105
111
  constructor(options: WithAddress<ProtectionCCTimeoutSetOptions>);
106
- static from(_raw: CCRaw, _ctx: CCParsingContext): ProtectionCCTimeoutSet;
112
+ static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCTimeoutSet;
107
113
  timeout: Timeout;
108
114
  serialize(ctx: CCEncodingContext): Promise<Bytes>;
109
115
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
@@ -53,7 +53,6 @@ var import_API = require("../lib/API.js");
53
53
  var import_CommandClass = require("../lib/CommandClass.js");
54
54
  var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
55
55
  var import_Types = require("../lib/_Types.js");
56
- var import_ApplicationStatusCC = require("./ApplicationStatusCC.js");
57
56
  var import_CCValues_generated = require("./_CCValues.generated.js");
58
57
  const { validateArgs_ProtectionCCAPI_set, validateArgs_ProtectionCCAPI_setExclusiveControl, validateArgs_ProtectionCCAPI_setTimeout } = __validateArgs;
59
58
  let ProtectionCCAPI = (() => {
@@ -144,6 +143,23 @@ let ProtectionCCAPI = (() => {
144
143
  }
145
144
  };
146
145
  }
146
+ [import_API.SET_VALUE_HOOKS] = ((0, import_tslib.__runInitializers)(this, _instanceExtraInitializers), ({ property }, value) => {
147
+ if (property === "local" && typeof value === "number" || property === "rf" && typeof value === "number") {
148
+ return {
149
+ forceVerifyChanges: /* @__PURE__ */ __name(() => true, "forceVerifyChanges"),
150
+ verifyChanges: /* @__PURE__ */ __name(() => {
151
+ if (this.isSinglecast()) {
152
+ this.schedulePoll({ property }, value, {
153
+ transition: "fast"
154
+ });
155
+ }
156
+ }, "verifyChanges")
157
+ };
158
+ }
159
+ });
160
+ isSetValueOptimistic(_valueId) {
161
+ return false;
162
+ }
147
163
  // oxlint-disable-next-line typescript/explicit-module-boundary-types
148
164
  async get() {
149
165
  this.assertSupportsCommand(import_Types.ProtectionCommand, import_Types.ProtectionCommand.Get);
@@ -219,10 +235,6 @@ let ProtectionCCAPI = (() => {
219
235
  });
220
236
  return this.host.sendCommand(cc, this.commandOptions);
221
237
  }
222
- constructor() {
223
- super(...arguments);
224
- (0, import_tslib.__runInitializers)(this, _instanceExtraInitializers);
225
- }
226
238
  };
227
239
  return ProtectionCCAPI2 = _classThis;
228
240
  })();
@@ -339,14 +351,8 @@ rf ${(0, import_shared.getEnumMemberName)(import_Types.RFProtectionState, pr
339
351
  };
340
352
  return ProtectionCC2 = _classThis;
341
353
  })();
342
- function getCCResponseForProtectionCCSet(ctx, sent) {
343
- if (sent.isSinglecast() && !sent.isEncapsulatedWith(import_core.CommandClasses.Supervision) && ctx.getNode(sent.nodeId)?.supportsCC(import_core.CommandClasses["Application Status"])) {
344
- return import_ApplicationStatusCC.ApplicationStatusCCRejectedRequest;
345
- }
346
- }
347
- __name(getCCResponseForProtectionCCSet, "getCCResponseForProtectionCCSet");
348
354
  let ProtectionCCSet = (() => {
349
- let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.ProtectionCommand.Set), (0, import_CommandClassDecorators.expectedCCResponse)(getCCResponseForProtectionCCSet), (0, import_CommandClassDecorators.useSupervision)()];
355
+ let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.ProtectionCommand.Set), (0, import_CommandClassDecorators.useSupervision)()];
350
356
  let _classDescriptor;
351
357
  let _classExtraInitializers = [];
352
358
  let _classThis;
@@ -370,8 +376,18 @@ let ProtectionCCSet = (() => {
370
376
  this.local = options.local;
371
377
  this.rf = options.rf;
372
378
  }
373
- static from(_raw, _ctx) {
374
- throw new import_core.ZWaveError(`${this.name}: deserialization not implemented`, import_core.ZWaveErrorCodes.Deserialization_NotImplemented);
379
+ static from(raw, ctx) {
380
+ (0, import_core.validatePayload)(raw.payload.length >= 1);
381
+ const local = raw.payload[0] & 15;
382
+ let rf;
383
+ if (raw.payload.length >= 2) {
384
+ rf = raw.payload[1] & 15;
385
+ }
386
+ return new this({
387
+ nodeId: ctx.sourceNodeId,
388
+ local,
389
+ rf
390
+ });
375
391
  }
376
392
  local;
377
393
  rf;
@@ -441,6 +457,10 @@ let ProtectionCCReport = (() => {
441
457
  }
442
458
  local;
443
459
  rf;
460
+ serialize(ctx) {
461
+ this.payload = this.rf !== void 0 ? import_shared.Bytes.from([this.local & 15, this.rf & 15]) : import_shared.Bytes.from([this.local & 15]);
462
+ return super.serialize(ctx);
463
+ }
444
464
  toLogEntry(ctx) {
445
465
  const message = {
446
466
  local: (0, import_shared.getEnumMemberName)(import_Types.LocalProtectionState, this.local)
@@ -539,6 +559,15 @@ let ProtectionCCSupportedReport = (() => {
539
559
  supportsTimeout;
540
560
  supportedLocalStates;
541
561
  supportedRFStates;
562
+ serialize(ctx) {
563
+ const flags = (this.supportsTimeout ? 1 : 0) | (this.supportsExclusiveControl ? 2 : 0);
564
+ this.payload = import_shared.Bytes.concat([
565
+ [flags],
566
+ (0, import_core.encodeBitMask)(this.supportedLocalStates, 15, import_Types.LocalProtectionState.Unprotected),
567
+ (0, import_core.encodeBitMask)(this.supportedRFStates, 15, import_Types.RFProtectionState.Unprotected)
568
+ ]);
569
+ return super.serialize(ctx);
570
+ }
542
571
  toLogEntry(ctx) {
543
572
  return {
544
573
  ...super.toLogEntry(ctx),
@@ -611,6 +640,10 @@ let ProtectionCCExclusiveControlReport = (() => {
611
640
  });
612
641
  }
613
642
  exclusiveControlNodeId;
643
+ serialize(ctx) {
644
+ this.payload = import_shared.Bytes.from([this.exclusiveControlNodeId]);
645
+ return super.serialize(ctx);
646
+ }
614
647
  toLogEntry(ctx) {
615
648
  return {
616
649
  ...super.toLogEntry(ctx),
@@ -669,8 +702,12 @@ let ProtectionCCExclusiveControlSet = (() => {
669
702
  super(options);
670
703
  this.exclusiveControlNodeId = options.exclusiveControlNodeId;
671
704
  }
672
- static from(_raw, _ctx) {
673
- throw new import_core.ZWaveError(`${this.name}: deserialization not implemented`, import_core.ZWaveErrorCodes.Deserialization_NotImplemented);
705
+ static from(raw, ctx) {
706
+ (0, import_core.validatePayload)(raw.payload.length >= 1);
707
+ return new this({
708
+ nodeId: ctx.sourceNodeId,
709
+ exclusiveControlNodeId: raw.payload[0]
710
+ });
674
711
  }
675
712
  exclusiveControlNodeId;
676
713
  serialize(ctx) {
@@ -721,6 +758,10 @@ let ProtectionCCTimeoutReport = (() => {
721
758
  });
722
759
  }
723
760
  timeout;
761
+ serialize(ctx) {
762
+ this.payload = import_shared.Bytes.from([this.timeout.serialize()]);
763
+ return super.serialize(ctx);
764
+ }
724
765
  toLogEntry(ctx) {
725
766
  return {
726
767
  ...super.toLogEntry(ctx),
@@ -777,8 +818,12 @@ let ProtectionCCTimeoutSet = (() => {
777
818
  super(options);
778
819
  this.timeout = options.timeout;
779
820
  }
780
- static from(_raw, _ctx) {
781
- throw new import_core.ZWaveError(`${this.name}: deserialization not implemented`, import_core.ZWaveErrorCodes.Deserialization_NotImplemented);
821
+ static from(raw, ctx) {
822
+ (0, import_core.validatePayload)(raw.payload.length >= 1);
823
+ return new this({
824
+ nodeId: ctx.sourceNodeId,
825
+ timeout: import_core.Timeout.parse(raw.payload[0])
826
+ });
782
827
  }
783
828
  timeout;
784
829
  serialize(ctx) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src_gen/cc/ProtectionCC.ts"],
4
- "sourcesContent": ["import * as __validateArgs from \"./ProtectionCC._validateArgs.js\";\nconst { validateArgs_ProtectionCCAPI_set, validateArgs_ProtectionCCAPI_setExclusiveControl, validateArgs_ProtectionCCAPI_setTimeout } = __validateArgs;\nimport { CommandClasses, type GetNode, type GetValueDB, MAX_NODES, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type NodeId, type SupervisionResult, type SupportsCC, Timeout, ValueMetadata, type WithAddress, ZWaveError, ZWaveErrorCodes, enumValuesToMetadataStates, parseBitMask, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, pick } from \"@zwave-js/shared\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, type SetValueImplementation, throwUnsupportedProperty, throwWrongValueType, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, type RefreshValuesOptions, getEffectiveCCVersion, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { LocalProtectionState, ProtectionCommand, RFProtectionState, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { ApplicationStatusCCRejectedRequest } from \"./ApplicationStatusCC.js\";\nimport { ProtectionCCValues } from \"./_CCValues.generated.js\";\nexport { ProtectionCCValues };\n@API(CommandClasses.Protection)\nexport class ProtectionCCAPI extends CCAPI {\n public supportsCommand(cmd: ProtectionCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case ProtectionCommand.Get:\n return this.isSinglecast();\n case ProtectionCommand.Set:\n return true; // This is mandatory\n case ProtectionCommand.SupportedGet:\n return this.version >= 2 && this.isSinglecast();\n case ProtectionCommand.TimeoutGet:\n case ProtectionCommand.TimeoutSet: {\n return (this.isSinglecast()\n && this.tryGetValueDB()?.getValue<boolean>(ProtectionCCValues.supportsTimeout.endpoint(this.endpoint.index)));\n }\n case ProtectionCommand.ExclusiveControlGet:\n case ProtectionCommand.ExclusiveControlSet: {\n return (this.isSinglecast()\n && this.tryGetValueDB()?.getValue<boolean>(ProtectionCCValues.supportsExclusiveControl.endpoint(this.endpoint.index)));\n }\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: ProtectionCCAPI, { property }, value) {\n const valueDB = this.tryGetValueDB();\n if (property === \"local\") {\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n // We need to set both values together, so retrieve the other one from the value DB\n const rf = valueDB?.getValue<RFProtectionState>(ProtectionCCValues.rfProtectionState.endpoint(this.endpoint.index));\n return this.set(value, rf);\n }\n else if (property === \"rf\") {\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n // We need to set both values together, so retrieve the other one from the value DB\n const local = valueDB?.getValue<LocalProtectionState>(ProtectionCCValues.localProtectionState.endpoint(this.endpoint.index));\n return this.set(local ?? LocalProtectionState.Unprotected, value);\n }\n else if (property === \"exclusiveControlNodeId\") {\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n return this.setExclusiveControl(value);\n }\n else {\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: ProtectionCCAPI, { property }) {\n switch (property) {\n case \"local\":\n case \"rf\":\n return (await this.get())?.[property];\n case \"exclusiveControlNodeId\":\n return this.getExclusiveControl();\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get() {\n this.assertSupportsCommand(ProtectionCommand, ProtectionCommand.Get);\n const cc = new ProtectionCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<ProtectionCCReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\"local\", \"rf\"]);\n }\n }\n @validateArgs_ProtectionCCAPI_set()\n public async set(local: LocalProtectionState, rf?: RFProtectionState): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(ProtectionCommand, ProtectionCommand.Set);\n const cc = new ProtectionCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n local,\n rf,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async getSupported() {\n this.assertSupportsCommand(ProtectionCommand, ProtectionCommand.SupportedGet);\n const cc = new ProtectionCCSupportedGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<ProtectionCCSupportedReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"supportsExclusiveControl\",\n \"supportsTimeout\",\n \"supportedLocalStates\",\n \"supportedRFStates\",\n ]);\n }\n }\n public async getExclusiveControl(): Promise<MaybeNotKnown<number>> {\n this.assertSupportsCommand(ProtectionCommand, ProtectionCommand.ExclusiveControlGet);\n const cc = new ProtectionCCExclusiveControlGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<ProtectionCCExclusiveControlReport>(cc, this.commandOptions);\n return response?.exclusiveControlNodeId;\n }\n @validateArgs_ProtectionCCAPI_setExclusiveControl()\n public async setExclusiveControl(nodeId: number): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(ProtectionCommand, ProtectionCommand.ExclusiveControlSet);\n const cc = new ProtectionCCExclusiveControlSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n exclusiveControlNodeId: nodeId,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n public async getTimeout(): Promise<MaybeNotKnown<Timeout>> {\n this.assertSupportsCommand(ProtectionCommand, ProtectionCommand.TimeoutGet);\n const cc = new ProtectionCCTimeoutGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<ProtectionCCTimeoutReport>(cc, this.commandOptions);\n return response?.timeout;\n }\n @validateArgs_ProtectionCCAPI_setTimeout()\n public async setTimeout(timeout: Timeout): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(ProtectionCommand, ProtectionCommand.TimeoutSet);\n const cc = new ProtectionCCTimeoutSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n timeout,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n}\n@commandClass(CommandClasses.Protection)\n@implementedVersion(2)\n@ccValues(ProtectionCCValues)\nexport class ProtectionCC extends CommandClass {\n declare ccCommand: ProtectionCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Protection, ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n // We need to do some queries after a potential timeout\n // In this case, do now mark this CC as interviewed completely\n let hadCriticalTimeout = false;\n // First find out what the device supports\n if (api.version >= 2) {\n ctx.logNode(node.id, {\n message: \"querying protection capabilities...\",\n direction: \"outbound\",\n });\n const resp = await api.getSupported();\n if (resp) {\n const logMessage = `received protection capabilities:\nexclusive control: ${resp.supportsExclusiveControl}\ntimeout: ${resp.supportsTimeout}\nlocal protection states: ${resp.supportedLocalStates\n .map((local) => getEnumMemberName(LocalProtectionState, local))\n .map((str) => `\\n\u00B7 ${str}`)\n .join(\"\")}\nRF protection states: ${resp.supportedRFStates\n .map((local) => getEnumMemberName(RFProtectionState, local))\n .map((str) => `\\n\u00B7 ${str}`)\n .join(\"\")}`;\n ctx.logNode(node.id, {\n message: logMessage,\n direction: \"inbound\",\n });\n }\n else {\n hadCriticalTimeout = true;\n }\n }\n await this.refreshValues(ctx);\n // Remember that the interview is complete\n if (!hadCriticalTimeout)\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Protection, ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n });\n const supportsExclusiveControl = !!this.getValue(ctx, ProtectionCCValues.supportsExclusiveControl);\n const supportsTimeout = !!this.getValue(ctx, ProtectionCCValues.supportsTimeout);\n // Query the current state\n ctx.logNode(node.id, {\n message: \"querying protection status...\",\n direction: \"outbound\",\n });\n const protectionResp = await api.get();\n if (protectionResp) {\n let logMessage = `received protection status:\nlocal: ${getEnumMemberName(LocalProtectionState, protectionResp.local)}`;\n if (protectionResp.rf != undefined) {\n logMessage += `\nrf ${getEnumMemberName(RFProtectionState, protectionResp.rf)}`;\n }\n ctx.logNode(node.id, {\n message: logMessage,\n direction: \"inbound\",\n });\n }\n if (supportsTimeout) {\n // Query the current timeout\n ctx.logNode(node.id, {\n message: \"querying protection timeout...\",\n direction: \"outbound\",\n });\n const timeout = await api.getTimeout();\n if (timeout) {\n ctx.logNode(node.id, {\n message: `received timeout: ${timeout.toString()}`,\n direction: \"inbound\",\n });\n }\n }\n if (supportsExclusiveControl) {\n // Query the current timeout\n ctx.logNode(node.id, {\n message: \"querying exclusive control node...\",\n direction: \"outbound\",\n });\n const nodeId = await api.getExclusiveControl();\n if (nodeId != undefined) {\n ctx.logNode(node.id, {\n message: (nodeId !== 0\n ? `Node ${nodeId.toString().padStart(3, \"0\")}`\n : `no node`) + ` has exclusive control`,\n direction: \"inbound\",\n });\n }\n }\n }\n}\n// @publicAPI\nexport interface ProtectionCCSetOptions {\n local: LocalProtectionState;\n rf?: RFProtectionState;\n}\nfunction getCCResponseForProtectionCCSet(ctx: GetNode<NodeId & SupportsCC>, sent: ProtectionCCSet) {\n // The NodeID that has exclusive control can override the RF protection\n // state of the device and can control it regardless of the protection\n // state. Commands from any other nodes in the network may be restricted\n // by the RF protection state. In that case, the Application Rejected\n // Request Command MUST be returned.\n if (sent.isSinglecast()\n && !sent.isEncapsulatedWith(CommandClasses.Supervision)\n && ctx.getNode(sent.nodeId)?.supportsCC(CommandClasses[\"Application Status\"])) {\n return ApplicationStatusCCRejectedRequest;\n }\n}\n@CCCommand(ProtectionCommand.Set)\n@expectedCCResponse(getCCResponseForProtectionCCSet)\n@useSupervision()\nexport class ProtectionCCSet extends ProtectionCC {\n public constructor(options: WithAddress<ProtectionCCSetOptions>) {\n super(options);\n this.local = options.local;\n this.rf = options.rf;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): ProtectionCCSet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new ProtectionCCSet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public local: LocalProtectionState;\n public rf?: RFProtectionState;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.local & 0b1111,\n (this.rf ?? RFProtectionState.Unprotected) & 0b1111,\n ]);\n const ccVersion = getEffectiveCCVersion(ctx, this);\n if (ccVersion < 2 && ctx.getDeviceConfig?.(this.nodeId as number)?.compat?.encodeCCsUsingTargetVersion) {\n // When forcing CC version 1, only include the local state\n this.payload = this.payload.subarray(0, 1);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n local: getEnumMemberName(LocalProtectionState, this.local),\n };\n if (this.rf != undefined) {\n message.rf = getEnumMemberName(RFProtectionState, this.rf);\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface ProtectionCCReportOptions {\n local: LocalProtectionState;\n rf?: RFProtectionState;\n}\n@CCCommand(ProtectionCommand.Report)\n@ccValueProperty(\"local\", ProtectionCCValues.localProtectionState)\n@ccValueProperty(\"rf\", ProtectionCCValues.rfProtectionState)\nexport class ProtectionCCReport extends ProtectionCC {\n public constructor(options: WithAddress<ProtectionCCReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.local = options.local;\n this.rf = options.rf;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCReport {\n validatePayload(raw.payload.length >= 1);\n const local: LocalProtectionState = raw.payload[0] & 0b1111;\n let rf: RFProtectionState | undefined;\n if (raw.payload.length >= 2) {\n rf = raw.payload[1] & 0b1111;\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n local,\n rf,\n });\n }\n public readonly local: LocalProtectionState;\n public readonly rf?: RFProtectionState;\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n local: getEnumMemberName(LocalProtectionState, this.local),\n };\n if (this.rf != undefined) {\n message.rf = getEnumMemberName(RFProtectionState, this.rf);\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n@CCCommand(ProtectionCommand.Get)\n@expectedCCResponse(ProtectionCCReport)\nexport class ProtectionCCGet extends ProtectionCC {\n}\n// @publicAPI\nexport interface ProtectionCCSupportedReportOptions {\n supportsTimeout: boolean;\n supportsExclusiveControl: boolean;\n supportedLocalStates: LocalProtectionState[];\n supportedRFStates: RFProtectionState[];\n}\n@CCCommand(ProtectionCommand.SupportedReport)\n@ccValueProperty(\"supportsExclusiveControl\", ProtectionCCValues.supportsExclusiveControl)\n@ccValueProperty(\"supportsTimeout\", ProtectionCCValues.supportsTimeout)\n@ccValueProperty(\"supportedLocalStates\", ProtectionCCValues.supportedLocalStates)\n@ccValueProperty(\"supportedRFStates\", ProtectionCCValues.supportedRFStates)\nexport class ProtectionCCSupportedReport extends ProtectionCC {\n public constructor(options: WithAddress<ProtectionCCSupportedReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.supportsTimeout = options.supportsTimeout;\n this.supportsExclusiveControl = options.supportsExclusiveControl;\n this.supportedLocalStates = options.supportedLocalStates;\n this.supportedRFStates = options.supportedRFStates;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCSupportedReport {\n validatePayload(raw.payload.length >= 5);\n const supportsTimeout = !!(raw.payload[0] & 0b1);\n const supportsExclusiveControl = !!(raw.payload[0] & 0b10);\n const supportedLocalStates: LocalProtectionState[] = parseBitMask(raw.payload.subarray(1, 3), LocalProtectionState.Unprotected);\n const supportedRFStates: RFProtectionState[] = parseBitMask(raw.payload.subarray(3, 5), RFProtectionState.Unprotected);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportsTimeout,\n supportsExclusiveControl,\n supportedLocalStates,\n supportedRFStates,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n // update metadata (partially) for the local and rf values\n const localStateValue = ProtectionCCValues.localProtectionState;\n this.setMetadata(ctx, localStateValue, {\n ...localStateValue.meta,\n states: enumValuesToMetadataStates(LocalProtectionState, this.supportedLocalStates),\n });\n const rfStateValue = ProtectionCCValues.rfProtectionState;\n this.setMetadata(ctx, rfStateValue, {\n ...rfStateValue.meta,\n states: enumValuesToMetadataStates(RFProtectionState, this.supportedRFStates),\n });\n return true;\n }\n public readonly supportsExclusiveControl: boolean;\n public readonly supportsTimeout: boolean;\n public readonly supportedLocalStates: LocalProtectionState[];\n public readonly supportedRFStates: RFProtectionState[];\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"supports exclusive control\": this.supportsExclusiveControl,\n \"supports timeout\": this.supportsTimeout,\n \"local protection states\": this.supportedLocalStates\n .map((local) => getEnumMemberName(LocalProtectionState, local))\n .map((str) => `\\n\u00B7 ${str}`)\n .join(\"\"),\n \"RF protection states\": this.supportedRFStates\n .map((rf) => getEnumMemberName(RFProtectionState, rf))\n .map((str) => `\\n\u00B7 ${str}`)\n .join(\"\"),\n },\n };\n }\n}\n@CCCommand(ProtectionCommand.SupportedGet)\n@expectedCCResponse(ProtectionCCSupportedReport)\nexport class ProtectionCCSupportedGet extends ProtectionCC {\n}\n// @publicAPI\nexport interface ProtectionCCExclusiveControlReportOptions {\n exclusiveControlNodeId: number;\n}\n@CCCommand(ProtectionCommand.ExclusiveControlReport)\n@ccValueProperty(\"exclusiveControlNodeId\", ProtectionCCValues.exclusiveControlNodeId)\nexport class ProtectionCCExclusiveControlReport extends ProtectionCC {\n public constructor(options: WithAddress<ProtectionCCExclusiveControlReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.exclusiveControlNodeId = options.exclusiveControlNodeId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCExclusiveControlReport {\n validatePayload(raw.payload.length >= 1);\n const exclusiveControlNodeId = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n exclusiveControlNodeId,\n });\n }\n public readonly exclusiveControlNodeId: number;\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"exclusive control node id\": this.exclusiveControlNodeId,\n },\n };\n }\n}\n@CCCommand(ProtectionCommand.ExclusiveControlGet)\n@expectedCCResponse(ProtectionCCExclusiveControlReport)\nexport class ProtectionCCExclusiveControlGet extends ProtectionCC {\n}\n// @publicAPI\nexport interface ProtectionCCExclusiveControlSetOptions {\n exclusiveControlNodeId: number;\n}\n@CCCommand(ProtectionCommand.ExclusiveControlSet)\n@expectedCCResponse(ProtectionCCReport)\n@useSupervision()\nexport class ProtectionCCExclusiveControlSet extends ProtectionCC {\n public constructor(options: WithAddress<ProtectionCCExclusiveControlSetOptions>) {\n super(options);\n this.exclusiveControlNodeId = options.exclusiveControlNodeId;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): ProtectionCCExclusiveControlSet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new ProtectionCCExclusiveControlSet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public exclusiveControlNodeId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.exclusiveControlNodeId]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"exclusive control node id\": this.exclusiveControlNodeId,\n },\n };\n }\n}\n// @publicAPI\nexport interface ProtectionCCTimeoutReportOptions {\n timeout: Timeout;\n}\n@CCCommand(ProtectionCommand.TimeoutReport)\n@ccValueProperty(\"timeout\", ProtectionCCValues.timeout)\nexport class ProtectionCCTimeoutReport extends ProtectionCC {\n public constructor(options: WithAddress<ProtectionCCTimeoutReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.timeout = options.timeout;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCTimeoutReport {\n validatePayload(raw.payload.length >= 1);\n const timeout: Timeout = Timeout.parse(raw.payload[0]);\n return new this({\n nodeId: ctx.sourceNodeId,\n timeout,\n });\n }\n public readonly timeout: Timeout;\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: { timeout: this.timeout.toString() },\n };\n }\n}\n@CCCommand(ProtectionCommand.TimeoutGet)\n@expectedCCResponse(ProtectionCCTimeoutReport)\nexport class ProtectionCCTimeoutGet extends ProtectionCC {\n}\n// @publicAPI\nexport interface ProtectionCCTimeoutSetOptions {\n timeout: Timeout;\n}\n@CCCommand(ProtectionCommand.TimeoutSet)\n@expectedCCResponse(ProtectionCCReport)\n@useSupervision()\nexport class ProtectionCCTimeoutSet extends ProtectionCC {\n public constructor(options: WithAddress<ProtectionCCTimeoutSetOptions>) {\n super(options);\n this.timeout = options.timeout;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): ProtectionCCTimeoutSet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new ProtectionCCTimeoutSet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public timeout: Timeout;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.timeout.serialize()]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: { timeout: this.timeout.toString() },\n };\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qBAAgC;AAEhC,kBAAqV;AACrV,oBAA+C;AAC/C,iBAAwJ;AACxJ,0BAAyK;AACzK,oCAAiI;AAEjI,mBAA4E;AAE5E,iCAAmD;AACnD,gCAAmC;AAVnC,MAAM,EAAE,kCAAkC,kDAAkD,wCAAuC,IAAK;IAa3H,mBAAe,MAAA;8BAD3B,mCAAI,2BAAe,UAAU,CAAC;;;;oBACM;;;;;uCAAA,YAAK;WAAA;;;;;;;;yBA6ErC,iCAAgC,CAAE;yCAqClC,iDAAgD,CAAE;gCAmBlD,wCAAuC,CAAE;AAvD1C,qCAAA,MAAA,MAAA,iBAAA,EAAA,MAAA,UAAA,MAAA,OAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,SAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,KAAb,OAAgB,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AAqChB,qCAAA,MAAA,MAAA,iCAAA,EAAA,MAAA,UAAA,MAAA,uBAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,yBAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,qBAAb,OAAgC,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AAmBhC,qCAAA,MAAA,MAAA,wBAAA,EAAA,MAAA,UAAA,MAAA,cAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,gBAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,YAAb,OAAuB,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AAtI3B,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACF,gBAAgB,KAAsB;AACzC,cAAQ,KAAK;QACT,KAAK,+BAAkB;AACnB,iBAAO,KAAK,aAAY;QAC5B,KAAK,+BAAkB;AACnB,iBAAO;;QACX,KAAK,+BAAkB;AACnB,iBAAO,KAAK,WAAW,KAAK,KAAK,aAAY;QACjD,KAAK,+BAAkB;QACvB,KAAK,+BAAkB,YAAY;AAC/B,iBAAQ,KAAK,aAAY,KAClB,KAAK,cAAa,GAAI,SAAkB,6CAAmB,gBAAgB,SAAS,KAAK,SAAS,KAAK,CAAC;QACnH;QACA,KAAK,+BAAkB;QACvB,KAAK,+BAAkB,qBAAqB;AACxC,iBAAQ,KAAK,aAAY,KAClB,KAAK,cAAa,GAAI,SAAkB,6CAAmB,yBAAyB,SAAS,KAAK,SAAS,KAAK,CAAC;QAC5H;MACJ;AACA,aAAO,MAAM,gBAAgB,GAAG;IACpC;IACA,KAAwB,oBAAS,IAAC;AAC9B,aAAO,eAAuC,EAAE,SAAQ,GAAI,OAAK;AAC7D,cAAM,UAAU,KAAK,cAAa;AAClC,YAAI,aAAa,SAAS;AACtB,cAAI,OAAO,UAAU,UAAU;AAC3B,gDAAoB,KAAK,MAAM,UAAU,UAAU,OAAO,KAAK;UACnE;AAEA,gBAAM,KAAK,SAAS,SAA4B,6CAAmB,kBAAkB,SAAS,KAAK,SAAS,KAAK,CAAC;AAClH,iBAAO,KAAK,IAAI,OAAO,EAAE;QAC7B,WACS,aAAa,MAAM;AACxB,cAAI,OAAO,UAAU,UAAU;AAC3B,gDAAoB,KAAK,MAAM,UAAU,UAAU,OAAO,KAAK;UACnE;AAEA,gBAAM,QAAQ,SAAS,SAA+B,6CAAmB,qBAAqB,SAAS,KAAK,SAAS,KAAK,CAAC;AAC3H,iBAAO,KAAK,IAAI,SAAS,kCAAqB,aAAa,KAAK;QACpE,WACS,aAAa,0BAA0B;AAC5C,cAAI,OAAO,UAAU,UAAU;AAC3B,gDAAoB,KAAK,MAAM,UAAU,UAAU,OAAO,KAAK;UACnE;AACA,iBAAO,KAAK,oBAAoB,KAAK;QACzC,OACK;AACD,mDAAyB,KAAK,MAAM,QAAQ;QAChD;MACJ;IACJ;IACA,KAAe,qBAAU,IAAC;AACtB,aAAO,eAAuC,EAAE,SAAQ,GAAE;AACtD,gBAAQ,UAAU;UACd,KAAK;UACL,KAAK;AACD,oBAAQ,MAAM,KAAK,IAAG,KAAM,QAAQ;UACxC,KAAK;AACD,mBAAO,KAAK,oBAAmB;UACnC;AACI,qDAAyB,KAAK,MAAM,QAAQ;QACpD;MACJ;IACJ;;IAEO,MAAM,MAAG;AACZ,WAAK,sBAAsB,gCAAmB,+BAAkB,GAAG;AACnE,YAAM,KAAK,IAAI,gBAAgB;QAC3B,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;OAChC;AACD,YAAM,WAAW,MAAM,KAAK,KAAK,YAAgC,IAAI,KAAK,cAAc;AACxF,UAAI,UAAU;AACV,mBAAO,oBAAK,UAAU,CAAC,SAAS,IAAI,CAAC;MACzC;IACJ;IAEO,MAAM,IAAI,OAA6B,IAAsB;AAChE,WAAK,sBAAsB,gCAAmB,+BAAkB,GAAG;AACnE,YAAM,KAAK,IAAI,gBAAgB;QAC3B,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;QAC7B;QACA;OACH;AACD,aAAO,KAAK,KAAK,YAAY,IAAI,KAAK,cAAc;IACxD;;IAEO,MAAM,eAAY;AACrB,WAAK,sBAAsB,gCAAmB,+BAAkB,YAAY;AAC5E,YAAM,KAAK,IAAI,yBAAyB;QACpC,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;OAChC;AACD,YAAM,WAAW,MAAM,KAAK,KAAK,YAAyC,IAAI,KAAK,cAAc;AACjG,UAAI,UAAU;AACV,mBAAO,oBAAK,UAAU;UAClB;UACA;UACA;UACA;SACH;MACL;IACJ;IACO,MAAM,sBAAmB;AAC5B,WAAK,sBAAsB,gCAAmB,+BAAkB,mBAAmB;AACnF,YAAM,KAAK,IAAI,gCAAgC;QAC3C,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;OAChC;AACD,YAAM,WAAW,MAAM,KAAK,KAAK,YAAgD,IAAI,KAAK,cAAc;AACxG,aAAO,UAAU;IACrB;IAEO,MAAM,oBAAoB,QAAc;AAC3C,WAAK,sBAAsB,gCAAmB,+BAAkB,mBAAmB;AACnF,YAAM,KAAK,IAAI,gCAAgC;QAC3C,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;QAC7B,wBAAwB;OAC3B;AACD,aAAO,KAAK,KAAK,YAAY,IAAI,KAAK,cAAc;IACxD;IACO,MAAM,aAAU;AACnB,WAAK,sBAAsB,gCAAmB,+BAAkB,UAAU;AAC1E,YAAM,KAAK,IAAI,uBAAuB;QAClC,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;OAChC;AACD,YAAM,WAAW,MAAM,KAAK,KAAK,YAAuC,IAAI,KAAK,cAAc;AAC/F,aAAO,UAAU;IACrB;IAEO,MAAM,WAAW,SAAgB;AACpC,WAAK,sBAAsB,gCAAmB,+BAAkB,UAAU;AAC1E,YAAM,KAAK,IAAI,uBAAuB;QAClC,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;QAC7B;OACH;AACD,aAAO,KAAK,KAAK,YAAY,IAAI,KAAK,cAAc;IACxD;;;AA9IS,0CAAA,MAAA,0BAAA;;;;;IAmJA,gBAAY,MAAA;8BAHxB,4CAAa,2BAAe,UAAU,OACtC,kDAAmB,CAAC,OACpB,wCAAS,4CAAkB,CAAC;;;;oBACK;oCAAA,YAAY;WAAA;;;;;;;;AAA9C,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IAEF,MAAM,UAAU,KAAqB;AACxC,YAAM,OAAO,KAAK,QAAQ,GAAG;AAC7B,YAAM,WAAW,KAAK,YAAY,GAAG;AACrC,YAAM,MAAM,iBAAM,OAAO,2BAAe,YAAY,KAAK,QAAQ,EAAE,YAAY;QAC3E,UAAU,4BAAgB;OAC7B;AACD,UAAI,QAAQ,KAAK,IAAI;QACjB,UAAU,KAAK;QACf,SAAS,gBAAgB,KAAK,MAAM;QACpC,WAAW;OACd;AAGD,UAAI,qBAAqB;AAEzB,UAAI,IAAI,WAAW,GAAG;AAClB,YAAI,QAAQ,KAAK,IAAI;UACjB,SAAS;UACT,WAAW;SACd;AACD,cAAM,OAAO,MAAM,IAAI,aAAY;AACnC,YAAI,MAAM;AACN,gBAAM,aAAa;2BACR,KAAK,wBAAwB;2BAC7B,KAAK,eAAe;2BACpB,KAAK,qBACX,IAAI,CAAC,cAAU,iCAAkB,mCAAsB,KAAK,CAAC,EAC7D,IAAI,CAAC,QAAQ;OAAO,GAAG,EAAE,EACzB,KAAK,EAAE,CAAC;2BACF,KAAK,kBACX,IAAI,CAAC,cAAU,iCAAkB,gCAAmB,KAAK,CAAC,EAC1D,IAAI,CAAC,QAAQ;OAAO,GAAG,EAAE,EACzB,KAAK,EAAE,CAAC;AACb,cAAI,QAAQ,KAAK,IAAI;YACjB,SAAS;YACT,WAAW;WACd;QACL,OACK;AACD,+BAAqB;QACzB;MACJ;AACA,YAAM,KAAK,cAAc,GAAG;AAE5B,UAAI,CAAC;AACD,aAAK,qBAAqB,KAAK,IAAI;IAC3C;IACO,MAAM,cAAc,KAA2B,SAA8B;AAChF,YAAM,OAAO,KAAK,QAAQ,GAAG;AAC7B,YAAM,WAAW,KAAK,YAAY,GAAG;AACrC,YAAM,MAAM,iBAAM,OAAO,2BAAe,YAAY,KAAK,QAAQ,EAAE,YAAY;QAC3E,UAAU,SAAS,YAAY,4BAAgB;OAClD;AACD,YAAM,2BAA2B,CAAC,CAAC,KAAK,SAAS,KAAK,6CAAmB,wBAAwB;AACjG,YAAM,kBAAkB,CAAC,CAAC,KAAK,SAAS,KAAK,6CAAmB,eAAe;AAE/E,UAAI,QAAQ,KAAK,IAAI;QACjB,SAAS;QACT,WAAW;OACd;AACD,YAAM,iBAAiB,MAAM,IAAI,IAAG;AACpC,UAAI,gBAAgB;AAChB,YAAI,aAAa;aACpB,iCAAkB,mCAAsB,eAAe,KAAK,CAAC;AAC1D,YAAI,eAAe,MAAM,QAAW;AAChC,wBAAc;aACrB,iCAAkB,gCAAmB,eAAe,EAAE,CAAC;QACpD;AACA,YAAI,QAAQ,KAAK,IAAI;UACjB,SAAS;UACT,WAAW;SACd;MACL;AACA,UAAI,iBAAiB;AAEjB,YAAI,QAAQ,KAAK,IAAI;UACjB,SAAS;UACT,WAAW;SACd;AACD,cAAM,UAAU,MAAM,IAAI,WAAU;AACpC,YAAI,SAAS;AACT,cAAI,QAAQ,KAAK,IAAI;YACjB,SAAS,qBAAqB,QAAQ,SAAQ,CAAE;YAChD,WAAW;WACd;QACL;MACJ;AACA,UAAI,0BAA0B;AAE1B,YAAI,QAAQ,KAAK,IAAI;UACjB,SAAS;UACT,WAAW;SACd;AACD,cAAM,SAAS,MAAM,IAAI,oBAAmB;AAC5C,YAAI,UAAU,QAAW;AACrB,cAAI,QAAQ,KAAK,IAAI;YACjB,UAAU,WAAW,IACf,QAAQ,OAAO,SAAQ,EAAG,SAAS,GAAG,GAAG,CAAC,KAC1C,aAAa;YACnB,WAAW;WACd;QACL;MACJ;IACJ;;;;AAOJ,SAAS,gCAAgC,KAAmC,MAAqB;AAM7F,MAAI,KAAK,aAAY,KACd,CAAC,KAAK,mBAAmB,2BAAe,WAAW,KACnD,IAAI,QAAQ,KAAK,MAAM,GAAG,WAAW,2BAAe,oBAAoB,CAAC,GAAG;AAC/E,WAAO;EACX;AACJ;AAXS;IAeI,mBAAe,MAAA;8BAH3B,yCAAU,+BAAkB,GAAG,OAC/B,kDAAmB,+BAA+B,OAClD,8CAAc,CAAE;;;;oBACoB;uCAAA,YAAY;WAAA;;;;;;;;AAAjD,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA4C;AAC3D,YAAM,OAAO;AACb,WAAK,QAAQ,QAAQ;AACrB,WAAK,KAAK,QAAQ;IACtB;IACO,OAAO,KAAK,MAAa,MAAsB;AAElD,YAAM,IAAI,uBAAW,GAAG,KAAK,IAAI,qCAAqC,4BAAgB,8BAA8B;IAIxH;IACO;IACA;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK;QACtB,KAAK,QAAQ;SACZ,KAAK,MAAM,+BAAkB,eAAe;OAChD;AACD,YAAM,gBAAY,2CAAsB,KAAK,IAAI;AACjD,UAAI,YAAY,KAAK,IAAI,kBAAkB,KAAK,MAAgB,GAAG,QAAQ,6BAA6B;AAEpG,aAAK,UAAU,KAAK,QAAQ,SAAS,GAAG,CAAC;MAC7C;AACA,aAAO,MAAM,UAAU,GAAG;IAC9B;IACO,WAAW,KAAgB;AAC9B,YAAM,UAAyB;QAC3B,WAAO,iCAAkB,mCAAsB,KAAK,KAAK;;AAE7D,UAAI,KAAK,MAAM,QAAW;AACtB,gBAAQ,SAAK,iCAAkB,gCAAmB,KAAK,EAAE;MAC7D;AACA,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB;;IAER;;;;IAUS,sBAAkB,MAAA;8BAH9B,yCAAU,+BAAkB,MAAM,OAClC,+CAAgB,SAAS,6CAAmB,oBAAoB,OAChE,+CAAgB,MAAM,6CAAmB,iBAAiB,CAAC;;;;oBACpB;0CAAA,YAAY;WAAA;;;;;;;;AAApD,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA+C;AAC9D,YAAM,OAAO;AAEb,WAAK,QAAQ,QAAQ;AACrB,WAAK,KAAK,QAAQ;IACtB;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,QAA8B,IAAI,QAAQ,CAAC,IAAI;AACrD,UAAI;AACJ,UAAI,IAAI,QAAQ,UAAU,GAAG;AACzB,aAAK,IAAI,QAAQ,CAAC,IAAI;MAC1B;AACA,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;OACH;IACL;IACgB;IACA;IACT,WAAW,KAAgB;AAC9B,YAAM,UAAyB;QAC3B,WAAO,iCAAkB,mCAAsB,KAAK,KAAK;;AAE7D,UAAI,KAAK,MAAM,QAAW;AACtB,gBAAQ,SAAK,iCAAkB,gCAAmB,KAAK,EAAE;MAC7D;AACA,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB;;IAER;;;;IAIS,mBAAe,MAAA;8BAF3B,yCAAU,+BAAkB,GAAG,OAC/B,kDAAmB,kBAAkB,CAAC;;;;oBACF;uCAAA,YAAY;WAAA;;;;;;;;AAAjD,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;;;;IAcA,+BAA2B,MAAA;8BALvC,yCAAU,+BAAkB,eAAe,OAC3C,+CAAgB,4BAA4B,6CAAmB,wBAAwB,OACvF,+CAAgB,mBAAmB,6CAAmB,eAAe,OACrE,+CAAgB,wBAAwB,6CAAmB,oBAAoB,OAC/E,+CAAgB,qBAAqB,6CAAmB,iBAAiB,CAAC;;;;oBAC1B;mDAAA,YAAY;WAAA;;;;;;;;AAA7D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAwD;AACvE,YAAM,OAAO;AAEb,WAAK,kBAAkB,QAAQ;AAC/B,WAAK,2BAA2B,QAAQ;AACxC,WAAK,uBAAuB,QAAQ;AACpC,WAAK,oBAAoB,QAAQ;IACrC;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,kBAAkB,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI;AAC5C,YAAM,2BAA2B,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI;AACrD,YAAM,2BAA+C,0BAAa,IAAI,QAAQ,SAAS,GAAG,CAAC,GAAG,kCAAqB,WAAW;AAC9H,YAAM,wBAAyC,0BAAa,IAAI,QAAQ,SAAS,GAAG,CAAC,GAAG,+BAAkB,WAAW;AACrH,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;QACA;QACA;OACH;IACL;IACO,cAAc,KAAyB;AAC1C,UAAI,CAAC,MAAM,cAAc,GAAG;AACxB,eAAO;AAEX,YAAM,kBAAkB,6CAAmB;AAC3C,WAAK,YAAY,KAAK,iBAAiB;QACnC,GAAG,gBAAgB;QACnB,YAAQ,wCAA2B,mCAAsB,KAAK,oBAAoB;OACrF;AACD,YAAM,eAAe,6CAAmB;AACxC,WAAK,YAAY,KAAK,cAAc;QAChC,GAAG,aAAa;QAChB,YAAQ,wCAA2B,gCAAmB,KAAK,iBAAiB;OAC/E;AACD,aAAO;IACX;IACgB;IACA;IACA;IACA;IACT,WAAW,KAAgB;AAC9B,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB,SAAS;UACL,8BAA8B,KAAK;UACnC,oBAAoB,KAAK;UACzB,2BAA2B,KAAK,qBAC3B,IAAI,CAAC,cAAU,iCAAkB,mCAAsB,KAAK,CAAC,EAC7D,IAAI,CAAC,QAAQ;OAAO,GAAG,EAAE,EACzB,KAAK,EAAE;UACZ,wBAAwB,KAAK,kBACxB,IAAI,CAAC,WAAO,iCAAkB,gCAAmB,EAAE,CAAC,EACpD,IAAI,CAAC,QAAQ;OAAO,GAAG,EAAE,EACzB,KAAK,EAAE;;;IAGxB;;;;IAIS,4BAAwB,MAAA;8BAFpC,yCAAU,+BAAkB,YAAY,OACxC,kDAAmB,2BAA2B,CAAC;;;;oBACF;gDAAA,YAAY;WAAA;;;;;;;;AAA1D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;;;;IAQA,sCAAkC,MAAA;8BAF9C,yCAAU,+BAAkB,sBAAsB,OAClD,+CAAgB,0BAA0B,6CAAmB,sBAAsB,CAAC;;;;oBAC7B;0DAAA,YAAY;WAAA;;;;;;;;AAApE,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA+D;AAC9E,YAAM,OAAO;AAEb,WAAK,yBAAyB,QAAQ;IAC1C;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,yBAAyB,IAAI,QAAQ,CAAC;AAC5C,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACgB;IACT,WAAW,KAAgB;AAC9B,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB,SAAS;UACL,6BAA6B,KAAK;;;IAG9C;;;;IAIS,mCAA+B,MAAA;8BAF3C,yCAAU,+BAAkB,mBAAmB,OAC/C,kDAAmB,kCAAkC,CAAC;;;;oBACF;uDAAA,YAAY;WAAA;;;;;;;;AAAjE,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;;;;IASA,mCAA+B,MAAA;8BAH3C,yCAAU,+BAAkB,mBAAmB,OAC/C,kDAAmB,kBAAkB,OACrC,8CAAc,CAAE;;;;oBACoC;uDAAA,YAAY;WAAA;;;;;;;;AAAjE,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA4D;AAC3E,YAAM,OAAO;AACb,WAAK,yBAAyB,QAAQ;IAC1C;IACO,OAAO,KAAK,MAAa,MAAsB;AAElD,YAAM,IAAI,uBAAW,GAAG,KAAK,IAAI,qCAAqC,4BAAgB,8BAA8B;IAIxH;IACO;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,sBAAsB,CAAC;AACvD,aAAO,MAAM,UAAU,GAAG;IAC9B;IACO,WAAW,KAAgB;AAC9B,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB,SAAS;UACL,6BAA6B,KAAK;;;IAG9C;;;;IAQS,6BAAyB,MAAA;8BAFrC,yCAAU,+BAAkB,aAAa,OACzC,+CAAgB,WAAW,6CAAmB,OAAO,CAAC;;;;oBACR;iDAAA,YAAY;WAAA;;;;;;;;AAA3D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAsD;AACrE,YAAM,OAAO;AAEb,WAAK,UAAU,QAAQ;IAC3B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,UAAmB,oBAAQ,MAAM,IAAI,QAAQ,CAAC,CAAC;AACrD,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACgB;IACT,WAAW,KAAgB;AAC9B,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB,SAAS,EAAE,SAAS,KAAK,QAAQ,SAAQ,EAAE;;IAEnD;;;;IAIS,0BAAsB,MAAA;8BAFlC,yCAAU,+BAAkB,UAAU,OACtC,kDAAmB,yBAAyB,CAAC;;;;oBACF;8CAAA,YAAY;WAAA;;;;;;;;AAAxD,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;;;;IASA,0BAAsB,MAAA;8BAHlC,yCAAU,+BAAkB,UAAU,OACtC,kDAAmB,kBAAkB,OACrC,8CAAc,CAAE;;;;oBAC2B;8CAAA,YAAY;WAAA;;;;;;;;AAAxD,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAmD;AAClE,YAAM,OAAO;AACb,WAAK,UAAU,QAAQ;IAC3B;IACO,OAAO,KAAK,MAAa,MAAsB;AAElD,YAAM,IAAI,uBAAW,GAAG,KAAK,IAAI,qCAAqC,4BAAgB,8BAA8B;IAIxH;IACO;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,QAAQ,UAAS,CAAE,CAAC;AACpD,aAAO,MAAM,UAAU,GAAG;IAC9B;IACO,WAAW,KAAgB;AAC9B,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB,SAAS,EAAE,SAAS,KAAK,QAAQ,SAAQ,EAAE;;IAEnD;;;;",
4
+ "sourcesContent": ["import * as __validateArgs from \"./ProtectionCC._validateArgs.js\";\nconst { validateArgs_ProtectionCCAPI_set, validateArgs_ProtectionCCAPI_setExclusiveControl, validateArgs_ProtectionCCAPI_setTimeout } = __validateArgs;\nimport { CommandClasses, type GetValueDB, MAX_NODES, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type SupervisionResult, Timeout, type ValueID, ValueMetadata, type WithAddress, encodeBitMask, enumValuesToMetadataStates, parseBitMask, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, pick } from \"@zwave-js/shared\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, SET_VALUE_HOOKS, type SetValueImplementation, type SetValueImplementationHooksFactory, throwUnsupportedProperty, throwWrongValueType, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, type RefreshValuesOptions, getEffectiveCCVersion, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { LocalProtectionState, ProtectionCommand, RFProtectionState, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { ProtectionCCValues } from \"./_CCValues.generated.js\";\nexport { ProtectionCCValues };\n@API(CommandClasses.Protection)\nexport class ProtectionCCAPI extends CCAPI {\n public supportsCommand(cmd: ProtectionCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case ProtectionCommand.Get:\n return this.isSinglecast();\n case ProtectionCommand.Set:\n return true; // This is mandatory\n case ProtectionCommand.SupportedGet:\n return this.version >= 2 && this.isSinglecast();\n case ProtectionCommand.TimeoutGet:\n case ProtectionCommand.TimeoutSet: {\n return (this.isSinglecast()\n && this.tryGetValueDB()?.getValue<boolean>(ProtectionCCValues.supportsTimeout.endpoint(this.endpoint.index)));\n }\n case ProtectionCommand.ExclusiveControlGet:\n case ProtectionCommand.ExclusiveControlSet: {\n return (this.isSinglecast()\n && this.tryGetValueDB()?.getValue<boolean>(ProtectionCCValues.supportsExclusiveControl.endpoint(this.endpoint.index)));\n }\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: ProtectionCCAPI, { property }, value) {\n const valueDB = this.tryGetValueDB();\n if (property === \"local\") {\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n // We need to set both values together, so retrieve the other one from the value DB\n const rf = valueDB?.getValue<RFProtectionState>(ProtectionCCValues.rfProtectionState.endpoint(this.endpoint.index));\n return this.set(value, rf);\n }\n else if (property === \"rf\") {\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n // We need to set both values together, so retrieve the other one from the value DB\n const local = valueDB?.getValue<LocalProtectionState>(ProtectionCCValues.localProtectionState.endpoint(this.endpoint.index));\n return this.set(local ?? LocalProtectionState.Unprotected, value);\n }\n else if (property === \"exclusiveControlNodeId\") {\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n return this.setExclusiveControl(value);\n }\n else {\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: ProtectionCCAPI, { property }) {\n switch (property) {\n case \"local\":\n case \"rf\":\n return (await this.get())?.[property];\n case \"exclusiveControlNodeId\":\n return this.getExclusiveControl();\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n protected [SET_VALUE_HOOKS]: SetValueImplementationHooksFactory = ({ property }, value) => {\n if ((property === \"local\"\n && typeof value === \"number\")\n || (property === \"rf\" && typeof value === \"number\")) {\n return {\n forceVerifyChanges: () => true,\n verifyChanges: () => {\n if (this.isSinglecast()) {\n this.schedulePoll({ property }, value, {\n transition: \"fast\",\n });\n }\n },\n };\n }\n };\n public override isSetValueOptimistic(_valueId: ValueID): boolean {\n // Protection changes may be rejected depending on the node's current\n // exclusive/RF protection state, so we always read the state back.\n return false;\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get() {\n this.assertSupportsCommand(ProtectionCommand, ProtectionCommand.Get);\n const cc = new ProtectionCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<ProtectionCCReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\"local\", \"rf\"]);\n }\n }\n @validateArgs_ProtectionCCAPI_set()\n public async set(local: LocalProtectionState, rf?: RFProtectionState): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(ProtectionCommand, ProtectionCommand.Set);\n const cc = new ProtectionCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n local,\n rf,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async getSupported() {\n this.assertSupportsCommand(ProtectionCommand, ProtectionCommand.SupportedGet);\n const cc = new ProtectionCCSupportedGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<ProtectionCCSupportedReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"supportsExclusiveControl\",\n \"supportsTimeout\",\n \"supportedLocalStates\",\n \"supportedRFStates\",\n ]);\n }\n }\n public async getExclusiveControl(): Promise<MaybeNotKnown<number>> {\n this.assertSupportsCommand(ProtectionCommand, ProtectionCommand.ExclusiveControlGet);\n const cc = new ProtectionCCExclusiveControlGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<ProtectionCCExclusiveControlReport>(cc, this.commandOptions);\n return response?.exclusiveControlNodeId;\n }\n @validateArgs_ProtectionCCAPI_setExclusiveControl()\n public async setExclusiveControl(nodeId: number): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(ProtectionCommand, ProtectionCommand.ExclusiveControlSet);\n const cc = new ProtectionCCExclusiveControlSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n exclusiveControlNodeId: nodeId,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n public async getTimeout(): Promise<MaybeNotKnown<Timeout>> {\n this.assertSupportsCommand(ProtectionCommand, ProtectionCommand.TimeoutGet);\n const cc = new ProtectionCCTimeoutGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<ProtectionCCTimeoutReport>(cc, this.commandOptions);\n return response?.timeout;\n }\n @validateArgs_ProtectionCCAPI_setTimeout()\n public async setTimeout(timeout: Timeout): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(ProtectionCommand, ProtectionCommand.TimeoutSet);\n const cc = new ProtectionCCTimeoutSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n timeout,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n}\n@commandClass(CommandClasses.Protection)\n@implementedVersion(2)\n@ccValues(ProtectionCCValues)\nexport class ProtectionCC extends CommandClass {\n declare ccCommand: ProtectionCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Protection, ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n // We need to do some queries after a potential timeout\n // In this case, do now mark this CC as interviewed completely\n let hadCriticalTimeout = false;\n // First find out what the device supports\n if (api.version >= 2) {\n ctx.logNode(node.id, {\n message: \"querying protection capabilities...\",\n direction: \"outbound\",\n });\n const resp = await api.getSupported();\n if (resp) {\n const logMessage = `received protection capabilities:\nexclusive control: ${resp.supportsExclusiveControl}\ntimeout: ${resp.supportsTimeout}\nlocal protection states: ${resp.supportedLocalStates\n .map((local) => getEnumMemberName(LocalProtectionState, local))\n .map((str) => `\\n\u00B7 ${str}`)\n .join(\"\")}\nRF protection states: ${resp.supportedRFStates\n .map((local) => getEnumMemberName(RFProtectionState, local))\n .map((str) => `\\n\u00B7 ${str}`)\n .join(\"\")}`;\n ctx.logNode(node.id, {\n message: logMessage,\n direction: \"inbound\",\n });\n }\n else {\n hadCriticalTimeout = true;\n }\n }\n await this.refreshValues(ctx);\n // Remember that the interview is complete\n if (!hadCriticalTimeout)\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Protection, ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n });\n const supportsExclusiveControl = !!this.getValue(ctx, ProtectionCCValues.supportsExclusiveControl);\n const supportsTimeout = !!this.getValue(ctx, ProtectionCCValues.supportsTimeout);\n // Query the current state\n ctx.logNode(node.id, {\n message: \"querying protection status...\",\n direction: \"outbound\",\n });\n const protectionResp = await api.get();\n if (protectionResp) {\n let logMessage = `received protection status:\nlocal: ${getEnumMemberName(LocalProtectionState, protectionResp.local)}`;\n if (protectionResp.rf != undefined) {\n logMessage += `\nrf ${getEnumMemberName(RFProtectionState, protectionResp.rf)}`;\n }\n ctx.logNode(node.id, {\n message: logMessage,\n direction: \"inbound\",\n });\n }\n if (supportsTimeout) {\n // Query the current timeout\n ctx.logNode(node.id, {\n message: \"querying protection timeout...\",\n direction: \"outbound\",\n });\n const timeout = await api.getTimeout();\n if (timeout) {\n ctx.logNode(node.id, {\n message: `received timeout: ${timeout.toString()}`,\n direction: \"inbound\",\n });\n }\n }\n if (supportsExclusiveControl) {\n // Query the current timeout\n ctx.logNode(node.id, {\n message: \"querying exclusive control node...\",\n direction: \"outbound\",\n });\n const nodeId = await api.getExclusiveControl();\n if (nodeId != undefined) {\n ctx.logNode(node.id, {\n message: (nodeId !== 0\n ? `Node ${nodeId.toString().padStart(3, \"0\")}`\n : `no node`) + ` has exclusive control`,\n direction: \"inbound\",\n });\n }\n }\n }\n}\n// @publicAPI\nexport interface ProtectionCCSetOptions {\n local: LocalProtectionState;\n rf?: RFProtectionState;\n}\n@CCCommand(ProtectionCommand.Set)\n@useSupervision()\nexport class ProtectionCCSet extends ProtectionCC {\n public constructor(options: WithAddress<ProtectionCCSetOptions>) {\n super(options);\n this.local = options.local;\n this.rf = options.rf;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCSet {\n validatePayload(raw.payload.length >= 1);\n const local: LocalProtectionState = raw.payload[0] & 0b1111;\n let rf: RFProtectionState | undefined;\n if (raw.payload.length >= 2) {\n rf = raw.payload[1] & 0b1111;\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n local,\n rf,\n });\n }\n public local: LocalProtectionState;\n public rf?: RFProtectionState;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([\n this.local & 0b1111,\n (this.rf ?? RFProtectionState.Unprotected) & 0b1111,\n ]);\n const ccVersion = getEffectiveCCVersion(ctx, this);\n if (ccVersion < 2 && ctx.getDeviceConfig?.(this.nodeId as number)?.compat?.encodeCCsUsingTargetVersion) {\n // When forcing CC version 1, only include the local state\n this.payload = this.payload.subarray(0, 1);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n local: getEnumMemberName(LocalProtectionState, this.local),\n };\n if (this.rf != undefined) {\n message.rf = getEnumMemberName(RFProtectionState, this.rf);\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface ProtectionCCReportOptions {\n local: LocalProtectionState;\n rf?: RFProtectionState;\n}\n@CCCommand(ProtectionCommand.Report)\n@ccValueProperty(\"local\", ProtectionCCValues.localProtectionState)\n@ccValueProperty(\"rf\", ProtectionCCValues.rfProtectionState)\nexport class ProtectionCCReport extends ProtectionCC {\n public constructor(options: WithAddress<ProtectionCCReportOptions>) {\n super(options);\n this.local = options.local;\n this.rf = options.rf;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCReport {\n validatePayload(raw.payload.length >= 1);\n const local: LocalProtectionState = raw.payload[0] & 0b1111;\n let rf: RFProtectionState | undefined;\n if (raw.payload.length >= 2) {\n rf = raw.payload[1] & 0b1111;\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n local,\n rf,\n });\n }\n public readonly local: LocalProtectionState;\n public readonly rf?: RFProtectionState;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = this.rf !== undefined\n ? Bytes.from([this.local & 0b1111, this.rf & 0b1111])\n : Bytes.from([this.local & 0b1111]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n local: getEnumMemberName(LocalProtectionState, this.local),\n };\n if (this.rf != undefined) {\n message.rf = getEnumMemberName(RFProtectionState, this.rf);\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n@CCCommand(ProtectionCommand.Get)\n@expectedCCResponse(ProtectionCCReport)\nexport class ProtectionCCGet extends ProtectionCC {\n}\n// @publicAPI\nexport interface ProtectionCCSupportedReportOptions {\n supportsTimeout: boolean;\n supportsExclusiveControl: boolean;\n supportedLocalStates: LocalProtectionState[];\n supportedRFStates: RFProtectionState[];\n}\n@CCCommand(ProtectionCommand.SupportedReport)\n@ccValueProperty(\"supportsExclusiveControl\", ProtectionCCValues.supportsExclusiveControl)\n@ccValueProperty(\"supportsTimeout\", ProtectionCCValues.supportsTimeout)\n@ccValueProperty(\"supportedLocalStates\", ProtectionCCValues.supportedLocalStates)\n@ccValueProperty(\"supportedRFStates\", ProtectionCCValues.supportedRFStates)\nexport class ProtectionCCSupportedReport extends ProtectionCC {\n public constructor(options: WithAddress<ProtectionCCSupportedReportOptions>) {\n super(options);\n this.supportsTimeout = options.supportsTimeout;\n this.supportsExclusiveControl = options.supportsExclusiveControl;\n this.supportedLocalStates = options.supportedLocalStates;\n this.supportedRFStates = options.supportedRFStates;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCSupportedReport {\n validatePayload(raw.payload.length >= 5);\n const supportsTimeout = !!(raw.payload[0] & 0b1);\n const supportsExclusiveControl = !!(raw.payload[0] & 0b10);\n const supportedLocalStates: LocalProtectionState[] = parseBitMask(raw.payload.subarray(1, 3), LocalProtectionState.Unprotected);\n const supportedRFStates: RFProtectionState[] = parseBitMask(raw.payload.subarray(3, 5), RFProtectionState.Unprotected);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportsTimeout,\n supportsExclusiveControl,\n supportedLocalStates,\n supportedRFStates,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n // update metadata (partially) for the local and rf values\n const localStateValue = ProtectionCCValues.localProtectionState;\n this.setMetadata(ctx, localStateValue, {\n ...localStateValue.meta,\n states: enumValuesToMetadataStates(LocalProtectionState, this.supportedLocalStates),\n });\n const rfStateValue = ProtectionCCValues.rfProtectionState;\n this.setMetadata(ctx, rfStateValue, {\n ...rfStateValue.meta,\n states: enumValuesToMetadataStates(RFProtectionState, this.supportedRFStates),\n });\n return true;\n }\n public readonly supportsExclusiveControl: boolean;\n public readonly supportsTimeout: boolean;\n public readonly supportedLocalStates: LocalProtectionState[];\n public readonly supportedRFStates: RFProtectionState[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const flags = (this.supportsTimeout ? 0b1 : 0)\n | (this.supportsExclusiveControl ? 0b10 : 0);\n this.payload = Bytes.concat([\n [flags],\n encodeBitMask(this.supportedLocalStates, 15, LocalProtectionState.Unprotected),\n encodeBitMask(this.supportedRFStates, 15, RFProtectionState.Unprotected),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"supports exclusive control\": this.supportsExclusiveControl,\n \"supports timeout\": this.supportsTimeout,\n \"local protection states\": this.supportedLocalStates\n .map((local) => getEnumMemberName(LocalProtectionState, local))\n .map((str) => `\\n\u00B7 ${str}`)\n .join(\"\"),\n \"RF protection states\": this.supportedRFStates\n .map((rf) => getEnumMemberName(RFProtectionState, rf))\n .map((str) => `\\n\u00B7 ${str}`)\n .join(\"\"),\n },\n };\n }\n}\n@CCCommand(ProtectionCommand.SupportedGet)\n@expectedCCResponse(ProtectionCCSupportedReport)\nexport class ProtectionCCSupportedGet extends ProtectionCC {\n}\n// @publicAPI\nexport interface ProtectionCCExclusiveControlReportOptions {\n exclusiveControlNodeId: number;\n}\n@CCCommand(ProtectionCommand.ExclusiveControlReport)\n@ccValueProperty(\"exclusiveControlNodeId\", ProtectionCCValues.exclusiveControlNodeId)\nexport class ProtectionCCExclusiveControlReport extends ProtectionCC {\n public constructor(options: WithAddress<ProtectionCCExclusiveControlReportOptions>) {\n super(options);\n this.exclusiveControlNodeId = options.exclusiveControlNodeId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCExclusiveControlReport {\n validatePayload(raw.payload.length >= 1);\n const exclusiveControlNodeId = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n exclusiveControlNodeId,\n });\n }\n public readonly exclusiveControlNodeId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.exclusiveControlNodeId]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"exclusive control node id\": this.exclusiveControlNodeId,\n },\n };\n }\n}\n@CCCommand(ProtectionCommand.ExclusiveControlGet)\n@expectedCCResponse(ProtectionCCExclusiveControlReport)\nexport class ProtectionCCExclusiveControlGet extends ProtectionCC {\n}\n// @publicAPI\nexport interface ProtectionCCExclusiveControlSetOptions {\n exclusiveControlNodeId: number;\n}\n@CCCommand(ProtectionCommand.ExclusiveControlSet)\n@expectedCCResponse(ProtectionCCReport)\n@useSupervision()\nexport class ProtectionCCExclusiveControlSet extends ProtectionCC {\n public constructor(options: WithAddress<ProtectionCCExclusiveControlSetOptions>) {\n super(options);\n this.exclusiveControlNodeId = options.exclusiveControlNodeId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCExclusiveControlSet {\n validatePayload(raw.payload.length >= 1);\n return new this({\n nodeId: ctx.sourceNodeId,\n exclusiveControlNodeId: raw.payload[0],\n });\n }\n public exclusiveControlNodeId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.exclusiveControlNodeId]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"exclusive control node id\": this.exclusiveControlNodeId,\n },\n };\n }\n}\n// @publicAPI\nexport interface ProtectionCCTimeoutReportOptions {\n timeout: Timeout;\n}\n@CCCommand(ProtectionCommand.TimeoutReport)\n@ccValueProperty(\"timeout\", ProtectionCCValues.timeout)\nexport class ProtectionCCTimeoutReport extends ProtectionCC {\n public constructor(options: WithAddress<ProtectionCCTimeoutReportOptions>) {\n super(options);\n this.timeout = options.timeout;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCTimeoutReport {\n validatePayload(raw.payload.length >= 1);\n const timeout: Timeout = Timeout.parse(raw.payload[0]);\n return new this({\n nodeId: ctx.sourceNodeId,\n timeout,\n });\n }\n public readonly timeout: Timeout;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.timeout.serialize()]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: { timeout: this.timeout.toString() },\n };\n }\n}\n@CCCommand(ProtectionCommand.TimeoutGet)\n@expectedCCResponse(ProtectionCCTimeoutReport)\nexport class ProtectionCCTimeoutGet extends ProtectionCC {\n}\n// @publicAPI\nexport interface ProtectionCCTimeoutSetOptions {\n timeout: Timeout;\n}\n@CCCommand(ProtectionCommand.TimeoutSet)\n@expectedCCResponse(ProtectionCCReport)\n@useSupervision()\nexport class ProtectionCCTimeoutSet extends ProtectionCC {\n public constructor(options: WithAddress<ProtectionCCTimeoutSetOptions>) {\n super(options);\n this.timeout = options.timeout;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCTimeoutSet {\n validatePayload(raw.payload.length >= 1);\n return new this({\n nodeId: ctx.sourceNodeId,\n timeout: Timeout.parse(raw.payload[0]),\n });\n }\n public timeout: Timeout;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.timeout.serialize()]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: { timeout: this.timeout.toString() },\n };\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
- import { type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type SupervisionResult, Timeout, type WithAddress } from "@zwave-js/core";
1
+ import { type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type SupervisionResult, Timeout, type ValueID, type WithAddress } from "@zwave-js/core";
2
2
  import { Bytes } from "@zwave-js/shared";
3
- import { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, type SetValueImplementation } from "../lib/API.js";
3
+ import { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, SET_VALUE_HOOKS, type SetValueImplementation, type SetValueImplementationHooksFactory } from "../lib/API.js";
4
4
  import { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, type RefreshValuesOptions } from "../lib/CommandClass.js";
5
5
  import { LocalProtectionState, ProtectionCommand, RFProtectionState } from "../lib/_Types.js";
6
6
  import type { CCEncodingContext, CCParsingContext } from "../lib/traits.js";
@@ -10,6 +10,8 @@ export declare class ProtectionCCAPI extends CCAPI {
10
10
  supportsCommand(cmd: ProtectionCommand): MaybeNotKnown<boolean>;
11
11
  protected get [SET_VALUE](): SetValueImplementation;
12
12
  protected get [POLL_VALUE](): PollValueImplementation;
13
+ protected [SET_VALUE_HOOKS]: SetValueImplementationHooksFactory;
14
+ isSetValueOptimistic(_valueId: ValueID): boolean;
13
15
  get(): Promise<Pick<ProtectionCCReport, "local" | "rf"> | undefined>;
14
16
  set(local: LocalProtectionState, rf?: RFProtectionState): Promise<SupervisionResult | undefined>;
15
17
  getSupported(): Promise<Pick<ProtectionCCSupportedReport, "supportedLocalStates" | "supportedRFStates" | "supportsExclusiveControl" | "supportsTimeout"> | undefined>;
@@ -29,7 +31,7 @@ export interface ProtectionCCSetOptions {
29
31
  }
30
32
  export declare class ProtectionCCSet extends ProtectionCC {
31
33
  constructor(options: WithAddress<ProtectionCCSetOptions>);
32
- static from(_raw: CCRaw, _ctx: CCParsingContext): ProtectionCCSet;
34
+ static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCSet;
33
35
  local: LocalProtectionState;
34
36
  rf?: RFProtectionState;
35
37
  serialize(ctx: CCEncodingContext): Promise<Bytes>;
@@ -44,6 +46,7 @@ export declare class ProtectionCCReport extends ProtectionCC {
44
46
  static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCReport;
45
47
  readonly local: LocalProtectionState;
46
48
  readonly rf?: RFProtectionState;
49
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
47
50
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
48
51
  }
49
52
  export declare class ProtectionCCGet extends ProtectionCC {
@@ -62,6 +65,7 @@ export declare class ProtectionCCSupportedReport extends ProtectionCC {
62
65
  readonly supportsTimeout: boolean;
63
66
  readonly supportedLocalStates: LocalProtectionState[];
64
67
  readonly supportedRFStates: RFProtectionState[];
68
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
65
69
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
66
70
  }
67
71
  export declare class ProtectionCCSupportedGet extends ProtectionCC {
@@ -73,6 +77,7 @@ export declare class ProtectionCCExclusiveControlReport extends ProtectionCC {
73
77
  constructor(options: WithAddress<ProtectionCCExclusiveControlReportOptions>);
74
78
  static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCExclusiveControlReport;
75
79
  readonly exclusiveControlNodeId: number;
80
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
76
81
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
77
82
  }
78
83
  export declare class ProtectionCCExclusiveControlGet extends ProtectionCC {
@@ -82,7 +87,7 @@ export interface ProtectionCCExclusiveControlSetOptions {
82
87
  }
83
88
  export declare class ProtectionCCExclusiveControlSet extends ProtectionCC {
84
89
  constructor(options: WithAddress<ProtectionCCExclusiveControlSetOptions>);
85
- static from(_raw: CCRaw, _ctx: CCParsingContext): ProtectionCCExclusiveControlSet;
90
+ static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCExclusiveControlSet;
86
91
  exclusiveControlNodeId: number;
87
92
  serialize(ctx: CCEncodingContext): Promise<Bytes>;
88
93
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
@@ -94,6 +99,7 @@ export declare class ProtectionCCTimeoutReport extends ProtectionCC {
94
99
  constructor(options: WithAddress<ProtectionCCTimeoutReportOptions>);
95
100
  static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCTimeoutReport;
96
101
  readonly timeout: Timeout;
102
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
97
103
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
98
104
  }
99
105
  export declare class ProtectionCCTimeoutGet extends ProtectionCC {
@@ -103,7 +109,7 @@ export interface ProtectionCCTimeoutSetOptions {
103
109
  }
104
110
  export declare class ProtectionCCTimeoutSet extends ProtectionCC {
105
111
  constructor(options: WithAddress<ProtectionCCTimeoutSetOptions>);
106
- static from(_raw: CCRaw, _ctx: CCParsingContext): ProtectionCCTimeoutSet;
112
+ static from(raw: CCRaw, ctx: CCParsingContext): ProtectionCCTimeoutSet;
107
113
  timeout: Timeout;
108
114
  serialize(ctx: CCEncodingContext): Promise<Bytes>;
109
115
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
@@ -1 +1 @@
1
- {"version":3,"file":"ProtectionCC.d.ts","sourceRoot":"","sources":["../../../src_gen/cc/ProtectionCC.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProtectionCC.d.ts","sourceRoot":"","sources":["../../../src_gen/cc/ProtectionCC.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,12 @@
1
1
  import { __esDecorate, __runInitializers } from "tslib";
2
2
  import * as __validateArgs from "./ProtectionCC._validateArgs.js";
3
3
  const { validateArgs_ProtectionCCAPI_set, validateArgs_ProtectionCCAPI_setExclusiveControl, validateArgs_ProtectionCCAPI_setTimeout } = __validateArgs;
4
- import { CommandClasses, MessagePriority, Timeout, ZWaveError, ZWaveErrorCodes, enumValuesToMetadataStates, parseBitMask, validatePayload, } from "@zwave-js/core";
4
+ import { CommandClasses, MessagePriority, Timeout, encodeBitMask, enumValuesToMetadataStates, parseBitMask, validatePayload, } from "@zwave-js/core";
5
5
  import { Bytes, getEnumMemberName, pick } from "@zwave-js/shared";
6
- import { CCAPI, POLL_VALUE, SET_VALUE, throwUnsupportedProperty, throwWrongValueType, } from "../lib/API.js";
6
+ import { CCAPI, POLL_VALUE, SET_VALUE, SET_VALUE_HOOKS, throwUnsupportedProperty, throwWrongValueType, } from "../lib/API.js";
7
7
  import { CommandClass, getEffectiveCCVersion, } from "../lib/CommandClass.js";
8
8
  import { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from "../lib/CommandClassDecorators.js";
9
9
  import { LocalProtectionState, ProtectionCommand, RFProtectionState, } from "../lib/_Types.js";
10
- import { ApplicationStatusCCRejectedRequest } from "./ApplicationStatusCC.js";
11
10
  import { ProtectionCCValues } from "./_CCValues.generated.js";
12
11
  export { ProtectionCCValues };
13
12
  let ProtectionCCAPI = (() => {
@@ -99,6 +98,27 @@ let ProtectionCCAPI = (() => {
99
98
  }
100
99
  };
101
100
  }
101
+ [SET_VALUE_HOOKS] = (__runInitializers(this, _instanceExtraInitializers), ({ property }, value) => {
102
+ if ((property === "local"
103
+ && typeof value === "number")
104
+ || (property === "rf" && typeof value === "number")) {
105
+ return {
106
+ forceVerifyChanges: () => true,
107
+ verifyChanges: () => {
108
+ if (this.isSinglecast()) {
109
+ this.schedulePoll({ property }, value, {
110
+ transition: "fast",
111
+ });
112
+ }
113
+ },
114
+ };
115
+ }
116
+ });
117
+ isSetValueOptimistic(_valueId) {
118
+ // Protection changes may be rejected depending on the node's current
119
+ // exclusive/RF protection state, so we always read the state back.
120
+ return false;
121
+ }
102
122
  // oxlint-disable-next-line typescript/explicit-module-boundary-types
103
123
  async get() {
104
124
  this.assertSupportsCommand(ProtectionCommand, ProtectionCommand.Get);
@@ -174,10 +194,6 @@ let ProtectionCCAPI = (() => {
174
194
  });
175
195
  return this.host.sendCommand(cc, this.commandOptions);
176
196
  }
177
- constructor() {
178
- super(...arguments);
179
- __runInitializers(this, _instanceExtraInitializers);
180
- }
181
197
  };
182
198
  return ProtectionCCAPI = _classThis;
183
199
  })();
@@ -305,20 +321,8 @@ rf ${getEnumMemberName(RFProtectionState, protectionResp.rf)}`;
305
321
  return ProtectionCC = _classThis;
306
322
  })();
307
323
  export { ProtectionCC };
308
- function getCCResponseForProtectionCCSet(ctx, sent) {
309
- // The NodeID that has exclusive control can override the RF protection
310
- // state of the device and can control it regardless of the protection
311
- // state. Commands from any other nodes in the network may be restricted
312
- // by the RF protection state. In that case, the Application Rejected
313
- // Request Command MUST be returned.
314
- if (sent.isSinglecast()
315
- && !sent.isEncapsulatedWith(CommandClasses.Supervision)
316
- && ctx.getNode(sent.nodeId)?.supportsCC(CommandClasses["Application Status"])) {
317
- return ApplicationStatusCCRejectedRequest;
318
- }
319
- }
320
324
  let ProtectionCCSet = (() => {
321
- let _classDecorators = [CCCommand(ProtectionCommand.Set), expectedCCResponse(getCCResponseForProtectionCCSet), useSupervision()];
325
+ let _classDecorators = [CCCommand(ProtectionCommand.Set), useSupervision()];
322
326
  let _classDescriptor;
323
327
  let _classExtraInitializers = [];
324
328
  let _classThis;
@@ -337,12 +341,18 @@ let ProtectionCCSet = (() => {
337
341
  this.local = options.local;
338
342
  this.rf = options.rf;
339
343
  }
340
- static from(_raw, _ctx) {
341
- // TODO: Deserialize payload
342
- throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
343
- // return new ProtectionCCSet({
344
- // nodeId: ctx.sourceNodeId,
345
- // });
344
+ static from(raw, ctx) {
345
+ validatePayload(raw.payload.length >= 1);
346
+ const local = raw.payload[0] & 0b1111;
347
+ let rf;
348
+ if (raw.payload.length >= 2) {
349
+ rf = raw.payload[1] & 0b1111;
350
+ }
351
+ return new this({
352
+ nodeId: ctx.sourceNodeId,
353
+ local,
354
+ rf,
355
+ });
346
356
  }
347
357
  local;
348
358
  rf;
@@ -391,7 +401,6 @@ let ProtectionCCReport = (() => {
391
401
  }
392
402
  constructor(options) {
393
403
  super(options);
394
- // TODO: Check implementation:
395
404
  this.local = options.local;
396
405
  this.rf = options.rf;
397
406
  }
@@ -410,6 +419,12 @@ let ProtectionCCReport = (() => {
410
419
  }
411
420
  local;
412
421
  rf;
422
+ serialize(ctx) {
423
+ this.payload = this.rf !== undefined
424
+ ? Bytes.from([this.local & 0b1111, this.rf & 0b1111])
425
+ : Bytes.from([this.local & 0b1111]);
426
+ return super.serialize(ctx);
427
+ }
413
428
  toLogEntry(ctx) {
414
429
  const message = {
415
430
  local: getEnumMemberName(LocalProtectionState, this.local),
@@ -462,7 +477,6 @@ let ProtectionCCSupportedReport = (() => {
462
477
  }
463
478
  constructor(options) {
464
479
  super(options);
465
- // TODO: Check implementation:
466
480
  this.supportsTimeout = options.supportsTimeout;
467
481
  this.supportsExclusiveControl = options.supportsExclusiveControl;
468
482
  this.supportedLocalStates = options.supportedLocalStates;
@@ -502,6 +516,16 @@ let ProtectionCCSupportedReport = (() => {
502
516
  supportsTimeout;
503
517
  supportedLocalStates;
504
518
  supportedRFStates;
519
+ serialize(ctx) {
520
+ const flags = (this.supportsTimeout ? 0b1 : 0)
521
+ | (this.supportsExclusiveControl ? 0b10 : 0);
522
+ this.payload = Bytes.concat([
523
+ [flags],
524
+ encodeBitMask(this.supportedLocalStates, 15, LocalProtectionState.Unprotected),
525
+ encodeBitMask(this.supportedRFStates, 15, RFProtectionState.Unprotected),
526
+ ]);
527
+ return super.serialize(ctx);
528
+ }
505
529
  toLogEntry(ctx) {
506
530
  return {
507
531
  ...super.toLogEntry(ctx),
@@ -559,7 +583,6 @@ let ProtectionCCExclusiveControlReport = (() => {
559
583
  }
560
584
  constructor(options) {
561
585
  super(options);
562
- // TODO: Check implementation:
563
586
  this.exclusiveControlNodeId = options.exclusiveControlNodeId;
564
587
  }
565
588
  static from(raw, ctx) {
@@ -571,6 +594,10 @@ let ProtectionCCExclusiveControlReport = (() => {
571
594
  });
572
595
  }
573
596
  exclusiveControlNodeId;
597
+ serialize(ctx) {
598
+ this.payload = Bytes.from([this.exclusiveControlNodeId]);
599
+ return super.serialize(ctx);
600
+ }
574
601
  toLogEntry(ctx) {
575
602
  return {
576
603
  ...super.toLogEntry(ctx),
@@ -621,12 +648,12 @@ let ProtectionCCExclusiveControlSet = (() => {
621
648
  super(options);
622
649
  this.exclusiveControlNodeId = options.exclusiveControlNodeId;
623
650
  }
624
- static from(_raw, _ctx) {
625
- // TODO: Deserialize payload
626
- throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
627
- // return new ProtectionCCExclusiveControlSet({
628
- // nodeId: ctx.sourceNodeId,
629
- // });
651
+ static from(raw, ctx) {
652
+ validatePayload(raw.payload.length >= 1);
653
+ return new this({
654
+ nodeId: ctx.sourceNodeId,
655
+ exclusiveControlNodeId: raw.payload[0],
656
+ });
630
657
  }
631
658
  exclusiveControlNodeId;
632
659
  serialize(ctx) {
@@ -662,7 +689,6 @@ let ProtectionCCTimeoutReport = (() => {
662
689
  }
663
690
  constructor(options) {
664
691
  super(options);
665
- // TODO: Check implementation:
666
692
  this.timeout = options.timeout;
667
693
  }
668
694
  static from(raw, ctx) {
@@ -674,6 +700,10 @@ let ProtectionCCTimeoutReport = (() => {
674
700
  });
675
701
  }
676
702
  timeout;
703
+ serialize(ctx) {
704
+ this.payload = Bytes.from([this.timeout.serialize()]);
705
+ return super.serialize(ctx);
706
+ }
677
707
  toLogEntry(ctx) {
678
708
  return {
679
709
  ...super.toLogEntry(ctx),
@@ -722,12 +752,12 @@ let ProtectionCCTimeoutSet = (() => {
722
752
  super(options);
723
753
  this.timeout = options.timeout;
724
754
  }
725
- static from(_raw, _ctx) {
726
- // TODO: Deserialize payload
727
- throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);
728
- // return new ProtectionCCTimeoutSet({
729
- // nodeId: ctx.sourceNodeId,
730
- // });
755
+ static from(raw, ctx) {
756
+ validatePayload(raw.payload.length >= 1);
757
+ return new this({
758
+ nodeId: ctx.sourceNodeId,
759
+ timeout: Timeout.parse(raw.payload[0]),
760
+ });
731
761
  }
732
762
  timeout;
733
763
  serialize(ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"ProtectionCC.js","sourceRoot":"","sources":["../../../src_gen/cc/ProtectionCC.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProtectionCC.js","sourceRoot":"","sources":["../../../src_gen/cc/ProtectionCC.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zwave-js/cc",
3
- "version": "15.24.0",
3
+ "version": "15.24.2",
4
4
  "description": "zwave-js: Command Classes",
5
5
  "keywords": [],
6
6
  "publishConfig": {
@@ -68,9 +68,9 @@
68
68
  "test:dirty": "tsx ../maintenance/src/resolveDirtyTests.ts --run"
69
69
  },
70
70
  "dependencies": {
71
- "@zwave-js/core": "15.24.0",
72
- "@zwave-js/host": "15.24.0",
73
- "@zwave-js/shared": "15.24.0",
71
+ "@zwave-js/core": "15.24.2",
72
+ "@zwave-js/host": "15.24.2",
73
+ "@zwave-js/shared": "15.24.2",
74
74
  "alcalzone-shared": "^5.0.0",
75
75
  "ansi-colors": "^4.1.3",
76
76
  "reflect-metadata": "^0.2.2",
@@ -78,11 +78,11 @@
78
78
  },
79
79
  "devDependencies": {
80
80
  "@alcalzone/esm2cjs": "^1.4.2",
81
- "@microsoft/api-extractor": "^7.57.7",
81
+ "@microsoft/api-extractor": "^7.58.7",
82
82
  "@types/node": "^20.19.35",
83
83
  "@typescript/native-preview": "7.0.0-dev.20260423.1",
84
- "@zwave-js/maintenance": "15.24.0",
85
- "@zwave-js/transformers": "15.24.0",
84
+ "@zwave-js/maintenance": "15.24.2",
85
+ "@zwave-js/transformers": "15.24.2",
86
86
  "del-cli": "^7.0.0",
87
87
  "es-main": "^1.4.0",
88
88
  "oxlint": "^1.56.0",