isy-nodejs 0.5.0-beta.54 → 0.5.0-beta.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/lib/Devices/ISYDevice.d.ts +12 -12
  2. package/lib/Devices/Insteon/InsteonCOSensorDevice.d.ts +5 -5
  3. package/lib/Devices/Insteon/InsteonDevice.d.ts +136 -10
  4. package/lib/Devices/Insteon/InsteonDevice.js +10 -11
  5. package/lib/Devices/Insteon/InsteonDeviceFactory.d.ts +2 -2
  6. package/lib/Devices/Insteon/InsteonDeviceFactory.js +10 -10
  7. package/lib/Devices/Insteon/InsteonDimmerSwitchDevice.d.ts +67 -3
  8. package/lib/Devices/Insteon/InsteonDoorWindowSensorDevice.d.ts +5 -5
  9. package/lib/Devices/Insteon/InsteonFanDevice.d.ts +5 -5
  10. package/lib/Devices/Insteon/InsteonLeakSensorDevice.d.ts +5 -5
  11. package/lib/Devices/Insteon/InsteonLockDevice.d.ts +5 -5
  12. package/lib/Devices/Insteon/InsteonRelayDevice.d.ts +5 -5
  13. package/lib/Devices/Insteon/InsteonRelaySwitchDevice.d.ts +67 -3
  14. package/lib/Devices/Insteon/InsteonSmokeSensorDevice.d.ts +5 -5
  15. package/lib/ISY.d.ts +1 -0
  16. package/lib/ISY.js +16 -1
  17. package/package.json +9 -1
  18. package/.babelrc +0 -12
  19. package/.travis.yml +0 -8
  20. package/ISYNodesDump.json +0 -1368
  21. package/isySampleOutput/config.json +0 -1825
  22. package/scratch.js +0 -95
  23. package/src/Categories.ts +0 -19
  24. package/src/Devices/DeviceFactory.ts +0 -20
  25. package/src/Devices/Elk/ElkAlarmPanelDevice.ts +0 -190
  26. package/src/Devices/Elk/ElkAlarmSensorDevice.ts +0 -104
  27. package/src/Devices/ISYDevice.ts +0 -281
  28. package/src/Devices/Insteon/InsteonBallastDimmerDevice.ts +0 -6
  29. package/src/Devices/Insteon/InsteonBaseDevice.ts +0 -43
  30. package/src/Devices/Insteon/InsteonCOSensorDevice.ts +0 -12
  31. package/src/Devices/Insteon/InsteonDeviceFactory.ts +0 -823
  32. package/src/Devices/Insteon/InsteonDimmableDevice.ts +0 -16
  33. package/src/Devices/Insteon/InsteonDimmerOutletDevice.ts +0 -7
  34. package/src/Devices/Insteon/InsteonDimmerSwitchDevice.ts +0 -8
  35. package/src/Devices/Insteon/InsteonDoorWindowSensorDevice.ts +0 -12
  36. package/src/Devices/Insteon/InsteonFanDevice.ts +0 -73
  37. package/src/Devices/Insteon/InsteonKeypadDevice.ts +0 -10
  38. package/src/Devices/Insteon/InsteonKeypadDimmerDevice.ts +0 -10
  39. package/src/Devices/Insteon/InsteonKeypadRelayDevice.ts +0 -7
  40. package/src/Devices/Insteon/InsteonLeakSensorDevice.ts +0 -12
  41. package/src/Devices/Insteon/InsteonLockDevice.ts +0 -42
  42. package/src/Devices/Insteon/InsteonMotionSensorDevice.ts +0 -43
  43. package/src/Devices/Insteon/InsteonOnOffOutletDevice.ts +0 -22
  44. package/src/Devices/Insteon/InsteonRelayDevice.ts +0 -20
  45. package/src/Devices/Insteon/InsteonRelaySwitchDevice.ts +0 -8
  46. package/src/Devices/Insteon/InsteonSmokeSensorDevice.ts +0 -12
  47. package/src/Devices/Insteon/InsteonThermostatDevice.ts +0 -39
  48. package/src/Devices/Insteon/insteondevice.ts +0 -47
  49. package/src/Events/EventType.ts +0 -27
  50. package/src/Events/ISYEvent.ts +0 -9
  51. package/src/Events/NodeEvent.ts +0 -9
  52. package/src/Events/PropertyChangedEvent.ts +0 -11
  53. package/src/Families.ts +0 -30
  54. package/src/ISY.ts +0 -768
  55. package/src/ISYConstants.ts +0 -182
  56. package/src/ISYNode.ts +0 -195
  57. package/src/ISYScene.ts +0 -120
  58. package/src/ISYVariable.ts +0 -49
  59. package/src/isyproductinfo.json +0 -378
  60. package/src/utils.ts +0 -108
  61. package/test/testsuite.js +0 -607
  62. package/tsconfig.json +0 -27
  63. package/tslint.json +0 -28
@@ -45,19 +45,19 @@ export declare class ISYDevice<T extends Family> extends ISYNode {
45
45
  handlePropertyChange(propertyName: string, value: any, formattedValue: string): boolean;
46
46
  }
