@zwave-js/cc 11.0.0 → 11.2.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 (162) hide show
  1. package/build/cc/AlarmSensorCC.js +12 -18
  2. package/build/cc/AlarmSensorCC.js.map +1 -1
  3. package/build/cc/AssociationCC.d.ts +21 -13
  4. package/build/cc/AssociationCC.d.ts.map +1 -1
  5. package/build/cc/AssociationCC.js +85 -58
  6. package/build/cc/AssociationCC.js.map +1 -1
  7. package/build/cc/AssociationGroupInfoCC.d.ts +24 -5
  8. package/build/cc/AssociationGroupInfoCC.d.ts.map +1 -1
  9. package/build/cc/AssociationGroupInfoCC.js +229 -70
  10. package/build/cc/AssociationGroupInfoCC.js.map +1 -1
  11. package/build/cc/BarrierOperatorCC.js +20 -30
  12. package/build/cc/BarrierOperatorCC.js.map +1 -1
  13. package/build/cc/BasicCC.js +10 -15
  14. package/build/cc/BasicCC.js.map +1 -1
  15. package/build/cc/BatteryCC.js +12 -18
  16. package/build/cc/BatteryCC.js.map +1 -1
  17. package/build/cc/BinarySensorCC.js +12 -18
  18. package/build/cc/BinarySensorCC.js.map +1 -1
  19. package/build/cc/BinarySwitchCC.js +10 -15
  20. package/build/cc/BinarySwitchCC.js.map +1 -1
  21. package/build/cc/CRC16CC.js +6 -9
  22. package/build/cc/CRC16CC.js.map +1 -1
  23. package/build/cc/CentralSceneCC.js +16 -24
  24. package/build/cc/CentralSceneCC.js.map +1 -1
  25. package/build/cc/ClimateControlScheduleCC.js +20 -30
  26. package/build/cc/ClimateControlScheduleCC.js.map +1 -1
  27. package/build/cc/ClockCC.js +10 -15
  28. package/build/cc/ClockCC.js.map +1 -1
  29. package/build/cc/ColorSwitchCC.js +18 -27
  30. package/build/cc/ColorSwitchCC.js.map +1 -1
  31. package/build/cc/ConfigurationCC.js +30 -45
  32. package/build/cc/ConfigurationCC.js.map +1 -1
  33. package/build/cc/DeviceResetLocallyCC.d.ts +6 -0
  34. package/build/cc/DeviceResetLocallyCC.d.ts.map +1 -1
  35. package/build/cc/DeviceResetLocallyCC.js +40 -9
  36. package/build/cc/DeviceResetLocallyCC.js.map +1 -1
  37. package/build/cc/DoorLockCC.js +20 -30
  38. package/build/cc/DoorLockCC.js.map +1 -1
  39. package/build/cc/DoorLockLoggingCC.js +12 -18
  40. package/build/cc/DoorLockLoggingCC.js.map +1 -1
  41. package/build/cc/EnergyProductionCC.d.ts +3 -1
  42. package/build/cc/EnergyProductionCC.d.ts.map +1 -1
  43. package/build/cc/EnergyProductionCC.js +24 -12
  44. package/build/cc/EnergyProductionCC.js.map +1 -1
  45. package/build/cc/EntryControlCC.js +20 -30
  46. package/build/cc/EntryControlCC.js.map +1 -1
  47. package/build/cc/FirmwareUpdateMetaDataCC.js +26 -46
  48. package/build/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  49. package/build/cc/HailCC.js +2 -3
  50. package/build/cc/HailCC.js.map +1 -1
  51. package/build/cc/HumidityControlModeCC.js +14 -21
  52. package/build/cc/HumidityControlModeCC.js.map +1 -1
  53. package/build/cc/HumidityControlOperatingStateCC.js +8 -12
  54. package/build/cc/HumidityControlOperatingStateCC.js.map +1 -1
  55. package/build/cc/HumidityControlSetpointCC.js +22 -33
  56. package/build/cc/HumidityControlSetpointCC.js.map +1 -1
  57. package/build/cc/InclusionControllerCC.js +8 -12
  58. package/build/cc/InclusionControllerCC.js.map +1 -1
  59. package/build/cc/IndicatorCC.d.ts +18 -6
  60. package/build/cc/IndicatorCC.d.ts.map +1 -1
  61. package/build/cc/IndicatorCC.js +197 -105
  62. package/build/cc/IndicatorCC.js.map +1 -1
  63. package/build/cc/IrrigationCC.js +40 -60
  64. package/build/cc/IrrigationCC.js.map +1 -1
  65. package/build/cc/LanguageCC.js +10 -15
  66. package/build/cc/LanguageCC.js.map +1 -1
  67. package/build/cc/LockCC.js +10 -15
  68. package/build/cc/LockCC.js.map +1 -1
  69. package/build/cc/ManufacturerProprietaryCC.js +4 -6
  70. package/build/cc/ManufacturerProprietaryCC.js.map +1 -1
  71. package/build/cc/ManufacturerSpecificCC.js +12 -18
  72. package/build/cc/ManufacturerSpecificCC.js.map +1 -1
  73. package/build/cc/MeterCC.js +14 -21
  74. package/build/cc/MeterCC.js.map +1 -1
  75. package/build/cc/MultiChannelAssociationCC.js +16 -24
  76. package/build/cc/MultiChannelAssociationCC.js.map +1 -1
  77. package/build/cc/MultiChannelCC.js +28 -42
  78. package/build/cc/MultiChannelCC.js.map +1 -1
  79. package/build/cc/MultiCommandCC.js +6 -11
  80. package/build/cc/MultiCommandCC.js.map +1 -1
  81. package/build/cc/MultilevelSensorCC.js +16 -24
  82. package/build/cc/MultilevelSensorCC.js.map +1 -1
  83. package/build/cc/MultilevelSwitchCC.js +18 -27
  84. package/build/cc/MultilevelSwitchCC.js.map +1 -1
  85. package/build/cc/NoOperationCC.js +4 -6
  86. package/build/cc/NoOperationCC.js.map +1 -1
  87. package/build/cc/NodeNamingCC.js +16 -24
  88. package/build/cc/NodeNamingCC.js.map +1 -1
  89. package/build/cc/NotificationCC.js +18 -27
  90. package/build/cc/NotificationCC.js.map +1 -1
  91. package/build/cc/PowerlevelCC.js +16 -24
  92. package/build/cc/PowerlevelCC.js.map +1 -1
  93. package/build/cc/ProtectionCC.js +26 -39
  94. package/build/cc/ProtectionCC.js.map +1 -1
  95. package/build/cc/SceneActivationCC.js +6 -9
  96. package/build/cc/SceneActivationCC.js.map +1 -1
  97. package/build/cc/SceneActuatorConfigurationCC.js +10 -15
  98. package/build/cc/SceneActuatorConfigurationCC.js.map +1 -1
  99. package/build/cc/SceneControllerConfigurationCC.js +10 -15
  100. package/build/cc/SceneControllerConfigurationCC.js.map +1 -1
  101. package/build/cc/ScheduleEntryLockCC.js +36 -54
  102. package/build/cc/ScheduleEntryLockCC.js.map +1 -1
  103. package/build/cc/Security2CC.js +32 -48
  104. package/build/cc/Security2CC.js.map +1 -1
  105. package/build/cc/SecurityCC.js +26 -39
  106. package/build/cc/SecurityCC.js.map +1 -1
  107. package/build/cc/SoundSwitchCC.js +24 -36
  108. package/build/cc/SoundSwitchCC.js.map +1 -1
  109. package/build/cc/SupervisionCC.d.ts.map +1 -1
  110. package/build/cc/SupervisionCC.js +10 -13
  111. package/build/cc/SupervisionCC.js.map +1 -1
  112. package/build/cc/ThermostatFanModeCC.js +14 -21
  113. package/build/cc/ThermostatFanModeCC.js.map +1 -1
  114. package/build/cc/ThermostatFanStateCC.js +8 -12
  115. package/build/cc/ThermostatFanStateCC.js.map +1 -1
  116. package/build/cc/ThermostatModeCC.d.ts +1 -1
  117. package/build/cc/ThermostatModeCC.d.ts.map +1 -1
  118. package/build/cc/ThermostatModeCC.js +39 -26
  119. package/build/cc/ThermostatModeCC.js.map +1 -1
  120. package/build/cc/ThermostatOperatingStateCC.js +8 -12
  121. package/build/cc/ThermostatOperatingStateCC.js.map +1 -1
  122. package/build/cc/ThermostatSetbackCC.js +10 -15
  123. package/build/cc/ThermostatSetbackCC.js.map +1 -1
  124. package/build/cc/ThermostatSetpointCC.js +18 -32
  125. package/build/cc/ThermostatSetpointCC.js.map +1 -1
  126. package/build/cc/TimeCC.js +18 -27
  127. package/build/cc/TimeCC.js.map +1 -1
  128. package/build/cc/TimeParametersCC.js +10 -15
  129. package/build/cc/TimeParametersCC.js.map +1 -1
  130. package/build/cc/TransportServiceCC.js +12 -22
  131. package/build/cc/TransportServiceCC.js.map +1 -1
  132. package/build/cc/UserCodeCC.js +40 -60
  133. package/build/cc/UserCodeCC.js.map +1 -1
  134. package/build/cc/VersionCC.js +20 -30
  135. package/build/cc/VersionCC.js.map +1 -1
  136. package/build/cc/WakeUpCC.d.ts.map +1 -1
  137. package/build/cc/WakeUpCC.js +49 -54
  138. package/build/cc/WakeUpCC.js.map +1 -1
  139. package/build/cc/WindowCoveringCC.js +18 -27
  140. package/build/cc/WindowCoveringCC.js.map +1 -1
  141. package/build/cc/ZWavePlusCC.js +8 -12
  142. package/build/cc/ZWavePlusCC.js.map +1 -1
  143. package/build/cc/ZWaveProtocolCC.d.ts +14 -14
  144. package/build/cc/ZWaveProtocolCC.d.ts.map +1 -1
  145. package/build/cc/ZWaveProtocolCC.js +120 -138
  146. package/build/cc/ZWaveProtocolCC.js.map +1 -1
  147. package/build/cc/manufacturerProprietary/FibaroCC.js +14 -20
  148. package/build/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  149. package/build/lib/API.d.ts +5 -2
  150. package/build/lib/API.d.ts.map +1 -1
  151. package/build/lib/API.js +10 -4
  152. package/build/lib/API.js.map +1 -1
  153. package/build/lib/Security2/Extension.js +8 -12
  154. package/build/lib/Security2/Extension.js.map +1 -1
  155. package/build/lib/Security2/shared.js +3 -3
  156. package/build/lib/Security2/shared.js.map +1 -1
  157. package/build/lib/SetValueResult.js +1 -1
  158. package/build/lib/SetValueResult.js.map +1 -1
  159. package/build/lib/Values.d.ts +3 -3
  160. package/build/lib/_Types.js +118 -118
  161. package/build/lib/_Types.js.map +1 -1
  162. package/package.json +11 -11
