isy-nodejs 1.0.1-alpha.5 → 1.0.1-alpha.9
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 +1 -1
- package/dist/cjs/Devices/Insteon/InsteonBaseDevice.js.map +1 -1
- package/dist/cjs/Devices/Insteon/InsteonFanDevice.js +5 -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 -9
- 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 +36 -27
- package/dist/cjs/ISY.js.map +1 -1
- package/dist/cjs/ISYNode.js +12 -9
- 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 +9 -7
- package/dist/cjs/Matter/Behaviors/ISYOnOffBehavior.js.map +1 -1
- package/dist/cjs/Matter/{Server → Bridge}/Server.js +31 -45
- 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 +0 -9
- package/dist/cjs/Utils.js.map +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/InsteonDevice.d.ts +4 -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 +21 -18
- 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 +17 -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 +0 -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 +2 -2
- package/dist/esm/Devices/Insteon/InsteonBaseDevice.js.map +1 -1
- 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/InsteonFanDevice.js +5 -3
- package/dist/esm/Devices/Insteon/InsteonFanDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonKeypadDimmerDevice.js +8 -0
- package/dist/esm/Devices/Insteon/InsteonKeypadDimmerDevice.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonMotionSensorDevice.js +5 -5
- package/dist/esm/Devices/Insteon/InsteonRelayDevice.js +3 -9
- package/dist/esm/Devices/Insteon/InsteonRelayDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/RelayLampSwitch.js +68 -0
- package/dist/esm/Devices/Insteon/RelayLampSwitch.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 +35 -26
- package/dist/esm/ISY.js.map +1 -1
- package/dist/esm/ISYNode.js +13 -10
- 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 +10 -8
- package/dist/esm/Matter/Behaviors/ISYOnOffBehavior.js.map +1 -1
- package/dist/esm/Matter/{Server → Bridge}/Server.js +29 -44
- 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 +0 -8
- package/dist/esm/Utils.js.map +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/InsteonDevice.d.ts +4 -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 +21 -18
- 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 +17 -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 +0 -5
- package/dist/esm/types/Utils.d.ts.map +1 -1
- package/package.json +4 -7
- 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 +2 -2
- package/src/Devices/Insteon/InsteonFanDevice.ts +12 -10
- package/src/Devices/Insteon/InsteonMotionSensorDevice.ts +5 -5
- package/src/Devices/Insteon/InsteonRelayDevice.ts +3 -6
- package/src/Devices/Insteon/RelayLampSwitch.ts +131 -0
- package/src/ISY.ts +57 -42
- package/src/ISYNode.ts +14 -11
- 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 +49 -60
- package/src/Matter/{Server → Bridge}/Server.ts +50 -50
- 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 +1 -19
- package/tsconfig.json +2 -2
- package/LICENSE +0 -22
- 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
- package/dist/tsconfig.cjs.tsbuildinfo +0 -1
- package/dist/tsconfig.esm.tsbuildinfo +0 -1
package/dist/esm/Converters.js
CHANGED
|
@@ -1,76 +1,111 @@
|
|
|
1
|
-
import { UnitOfMeasure } from
|
|
2
|
-
import { invert } from './Utils.js';
|
|
1
|
+
import { UnitOfMeasure } from './Definitions/Global/UOM.js';
|
|
3
2
|
let BooleanPercentage;
|
|
3
|
+
let NullConverter;
|
|
4
|
+
{
|
|
5
|
+
to: (value) => value;
|
|
6
|
+
from: (value) => value;
|
|
7
|
+
}
|
|
4
8
|
BooleanPercentage = {
|
|
5
9
|
to: (value) => {
|
|
6
10
|
return value > 0;
|
|
7
11
|
},
|
|
8
12
|
from: (value) => {
|
|
9
13
|
return value ? 100 : 0;
|
|
10
|
-
}
|
|
14
|
+
}
|
|
11
15
|
};
|
|
12
16
|
const StandardConverters = {
|
|
13
17
|
Boolean: {
|
|
14
18
|
LevelFrom0To255: {
|
|
15
|
-
from: (value) => value > 0,
|
|
16
19
|
to: (value) => (value ? 255 : 0),
|
|
20
|
+
from: (value) => value > 0
|
|
17
21
|
},
|
|
18
|
-
Percent: BooleanPercentage
|
|
22
|
+
Percent: BooleanPercentage
|
|
19
23
|
},
|
|
20
24
|
Percent: {},
|
|
21
25
|
LevelFrom0To255: {
|
|
22
26
|
Percent: {
|
|
23
27
|
to: (value) => {
|
|
24
|
-
return Math.round((value * 255) / 100);
|
|
25
|
-
},
|
|
26
|
-
from: (value) => {
|
|
27
28
|
return Math.round((value * 100) / 255);
|
|
28
29
|
},
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
from: (value) => {
|
|
31
|
+
return Math.round((value * 255) / 100);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
31
35
|
};
|
|
32
36
|
StandardConverters.Percent.LevelFrom0To255 = invert(StandardConverters.LevelFrom0To255.Percent);
|
|
33
37
|
StandardConverters.LevelFrom0To255.Boolean = invert(StandardConverters.Boolean.LevelFrom0To255);
|
|
38
|
+
export const StdConverterRegistry = new Map();
|
|
34
39
|
export const ConverterRegistry = new Map();
|
|
35
40
|
function registerConverters() {
|
|
36
41
|
for (const from in StandardConverters) {
|
|
37
42
|
for (const to in StandardConverters[from]) {
|
|
38
43
|
registerConverter(UnitOfMeasure[from], UnitOfMeasure[to], StandardConverters[from][to]);
|
|
44
|
+
registerConverter(UnitOfMeasure[to], UnitOfMeasure[from], invert(StandardConverters[from][to]));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
for (const from in Converter.Matter) {
|
|
48
|
+
for (const to in Converter.Matter[from]) {
|
|
49
|
+
registerConverter(from, to, Converter.Matter[from][to]);
|
|
50
|
+
registerConverter(to, from, invert(Converter.Matter[from][to]));
|
|
39
51
|
}
|
|
40
52
|
}
|
|
41
53
|
}
|
|
42
54
|
export function registerConverter(from, to, converter) {
|
|
43
|
-
if (!
|
|
44
|
-
|
|
55
|
+
if (!StdConverterRegistry.has(from)) {
|
|
56
|
+
StdConverterRegistry.set(from, new Map());
|
|
57
|
+
}
|
|
58
|
+
StdConverterRegistry.get(from).set(to, converter);
|
|
59
|
+
let key = from + '.' + to;
|
|
60
|
+
if (!ConverterRegistry.has(key)) {
|
|
61
|
+
ConverterRegistry.set(key, converter);
|
|
45
62
|
}
|
|
46
|
-
ConverterRegistry.get(from).set(to, converter);
|
|
47
63
|
}
|
|
48
|
-
export var
|
|
49
|
-
(function (
|
|
50
|
-
|
|
51
|
-
|
|
64
|
+
export var Converter;
|
|
65
|
+
(function (Converter) {
|
|
66
|
+
Converter.Standard = StandardConverters;
|
|
67
|
+
Converter.Matter = {
|
|
52
68
|
LevelFrom0To255: {
|
|
53
69
|
LightingLevel: {
|
|
54
|
-
from: (value) =>
|
|
55
|
-
|
|
56
|
-
|
|
70
|
+
from: (value) => value === 1 ? 0
|
|
71
|
+
: value === 254 ? 255
|
|
72
|
+
: value,
|
|
73
|
+
to: (value) => value === 0 ? 1
|
|
74
|
+
: value === 255 ? 254
|
|
75
|
+
: value
|
|
76
|
+
}
|
|
57
77
|
}
|
|
58
78
|
};
|
|
59
|
-
function
|
|
60
|
-
|
|
61
|
-
|
|
79
|
+
function get(from, to) {
|
|
80
|
+
let isString = typeof from === 'string';
|
|
81
|
+
let fuom = isString ? UnitOfMeasure[from] : from;
|
|
82
|
+
if (to) {
|
|
83
|
+
let tuom = typeof to === 'string' ? UnitOfMeasure[to] : to;
|
|
84
|
+
if (StdConverterRegistry.has(fuom)) {
|
|
85
|
+
return StdConverterRegistry.get(fuom).get(tuom);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else if (typeof from === 'string') {
|
|
89
|
+
return ConverterRegistry.get(from);
|
|
62
90
|
}
|
|
63
|
-
return
|
|
91
|
+
return NullConverter;
|
|
64
92
|
}
|
|
65
|
-
|
|
93
|
+
Converter.get = get;
|
|
66
94
|
function convert(from, to, value) {
|
|
67
|
-
const converter =
|
|
95
|
+
const converter = get(from, to);
|
|
68
96
|
if (converter) {
|
|
69
97
|
return converter.to(value);
|
|
70
98
|
}
|
|
71
99
|
return null;
|
|
72
100
|
}
|
|
73
|
-
|
|
74
|
-
})(
|
|
101
|
+
Converter.convert = convert;
|
|
102
|
+
})(Converter || (Converter = {}));
|
|
75
103
|
registerConverters();
|
|
104
|
+
//type DriverLabel = Values<IdentityOf<DriverType>>;
|
|
105
|
+
export function invert(converter) {
|
|
106
|
+
return {
|
|
107
|
+
from: converter.to,
|
|
108
|
+
to: converter.from
|
|
109
|
+
};
|
|
110
|
+
}
|
|
76
111
|
//# sourceMappingURL=Converters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Converters.js","sourceRoot":"","sources":["../../src/Converters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Converters.js","sourceRoot":"","sources":["../../src/Converters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Converter } from '../../Converters.js';
|
|
1
2
|
export var DriverType;
|
|
2
3
|
(function (DriverType) {
|
|
3
4
|
DriverType["AccelerationXAxis"] = "ACCX";
|
|
@@ -256,12 +257,18 @@ export var Driver;
|
|
|
256
257
|
node.events.emit(`${this.name}Changed`, driver, this.state.value, previousValue, this.state.formattedValue);
|
|
257
258
|
return true;
|
|
258
259
|
},
|
|
259
|
-
patch(value, formattedValue, uom, prec, notify =
|
|
260
|
+
patch(value, formattedValue, uom, prec, notify = true) {
|
|
260
261
|
let previousValue = this.state.value;
|
|
261
262
|
this.state.formattedValue = formattedValue;
|
|
262
263
|
if (uom != this.uom) {
|
|
263
|
-
this.serverUom
|
|
264
|
-
this.state.value = converter ? converter.from(value) :
|
|
264
|
+
this.serverUom == uom;
|
|
265
|
+
this.state.value = converter ? converter.from(value) : Converter.convert(uom, this.uom, value);
|
|
266
|
+
}
|
|
267
|
+
else if (converter) {
|
|
268
|
+
this.state.value = converter.from(value);
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
this.state.value = value;
|
|
265
272
|
}
|
|
266
273
|
if (previousValue == this.state.value) {
|
|
267
274
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drivers.js","sourceRoot":"","sources":["../../../../src/Definitions/Global/Drivers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Drivers.js","sourceRoot":"","sources":["../../../../src/Definitions/Global/Drivers.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,8 +12,7 @@ export var Event;
|
|
|
12
12
|
Event.NodeEventEmitter = NodeEventEmitter;
|
|
13
13
|
function createEmitter(node) {
|
|
14
14
|
var f = new NodeEventEmitter(node);
|
|
15
|
-
for (let evt in node.
|
|
16
|
-
const ev = node.events[evt];
|
|
15
|
+
for (let evt in node.drivers) {
|
|
17
16
|
//f[`on${ev.name}`] = f.on.bind(f, ev.name);
|
|
18
17
|
}
|
|
19
18
|
return f;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Events.js","sourceRoot":"","sources":["../../../../src/Definitions/Global/Events.ts"],"names":[],"mappings":"AAEA,OAAO,YAAoB,MAAM,QAAQ,CAAC;AAW1C,8EAA8E;AAE9E,MAAM,KAAW,KAAK,
|
|
1
|
+
{"version":3,"file":"Events.js","sourceRoot":"","sources":["../../../../src/Definitions/Global/Events.ts"],"names":[],"mappings":"AAEA,OAAO,YAAoB,MAAM,QAAQ,CAAC;AAW1C,8EAA8E;AAE9E,MAAM,KAAW,KAAK,CAuIrB;AAvID,WAAiB,KAAK;IACrB,MAAM,EAAE,CAAC,GAAQ,EAAE,SAAc,EAAE,EAAE,CAAC,QAAkB,CAAC;IAiCzD,MAAa,gBAAwD,SAAQ,YAAY;QACzF,2BAA2B;QAE3B,YAAY,IAAO;YACjB,KAAK,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;QAErC,CAAC;KAGD;IATa,sBAAgB,mBAS7B,CAAA;IAEA,SAAgB,aAAa,CAC5B,IAAO;QAEP,IAAI,CAAC,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACnC,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAE9B,4CAA4C;QAC7C,CAAC;QAED,OAAO,CAAwF,CAAC;IACjG,CAAC;IAVe,mBAAa,gBAU5B,CAAA;IAED,MAAa,QAAQ;QACrB,yBAAyB;QAElB,MAAM,CAAU;QAChB,SAAS,CAAM;QAEtB,4BAA4B;QAE5B,2BAA2B;QAE3B,YAAY,SAAc;YACxB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACtC,CAAC;KAGF;IAhBa,cAAQ,WAgBrB,CAAA;IAEA,MAAa,SAAqD,SAAQ,QAAiC;QAC3G,yBAAyB;QAElB,WAAW,CAAS;QAE3B,4BAA4B;QAE5B,2BAA2B;QAE3B,YAAY,SAAc;YACxB,KAAK,CAAC,SAAS,CAAC,CAAC;YACjB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC;QACnC,CAAC;KAGF;IAfa,eAAS,YAetB,CAAA;IAEA,MAAa,aAAyD,SAAQ,QAAiC;QAC/G,yBAAyB;QAElB,YAAY,CAAS;QAE5B,4BAA4B;QAE5B,2BAA2B;QAE3B,YAAY,SAAc;YACxB,KAAK,CAAC,SAAS,CAAC,CAAC;YACjB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC;QACxC,CAAC;KAGF;IAfa,mBAAa,gBAe1B,CAAA;IAEA,MAAa,WAAuD,SAAQ,QAAiC;QAC7G,2BAA2B;QAE3B,YAAY,SAAc;YACxB,KAAK,CAAC,SAAS,CAAC,CAAC;QAClB,CAAC;KAGF;IARa,iBAAW,cAQxB,CAAA;IAEA,MAAa,WAAuD,SAAQ,QAAiC;QAC7G,yBAAyB;QAElB,aAAa,CAAS;QAE7B,4BAA4B;QAE5B,2BAA2B;QAE3B,YAAY,SAAc;YACxB,KAAK,CAAC,SAAS,CAAC,CAAC;YACjB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC;QACvC,CAAC;KAGF;IAfa,iBAAW,cAexB,CAAA;AACD,CAAC,EAvIgB,KAAK,KAAL,KAAK,QAuIrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Devices/Brultech/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":"Constructor.js","sourceRoot":"","sources":["../../../src/Devices/Constructor.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Family } from '../Definitions/Global/Families.js';
|
|
2
|
+
import { InsteonDeviceFactory } from './Insteon/InsteonDeviceFactory.js';
|
|
3
|
+
export class DeviceFactory {
|
|
4
|
+
static getDeviceDetails(node) {
|
|
5
|
+
if ((node.family ?? Family.Insteon) == Family.Insteon) {
|
|
6
|
+
return InsteonDeviceFactory.getInsteonDeviceDetails(node);
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
return { name: 'Unsupported Device', class: null, unsupported: true };
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=DeviceFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeviceFactory.js","sourceRoot":"","sources":["../../../src/Devices/DeviceFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAI3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAKzE,MAAM,OAAO,aAAa;IAElB,MAAM,CAAC,gBAAgB,CAAC,IAAc;QAG5C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAEvD,OAAO,oBAAoB,CAAC,uBAAuB,CAAC,IAAI,CAAQ,CAAC;QAElE,CAAC;aAAM,CAAC;YAAC,OAAO,EAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAC,CAAA;QAAC,CAAC;IAC/E,CAAC;CAGD"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Family } from '../Definitions/Global/Families.js';
|
|
2
|
+
import { Category } from '../Definitions/Global/Categories.js';
|
|
3
|
+
var s = { id: Family.Insteon, description: "Insteon", name: "Insteon", categories: { DimmableControl: { id: Category.DimmableControl, name: "DimmableControl", devices: { 1: { id: 0, name: "DimmableControl" } } } } };
|
|
4
|
+
//# sourceMappingURL=DeviceMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeviceMap.js","sourceRoot":"","sources":["../../../src/Devices/DeviceMap.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,MAAM,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAmC/D,IAAI,CAAC,GAA+B,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAAC,eAAe,EAAE,EAAC,EAAE,EAAE,QAAQ,CAAC,eAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAC,CAAC,EAAC,EAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAC,EAAC,EAAC,EAAC,EAAC,CAAC"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { Family } from '../../Definitions/Global/Families.js';
|
|
2
|
+
import { ISYDeviceNode } from '../ISYDeviceNode.js';
|
|
3
|
+
import { ElkAlarmSensorDevice } from './ElkAlarmSensorDevice.js';
|
|
4
|
+
/////////////////////////////
|
|
5
|
+
// ELKAlarmPanelDevice
|
|
6
|
+
//
|
|
7
|
+
export class ELKAlarmPanelDevice extends ISYDeviceNode {
|
|
8
|
+
setFromAreaUpdate(nodes) {
|
|
9
|
+
throw new Error('Method not implemented.');
|
|
10
|
+
}
|
|
11
|
+
alarmTripState;
|
|
12
|
+
alarmState;
|
|
13
|
+
alarmMode;
|
|
14
|
+
area;
|
|
15
|
+
deviceFriendlyName;
|
|
16
|
+
deviceType;
|
|
17
|
+
connectionType;
|
|
18
|
+
batteryOperated;
|
|
19
|
+
voltage;
|
|
20
|
+
constructor(isy, area) {
|
|
21
|
+
super(isy, {
|
|
22
|
+
family: Family.Global, type: '0.0.0.0', enabled: true, address: `ElkAlarmPanel_${area}`, name: `Elk Alarm Panel ${area}`,
|
|
23
|
+
pnode: undefined,
|
|
24
|
+
startDelay: 0,
|
|
25
|
+
hint: '',
|
|
26
|
+
endDelay: 0,
|
|
27
|
+
wattage: 0,
|
|
28
|
+
dcPeriod: 0
|
|
29
|
+
});
|
|
30
|
+
this.area = area;
|
|
31
|
+
this.alarmTripState = AlarmTripState.DISARMED;
|
|
32
|
+
this.alarmState = AlarmState.NOT_READY_TO_ARM;
|
|
33
|
+
this.alarmMode = AlarmMode.DISARMED;
|
|
34
|
+
this.deviceFriendlyName = 'Elk Alarm Panel ' + area;
|
|
35
|
+
this.connectionType = 'Elk Network Module';
|
|
36
|
+
this.batteryOperated = false;
|
|
37
|
+
this.voltage = 71;
|
|
38
|
+
this
|
|
39
|
+
.lastChanged = new Date();
|
|
40
|
+
}
|
|
41
|
+
async sendCommand(command) {
|
|
42
|
+
return this.isy.sendISYCommand(`elk/area/${this.area}/cmd/${command}`);
|
|
43
|
+
}
|
|
44
|
+
async sendSetAlarmModeCommand(alarmMode) {
|
|
45
|
+
if (alarmMode === 'disarm') {
|
|
46
|
+
return this.sendCommand('disarm');
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
return this.sendCommand(`arm?armType=${alarmMode}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async clearAllBypasses() {
|
|
53
|
+
return this.sendCommand('unbypass');
|
|
54
|
+
}
|
|
55
|
+
getAlarmStatusAsText() {
|
|
56
|
+
return `AM [${this.alarmMode}] AS [${this.alarmState}] ATS [${this.alarmTripState}]`;
|
|
57
|
+
}
|
|
58
|
+
getAlarmTripState() {
|
|
59
|
+
return this.alarmTripState;
|
|
60
|
+
}
|
|
61
|
+
getAlarmState() {
|
|
62
|
+
return this.alarmState;
|
|
63
|
+
}
|
|
64
|
+
getAlarmMode() {
|
|
65
|
+
return this.alarmMode;
|
|
66
|
+
}
|
|
67
|
+
handleEvent(event) {
|
|
68
|
+
const areaUpdate = event.eventInfo.ae;
|
|
69
|
+
const areaId = areaUpdate.attr.area;
|
|
70
|
+
const updateType = areaUpdate.attr.type;
|
|
71
|
+
const valueToSet = Number(areaUpdate.attr.val);
|
|
72
|
+
let valueChanged = false;
|
|
73
|
+
if (areaId === this.area) {
|
|
74
|
+
if (updateType === AlarmPanelProperty.AlarmTripState) {
|
|
75
|
+
if (this.alarmTripState !== valueToSet) {
|
|
76
|
+
const oldVal = this.alarmTripState;
|
|
77
|
+
this.alarmTripState = valueToSet;
|
|
78
|
+
this.emit('propertyChanged', 'alarmTripState', this.alarmTripState, oldVal, AlarmTripState[this.alarmTripState]);
|
|
79
|
+
valueChanged = true;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else if (updateType === AlarmPanelProperty.AlarmState) {
|
|
83
|
+
if (this.alarmState !== valueToSet) {
|
|
84
|
+
const oldVal = this.alarmState;
|
|
85
|
+
this.alarmState = valueToSet;
|
|
86
|
+
this.emit('propertyChanged', 'alarmState', this.alarmState, oldVal, AlarmState[this.alarmState]);
|
|
87
|
+
valueChanged = true;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else if (updateType === AlarmPanelProperty.AlarmMode) {
|
|
91
|
+
if (this.alarmMode !== valueToSet) {
|
|
92
|
+
const oldVal = this.alarmMode;
|
|
93
|
+
this.alarmMode = valueToSet;
|
|
94
|
+
this.emit('propertyChanged', 'alarmMode', this.alarmState, oldVal, AlarmMode[this.alarmMode]);
|
|
95
|
+
valueChanged = true;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (valueChanged) {
|
|
100
|
+
this.lastChanged = new Date();
|
|
101
|
+
}
|
|
102
|
+
return valueChanged;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
export var AlarmPanelProperty;
|
|
106
|
+
(function (AlarmPanelProperty) {
|
|
107
|
+
AlarmPanelProperty[AlarmPanelProperty["AlarmMode"] = 3] = "AlarmMode";
|
|
108
|
+
AlarmPanelProperty[AlarmPanelProperty["AlarmState"] = 2] = "AlarmState";
|
|
109
|
+
AlarmPanelProperty[AlarmPanelProperty["AlarmTripState"] = 1] = "AlarmTripState";
|
|
110
|
+
})(AlarmPanelProperty || (AlarmPanelProperty = {}));
|
|
111
|
+
export var AlarmMode;
|
|
112
|
+
(function (AlarmMode) {
|
|
113
|
+
AlarmMode[AlarmMode["DISARMED"] = 0] = "DISARMED";
|
|
114
|
+
AlarmMode[AlarmMode["AWAY"] = 1] = "AWAY";
|
|
115
|
+
AlarmMode[AlarmMode["STAY"] = 2] = "STAY";
|
|
116
|
+
AlarmMode[AlarmMode["STAY_INSTANT"] = 3] = "STAY_INSTANT";
|
|
117
|
+
AlarmMode[AlarmMode["NIGHT"] = 4] = "NIGHT";
|
|
118
|
+
AlarmMode[AlarmMode["NIGHT_INSTANT"] = 5] = "NIGHT_INSTANT";
|
|
119
|
+
AlarmMode[AlarmMode["VACATION"] = 6] = "VACATION";
|
|
120
|
+
})(AlarmMode || (AlarmMode = {}));
|
|
121
|
+
export var AlarmTripState;
|
|
122
|
+
(function (AlarmTripState) {
|
|
123
|
+
AlarmTripState[AlarmTripState["DISARMED"] = 0] = "DISARMED";
|
|
124
|
+
AlarmTripState[AlarmTripState["EXIT_DELAY"] = 1] = "EXIT_DELAY";
|
|
125
|
+
AlarmTripState[AlarmTripState["TRIPPED"] = 2] = "TRIPPED";
|
|
126
|
+
})(AlarmTripState || (AlarmTripState = {}));
|
|
127
|
+
export var AlarmState;
|
|
128
|
+
(function (AlarmState) {
|
|
129
|
+
AlarmState[AlarmState["NOT_READY_TO_ARM"] = 0] = "NOT_READY_TO_ARM";
|
|
130
|
+
AlarmState[AlarmState["READY_TO_ARM"] = 1] = "READY_TO_ARM";
|
|
131
|
+
AlarmState[AlarmState["READY_TO_ARM_VIOLATION"] = 2] = "READY_TO_ARM_VIOLATION";
|
|
132
|
+
AlarmState[AlarmState["ARMED_WITH_TIMER"] = 3] = "ARMED_WITH_TIMER";
|
|
133
|
+
AlarmState[AlarmState["ARMED_FULLY"] = 4] = "ARMED_FULLY";
|
|
134
|
+
AlarmState[AlarmState["FORCE_ARMED_VIOLATION"] = 5] = "FORCE_ARMED_VIOLATION";
|
|
135
|
+
AlarmState[AlarmState["ARMED_WITH_BYPASS"] = 6] = "ARMED_WITH_BYPASS";
|
|
136
|
+
})(AlarmState || (AlarmState = {}));
|
|
137
|
+
// Alarm mode constanrs
|
|
138
|
+
ELKAlarmPanelDevice.prototype.ALARM_MODE_DISARMED = 0;
|
|
139
|
+
ELKAlarmPanelDevice.prototype.ALARM_MODE_AWAY = 1;
|
|
140
|
+
ELKAlarmPanelDevice.prototype.ALARM_MODE_STAY = 2;
|
|
141
|
+
ELKAlarmPanelDevice.prototype.ALARM_MODE_STAY_INSTANT = 3;
|
|
142
|
+
ELKAlarmPanelDevice.prototype.ALARM_MODE_NIGHT = 4;
|
|
143
|
+
ELKAlarmPanelDevice.prototype.ALARM_MODE_NIGHT_INSTANT = 5;
|
|
144
|
+
ELKAlarmPanelDevice.prototype.ALARM_MODE_VACATION = 6;
|
|
145
|
+
// Alarm trip state
|
|
146
|
+
ELKAlarmPanelDevice.prototype.ALARM_TRIP_STATE_DISARMED = 0;
|
|
147
|
+
ELKAlarmPanelDevice.prototype.ALARM_TRIP_STATE_EXIT_DELAY = 1;
|
|
148
|
+
ELKAlarmPanelDevice.prototype.ALARM_TRIP_STATE_TRIPPED = 2;
|
|
149
|
+
// Alarm state
|
|
150
|
+
ELKAlarmPanelDevice.prototype.ALARM_STATE_NOT_READY_TO_ARM = 0;
|
|
151
|
+
ELKAlarmPanelDevice.prototype.ALARM_STATE_READY_TO_ARM = 1;
|
|
152
|
+
ELKAlarmPanelDevice.prototype.ALARM_STATE_READY_TO_ARM_VIOLATION = 2;
|
|
153
|
+
ELKAlarmPanelDevice.prototype.ALARM_STATE_ARMED_WITH_TIMER = 3;
|
|
154
|
+
ELKAlarmPanelDevice.prototype.ALARM_STATE_ARMED_FULLY = 4;
|
|
155
|
+
ELKAlarmPanelDevice.prototype.ALARM_STATE_FORCE_ARMED_VIOLATION = 5;
|
|
156
|
+
ELKAlarmPanelDevice.prototype.ALARM_STATE_ARMED_WITH_BYPASS = 6;
|
|
157
|
+
// Logical Status for sensors
|
|
158
|
+
export var AlarmSensorPhysicalState;
|
|
159
|
+
(function (AlarmSensorPhysicalState) {
|
|
160
|
+
AlarmSensorPhysicalState[AlarmSensorPhysicalState["NOT_CONFIGURED"] = 0] = "NOT_CONFIGURED";
|
|
161
|
+
AlarmSensorPhysicalState[AlarmSensorPhysicalState["OPEN"] = 1] = "OPEN";
|
|
162
|
+
AlarmSensorPhysicalState[AlarmSensorPhysicalState["EOL"] = 2] = "EOL";
|
|
163
|
+
AlarmSensorPhysicalState[AlarmSensorPhysicalState["SHORT"] = 3] = "SHORT";
|
|
164
|
+
})(AlarmSensorPhysicalState || (AlarmSensorPhysicalState = {}));
|
|
165
|
+
ElkAlarmSensorDevice.prototype.SENSOR_STATE_PHYSICAL_NOT_CONFIGURED = 0;
|
|
166
|
+
ElkAlarmSensorDevice.prototype.SENSOR_STATE_PHYSICAL_OPEN = 1;
|
|
167
|
+
ElkAlarmSensorDevice.prototype.SENSOR_STATE_PHYSICAL_EOL = 2;
|
|
168
|
+
ElkAlarmSensorDevice.prototype.SENSOR_STATE_PHYSICAL_SHORT = 3;
|
|
169
|
+
export var AlarmSensorLogicalState;
|
|
170
|
+
(function (AlarmSensorLogicalState) {
|
|
171
|
+
AlarmSensorLogicalState[AlarmSensorLogicalState["NORMAL"] = 0] = "NORMAL";
|
|
172
|
+
AlarmSensorLogicalState[AlarmSensorLogicalState["TROUBLE"] = 1] = "TROUBLE";
|
|
173
|
+
AlarmSensorLogicalState[AlarmSensorLogicalState["VIOLATED"] = 2] = "VIOLATED";
|
|
174
|
+
AlarmSensorLogicalState[AlarmSensorLogicalState["BYPASSED"] = 3] = "BYPASSED";
|
|
175
|
+
})(AlarmSensorLogicalState || (AlarmSensorLogicalState = {}));
|
|
176
|
+
// Physical status for sensors
|
|
177
|
+
ElkAlarmSensorDevice.prototype.SENSOR_STATE_LOGICAL_NORMAL = 0;
|
|
178
|
+
ElkAlarmSensorDevice.prototype.SENSOR_STATE_LOGICAL_TROUBLE = 1;
|
|
179
|
+
ElkAlarmSensorDevice.prototype.SENSOR_STATE_LOGICAL_VIOLATED = 2;
|
|
180
|
+
ElkAlarmSensorDevice.prototype.SENSOR_STATE_LOGICAL_BYPASSED = 3;
|
|
181
|
+
//# sourceMappingURL=ElkAlarmPanelDevice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ElkAlarmPanelDevice.js","sourceRoot":"","sources":["../../../../src/Devices/Elk/ElkAlarmPanelDevice.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { Family } from '../../Definitions/Global/Families.js';
|
|
2
|
+
import { ISYDeviceNode } from '../ISYDeviceNode.js';
|
|
3
|
+
import { AlarmSensorPhysicalState, AlarmSensorLogicalState } from './ElkAlarmPanelDevice.js';
|
|
4
|
+
/////////////////////////////
|
|
5
|
+
// ELKAlarmSensor
|
|
6
|
+
//
|
|
7
|
+
export class ElkAlarmSensorDevice extends ISYDeviceNode {
|
|
8
|
+
area;
|
|
9
|
+
zone;
|
|
10
|
+
deviceFriendlyName;
|
|
11
|
+
deviceType;
|
|
12
|
+
connectionType;
|
|
13
|
+
batteryOperated;
|
|
14
|
+
physicalState;
|
|
15
|
+
logicalState;
|
|
16
|
+
voltage;
|
|
17
|
+
constructor(isy, name, area, zone) {
|
|
18
|
+
super(isy, {
|
|
19
|
+
family: Family.Global,
|
|
20
|
+
name,
|
|
21
|
+
address: `ElkZone_${zone}`,
|
|
22
|
+
enabled: true,
|
|
23
|
+
pnode: undefined,
|
|
24
|
+
startDelay: 0,
|
|
25
|
+
hint: '',
|
|
26
|
+
endDelay: 0,
|
|
27
|
+
wattage: 0,
|
|
28
|
+
dcPeriod: 0
|
|
29
|
+
});
|
|
30
|
+
this.area = area;
|
|
31
|
+
this.zone = zone;
|
|
32
|
+
// this.name = name;
|
|
33
|
+
// this.address = "ElkZone" + zone;
|
|
34
|
+
this.label = `Elk Connected Sensor ${zone}`;
|
|
35
|
+
this.deviceFriendlyName = `Elk Connected Sensor ${zone}`;
|
|
36
|
+
this.connectionType = 'Elk Network';
|
|
37
|
+
this.batteryOperated = false;
|
|
38
|
+
this.physicalState = AlarmSensorPhysicalState.NOT_CONFIGURED;
|
|
39
|
+
this.logicalState = AlarmSensorLogicalState.NORMAL;
|
|
40
|
+
this.lastChanged = new Date();
|
|
41
|
+
}
|
|
42
|
+
async sendCommand(command) {
|
|
43
|
+
return this.isy.sendISYCommand(`elk/zone/${this.zone}/cmd/${command}`);
|
|
44
|
+
}
|
|
45
|
+
async sendBypassToggleCommand() {
|
|
46
|
+
return this.sendCommand(`toggle/bypass`);
|
|
47
|
+
}
|
|
48
|
+
getPhysicalState() {
|
|
49
|
+
return this.physicalState;
|
|
50
|
+
}
|
|
51
|
+
isBypassed() {
|
|
52
|
+
return this.logicalState === 3;
|
|
53
|
+
}
|
|
54
|
+
getLogicalState() {
|
|
55
|
+
return this.logicalState;
|
|
56
|
+
}
|
|
57
|
+
getCurrentDoorWindowState() {
|
|
58
|
+
return this.physicalState === this.SENSOR_STATE_PHYSICAL_OPEN || this.logicalState === this.SENSOR_STATE_LOGICAL_VIOLATED;
|
|
59
|
+
}
|
|
60
|
+
getSensorStatus() {
|
|
61
|
+
return 'PS [' + this.physicalState + '] LS [' + this.logicatState + ']';
|
|
62
|
+
}
|
|
63
|
+
isPresent() {
|
|
64
|
+
if (this.voltage < 65 || this.voltage > 80) {
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
handleEvent(event) {
|
|
72
|
+
const zoneUpdate = event.eventInfo.ze;
|
|
73
|
+
const zone = zoneUpdate.attr.zone;
|
|
74
|
+
const updateType = zoneUpdate.attr.type;
|
|
75
|
+
const valueToSet = zoneUpdate.attr.val;
|
|
76
|
+
let valueChanged = false;
|
|
77
|
+
if (zone === this.zone) {
|
|
78
|
+
if (updateType === 51) {
|
|
79
|
+
if (this.logicalState !== valueToSet) {
|
|
80
|
+
const temp = this.logicalState;
|
|
81
|
+
this.logicalState = valueToSet;
|
|
82
|
+
this.emit('propertyChanged', 'logicalState', this.logicalState, temp, this.voltage.toString());
|
|
83
|
+
// Not triggering change update on logical state because physical always follows and don't want double notify.
|
|
84
|
+
// valueChanged = true;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
else if (updateType === 52) {
|
|
88
|
+
if (this.physicalState !== valueToSet) {
|
|
89
|
+
const temp = this.physicalState;
|
|
90
|
+
this.physicalState = valueToSet;
|
|
91
|
+
this.emit('propertyChanged', 'physicalState', this.physicalState, temp, this.voltage.toString());
|
|
92
|
+
valueChanged = true;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else if (updateType === 53) {
|
|
96
|
+
if (this.voltage !== valueToSet) {
|
|
97
|
+
const temp = this.voltage;
|
|
98
|
+
this.voltage = valueToSet;
|
|
99
|
+
this.emit('propertyChanged', 'voltage', this.voltage, temp, this.voltage.toString());
|
|
100
|
+
valueChanged = true;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
if (valueChanged) {
|
|
105
|
+
this.lastChanged = new Date();
|
|
106
|
+
}
|
|
107
|
+
return valueChanged;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=ElkAlarmSensorDevice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ElkAlarmSensorDevice.js","sourceRoot":"","sources":["../../../../src/Devices/Elk/ElkAlarmSensorDevice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,6BAA6B;AAC7B,iBAAiB;AACjB,EAAE;AACF,MAAM,OAAO,oBAAqB,SAAQ,aAAsC;IAExE,IAAI,CAAS;IACb,IAAI,CAAS;IACb,kBAAkB,CAAS;IAC3B,UAAU,CAAM;IAChB,cAAc,CAAS;IACvB,eAAe,CAAU;IACzB,aAAa,CAA2B;IACxC,YAAY,CAA0B;IACtC,OAAO,CAAS;IACvB,YAAY,GAAQ,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY;QAC7D,KAAK,CAAC,GAAG,EAAE;YACV,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI;YACJ,OAAO,EAAE,WAAW,IAAI,EAAE;YAC1B,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,CAAC;YACb,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,CAAC;SACX,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,oBAAoB;QACpB,mCAAmC;QACnC,IAAI,CAAC,KAAK,GAAG,wBAAwB,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,kBAAkB,GAAG,wBAAwB,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,wBAAwB,CAAC,cAAc,CAAC;QAC7D,IAAI,CAAC,YAAY,GAAG,uBAAuB,CAAC,MAAM,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;IAC/B,CAAC;IACe,KAAK,CAAC,WAAW,CAAC,OAAe;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,IAAI,CAAC,IAAI,QAAQ,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IACM,KAAK,CAAC,uBAAuB;QACnC,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IACM,gBAAgB;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IACM,UAAU;QAChB,OAAO,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC;IAChC,CAAC;IACM,eAAe;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IACM,yBAAyB;QAC/B,OAAO,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,6BAA6B,CAAC;IAC3H,CAAC;IACM,eAAe;QACrB,OAAO,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;IACzE,CAAC;IACM,SAAS;QACf,IAAI,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QACb,CAAC;aAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IACe,WAAW,CAAC,KAAoE;QAC/F,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;QACxC,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QACvC,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACxB,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;oBACtC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;oBAC/B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;oBAC/B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC/F,8GAA8G;oBAC9G,uBAAuB;gBACxB,CAAC;YACF,CAAC;iBAAM,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;oBACvC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;oBAChC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;oBAChC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACjG,YAAY,GAAG,IAAI,CAAC;gBACrB,CAAC;YACF,CAAC;iBAAM,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBACjC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;oBAC1B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;oBAC1B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACrF,YAAY,GAAG,IAAI,CAAC;gBACrB,CAAC;YACF,CAAC;QACF,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,CAAC;QACD,OAAO,YAAY,CAAC;IACrB,CAAC;CACD"}
|