@zwave-js/cc 9.3.1-0-pr-4662-79458fb
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.
- package/build/cc/AlarmSensorCC.d.ts +54 -0
- package/build/cc/AlarmSensorCC.d.ts.map +1 -0
- package/build/cc/AlarmSensorCC.js +378 -0
- package/build/cc/AlarmSensorCC.js.map +1 -0
- package/build/cc/AssociationCC.d.ts +123 -0
- package/build/cc/AssociationCC.d.ts.map +1 -0
- package/build/cc/AssociationCC.js +615 -0
- package/build/cc/AssociationCC.js.map +1 -0
- package/build/cc/AssociationGroupInfoCC.d.ts +97 -0
- package/build/cc/AssociationGroupInfoCC.d.ts.map +1 -0
- package/build/cc/AssociationGroupInfoCC.js +530 -0
- package/build/cc/AssociationGroupInfoCC.js.map +1 -0
- package/build/cc/BarrierOperatorCC.d.ts +75 -0
- package/build/cc/BarrierOperatorCC.d.ts.map +1 -0
- package/build/cc/BarrierOperatorCC.js +492 -0
- package/build/cc/BarrierOperatorCC.js.map +1 -0
- package/build/cc/BasicCC.d.ts +51 -0
- package/build/cc/BasicCC.d.ts.map +1 -0
- package/build/cc/BasicCC.js +344 -0
- package/build/cc/BasicCC.js.map +1 -0
- package/build/cc/BatteryCC.d.ts +56 -0
- package/build/cc/BatteryCC.d.ts.map +1 -0
- package/build/cc/BatteryCC.js +417 -0
- package/build/cc/BatteryCC.js.map +1 -0
- package/build/cc/BinarySensorCC.d.ts +52 -0
- package/build/cc/BinarySensorCC.d.ts.map +1 -0
- package/build/cc/BinarySensorCC.js +321 -0
- package/build/cc/BinarySensorCC.js.map +1 -0
- package/build/cc/BinarySwitchCC.d.ts +55 -0
- package/build/cc/BinarySwitchCC.d.ts.map +1 -0
- package/build/cc/BinarySwitchCC.js +327 -0
- package/build/cc/BinarySwitchCC.js.map +1 -0
- package/build/cc/CRC16CC.d.ts +28 -0
- package/build/cc/CRC16CC.d.ts.map +1 -0
- package/build/cc/CRC16CC.js +109 -0
- package/build/cc/CRC16CC.js.map +1 -0
- package/build/cc/CentralSceneCC.d.ts +69 -0
- package/build/cc/CentralSceneCC.d.ts.map +1 -0
- package/build/cc/CentralSceneCC.js +443 -0
- package/build/cc/CentralSceneCC.js.map +1 -0
- package/build/cc/ClimateControlScheduleCC.d.ts +78 -0
- package/build/cc/ClimateControlScheduleCC.d.ts.map +1 -0
- package/build/cc/ClimateControlScheduleCC.js +417 -0
- package/build/cc/ClimateControlScheduleCC.js.map +1 -0
- package/build/cc/ClockCC.d.ts +40 -0
- package/build/cc/ClockCC.d.ts.map +1 -0
- package/build/cc/ClockCC.js +185 -0
- package/build/cc/ClockCC.js.map +1 -0
- package/build/cc/ColorSwitchCC.d.ts +98 -0
- package/build/cc/ColorSwitchCC.d.ts.map +1 -0
- package/build/cc/ColorSwitchCC.js +1045 -0
- package/build/cc/ColorSwitchCC.js.map +1 -0
- package/build/cc/ConfigurationCC.d.ts +315 -0
- package/build/cc/ConfigurationCC.d.ts.map +1 -0
- package/build/cc/ConfigurationCC.js +2257 -0
- package/build/cc/ConfigurationCC.js.map +1 -0
- package/build/cc/DeviceResetLocallyCC.d.ts +9 -0
- package/build/cc/DeviceResetLocallyCC.d.ts.map +1 -0
- package/build/cc/DeviceResetLocallyCC.js +28 -0
- package/build/cc/DeviceResetLocallyCC.js.map +1 -0
- package/build/cc/DoorLockCC.d.ts +116 -0
- package/build/cc/DoorLockCC.d.ts.map +1 -0
- package/build/cc/DoorLockCC.js +1112 -0
- package/build/cc/DoorLockCC.js.map +1 -0
- package/build/cc/DoorLockLoggingCC.d.ts +41 -0
- package/build/cc/DoorLockLoggingCC.d.ts.map +1 -0
- package/build/cc/DoorLockLoggingCC.js +288 -0
- package/build/cc/DoorLockLoggingCC.js.map +1 -0
- package/build/cc/EntryControlCC.d.ts +71 -0
- package/build/cc/EntryControlCC.d.ts.map +1 -0
- package/build/cc/EntryControlCC.js +492 -0
- package/build/cc/EntryControlCC.js.map +1 -0
- package/build/cc/FirmwareUpdateMetaDataCC.d.ts +148 -0
- package/build/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -0
- package/build/cc/FirmwareUpdateMetaDataCC.js +727 -0
- package/build/cc/FirmwareUpdateMetaDataCC.js.map +1 -0
- package/build/cc/HailCC.d.ts +6 -0
- package/build/cc/HailCC.d.ts.map +1 -0
- package/build/cc/HailCC.js +23 -0
- package/build/cc/HailCC.js.map +1 -0
- package/build/cc/HumidityControlModeCC.d.ts +47 -0
- package/build/cc/HumidityControlModeCC.d.ts.map +1 -0
- package/build/cc/HumidityControlModeCC.js +288 -0
- package/build/cc/HumidityControlModeCC.js.map +1 -0
- package/build/cc/HumidityControlOperatingStateCC.d.ts +24 -0
- package/build/cc/HumidityControlOperatingStateCC.d.ts.map +1 -0
- package/build/cc/HumidityControlOperatingStateCC.js +129 -0
- package/build/cc/HumidityControlOperatingStateCC.js.map +1 -0
- package/build/cc/HumidityControlSetpointCC.d.ts +103 -0
- package/build/cc/HumidityControlSetpointCC.d.ts.map +1 -0
- package/build/cc/HumidityControlSetpointCC.js +626 -0
- package/build/cc/HumidityControlSetpointCC.js.map +1 -0
- package/build/cc/IndicatorCC.d.ts +88 -0
- package/build/cc/IndicatorCC.d.ts.map +1 -0
- package/build/cc/IndicatorCC.js +758 -0
- package/build/cc/IndicatorCC.js.map +1 -0
- package/build/cc/IrrigationCC.d.ts +278 -0
- package/build/cc/IrrigationCC.d.ts.map +1 -0
- package/build/cc/IrrigationCC.js +2062 -0
- package/build/cc/IrrigationCC.js.map +1 -0
- package/build/cc/LanguageCC.d.ts +41 -0
- package/build/cc/LanguageCC.d.ts.map +1 -0
- package/build/cc/LanguageCC.js +220 -0
- package/build/cc/LanguageCC.js.map +1 -0
- package/build/cc/LockCC.d.ts +41 -0
- package/build/cc/LockCC.d.ts.map +1 -0
- package/build/cc/LockCC.js +185 -0
- package/build/cc/LockCC.js.map +1 -0
- package/build/cc/ManufacturerProprietaryCC.d.ts +31 -0
- package/build/cc/ManufacturerProprietaryCC.d.ts.map +1 -0
- package/build/cc/ManufacturerProprietaryCC.js +275 -0
- package/build/cc/ManufacturerProprietaryCC.js.map +1 -0
- package/build/cc/ManufacturerSpecificCC.d.ts +59 -0
- package/build/cc/ManufacturerSpecificCC.d.ts.map +1 -0
- package/build/cc/ManufacturerSpecificCC.js +285 -0
- package/build/cc/ManufacturerSpecificCC.js.map +1 -0
- package/build/cc/MeterCC.d.ts +100 -0
- package/build/cc/MeterCC.d.ts.map +1 -0
- package/build/cc/MeterCC.js +820 -0
- package/build/cc/MeterCC.js.map +1 -0
- package/build/cc/MultiChannelAssociationCC.d.ts +127 -0
- package/build/cc/MultiChannelAssociationCC.d.ts.map +1 -0
- package/build/cc/MultiChannelAssociationCC.js +883 -0
- package/build/cc/MultiChannelAssociationCC.js.map +1 -0
- package/build/cc/MultiChannelCC.d.ts +164 -0
- package/build/cc/MultiChannelCC.d.ts.map +1 -0
- package/build/cc/MultiChannelCC.js +1004 -0
- package/build/cc/MultiChannelCC.js.map +1 -0
- package/build/cc/MultiCommandCC.d.ts +28 -0
- package/build/cc/MultiCommandCC.d.ts.map +1 -0
- package/build/cc/MultiCommandCC.js +137 -0
- package/build/cc/MultiCommandCC.js.map +1 -0
- package/build/cc/MultilevelSensorCC.d.ts +83 -0
- package/build/cc/MultilevelSensorCC.d.ts.map +1 -0
- package/build/cc/MultilevelSensorCC.js +633 -0
- package/build/cc/MultilevelSensorCC.js.map +1 -0
- package/build/cc/MultilevelSwitchCC.d.ts +86 -0
- package/build/cc/MultilevelSwitchCC.d.ts.map +1 -0
- package/build/cc/MultilevelSwitchCC.js +774 -0
- package/build/cc/MultilevelSwitchCC.js.map +1 -0
- package/build/cc/NoOperationCC.d.ts +17 -0
- package/build/cc/NoOperationCC.d.ts.map +1 -0
- package/build/cc/NoOperationCC.js +50 -0
- package/build/cc/NoOperationCC.js.map +1 -0
- package/build/cc/NodeNamingCC.d.ts +57 -0
- package/build/cc/NodeNamingCC.d.ts.map +1 -0
- package/build/cc/NodeNamingCC.js +313 -0
- package/build/cc/NodeNamingCC.js.map +1 -0
- package/build/cc/NotificationCC.d.ts +127 -0
- package/build/cc/NotificationCC.d.ts.map +1 -0
- package/build/cc/NotificationCC.js +1193 -0
- package/build/cc/NotificationCC.js.map +1 -0
- package/build/cc/PowerlevelCC.d.ts +63 -0
- package/build/cc/PowerlevelCC.d.ts.map +1 -0
- package/build/cc/PowerlevelCC.js +262 -0
- package/build/cc/PowerlevelCC.js.map +1 -0
- package/build/cc/ProtectionCC.d.ts +94 -0
- package/build/cc/ProtectionCC.d.ts.map +1 -0
- package/build/cc/ProtectionCC.js +630 -0
- package/build/cc/ProtectionCC.js.map +1 -0
- package/build/cc/SceneActivationCC.d.ts +34 -0
- package/build/cc/SceneActivationCC.d.ts.map +1 -0
- package/build/cc/SceneActivationCC.js +170 -0
- package/build/cc/SceneActivationCC.js.map +1 -0
- package/build/cc/SceneActuatorConfigurationCC.d.ts +52 -0
- package/build/cc/SceneActuatorConfigurationCC.d.ts.map +1 -0
- package/build/cc/SceneActuatorConfigurationCC.js +368 -0
- package/build/cc/SceneActuatorConfigurationCC.js.map +1 -0
- package/build/cc/SceneControllerConfigurationCC.d.ts +61 -0
- package/build/cc/SceneControllerConfigurationCC.d.ts.map +1 -0
- package/build/cc/SceneControllerConfigurationCC.js +444 -0
- package/build/cc/SceneControllerConfigurationCC.js.map +1 -0
- package/build/cc/Security2CC.d.ts +213 -0
- package/build/cc/Security2CC.d.ts.map +1 -0
- package/build/cc/Security2CC.js +1124 -0
- package/build/cc/Security2CC.js.map +1 -0
- package/build/cc/SecurityCC.d.ts +109 -0
- package/build/cc/SecurityCC.d.ts.map +1 -0
- package/build/cc/SecurityCC.js +609 -0
- package/build/cc/SecurityCC.js.map +1 -0
- package/build/cc/SoundSwitchCC.d.ts +87 -0
- package/build/cc/SoundSwitchCC.d.ts.map +1 -0
- package/build/cc/SoundSwitchCC.js +548 -0
- package/build/cc/SoundSwitchCC.js.map +1 -0
- package/build/cc/SupervisionCC.d.ts +63 -0
- package/build/cc/SupervisionCC.d.ts.map +1 -0
- package/build/cc/SupervisionCC.js +239 -0
- package/build/cc/SupervisionCC.js.map +1 -0
- package/build/cc/ThermostatFanModeCC.d.ts +53 -0
- package/build/cc/ThermostatFanModeCC.d.ts.map +1 -0
- package/build/cc/ThermostatFanModeCC.js +359 -0
- package/build/cc/ThermostatFanModeCC.js.map +1 -0
- package/build/cc/ThermostatFanStateCC.d.ts +24 -0
- package/build/cc/ThermostatFanStateCC.d.ts.map +1 -0
- package/build/cc/ThermostatFanStateCC.js +131 -0
- package/build/cc/ThermostatFanStateCC.js.map +1 -0
- package/build/cc/ThermostatModeCC.d.ts +58 -0
- package/build/cc/ThermostatModeCC.d.ts.map +1 -0
- package/build/cc/ThermostatModeCC.js +370 -0
- package/build/cc/ThermostatModeCC.js.map +1 -0
- package/build/cc/ThermostatOperatingStateCC.d.ts +24 -0
- package/build/cc/ThermostatOperatingStateCC.d.ts.map +1 -0
- package/build/cc/ThermostatOperatingStateCC.js +127 -0
- package/build/cc/ThermostatOperatingStateCC.js.map +1 -0
- package/build/cc/ThermostatSetbackCC.d.ts +42 -0
- package/build/cc/ThermostatSetbackCC.d.ts.map +1 -0
- package/build/cc/ThermostatSetbackCC.js +237 -0
- package/build/cc/ThermostatSetbackCC.js.map +1 -0
- package/build/cc/ThermostatSetpointCC.d.ts +98 -0
- package/build/cc/ThermostatSetpointCC.d.ts.map +1 -0
- package/build/cc/ThermostatSetpointCC.js +707 -0
- package/build/cc/ThermostatSetpointCC.js.map +1 -0
- package/build/cc/TimeCC.d.ts +78 -0
- package/build/cc/TimeCC.d.ts.map +1 -0
- package/build/cc/TimeCC.js +373 -0
- package/build/cc/TimeCC.js.map +1 -0
- package/build/cc/TimeParametersCC.d.ts +40 -0
- package/build/cc/TimeParametersCC.d.ts.map +1 -0
- package/build/cc/TimeParametersCC.js +275 -0
- package/build/cc/TimeParametersCC.js.map +1 -0
- package/build/cc/TransportServiceCC.d.ts +101 -0
- package/build/cc/TransportServiceCC.d.ts.map +1 -0
- package/build/cc/TransportServiceCC.js +404 -0
- package/build/cc/TransportServiceCC.js.map +1 -0
- package/build/cc/UserCodeCC.d.ts +219 -0
- package/build/cc/UserCodeCC.d.ts.map +1 -0
- package/build/cc/UserCodeCC.js +1526 -0
- package/build/cc/UserCodeCC.js.map +1 -0
- package/build/cc/VersionCC.d.ts +91 -0
- package/build/cc/VersionCC.d.ts.map +1 -0
- package/build/cc/VersionCC.js +654 -0
- package/build/cc/VersionCC.js.map +1 -0
- package/build/cc/WakeUpCC.d.ts +67 -0
- package/build/cc/WakeUpCC.d.ts.map +1 -0
- package/build/cc/WakeUpCC.js +425 -0
- package/build/cc/WakeUpCC.js.map +1 -0
- package/build/cc/ZWavePlusCC.d.ts +40 -0
- package/build/cc/ZWavePlusCC.d.ts.map +1 -0
- package/build/cc/ZWavePlusCC.js +269 -0
- package/build/cc/ZWavePlusCC.js.map +1 -0
- package/build/cc/index.d.ts +64 -0
- package/build/cc/index.d.ts.map +1 -0
- package/build/cc/index.js +496 -0
- package/build/cc/index.js.map +1 -0
- package/build/cc/manufacturerProprietary/FibaroCC.d.ts +62 -0
- package/build/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -0
- package/build/cc/manufacturerProprietary/FibaroCC.js +247 -0
- package/build/cc/manufacturerProprietary/FibaroCC.js.map +1 -0
- package/build/index.d.ts +11 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +48 -0
- package/build/index.js.map +1 -0
- package/build/index_safe.d.ts +4 -0
- package/build/index_safe.d.ts.map +1 -0
- package/build/index_safe.js +30 -0
- package/build/index_safe.js.map +1 -0
- package/build/lib/API.d.ts +176 -0
- package/build/lib/API.d.ts.map +1 -0
- package/build/lib/API.js +325 -0
- package/build/lib/API.js.map +1 -0
- package/build/lib/CommandClass.d.ts +341 -0
- package/build/lib/CommandClass.d.ts.map +1 -0
- package/build/lib/CommandClass.js +1088 -0
- package/build/lib/CommandClass.js.map +1 -0
- package/build/lib/EncapsulatingCommandClass.d.ts +35 -0
- package/build/lib/EncapsulatingCommandClass.d.ts.map +1 -0
- package/build/lib/EncapsulatingCommandClass.js +53 -0
- package/build/lib/EncapsulatingCommandClass.js.map +1 -0
- package/build/lib/ICommandClassContainer.d.ts +9 -0
- package/build/lib/ICommandClassContainer.d.ts.map +1 -0
- package/build/lib/ICommandClassContainer.js +12 -0
- package/build/lib/ICommandClassContainer.js.map +1 -0
- package/build/lib/NotificationEventPayload.d.ts +11 -0
- package/build/lib/NotificationEventPayload.d.ts.map +1 -0
- package/build/lib/NotificationEventPayload.js +11 -0
- package/build/lib/NotificationEventPayload.js.map +1 -0
- package/build/lib/Security2/Extension.d.ts +87 -0
- package/build/lib/Security2/Extension.d.ts.map +1 -0
- package/build/lib/Security2/Extension.js +235 -0
- package/build/lib/Security2/Extension.js.map +1 -0
- package/build/lib/Security2/shared.d.ts +31 -0
- package/build/lib/Security2/shared.d.ts.map +1 -0
- package/build/lib/Security2/shared.js +37 -0
- package/build/lib/Security2/shared.js.map +1 -0
- package/build/lib/_Types.d.ts +1446 -0
- package/build/lib/_Types.d.ts.map +1 -0
- package/build/lib/_Types.js +1334 -0
- package/build/lib/_Types.js.map +1 -0
- package/build/lib/serializers.d.ts +24 -0
- package/build/lib/serializers.d.ts.map +1 -0
- package/build/lib/serializers.js +66 -0
- package/build/lib/serializers.js.map +1 -0
- package/build/lib/utils.d.ts +13 -0
- package/build/lib/utils.d.ts.map +1 -0
- package/build/lib/utils.js +675 -0
- package/build/lib/utils.js.map +1 -0
- package/package.json +77 -0
|
@@ -0,0 +1,615 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
+
if (mod && mod.__esModule) return mod;
|
|
26
|
+
var result = {};
|
|
27
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
28
|
+
__setModuleDefault(result, mod);
|
|
29
|
+
return result;
|
|
30
|
+
};
|
|
31
|
+
var AssociationCC_1;
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
exports.AssociationCCSupportedGroupingsGet = exports.AssociationCCSupportedGroupingsReport = exports.AssociationCCGet = exports.AssociationCCReport = exports.AssociationCCRemove = exports.AssociationCCSet = exports.AssociationCC = exports.AssociationCCAPI = exports.getLifelineGroupIds = exports.getHasLifelineValueId = exports.getGroupCountValueId = exports.getNodeIdsValueId = exports.getMaxNodesValueId = void 0;
|
|
34
|
+
function __assertType(argName, typeName, boundHasError) {
|
|
35
|
+
const { ZWaveError, ZWaveErrorCodes } = require("@zwave-js/core");
|
|
36
|
+
if (boundHasError()) {
|
|
37
|
+
throw new ZWaveError(typeName ? `${argName} is not a ${typeName}` : `${argName} has the wrong type`, ZWaveErrorCodes.Argument_Invalid);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const __assertType__number = $o => {
|
|
41
|
+
function _number($o) {
|
|
42
|
+
return typeof $o !== "number" ? {} : null;
|
|
43
|
+
}
|
|
44
|
+
return _number($o);
|
|
45
|
+
};
|
|
46
|
+
const __assertType__sa__number_ea_2 = $o => {
|
|
47
|
+
function _number($o) {
|
|
48
|
+
return typeof $o !== "number" ? {} : null;
|
|
49
|
+
}
|
|
50
|
+
function sa__number_ea_2($o) {
|
|
51
|
+
if (!Array.isArray($o))
|
|
52
|
+
return {};
|
|
53
|
+
for (let i = 0; i < $o.length; i++) {
|
|
54
|
+
const error = _number($o[i]);
|
|
55
|
+
if (error)
|
|
56
|
+
return error;
|
|
57
|
+
}
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
return sa__number_ea_2($o);
|
|
61
|
+
};
|
|
62
|
+
const __assertType__AssociationCCRemoveOptions = $o => {
|
|
63
|
+
function _number($o) {
|
|
64
|
+
return typeof $o !== "number" ? {} : null;
|
|
65
|
+
}
|
|
66
|
+
function sa__number_ea_3($o) {
|
|
67
|
+
if (!Array.isArray($o))
|
|
68
|
+
return {};
|
|
69
|
+
for (let i = 0; i < $o.length; i++) {
|
|
70
|
+
const error = _number($o[i]);
|
|
71
|
+
if (error)
|
|
72
|
+
return error;
|
|
73
|
+
}
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
function _0($o) {
|
|
77
|
+
if (typeof $o !== "object" || $o === null || Array.isArray($o))
|
|
78
|
+
return {};
|
|
79
|
+
if ("groupId" in $o && $o["groupId"] !== undefined) {
|
|
80
|
+
const error = _number($o["groupId"]);
|
|
81
|
+
if (error)
|
|
82
|
+
return error;
|
|
83
|
+
}
|
|
84
|
+
if ("nodeIds" in $o && $o["nodeIds"] !== undefined) {
|
|
85
|
+
const error = sa__number_ea_3($o["nodeIds"]);
|
|
86
|
+
if (error)
|
|
87
|
+
return error;
|
|
88
|
+
}
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
return _0($o);
|
|
92
|
+
};
|
|
93
|
+
const safe_1 = require("@zwave-js/core/safe");
|
|
94
|
+
const arrays_1 = require("alcalzone-shared/arrays");
|
|
95
|
+
const API_1 = require("../lib/API");
|
|
96
|
+
const CommandClass_1 = require("../lib/CommandClass");
|
|
97
|
+
const ccUtils = __importStar(require("../lib/utils"));
|
|
98
|
+
const _Types_1 = require("../lib/_Types");
|
|
99
|
+
/** Returns the ValueID used to store the maximum number of nodes of an association group */
|
|
100
|
+
function getMaxNodesValueId(endpointIndex, groupId) {
|
|
101
|
+
return {
|
|
102
|
+
commandClass: safe_1.CommandClasses.Association,
|
|
103
|
+
endpoint: endpointIndex,
|
|
104
|
+
property: "maxNodes",
|
|
105
|
+
propertyKey: groupId,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
exports.getMaxNodesValueId = getMaxNodesValueId;
|
|
109
|
+
/** Returns the ValueID used to store the node IDs of an association group */
|
|
110
|
+
function getNodeIdsValueId(endpointIndex, groupId) {
|
|
111
|
+
return {
|
|
112
|
+
commandClass: safe_1.CommandClasses.Association,
|
|
113
|
+
endpoint: endpointIndex,
|
|
114
|
+
property: "nodeIds",
|
|
115
|
+
propertyKey: groupId,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
exports.getNodeIdsValueId = getNodeIdsValueId;
|
|
119
|
+
/** Returns the ValueID used to store the group count of an association group */
|
|
120
|
+
function getGroupCountValueId(endpointIndex) {
|
|
121
|
+
return {
|
|
122
|
+
commandClass: safe_1.CommandClasses.Association,
|
|
123
|
+
endpoint: endpointIndex,
|
|
124
|
+
property: "groupCount",
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
exports.getGroupCountValueId = getGroupCountValueId;
|
|
128
|
+
/** Returns the ValueID used to store whether a node has a lifeline association */
|
|
129
|
+
function getHasLifelineValueId(endpointIndex) {
|
|
130
|
+
return {
|
|
131
|
+
commandClass: safe_1.CommandClasses.Association,
|
|
132
|
+
endpoint: endpointIndex,
|
|
133
|
+
property: "hasLifeline",
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
exports.getHasLifelineValueId = getHasLifelineValueId;
|
|
137
|
+
function getLifelineGroupIds(applHost, endpoint) {
|
|
138
|
+
var _a, _b, _c, _d, _e, _f;
|
|
139
|
+
// For now only support this for the root endpoint - i.e. node
|
|
140
|
+
if (endpoint.index > 0)
|
|
141
|
+
return [];
|
|
142
|
+
const node = endpoint;
|
|
143
|
+
// Some nodes define multiple lifeline groups, so we need to assign us to
|
|
144
|
+
// all of them
|
|
145
|
+
const lifelineGroups = [];
|
|
146
|
+
// If the target node supports Z-Wave+ info that means the lifeline MUST be group #1
|
|
147
|
+
if (endpoint.supportsCC(safe_1.CommandClasses["Z-Wave Plus Info"])) {
|
|
148
|
+
lifelineGroups.push(1);
|
|
149
|
+
}
|
|
150
|
+
// We have a device config file that tells us which (additional) association to assign
|
|
151
|
+
let associations;
|
|
152
|
+
const deviceConfig = (_a = applHost.getDeviceConfig) === null || _a === void 0 ? void 0 : _a.call(applHost, node.id);
|
|
153
|
+
if (endpoint.index === 0) {
|
|
154
|
+
// The root endpoint's associations may be configured separately or as part of "endpoints"
|
|
155
|
+
associations =
|
|
156
|
+
(_b = deviceConfig === null || deviceConfig === void 0 ? void 0 : deviceConfig.associations) !== null && _b !== void 0 ? _b : (_d = (_c = deviceConfig === null || deviceConfig === void 0 ? void 0 : deviceConfig.endpoints) === null || _c === void 0 ? void 0 : _c.get(0)) === null || _d === void 0 ? void 0 : _d.associations;
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
// The other endpoints can only have a configuration as part of "endpoints"
|
|
160
|
+
associations = (_f = (_e = deviceConfig === null || deviceConfig === void 0 ? void 0 : deviceConfig.endpoints) === null || _e === void 0 ? void 0 : _e.get(endpoint.index)) === null || _f === void 0 ? void 0 : _f.associations;
|
|
161
|
+
}
|
|
162
|
+
if (associations === null || associations === void 0 ? void 0 : associations.size) {
|
|
163
|
+
lifelineGroups.push(...[...associations.values()]
|
|
164
|
+
.filter((a) => a.isLifeline)
|
|
165
|
+
.map((a) => a.groupId));
|
|
166
|
+
}
|
|
167
|
+
return (0, arrays_1.distinct)(lifelineGroups).sort();
|
|
168
|
+
}
|
|
169
|
+
exports.getLifelineGroupIds = getLifelineGroupIds;
|
|
170
|
+
// @noSetValueAPI
|
|
171
|
+
let AssociationCCAPI = class AssociationCCAPI extends API_1.PhysicalCCAPI {
|
|
172
|
+
supportsCommand(cmd) {
|
|
173
|
+
switch (cmd) {
|
|
174
|
+
case _Types_1.AssociationCommand.Get:
|
|
175
|
+
case _Types_1.AssociationCommand.Set:
|
|
176
|
+
case _Types_1.AssociationCommand.Remove:
|
|
177
|
+
case _Types_1.AssociationCommand.SupportedGroupingsGet:
|
|
178
|
+
return true; // This is mandatory
|
|
179
|
+
// Not implemented:
|
|
180
|
+
// case AssociationCommand.SpecificGroupGet:
|
|
181
|
+
// return this.version >= 2;
|
|
182
|
+
}
|
|
183
|
+
return super.supportsCommand(cmd);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Returns the number of association groups a node supports.
|
|
187
|
+
* Association groups are consecutive, starting at 1.
|
|
188
|
+
*/
|
|
189
|
+
async getGroupCount() {
|
|
190
|
+
this.assertSupportsCommand(_Types_1.AssociationCommand, _Types_1.AssociationCommand.SupportedGroupingsGet);
|
|
191
|
+
const cc = new AssociationCCSupportedGroupingsGet(this.applHost, {
|
|
192
|
+
nodeId: this.endpoint.nodeId,
|
|
193
|
+
endpoint: this.endpoint.index,
|
|
194
|
+
});
|
|
195
|
+
const response = await this.applHost.sendCommand(cc, this.commandOptions);
|
|
196
|
+
if (response)
|
|
197
|
+
return response.groupCount;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Returns information about an association group.
|
|
201
|
+
*/
|
|
202
|
+
async getGroup(groupId) {
|
|
203
|
+
__assertType("groupId", "number", __assertType__number.bind(void 0, groupId));
|
|
204
|
+
this.assertSupportsCommand(_Types_1.AssociationCommand, _Types_1.AssociationCommand.Get);
|
|
205
|
+
const cc = new AssociationCCGet(this.applHost, {
|
|
206
|
+
nodeId: this.endpoint.nodeId,
|
|
207
|
+
endpoint: this.endpoint.index,
|
|
208
|
+
groupId,
|
|
209
|
+
});
|
|
210
|
+
const response = await this.applHost.sendCommand(cc, this.commandOptions);
|
|
211
|
+
if (response) {
|
|
212
|
+
return {
|
|
213
|
+
maxNodes: response.maxNodes,
|
|
214
|
+
nodeIds: response.nodeIds,
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Adds new nodes to an association group
|
|
220
|
+
*/
|
|
221
|
+
async addNodeIds(groupId, ...nodeIds) {
|
|
222
|
+
__assertType("groupId", "number", __assertType__number.bind(void 0, groupId));
|
|
223
|
+
__assertType("nodeIds", undefined, __assertType__sa__number_ea_2.bind(void 0, nodeIds));
|
|
224
|
+
this.assertSupportsCommand(_Types_1.AssociationCommand, _Types_1.AssociationCommand.Set);
|
|
225
|
+
const cc = new AssociationCCSet(this.applHost, {
|
|
226
|
+
nodeId: this.endpoint.nodeId,
|
|
227
|
+
endpoint: this.endpoint.index,
|
|
228
|
+
groupId,
|
|
229
|
+
nodeIds,
|
|
230
|
+
});
|
|
231
|
+
await this.applHost.sendCommand(cc, this.commandOptions);
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Removes nodes from an association group
|
|
235
|
+
*/
|
|
236
|
+
async removeNodeIds(options) {
|
|
237
|
+
__assertType("options", "AssociationCCRemoveOptions", __assertType__AssociationCCRemoveOptions.bind(void 0, options));
|
|
238
|
+
this.assertSupportsCommand(_Types_1.AssociationCommand, _Types_1.AssociationCommand.Remove);
|
|
239
|
+
const cc = new AssociationCCRemove(this.applHost, {
|
|
240
|
+
nodeId: this.endpoint.nodeId,
|
|
241
|
+
endpoint: this.endpoint.index,
|
|
242
|
+
...options,
|
|
243
|
+
});
|
|
244
|
+
await this.applHost.sendCommand(cc, this.commandOptions);
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Removes nodes from all association groups
|
|
248
|
+
*/
|
|
249
|
+
async removeNodeIdsFromAllGroups(nodeIds) {
|
|
250
|
+
var _a, _b;
|
|
251
|
+
__assertType("nodeIds", undefined, __assertType__sa__number_ea_2.bind(void 0, nodeIds));
|
|
252
|
+
this.assertSupportsCommand(_Types_1.AssociationCommand, _Types_1.AssociationCommand.Remove);
|
|
253
|
+
if (this.version >= 2) {
|
|
254
|
+
// The node supports bulk removal
|
|
255
|
+
return this.removeNodeIds({ nodeIds, groupId: 0 });
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
// We have to remove the node manually from all groups
|
|
259
|
+
const groupCount = (_b = (_a = this.tryGetValueDB()) === null || _a === void 0 ? void 0 : _a.getValue(getGroupCountValueId(this.endpoint.index))) !== null && _b !== void 0 ? _b : 0;
|
|
260
|
+
for (let groupId = 1; groupId <= groupCount; groupId++) {
|
|
261
|
+
await this.removeNodeIds({ nodeIds, groupId });
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
AssociationCCAPI = __decorate([
|
|
267
|
+
(0, CommandClass_1.API)(safe_1.CommandClasses.Association)
|
|
268
|
+
], AssociationCCAPI);
|
|
269
|
+
exports.AssociationCCAPI = AssociationCCAPI;
|
|
270
|
+
let AssociationCC = AssociationCC_1 = class AssociationCC extends CommandClass_1.CommandClass {
|
|
271
|
+
constructor(host, options) {
|
|
272
|
+
super(host, options);
|
|
273
|
+
this.registerValue(getHasLifelineValueId(0).property, {
|
|
274
|
+
internal: true,
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
determineRequiredCCInterviews() {
|
|
278
|
+
// AssociationCC must be interviewed after Z-Wave+ if that is supported
|
|
279
|
+
return [
|
|
280
|
+
...super.determineRequiredCCInterviews(),
|
|
281
|
+
safe_1.CommandClasses["Z-Wave Plus Info"],
|
|
282
|
+
// We need information about endpoints to correctly configure the lifeline associations
|
|
283
|
+
safe_1.CommandClasses["Multi Channel"],
|
|
284
|
+
];
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Returns the number of association groups reported by the node/endpoint.
|
|
288
|
+
* This only works AFTER the interview process
|
|
289
|
+
*/
|
|
290
|
+
static getGroupCountCached(applHost, endpoint) {
|
|
291
|
+
return (applHost
|
|
292
|
+
.getValueDB(endpoint.nodeId)
|
|
293
|
+
.getValue(getGroupCountValueId(endpoint.index)) || 0);
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Returns the number of nodes an association group supports.
|
|
297
|
+
* This only works AFTER the interview process
|
|
298
|
+
*/
|
|
299
|
+
static getMaxNodesCached(applHost, endpoint, groupId) {
|
|
300
|
+
var _a, _b, _c, _d, _e;
|
|
301
|
+
return ((_e = (_a = applHost
|
|
302
|
+
.getValueDB(endpoint.nodeId)
|
|
303
|
+
.getValue(getMaxNodesValueId(endpoint.index, groupId))) !== null && _a !== void 0 ? _a :
|
|
304
|
+
// If the information is not available, fall back to the configuration file if possible
|
|
305
|
+
// This can happen on some legacy devices which have "hidden" association groups
|
|
306
|
+
(_d = (_c = (_b = applHost
|
|
307
|
+
.getDeviceConfig) === null || _b === void 0 ? void 0 : _b.call(applHost, endpoint.nodeId)) === null || _c === void 0 ? void 0 : _c.getAssociationConfigForEndpoint(endpoint.index, groupId)) === null || _d === void 0 ? void 0 : _d.maxNodes) !== null && _e !== void 0 ? _e : 0);
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Returns all the destinations of all association groups reported by the node/endpoint.
|
|
311
|
+
* This only works AFTER the interview process
|
|
312
|
+
*/
|
|
313
|
+
static getAllDestinationsCached(applHost, endpoint) {
|
|
314
|
+
var _a;
|
|
315
|
+
const ret = new Map();
|
|
316
|
+
const groupCount = this.getGroupCountCached(applHost, endpoint);
|
|
317
|
+
const valueDB = applHost.getValueDB(endpoint.nodeId);
|
|
318
|
+
for (let i = 1; i <= groupCount; i++) {
|
|
319
|
+
// Add all root destinations
|
|
320
|
+
const nodes = (_a = valueDB.getValue(getNodeIdsValueId(endpoint.index, i))) !== null && _a !== void 0 ? _a : [];
|
|
321
|
+
ret.set(i,
|
|
322
|
+
// Filter out duplicates
|
|
323
|
+
(0, arrays_1.distinct)(nodes).map((nodeId) => ({ nodeId })));
|
|
324
|
+
}
|
|
325
|
+
return ret;
|
|
326
|
+
}
|
|
327
|
+
async interview(applHost) {
|
|
328
|
+
const node = this.getNode(applHost);
|
|
329
|
+
const endpoint = this.getEndpoint(applHost);
|
|
330
|
+
const api = API_1.CCAPI.create(safe_1.CommandClasses.Association, applHost, endpoint).withOptions({
|
|
331
|
+
priority: safe_1.MessagePriority.NodeQuery,
|
|
332
|
+
});
|
|
333
|
+
applHost.controllerLog.logNode(node.id, {
|
|
334
|
+
endpoint: this.endpointIndex,
|
|
335
|
+
message: `Interviewing ${this.ccName}...`,
|
|
336
|
+
direction: "none",
|
|
337
|
+
});
|
|
338
|
+
// Even if Multi Channel Association is supported, we still need to query the number of
|
|
339
|
+
// normal association groups since some devices report more association groups than
|
|
340
|
+
// multi channel association groups
|
|
341
|
+
// Find out how many groups are supported
|
|
342
|
+
applHost.controllerLog.logNode(node.id, {
|
|
343
|
+
endpoint: this.endpointIndex,
|
|
344
|
+
message: "querying number of association groups...",
|
|
345
|
+
direction: "outbound",
|
|
346
|
+
});
|
|
347
|
+
const groupCount = await api.getGroupCount();
|
|
348
|
+
if (groupCount != undefined) {
|
|
349
|
+
applHost.controllerLog.logNode(node.id, {
|
|
350
|
+
endpoint: this.endpointIndex,
|
|
351
|
+
message: `supports ${groupCount} association groups`,
|
|
352
|
+
direction: "inbound",
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
applHost.controllerLog.logNode(node.id, {
|
|
357
|
+
endpoint: this.endpointIndex,
|
|
358
|
+
message: "Querying association groups timed out, skipping interview...",
|
|
359
|
+
level: "warn",
|
|
360
|
+
});
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
// Query each association group for its members
|
|
364
|
+
await this.refreshValues(applHost);
|
|
365
|
+
// Skip the remaining Association CC interview in favor of Multi Channel Association if possible
|
|
366
|
+
if (endpoint.supportsCC(safe_1.CommandClasses["Multi Channel Association"])) {
|
|
367
|
+
applHost.controllerLog.logNode(node.id, {
|
|
368
|
+
endpoint: this.endpointIndex,
|
|
369
|
+
message: `${this.constructor.name}: delaying configuration of lifeline associations until after Multi Channel Association interview...`,
|
|
370
|
+
direction: "none",
|
|
371
|
+
});
|
|
372
|
+
this.setInterviewComplete(applHost, true);
|
|
373
|
+
return;
|
|
374
|
+
}
|
|
375
|
+
// And set up lifeline associations
|
|
376
|
+
await ccUtils.configureLifelineAssociations(applHost, endpoint);
|
|
377
|
+
// Remember that the interview is complete
|
|
378
|
+
this.setInterviewComplete(applHost, true);
|
|
379
|
+
}
|
|
380
|
+
async refreshValues(applHost) {
|
|
381
|
+
const node = this.getNode(applHost);
|
|
382
|
+
const endpoint = this.getEndpoint(applHost);
|
|
383
|
+
const api = API_1.CCAPI.create(safe_1.CommandClasses.Association, applHost, endpoint).withOptions({
|
|
384
|
+
priority: safe_1.MessagePriority.NodeQuery,
|
|
385
|
+
});
|
|
386
|
+
const groupCount = AssociationCC_1.getGroupCountCached(applHost, endpoint);
|
|
387
|
+
// Query each association group
|
|
388
|
+
for (let groupId = 1; groupId <= groupCount; groupId++) {
|
|
389
|
+
applHost.controllerLog.logNode(node.id, {
|
|
390
|
+
endpoint: this.endpointIndex,
|
|
391
|
+
message: `querying association group #${groupId}...`,
|
|
392
|
+
direction: "outbound",
|
|
393
|
+
});
|
|
394
|
+
const group = await api.getGroup(groupId);
|
|
395
|
+
if (group != undefined) {
|
|
396
|
+
const logMessage = `received information for association group #${groupId}:
|
|
397
|
+
maximum # of nodes: ${group.maxNodes}
|
|
398
|
+
currently assigned nodes: ${group.nodeIds.map(String).join(", ")}`;
|
|
399
|
+
applHost.controllerLog.logNode(node.id, {
|
|
400
|
+
endpoint: this.endpointIndex,
|
|
401
|
+
message: logMessage,
|
|
402
|
+
direction: "inbound",
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
};
|
|
408
|
+
AssociationCC = AssociationCC_1 = __decorate([
|
|
409
|
+
(0, CommandClass_1.commandClass)(safe_1.CommandClasses.Association),
|
|
410
|
+
(0, CommandClass_1.implementedVersion)(3)
|
|
411
|
+
], AssociationCC);
|
|
412
|
+
exports.AssociationCC = AssociationCC;
|
|
413
|
+
let AssociationCCSet = class AssociationCCSet extends AssociationCC {
|
|
414
|
+
constructor(host, options) {
|
|
415
|
+
super(host, options);
|
|
416
|
+
if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
|
|
417
|
+
// TODO: Deserialize payload
|
|
418
|
+
throw new safe_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, safe_1.ZWaveErrorCodes.Deserialization_NotImplemented);
|
|
419
|
+
}
|
|
420
|
+
else {
|
|
421
|
+
if (options.groupId < 1) {
|
|
422
|
+
throw new safe_1.ZWaveError("The group id must be positive!", safe_1.ZWaveErrorCodes.Argument_Invalid);
|
|
423
|
+
}
|
|
424
|
+
if (options.nodeIds.some((n) => n < 1 || n > safe_1.MAX_NODES)) {
|
|
425
|
+
throw new safe_1.ZWaveError(`All node IDs must be between 1 and ${safe_1.MAX_NODES}!`, safe_1.ZWaveErrorCodes.Argument_Invalid);
|
|
426
|
+
}
|
|
427
|
+
this.groupId = options.groupId;
|
|
428
|
+
this.nodeIds = options.nodeIds;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
serialize() {
|
|
432
|
+
this.payload = Buffer.from([this.groupId, ...this.nodeIds]);
|
|
433
|
+
return super.serialize();
|
|
434
|
+
}
|
|
435
|
+
toLogEntry(applHost) {
|
|
436
|
+
const message = {
|
|
437
|
+
"group id": this.groupId || "all groups",
|
|
438
|
+
"node ids": this.nodeIds.length
|
|
439
|
+
? this.nodeIds.join(", ")
|
|
440
|
+
: "all nodes",
|
|
441
|
+
};
|
|
442
|
+
return {
|
|
443
|
+
...super.toLogEntry(applHost),
|
|
444
|
+
message,
|
|
445
|
+
};
|
|
446
|
+
}
|
|
447
|
+
};
|
|
448
|
+
AssociationCCSet = __decorate([
|
|
449
|
+
(0, CommandClass_1.CCCommand)(_Types_1.AssociationCommand.Set)
|
|
450
|
+
], AssociationCCSet);
|
|
451
|
+
exports.AssociationCCSet = AssociationCCSet;
|
|
452
|
+
let AssociationCCRemove = class AssociationCCRemove extends AssociationCC {
|
|
453
|
+
constructor(host, options) {
|
|
454
|
+
super(host, options);
|
|
455
|
+
if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
|
|
456
|
+
// TODO: Deserialize payload
|
|
457
|
+
throw new safe_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, safe_1.ZWaveErrorCodes.Deserialization_NotImplemented);
|
|
458
|
+
}
|
|
459
|
+
else {
|
|
460
|
+
// Validate options
|
|
461
|
+
if (!options.groupId) {
|
|
462
|
+
if (this.version === 1) {
|
|
463
|
+
throw new safe_1.ZWaveError(`Node ${this.nodeId} only supports AssociationCC V1 which requires the group Id to be set`, safe_1.ZWaveErrorCodes.Argument_Invalid);
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
else if (options.groupId < 0) {
|
|
467
|
+
throw new safe_1.ZWaveError("The group id must be positive!", safe_1.ZWaveErrorCodes.Argument_Invalid);
|
|
468
|
+
}
|
|
469
|
+
// When removing associations, we allow invalid node IDs.
|
|
470
|
+
// See GH#3606 - it is possible that those exist.
|
|
471
|
+
this.groupId = options.groupId;
|
|
472
|
+
this.nodeIds = options.nodeIds;
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
serialize() {
|
|
476
|
+
this.payload = Buffer.from([
|
|
477
|
+
this.groupId || 0,
|
|
478
|
+
...(this.nodeIds || []),
|
|
479
|
+
]);
|
|
480
|
+
return super.serialize();
|
|
481
|
+
}
|
|
482
|
+
toLogEntry(applHost) {
|
|
483
|
+
const message = {
|
|
484
|
+
"group id": this.groupId || "all groups",
|
|
485
|
+
"node ids": this.nodeIds && this.nodeIds.length
|
|
486
|
+
? this.nodeIds.join(", ")
|
|
487
|
+
: "all nodes",
|
|
488
|
+
};
|
|
489
|
+
return {
|
|
490
|
+
...super.toLogEntry(applHost),
|
|
491
|
+
message,
|
|
492
|
+
};
|
|
493
|
+
}
|
|
494
|
+
};
|
|
495
|
+
AssociationCCRemove = __decorate([
|
|
496
|
+
(0, CommandClass_1.CCCommand)(_Types_1.AssociationCommand.Remove)
|
|
497
|
+
], AssociationCCRemove);
|
|
498
|
+
exports.AssociationCCRemove = AssociationCCRemove;
|
|
499
|
+
let AssociationCCReport = class AssociationCCReport extends AssociationCC {
|
|
500
|
+
constructor(host, options) {
|
|
501
|
+
super(host, options);
|
|
502
|
+
(0, safe_1.validatePayload)(this.payload.length >= 3);
|
|
503
|
+
this._groupId = this.payload[0];
|
|
504
|
+
this._maxNodes = this.payload[1];
|
|
505
|
+
this._reportsToFollow = this.payload[2];
|
|
506
|
+
this._nodeIds = [...this.payload.slice(3)];
|
|
507
|
+
}
|
|
508
|
+
get groupId() {
|
|
509
|
+
return this._groupId;
|
|
510
|
+
}
|
|
511
|
+
get maxNodes() {
|
|
512
|
+
return this._maxNodes;
|
|
513
|
+
}
|
|
514
|
+
get nodeIds() {
|
|
515
|
+
return this._nodeIds;
|
|
516
|
+
}
|
|
517
|
+
get reportsToFollow() {
|
|
518
|
+
return this._reportsToFollow;
|
|
519
|
+
}
|
|
520
|
+
getPartialCCSessionId() {
|
|
521
|
+
// Distinguish sessions by the association group ID
|
|
522
|
+
return { groupId: this._groupId };
|
|
523
|
+
}
|
|
524
|
+
expectMoreMessages() {
|
|
525
|
+
return this._reportsToFollow > 0;
|
|
526
|
+
}
|
|
527
|
+
mergePartialCCs(applHost, partials) {
|
|
528
|
+
// Concat the list of nodes
|
|
529
|
+
this._nodeIds = [...partials, this]
|
|
530
|
+
.map((report) => report._nodeIds)
|
|
531
|
+
.reduce((prev, cur) => prev.concat(...cur), []);
|
|
532
|
+
}
|
|
533
|
+
toLogEntry(applHost) {
|
|
534
|
+
return {
|
|
535
|
+
...super.toLogEntry(applHost),
|
|
536
|
+
message: {
|
|
537
|
+
"group id": this.groupId,
|
|
538
|
+
"max # of nodes": this.maxNodes,
|
|
539
|
+
"node IDs": this.nodeIds.join(", "),
|
|
540
|
+
"reports to follow": this.reportsToFollow,
|
|
541
|
+
},
|
|
542
|
+
};
|
|
543
|
+
}
|
|
544
|
+
};
|
|
545
|
+
__decorate([
|
|
546
|
+
(0, CommandClass_1.ccValue)({ internal: true })
|
|
547
|
+
], AssociationCCReport.prototype, "maxNodes", null);
|
|
548
|
+
__decorate([
|
|
549
|
+
(0, CommandClass_1.ccValue)({ internal: true })
|
|
550
|
+
], AssociationCCReport.prototype, "nodeIds", null);
|
|
551
|
+
AssociationCCReport = __decorate([
|
|
552
|
+
(0, CommandClass_1.CCCommand)(_Types_1.AssociationCommand.Report)
|
|
553
|
+
], AssociationCCReport);
|
|
554
|
+
exports.AssociationCCReport = AssociationCCReport;
|
|
555
|
+
let AssociationCCGet = class AssociationCCGet extends AssociationCC {
|
|
556
|
+
constructor(host, options) {
|
|
557
|
+
super(host, options);
|
|
558
|
+
if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
|
|
559
|
+
// TODO: Deserialize payload
|
|
560
|
+
throw new safe_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, safe_1.ZWaveErrorCodes.Deserialization_NotImplemented);
|
|
561
|
+
}
|
|
562
|
+
else {
|
|
563
|
+
if (options.groupId < 1) {
|
|
564
|
+
throw new safe_1.ZWaveError("The group id must be positive!", safe_1.ZWaveErrorCodes.Argument_Invalid);
|
|
565
|
+
}
|
|
566
|
+
this.groupId = options.groupId;
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
serialize() {
|
|
570
|
+
this.payload = Buffer.from([this.groupId]);
|
|
571
|
+
return super.serialize();
|
|
572
|
+
}
|
|
573
|
+
toLogEntry(applHost) {
|
|
574
|
+
return {
|
|
575
|
+
...super.toLogEntry(applHost),
|
|
576
|
+
message: { "group id": this.groupId },
|
|
577
|
+
};
|
|
578
|
+
}
|
|
579
|
+
};
|
|
580
|
+
AssociationCCGet = __decorate([
|
|
581
|
+
(0, CommandClass_1.CCCommand)(_Types_1.AssociationCommand.Get),
|
|
582
|
+
(0, CommandClass_1.expectedCCResponse)(AssociationCCReport)
|
|
583
|
+
], AssociationCCGet);
|
|
584
|
+
exports.AssociationCCGet = AssociationCCGet;
|
|
585
|
+
let AssociationCCSupportedGroupingsReport = class AssociationCCSupportedGroupingsReport extends AssociationCC {
|
|
586
|
+
constructor(host, options) {
|
|
587
|
+
super(host, options);
|
|
588
|
+
(0, safe_1.validatePayload)(this.payload.length >= 1);
|
|
589
|
+
this._groupCount = this.payload[0];
|
|
590
|
+
}
|
|
591
|
+
get groupCount() {
|
|
592
|
+
return this._groupCount;
|
|
593
|
+
}
|
|
594
|
+
toLogEntry(applHost) {
|
|
595
|
+
return {
|
|
596
|
+
...super.toLogEntry(applHost),
|
|
597
|
+
message: { "group count": this.groupCount },
|
|
598
|
+
};
|
|
599
|
+
}
|
|
600
|
+
};
|
|
601
|
+
__decorate([
|
|
602
|
+
(0, CommandClass_1.ccValue)({ internal: true })
|
|
603
|
+
], AssociationCCSupportedGroupingsReport.prototype, "groupCount", null);
|
|
604
|
+
AssociationCCSupportedGroupingsReport = __decorate([
|
|
605
|
+
(0, CommandClass_1.CCCommand)(_Types_1.AssociationCommand.SupportedGroupingsReport)
|
|
606
|
+
], AssociationCCSupportedGroupingsReport);
|
|
607
|
+
exports.AssociationCCSupportedGroupingsReport = AssociationCCSupportedGroupingsReport;
|
|
608
|
+
let AssociationCCSupportedGroupingsGet = class AssociationCCSupportedGroupingsGet extends AssociationCC {
|
|
609
|
+
};
|
|
610
|
+
AssociationCCSupportedGroupingsGet = __decorate([
|
|
611
|
+
(0, CommandClass_1.CCCommand)(_Types_1.AssociationCommand.SupportedGroupingsGet),
|
|
612
|
+
(0, CommandClass_1.expectedCCResponse)(AssociationCCSupportedGroupingsReport)
|
|
613
|
+
], AssociationCCSupportedGroupingsGet);
|
|
614
|
+
exports.AssociationCCSupportedGroupingsGet = AssociationCCSupportedGroupingsGet;
|
|
615
|
+
//# sourceMappingURL=AssociationCC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssociationCC.js","sourceRoot":"","sources":["../../src/cc/AssociationCC.ts"],"names":[],"mappings":"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"}
|