@@ -99,6 +99,22 @@ const __assertType__number = $o => {
99
99
  }
100
100
  return _number($o);
101
101
  };
102
+ const __assertType__sa__number_ea_2 = $o => {
103
+ function _number($o) {
104
+ return typeof $o !== "number" ? {} : null;
105
+ }
106
+ function sa__number_ea_2($o) {
107
+ if (!Array.isArray($o))
108
+ return {};
109
+ for (let i = 0; i < $o.length; i++) {
110
+ const error = _number($o[i]);
111
+ if (error)
112
+ return error;
113
+ }
114
+ return null;
115
+ }
116
+ return sa__number_ea_2($o);
117
+ };
102
118
  const safe_1 = require("@zwave-js/core/safe");
103
119
  const safe_2 = require("@zwave-js/shared/safe");
104
120
  const math_1 = require("alcalzone-shared/math");
@@ -248,14 +264,16 @@ function getIndicatorName(configManager, indicatorId) {
248
264
  return indicatorName;
249
265
  }
250
266
  const MAX_INDICATOR_OBJECTS = 31;
251
- let IndicatorCCAPI = class IndicatorCCAPI extends API_1.CCAPI {
267
+ let IndicatorCCAPI = exports.IndicatorCCAPI = class IndicatorCCAPI extends API_1.CCAPI {
252
268
  supportsCommand(cmd) {
253
269
  switch (cmd) {
254
270
  case _Types_1.IndicatorCommand.Get:
271
+ case _Types_1.IndicatorCommand.Report:
255
272
  return this.isSinglecast();
256
273
  case _Types_1.IndicatorCommand.Set:
257
274
  return true; // This is mandatory
258
275
  case _Types_1.IndicatorCommand.SupportedGet:
276
+ case _Types_1.IndicatorCommand.SupportedReport:
259
277
  return this.version >= 2 && this.isSinglecast();
260
278
  case _Types_1.IndicatorCommand.DescriptionGet:
261
279
  return this.version >= 4 && this.isSinglecast();
@@ -322,7 +340,7 @@ let IndicatorCCAPI = class IndicatorCCAPI extends API_1.CCAPI {
322
340
  return;
323
341
  if (response.values)
324
342
  return response.values;
325
- return response.value;
343
+ return response.indicator0Value;
326
344
  }
327
345
  async set(value) {
328
346
  __assertType("value", undefined, __assertType__su__number_sa__5_ea_5_5_5_eu.bind(void 0, value));
@@ -354,6 +372,20 @@ let IndicatorCCAPI = class IndicatorCCAPI extends API_1.CCAPI {
354
372
  };
355
373
  }
356
374
  }
375
+ async reportSupported(indicatorId, supportedProperties, nextIndicatorId) {
376
+ __assertType("indicatorId", "number", __assertType__number.bind(void 0, indicatorId));
377
+ __assertType("supportedProperties", undefined, __assertType__sa__number_ea_2.bind(void 0, supportedProperties));
378
+ __assertType("nextIndicatorId", "number", __assertType__number.bind(void 0, nextIndicatorId));
379
+ this.assertSupportsCommand(_Types_1.IndicatorCommand, _Types_1.IndicatorCommand.SupportedReport);
380
+ const cc = new IndicatorCCSupportedReport(this.applHost, {
381
+ nodeId: this.endpoint.nodeId,
382
+ endpoint: this.endpoint.index,
383
+ indicatorId,
384
+ supportedProperties,
385
+ nextIndicatorId,
386
+ });
387
+ await this.applHost.sendCommand(cc, this.commandOptions);
388
+ }
357
389
  /**
358
390
  * Instructs the node to identify itself. Available starting with V3 of this CC.
359
391
  */
@@ -481,11 +513,10 @@ let IndicatorCCAPI = class IndicatorCCAPI extends API_1.CCAPI {
481
513
  return response?.description;
482
514
  }
483
515
  };
484
- IndicatorCCAPI = __decorate([
516
+ exports.IndicatorCCAPI = IndicatorCCAPI = __decorate([
485
517
  (0, CommandClassDecorators_1.API)(safe_1.CommandClasses.Indicator)
486
518
  ], IndicatorCCAPI);
487
- exports.IndicatorCCAPI = IndicatorCCAPI;
488
- let IndicatorCC = class IndicatorCC extends CommandClass_1.CommandClass {
519
+ let IndicatorCC = exports.IndicatorCC = class IndicatorCC extends CommandClass_1.CommandClass {
489
520
  async interview(applHost) {
490
521
  const node = this.getNode(applHost);
491
522
  const endpoint = this.getEndpoint(applHost);
@@ -609,18 +640,33 @@ let IndicatorCC = class IndicatorCC extends CommandClass_1.CommandClass {
609
640
  .getValue(exports.IndicatorCCValues.supportedPropertyIDs(indicatorId).endpoint(endpoint.index));
610
641
  }
611
642
  };
612
- IndicatorCC = __decorate([
643
+ exports.IndicatorCC = IndicatorCC = __decorate([
613
644
  (0, CommandClassDecorators_1.commandClass)(safe_1.CommandClasses.Indicator),
614
645
  (0, CommandClassDecorators_1.implementedVersion)(4),
615
646
  (0, CommandClassDecorators_1.ccValues)(exports.IndicatorCCValues)
616
647
  ], IndicatorCC);
617
- exports.IndicatorCC = IndicatorCC;
618
- let IndicatorCCSet = class IndicatorCCSet extends IndicatorCC {
648
+ let IndicatorCCSet = exports.IndicatorCCSet = class IndicatorCCSet extends IndicatorCC {
619
649
  constructor(host, options) {
620
650
  super(host, options);
621
651
  if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
622
- // TODO: Deserialize payload
623
- throw new safe_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, safe_1.ZWaveErrorCodes.Deserialization_NotImplemented);
652
+ (0, safe_1.validatePayload)(this.payload.length >= 1);
653
+ const objCount = this.payload.length >= 2 ? this.payload[1] & 0b11111 : 0;
654
+ if (objCount === 0) {
655
+ this.indicator0Value = this.payload[0];
656
+ }
657
+ else {
658
+ (0, safe_1.validatePayload)(this.payload.length >= 2 + 3 * objCount);
659
+ this.values = [];
660
+ for (let i = 0; i < objCount; i++) {
661
+ const offset = 2 + 3 * i;
662
+ const value = {
663
+ indicatorId: this.payload[offset],
664
+ propertyId: this.payload[offset + 1],
665
+ value: this.payload[offset + 2],
666
+ };
667
+ this.values.push(value);
668
+ }
669
+ }
624
670
  }
625
671
  else {
626
672
  if (this.version === 1) {
@@ -643,28 +689,24 @@ let IndicatorCCSet = class IndicatorCCSet extends IndicatorCC {
643
689
  }
644
690
  }
645
691
  serialize() {
646
- if (this.indicator0Value != undefined) {
647
- this.payload = Buffer.from([this.indicator0Value]);
692
+ if (this.values != undefined) {
693
+ // V2+
694
+ this.payload = Buffer.alloc(2 + 3 * this.values.length, 0);
695
+ // Byte 0 is the legacy value
696
+ const objCount = this.values.length & MAX_INDICATOR_OBJECTS;
697
+ this.payload[1] = objCount;
698
+ for (let i = 0; i < objCount; i++) {
699
+ const offset = 2 + 3 * i;
700
+ this.payload[offset] = this.values[i].indicatorId;
701
+ this.payload[offset + 1] = this.values[i].propertyId;
702
+ const value = this.values[i].value;
703
+ this.payload[offset + 2] =
704
+ value === true ? 0xff : value === false ? 0x00 : value;
705
+ }
648
706
  }
649
707
  else {
650
- const values = this.values;
651
- const objCount = values.length & MAX_INDICATOR_OBJECTS;
652
- const valuesFlat = values
653
- .slice(0, objCount + 1)
654
- .map((o) => [
655
- o.indicatorId,
656
- o.propertyId,
657
- typeof o.value === "number"
658
- ? o.value
659
- : o.value
660
- ? 0xff
661
- : 0x00,
662
- ])
663
- .reduce((acc, cur) => acc.concat(...cur), []);
664
- this.payload = Buffer.concat([
665
- Buffer.from([0, objCount]),
666
- Buffer.from(valuesFlat),
667
- ]);
708
+ // V1
709
+ this.payload = Buffer.from([this.indicator0Value ?? 0]);
668
710
  }
669
711
  return super.serialize();
670
712
  }
@@ -687,66 +729,78 @@ let IndicatorCCSet = class IndicatorCCSet extends IndicatorCC {
687
729
  };
688
730
  }
689
731
  };
690
- IndicatorCCSet = __decorate([
732
+ exports.IndicatorCCSet = IndicatorCCSet = __decorate([
691
733
  (0, CommandClassDecorators_1.CCCommand)(_Types_1.IndicatorCommand.Set),
692
734
  (0, CommandClassDecorators_1.useSupervision)()
693
735
  ], IndicatorCCSet);
694
- exports.IndicatorCCSet = IndicatorCCSet;
695
- let IndicatorCCReport = class IndicatorCCReport extends IndicatorCC {
736
+ let IndicatorCCReport = exports.IndicatorCCReport = class IndicatorCCReport extends IndicatorCC {
696
737
  constructor(host, options) {
697
738
  super(host, options);
698
- (0, safe_1.validatePayload)(this.payload.length >= 1);
699
- const objCount = this.payload.length >= 2 ? this.payload[1] & 0b11111 : 0;
700
- if (objCount === 0) {
701
- this.value = this.payload[0];
739
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
740
+ (0, safe_1.validatePayload)(this.payload.length >= 1);
741
+ const objCount = this.payload.length >= 2 ? this.payload[1] & 0b11111 : 0;
742
+ if (objCount === 0) {
743
+ this.indicator0Value = this.payload[0];
744
+ }
745
+ else {
746
+ (0, safe_1.validatePayload)(this.payload.length >= 2 + 3 * objCount);
747
+ this.values = [];
748
+ for (let i = 0; i < objCount; i++) {
749
+ const offset = 2 + 3 * i;
750
+ const value = {
751
+ indicatorId: this.payload[offset],
752
+ propertyId: this.payload[offset + 1],
753
+ value: this.payload[offset + 2],
754
+ };
755
+ this.values.push(value);
756
+ }
757
+ // TODO: Think if we want this:
758
+ // // If not all Property IDs are included in the command for the actual Indicator ID,
759
+ // // a controlling node MUST assume non-specified Property IDs values to be 0x00.
760
+ // const indicatorId = this.values[0].indicatorId;
761
+ // const supportedIndicatorProperties =
762
+ // valueDB.getValue<number[]>(
763
+ // getSupportedPropertyIDsValueID(
764
+ // this.endpointIndex,
765
+ // indicatorId,
766
+ // ),
767
+ // ) ?? [];
768
+ // // Find out which ones are missing
769
+ // const missingIndicatorProperties = supportedIndicatorProperties.filter(
770
+ // prop =>
771
+ // !this.values!.find(({ propertyId }) => prop === propertyId),
772
+ // );
773
+ // // And assume they are 0 (false)
774
+ // for (const missing of missingIndicatorProperties) {
775
+ // this.setIndicatorValue({
776
+ // indicatorId,
777
+ // propertyId: missing,
778
+ // value: 0,
779
+ // });
780
+ // }
781
+ }
702
782
  }
703
783
  else {
704
- (0, safe_1.validatePayload)(this.payload.length >= 2 + 3 * objCount);
705
- this.values = [];
706
- for (let i = 0; i < objCount; i++) {
707
- const offset = 2 + 3 * i;
708
- const value = {
709
- indicatorId: this.payload[offset],
710
- propertyId: this.payload[offset + 1],
711
- value: this.payload[offset + 2],
712
- };
713
- this.values.push(value);
784
+ if ("value" in options) {
785
+ this.indicator0Value = options.value;
786
+ }
787
+ else if ("values" in options) {
788
+ if (options.values.length > MAX_INDICATOR_OBJECTS) {
789
+ throw new safe_1.ZWaveError(`Only ${MAX_INDICATOR_OBJECTS} indicator values can be set at a time!`, safe_1.ZWaveErrorCodes.Argument_Invalid);
790
+ }
791
+ this.values = options.values;
714
792
  }
715
- // TODO: Think if we want this:
716
- // // If not all Property IDs are included in the command for the actual Indicator ID,
717
- // // a controlling node MUST assume non-specified Property IDs values to be 0x00.
718
- // const indicatorId = this.values[0].indicatorId;
719
- // const supportedIndicatorProperties =
720
- // valueDB.getValue<number[]>(
721
- // getSupportedPropertyIDsValueID(
722
- // this.endpointIndex,
723
- // indicatorId,
724
- // ),
725
- // ) ?? [];
726
- // // Find out which ones are missing
727
- // const missingIndicatorProperties = supportedIndicatorProperties.filter(
728
- // prop =>
729
- // !this.values!.find(({ propertyId }) => prop === propertyId),
730
- // );
731
- // // And assume they are 0 (false)
732
- // for (const missing of missingIndicatorProperties) {
733
- // this.setIndicatorValue({
734
- // indicatorId,
735
- // propertyId: missing,
736
- // value: 0,
737
- // });
738
- // }
739
793
  }
740
794
  }
741
795
  persistValues(applHost) {
742
796
  if (!super.persistValues(applHost))
743
797
  return false;
744
- if (this.value != undefined) {
798
+ if (this.indicator0Value != undefined) {
745
799
  if (!this.supportsV2Indicators(applHost)) {
746
800
  // Publish the value
747
801
  const valueV1 = exports.IndicatorCCValues.valueV1;
748
802
  this.setMetadata(applHost, valueV1);
749
- this.setValue(applHost, valueV1, this.value);
803
+ this.setValue(applHost, valueV1, this.indicator0Value);
750
804
  }
751
805
  else {
752
806
  if (this.isSinglecast()) {
@@ -795,10 +849,32 @@ let IndicatorCCReport = class IndicatorCCReport extends IndicatorCC {
795
849
  this.setMetadata(applHost, valueV2, metadata);
796
850
  this.setValue(applHost, valueV2, value.value);
797
851
  }
852
+ serialize() {
853
+ if (this.values != undefined) {
854
+ // V2+
855
+ this.payload = Buffer.alloc(2 + 3 * this.values.length, 0);
856
+ // Byte 0 is the legacy value
857
+ const objCount = this.values.length & MAX_INDICATOR_OBJECTS;
858
+ this.payload[1] = objCount;
859
+ for (let i = 0; i < objCount; i++) {
860
+ const offset = 2 + 3 * i;
861
+ this.payload[offset] = this.values[i].indicatorId;
862
+ this.payload[offset + 1] = this.values[i].propertyId;
863
+ const value = this.values[i].value;
864
+ this.payload[offset + 2] =
865
+ value === true ? 0xff : value === false ? 0x00 : value;
866
+ }
867
+ }
868
+ else {
869
+ // V1
870
+ this.payload = Buffer.from([this.indicator0Value ?? 0]);
871
+ }
872
+ return super.serialize();
873
+ }
798
874
  toLogEntry(applHost) {
799
875
  const message = {};
800
- if (this.value != undefined) {
801
- message["indicator 0 value"] = this.value;
876
+ if (this.indicator0Value != undefined) {
877
+ message["indicator 0 value"] = this.indicator0Value;
802
878
  }
803
879
  if (this.values != undefined) {
804
880
  message.values = `${this.values
@@ -814,16 +890,16 @@ let IndicatorCCReport = class IndicatorCCReport extends IndicatorCC {
814
890
  };
815
891
  }
816
892
  };
817
- IndicatorCCReport = __decorate([
893
+ exports.IndicatorCCReport = IndicatorCCReport = __decorate([
818
894
  (0, CommandClassDecorators_1.CCCommand)(_Types_1.IndicatorCommand.Report)
819
895
  ], IndicatorCCReport);
820
- exports.IndicatorCCReport = IndicatorCCReport;
821
- let IndicatorCCGet = class IndicatorCCGet extends IndicatorCC {
896
+ let IndicatorCCGet = exports.IndicatorCCGet = class IndicatorCCGet extends IndicatorCC {
822
897
  constructor(host, options) {
823
898
  super(host, options);
824
899
  if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
825
- // TODO: Deserialize payload
826
- throw new safe_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, safe_1.ZWaveErrorCodes.Deserialization_NotImplemented);
900
+ if (this.payload.length > 0) {
901
+ this.indicatorId = this.payload[0];
902
+ }
827
903
  }
828
904
  else {
829
905
  this.indicatorId = options.indicatorId;
@@ -844,25 +920,31 @@ let IndicatorCCGet = class IndicatorCCGet extends IndicatorCC {
844
920
  };
845
921
  }
846
922
  };
847
- IndicatorCCGet = __decorate([
923
+ exports.IndicatorCCGet = IndicatorCCGet = __decorate([
848
924
  (0, CommandClassDecorators_1.CCCommand)(_Types_1.IndicatorCommand.Get),
849
925
  (0, CommandClassDecorators_1.expectedCCResponse)(IndicatorCCReport)
850
926
  ], IndicatorCCGet);
851
- exports.IndicatorCCGet = IndicatorCCGet;
852
- let IndicatorCCSupportedReport = class IndicatorCCSupportedReport extends IndicatorCC {
927
+ let IndicatorCCSupportedReport = exports.IndicatorCCSupportedReport = class IndicatorCCSupportedReport extends IndicatorCC {
853
928
  constructor(host, options) {
854
929
  super(host, options);
855
- (0, safe_1.validatePayload)(this.payload.length >= 3);
856
- this.indicatorId = this.payload[0];
857
- this.nextIndicatorId = this.payload[1];
858
- const bitMaskLength = this.payload[2] & 0b11111;
859
- if (bitMaskLength === 0) {
860
- this.supportedProperties = [];
930
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
931
+ (0, safe_1.validatePayload)(this.payload.length >= 3);
932
+ this.indicatorId = this.payload[0];
933
+ this.nextIndicatorId = this.payload[1];
934
+ const bitMaskLength = this.payload[2] & 0b11111;
935
+ if (bitMaskLength === 0) {
936
+ this.supportedProperties = [];
937
+ }
938
+ else {
939
+ (0, safe_1.validatePayload)(this.payload.length >= 3 + bitMaskLength);
940
+ // The bit mask starts at 0, but bit 0 is not used
941
+ this.supportedProperties = (0, safe_1.parseBitMask)(this.payload.slice(3, 3 + bitMaskLength), 0).filter((v) => v !== 0);
942
+ }
861
943
  }
862
944
  else {
863
- (0, safe_1.validatePayload)(this.payload.length >= 3 + bitMaskLength);
864
- // The bit mask starts at 0, but bit 0 is not used
865
- this.supportedProperties = (0, safe_1.parseBitMask)(this.payload.slice(3, 3 + bitMaskLength), 0).filter((v) => v !== 0);
945
+ this.indicatorId = options.indicatorId;
946
+ this.nextIndicatorId = options.nextIndicatorId;
947
+ this.supportedProperties = options.supportedProperties;
866
948
  }
867
949
  }
868
950
  persistValues(applHost) {
@@ -874,6 +956,20 @@ let IndicatorCCSupportedReport = class IndicatorCCSupportedReport extends Indica
874
956
  }
875
957
  return true;
876
958
  }
959
+ serialize() {
960
+ const bitmask = this.supportedProperties.length > 0
961
+ ? (0, safe_1.encodeBitMask)(this.supportedProperties, undefined, 0)
962
+ : Buffer.from([]);
963
+ this.payload = Buffer.concat([
964
+ Buffer.from([
965
+ this.indicatorId,
966
+ this.nextIndicatorId,
967
+ bitmask.length,
968
+ ]),
969
+ bitmask,
970
+ ]);
971
+ return super.serialize();
972
+ }
877
973
  toLogEntry(applHost) {
878
974
  return {
879
975
  ...super.toLogEntry(applHost),
@@ -888,19 +984,18 @@ let IndicatorCCSupportedReport = class IndicatorCCSupportedReport extends Indica
888
984
  };
889
985
  }
890
986
  };
891
- IndicatorCCSupportedReport = __decorate([
987
+ exports.IndicatorCCSupportedReport = IndicatorCCSupportedReport = __decorate([
892
988
  (0, CommandClassDecorators_1.CCCommand)(_Types_1.IndicatorCommand.SupportedReport)
893
989
  ], IndicatorCCSupportedReport);
894
- exports.IndicatorCCSupportedReport = IndicatorCCSupportedReport;
895
990
  function testResponseForIndicatorSupportedGet(sent, received) {
896
991
  return sent.indicatorId === 0 || received.indicatorId === sent.indicatorId;
897
992
  }
898
- let IndicatorCCSupportedGet = class IndicatorCCSupportedGet extends IndicatorCC {
993
+ let IndicatorCCSupportedGet = exports.IndicatorCCSupportedGet = class IndicatorCCSupportedGet extends IndicatorCC {
899
994
  constructor(host, options) {
900
995
  super(host, options);
901
996
  if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
902
- // TODO: Deserialize payload
903
- throw new safe_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, safe_1.ZWaveErrorCodes.Deserialization_NotImplemented);
997
+ (0, safe_1.validatePayload)(this.payload.length >= 1);
998
+ this.indicatorId = this.payload[0];
904
999
  }
905
1000
  else {
906
1001
  this.indicatorId = options.indicatorId;
@@ -919,12 +1014,11 @@ let IndicatorCCSupportedGet = class IndicatorCCSupportedGet extends IndicatorCC
919
1014
  };
920
1015
  }
921
1016
  };
922
- IndicatorCCSupportedGet = __decorate([
1017
+ exports.IndicatorCCSupportedGet = IndicatorCCSupportedGet = __decorate([
923
1018
  (0, CommandClassDecorators_1.CCCommand)(_Types_1.IndicatorCommand.SupportedGet),
924
1019
  (0, CommandClassDecorators_1.expectedCCResponse)(IndicatorCCSupportedReport, testResponseForIndicatorSupportedGet)
925
1020
  ], IndicatorCCSupportedGet);
926
- exports.IndicatorCCSupportedGet = IndicatorCCSupportedGet;
927
- let IndicatorCCDescriptionReport = class IndicatorCCDescriptionReport extends IndicatorCC {
1021
+ let IndicatorCCDescriptionReport = exports.IndicatorCCDescriptionReport = class IndicatorCCDescriptionReport extends IndicatorCC {
928
1022
  constructor(host, options) {
929
1023
  super(host, options);
930
1024
  (0, safe_1.validatePayload)(this.payload.length >= 2);
@@ -953,14 +1047,13 @@ let IndicatorCCDescriptionReport = class IndicatorCCDescriptionReport extends In
953
1047
  };
954
1048
  }
955
1049
  };
956
- IndicatorCCDescriptionReport = __decorate([
1050
+ exports.IndicatorCCDescriptionReport = IndicatorCCDescriptionReport = __decorate([
957
1051
  (0, CommandClassDecorators_1.CCCommand)(_Types_1.IndicatorCommand.DescriptionReport)
958
1052
  ], IndicatorCCDescriptionReport);
959
- exports.IndicatorCCDescriptionReport = IndicatorCCDescriptionReport;
960
1053
  function testResponseForIndicatorDescriptionGet(sent, received) {
961
1054
  return received.indicatorId === sent.indicatorId;
962
1055
  }
963
- let IndicatorCCDescriptionGet = class IndicatorCCDescriptionGet extends IndicatorCC {
1056
+ let IndicatorCCDescriptionGet = exports.IndicatorCCDescriptionGet = class IndicatorCCDescriptionGet extends IndicatorCC {
964
1057
  constructor(host, options) {
965
1058
  super(host, options);
966
1059
  if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
@@ -987,9 +1080,8 @@ let IndicatorCCDescriptionGet = class IndicatorCCDescriptionGet extends Indicato
987
1080
  };
988
1081
  }
989
1082
  };
990
- IndicatorCCDescriptionGet = __decorate([
1083
+ exports.IndicatorCCDescriptionGet = IndicatorCCDescriptionGet = __decorate([
991
1084
  (0, CommandClassDecorators_1.CCCommand)(_Types_1.IndicatorCommand.DescriptionGet),
992
1085
  (0, CommandClassDecorators_1.expectedCCResponse)(IndicatorCCDescriptionReport, testResponseForIndicatorDescriptionGet)
993
1086
  ], IndicatorCCDescriptionGet);
994
- exports.IndicatorCCDescriptionGet = IndicatorCCDescriptionGet;
995
1087
  //# sourceMappingURL=IndicatorCC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IndicatorCC.js","sourceRoot":"","sources":["../../src/cc/IndicatorCC.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IndicatorCC.js","sourceRoot":"","sources":["../../src/cc/IndicatorCC.ts"],"names":[],"mappings":"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"}