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
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Endpoint } from '@project-chip/matter.js/endpoint';
|
|
2
|
+
import { BridgedDeviceBasicInformationBehavior, BridgedDeviceBasicInformationServer } from '@project-chip/matter.js/behaviors/bridged-device-basic-information';
|
|
3
|
+
export const MatterEndpoint = (base, endpointType) => {
|
|
4
|
+
return class extends base {
|
|
5
|
+
endpointType = endpointType;
|
|
6
|
+
createEndpoint() {
|
|
7
|
+
var p = this.endpointType.with(BridgedDeviceBasicInformationServer);
|
|
8
|
+
const id = this.address.replaceAll(' ', '_').replaceAll('.', ' ');
|
|
9
|
+
return new Endpoint(p, { id: id, address: this.address, bridgedDeviceBasicInformation: {
|
|
10
|
+
nodeLabel: this.label.rightWithToken(32, ' '),
|
|
11
|
+
productName: this.productName.rightWithToken(32, ' '),
|
|
12
|
+
productLabel: this.model.leftWithToken(64, ' '),
|
|
13
|
+
serialNumber: id,
|
|
14
|
+
reachable: this.enabled,
|
|
15
|
+
} });
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
// @ts-ignore
|
|
20
|
+
const BISY = BridgedDeviceBasicInformationBehavior.alter({ attributes: { address: { optional: false }, ...BridgedDeviceBasicInformationServer.cluster.attributes } });
|
|
21
|
+
export class BridgedISYNodeInformationServer extends BridgedDeviceBasicInformationServer {
|
|
22
|
+
async initialize() {
|
|
23
|
+
return super.initialize();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
(function (BridgedISYNodeInformationServer) {
|
|
27
|
+
class State extends BridgedDeviceBasicInformationServer.State {
|
|
28
|
+
}
|
|
29
|
+
BridgedISYNodeInformationServer.State = State;
|
|
30
|
+
})(BridgedISYNodeInformationServer || (BridgedISYNodeInformationServer = {}));
|
|
31
|
+
//# sourceMappingURL=EndpointFor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EndpointFor.js","sourceRoot":"","sources":["../../../src/Devices/EndpointFor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAS5D,OAAO,EAAE,qCAAqC,EAAE,mCAAmC,EAAE,MAAM,oEAAoE,CAAC;AA2BhK,MAAM,CAAC,MAAM,cAAc,GAAE,CAA8F,IAAO,EAAE,YAAe,EAAE,EAAE;IAItJ,OAAO,KAAM,SAAQ,IAAI;QAGxB,YAAY,GAAM,YAAY,CAAC;QAI/B,cAAc;YAEb,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YAEnE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAEnE,OAAO,IAAI,QAAQ,CAAC,CAAC,EAAC,EAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,6BAA6B,EAAE;oBAEpF,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,EAAC,GAAG,CAAC;oBAChC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,EAAC,GAAG,CAAC;oBACpD,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAC,GAAG,CAAC;oBAC9C,YAAY,EAAE,EAAE;oBAChB,SAAS,EAAE,IAAI,CAAC,OAAO;iBAC1B,EAAC,CAAC,CAAC;QAId,CAAC;KAIF,CAAA;AACD,CAAC,CAAA;AAEA,aAAa;AACX,MAAM,IAAI,GAAG,qCAAqC,CAAC,KAAK,CAAC,EAAC,UAAU,EAAE,EAAC,OAAO,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAC,EAAE,GAAG,mCAAmC,CAAC,OAAO,CAAC,UAAU,EAAC,EAAC,CAAC,CAAC;AAGjK,MAAM,OAAO,+BAAgC,SAAQ,mCAAmC;IAG7E,KAAK,CAAC,UAAU;QAIrB,OAAO,KAAK,CAAC,UAAU,EAAE,CAAC;IAI9B,CAAC;CACF;AAED,WAAiB,+BAA+B;IAC9C,MAAa,KAAM,SAAQ,mCAAmC,CAAC,KAAK;KAGnE;IAHY,qCAAK,QAGjB,CAAA;AACL,CAAC,EALkB,+BAA+B,KAA/B,+BAA+B,QAKjD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import 'winston';
|
|
2
|
+
// export const ISYLevelDevice = <T extends Constructor<ISYDeviceNode<any,any,any,any>>>(base: T) =>
|
|
3
|
+
// class extends base {
|
|
4
|
+
// get level(): number {
|
|
5
|
+
// return super.drivers.ST?.value;
|
|
6
|
+
// }
|
|
7
|
+
// };
|
|
8
|
+
// tslint:disable-next-line: variable-name
|
|
9
|
+
// export const ISYUpdateableLevelDevice = <T extends Constructor<ISYDeviceNode<any,any,any>>>(base: T) =>
|
|
10
|
+
// class extends base {
|
|
11
|
+
// get level(): number {
|
|
12
|
+
// return this.local.ST;
|
|
13
|
+
// }
|
|
14
|
+
// public async updateLevel(level: number): Promise<any> {
|
|
15
|
+
// if (level != this.local.ST && level !== (this.pending.ST ?? this.local.ST)) {
|
|
16
|
+
// this.pending.ST = level;
|
|
17
|
+
// if (level > 0) {
|
|
18
|
+
// return this.sendCommand(
|
|
19
|
+
// Commands.On,
|
|
20
|
+
// this.convertTo(level, this.uom.ST)
|
|
21
|
+
// ).then((p) => {
|
|
22
|
+
// //this.local.ST = this.pending.ST; *Wait to receive propertu update from subscription
|
|
23
|
+
// this.pending.ST = null;
|
|
24
|
+
// });
|
|
25
|
+
// } else {
|
|
26
|
+
// return this.sendCommand(Commands.Off).then((p) => {
|
|
27
|
+
// //this.local.ST = this.pending.ST; *Wait to receive propertu update from subscription
|
|
28
|
+
// this.pending.ST = null;
|
|
29
|
+
// });
|
|
30
|
+
// }
|
|
31
|
+
// }
|
|
32
|
+
// return Promise.resolve();
|
|
33
|
+
// }
|
|
34
|
+
// };
|
|
35
|
+
//# sourceMappingURL=ISYDevice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISYDevice.js","sourceRoot":"","sources":["../../../src/Devices/ISYDevice.ts"],"names":[],"mappings":"AAOA,OAAO,SAAS,CAAA;AAoGhB,oGAAoG;AACpG,wBAAwB;AACxB,0BAA0B;AAC1B,qCAAqC;AACrC,MAAM;AACN,MAAM;AAEN,0CAA0C;AAE1C,0GAA0G;AAC1G,wBAAwB;AACxB,0BAA0B;AAC1B,2BAA2B;AAC3B,MAAM;AAEN,4DAA4D;AAC5D,mFAAmF;AAEnF,+BAA+B;AAC/B,uBAAuB;AACvB,gCAAgC;AAChC,qBAAqB;AACrB,2CAA2C;AAC3C,uBAAuB;AACvB,8FAA8F;AAC9F,gCAAgC;AAChC,WAAW;AACX,eAAe;AACf,2DAA2D;AAC3D,8FAA8F;AAC9F,gCAAgC;AAChC,WAAW;AACX,QAAQ;AACR,OAAO;AACP,+BAA+B;AAC/B,MAAM;AACN,MAAM"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ISYNode } from '../ISYNode.js';
|
|
2
|
+
export class ISYDeviceNode extends ISYNode {
|
|
3
|
+
typeCode;
|
|
4
|
+
deviceClass;
|
|
5
|
+
category;
|
|
6
|
+
subCategory;
|
|
7
|
+
declare;
|
|
8
|
+
//public readonly isDimmable: boolean;
|
|
9
|
+
//public _parentDevice: ISYDeviceNode<T, any, any, any>;
|
|
10
|
+
//public readonly children: Array<ISYDeviceNode<T, any, any, any>> = [];
|
|
11
|
+
_enabled;
|
|
12
|
+
productName;
|
|
13
|
+
model;
|
|
14
|
+
modelNumber;
|
|
15
|
+
version;
|
|
16
|
+
constructor(isy, node) {
|
|
17
|
+
super(isy, node);
|
|
18
|
+
this.family = node.family;
|
|
19
|
+
this.nodeType = 1;
|
|
20
|
+
this.type = node.type;
|
|
21
|
+
this._enabled = node.enabled;
|
|
22
|
+
this.deviceClass = node.deviceClass;
|
|
23
|
+
this.parentAddress = node.pnode;
|
|
24
|
+
const s = this.type.split(".");
|
|
25
|
+
this.category = Number(s[0]);
|
|
26
|
+
this.subCategory = Number(s[1]);
|
|
27
|
+
// console.log(nodeDetail);
|
|
28
|
+
// if (this.parentAddress !== this.address && this.parentAddress !== undefined) {
|
|
29
|
+
// this._parentDevice = isy.getDevice(this.parentAddress) as unknown as ISYDeviceNode<T, any, any, any>;
|
|
30
|
+
// if (!isNullOrUndefined(this._parentDevice)) {
|
|
31
|
+
// this._parentDevice.addChild(this);
|
|
32
|
+
// }
|
|
33
|
+
// }
|
|
34
|
+
// if (Array.isArray(node.property)) {
|
|
35
|
+
// for (const prop of node.property) {
|
|
36
|
+
// this.local[prop.id] = this.convertFrom(prop.value, prop.uom, prop.id as Driver.Literal);
|
|
37
|
+
// this.formatted[prop.id] = prop.formatted;
|
|
38
|
+
// this.uom[prop.id] = prop.uom;
|
|
39
|
+
// this.logger(
|
|
40
|
+
// `Property ${Controls[prop.id].label} (${prop.id}) initialized to: ${this.local[prop.id]} (${this.formatted[prop.id]})`
|
|
41
|
+
// );
|
|
42
|
+
// }
|
|
43
|
+
// } else if (node.property) {
|
|
44
|
+
// this.local[node.property.id] = this.convertFrom(
|
|
45
|
+
// node.property.value,
|
|
46
|
+
// node.property.uom,
|
|
47
|
+
// node.property.id as Driver.Literal
|
|
48
|
+
// );
|
|
49
|
+
// this.formatted[node.property.id] = node.property.formatted;
|
|
50
|
+
// this.uom[node.property.id] = node.property.uom;
|
|
51
|
+
// this.logger(
|
|
52
|
+
// `Property ${Controls[node.property.id].label} (${node.property.id}) initialized to: ${this.local[node.property.id]} (${this.formatted[node.property.id]})`
|
|
53
|
+
// );
|
|
54
|
+
// }
|
|
55
|
+
}
|
|
56
|
+
_parentDevice;
|
|
57
|
+
children;
|
|
58
|
+
addChild(childDevice) {
|
|
59
|
+
this.children.push(childDevice);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=ISYDeviceNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISYDeviceNode.js","sourceRoot":"","sources":["../../../src/Devices/ISYDeviceNode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAUvC,MAAM,OAAO,aAMX,SAAQ,OAAmB;IAIX,QAAQ,CAAS;IACjB,WAAW,CAAM;IACjB,QAAQ,CAAW;IACnB,WAAW,CAAS;IAGpC,OAAO,CAAA;IAEP,sCAAsC;IAEtC,wDAAwD;IACxD,wEAAwE;IAGjE,QAAQ,CAAM;IACrB,WAAW,CAAS;IACpB,KAAK,CAAS;IACd,WAAW,CAAS;IACpB,OAAO,CAAS;IAEhB,YAAa,GAAQ,EAAE,IAAc;QAEnC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;QAChC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhC,2BAA2B;QAC3B,iFAAiF;QACjF,0GAA0G;QAC1G,kDAAkD;QAClD,yCAAyC;QACzC,MAAM;QACN,IAAI;QACJ,sCAAsC;QACtC,wCAAwC;QACxC,+FAA+F;QAC/F,gDAAgD;QAChD,oCAAoC;QACpC,mBAAmB;QACnB,+HAA+H;QAC/H,SAAS;QACT,MAAM;QACN,8BAA8B;QAC9B,qDAAqD;QACrD,2BAA2B;QAC3B,yBAAyB;QACzB,yCAAyC;QACzC,OAAO;QACP,gEAAgE;QAChE,oDAAoD;QACpD,iBAAiB;QACjB,iKAAiK;QACjK,OAAO;QACP,IAAI;IACN,CAAC;IAED,aAAa,CAA8B;IAC3C,QAAQ,CAAgC;IAEjC,QAAQ,CAAuC,WAAc;QAClE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;CAuEF"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
/*
|
|
3
|
+
|
|
4
|
+
export class ISYMultiNodeDevice<T extends Family, N extends NodeList>
|
|
5
|
+
implements ISYDevice<T, ISYNode.DriverMap<N>, ISYNode.CommandMap<N>, string> {
|
|
6
|
+
commands: UnionToIntersection<{ [x in keyof N]: ISYNode.CommandsOf<N[x]>; } extends Record<string, unknown> ? keyof N extends string ? { [x in keyof N]: ISYNode.CommandsOf<N[x]>; }[string & keyof N] extends Record<string, unknown> ? keyof { [x in keyof N]: ISYNode.CommandsOf<N[x]>; }[string & keyof N] extends string ? { [x in `${string & keyof N}.${string & keyof { [x in keyof N]: ISYNode.CommandsOf<N[x]>; }[string & keyof N]}`]: { [x in keyof N]: ISYNode.CommandsOf<N[x]>; }[string & keyof N][x extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? any : B : B : B : B : B : B : B : B : B : B : x]; } : never : never : never : never>;
|
|
7
|
+
readProperty(propertyName: keyof UnionToIntersection<{ [x in keyof N]: ISYNode.DriversOf<N[x]>; } extends Record<string, unknown> ? keyof N extends string ? { [x in keyof N]: ISYNode.DriversOf<N[x]>; }[string & keyof N] extends Record<string, unknown> ? keyof { [x in keyof N]: ISYNode.DriversOf<N[x]>; }[string & keyof N] extends string ? { [x in `${string & keyof N}.${string & keyof { [x in keyof N]: ISYNode.DriversOf<N[x]>; }[string & keyof N]}`]: { [x in keyof N]: ISYNode.DriversOf<N[x]>; }[string & keyof N][x extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? any : B : B : B : B : B : B : B : B : B : B : x]; } : never : never : never : never>): Promise<DriverState> {
|
|
8
|
+
throw new Error('Method not implemented.');
|
|
9
|
+
}
|
|
10
|
+
sendCommand(command: Extract<keyof UnionToIntersection<{ [x in keyof N]: ISYNode.CommandsOf<N[x]>; } extends Record<string, unknown> ? keyof N extends string ? { [x in keyof N]: ISYNode.CommandsOf<N[x]>; }[string & keyof N] extends Record<string, unknown> ? keyof { [x in keyof N]: ISYNode.CommandsOf<N[x]>; }[string & keyof N] extends string ? { [x in `${string & keyof N}.${string & keyof { [x in keyof N]: ISYNode.CommandsOf<N[x]>; }[string & keyof N]}`]: { [x in keyof N]: ISYNode.CommandsOf<N[x]>; }[string & keyof N][x extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? B extends `${infer A}.${infer B}` ? any : B : B : B : B : B : B : B : B : B : B : x]; } : never : never : never : never>, string>, parameters?: Record<string | symbol, string | number> | string | number): Promise<any> {
|
|
11
|
+
throw new Error('Method not implemented.');
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
updateProperty(propertyName: keyof ISYNode.DriverMap<N>, value: string): Promise<any> {
|
|
15
|
+
throw new Error('Method not implemented.');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
handleControlTrigger(controlName: string): boolean {
|
|
19
|
+
throw new Error('Method not implemented.');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
_parentDevice: ISYDevice<T, any, any, any>;
|
|
23
|
+
children: ISYNode<any, any, any, any>[];
|
|
24
|
+
convertTo(value: any, uom: number);
|
|
25
|
+
convertTo(value: any, uom: number, propertyName: keyof DriverMap<N>);
|
|
26
|
+
convertTo(value: unknown, uom: unknown, propertyName?: unknown): any {
|
|
27
|
+
throw new Error('Method not implemented.');
|
|
28
|
+
}
|
|
29
|
+
convertFrom(value: any, uom: number);
|
|
30
|
+
convertFrom(value: any, uom: number, propertyName: keyof DriverMap<N>);
|
|
31
|
+
convertFrom(value: unknown, uom: unknown, propertyName?: unknown): any {
|
|
32
|
+
throw new Error('Method not implemented.');
|
|
33
|
+
}
|
|
34
|
+
addLink(isyScene: ISYScene): void {
|
|
35
|
+
throw new Error('Method not implemented.');
|
|
36
|
+
}
|
|
37
|
+
addChild(childDevice: ISYNode<any, any, any, any>): void {
|
|
38
|
+
throw new Error('Method not implemented.');
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
readProperties(): Promise<DriverState[]> {
|
|
42
|
+
throw new Error('Method not implemented.');
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
refresh(): Promise<any> {
|
|
46
|
+
throw new Error('Method not implemented.');
|
|
47
|
+
}
|
|
48
|
+
refreshNotes(): Promise<void> {
|
|
49
|
+
throw new Error('Method not implemented.');
|
|
50
|
+
}
|
|
51
|
+
parseResult(node: { property: DriverState | DriverState[]; }): void {
|
|
52
|
+
throw new Error('Method not implemented.');
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
handlePropertyChange(propertyName: keyof ISYNode.DriverMap<N> & string, value: any, uom: UnitOfMeasure, prec: number, formattedValue: string): boolean {
|
|
56
|
+
throw new Error('Method not implemented.');
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
logger(arg0: string): unknown {
|
|
60
|
+
throw new Error('Method not implemented.');
|
|
61
|
+
}
|
|
62
|
+
handleEvent(evt: any): unknown {
|
|
63
|
+
throw new Error('Method not implemented.');
|
|
64
|
+
}
|
|
65
|
+
on(arg0: string, arg1: any): unknown {
|
|
66
|
+
throw new Error('Method not implemented.');
|
|
67
|
+
}
|
|
68
|
+
name: any;
|
|
69
|
+
drivers: Driver.ForAll<ISYNode.DriverMap<N>>;
|
|
70
|
+
address: string;
|
|
71
|
+
family: T;
|
|
72
|
+
typeCode: string;
|
|
73
|
+
deviceClass: any;
|
|
74
|
+
parentAddress: any;
|
|
75
|
+
category: number;
|
|
76
|
+
subCategory: number;
|
|
77
|
+
type: any;
|
|
78
|
+
scenes: ISYScene[];
|
|
79
|
+
hidden: boolean;
|
|
80
|
+
enabled: boolean;
|
|
81
|
+
productName: string;
|
|
82
|
+
model: string;
|
|
83
|
+
modelNumber: string;
|
|
84
|
+
version: string;
|
|
85
|
+
isDimmable: boolean;
|
|
86
|
+
label: string;
|
|
87
|
+
|
|
88
|
+
} */
|
|
89
|
+
//# sourceMappingURL=ISYMultiNodeDevice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISYMultiNodeDevice.js","sourceRoot":"","sources":["../../../src/Devices/ISYMultiNodeDevice.ts"],"names":[],"mappings":";AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsFI"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InsteonDimmableDevice } from './InsteonDimmableDevice.js';
|
|
2
|
+
import 'winston';
|
|
3
|
+
export class InsteonBallastDimmerDevice extends InsteonDimmableDevice {
|
|
4
|
+
constructor(isy, deviceNode) {
|
|
5
|
+
super(isy, deviceNode);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=InsteonBallastDimmerDevice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsteonBallastDimmerDevice.js","sourceRoot":"","sources":["../../../../src/Devices/Insteon/InsteonBallastDimmerDevice.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,SAAS,CAAC;AACjB,MAAM,OAAO,0BAA2B,SAAQ,qBAAqB;IACjE,YAAa,GAAQ,EAAE,UAAoB;QACvC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC3B,CAAC;CACJ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import 'winston';
|
|
2
|
-
import {
|
|
2
|
+
import { Converter } from '../../Converters.js';
|
|
3
3
|
import { Driver } from '../../Definitions/Global/Drivers.js';
|
|
4
4
|
import { Family } from '../../Definitions/Global/Families.js';
|
|
5
5
|
import { UnitOfMeasure as UOM, UnitOfMeasure } from '../../Definitions/Global/UOM.js';
|
|
@@ -22,7 +22,7 @@ export class InsteonBaseDevice extends ISYDeviceNode {
|
|
|
22
22
|
case UOM.DegreeX2:
|
|
23
23
|
return byteToDegree(value);
|
|
24
24
|
case UOM.LevelFrom0To255:
|
|
25
|
-
return
|
|
25
|
+
return Converter.Standard.LevelFrom0To255.Percent.to(value);
|
|
26
26
|
case UOM.Fahrenheit:
|
|
27
27
|
return value / 10;
|
|
28
28
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsteonBaseDevice.js","sourceRoot":"","sources":["../../../../src/Devices/Insteon/InsteonBaseDevice.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAC;AACjB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"InsteonBaseDevice.js","sourceRoot":"","sources":["../../../../src/Devices/Insteon/InsteonBaseDevice.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAc,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,MAAM,EAAW,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,aAAa,IAAI,GAAG,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAItF,OAAO,EAAE,YAAY,EAAa,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKpD,+CAA+C;AAC/C,MAAM,OAAO,iBAAqG,SAAQ,aAIzH;IACA,2BAA2B;IAE3B,YAAY,GAAQ,EAAE,UAAoB;QACzC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,OAAe,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAW,EAAE,UAAU,CAAC,QAAuB,EAAE,EAAE,GAAG,EAAE,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QACzK,sGAAsG;QACtG,wBAAwB;IACzB,CAAC;IAED,8BAA8B;IAE9B,6BAA6B;IAEb,WAAW,CAAC,KAAU,EAAE,GAAkB,EAAE,SAAkB,IAAI;QACjF,QAAQ,GAAG,EAAE,CAAC;YACb,KAAK,GAAG,CAAC,QAAQ;gBAChB,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;YAC5B,KAAK,GAAG,CAAC,eAAe;gBACvB,OAAO,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YAC7D,KAAK,GAAG,CAAC,UAAU;gBAClB,OAAO,KAAK,GAAG,EAAE,CAAC;YACnB;gBACC,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;IAEe,SAAS,CAAC,KAAU,EAAE,GAAkB,EAAE,eAAwB,IAAI;QACrF,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACzC,QAAQ,GAAG,EAAE,CAAC;YACb,KAAK,GAAG,CAAC,QAAQ;gBAChB,OAAO,IAAI,GAAG,CAAC,CAAC;YACjB,KAAK,GAAG,CAAC,eAAe;gBACvB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,KAAK,GAAG,CAAC,UAAU;gBAClB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YAC/B;gBACC,OAAO,IAAI,CAAC;QACd,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,QAAgB,GAAG;QACxC,uBAAuB;IACxB,CAAC;CAGD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsteonDimmerOutletDevice.js","sourceRoot":"","sources":["../../../../src/Devices/Insteon/InsteonDimmerOutletDevice.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,OAAO,yBAA0B,SAAQ,qBAAqB;IACnE,YAAa,GAAQ,EAAE,UAAoB;QAC1C,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACxB,CAAC;CACD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InsteonDimmableDevice } from './InsteonDimmableDevice.js';
|
|
2
|
+
import 'winston';
|
|
3
|
+
export class InsteonDimmerSwitchDevice extends InsteonDimmableDevice {
|
|
4
|
+
constructor(isy, deviceNode) {
|
|
5
|
+
super(isy, deviceNode);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=InsteonDimmerSwitchDevice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsteonDimmerSwitchDevice.js","sourceRoot":"","sources":["../../../../src/Devices/Insteon/InsteonDimmerSwitchDevice.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,SAAS,CAAC;AAEjB,MAAM,OAAO,yBAA0B,SAAQ,qBAAqB;IACnE,YAAa,GAAQ,EAAE,UAAoB;QAC1C,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACxB,CAAC;CACD"}
|
|
@@ -15,7 +15,7 @@ export class InsteonFanMotorDevice extends InsteonBaseDevice {
|
|
|
15
15
|
return this.drivers.ST.value;
|
|
16
16
|
}
|
|
17
17
|
async updateFanSpeed(level) {
|
|
18
|
-
return
|
|
18
|
+
return level;
|
|
19
19
|
}
|
|
20
20
|
async updateIsOn(isOn) {
|
|
21
21
|
if (!isOn) {
|
|
@@ -32,7 +32,7 @@ export class InsteonFanDevice extends InsteonBaseDevice {
|
|
|
32
32
|
constructor(isy, deviceNode) {
|
|
33
33
|
super(isy, deviceNode);
|
|
34
34
|
this.light = new InsteonDimmableDevice(isy, deviceNode);
|
|
35
|
-
this.light.events.on('PropertyChanged', ((a, b, c, d) => { this.emit('PropertyChanged', `light.${a}`, b, c, d); }).bind(this))
|
|
35
|
+
/*this.light.events.on('PropertyChanged', ((a: any, b: any, c: any, d: string) => { this.emit('PropertyChanged', `light.${a}`, b, c, d); }).bind(this));*/
|
|
36
36
|
this.addChild(this.light);
|
|
37
37
|
}
|
|
38
38
|
handleEvent(event) {
|
|
@@ -48,7 +48,9 @@ export class InsteonFanDevice extends InsteonBaseDevice {
|
|
|
48
48
|
if (childDevice instanceof InsteonFanMotorDevice) {
|
|
49
49
|
this.logger('Fan Motor Found');
|
|
50
50
|
this.motor = childDevice;
|
|
51
|
-
this.motor.events.on('statusChanged', ((a, b, c, d) => {
|
|
51
|
+
this.motor.events.on('statusChanged', ((a, b, c, d) => {
|
|
52
|
+
this.emit('propertyChanged', `motor.${a}`, b, c, d);
|
|
53
|
+
}).bind(this));
|
|
52
54
|
}
|
|
53
55
|
}
|
|
54
56
|
async updateFanSpeed(level) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsteonFanDevice.js","sourceRoot":"","sources":["../../../../src/Devices/Insteon/InsteonFanDevice.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,SAAS,CAAC;AAGjB,
|
|
1
|
+
{"version":3,"file":"InsteonFanDevice.js","sourceRoot":"","sources":["../../../../src/Devices/Insteon/InsteonFanDevice.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,SAAS,CAAC;AAGjB,OAAO,EAAW,MAAM,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG5E,MAAM,OAAO,qBAAsB,SAAQ,iBAA6E;IACvH,YAAY,GAAQ,EAAE,UAA0B;QAC/C,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,QAAuB,EAAE,EAAE,GAAG,EAAE,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC1J,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,KAAa;QACxC,OAAO,KAAK,CAAC;IACd,CAAC;IACM,KAAK,CAAC,UAAU,CAAC,IAAa;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,8CAA8C;QAC/C,CAAC;aAAM,CAAC;YACP,8CAA8C;QAC/C,CAAC;IACF,CAAC;CACD;AAED,MAAM,OAAO,gBAAiB,SAAQ,iBAAiB;IAC/C,KAAK,CAAyB;IAC9B,KAAK,CAAwB;IACpC,YAAY,GAAQ,EAAE,UAAoB;QACzC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAqB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACxD,0JAA0J;QAC1J,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAEe,WAAW,CAAC,KAAmD;QAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEe,QAAQ,CAAC,WAAW;QACnC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,WAAW,YAAY,qBAAqB,EAAE,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,GAAG,WAAoC,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CACnB,eAAe,EACf,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,CAAM,EAAE,CAAS,EAAE,EAAE;gBACtC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QACH,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,KAAa;QACxC,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;CACD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InsteonDimmableDevice } from './InsteonDimmableDevice.js';
|
|
2
|
+
import 'winston';
|
|
3
|
+
export class InsteonKeypadDimmerDevice extends InsteonDimmableDevice {
|
|
4
|
+
constructor(isy, deviceNode) {
|
|
5
|
+
super(isy, deviceNode);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=InsteonKeypadDimmerDevice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsteonKeypadDimmerDevice.js","sourceRoot":"","sources":["../../../../src/Devices/Insteon/InsteonKeypadDimmerDevice.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,SAAS,CAAC;AAEjB,MAAM,OAAO,yBAA0B,SAAQ,qBAAqB;IACnE,YAAa,GAAQ,EAAE,UAAoB;QAC1C,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACxB,CAAC;CACD"}
|
|
@@ -11,20 +11,20 @@ export class InsteonMotionSensorDevice extends InsteonBaseDevice {
|
|
|
11
11
|
if (controlName === Commands.On) {
|
|
12
12
|
this.logger('Motion detected.');
|
|
13
13
|
this._isMotionDetected = true;
|
|
14
|
-
this.emit('
|
|
15
|
-
this.emit('
|
|
14
|
+
this.emit('controlTriggered', controlName);
|
|
15
|
+
this.emit('propertyChanged', 'motionDetected', true, false, "true");
|
|
16
16
|
setTimeout(() => {
|
|
17
17
|
this.logger('No motion detected in last 30 seconds.');
|
|
18
18
|
this._isMotionDetected = false;
|
|
19
|
-
this.emit('
|
|
19
|
+
this.emit('propertyChanged', 'motionDetected', false, true, "false"); /*Included for compatiblity purposes*/
|
|
20
20
|
}, 30000);
|
|
21
21
|
return true;
|
|
22
22
|
}
|
|
23
23
|
else if (controlName === Commands.Off) {
|
|
24
24
|
this._isMotionDetected = false;
|
|
25
25
|
this.logger('No motion detected.');
|
|
26
|
-
this.emit('
|
|
27
|
-
this.emit('
|
|
26
|
+
this.emit('controlTriggered', controlName);
|
|
27
|
+
this.emit('propertyChanged', 'motionDetected', false, true, "false");
|
|
28
28
|
return true;
|
|
29
29
|
}
|
|
30
30
|
return false;
|
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
import { InsteonBaseDevice } from './InsteonBaseDevice.js';
|
|
2
1
|
import 'winston';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
export class InsteonRelayDevice extends InsteonBaseDevice {
|
|
2
|
+
import { RelayLampSwitch } from './RelayLampSwitch.js';
|
|
3
|
+
export class InsteonRelayDevice extends RelayLampSwitch.Node /*InsteonBaseDevice<Driver.Signatures<'ST' | 'OL' | 'RR' | 'ERR'>, Command.Signatures<'DON' | 'DOF'>>*/ {
|
|
6
4
|
// #region Constructors (1)
|
|
7
5
|
constructor(isy, nodeInfo) {
|
|
8
6
|
super(isy, nodeInfo);
|
|
9
|
-
this.drivers.ST = Driver.create('ST', this, nodeInfo.property, { uom: UnitOfMeasure.Percent, label: 'Status', name: 'status' });
|
|
10
|
-
this.drivers.OL = Driver.create('OL', this, nodeInfo.property, { uom: UnitOfMeasure.Percent, label: 'On Level', name: 'onLevel' });
|
|
11
|
-
this.drivers.RR = Driver.create('RR', this, nodeInfo.property, { uom: UnitOfMeasure.Index, label: 'Ramp Rate', name: 'rampRate' });
|
|
12
|
-
this.drivers.ERR = Driver.create('ERR', this, nodeInfo.property, { uom: UnitOfMeasure.Index, label: 'Error', name: 'error' });
|
|
13
7
|
}
|
|
14
8
|
// #endregion Constructors (1)
|
|
15
9
|
// #region Public Methods (2)
|
|
@@ -41,7 +35,7 @@ export class InsteonRelayDevice extends InsteonBaseDevice {
|
|
|
41
35
|
|
|
42
36
|
} */
|
|
43
37
|
async sendBeep(level = 100) {
|
|
44
|
-
return super.
|
|
38
|
+
return super.beep(level);
|
|
45
39
|
}
|
|
46
40
|
}
|
|
47
41
|
//# sourceMappingURL=InsteonRelayDevice.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsteonRelayDevice.js","sourceRoot":"","sources":["../../../../src/Devices/Insteon/InsteonRelayDevice.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InsteonRelayDevice.js","sourceRoot":"","sources":["../../../../src/Devices/Insteon/InsteonRelayDevice.ts"],"names":[],"mappings":"AAQA,OAAO,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAQvD,MAAM,OAAO,kBAAmB,SAAQ,eAAe,CAAC,IAAI,CAAC,uGAAuG;IACnK,2BAA2B;IAE3B,YAAY,GAAQ,EAAE,QAAkB;QACvC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtB,CAAC;IAED,8BAA8B;IAE9B,6BAA6B;IAEtB,KAAK,CAAC,UAAU,CAAC,QAA2C;QAClE;;;;;;;;;;;;;aAaK;IACN,CAAC;IAED;;;;;;;;;;QAUI;IACY,KAAK,CAAC,QAAQ,CAAC,QAAgB,GAAG;QACjD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CAGD"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT DIRECTLY. */
|
|
2
|
+
import { UnitOfMeasure } from "../../Definitions/Global/UOM.js";
|
|
3
|
+
import { InsteonBaseDevice } from "./InsteonBaseDevice.js";
|
|
4
|
+
import { Driver } from "../../Definitions/Global/Drivers.js";
|
|
5
|
+
import { NodeFactory } from "../NodeFactory.js";
|
|
6
|
+
export const nodeDefId = "RelayLampSwitch";
|
|
7
|
+
export class RelayLampSwitchNode extends InsteonBaseDevice {
|
|
8
|
+
commands = {
|
|
9
|
+
DON: this.on,
|
|
10
|
+
DOF: this.off,
|
|
11
|
+
DFOF: this.fastOff,
|
|
12
|
+
DFON: this.fastOn,
|
|
13
|
+
QUERY: this.query,
|
|
14
|
+
BEEP: this.beep,
|
|
15
|
+
BL: this.backlight,
|
|
16
|
+
WDU: this.writeChanges
|
|
17
|
+
};
|
|
18
|
+
static nodeDefId = 'RelayLampSwitch';
|
|
19
|
+
constructor(isy, nodeInfo) {
|
|
20
|
+
super(isy, nodeInfo);
|
|
21
|
+
this.drivers.ST = Driver.create('ST', this, nodeInfo.property, { uom: UnitOfMeasure.Percent, label: 'Status', name: 'status' });
|
|
22
|
+
this.drivers.ERR = Driver.create('ERR', this, nodeInfo.property, { uom: UnitOfMeasure.Index, label: 'Responding', name: 'responding' });
|
|
23
|
+
}
|
|
24
|
+
async on(value) {
|
|
25
|
+
return this.sendCommand('DON', { value: value });
|
|
26
|
+
}
|
|
27
|
+
async off() {
|
|
28
|
+
return this.sendCommand('DOF');
|
|
29
|
+
}
|
|
30
|
+
async fastOff() {
|
|
31
|
+
return this.sendCommand('DFOF');
|
|
32
|
+
}
|
|
33
|
+
async fastOn() {
|
|
34
|
+
return this.sendCommand('DFON');
|
|
35
|
+
}
|
|
36
|
+
async query() {
|
|
37
|
+
return this.sendCommand('QUERY');
|
|
38
|
+
}
|
|
39
|
+
async beep(value) {
|
|
40
|
+
return this.sendCommand('BEEP', { value: value });
|
|
41
|
+
}
|
|
42
|
+
async backlight(value) {
|
|
43
|
+
return this.sendCommand('BL', { value: value });
|
|
44
|
+
}
|
|
45
|
+
async writeChanges() {
|
|
46
|
+
return this.sendCommand('WDU');
|
|
47
|
+
}
|
|
48
|
+
get status() {
|
|
49
|
+
return this.drivers.ST?.value;
|
|
50
|
+
}
|
|
51
|
+
get responding() {
|
|
52
|
+
return this.drivers.ERR?.value;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
NodeFactory.register(RelayLampSwitchNode);
|
|
56
|
+
export var RelayLampSwitch;
|
|
57
|
+
(function (RelayLampSwitch) {
|
|
58
|
+
function is(node) {
|
|
59
|
+
return node.nodeDefId === nodeDefId;
|
|
60
|
+
}
|
|
61
|
+
RelayLampSwitch.is = is;
|
|
62
|
+
function create(isy, nodeInfo) {
|
|
63
|
+
return new RelayLampSwitchNode(isy, nodeInfo);
|
|
64
|
+
}
|
|
65
|
+
RelayLampSwitch.create = create;
|
|
66
|
+
RelayLampSwitch.Node = RelayLampSwitchNode;
|
|
67
|
+
})(RelayLampSwitch || (RelayLampSwitch = {}));
|
|
68
|
+
//# sourceMappingURL=RelayLampSwitch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RelayLampSwitch.js","sourceRoot":"","sources":["../../../../src/Devices/Insteon/RelayLampSwitch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Devices/Lutron/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":"MapsTo.js","sourceRoot":"","sources":["../../../src/Devices/MapsTo.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Devices/NCD/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAExC,MAAM,OAAO,IAA6E,SAAQ,OAAyB;CAAG"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Family, ISY } from '../ISY.js';
|
|
2
|
+
import { ISYNode } from '../ISYNode.js';
|
|
3
|
+
import { isDynamic } from '../Model/NodeInfo.js';
|
|
4
|
+
export var NodeFactory;
|
|
5
|
+
(function (NodeFactory) {
|
|
6
|
+
NodeFactory.registry = {};
|
|
7
|
+
function register(nodeClass, id = nodeClass.nodeDefId) {
|
|
8
|
+
let s;
|
|
9
|
+
s = NodeFactory.registry[Family[nodeClass.family]] ?? (NodeFactory.registry[nodeClass.family] = new Map());
|
|
10
|
+
s.set(nodeClass.nodeDefId, nodeClass);
|
|
11
|
+
}
|
|
12
|
+
NodeFactory.register = register;
|
|
13
|
+
function getForNodeDefId(family, nodeDefId) {
|
|
14
|
+
return NodeFactory.registry[family]?.get(nodeDefId);
|
|
15
|
+
}
|
|
16
|
+
NodeFactory.getForNodeDefId = getForNodeDefId;
|
|
17
|
+
function getForNLSId(family, nodeDefId) {
|
|
18
|
+
return NodeFactory.registry[family].get(nodeDefId);
|
|
19
|
+
}
|
|
20
|
+
NodeFactory.getForNLSId = getForNLSId;
|
|
21
|
+
async function get(node, isy = ISY.instance) {
|
|
22
|
+
if (!isDynamic(node)) {
|
|
23
|
+
return Promise.resolve(getForNodeDefId(Family[node.family], node.nodeDefId));
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
var nd = getForNodeDefId(Family[node.family], node.sgid);
|
|
27
|
+
if (nd) {
|
|
28
|
+
return Promise.resolve(nd);
|
|
29
|
+
}
|
|
30
|
+
let n = (await isy.sendRequest(`zmatter/${node.family == Family.ZWave ? "zwave" : "zb"}/node/${node.address}/def/get?full=true`));
|
|
31
|
+
let cls = ISYNode;
|
|
32
|
+
NodeFactory.register(cls, n.nls);
|
|
33
|
+
return cls;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
NodeFactory.get = get;
|
|
37
|
+
async function create(nodeInfo, isy = ISY.instance) {
|
|
38
|
+
const nodeClass = await get(nodeInfo);
|
|
39
|
+
if (nodeClass.name !== "ISYNode") {
|
|
40
|
+
return new nodeClass(isy, nodeInfo);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
throw new Error(`No class found for ${nodeInfo.family}.${nodeInfo.nodeDefId}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
NodeFactory.create = create;
|
|
47
|
+
})(NodeFactory || (NodeFactory = {}));
|
|
48
|
+
//# sourceMappingURL=NodeFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeFactory.js","sourceRoot":"","sources":["../../../src/Devices/NodeFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACxC,OAAQ,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAiB,MAAM,sBAAsB,CAAC;AAMhE,MAAM,KAAW,WAAW,CAqD3B;AArDD,WAAiB,WAAW;IACd,oBAAQ,GAAsB,EAAE,CAAC;IAK9C,SAAgB,QAAQ,CAAgC,SAA4D,EAAE,KAAa,SAAS,CAAC,SAAS;QACrJ,IAAI,CAA8C,CAAC;QAEnD,CAAC,GAAG,YAAA,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAA,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;QACnF,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;IALe,oBAAQ,WAKvB,CAAA;IAED,SAAgB,eAAe,CAAgC,MAAS,EAAE,SAAiB;QAC1F,OAAO,YAAA,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAFe,2BAAe,kBAE9B,CAAA;IAED,SAAgB,WAAW,CAAgC,MAAS,EAAE,SAAiB;QACtF,OAAO,YAAA,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAFe,uBAAW,cAE1B,CAAA;IAEM,KAAK,UAAU,GAAG,CAAgC,IAAgC,EAAE,MAAW,GAAG,CAAC,QAAQ;QACjH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EACpB,CAAC;YACA,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACnF,CAAC;aAEI,CAAC;YACL,IAAI,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,EAAE,EAAE,CAAC;gBACR,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,WAAW,CAC7B,WAAW,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,CAAC,OAAO,oBAAoB,CAChG,CAAY,CAAC;YACd,IAAI,GAAG,GAAG,OAAO,CAAC;YACf,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO,GAAG,CAAC;QAGZ,CAAC;IACF,CAAC;IApBqB,eAAG,MAoBxB,CAAA;IAIM,KAAK,UAAU,MAAM,CAAmB,QAAqB,EAAE,MAAW,GAAG,CAAC,QAAQ;QAC5F,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAsD,CAAC;QAC3F,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,IAAI,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QAChF,CAAC;IACF,CAAC;IAPqB,kBAAM,SAO3B,CAAA;AACF,CAAC,EArDgB,WAAW,KAAX,WAAW,QAqD3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Devices/Poly/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAExC,MAAM,OAAO,IAA6E,SAAQ,OAAyB;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Devices/Scene/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAExC,MAAM,OAAO,IAA6E,SAAQ,OAAyB;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Devices/UDI/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAExC,MAAM,OAAO,IAA6E,SAAQ,OAAyB;CAAG"}
|