isy-nodejs 1.0.1-alpha.2 → 1.0.1-alpha.20
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/dist/cjs/Converters.js +66 -30
- package/dist/cjs/Converters.js.map +1 -1
- package/dist/cjs/Definitions/Global/Drivers.js +10 -3
- package/dist/cjs/Definitions/Global/Drivers.js.map +1 -1
- package/dist/cjs/Definitions/Global/Events.js +1 -2
- package/dist/cjs/Definitions/Global/Events.js.map +1 -1
- package/dist/cjs/Devices/Elk/ElkAlarmPanelDevice.js +3 -3
- package/dist/cjs/Devices/Elk/ElkAlarmSensorDevice.js +9 -6
- package/dist/cjs/Devices/Elk/ElkAlarmSensorDevice.js.map +1 -1
- package/dist/cjs/Devices/Insteon/InsteonBaseDevice.js +5 -3
- package/dist/cjs/Devices/Insteon/InsteonBaseDevice.js.map +1 -1
- package/dist/cjs/Devices/Insteon/InsteonFanDevice.js +7 -3
- package/dist/cjs/Devices/Insteon/InsteonFanDevice.js.map +1 -1
- package/dist/cjs/Devices/Insteon/InsteonMotionSensorDevice.js +5 -5
- package/dist/cjs/Devices/Insteon/InsteonRelayDevice.js +3 -8
- package/dist/cjs/Devices/Insteon/InsteonRelayDevice.js.map +1 -1
- package/dist/cjs/Devices/Insteon/RelayLampSwitch.js +72 -0
- package/dist/cjs/Devices/Insteon/RelayLampSwitch.js.map +1 -0
- package/dist/cjs/ISY.js +58 -43
- package/dist/cjs/ISY.js.map +1 -1
- package/dist/cjs/ISYNode.js +15 -12
- package/dist/cjs/ISYNode.js.map +1 -1
- package/dist/cjs/ISYScene.js +3 -3
- package/dist/cjs/ISYScene.js.map +1 -1
- package/dist/cjs/Matter/Behaviors/ISYBridgedDeviceBehavior.js +11 -4
- package/dist/cjs/Matter/Behaviors/ISYBridgedDeviceBehavior.js.map +1 -1
- package/dist/cjs/Matter/Behaviors/ISYClusterBehavior.js +26 -7
- package/dist/cjs/Matter/Behaviors/ISYClusterBehavior.js.map +1 -1
- package/dist/cjs/Matter/Behaviors/ISYOnOffBehavior.js +11 -8
- package/dist/cjs/Matter/Behaviors/ISYOnOffBehavior.js.map +1 -1
- package/dist/cjs/Matter/{Server → Bridge}/Server.js +88 -51
- package/dist/cjs/Matter/Bridge/Server.js.map +1 -0
- package/dist/cjs/Matter/Mappings/Insteon.js +19 -15
- package/dist/cjs/Matter/Mappings/Insteon.js.map +1 -1
- package/dist/cjs/Matter/Mappings/register.js +1 -0
- package/dist/cjs/Matter/Mappings/register.js.map +1 -0
- package/dist/cjs/Model/ClusterMap.js +12 -9
- package/dist/cjs/Model/ClusterMap.js.map +1 -1
- package/dist/cjs/Utils.js +60 -9
- package/dist/cjs/Utils.js.map +1 -1
- package/dist/cjs/types/CodeGeneration/EnumFactory.d.ts +1 -1
- package/dist/cjs/types/Converters.d.ts +28 -8
- package/dist/cjs/types/Converters.d.ts.map +1 -1
- package/dist/cjs/types/Definitions/Global/Drivers.d.ts +4 -3
- package/dist/cjs/types/Definitions/Global/Drivers.d.ts.map +1 -1
- package/dist/cjs/types/Definitions/Global/Events.d.ts.map +1 -1
- package/dist/cjs/types/Devices/Elk/ElkAlarmSensorDevice.d.ts.map +1 -1
- package/dist/cjs/types/Devices/EndpointFor.d.ts +2 -2
- package/dist/cjs/types/Devices/Insteon/InsteonBaseDevice.d.ts +3 -3
- package/dist/cjs/types/Devices/Insteon/InsteonBaseDevice.d.ts.map +1 -1
- package/dist/cjs/types/Devices/Insteon/InsteonDevice.d.ts +4 -4
- package/dist/cjs/types/Devices/Insteon/InsteonFanDevice.d.ts +5 -4
- package/dist/cjs/types/Devices/Insteon/InsteonFanDevice.d.ts.map +1 -1
- package/dist/cjs/types/Devices/Insteon/InsteonRelayDevice.d.ts +2 -4
- package/dist/cjs/types/Devices/Insteon/InsteonRelayDevice.d.ts.map +1 -1
- package/dist/cjs/types/Devices/Insteon/RelayLampSwitch.d.ts +93 -0
- package/dist/cjs/types/Devices/Insteon/RelayLampSwitch.d.ts.map +1 -0
- package/dist/cjs/types/ISY.d.ts +27 -21
- package/dist/cjs/types/ISY.d.ts.map +1 -1
- package/dist/cjs/types/ISYNode.d.ts +4 -4
- package/dist/cjs/types/ISYNode.d.ts.map +1 -1
- package/dist/cjs/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts +16 -6
- package/dist/cjs/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts.map +1 -1
- package/dist/cjs/types/Matter/Behaviors/ISYClusterBehavior.d.ts +13 -11
- package/dist/cjs/types/Matter/Behaviors/ISYClusterBehavior.d.ts.map +1 -1
- package/dist/cjs/types/Matter/Behaviors/ISYOnOffBehavior.d.ts +4 -4
- package/dist/cjs/types/Matter/Behaviors/ISYOnOffBehavior.d.ts.map +1 -1
- package/dist/cjs/types/Matter/Bridge/Server.d.ts +27 -0
- package/dist/cjs/types/Matter/Bridge/Server.d.ts.map +1 -0
- package/dist/cjs/types/Matter/Mappings/register.d.ts +1 -0
- package/dist/cjs/types/Matter/Mappings/register.d.ts.map +1 -0
- package/dist/cjs/types/Model/ClusterMap.d.ts +19 -11
- package/dist/cjs/types/Model/ClusterMap.d.ts.map +1 -1
- package/dist/cjs/types/Utils.d.ts +3 -5
- package/dist/cjs/types/Utils.d.ts.map +1 -1
- package/dist/esm/Converters.js +63 -28
- package/dist/esm/Converters.js.map +1 -1
- package/dist/esm/Definitions/Global/Drivers.js +10 -3
- package/dist/esm/Definitions/Global/Drivers.js.map +1 -1
- package/dist/esm/Definitions/Global/Events.js +1 -2
- package/dist/esm/Definitions/Global/Events.js.map +1 -1
- package/dist/esm/Devices/Brultech/index.js +4 -0
- package/dist/esm/Devices/Brultech/index.js.map +1 -0
- package/dist/esm/Devices/Constructor.js +2 -0
- package/dist/esm/Devices/Constructor.js.map +1 -0
- package/dist/esm/Devices/DeviceFactory.js +13 -0
- package/dist/esm/Devices/DeviceFactory.js.map +1 -0
- package/dist/esm/Devices/DeviceMap.js +4 -0
- package/dist/esm/Devices/DeviceMap.js.map +1 -0
- package/dist/esm/Devices/Elk/ElkAlarmPanelDevice.js +181 -0
- package/dist/esm/Devices/Elk/ElkAlarmPanelDevice.js.map +1 -0
- package/dist/esm/Devices/Elk/ElkAlarmSensorDevice.js +110 -0
- package/dist/esm/Devices/Elk/ElkAlarmSensorDevice.js.map +1 -0
- package/dist/esm/Devices/EndpointFor.js +31 -0
- package/dist/esm/Devices/EndpointFor.js.map +1 -0
- package/dist/esm/Devices/ISYDevice.js +35 -0
- package/dist/esm/Devices/ISYDevice.js.map +1 -0
- package/dist/esm/Devices/ISYDeviceNode.js +62 -0
- package/dist/esm/Devices/ISYDeviceNode.js.map +1 -0
- package/dist/esm/Devices/ISYMultiNodeDevice.js +89 -0
- package/dist/esm/Devices/ISYMultiNodeDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonBallastDimmerDevice.js +8 -0
- package/dist/esm/Devices/Insteon/InsteonBallastDimmerDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonBaseDevice.js +49 -0
- package/dist/esm/Devices/Insteon/InsteonBaseDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonCOSensorDevice.js +14 -0
- package/dist/esm/Devices/Insteon/InsteonCOSensorDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonDevice.js +17 -0
- package/dist/esm/Devices/Insteon/InsteonDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonDeviceFactory.js +875 -0
- package/dist/esm/Devices/Insteon/InsteonDeviceFactory.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonDimmableDevice.js +32 -0
- package/dist/esm/Devices/Insteon/InsteonDimmableDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonDimmerOutletDevice.js +7 -0
- package/dist/esm/Devices/Insteon/InsteonDimmerOutletDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonDimmerSwitchDevice.js +8 -0
- package/dist/esm/Devices/Insteon/InsteonDimmerSwitchDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonDoorWindowSensorDevice.js +11 -0
- package/dist/esm/Devices/Insteon/InsteonDoorWindowSensorDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonFanDevice.js +60 -0
- package/dist/esm/Devices/Insteon/InsteonFanDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonKeypadDevice.js +8 -0
- package/dist/esm/Devices/Insteon/InsteonKeypadDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonKeypadDimmerDevice.js +8 -0
- package/dist/esm/Devices/Insteon/InsteonKeypadDimmerDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonKeypadRelayDevice.js +8 -0
- package/dist/esm/Devices/Insteon/InsteonKeypadRelayDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonLeakSensorDevice.js +11 -0
- package/dist/esm/Devices/Insteon/InsteonLeakSensorDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonLockDevice.js +32 -0
- package/dist/esm/Devices/Insteon/InsteonLockDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonMotionSensorDevice.js +36 -0
- package/dist/esm/Devices/Insteon/InsteonMotionSensorDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonOnOffOutletDevice.js +19 -0
- package/dist/esm/Devices/Insteon/InsteonOnOffOutletDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonRelayDevice.js +41 -0
- package/dist/esm/Devices/Insteon/InsteonRelayDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonRelaySwitchDevice.js +8 -0
- package/dist/esm/Devices/Insteon/InsteonRelaySwitchDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonSmokeSensorDevice.js +11 -0
- package/dist/esm/Devices/Insteon/InsteonSmokeSensorDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonThermostatDevice.js +30 -0
- package/dist/esm/Devices/Insteon/InsteonThermostatDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/RelayLampSwitch.js +68 -0
- package/dist/esm/Devices/Insteon/RelayLampSwitch.js.map +1 -0
- package/dist/esm/Devices/Insteon/index.js +31 -0
- package/dist/esm/Devices/Insteon/index.js.map +1 -0
- package/dist/esm/Devices/Lutron/index.js +4 -0
- package/dist/esm/Devices/Lutron/index.js.map +1 -0
- package/dist/esm/Devices/MapsTo.js +2 -0
- package/dist/esm/Devices/MapsTo.js.map +1 -0
- package/dist/esm/Devices/NCD/index.js +4 -0
- package/dist/esm/Devices/NCD/index.js.map +1 -0
- package/dist/esm/Devices/NodeFactory.js +48 -0
- package/dist/esm/Devices/NodeFactory.js.map +1 -0
- package/dist/esm/Devices/Poly/index.js +4 -0
- package/dist/esm/Devices/Poly/index.js.map +1 -0
- package/dist/esm/Devices/Scene/index.js +4 -0
- package/dist/esm/Devices/Scene/index.js.map +1 -0
- package/dist/esm/Devices/UDI/index.js +4 -0
- package/dist/esm/Devices/UDI/index.js.map +1 -0
- package/dist/esm/Devices/ZWave/ZWaveBaseDevice.js +38 -0
- package/dist/esm/Devices/ZWave/ZWaveBaseDevice.js.map +1 -0
- package/dist/esm/Devices/ZWave/ZWaveDimmerSwitchDevice.js +8 -0
- package/dist/esm/Devices/ZWave/ZWaveDimmerSwitchDevice.js.map +1 -0
- package/dist/esm/Devices/ZWave/ZWaveLockDevice.js +35 -0
- package/dist/esm/Devices/ZWave/ZWaveLockDevice.js.map +1 -0
- package/dist/esm/Devices/ZWave/index.js +20 -0
- package/dist/esm/Devices/ZWave/index.js.map +1 -0
- package/dist/esm/Devices/index.js +9 -0
- package/dist/esm/Devices/index.js.map +1 -0
- package/dist/esm/ISY.js +56 -41
- package/dist/esm/ISY.js.map +1 -1
- package/dist/esm/ISYNode.js +16 -13
- package/dist/esm/ISYNode.js.map +1 -1
- package/dist/esm/ISYScene.js +3 -3
- package/dist/esm/ISYScene.js.map +1 -1
- package/dist/esm/Matter/Behaviors/ISYBridgedDeviceBehavior.js +11 -4
- package/dist/esm/Matter/Behaviors/ISYBridgedDeviceBehavior.js.map +1 -1
- package/dist/esm/Matter/Behaviors/ISYClusterBehavior.js +26 -7
- package/dist/esm/Matter/Behaviors/ISYClusterBehavior.js.map +1 -1
- package/dist/esm/Matter/Behaviors/ISYOnOffBehavior.js +12 -9
- package/dist/esm/Matter/Behaviors/ISYOnOffBehavior.js.map +1 -1
- package/dist/esm/Matter/{Server → Bridge}/Server.js +60 -50
- package/dist/esm/Matter/Bridge/Server.js.map +1 -0
- package/dist/esm/Matter/Mappings/Insteon.js +22 -18
- package/dist/esm/Matter/Mappings/Insteon.js.map +1 -1
- package/dist/esm/Matter/Mappings/register.js +2 -0
- package/dist/esm/Matter/Mappings/register.js.map +1 -0
- package/dist/esm/Model/ClusterMap.js +12 -9
- package/dist/esm/Model/ClusterMap.js.map +1 -1
- package/dist/esm/Utils.js +55 -8
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/types/CodeGeneration/EnumFactory.d.ts +1 -1
- package/dist/esm/types/Converters.d.ts +28 -8
- package/dist/esm/types/Converters.d.ts.map +1 -1
- package/dist/esm/types/Definitions/Global/Drivers.d.ts +4 -3
- package/dist/esm/types/Definitions/Global/Drivers.d.ts.map +1 -1
- package/dist/esm/types/Definitions/Global/Events.d.ts.map +1 -1
- package/dist/esm/types/Devices/Elk/ElkAlarmSensorDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/EndpointFor.d.ts +2 -2
- package/dist/esm/types/Devices/Insteon/InsteonBaseDevice.d.ts +3 -3
- package/dist/esm/types/Devices/Insteon/InsteonBaseDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts +4 -4
- package/dist/esm/types/Devices/Insteon/InsteonFanDevice.d.ts +5 -4
- package/dist/esm/types/Devices/Insteon/InsteonFanDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonRelayDevice.d.ts +2 -4
- package/dist/esm/types/Devices/Insteon/InsteonRelayDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/RelayLampSwitch.d.ts +93 -0
- package/dist/esm/types/Devices/Insteon/RelayLampSwitch.d.ts.map +1 -0
- package/dist/esm/types/ISY.d.ts +27 -21
- package/dist/esm/types/ISY.d.ts.map +1 -1
- package/dist/esm/types/ISYNode.d.ts +4 -4
- package/dist/esm/types/ISYNode.d.ts.map +1 -1
- package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts +16 -6
- package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts.map +1 -1
- package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts +13 -11
- package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts.map +1 -1
- package/dist/esm/types/Matter/Behaviors/ISYOnOffBehavior.d.ts +4 -4
- package/dist/esm/types/Matter/Behaviors/ISYOnOffBehavior.d.ts.map +1 -1
- package/dist/esm/types/Matter/Bridge/Server.d.ts +27 -0
- package/dist/esm/types/Matter/Bridge/Server.d.ts.map +1 -0
- package/dist/esm/types/Matter/Mappings/register.d.ts +2 -0
- package/dist/esm/types/Matter/Mappings/register.d.ts.map +1 -0
- package/dist/esm/types/Model/ClusterMap.d.ts +19 -11
- package/dist/esm/types/Model/ClusterMap.d.ts.map +1 -1
- package/dist/esm/types/Utils.d.ts +3 -5
- package/dist/esm/types/Utils.d.ts.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +4 -6
- package/src/Converters.ts +137 -69
- package/src/Definitions/Global/Drivers.ts +16 -7
- package/src/Definitions/Global/Events.ts +4 -3
- package/src/Devices/Elk/ElkAlarmPanelDevice.ts +3 -3
- package/src/Devices/Elk/ElkAlarmSensorDevice.ts +15 -21
- package/src/Devices/Insteon/Generated/RelayLamp.ts +8 -7
- package/src/Devices/Insteon/InsteonBaseDevice.ts +10 -9
- package/src/Devices/Insteon/InsteonFanDevice.ts +16 -11
- package/src/Devices/Insteon/InsteonMotionSensorDevice.ts +5 -5
- package/src/Devices/Insteon/InsteonRelayDevice.ts +3 -5
- package/src/Devices/Insteon/RelayLampSwitch.ts +131 -0
- package/src/ISY.ts +87 -61
- package/src/ISYNode.ts +17 -14
- package/src/ISYScene.ts +3 -3
- package/src/Matter/Behaviors/ISYBridgedDeviceBehavior.ts +29 -11
- package/src/Matter/Behaviors/ISYClusterBehavior.ts +46 -28
- package/src/Matter/Behaviors/ISYOnOffBehavior.ts +50 -64
- package/src/Matter/{Server → Bridge}/Server.ts +87 -59
- package/src/Matter/Mappings/Insteon.ts +53 -60
- package/src/Matter/Mappings/register.ts +0 -0
- package/src/Model/ClassDefinition.ts +1 -1
- package/src/Model/ClusterMap.ts +31 -22
- package/src/Utils.ts +62 -19
- package/tsconfig.json +2 -2
- package/dist/cjs/Matter/Server/Server.js.map +0 -1
- package/dist/cjs/types/Matter/Server/Server.d.ts +0 -4
- package/dist/cjs/types/Matter/Server/Server.d.ts.map +0 -1
- package/dist/esm/Matter/Server/Server.js.map +0 -1
- package/dist/esm/types/Matter/Server/Server.d.ts +0 -4
- package/dist/esm/types/Matter/Server/Server.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapsTo.js","sourceRoot":"","sources":["../../../src/Devices/MapsTo.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Devices/NCD/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAExC,MAAM,OAAO,IAA6E,SAAQ,OAAyB;CAAG"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Family, ISY } from '../ISY.js';
|
|
2
|
+
import { ISYNode } from '../ISYNode.js';
|
|
3
|
+
import { isDynamic } from '../Model/NodeInfo.js';
|
|
4
|
+
export var NodeFactory;
|
|
5
|
+
(function (NodeFactory) {
|
|
6
|
+
NodeFactory.registry = {};
|
|
7
|
+
function register(nodeClass, id = nodeClass.nodeDefId) {
|
|
8
|
+
let s;
|
|
9
|
+
s = NodeFactory.registry[Family[nodeClass.family]] ?? (NodeFactory.registry[nodeClass.family] = new Map());
|
|
10
|
+
s.set(nodeClass.nodeDefId, nodeClass);
|
|
11
|
+
}
|
|
12
|
+
NodeFactory.register = register;
|
|
13
|
+
function getForNodeDefId(family, nodeDefId) {
|
|
14
|
+
return NodeFactory.registry[family]?.get(nodeDefId);
|
|
15
|
+
}
|
|
16
|
+
NodeFactory.getForNodeDefId = getForNodeDefId;
|
|
17
|
+
function getForNLSId(family, nodeDefId) {
|
|
18
|
+
return NodeFactory.registry[family].get(nodeDefId);
|
|
19
|
+
}
|
|
20
|
+
NodeFactory.getForNLSId = getForNLSId;
|
|
21
|
+
async function get(node, isy = ISY.instance) {
|
|
22
|
+
if (!isDynamic(node)) {
|
|
23
|
+
return Promise.resolve(getForNodeDefId(Family[node.family], node.nodeDefId));
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
var nd = getForNodeDefId(Family[node.family], node.sgid);
|
|
27
|
+
if (nd) {
|
|
28
|
+
return Promise.resolve(nd);
|
|
29
|
+
}
|
|
30
|
+
let n = (await isy.sendRequest(`zmatter/${node.family == Family.ZWave ? "zwave" : "zb"}/node/${node.address}/def/get?full=true`));
|
|
31
|
+
let cls = ISYNode;
|
|
32
|
+
NodeFactory.register(cls, n.nls);
|
|
33
|
+
return cls;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
NodeFactory.get = get;
|
|
37
|
+
async function create(nodeInfo, isy = ISY.instance) {
|
|
38
|
+
const nodeClass = await get(nodeInfo);
|
|
39
|
+
if (nodeClass.name !== "ISYNode") {
|
|
40
|
+
return new nodeClass(isy, nodeInfo);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
throw new Error(`No class found for ${nodeInfo.family}.${nodeInfo.nodeDefId}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
NodeFactory.create = create;
|
|
47
|
+
})(NodeFactory || (NodeFactory = {}));
|
|
48
|
+
//# sourceMappingURL=NodeFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeFactory.js","sourceRoot":"","sources":["../../../src/Devices/NodeFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACxC,OAAQ,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAiB,MAAM,sBAAsB,CAAC;AAMhE,MAAM,KAAW,WAAW,CAqD3B;AArDD,WAAiB,WAAW;IACd,oBAAQ,GAAsB,EAAE,CAAC;IAK9C,SAAgB,QAAQ,CAAgC,SAA4D,EAAE,KAAa,SAAS,CAAC,SAAS;QACrJ,IAAI,CAA8C,CAAC;QAEnD,CAAC,GAAG,YAAA,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;QACnF,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;IALe,oBAAQ,WAKvB,CAAA;IAED,SAAgB,eAAe,CAAgC,MAAS,EAAE,SAAiB;QAC1F,OAAO,YAAA,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAFe,2BAAe,kBAE9B,CAAA;IAED,SAAgB,WAAW,CAAgC,MAAS,EAAE,SAAiB;QACtF,OAAO,YAAA,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAFe,uBAAW,cAE1B,CAAA;IAEM,KAAK,UAAU,GAAG,CAAgC,IAAgC,EAAE,MAAW,GAAG,CAAC,QAAQ;QACjH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EACpB,CAAC;YACA,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACnF,CAAC;aAEI,CAAC;YACL,IAAI,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,EAAE,EAAE,CAAC;gBACR,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,WAAW,CAC7B,WAAW,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,CAAC,OAAO,oBAAoB,CAChG,CAAY,CAAC;YACd,IAAI,GAAG,GAAG,OAAO,CAAC;YACf,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO,GAAG,CAAC;QAGZ,CAAC;IACF,CAAC;IApBqB,eAAG,MAoBxB,CAAA;IAIM,KAAK,UAAU,MAAM,CAAmB,QAAqB,EAAE,MAAW,GAAG,CAAC,QAAQ;QAC5F,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAsD,CAAC;QAC3F,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,IAAI,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QAChF,CAAC;IACF,CAAC;IAPqB,kBAAM,SAO3B,CAAA;AACF,CAAC,EArDgB,WAAW,KAAX,WAAW,QAqD3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Devices/Poly/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAExC,MAAM,OAAO,IAA6E,SAAQ,OAAyB;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Devices/Scene/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAExC,MAAM,OAAO,IAA6E,SAAQ,OAAyB;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Devices/UDI/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAExC,MAAM,OAAO,IAA6E,SAAQ,OAAyB;CAAG"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { byteToDegree, byteToPct, pctToByte } from '../../Utils.js';
|
|
2
|
+
import { ISYDeviceNode } from '../ISYDeviceNode.js';
|
|
3
|
+
import 'winston';
|
|
4
|
+
// import { InsteonNLS } from './insteonfam'
|
|
5
|
+
export class ZWaveBaseDevice extends ISYDeviceNode {
|
|
6
|
+
async getNodeDef() {
|
|
7
|
+
return this.isy.sendRequest(`zmatter/zwave/node/${this.address}/def/get?full=true`);
|
|
8
|
+
}
|
|
9
|
+
convertFrom(value, uom) {
|
|
10
|
+
switch (uom) {
|
|
11
|
+
case 101:
|
|
12
|
+
return byteToDegree(value);
|
|
13
|
+
case 100:
|
|
14
|
+
return byteToPct(value);
|
|
15
|
+
case 17:
|
|
16
|
+
return value / 10;
|
|
17
|
+
default:
|
|
18
|
+
return super.convertFrom(value, uom);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
convertTo(value, uom) {
|
|
22
|
+
const nuom = super.convertTo(value, uom);
|
|
23
|
+
switch (uom) {
|
|
24
|
+
case 101:
|
|
25
|
+
return nuom * 2;
|
|
26
|
+
case 100:
|
|
27
|
+
return pctToByte(nuom);
|
|
28
|
+
case 17:
|
|
29
|
+
return Math.round(value * 10);
|
|
30
|
+
default:
|
|
31
|
+
return nuom;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async sendBeep(level = 100) {
|
|
35
|
+
return this.sendCommand;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=ZWaveBaseDevice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZWaveBaseDevice.js","sourceRoot":"","sources":["../../../../src/Devices/ZWave/ZWaveBaseDevice.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,SAAS,CAAC;AAIjB,4CAA4C;AAC5C,MAAM,OAAO,eAAmG,SAAQ,aAA8D;IAE9K,KAAK,CAAC,UAAU;QAEtB,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,sBAAsB,IAAI,CAAC,OAAO,oBAAoB,CAAC,CAAA;IACpF,CAAC;IAGe,WAAW,CAAC,KAAU,EAAE,GAAW;QAClD,QAAQ,GAAG,EAAE,CAAC;YACb,KAAK,GAAG;gBACP,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;YAC5B,KAAK,GAAG;gBACP,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;YACzB,KAAK,EAAE;gBACN,OAAO,KAAK,GAAG,EAAE,CAAC;YACnB;gBACC,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;IACe,SAAS,CAAC,KAAU,EAAE,GAAW;QAChD,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACzC,QAAQ,GAAG,EAAE,CAAC;YACb,KAAK,GAAG;gBACP,OAAO,IAAI,GAAG,CAAC,CAAC;YACjB,KAAK,GAAG;gBACP,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,KAAK,EAAE;gBACN,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YAC/B;gBACC,OAAO,IAAI,CAAC;QACd,CAAC;IACF,CAAC;IACM,KAAK,CAAC,QAAQ,CAAC,QAAgB,GAAG;QACxC,OAAO,IAAI,CAAC,WAAW,CAAA;IACxB,CAAC;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZWaveDimmerSwitchDevice.js","sourceRoot":"","sources":["../../../../src/Devices/ZWave/ZWaveDimmerSwitchDevice.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,SAAS,CAAC;AAEjB,MAAM,OAAO,uBAAwB,SAAQ,eAAe;IAC3D,YAAa,GAAQ,EAAE,UAAe;QACrC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACxB,CAAC;CACD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Commands, States } from '../../ISYConstants.js';
|
|
2
|
+
import { ZWaveBaseDevice } from './ZWaveBaseDevice.js';
|
|
3
|
+
import 'winston';
|
|
4
|
+
export class ZwaveLockDevice extends ZWaveBaseDevice {
|
|
5
|
+
constructor(isy, deviceNode) {
|
|
6
|
+
super(isy, deviceNode);
|
|
7
|
+
}
|
|
8
|
+
sendLockCommand(lockState, resultHandler) {
|
|
9
|
+
this.sendNonSecureLockCommand(lockState);
|
|
10
|
+
this.sendSecureLockCommand(lockState);
|
|
11
|
+
}
|
|
12
|
+
get isLocked() {
|
|
13
|
+
return this.drivers.ST.value > 0;
|
|
14
|
+
}
|
|
15
|
+
async updateIsLocked(isLocked) {
|
|
16
|
+
//return super.updateState(isLocked);
|
|
17
|
+
}
|
|
18
|
+
async sendNonSecureLockCommand(lockState) {
|
|
19
|
+
if (lockState) {
|
|
20
|
+
return this.isy.sendNodeCommand(this, Commands.Lock.Lock);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
return this.isy.sendNodeCommand(this, Commands.Lock.Unlock);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
async sendSecureLockCommand(lockState) {
|
|
27
|
+
if (lockState) {
|
|
28
|
+
return this.isy.sendNodeCommand(this, Commands.On, States.SecureLock.Secured);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
return this.isy.sendNodeCommand(this, Commands.On, States.SecureLock.NotSecured);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=ZWaveLockDevice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ZWaveLockDevice.js","sourceRoot":"","sources":["../../../../src/Devices/ZWave/ZWaveLockDevice.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,SAAS,CAAC;AAGjB,MAAM,OAAO,eAAgB,SAAQ,eAAe;IACnD,YAAa,GAAQ,EAAE,UAAe;QAErC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACxB,CAAC;IACM,eAAe,CAAC,SAAc,EAAE,aAAkB;QAEvD,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAEzC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAExC,CAAC;IACD,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,QAAiB;QAC5C,qCAAqC;IACtC,CAAC;IAEM,KAAK,CAAC,wBAAwB,CAAC,SAAc;QACnD,IAAI,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;aACI,CAAC;YACL,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,CAAC;IACF,CAAC;IACM,KAAK,CAAC,qBAAqB,CAAC,SAAc;QAChD,IAAI,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/E,CAAC;aACI,CAAC;YACL,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAClF,CAAC;IACF,CAAC;CACD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Family as FamilyEnum } from '../../Definitions/index.js';
|
|
2
|
+
import { ISYNode } from '../../ISYNode.js';
|
|
3
|
+
import { NodeFactory } from '../NodeFactory.js';
|
|
4
|
+
export class Base extends ISYNode {
|
|
5
|
+
constructor(isy, nodeInfo) {
|
|
6
|
+
super(isy, nodeInfo);
|
|
7
|
+
this.family = FamilyEnum.ZWave;
|
|
8
|
+
}
|
|
9
|
+
async getNodeDef() {
|
|
10
|
+
return this.isy.sendRequest(`zmatter/zwave/node/${this.address}/def/get?full=true`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export async function create(...nodeInfo) {
|
|
14
|
+
let nodes = [];
|
|
15
|
+
for (const node of nodeInfo) {
|
|
16
|
+
nodes.push(await NodeFactory.create(node));
|
|
17
|
+
}
|
|
18
|
+
return nodes;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Devices/ZWave/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,MAAM,OAAO,IAA2F,SAAQ,OAA4C;IAC3J,YAAY,GAAQ,EAAE,QAAkB;QAEvC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,UAAU;QAEtB,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,sBAAsB,IAAI,CAAC,OAAO,oBAAoB,CAAC,CAAA;IACpF,CAAC;CAGD;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,GAAG,QAAsC;IAErE,IAAI,KAAK,GAAG,EAAsB,CAAC;IAEnC,KAAI,MAAM,IAAI,IAAI,QAAQ,EAC1B,CAAC;QACA,KAAK,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAA8B,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Insteon } from "./Insteon/index.js";
|
|
2
|
+
import { ZWaveBaseDevice } from "./ZWave/ZWaveBaseDevice.js";
|
|
3
|
+
export const Devices = {
|
|
4
|
+
Insteon: Insteon,
|
|
5
|
+
ZWave: { Base: ZWaveBaseDevice },
|
|
6
|
+
ZigBee: {},
|
|
7
|
+
};
|
|
8
|
+
export default Devices;
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Devices/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;IAChC,MAAM,EAAE,EAAE;CAEX,CAAA;AAaD,eAAe,OAAO,CAAC"}
|
package/dist/esm/ISY.js
CHANGED
|
@@ -2,10 +2,9 @@ import WebSocket from 'faye-websocket';
|
|
|
2
2
|
import { writeFile } from 'fs';
|
|
3
3
|
import { Parser } from 'xml2js';
|
|
4
4
|
import { parseBooleans, parseNumbers } from 'xml2js/lib/processors.js';
|
|
5
|
-
import { XmlDocument } from 'xmldoc';
|
|
6
5
|
import axios from 'axios';
|
|
7
6
|
import { EventEmitter } from 'events';
|
|
8
|
-
import
|
|
7
|
+
import { format, Logger, loggers } from 'winston';
|
|
9
8
|
import { Category } from './Definitions/Global/Categories.js';
|
|
10
9
|
import { Family } from './Definitions/Global/Families.js';
|
|
11
10
|
import { DeviceFactory } from './Devices/DeviceFactory.js';
|
|
@@ -28,15 +27,17 @@ import { InsteonOnOffOutletDevice } from './Devices/Insteon/InsteonOnOffOutletDe
|
|
|
28
27
|
import { InsteonRelayDevice } from './Devices/Insteon/InsteonRelayDevice.js';
|
|
29
28
|
import { InsteonSmokeSensorDevice } from './Devices/Insteon/InsteonSmokeSensorDevice.js';
|
|
30
29
|
import { InsteonThermostatDevice } from './Devices/Insteon/InsteonThermostatDevice.js';
|
|
30
|
+
import { ISYDeviceNode } from './Devices/ISYDeviceNode.js';
|
|
31
31
|
import { EventType } from './Events/EventType.js';
|
|
32
32
|
import { NodeType, Props, States, VariableType } from './ISYConstants.js';
|
|
33
33
|
import { ISYNode } from './ISYNode.js';
|
|
34
|
-
import { ISYDeviceNode } from './Devices/ISYDeviceNode.js';
|
|
35
34
|
import { ISYScene } from './ISYScene.js';
|
|
36
35
|
import { ISYVariable } from './ISYVariable.js';
|
|
37
36
|
import * as Utils from './Utils.js';
|
|
38
37
|
import { XMLParser } from 'fast-xml-parser';
|
|
39
38
|
import { NodeFactory } from './Devices/NodeFactory.js';
|
|
39
|
+
import { findPackageJson } from './Utils.js';
|
|
40
|
+
import path from 'path';
|
|
40
41
|
export { Category as Categories, ELKAlarmPanelDevice, ElkAlarmSensorDevice, Family, InsteonBaseDevice, InsteonDimmableDevice, InsteonDimmerOutletDevice, InsteonDimmerSwitchDevice, InsteonDoorWindowSensorDevice, InsteonFanDevice, InsteonFanMotorDevice, InsteonKeypadButtonDevice, InsteonKeypadDimmerDevice, InsteonKeypadRelayDevice, InsteonLeakSensorDevice, InsteonLockDevice, InsteonMotionSensorDevice, InsteonOnOffOutletDevice, InsteonOutletDevice, InsteonRelayDevice, InsteonSmokeSensorDevice, InsteonThermostatDevice, ISYDeviceNode as ISYDevice, ISYNode, ISYScene, ISYVariable, NodeType, Props, States, Utils, VariableType };
|
|
41
42
|
const defaultParserOptions = {
|
|
42
43
|
explicitArray: false,
|
|
@@ -103,9 +104,10 @@ export class ISY extends EventEmitter {
|
|
|
103
104
|
nodesLoaded = false;
|
|
104
105
|
productId = 5226;
|
|
105
106
|
productName = 'eisy';
|
|
106
|
-
|
|
107
|
+
firmwareVersion;
|
|
107
108
|
vendorName = 'Universal Devices, Inc.';
|
|
108
109
|
webSocket;
|
|
110
|
+
apiVersion;
|
|
109
111
|
// #endregion Properties (30)
|
|
110
112
|
// #region Constructors (1)
|
|
111
113
|
constructor(config, logger = new Logger(), storagePath) {
|
|
@@ -147,7 +149,10 @@ export class ISY extends EventEmitter {
|
|
|
147
149
|
return this.logger?.isDebugEnabled();
|
|
148
150
|
}
|
|
149
151
|
// #endregion Public Getters And Setters (2)
|
|
150
|
-
// #region Public Methods (
|
|
152
|
+
// #region Public Methods (24)
|
|
153
|
+
[Symbol.dispose]() {
|
|
154
|
+
this.close();
|
|
155
|
+
}
|
|
151
156
|
emit(event, node) {
|
|
152
157
|
return super.emit(event, node);
|
|
153
158
|
}
|
|
@@ -165,6 +170,9 @@ export class ISY extends EventEmitter {
|
|
|
165
170
|
}
|
|
166
171
|
return s;
|
|
167
172
|
}
|
|
173
|
+
getElkAlarmPanel() {
|
|
174
|
+
return this.elkAlarmPanel;
|
|
175
|
+
}
|
|
168
176
|
getNode(address, parentsOnly = false) {
|
|
169
177
|
let s = this.nodeMap.get(address);
|
|
170
178
|
if (!parentsOnly) {
|
|
@@ -179,9 +187,6 @@ export class ISY extends EventEmitter {
|
|
|
179
187
|
}
|
|
180
188
|
return s;
|
|
181
189
|
}
|
|
182
|
-
getElkAlarmPanel() {
|
|
183
|
-
return this.elkAlarmPanel;
|
|
184
|
-
}
|
|
185
190
|
getScene(address) {
|
|
186
191
|
return this.sceneList.get(address);
|
|
187
192
|
}
|
|
@@ -196,7 +201,7 @@ export class ISY extends EventEmitter {
|
|
|
196
201
|
return this.variableList;
|
|
197
202
|
}
|
|
198
203
|
async handleInitializeError(step, reason) {
|
|
199
|
-
this.logger.error(`Error initializing ISY (${step}): ${
|
|
204
|
+
this.logger.error(`Error initializing ISY (${step}): ${Utils.logStringify(reason)}`);
|
|
200
205
|
return Promise.reject(reason);
|
|
201
206
|
}
|
|
202
207
|
handleWebSocketMessage(event) {
|
|
@@ -242,24 +247,29 @@ export class ISY extends EventEmitter {
|
|
|
242
247
|
}
|
|
243
248
|
break;
|
|
244
249
|
case EventType.Heartbeat:
|
|
245
|
-
this.logger.debug(`Received ${EventType[Number(stringControl)]} Signal from ISY: ${
|
|
250
|
+
this.logger.debug(`Received ${EventType[Number(stringControl)]} Signal from ISY: ${Utils.logStringify(evt)}`);
|
|
246
251
|
break;
|
|
247
252
|
default:
|
|
248
253
|
if (evt.node !== '' && evt.node !== undefined && evt.node !== null) {
|
|
249
254
|
//
|
|
250
255
|
const impactedDevice = this.getNode(evt.node);
|
|
251
256
|
if (impactedDevice !== undefined && impactedDevice !== null) {
|
|
252
|
-
|
|
257
|
+
try {
|
|
258
|
+
impactedDevice.handleEvent(evt);
|
|
259
|
+
}
|
|
260
|
+
catch (e) {
|
|
261
|
+
this.logger.error(`Error handling event for ${impactedDevice.name}: ${e.message}`);
|
|
262
|
+
}
|
|
253
263
|
}
|
|
254
264
|
else {
|
|
255
|
-
this.logger.
|
|
265
|
+
this.logger.debug(`${EventType[stringControl]} Event for Unidentified Device: ${JSON.stringify(evt)}`);
|
|
256
266
|
}
|
|
257
267
|
}
|
|
258
268
|
else {
|
|
259
269
|
if (stringControl === EventType.NodeChanged) {
|
|
260
|
-
this.logger.
|
|
270
|
+
this.logger.debug(`Received Node Change Event: ${JSON.stringify(evt)}. These are currently unsupported.`);
|
|
261
271
|
}
|
|
262
|
-
this.logger.debug(`${EventType[Number(stringControl)]} Event: ${
|
|
272
|
+
this.logger.debug(`${EventType[Number(stringControl)]} Event: ${Utils.logStringify(evt)}`);
|
|
263
273
|
}
|
|
264
274
|
break;
|
|
265
275
|
}
|
|
@@ -268,6 +278,7 @@ export class ISY extends EventEmitter {
|
|
|
268
278
|
async initialize() {
|
|
269
279
|
const that = this;
|
|
270
280
|
try {
|
|
281
|
+
this.apiVersion = (await findPackageJson()).version;
|
|
271
282
|
await this.loadConfig();
|
|
272
283
|
await this.loadNodes();
|
|
273
284
|
await this.loadVariables(VariableType.Integer);
|
|
@@ -332,16 +343,15 @@ export class ISY extends EventEmitter {
|
|
|
332
343
|
this.logger.info('Loading ISY Config');
|
|
333
344
|
const configuration = (await this.sendRequest('config')).configuration;
|
|
334
345
|
if (this.isDebugEnabled) {
|
|
335
|
-
writeFile(this.storagePath
|
|
346
|
+
writeFile(path.resolve(this.storagePath, 'ISYConfigDump.json'), JSON.stringify(configuration), this.logger.error);
|
|
336
347
|
}
|
|
337
348
|
const controls = configuration.controls;
|
|
338
349
|
this.model = configuration.deviceSpecs.model;
|
|
339
|
-
this.
|
|
350
|
+
this.firmwareVersion = configuration.app_full_version;
|
|
340
351
|
this.vendorName = configuration.deviceSpecs.make;
|
|
341
352
|
this.productId = configuration.product.id;
|
|
342
353
|
this.productName = configuration.product.desc;
|
|
343
354
|
this.id = configuration.root.id;
|
|
344
|
-
// TODO: Check Installed Features
|
|
345
355
|
// this.logger.info(result.configuration);
|
|
346
356
|
if (controls !== undefined) {
|
|
347
357
|
// this.logger.info(controls.control);
|
|
@@ -466,10 +476,10 @@ export class ISY extends EventEmitter {
|
|
|
466
476
|
return this.sendRequest(uriToUse);
|
|
467
477
|
}
|
|
468
478
|
async sendRequest(url, options = { trailingSlash: true }) {
|
|
469
|
-
const requestLogLevel = options.requestLogLevel ??
|
|
470
|
-
const responseLogLevel = options.responseLogLevel ??
|
|
479
|
+
const requestLogLevel = options.requestLogLevel ?? 'debug';
|
|
480
|
+
const responseLogLevel = options.responseLogLevel ?? 'silly';
|
|
471
481
|
url = `${this.protocol}://${this.address}/rest/${url}${options.trailingSlash ? '/' : ''}`;
|
|
472
|
-
this.logger.log(`Sending request: ${url}
|
|
482
|
+
this.logger.log(requestLogLevel, `Sending request: ${url}`);
|
|
473
483
|
try {
|
|
474
484
|
const response = await axios.get(url, {
|
|
475
485
|
auth: { username: this.credentials.username, password: this.credentials.password }
|
|
@@ -481,22 +491,26 @@ export class ISY extends EventEmitter {
|
|
|
481
491
|
curParser = new Parser({ ...defaultParserOptions, ...options.parserOptions });
|
|
482
492
|
var altParser = new XMLParser(defaultXMLParserOptions);
|
|
483
493
|
var s = altParser.parse(response.data);
|
|
484
|
-
this.logger.log(`Response: ${JSON.stringify(s)}
|
|
494
|
+
this.logger.log(requestLogLevel ?? 'debug', `Response: ${JSON.stringify(s)}`);
|
|
485
495
|
return s;
|
|
486
496
|
}
|
|
487
497
|
else if (response.headers['content-type'].toString().includes('json')) {
|
|
488
|
-
this.logger.log(`Response: ${JSON.stringify(response.data)}
|
|
498
|
+
this.logger.log(responseLogLevel ?? 'debug', `Response: ${JSON.stringify(response.data)}`);
|
|
489
499
|
return JSON.parse(response.data);
|
|
490
500
|
}
|
|
491
501
|
else {
|
|
492
|
-
this.logger.log(`Response Header: ${JSON.stringify(response.headers)} Response: ${JSON.stringify(response.data)}
|
|
502
|
+
this.logger.log(responseLogLevel ?? 'debug', `Response Header: ${JSON.stringify(response.headers)} Response: ${JSON.stringify(response.data)}`);
|
|
493
503
|
return response.data;
|
|
494
504
|
}
|
|
495
505
|
}
|
|
496
506
|
}
|
|
497
507
|
catch (error) {
|
|
498
|
-
|
|
499
|
-
|
|
508
|
+
if (options.errorLogLevel) {
|
|
509
|
+
this.logger.log(options.errorLogLevel, `Error sending request to ISY: ${error?.message}`);
|
|
510
|
+
}
|
|
511
|
+
else {
|
|
512
|
+
this.logger.error(`Error sending request to ISY: ${error?.message}`);
|
|
513
|
+
}
|
|
500
514
|
}
|
|
501
515
|
}
|
|
502
516
|
async sendSetVariable(id, type, value, handleResult) {
|
|
@@ -504,10 +518,18 @@ export class ISY extends EventEmitter {
|
|
|
504
518
|
this.logger.info(`Sending ISY command...${uriToUse}`);
|
|
505
519
|
return this.sendRequest(uriToUse);
|
|
506
520
|
}
|
|
507
|
-
variableChangedHandler(variable) {
|
|
521
|
+
#variableChangedHandler(variable) {
|
|
508
522
|
this.logger.info(`Variable: ${variable.id} (${variable.type}) changed`);
|
|
509
523
|
}
|
|
510
|
-
|
|
524
|
+
close() {
|
|
525
|
+
try {
|
|
526
|
+
this.webSocket?.close();
|
|
527
|
+
}
|
|
528
|
+
catch (e) {
|
|
529
|
+
this.logger.error(`Error closing websocket: ${e.message}`);
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
// #endregion Public Methods (24)
|
|
511
533
|
// #region Private Methods (11)
|
|
512
534
|
#checkForFailure(response) {
|
|
513
535
|
return response === null || response instanceof Error || (response.RestResponse !== undefined && response.RestResponse.status !== 200);
|
|
@@ -538,11 +560,12 @@ export class ISY extends EventEmitter {
|
|
|
538
560
|
}
|
|
539
561
|
}
|
|
540
562
|
}
|
|
541
|
-
#guardian() {
|
|
563
|
+
async #guardian() {
|
|
542
564
|
const timeNow = new Date();
|
|
543
565
|
if (Number(timeNow) - Number(this.lastActivity) > 60000) {
|
|
544
566
|
this.logger.info('Guardian: Detected no activity in more then 60 seconds. Reinitializing web sockets');
|
|
545
|
-
this.
|
|
567
|
+
await this.refreshStatuses();
|
|
568
|
+
await this.initializeWebSocket();
|
|
546
569
|
}
|
|
547
570
|
}
|
|
548
571
|
#loadElkInitialStatus(result) {
|
|
@@ -570,17 +593,17 @@ export class ISY extends EventEmitter {
|
|
|
570
593
|
}
|
|
571
594
|
});
|
|
572
595
|
}
|
|
573
|
-
#loadElkNodes(result) {
|
|
596
|
+
/* #loadElkNodes(result: any) {
|
|
574
597
|
const document = new XmlDocument(result);
|
|
575
598
|
const nodes = document.childNamed('areas').childNamed('area').childrenNamed('zone');
|
|
576
599
|
for (let index = 0; index < nodes.length; index++) {
|
|
577
600
|
const id = nodes[index].attr.id;
|
|
578
601
|
const name = nodes[index].attr.name;
|
|
579
602
|
const alarmDef = nodes[index].attr.alarmDef;
|
|
580
|
-
const newDevice = new ElkAlarmSensorDevice(this, name, 1, id
|
|
603
|
+
const newDevice = new ElkAlarmSensorDevice(this, name, 1, id TODO: Handle CO Sensor vs. Door/Window Sensor );
|
|
581
604
|
this.zoneMap[newDevice.zone] = newDevice;
|
|
582
605
|
}
|
|
583
|
-
}
|
|
606
|
+
} */
|
|
584
607
|
async #readDeviceNodes(obj) {
|
|
585
608
|
this.logger.info('Loading Device Nodes');
|
|
586
609
|
for (const nodeInfo of obj.nodes.node) {
|
|
@@ -648,7 +671,7 @@ export class ISY extends EventEmitter {
|
|
|
648
671
|
this.logger.info('Loading Folder Nodes');
|
|
649
672
|
if (result?.nodes?.folder) {
|
|
650
673
|
for (const folder of result.nodes.folder) {
|
|
651
|
-
this.logger.
|
|
674
|
+
this.logger.debug(`Loading Folder Node: ${JSON.stringify(folder)}`);
|
|
652
675
|
this.folderMap.set(folder.address, folder.name);
|
|
653
676
|
}
|
|
654
677
|
}
|
|
@@ -681,13 +704,5 @@ export class ISY extends EventEmitter {
|
|
|
681
704
|
}
|
|
682
705
|
}
|
|
683
706
|
}
|
|
684
|
-
[Symbol.dispose]() {
|
|
685
|
-
try {
|
|
686
|
-
this.webSocket.close();
|
|
687
|
-
}
|
|
688
|
-
catch (e) {
|
|
689
|
-
this.logger.error(`Error closing websocket: ${e.message}`);
|
|
690
|
-
}
|
|
691
|
-
}
|
|
692
707
|
}
|
|
693
708
|
//# sourceMappingURL=ISY.js.map
|
package/dist/esm/ISY.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ISY.js","sourceRoot":"","sources":["../../src/ISY.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ISY.js","sourceRoot":"","sources":["../../src/ISY.ts"],"names":[],"mappings":"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"}
|