47
47
  export declare type Constructor<T> = new (...args: any[]) => T;
48
- export declare const ISYBinaryStateDevice: <T extends Constructor<ISYDevice<any>>>(Base: T) => {
48
+ export declare const ISYBinaryStateDevice: <K extends Family, T extends Constructor<ISYDevice<K>>>(Base: T) => {
49
49
  new (...args: any[]): {
50
50
  [x: string]: any;
51
51
  readonly state: boolean;
52
- family: any;
52
+ family: K;
53
53
  readonly typeCode: string;
54
54
  readonly deviceClass: any;
55
55
  readonly parentAddress: any;
56
56
  readonly category: number;
57
57
  readonly subCategory: number;
58
58
  readonly type: any;
59
- _parentDevice: ISYDevice<any>;
60
- readonly children: ISYDevice<any>[];
59
+ _parentDevice: ISYDevice<K>;
60
+ readonly children: ISYDevice<K>[];
61
61
  readonly scenes: ISYScene[];
62
62
  readonly formatted: any[string];
63
63
  readonly uom: any[string];
@@ -67,8 +67,8 @@ export declare const ISYBinaryStateDevice: <T extends Constructor<ISYDevice<any>
67
67
  convertTo(value: any, uom: number): any;
68
68
  convertFrom(value: any, uom: number): any;
69
69
  addLink(isyScene: ISYScene): void;
70
- addChild(childDevice: ISYDevice<any>): void;
71
- readonly parentDevice: ISYDevice<any>;
70
+ addChild(childDevice: ISYDevice<K>): void;
71
+ readonly parentDevice: ISYDevice<K>;
72
72
  refreshProperty(propertyName: string): Promise<any>;
73
73
  updateProperty(propertyName: string, value: string): Promise<any>;
74
74
  sendCommand(command: any, ...parameters: any[]): Promise<any>;
@@ -114,20 +114,20 @@ export declare const ISYBinaryStateDevice: <T extends Constructor<ISYDevice<any>
114
114
  listenerCount(type: string | symbol): number;
115
115
  };
116
116
  } & T;
117
- export declare const ISYUpdateableBinaryStateDevice: <T extends Constructor<ISYDevice<any>>>(Base: T) => {
117
+ export declare const ISYUpdateableBinaryStateDevice: <K extends Family, T extends Constructor<ISYDevice<K>>>(Base: T) => {
118
118
  new (...args: any[]): {
119
119
  [x: string]: any;
120
120
  readonly state: boolean;
121
121
  updateState(state: boolean): Promise<any>;
122
- family: any;
122
+ family: K;
123
123
  readonly typeCode: string;
124
124
  readonly deviceClass: any;
125
125
  readonly parentAddress: any;
126
126
  readonly category: number;
127
127
  readonly subCategory: number;
128
128
  readonly type: any;
129
- _parentDevice: ISYDevice<any>;
130
- readonly children: ISYDevice<any>[];
129
+ _parentDevice: ISYDevice<K>;
130
+ readonly children: ISYDevice<K>[];
131
131
  readonly scenes: ISYScene[];
132
132
  readonly formatted: any[string];
133
133
  readonly uom: any[string];
@@ -137,8 +137,8 @@ export declare const ISYUpdateableBinaryStateDevice: <T extends Constructor<ISYD
137
137
  convertTo(value: any, uom: number): any;
138
138
  convertFrom(value: any, uom: number): any;
139
139
  addLink(isyScene: ISYScene): void;
140
- addChild(childDevice: ISYDevice<any>): void;
141
- readonly parentDevice: ISYDevice<any>;
140
+ addChild(childDevice: ISYDevice<K>): void;
141
+ readonly parentDevice: ISYDevice<K>;
142
142
  refreshProperty(propertyName: string): Promise<any>;
143
143
  updateProperty(propertyName: string, value: string): Promise<any>;
144
144
  sendCommand(command: any, ...parameters: any[]): Promise<any>;
@@ -4,15 +4,15 @@ declare const InsteonCOSensorDevice_base: {
4
4
  new (...args: any[]): {
5
5
  [x: string]: any;
6
6
  readonly state: boolean;
7
- family: any;
7
+ family: import("../../Families").Family;
8
8
  readonly typeCode: string;
9
9
  readonly deviceClass: any;
10
10
  readonly parentAddress: any;
11
11
  readonly category: number;
12
12
  readonly subCategory: number;
13
13
  readonly type: any;
14
- _parentDevice: import("../ISYDevice").ISYDevice<any>;
15
- readonly children: import("../ISYDevice").ISYDevice<any>[];
14
+ _parentDevice: import("../ISYDevice").ISYDevice<import("../../Families").Family>;
15
+ readonly children: import("../ISYDevice").ISYDevice<import("../../Families").Family>[];
16
16
  readonly scenes: import("../../ISYScene").ISYScene[];
17
17
  readonly formatted: any;
18
18
  readonly uom: any;
@@ -22,8 +22,8 @@ declare const InsteonCOSensorDevice_base: {
22
22
  convertTo(value: any, uom: number): any;
23
23
  convertFrom(value: any, uom: number): any;
24
24
  addLink(isyScene: import("../../ISYScene").ISYScene): void;
25
- addChild(childDevice: import("../ISYDevice").ISYDevice<any>): void;
26
- readonly parentDevice: import("../ISYDevice").ISYDevice<any>;
25
+ addChild(childDevice: import("../ISYDevice").ISYDevice<import("../../Families").Family>): void;
26
+ readonly parentDevice: import("../ISYDevice").ISYDevice<import("../../Families").Family>;
27
27
  refreshProperty(propertyName: string): Promise<any>;
28
28
  updateProperty(propertyName: string, value: string): Promise<any>;
29
29
  sendCommand(command: any, ...parameters: any[]): Promise<any>;
@@ -1,19 +1,145 @@
1
- import { ISY, InsteonBaseDevice, Family, ISYDevice } from '../../ISY';
2
- import { InsteonRelayDevice } from './InsteonRelayDevice';
1
+ import { Family, InsteonBaseDevice, ISY, ISYDevice } from '../../ISY';
3
2
  import { Insteon } from '../../Families';
4
3
  import { Constructor } from '../ISYDevice';
5
- export declare const InsteonLampDevice: (InsteonBaseDevice: any) => {
6
- new (isy: any, node: any): {
4
+ import { InsteonRelayDevice } from './InsteonRelayDevice';
5
+ export declare const InsteonLampDevice: <T extends Constructor<InsteonBaseDevice>>(IB: T) => {
6
+ new (...args: any[]): {
7
7
  [x: string]: any;
8
+ convertFrom(value: any, uom: number): any;
9
+ convertTo(value: any, uom: number): any;
10
+ sendBeep(level?: number): Promise<any>;
11
+ family: Family.Insteon;
12
+ readonly typeCode: string;
13
+ readonly deviceClass: any;
14
+ readonly parentAddress: any;
15
+ readonly category: number;
16
+ readonly subCategory: number;
17
+ readonly type: any;
18
+ _parentDevice: ISYDevice<Family.Insteon>;
19
+ readonly children: ISYDevice<Family.Insteon>[];
20
+ readonly scenes: import("../../ISYScene").ISYScene[];
21
+ readonly formatted: any;
22
+ readonly uom: any;
23
+ readonly pending: any;
24
+ hidden: boolean;
25
+ location: string;
26
+ addLink(isyScene: import("../../ISYScene").ISYScene): void;
27
+ addChild(childDevice: ISYDevice<Family.Insteon>): void;
28
+ readonly parentDevice: ISYDevice<Family.Insteon>;
29
+ refreshProperty(propertyName: string): Promise<any>;
30
+ updateProperty(propertyName: string, value: string): Promise<any>;
31
+ sendCommand(command: any, ...parameters: any[]): Promise<any>;
32
+ refresh(): Promise<any>;
33
+ handleControlTrigger(controlName: any): boolean;
34
+ handlePropertyChange(propertyName: string, value: any, formattedValue: string): boolean;
35
+ readonly isy: ISY;
36
+ readonly flag: any;
37
+ readonly nodeDefId: string;
38
+ readonly address: string;
39
+ name: string;
40
+ displayName: string;
41
+ spokenName: string;
42
+ isLoad: boolean;
43
+ folder: string;
44
+ parent: any;
45
+ parentType: import("../../ISYConstants").NodeType;
46
+ readonly elkId: string;
47
+ nodeType: number;
48
+ readonly baseDisplayName: string;
49
+ propsInitialized: boolean;
50
+ logger: (msg: any) => void;
51
+ lastChanged: Date;
52
+ enabled: boolean;
53
+ on(event: "PropertyChanged" | "ControlTriggered", listener: ((propertyName: string, newValue: any, oldValue: any, formattedValue: string) => any) | ((controlName: string) => any)): any;
54
+ emit(event: "PropertyChanged" | "ControlTriggered", propertyName?: string, newValue?: any, oldValue?: any, formattedValue?: string, controlName?: string): boolean;
55
+ handleEvent(event: any): boolean;
56
+ setDisplayName(template: string): string;
57
+ refreshNotes(): Promise<void>;
58
+ getNotes(): Promise<any>;
59
+ addListener(event: string | symbol, listener: (...args: any[]) => void): any;
60
+ once(event: string | symbol, listener: (...args: any[]) => void): any;
61
+ prependListener(event: string | symbol, listener: (...args: any[]) => void): any;
62
+ prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): any;
63
+ removeListener(event: string | symbol, listener: (...args: any[]) => void): any;
64
+ off(event: string | symbol, listener: (...args: any[]) => void): any;
65
+ removeAllListeners(event?: string | symbol): any;
66
+ setMaxListeners(n: number): any;
67
+ getMaxListeners(): number;
68
+ listeners(event: string | symbol): Function[];
69
+ rawListeners(event: string | symbol): Function[];
70
+ eventNames(): (string | symbol)[];
71
+ listenerCount(type: string | symbol): number;
8
72
  };
9
- [x: string]: any;
10
- };
11
- export declare const InsteonSwitchDevice: (InsteonBaseDevice: any) => {
12
- new (isy: any, node: any): {
73
+ } & T;
74
+ export declare const InsteonSwitchDevice: <T extends Constructor<InsteonBaseDevice>>(IB: T) => {
75
+ new (...args: any[]): {
13
76
  [x: string]: any;
77
+ convertFrom(value: any, uom: number): any;
78
+ convertTo(value: any, uom: number): any;
79
+ sendBeep(level?: number): Promise<any>;
80
+ family: Family.Insteon;
81
+ readonly typeCode: string;
82
+ readonly deviceClass: any;
83
+ readonly parentAddress: any;
84
+ readonly category: number;
85
+ readonly subCategory: number;
86
+ readonly type: any;
87
+ _parentDevice: ISYDevice<Family.Insteon>;
88
+ readonly children: ISYDevice<Family.Insteon>[];
89
+ readonly scenes: import("../../ISYScene").ISYScene[];
90
+ readonly formatted: any;
91
+ readonly uom: any;
92
+ readonly pending: any;
93
+ hidden: boolean;
94
+ location: string;
95
+ addLink(isyScene: import("../../ISYScene").ISYScene): void;
96
+ addChild(childDevice: ISYDevice<Family.Insteon>): void;
97
+ readonly parentDevice: ISYDevice<Family.Insteon>;
98
+ refreshProperty(propertyName: string): Promise<any>;
99
+ updateProperty(propertyName: string, value: string): Promise<any>;
100
+ sendCommand(command: any, ...parameters: any[]): Promise<any>;
101
+ refresh(): Promise<any>;
102
+ handleControlTrigger(controlName: any): boolean;
103
+ handlePropertyChange(propertyName: string, value: any, formattedValue: string): boolean;
104
+ readonly isy: ISY;
105
+ readonly flag: any;
106
+ readonly nodeDefId: string;
107
+ readonly address: string;
108
+ name: string;
109
+ displayName: string;
110
+ spokenName: string;
111
+ isLoad: boolean;
112
+ folder: string;
113
+ parent: any;
114
+ parentType: import("../../ISYConstants").NodeType;
115
+ readonly elkId: string;
116
+ nodeType: number;
117
+ readonly baseDisplayName: string;
118
+ propsInitialized: boolean;
119
+ logger: (msg: any) => void;
120
+ lastChanged: Date;
121
+ enabled: boolean;
122
+ on(event: "PropertyChanged" | "ControlTriggered", listener: ((propertyName: string, newValue: any, oldValue: any, formattedValue: string) => any) | ((controlName: string) => any)): any;
123
+ emit(event: "PropertyChanged" | "ControlTriggered", propertyName?: string, newValue?: any, oldValue?: any, formattedValue?: string, controlName?: string): boolean;
124
+ handleEvent(event: any): boolean;
125
+ setDisplayName(template: string): string;
126
+ refreshNotes(): Promise<void>;
127
+ getNotes(): Promise<any>;
128
+ addListener(event: string | symbol, listener: (...args: any[]) => void): any;
129
+ once(event: string | symbol, listener: (...args: any[]) => void): any;
130
+ prependListener(event: string | symbol, listener: (...args: any[]) => void): any;
131
+ prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): any;
132
+ removeListener(event: string | symbol, listener: (...args: any[]) => void): any;
133
+ off(event: string | symbol, listener: (...args: any[]) => void): any;
134
+ removeAllListeners(event?: string | symbol): any;
135
+ setMaxListeners(n: number): any;
136
+ getMaxListeners(): number;
137
+ listeners(event: string | symbol): Function[];
138
+ rawListeners(event: string | symbol): Function[];
139
+ eventNames(): (string | symbol)[];
140
+ listenerCount(type: string | symbol): number;
14
141
  };
15
- [x: string]: any;
16
- };
142
+ } & T;
17
143
  export declare const KeypadDevice: <T extends Constructor<InsteonBaseDevice>>(IB: T) => {
18
144
  new (...args: any[]): {
19
145
  [x: string]: any;
@@ -1,18 +1,17 @@
1
1
  Object.defineProperty(exports, "__esModule", { value: true });
2
2
  exports.InsteonOutletDevice = exports.KeypadDevice = exports.InsteonSwitchDevice = exports.InsteonLampDevice = void 0;
3
3
  const InsteonRelayDevice_1 = require("./InsteonRelayDevice");
4
- exports.InsteonLampDevice = (InsteonBaseDevice) => {
5
- return class extends InsteonBaseDevice {
6
- constructor(isy, node) {
7
- super(isy, node);
8
- this.isDimmable = true;
9
- }
10
- };
11
- };
4
+ exports.InsteonLampDevice = (IB) => (class extends IB {
5
+ constructor(...args) {
6
+ super(args[0], args[1]);
7
+ this.isDimmable = true;
8
+ }
9
+ });
12
10
  // tslint:disable-next-line: variable-name
13
- exports.InsteonSwitchDevice = (InsteonBaseDevice) => (class extends InsteonBaseDevice {
14
- constructor(isy, node) {
15
- super(isy, node);
11
+ exports.InsteonSwitchDevice = (IB) => (class extends IB {
12
+ constructor(...args) {
13
+ super(args[0], args[1]);
14
+ this.isDimmable = true;
16
15
  }
17
16
  });
18
17
  exports.KeypadDevice = (IB) => (class extends IB {
@@ -1,4 +1,4 @@
1
- import { ISYDevice } from '../../ISY';
1
+ import { InsteonBaseDevice, ISYDevice } from '../../ISY';
2
2
  export declare class InsteonDeviceFactory {
3
3
  static getDeviceDetails(node: {
4
4
  family?: any;
@@ -38,7 +38,7 @@ export declare class InsteonDeviceFactory {
38
38
  name: string;
39
39
  modelNumber?: string;
40
40
  version?: string;
41
- class?: typeof ISYDevice;
41
+ class?: typeof InsteonBaseDevice;
42
42
  };
43
43
  private static getNLSDimLightInfo;
44
44
  private static getNLSControllerInfo;
@@ -129,7 +129,7 @@ class InsteonDeviceFactory {
129
129
  }
130
130
  static getNLSSwitchLightInfo(deviceCode, subAddress) {
131
131
  const c = String.fromCharCode(deviceCode);
132
- let retVal = null;
132
+ let retVal = { name: 'Generic Insteon Relay', class: InsteonRelayDevice_1.InsteonRelayDevice };
133
133
  switch (c) {
134
134
  case String.fromCharCode(0o006):
135
135
  retVal = { name: 'ApplianceLinc - Outdoor Plugin Module', modelNumber: '2456S3E' };
@@ -141,10 +141,10 @@ class InsteonDeviceFactory {
141
141
  retVal = { name: 'ApplianceLinc', modelNumber: '2456S3' };
142
142
  break;
143
143
  case '\n':
144
- retVal = { name: 'SwitchLinc Relay', modelNumber: '2476ST' };
144
+ retVal = { name: 'SwitchLinc Relay', modelNumber: '2476ST', class: InsteonRelaySwitchDevice_1.InsteonRelaySwitchDevice };
145
145
  break;
146
146
  case String.fromCharCode(0o013):
147
- retVal = { name: 'Icon On/Off Switch', modelNumber: '2876S', class: InsteonRelaySwitchDevice_1.InsteonRelaySwitchDevice };
147
+ retVal.class = InsteonRelaySwitchDevice_1.InsteonRelaySwitchDevice;
148
148
  break;
149
149
  case '\f':
150
150
  retVal = { name: 'Icon Appliance Adapter', modelNumber: '2856S3' };
@@ -152,12 +152,12 @@ class InsteonDeviceFactory {
152
152
  case '\r':
153
153
  break;
154
154
  case String.fromCharCode(0o032):
155
- retVal = { name: 'ToggleLinc Relay', modelNumber: '2466S' };
155
+ retVal = { name: 'ToggleLinc Relay', modelNumber: '2466S', class: InsteonRelaySwitchDevice_1.InsteonRelaySwitchDevice };
156
156
  break;
157
157
  case String.fromCharCode(0o016):
158
158
  break;
159
159
  case ')':
160
- retVal = { name: 'SwitchLinc Relay Timer', modelNumber: '2476ST' };
160
+ retVal = { name: 'SwitchLinc Relay Timer', modelNumber: '2476ST', class: InsteonRelaySwitchDevice_1.InsteonRelaySwitchDevice };
161
161
  break;
162
162
  case String.fromCharCode(0o021):
163
163
  // return 'EZSwitch30';
@@ -175,13 +175,13 @@ class InsteonDeviceFactory {
175
175
  retVal = { name: 'In-LineLinc Relay W/ Sense', modelNumber: 'B2475S' };
176
176
  break;
177
177
  case String.fromCharCode(0o023):
178
- // return 'Icon SwitchLinc Relay for Bell Canada';
178
+ retVal = { name: 'Icon SwitchLinc Relay for Bell Canada', modelNumber: 'B2475S' };
179
179
  break;
180
180
  case '\b':
181
181
  retVal = { name: 'OutletLinc', modelNumber: '2473', class: InsteonOnOffOutletDevice_1.InsteonOnOffOutletDevice };
182
182
  break;
183
183
  case String.fromCharCode(0o022):
184
- retVal = { name: 'Companion Switch', modelNumber: '2474S' };
184
+ retVal = { name: 'Companion Switch', modelNumber: '2474S', class: InsteonRelaySwitchDevice_1.InsteonRelaySwitchDevice };
185
185
  break;
186
186
  case String.fromCharCode(0o025):
187
187
  retVal = { name: 'SwitchLinc Relay W/ Sense', modelNumber: '2476S', class: InsteonRelaySwitchDevice_1.InsteonRelaySwitchDevice };
@@ -211,7 +211,7 @@ class InsteonDeviceFactory {
211
211
  retVal = { name: 'OutletLinc', modelNumber: '2473-SP', class: InsteonOnOffOutletDevice_1.InsteonOnOffOutletDevice };
212
212
  break;
213
213
  case '#':
214
- retVal = { name: 'SwitchLinc Relay - Remote Control On/Off Switch', modelNumber: '2476S-SP', class: InsteonRelaySwitchDevice_1.InsteonRelaySwitchDevice };
214
+ return { name: 'SwitchLinc Relay - Remote Control On/Off Switch', modelNumber: '2476S-SP', class: InsteonRelaySwitchDevice_1.InsteonRelaySwitchDevice };
215
215
  break;
216
216
  case '"':
217
217
  retVal = { name: 'In-LineLinc Relay', modelNumber: '2475S-SP', class: InsteonRelaySwitchDevice_1.InsteonRelaySwitchDevice };
@@ -270,7 +270,7 @@ class InsteonDeviceFactory {
270
270
  case '6':
271
271
  retVal = { name: 'Plugin Relay', modelNumber: '2633-522' };
272
272
  }
273
- if (subAddress !== '1' && retVal.class === InsteonKeypadDimmerDevice_1.InsteonKeypadDimmerDevice) {
273
+ if (subAddress != '1' && retVal.class === InsteonKeypadRelayDevice_1.InsteonKeypadRelayDevice) {
274
274
  retVal.class = InsteonKeypadDevice_1.InsteonKeypadButtonDevice;
275
275
  }
276
276
  if (retVal.class === undefined) {
@@ -280,7 +280,7 @@ class InsteonDeviceFactory {
280
280
  }
281
281
  static getNLSDimLightInfo(deviceCode, subAddress, node) {
282
282
  const c = String.fromCharCode(deviceCode);
283
- let retVal = null;
283
+ let retVal = { name: 'Generic Insteon Dimmer', class: InsteonDimmableDevice_1.InsteonDimmableDevice };
284
284
  switch (c) {
285
285
  case String.fromCharCode(0o000):
286
286
  retVal = { name: 'LampLinc', modelNumber: '2456D3' };
@@ -1,9 +1,73 @@
1
+ import { InsteonDimmableDevice } from './InsteonDimmableDevice';
1
2
  declare const InsteonDimmerSwitchDevice_base: {
2
- new (isy: any, node: any): {
3
+ new (...args: any[]): {
3
4
  [x: string]: any;
5
+ convertFrom(value: any, uom: number): any;
6
+ convertTo(value: any, uom: number): any;
7
+ sendBeep(level?: number): Promise<any>;
8
+ family: import("../../Families").Family.Insteon;
9
+ readonly typeCode: string;
10
+ readonly deviceClass: any;
11
+ readonly parentAddress: any;
12
+ readonly category: number;
13
+ readonly subCategory: number;
14
+ readonly type: any;
15
+ _parentDevice: import("../ISYDevice").ISYDevice<import("../../Families").Family.Insteon>;
16
+ readonly children: import("../ISYDevice").ISYDevice<import("../../Families").Family.Insteon>[];
17
+ readonly scenes: import("../../ISYScene").ISYScene[];
18
+ readonly formatted: any;
19
+ readonly uom: any;
20
+ readonly pending: any;
21
+ hidden: boolean;
22
+ location: string;
23
+ addLink(isyScene: import("../../ISYScene").ISYScene): void;
24
+ addChild(childDevice: import("../ISYDevice").ISYDevice<import("../../Families").Family.Insteon>): void;
25
+ readonly parentDevice: import("../ISYDevice").ISYDevice<import("../../Families").Family.Insteon>;
26
+ refreshProperty(propertyName: string): Promise<any>;
27
+ updateProperty(propertyName: string, value: string): Promise<any>;
28
+ sendCommand(command: any, ...parameters: any[]): Promise<any>;
29
+ refresh(): Promise<any>;
30
+ handleControlTrigger(controlName: any): boolean;
31
+ handlePropertyChange(propertyName: string, value: any, formattedValue: string): boolean;
32
+ readonly isy: import("../../ISY").ISY;
33
+ readonly flag: any;
34
+ readonly nodeDefId: string;
35
+ readonly address: string;
36
+ name: string;
37
+ displayName: string;
38
+ spokenName: string;
39
+ isLoad: boolean;
40
+ folder: string;
41
+ parent: any;
42
+ parentType: import("../../ISYConstants").NodeType;
43
+ readonly elkId: string;
44
+ nodeType: number;
45
+ readonly baseDisplayName: string;
46
+ propsInitialized: boolean;
47
+ logger: (msg: any) => void;
48
+ lastChanged: Date;
49
+ enabled: boolean;
50
+ on(event: "PropertyChanged" | "ControlTriggered", listener: ((propertyName: string, newValue: any, oldValue: any, formattedValue: string) => any) | ((controlName: string) => any)): any;
51
+ emit(event: "PropertyChanged" | "ControlTriggered", propertyName?: string, newValue?: any, oldValue?: any, formattedValue?: string, controlName?: string): boolean;
52
+ handleEvent(event: any): boolean;
53
+ setDisplayName(template: string): string;
54
+ refreshNotes(): Promise<void>;
55
+ getNotes(): Promise<any>;
56
+ addListener(event: string | symbol, listener: (...args: any[]) => void): any;
57
+ once(event: string | symbol, listener: (...args: any[]) => void): any;
58
+ prependListener(event: string | symbol, listener: (...args: any[]) => void): any;
59
+ prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): any;
60
+ removeListener(event: string | symbol, listener: (...args: any[]) => void): any;
61
+ off(event: string | symbol, listener: (...args: any[]) => void): any;
62
+ removeAllListeners(event?: string | symbol): any;
63
+ setMaxListeners(n: number): any;
64
+ getMaxListeners(): number;
65
+ listeners(event: string | symbol): Function[];
66
+ rawListeners(event: string | symbol): Function[];
67
+ eventNames(): (string | symbol)[];
68
+ listenerCount(type: string | symbol): number;
4
69
  };
5
- [x: string]: any;
6
- };
70
+ } & typeof InsteonDimmableDevice;
7
71
  export declare class InsteonDimmerSwitchDevice extends InsteonDimmerSwitchDevice_base {
8
72
  constructor(isy: any, deviceNode: any);
9
73
  }
@@ -4,15 +4,15 @@ declare const InsteonDoorWindowSensorDevice_base: {
4
4
  new (...args: any[]): {
5
5
  [x: string]: any;
6
6
  readonly state: boolean;
7
- family: any;
7
+ family: import("../../Families").Family;
8
8
  readonly typeCode: string;
9
9
  readonly deviceClass: any;
10
10
  readonly parentAddress: any;
11
11
  readonly category: number;
12
12
  readonly subCategory: number;
13
13
  readonly type: any;
14
- _parentDevice: import("../ISYDevice").ISYDevice<any>;
15
- readonly children: import("../ISYDevice").ISYDevice<any>[];
14
+ _parentDevice: import("../ISYDevice").ISYDevice<import("../../Families").Family>;
15
+ readonly children: import("../ISYDevice").ISYDevice<import("../../Families").Family>[];
16
16
  readonly scenes: import("../../ISYScene").ISYScene[];
17
17
  readonly formatted: any;
18
18
  readonly uom: any;
@@ -22,8 +22,8 @@ declare const InsteonDoorWindowSensorDevice_base: {
22
22
  convertTo(value: any, uom: number): any;
23
23
  convertFrom(value: any, uom: number): any;
24
24
  addLink(isyScene: import("../../ISYScene").ISYScene): void;
25
- addChild(childDevice: import("../ISYDevice").ISYDevice<any>): void;
26
- readonly parentDevice: import("../ISYDevice").ISYDevice<any>;
25
+ addChild(childDevice: import("../ISYDevice").ISYDevice<import("../../Families").Family>): void;
26
+ readonly parentDevice: import("../ISYDevice").ISYDevice<import("../../Families").Family>;
27
27
  refreshProperty(propertyName: string): Promise<any>;
28
28
  updateProperty(propertyName: string, value: string): Promise<any>;
29
29
  sendCommand(command: any, ...parameters: any[]): Promise<any>;
@@ -77,15 +77,15 @@ declare const InsteonFanMotorDevice_base: {
77
77
  [x: string]: any;
78
78
  readonly state: boolean;
79
79
  updateState(state: boolean): Promise<any>;
80
- family: any;
80
+ family: Family;
81
81
  readonly typeCode: string;
82
82
  readonly deviceClass: any;
83
83
  readonly parentAddress: any;
84
84
  readonly category: number;
85
85
  readonly subCategory: number;
86
86
  readonly type: any;
87
- _parentDevice: ISYDevice<any>;
88
- readonly children: ISYDevice<any>[];
87
+ _parentDevice: ISYDevice<Family>;
88
+ readonly children: ISYDevice<Family>[];
89
89
  readonly scenes: import("../../ISYScene").ISYScene[];
90
90
  readonly formatted: any;
91
91
  readonly uom: any;
@@ -95,8 +95,8 @@ declare const InsteonFanMotorDevice_base: {
95
95
  convertTo(value: any, uom: number): any;
96
96
  convertFrom(value: any, uom: number): any;
97
97
  addLink(isyScene: import("../../ISYScene").ISYScene): void;
98
- addChild(childDevice: ISYDevice<any>): void;
99
- readonly parentDevice: ISYDevice<any>;
98
+ addChild(childDevice: ISYDevice<Family>): void;
99
+ readonly parentDevice: ISYDevice<Family>;
100
100
  refreshProperty(propertyName: string): Promise<any>;
101
101
  updateProperty(propertyName: string, value: string): Promise<any>;
102
102
  sendCommand(command: any, ...parameters: any[]): Promise<any>;
@@ -4,15 +4,15 @@ declare const InsteonLeakSensorDevice_base: {
4
4
  new (...args: any[]): {
5
5
  [x: string]: any;
6
6
  readonly state: boolean;
7
- family: any;
7
+ family: import("../../Families").Family;
8
8
  readonly typeCode: string;
9
9
  readonly deviceClass: any;
10
10
  readonly parentAddress: any;
11
11
  readonly category: number;
12
12
  readonly subCategory: number;
13
13
  readonly type: any;
14
- _parentDevice: import("../ISYDevice").ISYDevice<any>;
15
- readonly children: import("../ISYDevice").ISYDevice<any>[];
14
+ _parentDevice: import("../ISYDevice").ISYDevice<import("../../Families").Family>;
15
+ readonly children: import("../ISYDevice").ISYDevice<import("../../Families").Family>[];
16
16
  readonly scenes: import("../../ISYScene").ISYScene[];
17
17
  readonly formatted: any;
18
18
  readonly uom: any;
@@ -22,8 +22,8 @@ declare const InsteonLeakSensorDevice_base: {
22
22
  convertTo(value: any, uom: number): any;
23
23
  convertFrom(value: any, uom: number): any;
24
24
  addLink(isyScene: import("../../ISYScene").ISYScene): void;
25
- addChild(childDevice: import("../ISYDevice").ISYDevice<any>): void;
26
- readonly parentDevice: import("../ISYDevice").ISYDevice<any>;
25
+ addChild(childDevice: import("../ISYDevice").ISYDevice<import("../../Families").Family>): void;
26
+ readonly parentDevice: import("../ISYDevice").ISYDevice<import("../../Families").Family>;
27
27
  refreshProperty(propertyName: string): Promise<any>;
28
28
  updateProperty(propertyName: string, value: string): Promise<any>;
29
29
  sendCommand(command: any, ...parameters: any[]): Promise<any>;
@@ -5,15 +5,15 @@ declare const InsteonLockDevice_base: {
5
5
  [x: string]: any;
6
6
  readonly state: boolean;
7
7
  updateState(state: boolean): Promise<any>;
8
- family: any;
8
+ family: import("../../Families").Family;
9
9
  readonly typeCode: string;
10
10
  readonly deviceClass: any;
11
11
  readonly parentAddress: any;
12
12
  readonly category: number;
13
13
  readonly subCategory: number;
14
14
  readonly type: any;
15
- _parentDevice: import("../ISYDevice").ISYDevice<any>;
16
- readonly children: import("../ISYDevice").ISYDevice<any>[];
15
+ _parentDevice: import("../ISYDevice").ISYDevice<import("../../Families").Family>;
16
+ readonly children: import("../ISYDevice").ISYDevice<import("../../Families").Family>[];
17
17
  readonly scenes: import("../../ISYScene").ISYScene[];
18
18
  readonly formatted: any;
19
19
  readonly uom: any;
@@ -23,8 +23,8 @@ declare const InsteonLockDevice_base: {
23
23
  convertTo(value: any, uom: number): any;
24
24
  convertFrom(value: any, uom: number): any;
25
25
  addLink(isyScene: import("../../ISYScene").ISYScene): void;
26
- addChild(childDevice: import("../ISYDevice").ISYDevice<any>): void;
27
- readonly parentDevice: import("../ISYDevice").ISYDevice<any>;
26
+ addChild(childDevice: import("../ISYDevice").ISYDevice<import("../../Families").Family>): void;
27
+ readonly parentDevice: import("../ISYDevice").ISYDevice<import("../../Families").Family>;
28
28
  refreshProperty(propertyName: string): Promise<any>;
29
29
  updateProperty(propertyName: string, value: string): Promise<any>;
30
30
  sendCommand(command: any, ...parameters: any[]): Promise<any>;
@@ -5,15 +5,15 @@ declare const InsteonRelayDevice_base: {
5
5
  [x: string]: any;
6
6
  readonly state: boolean;
7
7
  updateState(state: boolean): Promise<any>;
8
- family: any;
8
+ family: import("../../Families").Family;
9
9
  readonly typeCode: string;
10
10
  readonly deviceClass: any;
11
11
  readonly parentAddress: any;
12
12
  readonly category: number;
13
13
  readonly subCategory: number;
14
14
  readonly type: any;
15
- _parentDevice: import("../ISYDevice").ISYDevice<any>;
16
- readonly children: import("../ISYDevice").ISYDevice<any>[];
15
+ _parentDevice: import("../ISYDevice").ISYDevice<import("../../Families").Family>;
16
+ readonly children: import("../ISYDevice").ISYDevice<import("../../Families").Family>[];
17
17
  readonly scenes: import("../../ISYScene").ISYScene[];
18
18
  readonly formatted: any;
19
19
  readonly uom: any;
@@ -23,8 +23,8 @@ declare const InsteonRelayDevice_base: {
23
23
  convertTo(value: any, uom: number): any;
24
24
  convertFrom(value: any, uom: number): any;
25
25
  addLink(isyScene: import("../../ISYScene").ISYScene): void;
26
- addChild(childDevice: import("../ISYDevice").ISYDevice<any>): void;
27
- readonly parentDevice: import("../ISYDevice").ISYDevice<any>;
26
+ addChild(childDevice: import("../ISYDevice").ISYDevice<import("../../Families").Family>): void;
27
+ readonly parentDevice: import("../ISYDevice").ISYDevice<import("../../Families").Family>;
28
28
  refreshProperty(propertyName: string): Promise<any>;
29
29
  updateProperty(propertyName: string, value: string): Promise<any>;
30
30
  sendCommand(command: any, ...parameters: any[]): Promise<any>;