isy-nodejs 1.0.6-alpha.0 → 1.0.6-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/CodeGeneration/EnumFactory.js +1 -1
- package/dist/esm/CodeGeneration/EnumFactory.js.map +1 -1
- package/dist/esm/CodeGeneration/NodeClassFactory.js +5 -4
- package/dist/esm/CodeGeneration/NodeClassFactory.js.map +1 -1
- package/dist/esm/Converters.js.map +1 -1
- package/dist/esm/Definitions/Global/Drivers.js +7 -5
- package/dist/esm/Definitions/Global/Drivers.js.map +1 -1
- package/dist/esm/Devices/DynamicNode.js +19 -0
- package/dist/esm/Devices/DynamicNode.js.map +1 -0
- package/dist/esm/Devices/GenericNode.js +17 -0
- package/dist/esm/Devices/GenericNode.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonDeviceFactory.js +86 -102
- package/dist/esm/Devices/Insteon/InsteonDeviceFactory.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonLockDevice.js +4 -5
- package/dist/esm/Devices/Insteon/InsteonLockDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonMotionSensorDevice.js +4 -5
- package/dist/esm/Devices/Insteon/InsteonMotionSensorDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonRelayDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonThermostatDevice.js +2 -24
- package/dist/esm/Devices/Insteon/InsteonThermostatDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/index.js +3 -0
- package/dist/esm/Devices/Insteon/index.js.map +1 -1
- package/dist/esm/Devices/MapsTo.js +0 -11
- package/dist/esm/Devices/MapsTo.js.map +1 -1
- package/dist/esm/Devices/NodeFactory.js +1 -1
- package/dist/esm/Devices/NodeFactory.js.map +1 -1
- package/dist/esm/Devices/ZWave/ZWaveBaseDevice.js +2 -2
- package/dist/esm/Devices/ZWave/ZWaveBaseDevice.js.map +1 -1
- package/dist/esm/Devices/ZWave/ZWaveDimmerSwitchDevice.js +2 -2
- package/dist/esm/Devices/ZWave/ZWaveDimmerSwitchDevice.js.map +1 -1
- package/dist/esm/Devices/ZWave/ZWaveLockDevice.js +5 -5
- package/dist/esm/Devices/ZWave/ZWaveLockDevice.js.map +1 -1
- package/dist/esm/ISY.js +3 -3
- package/dist/esm/ISY.js.map +1 -1
- package/dist/esm/ISYConstants.js +0 -5
- package/dist/esm/ISYConstants.js.map +1 -1
- package/dist/esm/ISYNode.js +12 -7
- 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 +1 -1
- package/dist/esm/Matter/Behaviors/ISYBridgedDeviceBehavior.js.map +1 -1
- package/dist/esm/Matter/Behaviors/ISYClusterBehavior.js +1 -0
- package/dist/esm/Matter/Behaviors/ISYClusterBehavior.js.map +1 -1
- package/dist/esm/Matter/Mappings/Insteon.js +3 -5
- package/dist/esm/Matter/Mappings/Insteon.js.map +1 -1
- package/dist/esm/Matter/Mappings/MappingRegistry.js +26 -9
- package/dist/esm/Matter/Mappings/MappingRegistry.js.map +1 -1
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/types/CodeGeneration/EnumFactory.d.ts +2 -2
- package/dist/esm/types/CodeGeneration/EnumFactory.d.ts.map +1 -1
- package/dist/esm/types/CodeGeneration/NodeClassFactory.d.ts +11 -9
- package/dist/esm/types/CodeGeneration/NodeClassFactory.d.ts.map +1 -1
- package/dist/esm/types/Converters.d.ts +25 -16
- package/dist/esm/types/Converters.d.ts.map +1 -1
- package/dist/esm/types/Definitions/Global/Drivers.d.ts.map +1 -1
- package/dist/esm/types/Devices/DynamicNode.d.ts +11 -0
- package/dist/esm/types/Devices/DynamicNode.d.ts.map +1 -0
- package/dist/esm/types/Devices/EndpointFor.d.ts +3 -3
- package/dist/esm/types/Devices/GenericNode.d.ts +9 -0
- package/dist/esm/types/Devices/GenericNode.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts +10 -10
- package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonDeviceFactory.d.ts +3 -4
- package/dist/esm/types/Devices/Insteon/InsteonDeviceFactory.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonMotionSensorDevice.d.ts +3 -3
- package/dist/esm/types/Devices/Insteon/InsteonMotionSensorDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonRelayDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonThermostatDevice.d.ts +2 -9
- package/dist/esm/types/Devices/Insteon/InsteonThermostatDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/index.d.ts +3 -0
- package/dist/esm/types/Devices/Insteon/index.d.ts.map +1 -1
- package/dist/esm/types/Devices/MapsTo.d.ts +1 -3
- package/dist/esm/types/Devices/MapsTo.d.ts.map +1 -1
- package/dist/esm/types/Devices/ZWave/ZWaveBaseDevice.d.ts +2 -2
- package/dist/esm/types/Devices/ZWave/ZWaveBaseDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/ZWave/ZWaveDimmerSwitchDevice.d.ts +2 -2
- package/dist/esm/types/Devices/ZWave/ZWaveDimmerSwitchDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/ZWave/ZWaveLockDevice.d.ts +2 -1
- package/dist/esm/types/Devices/ZWave/ZWaveLockDevice.d.ts.map +1 -1
- package/dist/esm/types/ISY.d.ts.map +1 -1
- package/dist/esm/types/ISYConstants.d.ts +0 -263
- package/dist/esm/types/ISYConstants.d.ts.map +1 -1
- package/dist/esm/types/ISYNode.d.ts +5 -5
- package/dist/esm/types/ISYNode.d.ts.map +1 -1
- package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts +4 -4
- package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts.map +1 -1
- package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts +2 -2
- package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts.map +1 -1
- package/dist/esm/types/Matter/Mappings/Insteon.d.ts.map +1 -1
- package/dist/esm/types/Matter/Mappings/MappingRegistry.d.ts +35 -21
- package/dist/esm/types/Matter/Mappings/MappingRegistry.d.ts.map +1 -1
- package/dist/esm/types/Utils.d.ts +5 -5
- package/dist/esm/types/Utils.d.ts.map +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +6 -5
- package/src/CodeGeneration/EnumFactory.ts +1 -1
- package/src/CodeGeneration/NodeClassFactory.ts +7 -4
- package/src/Converters.ts +7 -4
- package/src/Definitions/Global/Drivers.ts +8 -6
- package/src/Devices/DynamicNode.ts +37 -0
- package/src/Devices/GenericNode.ts +31 -0
- package/src/Devices/Insteon/InsteonDevice.ts +0 -3
- package/src/Devices/Insteon/InsteonDeviceFactory.ts +93 -104
- package/src/Devices/Insteon/InsteonFanDevice.ts +1 -1
- package/src/Devices/Insteon/InsteonLockDevice.ts +5 -5
- package/src/Devices/Insteon/InsteonMotionSensorDevice.ts +8 -5
- package/src/Devices/Insteon/InsteonRelayDevice.ts +1 -8
- package/src/Devices/Insteon/InsteonThermostatDevice.ts +3 -20
- package/src/Devices/Insteon/index.ts +6 -0
- package/src/Devices/MapsTo.ts +0 -25
- package/src/Devices/NCD/Generated/Relay.ts +17 -14
- package/src/Devices/NodeFactory.ts +1 -1
- package/src/Devices/ZWave/ZWaveBaseDevice.ts +2 -1
- package/src/Devices/ZWave/ZWaveDimmerSwitchDevice.ts +2 -1
- package/src/Devices/ZWave/ZWaveLockDevice.ts +7 -6
- package/src/Devices/ZigBeeLegacy/Generated/Relay.ts +14 -17
- package/src/Devices/ZigBeeLegacy/Generated/Thermostat.ts +70 -87
- package/src/ISY.ts +3 -4
- package/src/ISYConstants.ts +0 -10
- package/src/ISYNode.ts +7 -2
- package/src/ISYScene.ts +3 -3
- package/src/Matter/Behaviors/ISYBridgedDeviceBehavior.ts +12 -30
- package/src/Matter/Behaviors/ISYClusterBehavior.ts +8 -7
- package/src/Matter/Mappings/Insteon.ts +7 -7
- package/src/Matter/Mappings/MappingRegistry.ts +93 -35
- package/src/Utils.ts +21 -18
- package/dist/esm/Matter/Mappings/register.js +0 -2
- package/dist/esm/Matter/Mappings/register.js.map +0 -1
- package/dist/esm/types/Matter/Mappings/register.d.ts +0 -2
- package/dist/esm/types/Matter/Mappings/register.d.ts.map +0 -1
|
@@ -1,23 +1,7 @@
|
|
|
1
1
|
import { Category } from '../../Definitions/Global/Categories.js';
|
|
2
2
|
import { parseTypeCode } from '../../Utils.js';
|
|
3
|
-
import
|
|
4
|
-
import { InsteonDimmerOutletDevice } from './InsteonDimmerOutletDevice.js';
|
|
5
|
-
import { InsteonDimmerSwitchDevice } from './InsteonDimmerSwitchDevice.js';
|
|
6
|
-
import { InsteonDoorWindowSensorDevice } from './InsteonDoorWindowSensorDevice.js';
|
|
7
|
-
import { InsteonFanDevice, InsteonFanMotorDevice } from './InsteonFanDevice.js';
|
|
8
|
-
import { InsteonKeypadButtonDevice } from './InsteonKeypadDevice.js';
|
|
9
|
-
import { InsteonKeypadDimmerDevice } from './InsteonKeypadDimmerDevice.js';
|
|
10
|
-
import { InsteonKeypadRelayDevice } from './InsteonKeypadRelayDevice.js';
|
|
11
|
-
import { InsteonLeakSensorDevice } from './InsteonLeakSensorDevice.js';
|
|
12
|
-
import { InsteonMotionSensorDevice } from './InsteonMotionSensorDevice.js';
|
|
13
|
-
import { InsteonOnOffOutletDevice } from './InsteonOnOffOutletDevice.js';
|
|
14
|
-
import { InsteonRelayDevice } from './InsteonRelayDevice.js';
|
|
15
|
-
import { InsteonRelaySwitchDevice } from './InsteonRelaySwitchDevice.js';
|
|
3
|
+
import * as Insteon from './index.js';
|
|
16
4
|
import { Family } from '../../Definitions/index.js';
|
|
17
|
-
import { InsteonBaseDevice } from './InsteonBaseDevice.js';
|
|
18
|
-
import { InsteonSmokeSensorDevice } from './InsteonSmokeSensorDevice.js';
|
|
19
|
-
import { InsteonThermostatDevice } from './InsteonThermostatDevice.js';
|
|
20
|
-
import { InsteonLockDevice } from './InsteonLockDevice.js';
|
|
21
5
|
export class InsteonDeviceFactory {
|
|
22
6
|
// public static buildDeviceMap() {
|
|
23
7
|
// var fams = new Map<Family, FamilyDef<Family>>();
|
|
@@ -66,7 +50,7 @@ export class InsteonDeviceFactory {
|
|
|
66
50
|
return this.getInsteonDeviceDetails(node);
|
|
67
51
|
}
|
|
68
52
|
else {
|
|
69
|
-
return { name: "Unsupported Device", class:
|
|
53
|
+
return { name: "Unsupported Device", class: Insteon.Base, unsupported: true };
|
|
70
54
|
}
|
|
71
55
|
}
|
|
72
56
|
static getInsteonDeviceDetails(node) {
|
|
@@ -111,8 +95,8 @@ export class InsteonDeviceFactory {
|
|
|
111
95
|
}
|
|
112
96
|
if (deviceDetails) {
|
|
113
97
|
deviceDetails.version = type.firmwareVersion;
|
|
114
|
-
if (deviceDetails.class ===
|
|
115
|
-
deviceDetails.class =
|
|
98
|
+
if (deviceDetails.class === Insteon.OnOffOutlet && subAddress !== '1') {
|
|
99
|
+
deviceDetails.class = Insteon.RelayLampSwitch.Node;
|
|
116
100
|
}
|
|
117
101
|
}
|
|
118
102
|
if (!deviceDetails) {
|
|
@@ -120,7 +104,7 @@ export class InsteonDeviceFactory {
|
|
|
120
104
|
{ name: 'Unsupported Insteon Device', class: null, unsupported: true };
|
|
121
105
|
}
|
|
122
106
|
if (!deviceDetails.class) {
|
|
123
|
-
deviceDetails.class =
|
|
107
|
+
deviceDetails.class = Insteon.Base;
|
|
124
108
|
deviceDetails.unsupported = true;
|
|
125
109
|
}
|
|
126
110
|
return deviceDetails;
|
|
@@ -173,7 +157,7 @@ export class InsteonDeviceFactory {
|
|
|
173
157
|
}
|
|
174
158
|
static getSwitchLightInfo(deviceCode, subAddress) {
|
|
175
159
|
const c = String.fromCharCode(deviceCode);
|
|
176
|
-
let retVal = { name: 'Generic Insteon Relay', class:
|
|
160
|
+
let retVal = { name: 'Generic Insteon Relay', class: Insteon.RelayLampSwitch.Node };
|
|
177
161
|
switch (c) {
|
|
178
162
|
case String.fromCharCode(6):
|
|
179
163
|
retVal = { name: 'ApplianceLinc - Outdoor Plugin Module', modelNumber: '2456S3E' };
|
|
@@ -185,10 +169,10 @@ export class InsteonDeviceFactory {
|
|
|
185
169
|
retVal = { name: 'ApplianceLinc', modelNumber: '2456S3' };
|
|
186
170
|
break;
|
|
187
171
|
case '\n':
|
|
188
|
-
retVal = { name: 'SwitchLinc Relay', modelNumber: '2476ST', class:
|
|
172
|
+
retVal = { name: 'SwitchLinc Relay', modelNumber: '2476ST', class: Insteon.RelayLampSwitch.Node };
|
|
189
173
|
break;
|
|
190
174
|
case String.fromCharCode(11):
|
|
191
|
-
retVal.class =
|
|
175
|
+
retVal.class = Insteon.RelayLampSwitch.Node;
|
|
192
176
|
retVal.name = 'Icon On/Off Switch';
|
|
193
177
|
retVal.modelNumber = '2876S';
|
|
194
178
|
break;
|
|
@@ -196,26 +180,26 @@ export class InsteonDeviceFactory {
|
|
|
196
180
|
retVal = { name: 'Icon Appliance Adapter', modelNumber: '2856S3' };
|
|
197
181
|
break;
|
|
198
182
|
case '\r':
|
|
199
|
-
retVal = { name: 'ToggleLinc Relay', modelNumber: '2466S', class:
|
|
183
|
+
retVal = { name: 'ToggleLinc Relay', modelNumber: '2466S', class: Insteon.RelayLampSwitch.Node };
|
|
200
184
|
break;
|
|
201
185
|
case String.fromCharCode(26):
|
|
202
|
-
retVal = { name: 'ToggleLinc Relay', modelNumber: '2466S', class:
|
|
186
|
+
retVal = { name: 'ToggleLinc Relay', modelNumber: '2466S', class: Insteon.RelayLampSwitch.Node };
|
|
203
187
|
break;
|
|
204
188
|
case String.fromCharCode(14):
|
|
205
189
|
break;
|
|
206
190
|
case ')':
|
|
207
|
-
retVal = { name: 'SwitchLinc Relay Timer', modelNumber: '2476ST', class:
|
|
191
|
+
retVal = { name: 'SwitchLinc Relay Timer', modelNumber: '2476ST', class: Insteon.RelayLampSwitch.Node };
|
|
208
192
|
break;
|
|
209
193
|
case String.fromCharCode(17):
|
|
210
194
|
retVal = {
|
|
211
|
-
name: 'EZSwitch30', class:
|
|
195
|
+
name: 'EZSwitch30', class: Insteon.RelayLampSwitch.Node
|
|
212
196
|
};
|
|
213
197
|
break;
|
|
214
198
|
case String.fromCharCode(15):
|
|
215
|
-
retVal = { name: 'KeypadLinc Relay', modelNumber: '2486S/WH6', class:
|
|
199
|
+
retVal = { name: 'KeypadLinc Relay', modelNumber: '2486S/WH6', class: Insteon.KeypadRelay.Node };
|
|
216
200
|
break;
|
|
217
201
|
case String.fromCharCode(5):
|
|
218
|
-
retVal = { name: 'KeypadLinc Relay (8 buttons)', modelNumber: '2486S/WH8', class:
|
|
202
|
+
retVal = { name: 'KeypadLinc Relay (8 buttons)', modelNumber: '2486S/WH8', class: Insteon.KeypadRelay.Node };
|
|
219
203
|
break;
|
|
220
204
|
case String.fromCharCode(16):
|
|
221
205
|
retVal = { name: 'In-LineLinc Relay', modelNumber: '2475S' };
|
|
@@ -227,54 +211,54 @@ export class InsteonDeviceFactory {
|
|
|
227
211
|
retVal = { name: 'Icon SwitchLinc Relay for Bell Canada', modelNumber: 'B2475S' };
|
|
228
212
|
break;
|
|
229
213
|
case '\b':
|
|
230
|
-
retVal = { name: 'OutletLinc', modelNumber: '2473', class:
|
|
214
|
+
retVal = { name: 'OutletLinc', modelNumber: '2473', class: Insteon.OnOffOutlet };
|
|
231
215
|
break;
|
|
232
216
|
case String.fromCharCode(18):
|
|
233
|
-
retVal = { name: 'Companion Switch', modelNumber: '2474S', class:
|
|
217
|
+
retVal = { name: 'Companion Switch', modelNumber: '2474S', class: Insteon.RelayLampSwitch.Node };
|
|
234
218
|
break;
|
|
235
219
|
case String.fromCharCode(21):
|
|
236
|
-
retVal = { name: 'SwitchLinc Relay W/ Sense', modelNumber: '2476S', class:
|
|
220
|
+
retVal = { name: 'SwitchLinc Relay W/ Sense', modelNumber: '2476S', class: Insteon.RelayLampSwitch.Node };
|
|
237
221
|
break;
|
|
238
222
|
case String.fromCharCode(23):
|
|
239
|
-
retVal = { name: 'Icon Relay 3-Pin', modelNumber: '2856S3B', class:
|
|
223
|
+
retVal = { name: 'Icon Relay 3-Pin', modelNumber: '2856S3B', class: Insteon.RelayLampSwitch.Node };
|
|
240
224
|
break;
|
|
241
225
|
case String.fromCharCode(22):
|
|
242
|
-
retVal = { name: ' Icon Relay Switch', modelNumber: '2876SB', class:
|
|
226
|
+
retVal = { name: ' Icon Relay Switch', modelNumber: '2876SB', class: Insteon.RelayLampSwitch.Node };
|
|
243
227
|
break;
|
|
244
228
|
case String.fromCharCode(24):
|
|
245
|
-
retVal = { name: 'SwitchLinc Relay 220 V.', modelNumber: '2494S220', class:
|
|
229
|
+
retVal = { name: 'SwitchLinc Relay 220 V.', modelNumber: '2494S220', class: Insteon.RelayLampSwitch.Node };
|
|
246
230
|
break;
|
|
247
231
|
case String.fromCharCode(25):
|
|
248
|
-
retVal = { name: 'SwitchLinc Relay 220 V. w/Beeper', modelNumber: '2494S220', class:
|
|
232
|
+
retVal = { name: 'SwitchLinc Relay 220 V. w/Beeper', modelNumber: '2494S220', class: Insteon.RelayLampSwitch.Node };
|
|
249
233
|
break;
|
|
250
234
|
case String.fromCharCode(28):
|
|
251
|
-
retVal = { name: 'SwitchLinc Relay - Remote Control On/Off Switch', modelNumber: '2476S', class:
|
|
235
|
+
retVal = { name: 'SwitchLinc Relay - Remote Control On/Off Switch', modelNumber: '2476S', class: Insteon.RelayLampSwitch.Node };
|
|
252
236
|
break;
|
|
253
237
|
case '%':
|
|
254
|
-
retVal = { name: 'KeypadLinc Timer Relay (8 buttons)', modelNumber: '2484S/WH8', class:
|
|
238
|
+
retVal = { name: 'KeypadLinc Timer Relay (8 buttons)', modelNumber: '2484S/WH8', class: Insteon.KeypadRelay.Node };
|
|
255
239
|
break;
|
|
256
240
|
case ' ':
|
|
257
|
-
retVal = { name: 'KeypadLinc Relay', modelNumber: '2486S/WH6-SP', class:
|
|
241
|
+
retVal = { name: 'KeypadLinc Relay', modelNumber: '2486S/WH6-SP', class: Insteon.KeypadRelay.Node };
|
|
258
242
|
break;
|
|
259
243
|
case '!':
|
|
260
|
-
retVal = { name: 'OutletLinc', modelNumber: '2473-SP', class:
|
|
244
|
+
retVal = { name: 'OutletLinc', modelNumber: '2473-SP', class: Insteon.OnOffOutlet };
|
|
261
245
|
break;
|
|
262
246
|
case '#':
|
|
263
|
-
retVal = { name: 'SwitchLinc Relay - Remote Control On/Off Switch', modelNumber: '2476S-SP', class:
|
|
247
|
+
retVal = { name: 'SwitchLinc Relay - Remote Control On/Off Switch', modelNumber: '2476S-SP', class: Insteon.RelayLampSwitch.Node };
|
|
264
248
|
case '"':
|
|
265
|
-
retVal = { name: 'In-LineLinc Relay', modelNumber: '2475S-SP', class:
|
|
249
|
+
retVal = { name: 'In-LineLinc Relay', modelNumber: '2475S-SP', class: Insteon.RelayLampSwitch.Node };
|
|
266
250
|
break;
|
|
267
251
|
case String.fromCharCode(30):
|
|
268
|
-
retVal = { name: 'KeypadLinc Relay', modelNumber: '2487S', class:
|
|
252
|
+
retVal = { name: 'KeypadLinc Relay', modelNumber: '2487S', class: Insteon.KeypadRelay.Node };
|
|
269
253
|
break;
|
|
270
254
|
case ',':
|
|
271
|
-
retVal = { name: 'Dual Band KeypadLinc Relay', modelNumber: '2487S', class:
|
|
255
|
+
retVal = { name: 'Dual Band KeypadLinc Relay', modelNumber: '2487S', class: Insteon.KeypadRelay.Node };
|
|
272
256
|
break;
|
|
273
257
|
case String.fromCharCode(31):
|
|
274
|
-
retVal = { name: 'Dual Band InlineLinc On/Off Switch', modelNumber: '2475SDB', class:
|
|
258
|
+
retVal = { name: 'Dual Band InlineLinc On/Off Switch', modelNumber: '2475SDB', class: Insteon.RelayLampSwitch.Node };
|
|
275
259
|
break;
|
|
276
260
|
case '*':
|
|
277
|
-
retVal = { name: 'Dual Band SwitchLinc On/Off Switch', modelNumber: '2477S', class:
|
|
261
|
+
retVal = { name: 'Dual Band SwitchLinc On/Off Switch', modelNumber: '2477S', class: Insteon.RelayLampSwitch.Node };
|
|
278
262
|
break;
|
|
279
263
|
case '/':
|
|
280
264
|
retVal = { name: 'Micro Module On/Off', modelNumber: '2443-222' };
|
|
@@ -289,16 +273,16 @@ export class InsteonDeviceFactory {
|
|
|
289
273
|
retVal = { name: 'Micro Module On/Off', modelNumber: '2443-522' };
|
|
290
274
|
break;
|
|
291
275
|
case '.':
|
|
292
|
-
retVal = { name: 'Din Rail Relay', modelNumber: '2453-222', class:
|
|
276
|
+
retVal = { name: 'Din Rail Relay', modelNumber: '2453-222', class: Insteon.RelayLampSwitch.Node };
|
|
293
277
|
break;
|
|
294
278
|
case '3':
|
|
295
|
-
retVal = { name: 'Din Rail Relay', modelNumber: '2453-422', class:
|
|
279
|
+
retVal = { name: 'Din Rail Relay', modelNumber: '2453-422', class: Insteon.RelayLampSwitch.Node };
|
|
296
280
|
break;
|
|
297
281
|
case '4':
|
|
298
|
-
retVal = { name: 'Din Rail Relay', modelNumber: '2453-522', class:
|
|
282
|
+
retVal = { name: 'Din Rail Relay', modelNumber: '2453-522', class: Insteon.RelayLampSwitch.Node };
|
|
299
283
|
break;
|
|
300
284
|
case '=':
|
|
301
|
-
retVal = { name: 'Din Rail Relay', modelNumber: '2453-522', class:
|
|
285
|
+
retVal = { name: 'Din Rail Relay', modelNumber: '2453-522', class: Insteon.RelayLampSwitch.Node };
|
|
302
286
|
break;
|
|
303
287
|
case '7':
|
|
304
288
|
retVal = { name: 'On/Off Module', modelNumber: '2635-222', };
|
|
@@ -321,23 +305,23 @@ export class InsteonDeviceFactory {
|
|
|
321
305
|
case '6':
|
|
322
306
|
retVal = { name: 'Plugin Relay', modelNumber: '2633-522' };
|
|
323
307
|
}
|
|
324
|
-
if (subAddress != '1' && retVal.class ===
|
|
325
|
-
retVal.class =
|
|
308
|
+
if (subAddress != '1' && retVal.class === Insteon.KeypadRelay.Node) {
|
|
309
|
+
retVal.class = Insteon.KeypadButton.Node;
|
|
326
310
|
}
|
|
327
311
|
if (retVal.class === undefined) {
|
|
328
|
-
retVal.class =
|
|
312
|
+
retVal.class = Insteon.RelayLampSwitch.Node;
|
|
329
313
|
}
|
|
330
314
|
return retVal;
|
|
331
315
|
}
|
|
332
316
|
static getDimLightInfo(deviceCode, subAddress, node) {
|
|
333
317
|
const c = String.fromCharCode(deviceCode);
|
|
334
|
-
let retVal = { name: "Generic Insteon Dimmer", class:
|
|
318
|
+
let retVal = { name: "Generic Insteon Dimmer", class: Insteon.DimmerLamp.Node };
|
|
335
319
|
switch (c) {
|
|
336
320
|
case String.fromCharCode(0):
|
|
337
321
|
retVal = { name: 'LampLinc', modelNumber: '2456D3' };
|
|
338
322
|
break;
|
|
339
323
|
case String.fromCharCode(1):
|
|
340
|
-
retVal = { name: 'SwitchLinc Dimmer', modelNumber: '2476D', class:
|
|
324
|
+
retVal = { name: 'SwitchLinc Dimmer', modelNumber: '2476D', class: Insteon.DimmerLampSwitch.Node };
|
|
341
325
|
break;
|
|
342
326
|
case String.fromCharCode(2):
|
|
343
327
|
retVal = { name: 'In-LineLinc Dimmable', modelNumber: '2475D' };
|
|
@@ -346,7 +330,7 @@ export class InsteonDeviceFactory {
|
|
|
346
330
|
retVal = { name: 'Icon Switch Dimmer', modelNumber: '2876D3' };
|
|
347
331
|
break;
|
|
348
332
|
case String.fromCharCode(4):
|
|
349
|
-
retVal = { name: 'SwitchLinc Dimmer', modelNumber: '2476DH', class:
|
|
333
|
+
retVal = { name: 'SwitchLinc Dimmer', modelNumber: '2476DH', class: Insteon.DimmerLampSwitch.Node };
|
|
350
334
|
break;
|
|
351
335
|
case String.fromCharCode(6):
|
|
352
336
|
retVal = { name: 'LampLinc 2 Pin', modelNumber: '2456D2' };
|
|
@@ -364,7 +348,7 @@ export class InsteonDeviceFactory {
|
|
|
364
348
|
retVal = { name: 'SocketLinc', modelNumber: '2454D' };
|
|
365
349
|
break;
|
|
366
350
|
case '\f':
|
|
367
|
-
retVal = { name: 'KeypadLinc Dimmer 8 Button', modelNumber: '2486DWH8', class:
|
|
351
|
+
retVal = { name: 'KeypadLinc Dimmer 8 Button', modelNumber: '2486DWH8', class: Insteon.KeypadDimmer.Node };
|
|
368
352
|
break;
|
|
369
353
|
case String.fromCharCode(19):
|
|
370
354
|
retVal = { name: 'Icon SwitchLinc Dimmer for Bell Canada' };
|
|
@@ -372,22 +356,22 @@ export class InsteonDeviceFactory {
|
|
|
372
356
|
case String.fromCharCode(23):
|
|
373
357
|
break;
|
|
374
358
|
case String.fromCharCode(31):
|
|
375
|
-
retVal = { name: 'ToggleLinc Dimmer', modelNumber: '2466D', class:
|
|
359
|
+
retVal = { name: 'ToggleLinc Dimmer', modelNumber: '2466D', class: Insteon.DimmerLampSwitch.Node };
|
|
376
360
|
break;
|
|
377
361
|
case String.fromCharCode(24):
|
|
378
362
|
retVal = { name: 'Companion Dimmer', modelNumber: '2474D' };
|
|
379
363
|
break;
|
|
380
364
|
case String.fromCharCode(26):
|
|
381
|
-
retVal = { name: 'InlineLinc Dimmer', modelNumber: '2475D', class:
|
|
365
|
+
retVal = { name: 'InlineLinc Dimmer', modelNumber: '2475D', class: Insteon.DimmerLampSwitch.Node };
|
|
382
366
|
break;
|
|
383
367
|
case String.fromCharCode(5):
|
|
384
368
|
retVal = { name: 'KeypadLinc Countdown Timer', modelNumber: '2484DWH8' };
|
|
385
369
|
break;
|
|
386
370
|
case String.fromCharCode(27):
|
|
387
|
-
retVal = { name: 'KeypadLinc Dimmer 6 Buttons', modelNumber: '2486D', class:
|
|
371
|
+
retVal = { name: 'KeypadLinc Dimmer 6 Buttons', modelNumber: '2486D', class: Insteon.KeypadDimmer.Node };
|
|
388
372
|
break;
|
|
389
373
|
case String.fromCharCode(28):
|
|
390
|
-
retVal = { name: 'KeypadLinc Dimmer 8 Buttons', modelNumber: '2486D', class:
|
|
374
|
+
retVal = { name: 'KeypadLinc Dimmer 8 Buttons', modelNumber: '2486D', class: Insteon.KeypadDimmer.Node };
|
|
391
375
|
break;
|
|
392
376
|
case String.fromCharCode(25):
|
|
393
377
|
retVal = { name: 'SwitchLinc Dimmer W/Beeper', modelNumber: '2476D' };
|
|
@@ -399,31 +383,31 @@ export class InsteonDeviceFactory {
|
|
|
399
383
|
retVal = { name: 'Icon Dimmer', modelNumber: '2876DB' };
|
|
400
384
|
break;
|
|
401
385
|
case String.fromCharCode(29):
|
|
402
|
-
retVal = { name: 'SwitchLinc Dimmer 1000W', modelNumber: '2476DH', class:
|
|
386
|
+
retVal = { name: 'SwitchLinc Dimmer 1000W', modelNumber: '2476DH', class: Insteon.DimmerLampSwitch.Node };
|
|
403
387
|
break;
|
|
404
388
|
case '"':
|
|
405
389
|
retVal = { name: 'LampLinc 2-Pin Dimmer', modelNumber: '2457D2X' };
|
|
406
390
|
break;
|
|
407
391
|
case 'U':
|
|
408
|
-
retVal = { name: 'Dual Band Switchlinc Dimmer', modelNumber: '2432-622', class:
|
|
392
|
+
retVal = { name: 'Dual Band Switchlinc Dimmer', modelNumber: '2432-622', class: Insteon.DimmerLampSwitch.Node };
|
|
409
393
|
break;
|
|
410
394
|
case ' ':
|
|
411
|
-
retVal = { name: 'Dual Band SwitchLinc Dimmer', modelNumber: '2477D', class:
|
|
395
|
+
retVal = { name: 'Dual Band SwitchLinc Dimmer', modelNumber: '2477D', class: Insteon.DimmerLampSwitch.Node };
|
|
412
396
|
break;
|
|
413
397
|
case '1':
|
|
414
|
-
retVal = { name: 'Dual Band SwitchLinc Dimmer (240V)', modelNumber: '2478D', class:
|
|
398
|
+
retVal = { name: 'Dual Band SwitchLinc Dimmer (240V)', modelNumber: '2478D', class: Insteon.DimmerLampSwitch.Node };
|
|
415
399
|
break;
|
|
416
400
|
case '-':
|
|
417
|
-
retVal = { name: 'Dual Band SwitchLinc Dimmer', modelNumber: '2477DH', class:
|
|
401
|
+
retVal = { name: 'Dual Band SwitchLinc Dimmer', modelNumber: '2477DH', class: Insteon.DimmerLampSwitch.Node };
|
|
418
402
|
break;
|
|
419
403
|
case '\'':
|
|
420
|
-
retVal = { name: 'Dual Band SwitchLinc Dimmer', modelNumber: '2477D-SP', class:
|
|
404
|
+
retVal = { name: 'Dual Band SwitchLinc Dimmer', modelNumber: '2477D-SP', class: Insteon.DimmerLampSwitch.Node };
|
|
421
405
|
break;
|
|
422
406
|
case '+':
|
|
423
|
-
retVal = { name: 'Dual Band SwitchLinc Dimmer', modelNumber: '2477DH-SP', class:
|
|
407
|
+
retVal = { name: 'Dual Band SwitchLinc Dimmer', modelNumber: '2477DH-SP', class: Insteon.DimmerLampSwitch.Node };
|
|
424
408
|
break;
|
|
425
409
|
case ')':
|
|
426
|
-
retVal = { name: 'KeypadLinc Dimmer 8 Buttons', modelNumber: '2486D-SP', class:
|
|
410
|
+
retVal = { name: 'KeypadLinc Dimmer 8 Buttons', modelNumber: '2486D-SP', class: Insteon.DimmerLampSwitch.Node };
|
|
427
411
|
break;
|
|
428
412
|
case '*':
|
|
429
413
|
retVal = { name: 'LampLinc 2-Pin Dimmer', modelNumber: '2457D2X-SP' };
|
|
@@ -441,16 +425,16 @@ export class InsteonDeviceFactory {
|
|
|
441
425
|
retVal = { name: 'Ballast Dimmer', modelNumber: '2446-522' };
|
|
442
426
|
break;
|
|
443
427
|
case '.':
|
|
444
|
-
retVal = { name: 'FanLinc', modelNumber: '2475F', class:
|
|
428
|
+
retVal = { name: 'FanLinc', modelNumber: '2475F', class: Insteon.Fan };
|
|
445
429
|
break;
|
|
446
430
|
case '!':
|
|
447
|
-
retVal = { name: 'Dual Band OutletLinc Dimmer', modelNumber: '2472D', class:
|
|
431
|
+
retVal = { name: 'Dual Band OutletLinc Dimmer', modelNumber: '2472D', class: Insteon.DimmerOutlet };
|
|
448
432
|
break;
|
|
449
433
|
case '0':
|
|
450
|
-
retVal = { name: 'SwitchLinc Dimmer', modelNumber: '2476D', class:
|
|
434
|
+
retVal = { name: 'SwitchLinc Dimmer', modelNumber: '2476D', class: Insteon.DimmerLampSwitch.Node };
|
|
451
435
|
break;
|
|
452
436
|
case '$':
|
|
453
|
-
retVal = { name: 'SwitchLinc Dimmer 2-Wire', modelNumber: '2474DWH', class:
|
|
437
|
+
retVal = { name: 'SwitchLinc Dimmer 2-Wire', modelNumber: '2474DWH', class: Insteon.DimmerLampSwitch.Node };
|
|
454
438
|
break;
|
|
455
439
|
case '2':
|
|
456
440
|
retVal = { name: 'InLineLinc Dimmer', modelNumber: '2475DA1' };
|
|
@@ -486,13 +470,13 @@ export class InsteonDeviceFactory {
|
|
|
486
470
|
retVal = { name: 'Din Rail Dimmer', modelNumber: '2452-522' };
|
|
487
471
|
break;
|
|
488
472
|
case 'B':
|
|
489
|
-
retVal = { name: 'KeypadLinc Dimmer 5 Buttons', modelNumber: '2334-2', class:
|
|
473
|
+
retVal = { name: 'KeypadLinc Dimmer 5 Buttons', modelNumber: '2334-2', class: Insteon.KeypadDimmer.Node };
|
|
490
474
|
break;
|
|
491
475
|
case 'A':
|
|
492
|
-
retVal = { name: 'KeypadLinc Dimmer 8 Buttons', modelNumber: '2334-2', class:
|
|
476
|
+
retVal = { name: 'KeypadLinc Dimmer 8 Buttons', modelNumber: '2334-2', class: Insteon.KeypadDimmer.Node };
|
|
493
477
|
break;
|
|
494
478
|
case 'V':
|
|
495
|
-
retVal = { name: 'KeypadLinc Dimmer 6 Buttons', modelNumber: '2334-632', class:
|
|
479
|
+
retVal = { name: 'KeypadLinc Dimmer 6 Buttons', modelNumber: '2334-632', class: Insteon.KeypadDimmer.Node };
|
|
496
480
|
break;
|
|
497
481
|
case String.fromCharCode(11):
|
|
498
482
|
retVal = { name: 'Plugin Dimmer', modelNumber: '2632-422' };
|
|
@@ -509,14 +493,14 @@ export class InsteonDeviceFactory {
|
|
|
509
493
|
case String.fromCharCode(18):
|
|
510
494
|
retVal = { name: 'Plugin Dimmer', modelNumber: '2632-522' };
|
|
511
495
|
}
|
|
512
|
-
if (subAddress !== '1' && retVal.class ===
|
|
513
|
-
retVal.class =
|
|
496
|
+
if (subAddress !== '1' && retVal.class === Insteon.KeypadDimmer.Node) {
|
|
497
|
+
retVal.class = Insteon.KeypadButton.Node;
|
|
514
498
|
}
|
|
515
499
|
if (node.nodeDefId === 'FanLincMotor') {
|
|
516
|
-
retVal.class =
|
|
500
|
+
retVal.class = Insteon.FanLincMotor.Node;
|
|
517
501
|
}
|
|
518
502
|
if (retVal?.class === undefined) {
|
|
519
|
-
retVal.class =
|
|
503
|
+
retVal.class = Insteon.DimmerLamp.Node;
|
|
520
504
|
}
|
|
521
505
|
return retVal;
|
|
522
506
|
}
|
|
@@ -675,66 +659,66 @@ export class InsteonDeviceFactory {
|
|
|
675
659
|
let retVal = null;
|
|
676
660
|
switch (c) {
|
|
677
661
|
case String.fromCharCode(1):
|
|
678
|
-
retVal = { name: 'INSTEON Motion Sensor', modelNumber: '2842-222', class:
|
|
662
|
+
retVal = { name: 'INSTEON Motion Sensor', modelNumber: '2842-222', class: Insteon.MotionSensor };
|
|
679
663
|
break;
|
|
680
664
|
case String.fromCharCode(4):
|
|
681
|
-
retVal = { name: 'INSTEON Motion Sensor', modelNumber: '2842-422', class:
|
|
665
|
+
retVal = { name: 'INSTEON Motion Sensor', modelNumber: '2842-422', class: Insteon.MotionSensor };
|
|
682
666
|
break;
|
|
683
667
|
case String.fromCharCode(5):
|
|
684
|
-
retVal = { name: 'INSTEON Motion Sensor', modelNumber: '2842-522', class:
|
|
668
|
+
retVal = { name: 'INSTEON Motion Sensor', modelNumber: '2842-522', class: Insteon.MotionSensor };
|
|
685
669
|
break;
|
|
686
670
|
case String.fromCharCode(3):
|
|
687
|
-
retVal = { name: 'INSTEON Motion Sensor', modelNumber: '2420M-SP', class:
|
|
671
|
+
retVal = { name: 'INSTEON Motion Sensor', modelNumber: '2420M-SP', class: Insteon.MotionSensor };
|
|
688
672
|
break;
|
|
689
673
|
case String.fromCharCode(2):
|
|
690
|
-
retVal = { name: 'TriggerLinc', modelNumber: '2421', class:
|
|
674
|
+
retVal = { name: 'TriggerLinc', modelNumber: '2421', class: Insteon.DoorWindowSensor };
|
|
691
675
|
break;
|
|
692
676
|
case '\t':
|
|
693
|
-
retVal = { name: 'Open/Close Sensor', modelNumber: '2843-222', class:
|
|
677
|
+
retVal = { name: 'Open/Close Sensor', modelNumber: '2843-222', class: Insteon.DoorWindowSensor };
|
|
694
678
|
break;
|
|
695
679
|
case String.fromCharCode(6):
|
|
696
|
-
retVal = { name: 'Open/Close Sensor', modelNumber: '2843-422', class:
|
|
680
|
+
retVal = { name: 'Open/Close Sensor', modelNumber: '2843-422', class: Insteon.DoorWindowSensor };
|
|
697
681
|
break;
|
|
698
682
|
case String.fromCharCode(7):
|
|
699
683
|
break;
|
|
700
684
|
case String.fromCharCode(25):
|
|
701
|
-
retVal = { name: 'Open/Close Sensor', modelNumber: '2843-522', class:
|
|
685
|
+
retVal = { name: 'Open/Close Sensor', modelNumber: '2843-522', class: Insteon.DoorWindowSensor };
|
|
702
686
|
break;
|
|
703
687
|
case '\b':
|
|
704
|
-
retVal = { name: 'Leak Sensor', modelNumber: '2852-222', class:
|
|
688
|
+
retVal = { name: 'Leak Sensor', modelNumber: '2852-222', class: Insteon.LeakSensor };
|
|
705
689
|
break;
|
|
706
690
|
case '\r':
|
|
707
|
-
retVal = { name: 'Leak Sensor', modelNumber: '2852-422', class:
|
|
691
|
+
retVal = { name: 'Leak Sensor', modelNumber: '2852-422', class: Insteon.LeakSensor };
|
|
708
692
|
break;
|
|
709
693
|
case String.fromCharCode(14):
|
|
710
|
-
retVal = { name: 'Leak Sensor', modelNumber: '2852-522', class:
|
|
694
|
+
retVal = { name: 'Leak Sensor', modelNumber: '2852-522', class: Insteon.LeakSensor };
|
|
711
695
|
break;
|
|
712
696
|
case String.fromCharCode(26):
|
|
713
|
-
retVal = { name: 'Leak Sensor', modelNumber: '2852-522', class:
|
|
697
|
+
retVal = { name: 'Leak Sensor', modelNumber: '2852-522', class: Insteon.LeakSensor };
|
|
714
698
|
break;
|
|
715
699
|
case '\n':
|
|
716
|
-
retVal = { name: 'INSTEON Smoke Sensor', modelNumber: '', class:
|
|
700
|
+
retVal = { name: 'INSTEON Smoke Sensor', modelNumber: '', class: Insteon.SmokeSensor };
|
|
717
701
|
break;
|
|
718
702
|
case String.fromCharCode(17):
|
|
719
|
-
retVal = { name: 'INSTEON Hidden Door Sensor', modelNumber: '2845-222', class:
|
|
703
|
+
retVal = { name: 'INSTEON Hidden Door Sensor', modelNumber: '2845-222', class: Insteon.DoorWindowSensor };
|
|
720
704
|
break;
|
|
721
705
|
case String.fromCharCode(20):
|
|
722
|
-
retVal = { name: 'INSTEON Hidden Door Sensor', modelNumber: '2845-422', class:
|
|
706
|
+
retVal = { name: 'INSTEON Hidden Door Sensor', modelNumber: '2845-422', class: Insteon.DoorWindowSensor };
|
|
723
707
|
break;
|
|
724
708
|
case String.fromCharCode(21):
|
|
725
709
|
break;
|
|
726
710
|
case String.fromCharCode(27):
|
|
727
|
-
retVal = { name: 'INSTEON Hidden Door Sensor', modelNumber: '2845-522', class:
|
|
711
|
+
retVal = { name: 'INSTEON Hidden Door Sensor', modelNumber: '2845-522', class: Insteon.DoorWindowSensor };
|
|
728
712
|
break;
|
|
729
713
|
case String.fromCharCode(22):
|
|
730
|
-
retVal = { name: 'Insteon Motion Sensor II', modelNumber: '2844-222', class:
|
|
714
|
+
retVal = { name: 'Insteon Motion Sensor II', modelNumber: '2844-222', class: Insteon.MotionSensor };
|
|
731
715
|
break;
|
|
732
716
|
case String.fromCharCode(24):
|
|
733
|
-
retVal = { name: 'Insteon Motion Sensor II', modelNumber: '2844-522', class:
|
|
717
|
+
retVal = { name: 'Insteon Motion Sensor II', modelNumber: '2844-522', class: Insteon.MotionSensor };
|
|
734
718
|
}
|
|
735
719
|
if ((node.nodeDefId === 'BinaryAlarm' || node.nodeDefId === 'BinaryAlarm_ADV') && subAddress !== '1') {
|
|
736
720
|
if (retVal) {
|
|
737
|
-
retVal.class =
|
|
721
|
+
retVal.class = Insteon.Base;
|
|
738
722
|
}
|
|
739
723
|
}
|
|
740
724
|
return retVal;
|
|
@@ -814,13 +798,13 @@ export class InsteonDeviceFactory {
|
|
|
814
798
|
retVal = { name: 'All-In-One INSTEON Thermostat Adapter', modelNumber: '2491T' };
|
|
815
799
|
}
|
|
816
800
|
if (retVal?.class === undefined) {
|
|
817
|
-
retVal.class =
|
|
801
|
+
retVal.class = Insteon.Thermostat.Node;
|
|
818
802
|
}
|
|
819
803
|
return retVal;
|
|
820
804
|
}
|
|
821
805
|
static getAccessControlInfo(deviceCode) {
|
|
822
806
|
const c = String.fromCharCode(deviceCode);
|
|
823
|
-
const retVal = { name: '', modelNumber: '', class:
|
|
807
|
+
const retVal = { name: '', modelNumber: '', class: Insteon.Lock };
|
|
824
808
|
switch (c) {
|
|
825
809
|
case String.fromCharCode(6):
|
|
826
810
|
retVal.name = 'MorningLinc';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsteonDeviceFactory.js","sourceRoot":"","sources":["../../../../src/Devices/Insteon/InsteonDeviceFactory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InsteonDeviceFactory.js","sourceRoot":"","sources":["../../../../src/Devices/Insteon/InsteonDeviceFactory.ts"],"names":[],"mappings":"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"}
|