isy-nodejs 1.0.1-alpha.6 → 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 +4 -2
- package/dist/cjs/Devices/Insteon/InsteonFanDevice.js.map +1 -1
- package/dist/cjs/Devices/Insteon/InsteonMotionSensorDevice.js +5 -5
- package/dist/cjs/ISY.js +29 -20
- package/dist/cjs/ISY.js.map +1 -1
- package/dist/cjs/ISYNode.js +11 -8
- package/dist/cjs/ISYNode.js.map +1 -1
- package/dist/cjs/ISYScene.js +2 -2
- 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/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/Elk/ElkAlarmPanelDevice.js +3 -3
- package/dist/esm/Devices/Elk/ElkAlarmSensorDevice.js +9 -6
- package/dist/esm/Devices/Elk/ElkAlarmSensorDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonBaseDevice.js +2 -2
- package/dist/esm/Devices/Insteon/InsteonBaseDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonFanDevice.js +4 -2
- package/dist/esm/Devices/Insteon/InsteonFanDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonMotionSensorDevice.js +5 -5
- package/dist/esm/ISY.js +28 -19
- package/dist/esm/ISY.js.map +1 -1
- package/dist/esm/ISYNode.js +12 -9
- package/dist/esm/ISYNode.js.map +1 -1
- package/dist/esm/ISYScene.js +2 -2
- 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 +3 -3
- package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts +6 -6
- package/dist/esm/types/Devices/Insteon/InsteonFanDevice.d.ts.map +1 -1
- 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 +5 -5
- 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 +2 -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 +11 -9
- package/src/Devices/Insteon/InsteonMotionSensorDevice.ts +5 -5
- package/src/ISY.ts +53 -38
- package/src/ISYNode.ts +13 -10
- package/src/ISYScene.ts +2 -2
- package/src/Matter/Behaviors/ISYBridgedDeviceBehavior.ts +28 -10
- package/src/Matter/Behaviors/ISYClusterBehavior.ts +46 -28
- package/src/Matter/Behaviors/ISYOnOffBehavior.ts +49 -60
- package/src/Matter/{Server → Bridge}/Server.ts +49 -53
- package/src/Matter/Mappings/Insteon.ts +53 -60
- package/src/Matter/Mappings/register.ts +0 -0
- package/src/Model/ClusterMap.ts +31 -22
- package/src/Utils.ts +1 -19
- 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/Devices/Insteon/Generated/RelayLampSwitch.js +0 -68
- package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js.map +0 -1
- package/dist/esm/Matter/Server/Server.js.map +0 -1
- package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts +0 -93
- package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts.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
|
@@ -1,31 +1,49 @@
|
|
|
1
1
|
import '@project-chip/matter.js/device';
|
|
2
|
+
import { Converter } from '../../Converters.js';
|
|
2
3
|
import { ISYBridgedDeviceBehavior } from './ISYBridgedDeviceBehavior.js';
|
|
4
|
+
// #endregion Type aliases (6)
|
|
5
|
+
// #region Functions (1)
|
|
3
6
|
export function ISYClusterBehavior(base, p) {
|
|
4
7
|
return class ISYClusterBehavior extends base {
|
|
5
8
|
_device;
|
|
6
9
|
handlers = {};
|
|
10
|
+
bridgedDeviceBehavior;
|
|
7
11
|
///public map: ClusterMapping<ToClusterTypeByName<ClusterForBehavior<ConstructedType<typeof base>>["name"]>,ISYDeviceNode<any, any, any>>;
|
|
8
12
|
map;
|
|
9
13
|
async initialize(_options) {
|
|
10
14
|
await super.initialize(_options);
|
|
11
|
-
var behavior = await this.agent.load(ISYBridgedDeviceBehavior);
|
|
15
|
+
var behavior = (await this.agent.load(ISYBridgedDeviceBehavior));
|
|
16
|
+
this.bridgedDeviceBehavior = behavior;
|
|
12
17
|
//var behavior = this.agent.get(ISYBridgedDeviceBehavior);
|
|
13
18
|
this._device = behavior.device;
|
|
19
|
+
//@ts-ignore
|
|
14
20
|
this.map = behavior.mapForBehavior(this);
|
|
15
21
|
for (const key2 in this.map.attributes) {
|
|
16
|
-
|
|
17
|
-
|
|
22
|
+
let val = this.map.attributes[key2];
|
|
23
|
+
let driverObj = null;
|
|
24
|
+
if (typeof val === 'string' || typeof val === 'symbol' || typeof val === 'number') {
|
|
25
|
+
driverObj = this._device.drivers[val];
|
|
26
|
+
this.handlers[val] = (newValue, oldValue, formattedValue) => {
|
|
18
27
|
this.state[key2] = newValue;
|
|
19
28
|
};
|
|
20
29
|
}
|
|
21
|
-
else if (
|
|
22
|
-
|
|
30
|
+
else if (val.driver) {
|
|
31
|
+
driverObj = this._device.drivers[val.driver];
|
|
32
|
+
let { driver, converter } = val;
|
|
33
|
+
const convFunc = Converter.get(converter)?.from;
|
|
23
34
|
this.handlers[driver] = (newValue, oldValue, formattedValue) => {
|
|
24
|
-
|
|
35
|
+
if (convFunc)
|
|
36
|
+
this.state[key2] = convFunc(newValue);
|
|
37
|
+
else
|
|
38
|
+
this.state[key2] = newValue;
|
|
25
39
|
};
|
|
26
40
|
}
|
|
41
|
+
if (driverObj) {
|
|
42
|
+
let evt = `${driverObj.name}Changed`;
|
|
43
|
+
this.reactTo(behavior.events[evt], this.handlePropertyChange.bind(this), { lock: false });
|
|
44
|
+
}
|
|
27
45
|
}
|
|
28
|
-
this.reactTo(behavior.events.propertyChanged, this.handlePropertyChange, { lock: false });
|
|
46
|
+
//this.reactTo(behavior.events.propertyChanged, this.handlePropertyChange, { lock: false });
|
|
29
47
|
//this._device.on("PropertyChanged", this.handlePropertyChange.bind(this));
|
|
30
48
|
}
|
|
31
49
|
get device() {
|
|
@@ -50,4 +68,5 @@ export function ISYClusterBehavior(base, p) {
|
|
|
50
68
|
}
|
|
51
69
|
};
|
|
52
70
|
}
|
|
71
|
+
// #endregion Functions (1)
|
|
53
72
|
//# sourceMappingURL=ISYClusterBehavior.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ISYClusterBehavior.js","sourceRoot":"","sources":["../../../../src/Matter/Behaviors/ISYClusterBehavior.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ISYClusterBehavior.js","sourceRoot":"","sources":["../../../../src/Matter/Behaviors/ISYClusterBehavior.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { InsteonRelayDevice } from "../../Devices/Insteon/InsteonRelayDevice.js";
|
|
2
|
-
import { OnOffLightRequirements } from "@project-chip/matter.js/devices/OnOffLightDevice";
|
|
3
|
-
import { ISYClusterBehavior } from "./ISYClusterBehavior.js";
|
|
4
1
|
import { DimmableLightRequirements } from '@project-chip/matter.js/devices/DimmableLightDevice';
|
|
2
|
+
import { OnOffLightRequirements } from '@project-chip/matter.js/devices/OnOffLightDevice';
|
|
5
3
|
import { InsteonDimmableDevice } from '../../Devices/Insteon/InsteonDimmableDevice.js';
|
|
6
|
-
import {
|
|
4
|
+
import { InsteonRelayDevice } from '../../Devices/Insteon/InsteonRelayDevice.js';
|
|
5
|
+
import { ISYClusterBehavior } from './ISYClusterBehavior.js';
|
|
6
|
+
import { Converter } from '../../Converters.js';
|
|
7
7
|
export class ISYOnOffBehavior extends ISYClusterBehavior(OnOffLightRequirements.OnOffServer, InsteonRelayDevice) {
|
|
8
8
|
async initialize(_options) {
|
|
9
9
|
await super.initialize(_options);
|
|
@@ -11,19 +11,21 @@ export class ISYOnOffBehavior extends ISYClusterBehavior(OnOffLightRequirements.
|
|
|
11
11
|
}
|
|
12
12
|
on = async () => {
|
|
13
13
|
await super.on();
|
|
14
|
+
await this.device.on();
|
|
14
15
|
//this.device.commands.DON = true;
|
|
15
16
|
};
|
|
16
17
|
async off() {
|
|
17
|
-
|
|
18
|
+
await super.off();
|
|
19
|
+
await this.device.off();
|
|
18
20
|
// this.device.drivers = false;
|
|
19
21
|
}
|
|
20
22
|
toggle = async () => {
|
|
21
23
|
//this.device.state = !(await this.device.state);
|
|
22
24
|
};
|
|
23
25
|
async handlePropertyChange({ driver, newValue, oldValue, formattedValue }) {
|
|
24
|
-
if (driver ===
|
|
26
|
+
/*if (driver === 'ST') {
|
|
25
27
|
this.state.onOff = newValue;
|
|
26
|
-
}
|
|
28
|
+
}*/
|
|
27
29
|
return super.handlePropertyChange({ driver, newValue, oldValue, formattedValue });
|
|
28
30
|
}
|
|
29
31
|
}
|
|
@@ -34,7 +36,7 @@ export class ISYDimmableBehavior extends ISYClusterBehavior(DimmableLightRequire
|
|
|
34
36
|
//this.state.onLevel = this.device.drivers.OL;
|
|
35
37
|
}
|
|
36
38
|
setLevel(level) {
|
|
37
|
-
level =
|
|
39
|
+
level = Converter.Matter.LevelFrom0To255.LightingLevel.from(level);
|
|
38
40
|
if (level > 0) {
|
|
39
41
|
return this.device.sendCommand('DON', level);
|
|
40
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ISYOnOffBehavior.js","sourceRoot":"","sources":["../../../../src/Matter/Behaviors/ISYOnOffBehavior.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ISYOnOffBehavior.js","sourceRoot":"","sources":["../../../../src/Matter/Behaviors/ISYOnOffBehavior.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAI1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAEjF,OAAO,EAAsB,kBAAkB,EAAuB,MAAM,yBAAyB,CAAC;AAEtG,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,OAAO,gBAAiB,SAAQ,kBAAkB,CAAC,sBAAsB,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACtG,KAAK,CAAC,UAAU,CAAC,QAAa;QACtC,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACjC,6CAA6C;IAC9C,CAAC;IAEQ,EAAE,GAAG,KAAK,IAAI,EAAE;QACxB,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAEvB,kCAAkC;IACnC,CAAC,CAAC;IAEO,KAAK,CAAC,GAAG;QACjB,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAIxB,+BAA+B;IAChC,CAAC;IAEQ,MAAM,GAAG,KAAK,IAAI,EAAE;QAE5B,iDAAiD;IAClD,CAAC,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAsC;QACrH;;WAEG;QAGH,OAAO,KAAK,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IACnF,CAAC;CACD;AAED,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB,CAAC,yBAAyB,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;IACtH,KAAK,CAAC,UAAU,CAAC,QAAa;QACtC,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC;QAEvD,8CAA8C;IAC/C,CAAC;IAEQ,QAAQ,CAAC,KAAa;QAC9B,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACP,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;CACD"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import '@project-chip/matter-node.js';
|
|
1
2
|
import { NodeJsEnvironment } from '@project-chip/matter-node.js/environment';
|
|
2
3
|
import { StorageBackendDisk } from '@project-chip/matter-node.js/storage';
|
|
3
4
|
import { BridgedDeviceBasicInformationServer } from '@project-chip/matter.js/behaviors/bridged-device-basic-information';
|
|
@@ -14,26 +15,17 @@ import { resolve } from 'path';
|
|
|
14
15
|
import { InsteonDimmableDevice, InsteonKeypadButtonDevice, InsteonRelayDevice, ISY } from '../../ISY.js';
|
|
15
16
|
import { ISYBridgedDeviceBehavior } from '../Behaviors/ISYBridgedDeviceBehavior.js';
|
|
16
17
|
import { ISYDimmableBehavior, ISYOnOffBehavior } from '../Behaviors/ISYOnOffBehavior.js';
|
|
17
|
-
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
// key: text => creator.text(`${text}: `),
|
|
25
|
-
// value: producer => creator.text(producer()),
|
|
26
|
-
// strong: producer => creator.text(`*${producer()}*`),
|
|
27
|
-
// weak: producer => creator.text(producer()),
|
|
28
|
-
// status: (status, producer) => `${creator.text(statusIcon(status))}${producer()}`,
|
|
29
|
-
// via: text => creator.text(text),
|
|
30
|
-
// });
|
|
31
|
-
// return `${formatTime(now)} ${Level[level]} ${facility} ${prefix}${formattedValues}`;
|
|
32
|
-
//
|
|
33
|
-
//let matterLogger = clone(logger,'matter.js');
|
|
34
|
-
//2024-07-03 16:30:43.693
|
|
35
|
-
export async function createServerNode(isy = ISY.instance) {
|
|
18
|
+
import '../Mappings/Insteon.js';
|
|
19
|
+
// #endregion Interfaces (1)
|
|
20
|
+
// #region Functions (3)
|
|
21
|
+
export function create(isy, config) {
|
|
22
|
+
return createMatterServer(isy, config);
|
|
23
|
+
}
|
|
24
|
+
export async function createMatterServer(isy, config) {
|
|
36
25
|
var logger = isy.logger;
|
|
26
|
+
if (isy === undefined) {
|
|
27
|
+
isy = ISY.instance;
|
|
28
|
+
}
|
|
37
29
|
try {
|
|
38
30
|
MatterLogger.addLogger('polyLogger', (level, message) => logger.log(Level[level].toLowerCase().replace('notice', 'info'), message.slice(23).remove(Level[level]).trimStart()) /*Preserve existing formatting, but trim off date*/, {
|
|
39
31
|
defaultLogLevel: levelFromString(logger.level),
|
|
@@ -43,7 +35,7 @@ export async function createServerNode(isy = ISY.instance) {
|
|
|
43
35
|
finally {
|
|
44
36
|
MatterLogger.defaultLogLevel = levelFromString(logger.level);
|
|
45
37
|
}
|
|
46
|
-
|
|
38
|
+
config = await initializeConfiguration(isy, config);
|
|
47
39
|
logger.info(`Matter config read: ${JSON.stringify(config)}`);
|
|
48
40
|
const server = await ServerNode.create({
|
|
49
41
|
// Required: Give the Node a unique ID which is used to store the state of this node
|
|
@@ -96,7 +88,8 @@ export async function createServerNode(isy = ISY.instance) {
|
|
|
96
88
|
await server.add(aggregator);
|
|
97
89
|
logger.info(`Bridge Aggregator Added`);
|
|
98
90
|
const endpoints = [];
|
|
99
|
-
for (const
|
|
91
|
+
for (const node of isy.nodeMap.values()) {
|
|
92
|
+
let device = node;
|
|
100
93
|
let serialNumber = `${device.address.replaceAll(' ', '_').replaceAll('.', '_')}`;
|
|
101
94
|
if (device.enabled && !(device instanceof InsteonKeypadButtonDevice)) {
|
|
102
95
|
//const name = `OnOff ${isASocket ? "Socket" : "Light"} ${i}`;
|
|
@@ -117,6 +110,7 @@ export async function createServerNode(isy = ISY.instance) {
|
|
|
117
110
|
// }
|
|
118
111
|
}
|
|
119
112
|
if (baseBehavior !== undefined) {
|
|
113
|
+
//@ts-ignore
|
|
120
114
|
const endpoint = new Endpoint(baseBehavior, {
|
|
121
115
|
id: serialNumber,
|
|
122
116
|
isyNode: {
|
|
@@ -155,8 +149,12 @@ export async function createServerNode(isy = ISY.instance) {
|
|
|
155
149
|
* offline again because we do not need anything more here. See the Full example for other starting options.
|
|
156
150
|
* The QR Code is printed automatically.
|
|
157
151
|
*/
|
|
152
|
+
process.on('SIGINT', async () => {
|
|
153
|
+
logger.info('Bringing server offline');
|
|
154
|
+
server.close();
|
|
155
|
+
});
|
|
158
156
|
logger.info('Bringing server online');
|
|
159
|
-
await server.
|
|
157
|
+
await server.start();
|
|
160
158
|
logger.info('Matter Server is online');
|
|
161
159
|
/**
|
|
162
160
|
* Log the endpoint structure for debugging reasons and to allow to verify anything is correct
|
|
@@ -180,25 +178,12 @@ export async function createServerNode(isy = ISY.instance) {
|
|
|
180
178
|
e[1].initialize(e[0] as any);
|
|
181
179
|
}*/
|
|
182
180
|
return server;
|
|
183
|
-
function createBaseBehavior() {
|
|
184
|
-
let baseBehavior;
|
|
185
|
-
return baseBehavior;
|
|
186
|
-
}
|
|
187
181
|
}
|
|
188
|
-
async function
|
|
182
|
+
async function initializeConfiguration(isy, config) {
|
|
189
183
|
var logger = isy.logger;
|
|
190
|
-
/**
|
|
191
|
-
* Collect all needed data
|
|
192
|
-
*
|
|
193
|
-
* This block collects all needed data from cli, environment or storage. Replace this with where ever your data come from.
|
|
194
|
-
*
|
|
195
|
-
* Note: This example uses the matter.js process storage system to store the device parameter data for convenience
|
|
196
|
-
* and easy reuse. When you also do that be careful to not overlap with Matter-Server own storage contexts
|
|
197
|
-
* (so maybe better not do it ;-)).
|
|
198
|
-
*/
|
|
199
184
|
const environment = NodeJsEnvironment();
|
|
200
185
|
const storageService = environment.get(StorageService);
|
|
201
|
-
environment.vars.set('storage.path', ISY.instance.storagePath
|
|
186
|
+
environment.vars.set('storage.path', `${ISY.instance.storagePath}matter`);
|
|
202
187
|
environment.vars.use(() => {
|
|
203
188
|
const location = environment.vars.get('storage.path', environment.vars.get('path.root', '.'));
|
|
204
189
|
storageService.location = location;
|
|
@@ -207,14 +192,14 @@ async function getConfiguration(isy) {
|
|
|
207
192
|
logger.info(`Matter storage location: ${storageService.location} (Directory)`);
|
|
208
193
|
const deviceStorage = (await storageService.open('device')).createContext('data');
|
|
209
194
|
const vendorName = isy.vendorName;
|
|
210
|
-
const passcode = environment.vars.number('passcode') ?? (await deviceStorage.get('passcode', 20202021));
|
|
211
|
-
const discriminator = environment.vars.number('discriminator') ?? (await deviceStorage.get('discriminator', 3840));
|
|
195
|
+
const passcode = config.passcode ?? environment.vars.number('passcode') ?? (await deviceStorage.get('passcode', 20202021));
|
|
196
|
+
const discriminator = config.discriminator ?? environment.vars.number('discriminator') ?? (await deviceStorage.get('discriminator', 3840));
|
|
212
197
|
// product name / id and vendor id should match what is in the device certificate
|
|
213
|
-
const vendorId = environment.vars.number('vendorid') ?? (await deviceStorage.get('vendorid', 0xfff1));
|
|
214
|
-
const productId = environment.vars.number('productid') ?? (await deviceStorage.get('productid', 0x8000));
|
|
198
|
+
const vendorId = config.vendorId ?? environment.vars.number('vendorid') ?? (await deviceStorage.get('vendorid', 0xfff1));
|
|
199
|
+
const productId = config.productId ?? environment.vars.number('productid') ?? (await deviceStorage.get('productid', 0x8000));
|
|
215
200
|
const productName = isy.productName;
|
|
216
|
-
const port = environment.vars.number('port') ?? 5540;
|
|
217
|
-
const uniqueId = isy.id;
|
|
201
|
+
const port = config.port ?? environment.vars.number('port') ?? 5540;
|
|
202
|
+
const uniqueId = isy.id.replaceAll(':', '_');
|
|
218
203
|
//environment.vars.string("uniqueid") ?? (await deviceStorage.get("uniqueid", Time.nowMs().toString()));
|
|
219
204
|
// Persist basic data to keep them also on restart
|
|
220
205
|
await deviceStorage.set({
|
|
@@ -236,5 +221,5 @@ async function getConfiguration(isy) {
|
|
|
236
221
|
uniqueId
|
|
237
222
|
};
|
|
238
223
|
}
|
|
239
|
-
// #endregion Functions (
|
|
224
|
+
// #endregion Functions (3)
|
|
240
225
|
//# sourceMappingURL=Server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../src/Matter/Bridge/Server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { OnOffLightDevice } from '@project-chip/matter.js/devices/OnOffLightDevice';
|
|
2
|
+
import { DriverType } from '../../Definitions/Global/Drivers.js';
|
|
3
|
+
import { Family } from '../../Definitions/Global/Families.js';
|
|
4
|
+
import { MappingRegistry } from '../../Model/ClusterMap.js';
|
|
4
5
|
//import InsteonMap from "./Insteon.json";
|
|
5
|
-
import { DimmableLightDevice } from
|
|
6
|
+
import { DimmableLightDevice } from '@project-chip/matter.js/devices/DimmableLightDevice';
|
|
6
7
|
const map = {
|
|
8
|
+
Family: Family.Insteon,
|
|
7
9
|
Relay: {
|
|
8
10
|
deviceType: OnOffLightDevice,
|
|
9
11
|
mapping: {
|
|
10
12
|
OnOff: {
|
|
11
13
|
attributes: {
|
|
12
|
-
onOff: { driver:
|
|
14
|
+
onOff: { driver: 'ST', converter: 'Percent.Boolean' }
|
|
13
15
|
},
|
|
14
|
-
commands: { on: 'DON' }
|
|
15
|
-
}
|
|
16
|
+
commands: { on: 'DON' }
|
|
17
|
+
}
|
|
16
18
|
}
|
|
17
19
|
},
|
|
18
20
|
RelaySwitch: {
|
|
@@ -20,29 +22,31 @@ const map = {
|
|
|
20
22
|
mapping: {
|
|
21
23
|
OnOff: {
|
|
22
24
|
attributes: {
|
|
23
|
-
onOff:
|
|
25
|
+
onOff: 'ST'
|
|
24
26
|
},
|
|
25
|
-
commands: { on:
|
|
26
|
-
}
|
|
27
|
-
}
|
|
27
|
+
commands: { on: 'DON' }
|
|
28
|
+
}
|
|
29
|
+
}
|
|
28
30
|
},
|
|
29
31
|
Dimmer: {
|
|
30
32
|
deviceType: DimmableLightDevice,
|
|
31
33
|
mapping: {
|
|
32
34
|
OnOff: {
|
|
33
35
|
attributes: {
|
|
34
|
-
onOff: { driver:
|
|
36
|
+
onOff: { driver: 'ST', converter: 'LevelFrom0To255.Boolean' }
|
|
35
37
|
},
|
|
36
|
-
commands: { on:
|
|
38
|
+
commands: { on: 'DON' }
|
|
37
39
|
},
|
|
38
40
|
LevelControl: {
|
|
39
41
|
attributes: {
|
|
40
|
-
currentLevel: { driver: DriverType.Status }
|
|
42
|
+
currentLevel: { driver: DriverType.Status, converter: 'LevelFrom0To255.LightingLevel' }
|
|
41
43
|
},
|
|
42
|
-
commands: { moveToLevel: { command: 'DON' } }
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
44
|
+
commands: { moveToLevel: { command: 'DON' } }
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
46
48
|
};
|
|
49
|
+
map.KeypadDimmer = map.Dimmer;
|
|
50
|
+
map.DimmerSwitch = map.Dimmer;
|
|
47
51
|
MappingRegistry.register(map);
|
|
48
52
|
//# sourceMappingURL=Insteon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Insteon.js","sourceRoot":"","sources":["../../../../src/Matter/Mappings/Insteon.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Insteon.js","sourceRoot":"","sources":["../../../../src/Matter/Mappings/Insteon.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAU,MAAM,sCAAsC,CAAC;AAGtE,OAAO,EAAE,eAAe,EAA0E,MAAM,2BAA2B,CAAC;AAEpI,0CAA0C;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAI1F,MAAM,GAAG,GAAuC;IAC/C,MAAM,EAAE,MAAM,CAAC,OAAO;IACtB,KAAK,EAAE;QACN,UAAU,EAAE,gBAAgB;QAC5B,OAAO,EAAE;YACR,KAAK,EAAE;gBACN,UAAU,EAAE;oBACX,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE;iBACrD;gBACD,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;aACvB;SACmD;KACrD;IACD,WAAW,EAAE;QACZ,UAAU,EAAE,gBAAgB;QAC5B,OAAO,EAAE;YACR,KAAK,EAAE;gBACN,UAAU,EAAE;oBACX,KAAK,EAAE,IAAI;iBACX;gBACD,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;aACvB;SACD;KACD;IACD,MAAM,EAAE;QACP,UAAU,EAAE,mBAAmB;QAC/B,OAAO,EAAE;YACR,KAAK,EAAE;gBACN,UAAU,EAAE;oBACX,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE;iBAC7D;gBACD,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;aACvB;YACD,YAAY,EAAE;gBACb,UAAU,EAAE;oBACX,YAAY,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,+BAA+B,EAAE;iBACvF;gBACD,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;aAC7C;SACD;KACD;CACD,CAAC;AAEF,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC;AAC9B,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC;AAE9B,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../../src/Matter/Mappings/register.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DriverType } from '../Definitions/Global/Drivers.js';
|
|
2
|
+
import { Insteon } from '../Devices/Insteon/index.js';
|
|
2
3
|
import { ClusterType } from './ClusterType.js';
|
|
3
|
-
// #endregion Type aliases (
|
|
4
|
+
// #endregion Type aliases (16)
|
|
4
5
|
// #region Classes (1)
|
|
5
6
|
export class MappingRegistry {
|
|
6
7
|
// #region Properties (1)
|
|
@@ -11,17 +12,19 @@ export class MappingRegistry {
|
|
|
11
12
|
return MappingRegistry.map.get(device.constructor.name);
|
|
12
13
|
}
|
|
13
14
|
static getMappingForBehavior(device, behavior) {
|
|
14
|
-
var m = MappingRegistry.getMapping(device);
|
|
15
|
-
return m[behavior.cluster.name];
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
// }
|
|
15
|
+
//var m = MappingRegistry.getMapping(device);
|
|
16
|
+
//return m[behavior.cluster.name];
|
|
17
|
+
for (var m in MappingRegistry.getMapping(device).mapping) {
|
|
18
|
+
if (behavior.cluster.name === m)
|
|
19
|
+
return MappingRegistry.getMapping(device).mapping[m];
|
|
20
|
+
}
|
|
21
21
|
}
|
|
22
22
|
static register(map) {
|
|
23
23
|
for (var key in map) {
|
|
24
|
-
|
|
24
|
+
if (key !== 'Family') {
|
|
25
|
+
MappingRegistry.map.set(key, map[key]);
|
|
26
|
+
MappingRegistry.map.set(Insteon[key].name, map[key]);
|
|
27
|
+
}
|
|
25
28
|
}
|
|
26
29
|
}
|
|
27
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClusterMap.js","sourceRoot":"","sources":["../../../src/Model/ClusterMap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ClusterMap.js","sourceRoot":"","sources":["../../../src/Model/ClusterMap.ts"],"names":[],"mappings":"AAYA,OAAO,EAAU,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAKtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA0H/C,+BAA+B;AAE/B,sBAAsB;AAEtB,MAAM,OAAO,eAAe;IAC3B,yBAAyB;IAElB,MAAM,CAAC,GAAG,GAA8C,IAAI,GAAG,EAAE,CAAC;IAEzE,4BAA4B;IAE5B,oCAAoC;IAE7B,MAAM,CAAC,UAAU,CAAwC,MAAS;QACxE,OAAO,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAmE,MAAS,EAAE,QAAW;QAC3H,6CAA6C;QAE7C,kCAAkC;QAClC,KAAK,IAAI,CAAC,IAAI,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1D,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAqC,CAAC;QAC3H,CAAC;IACF,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,GAAqC;QAC3D,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACtB,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,CAAC;QACF,CAAC;IACF,CAAC;;AAKF,yBAAyB;AAEzB,wBAAwB;AAExB,IAAI,KAAQ,CAAC;AACb,IAAI,UAAU,GAAG;IAChB,OAAO,EAAE,WAAW,CAAC,YAAY;IACjC,UAAU,EAAE,EAAE,sBAAsB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE;IACrE,QAAQ,EAAE;QACT,WAAW,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,cAAc,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,gBAAgB,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,EAAE;KAC1L;CACD,CAAC;AACF,MAAM,GAAG,GAA0D;IAClE,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE;QACN,UAAU,EAAE;YACX,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACvB;QACD,QAAQ,EAAE;YACT,cAAc,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;SAClC;KACD;CACD,CAAC;AAEF,2BAA2B"}
|
package/dist/esm/Utils.js
CHANGED
|
@@ -7,14 +7,6 @@ export function getEnumValueByEnumKey(enumType, enumKey) {
|
|
|
7
7
|
export function getEnumKeyByEnumValue(enumType, enumValue) {
|
|
8
8
|
return Object.keys(enumType).find((key) => enumType[key] === enumValue);
|
|
9
9
|
}
|
|
10
|
-
//onst D: d = 'ST';
|
|
11
|
-
//type DriverLabel = Values<IdentityOf<DriverType>>;
|
|
12
|
-
export function invert(converter) {
|
|
13
|
-
return {
|
|
14
|
-
from: converter.to,
|
|
15
|
-
to: converter.from
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
10
|
export function toArray(value) {
|
|
19
11
|
if (undefined === value)
|
|
20
12
|
return [];
|
package/dist/esm/Utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../src/Utils.ts"],"names":[],"mappings":"AAGA,OAAO,OAAO,EAAE,EAAU,MAAM,EAAE,MAAM,SAAS,CAAC;AAGlD,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../src/Utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,41 @@
|
|
|
1
|
-
import { UnitOfMeasure } from
|
|
2
|
-
import {
|
|
1
|
+
import { UnitOfMeasure } from './Definitions/Global/UOM.js';
|
|
2
|
+
import { type StringKeys } from './Utils.js';
|
|
3
3
|
declare const StandardConverters: {
|
|
4
4
|
[x in `${keyof typeof UnitOfMeasure}`]?: {
|
|
5
5
|
[y in `${keyof typeof UnitOfMeasure}`]?: Converter<any, any>;
|
|
6
6
|
};
|
|
7
7
|
};
|
|
8
|
-
export declare const
|
|
9
|
-
export declare
|
|
10
|
-
export declare
|
|
8
|
+
export declare const StdConverterRegistry: Map<string | UnitOfMeasure, Map<string | UnitOfMeasure, Converter<any, any>>>;
|
|
9
|
+
export declare const ConverterRegistry: Map<string, Converter<any, any>>;
|
|
10
|
+
export declare function registerConverter(from: keyof typeof StandardConverters | UnitOfMeasure | keyof typeof Converter.Matter | string, to: keyof typeof StandardConverters | UnitOfMeasure | keyof typeof Converter.Matter | string, converter: Converter<any, any>): void;
|
|
11
|
+
export declare namespace Converter {
|
|
11
12
|
const Standard: typeof StandardConverters;
|
|
12
13
|
const Matter: {
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
LevelFrom0To255: {
|
|
15
|
+
LightingLevel: {
|
|
16
|
+
from: (value: any) => any;
|
|
17
|
+
to: (value: any) => any;
|
|
18
|
+
};
|
|
15
19
|
};
|
|
16
20
|
};
|
|
17
|
-
|
|
21
|
+
type ConverterTypes = `${StringKeys<typeof StandardConverters>}`;
|
|
22
|
+
type StandardConverters = `${StringKeys<typeof StandardConverters>}.${StringKeys<typeof StandardConverters>}`;
|
|
23
|
+
type MatterISYConvertibleTypes = `${StringKeys<(typeof Matter)[`${keyof typeof Matter}`]>}`;
|
|
24
|
+
type ISYMatterConvertibleTypes = `${StringKeys<typeof Matter>}`;
|
|
25
|
+
type MatterConverters = `${MatterISYConvertibleTypes}.${ISYMatterConvertibleTypes}` | `${ISYMatterConvertibleTypes}.${MatterISYConvertibleTypes}`;
|
|
26
|
+
type KnownConverters = StandardConverters | MatterConverters;
|
|
27
|
+
function get(label: KnownConverters): Converter<any, any>;
|
|
28
|
+
function get(from: UnitOfMeasure, to: UnitOfMeasure): any;
|
|
29
|
+
function get(from: ConverterTypes, to: ConverterTypes): any;
|
|
30
|
+
function get(from: UnitOfMeasure, to: UnitOfMeasure): any;
|
|
31
|
+
function get(from: MatterISYConvertibleTypes, to: ISYMatterConvertibleTypes): any;
|
|
32
|
+
function get(to: ISYMatterConvertibleTypes, from: MatterISYConvertibleTypes): any;
|
|
18
33
|
function convert<F, T>(from: UnitOfMeasure, to: UnitOfMeasure, value: F): T;
|
|
19
34
|
}
|
|
35
|
+
export interface Converter<F, T> {
|
|
36
|
+
from: (value: F) => T;
|
|
37
|
+
to: (value: T) => F;
|
|
38
|
+
}
|
|
39
|
+
export declare function invert<F, T>(converter: Converter<F, T>): Converter<T, F>;
|
|
20
40
|
export {};
|
|
21
41
|
//# sourceMappingURL=Converters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Converters.d.ts","sourceRoot":"","sources":["../../../src/Converters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Converters.d.ts","sourceRoot":"","sources":["../../../src/Converters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAkB7C,QAAA,MAAM,kBAAkB,EAAE;KACxB,CAAC,IAAI,GAAG,MAAM,OAAO,aAAa,EAAE,CAAC,CAAC,EAAE;SAAG,CAAC,IAAI,GAAG,MAAM,OAAO,aAAa,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;KAAE;CAoBzG,CAAC;AAKF,eAAO,MAAM,oBAAoB,+EAAsF,CAAC;AAExH,eAAO,MAAM,iBAAiB,kCAAyC,CAAC;AAiBxE,wBAAgB,iBAAiB,CAChC,IAAI,EAAE,MAAM,OAAO,kBAAkB,GAAG,aAAa,GAAG,MAAM,OAAO,SAAS,CAAC,MAAM,GAAG,MAAM,EAC9F,EAAE,EAAE,MAAM,OAAO,kBAAkB,GAAG,aAAa,GAAG,MAAM,OAAO,SAAS,CAAC,MAAM,GAAG,MAAM,EAC5F,SAAS,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,QAW9B;AAED,yBAAiB,SAAS,CAAC;IACnB,MAAM,QAAQ,EAAE,OAAO,kBAAuC,CAAC;IAE/D,MAAM,MAAM;;;;;;;KAalB,CAAC;IAEF,KAAY,cAAc,GAAG,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,EAAE,CAAC;IAExE,KAAY,kBAAkB,GAAG,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,IAAI,UAAU,CAAC,OAAO,kBAAkB,CAAC,EAAE,CAAC;IAErH,KAAY,yBAAyB,GAAG,GAAG,UAAU,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,GAAG,MAAM,OAAO,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;IAEnG,KAAY,yBAAyB,GAAG,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC;IAEvE,KAAY,gBAAgB,GAAG,GAAG,yBAAyB,IAAI,yBAAyB,EAAE,GAAG,GAAG,yBAAyB,IAAI,yBAAyB,EAAE,CAAC;IAEzJ,KAAY,eAAe,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;IAEpE,SAAgB,GAAG,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjE,SAAgB,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,OAAE;IAC5D,SAAgB,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,OAAE;IAC9D,SAAgB,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,OAAE;IAC5D,SAAgB,GAAG,CAAC,IAAI,EAAE,yBAAyB,EAAE,EAAE,EAAE,yBAAyB,OAAE;IACpF,SAAgB,GAAG,CAAC,EAAE,EAAE,yBAAyB,EAAE,IAAI,EAAE,yBAAyB,OAAE;IAgBpF,SAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAMjF;CACD;AAGD,MAAM,WAAW,SAAS,CAAC,CAAC,EAAE,CAAC;IAE9B,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;IACtB,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;CACpB;AAGD,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAKxE"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { ISYNode } from '../../ISYNode.js';
|
|
2
2
|
import { UnitOfMeasure } from './UOM.js';
|
|
3
3
|
import type { UnionToIntersection } from '@project-chip/matter.js/util';
|
|
4
|
+
import { Converter } from '../../Converters.js';
|
|
4
5
|
import type { DriverState } from '../../Model/DriverState.js';
|
|
5
|
-
import type {
|
|
6
|
+
import type { StringKeys } from '../../Utils.js';
|
|
6
7
|
import type { Family } from './Families.js';
|
|
7
8
|
export declare enum DriverType {
|
|
8
9
|
AccelerationXAxis = "ACCX",
|
|
@@ -191,7 +192,7 @@ export interface Driver<D extends DriverType | EnumLiteral<DriverType> | `${stri
|
|
|
191
192
|
};
|
|
192
193
|
uom: U;
|
|
193
194
|
apply(state: DriverState, notify?: boolean): boolean;
|
|
194
|
-
patch(value: T, formattedValue: string, uom: UnitOfMeasure, prec: number): boolean;
|
|
195
|
+
patch(value: T, formattedValue: string, uom: UnitOfMeasure, prec: number, notify?: boolean): boolean;
|
|
195
196
|
}
|
|
196
197
|
export interface StatelessDriver<D extends DriverType | EnumLiteral<DriverType> | `${string}.${EnumLiteral<DriverType>}` | string, U extends UnitOfMeasure, T = number, SU extends UnitOfMeasure = U, N = string, L = string> {
|
|
197
198
|
readonly value: Promise<T>;
|
|
@@ -235,7 +236,7 @@ export declare namespace Driver {
|
|
|
235
236
|
export type LiteralWithExtensions = Literal | `${string}.${Literal}`;
|
|
236
237
|
export type LiteralWithType = EnumWithLiteral<DriverType>;
|
|
237
238
|
type StatelessOrStateful<D extends string, U extends UnitOfMeasure, T = number, N = string, L = string, S extends boolean = false> = S extends true ? StatelessDriver<D, U, T, U, N, L> : Driver<D, U, T, U, N, L>;
|
|
238
|
-
export function create<D extends Literal, U extends UnitOfMeasure, T = number,
|
|
239
|
+
export function create<D extends Literal, U extends UnitOfMeasure, T = number, N extends string = string, L extends string = string, S extends boolean = false>(driver: EnumWithLiteral<D>, node?: ISYNode<Family, any, any, any>, initState?: DriverState, driverSignature?: {
|
|
239
240
|
uom: U;
|
|
240
241
|
label: L;
|
|
241
242
|
name: N;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drivers.d.ts","sourceRoot":"","sources":["../../../../../src/Definitions/Global/Drivers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,OAAO,KAAK,EAA0B,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"Drivers.d.ts","sourceRoot":"","sources":["../../../../../src/Definitions/Global/Drivers.ts"],"names":[],"mappings":"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"}
|