@uboness/homebridge-mqtt 0.1.2 → 0.2.0
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/CHANGELOG.md +13 -0
- package/dist/Mqtt.d.ts +4 -1
- package/dist/Mqtt.d.ts.map +1 -1
- package/dist/Mqtt.js +4 -4
- package/dist/Mqtt.js.map +1 -1
- package/dist/MqttDevice.d.ts +2 -1
- package/dist/MqttDevice.d.ts.map +1 -1
- package/dist/MqttDevice.js +9 -4
- package/dist/MqttDevice.js.map +1 -1
- package/dist/MqttPlatform.js +5 -5
- package/dist/MqttPlatform.js.map +1 -1
- package/dist/service/HeaterCooler.d.ts +12 -0
- package/dist/service/HeaterCooler.d.ts.map +1 -0
- package/dist/service/HeaterCooler.js +62 -0
- package/dist/service/HeaterCooler.js.map +1 -0
- package/dist/service/Lightbulb.d.ts +2 -2
- package/dist/service/Lightbulb.d.ts.map +1 -1
- package/dist/service/Lightbulb.js +51 -8
- package/dist/service/Lightbulb.js.map +1 -1
- package/dist/service/WindowCovering.d.ts +1 -1
- package/dist/service/WindowCovering.d.ts.map +1 -1
- package/dist/service/WindowCovering.js +15 -6
- package/dist/service/WindowCovering.js.map +1 -1
- package/dist/service/WindowCoveringMomentary.d.ts +13 -0
- package/dist/service/WindowCoveringMomentary.d.ts.map +1 -0
- package/dist/service/WindowCoveringMomentary.js +54 -0
- package/dist/service/WindowCoveringMomentary.js.map +1 -0
- package/dist/service/WindowCoveringTernary.d.ts +13 -0
- package/dist/service/WindowCoveringTernary.d.ts.map +1 -0
- package/dist/service/WindowCoveringTernary.js +74 -0
- package/dist/service/WindowCoveringTernary.js.map +1 -0
- package/dist/service/characteristic/active.d.ts +3 -3
- package/dist/service/characteristic/active.js +1 -1
- package/dist/service/characteristic/archetype/BooleanValue.js +1 -1
- package/dist/service/characteristic/archetype/Converter.d.ts +6 -4
- package/dist/service/characteristic/archetype/Converter.d.ts.map +1 -1
- package/dist/service/characteristic/archetype/Converter.js +52 -3
- package/dist/service/characteristic/archetype/Converter.js.map +1 -1
- package/dist/service/characteristic/archetype/NumericValue.d.ts.map +1 -1
- package/dist/service/characteristic/archetype/NumericValue.js +9 -3
- package/dist/service/characteristic/archetype/NumericValue.js.map +1 -1
- package/dist/service/characteristic/archetype/Signal.d.ts +16 -0
- package/dist/service/characteristic/archetype/Signal.d.ts.map +1 -0
- package/dist/service/characteristic/archetype/Signal.js +35 -0
- package/dist/service/characteristic/archetype/Signal.js.map +1 -0
- package/dist/service/characteristic/archetype/{OneZeroValue.d.ts → ZeroOneValue.d.ts} +2 -2
- package/dist/service/characteristic/archetype/{OneZeroValue.d.ts.map → ZeroOneValue.d.ts.map} +1 -1
- package/dist/service/characteristic/archetype/{OneZeroValue.js → ZeroOneValue.js} +18 -9
- package/dist/service/characteristic/archetype/{OneZeroValue.js.map → ZeroOneValue.js.map} +1 -1
- package/dist/service/characteristic/archetype/common.d.ts +2 -3
- package/dist/service/characteristic/archetype/common.d.ts.map +1 -1
- package/dist/service/characteristic/archetype/common.js +1 -5
- package/dist/service/characteristic/archetype/common.js.map +1 -1
- package/dist/service/characteristic/archetype/index.d.ts +7 -6
- package/dist/service/characteristic/archetype/index.d.ts.map +1 -1
- package/dist/service/characteristic/archetype/index.js +7 -6
- package/dist/service/characteristic/archetype/index.js.map +1 -1
- package/dist/service/characteristic/carbonDioxideDetected.d.ts +3 -3
- package/dist/service/characteristic/carbonDioxideDetected.js +1 -1
- package/dist/service/characteristic/carbonMonoxideDetected.d.ts +3 -3
- package/dist/service/characteristic/carbonMonoxideDetected.js +1 -1
- package/dist/service/characteristic/chargingState.d.ts +3 -3
- package/dist/service/characteristic/chargingState.js +1 -1
- package/dist/service/characteristic/closeSignal.d.ts +9 -0
- package/dist/service/characteristic/closeSignal.d.ts.map +1 -0
- package/dist/service/characteristic/closeSignal.js +9 -0
- package/dist/service/characteristic/closeSignal.js.map +1 -0
- package/dist/service/characteristic/contactSensorState.d.ts +3 -3
- package/dist/service/characteristic/contactSensorState.js +1 -1
- package/dist/service/characteristic/currentHeaterCoolerState.d.ts +8 -0
- package/dist/service/characteristic/currentHeaterCoolerState.d.ts.map +1 -0
- package/dist/service/characteristic/currentHeaterCoolerState.js +12 -0
- package/dist/service/characteristic/currentHeaterCoolerState.js.map +1 -0
- package/dist/service/characteristic/index.d.ts +8 -3
- package/dist/service/characteristic/index.d.ts.map +1 -1
- package/dist/service/characteristic/index.js +8 -3
- package/dist/service/characteristic/index.js.map +1 -1
- package/dist/service/characteristic/leakDetected.d.ts +3 -3
- package/dist/service/characteristic/leakDetected.d.ts.map +1 -1
- package/dist/service/characteristic/leakDetected.js +2 -2
- package/dist/service/characteristic/leakDetected.js.map +1 -1
- package/dist/service/characteristic/lockPhysicalControls.d.ts +3 -3
- package/dist/service/characteristic/lockPhysicalControls.d.ts.map +1 -1
- package/dist/service/characteristic/lockPhysicalControls.js +2 -2
- package/dist/service/characteristic/lockPhysicalControls.js.map +1 -1
- package/dist/service/characteristic/lockTargetState.d.ts +3 -3
- package/dist/service/characteristic/lockTargetState.d.ts.map +1 -1
- package/dist/service/characteristic/lockTargetState.js +2 -2
- package/dist/service/characteristic/lockTargetState.js.map +1 -1
- package/dist/service/characteristic/momentaryOn.d.ts +1 -1
- package/dist/service/characteristic/momentaryOn.d.ts.map +1 -1
- package/dist/service/characteristic/momentaryOn.js +8 -7
- package/dist/service/characteristic/momentaryOn.js.map +1 -1
- package/dist/service/characteristic/occupancyDetected.d.ts +3 -3
- package/dist/service/characteristic/occupancyDetected.d.ts.map +1 -1
- package/dist/service/characteristic/occupancyDetected.js +2 -2
- package/dist/service/characteristic/occupancyDetected.js.map +1 -1
- package/dist/service/characteristic/openSignal.d.ts +9 -0
- package/dist/service/characteristic/openSignal.d.ts.map +1 -0
- package/dist/service/characteristic/openSignal.js +9 -0
- package/dist/service/characteristic/openSignal.js.map +1 -0
- package/dist/service/characteristic/positionState.d.ts +2 -2
- package/dist/service/characteristic/positionState.d.ts.map +1 -1
- package/dist/service/characteristic/positionState.js +2 -2
- package/dist/service/characteristic/positionState.js.map +1 -1
- package/dist/service/characteristic/rotationDirection.d.ts +3 -3
- package/dist/service/characteristic/rotationDirection.d.ts.map +1 -1
- package/dist/service/characteristic/rotationDirection.js +2 -2
- package/dist/service/characteristic/rotationDirection.js.map +1 -1
- package/dist/service/characteristic/rotationSpeed.d.ts +7 -2
- package/dist/service/characteristic/rotationSpeed.d.ts.map +1 -1
- package/dist/service/characteristic/rotationSpeed.js +52 -27
- package/dist/service/characteristic/rotationSpeed.js.map +1 -1
- package/dist/service/characteristic/smokeDetected.d.ts +3 -3
- package/dist/service/characteristic/smokeDetected.d.ts.map +1 -1
- package/dist/service/characteristic/smokeDetected.js +2 -2
- package/dist/service/characteristic/smokeDetected.js.map +1 -1
- package/dist/service/characteristic/statusFault.d.ts +3 -3
- package/dist/service/characteristic/statusFault.d.ts.map +1 -1
- package/dist/service/characteristic/statusFault.js +2 -2
- package/dist/service/characteristic/statusFault.js.map +1 -1
- package/dist/service/characteristic/statusLowBattery.d.ts +3 -3
- package/dist/service/characteristic/statusLowBattery.d.ts.map +1 -1
- package/dist/service/characteristic/statusLowBattery.js +2 -2
- package/dist/service/characteristic/statusLowBattery.js.map +1 -1
- package/dist/service/characteristic/statusTampered.d.ts +3 -3
- package/dist/service/characteristic/statusTampered.d.ts.map +1 -1
- package/dist/service/characteristic/statusTampered.js +2 -2
- package/dist/service/characteristic/statusTampered.js.map +1 -1
- package/dist/service/characteristic/swingMode.d.ts +3 -3
- package/dist/service/characteristic/swingMode.d.ts.map +1 -1
- package/dist/service/characteristic/swingMode.js +2 -2
- package/dist/service/characteristic/swingMode.js.map +1 -1
- package/dist/service/characteristic/targetFanState.d.ts +3 -3
- package/dist/service/characteristic/targetFanState.d.ts.map +1 -1
- package/dist/service/characteristic/targetFanState.js +2 -2
- package/dist/service/characteristic/targetFanState.js.map +1 -1
- package/dist/service/characteristic/targetHeaterCoolerState.d.ts +8 -0
- package/dist/service/characteristic/targetHeaterCoolerState.d.ts.map +1 -0
- package/dist/service/characteristic/targetHeaterCoolerState.js +11 -0
- package/dist/service/characteristic/targetHeaterCoolerState.js.map +1 -0
- package/dist/service/characteristic/temperatureDisplayUnits.d.ts +3 -3
- package/dist/service/characteristic/temperatureDisplayUnits.d.ts.map +1 -1
- package/dist/service/characteristic/temperatureDisplayUnits.js +2 -2
- package/dist/service/characteristic/temperatureDisplayUnits.js.map +1 -1
- package/dist/service/characteristic/ternaryState.d.ts +23 -0
- package/dist/service/characteristic/ternaryState.d.ts.map +1 -0
- package/dist/service/characteristic/ternaryState.js +81 -0
- package/dist/service/characteristic/ternaryState.js.map +1 -0
- package/dist/service/index.d.ts.map +1 -1
- package/dist/service/index.js +7 -1
- package/dist/service/index.js.map +1 -1
- package/package.json +1 -1
- package/tsconfig.json +2 -1
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WindowCoveringMomentary = void 0;
|
|
4
|
+
const characteristic_1 = require("./characteristic");
|
|
5
|
+
const until_js_1 = require("./until.js");
|
|
6
|
+
var WindowCoveringMomentary;
|
|
7
|
+
(function (WindowCoveringMomentary) {
|
|
8
|
+
WindowCoveringMomentary.TYPE = 'window-covering-momentary';
|
|
9
|
+
WindowCoveringMomentary.create = async (platform, mqtt, accessory, serviceConfig, primary) => {
|
|
10
|
+
var _a, _b, _c;
|
|
11
|
+
if (serviceConfig.type !== WindowCoveringMomentary.TYPE) {
|
|
12
|
+
throw new Error(`WindowCoveringMomentary factory expects a '${WindowCoveringMomentary.TYPE}' config`);
|
|
13
|
+
}
|
|
14
|
+
const config = serviceConfig;
|
|
15
|
+
const { service, cleanup, online, ctx } = await (0, until_js_1.defineService)(platform, mqtt, accessory, platform.Service.WindowCovering, serviceConfig, primary);
|
|
16
|
+
const currentPosition = (_a = service.getCharacteristic(platform.Characteristic.CurrentPosition)) !== null && _a !== void 0 ? _a : service.addCharacteristic(platform.Characteristic.CurrentPosition)
|
|
17
|
+
.setValue(50);
|
|
18
|
+
const targetPosition = ((_b = service.getCharacteristic(platform.Characteristic.TargetPosition)) !== null && _b !== void 0 ? _b : service.addCharacteristic(platform.Characteristic.TargetPosition))
|
|
19
|
+
.setValue(50)
|
|
20
|
+
.onSet((value, ctx) => {
|
|
21
|
+
const position = value;
|
|
22
|
+
const quantized = Math.round(position / 100) * 100;
|
|
23
|
+
if (config.sticky && quantized !== value) {
|
|
24
|
+
setTimeout(() => targetPosition.setValue(quantized), 300);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
currentPosition.setValue(config.sticky ? value : 50);
|
|
28
|
+
if (quantized === 0) {
|
|
29
|
+
close.setValue(true);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
open.setValue(true);
|
|
33
|
+
}
|
|
34
|
+
if (!config.sticky) {
|
|
35
|
+
// rejecting
|
|
36
|
+
throw new platform.api.hap.HapStatusError(-70404 /* platform.api.hap.HAPStatus.READ_ONLY_CHARACTERISTIC */);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
// will always be at "stopped" position (as there are no "transitions" with the ternary controls)
|
|
40
|
+
const positionState = ((_c = service.getCharacteristic(platform.Characteristic.PositionState)) !== null && _c !== void 0 ? _c : service.addCharacteristic(platform.Characteristic.PositionState))
|
|
41
|
+
.setValue(platform.Characteristic.PositionState.STOPPED);
|
|
42
|
+
const open = await (0, characteristic_1.openSignal)(platform, mqtt, accessory, service, config.topics.open, ctx);
|
|
43
|
+
cleanup.push(open);
|
|
44
|
+
const close = await (0, characteristic_1.closeSignal)(platform, mqtt, accessory, service, config.topics.close, ctx);
|
|
45
|
+
cleanup.push(close);
|
|
46
|
+
return {
|
|
47
|
+
config,
|
|
48
|
+
hap: service,
|
|
49
|
+
dispose: () => cleanup.detach(),
|
|
50
|
+
setConnected: value => online.setValue(value)
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
})(WindowCoveringMomentary || (exports.WindowCoveringMomentary = WindowCoveringMomentary = {}));
|
|
54
|
+
//# sourceMappingURL=WindowCoveringMomentary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WindowCoveringMomentary.js","sourceRoot":"","sources":["../../src/service/WindowCoveringMomentary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TernaryState } from './characteristic';
|
|
2
|
+
import { MqttService } from './MqttService.js';
|
|
3
|
+
export declare namespace WindowCoveringTernary {
|
|
4
|
+
const TYPE: "window-covering-ternary";
|
|
5
|
+
type Config = {
|
|
6
|
+
type: typeof TYPE;
|
|
7
|
+
name: string;
|
|
8
|
+
reverse?: boolean;
|
|
9
|
+
topics: TernaryState & MqttService.StandardTopics;
|
|
10
|
+
};
|
|
11
|
+
const create: MqttService.Factory;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=WindowCoveringTernary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WindowCoveringTernary.d.ts","sourceRoot":"","sources":["../../src/service/WindowCoveringTernary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,yBAAiB,qBAAqB,CAAC;IAE5B,MAAM,IAAI,EAAG,yBAAkC,CAAC;IAEvD,KAAY,MAAM,GAAG;QACjB,IAAI,EAAE,OAAO,IAAI,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,EACF,YAAY,GACZ,WAAW,CAAC,cAAc,CAAA;KACjC,CAAA;IAEM,MAAM,MAAM,EAAE,WAAW,CAAC,OAsEhC,CAAC;CACL"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WindowCoveringTernary = void 0;
|
|
4
|
+
const characteristic_1 = require("./characteristic");
|
|
5
|
+
const until_js_1 = require("./until.js");
|
|
6
|
+
var WindowCoveringTernary;
|
|
7
|
+
(function (WindowCoveringTernary) {
|
|
8
|
+
WindowCoveringTernary.TYPE = 'window-covering-ternary';
|
|
9
|
+
WindowCoveringTernary.create = async (platform, mqtt, accessory, serviceConfig, primary) => {
|
|
10
|
+
var _a, _b, _c;
|
|
11
|
+
if (serviceConfig.type !== WindowCoveringTernary.TYPE) {
|
|
12
|
+
throw new Error(`WindowCoveringTernary factory expects a '${WindowCoveringTernary.TYPE}' config`);
|
|
13
|
+
}
|
|
14
|
+
const config = serviceConfig;
|
|
15
|
+
const { service, cleanup, online, ctx } = await (0, until_js_1.defineService)(platform, mqtt, accessory, platform.Service.WindowCovering, serviceConfig, primary);
|
|
16
|
+
const currentPosition = (_a = service.getCharacteristic(platform.Characteristic.CurrentPosition)) !== null && _a !== void 0 ? _a : service.addCharacteristic(platform.Characteristic.CurrentPosition);
|
|
17
|
+
const targetPosition = ((_b = service.getCharacteristic(platform.Characteristic.TargetPosition)) !== null && _b !== void 0 ? _b : service.addCharacteristic(platform.Characteristic.TargetPosition))
|
|
18
|
+
.onSet((value, ctx) => {
|
|
19
|
+
if (!(ctx === null || ctx === void 0 ? void 0 : ctx.fromTernary)) {
|
|
20
|
+
const position = value;
|
|
21
|
+
currentPosition.setValue(position);
|
|
22
|
+
const quantized = Math.round(position / 50) * 50;
|
|
23
|
+
if (quantized !== position) {
|
|
24
|
+
setTimeout(() => targetPosition.setValue(quantized), 300);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (quantized === 0) {
|
|
28
|
+
// ternary.updateValue(TernaryState.DOWN);
|
|
29
|
+
ternary.setValue(characteristic_1.TernaryState.DOWN);
|
|
30
|
+
}
|
|
31
|
+
else if (quantized === 50) {
|
|
32
|
+
// ternary.updateValue(TernaryState.HOLD);
|
|
33
|
+
ternary.setValue(characteristic_1.TernaryState.HOLD);
|
|
34
|
+
}
|
|
35
|
+
else { // === 100
|
|
36
|
+
// ternary.updateValue(TernaryState.UP);
|
|
37
|
+
ternary.setValue(characteristic_1.TernaryState.UP);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
// will always be at "stopped" position (as there are no "transitions" with the ternary controls)
|
|
42
|
+
const positionState = ((_c = service.getCharacteristic(platform.Characteristic.PositionState)) !== null && _c !== void 0 ? _c : service.addCharacteristic(platform.Characteristic.PositionState))
|
|
43
|
+
.setValue(platform.Characteristic.PositionState.STOPPED);
|
|
44
|
+
const ternary = await (0, characteristic_1.ternaryState)(platform, mqtt, accessory, service, config.topics.ternaryState, ctx);
|
|
45
|
+
cleanup.push(ternary);
|
|
46
|
+
// can't call `ternary.onSet` as onSet handler override any previous handler that was registered using
|
|
47
|
+
// `onSet`. Since onSet was already used during the `ternaryState` char. setup, we'll instead use the events
|
|
48
|
+
// on the service context to listen for set events.
|
|
49
|
+
ctx.emitter.on('ternaryState.set', (value, ctx) => {
|
|
50
|
+
if (ctx === null || ctx === void 0 ? void 0 : ctx.fromMqtt) {
|
|
51
|
+
switch (value) {
|
|
52
|
+
case characteristic_1.TernaryState.UP:
|
|
53
|
+
currentPosition.setValue(100, { fromTernary: true });
|
|
54
|
+
targetPosition.setValue(100, { fromTernary: true });
|
|
55
|
+
break;
|
|
56
|
+
case characteristic_1.TernaryState.DOWN:
|
|
57
|
+
currentPosition.setValue(0, { fromTernary: true });
|
|
58
|
+
targetPosition.setValue(0, { fromTernary: true });
|
|
59
|
+
break;
|
|
60
|
+
default:
|
|
61
|
+
currentPosition.setValue(50, { fromTernary: true });
|
|
62
|
+
targetPosition.setValue(50, { fromTernary: true });
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
return {
|
|
67
|
+
config,
|
|
68
|
+
hap: service,
|
|
69
|
+
dispose: () => cleanup.detach(),
|
|
70
|
+
setConnected: value => online.setValue(value)
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
})(WindowCoveringTernary || (exports.WindowCoveringTernary = WindowCoveringTernary = {}));
|
|
74
|
+
//# sourceMappingURL=WindowCoveringTernary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WindowCoveringTernary.js","sourceRoot":"","sources":["../../src/service/WindowCoveringTernary.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ZeroOneValue } from './archetype';
|
|
2
2
|
export type Active = {
|
|
3
|
-
active:
|
|
3
|
+
active: ZeroOneValue.ReadWriteConfig;
|
|
4
4
|
};
|
|
5
|
-
export declare const active: import(".").CharacteristicConfigurator<
|
|
5
|
+
export declare const active: import(".").CharacteristicConfigurator<ZeroOneValue.ReadOnlyConfig<string, string> | ZeroOneValue.WriteOnlyConfig<string, string> | ZeroOneValue.ReadWriteConfig<string, string>>;
|
|
6
6
|
//# sourceMappingURL=active.d.ts.map
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.active = void 0;
|
|
4
4
|
const archetype_1 = require("./archetype");
|
|
5
|
-
exports.active = archetype_1.
|
|
5
|
+
exports.active = archetype_1.ZeroOneValue.readWrite('active', platform => platform.Characteristic.Active);
|
|
6
6
|
//# sourceMappingURL=active.js.map
|
|
@@ -19,7 +19,7 @@ var BooleanValue;
|
|
|
19
19
|
var _a, _b;
|
|
20
20
|
const [setTopic, setCodec, fullSetTopic] = isWrite(config) ? (0, common_js_1.parseTopic)(config.set, serviceCtx) : [undefined, undefined];
|
|
21
21
|
const [getTopic, getCodec, fullGetTopic] = isRead(config) ? (0, common_js_1.parseTopic)(config.get, serviceCtx) : [undefined, undefined];
|
|
22
|
-
const converter = Converter_js_1.Converter.Boolean.resolve((_a = config.converter) !== null && _a !== void 0 ? _a : '
|
|
22
|
+
const converter = Converter_js_1.Converter.Boolean.resolve((_a = config.converter) !== null && _a !== void 0 ? _a : 'homekit', onKey, offKey);
|
|
23
23
|
if (!converter) {
|
|
24
24
|
platform.logger.error(`Unknown converter [${JSON.stringify(config.converter)}] set for [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}]`);
|
|
25
25
|
}
|
|
@@ -2,11 +2,13 @@ import { Optional } from '../../../common.js';
|
|
|
2
2
|
export type Converter<MQTT, HAP> = {
|
|
3
3
|
toHap: (value: MQTT) => HAP | null;
|
|
4
4
|
fromHap: (value: HAP) => MQTT;
|
|
5
|
+
quantize?: (value: HAP) => HAP;
|
|
5
6
|
};
|
|
6
7
|
export declare namespace Converter {
|
|
7
8
|
const Homekit: Converter<any, any>;
|
|
9
|
+
const HomekitNumber: Converter<any, any>;
|
|
8
10
|
namespace Percent {
|
|
9
|
-
type Type = 'homekit' | 'decimal' | 'boolean' | {
|
|
11
|
+
type Type = 'homekit' | 'zero-hundred' | 'decimal' | 'boolean' | {
|
|
10
12
|
min: number;
|
|
11
13
|
max: number;
|
|
12
14
|
};
|
|
@@ -14,7 +16,7 @@ export declare namespace Converter {
|
|
|
14
16
|
min: number;
|
|
15
17
|
max: number;
|
|
16
18
|
};
|
|
17
|
-
const resolve: (type: Type, reverse?: boolean) => {
|
|
19
|
+
const resolve: (type: Type, reverse?: boolean) => Converter<any, number> | {
|
|
18
20
|
toHap: (value: number) => number | null;
|
|
19
21
|
fromHap: (value: number) => any;
|
|
20
22
|
} | undefined;
|
|
@@ -37,12 +39,12 @@ export declare namespace Converter {
|
|
|
37
39
|
const resolve: (type: Type) => Optional<Converter<number, number>>;
|
|
38
40
|
}
|
|
39
41
|
namespace Boolean {
|
|
40
|
-
type Type<ON extends string = 'on', OFF extends string = 'off'> = 'one
|
|
42
|
+
type Type<ON extends string = 'on', OFF extends string = 'off'> = 'homekit' | 'zero-one' | 'boolean' | {
|
|
41
43
|
[key in ON]: string;
|
|
42
44
|
} & {
|
|
43
45
|
[key in OFF]?: string;
|
|
44
46
|
};
|
|
45
|
-
const
|
|
47
|
+
const ZeroOne: Converter<number, boolean>;
|
|
46
48
|
const resolve: <ON extends string, OFF extends string>(type: Type<ON, OFF>, on: ON, off: OFF) => Optional<Converter<any, boolean>>;
|
|
47
49
|
}
|
|
48
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Converter.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/Converter.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Converter.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/Converter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAErG,MAAM,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI;IAC/B,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,GAAG,GAAG,IAAI,CAAC;IACnC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;CACjC,CAAA;AAED,yBAAiB,SAAS,CAAC;IAEhB,MAAM,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAGvC,CAAA;IAEM,MAAM,aAAa,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAG7C,CAAA;IAED,UAAiB,OAAO,CAAC;QACrB,KAAY,IAAI,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QAC9F,MAAM,WAAW,GAAI,MAAM,GAAG,KAAG,IAAI,IAAI;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAgE,CAAC;QAuDpI,MAAM,OAAO,GAAI,MAAM,IAAI,EAAE,UAAS,OAAe;2BAMrC,MAAM;6BAOJ,MAAM;qBAE9B,CAAA;QAEM,MAAM,QAAQ,GAAI,MAAM,IAAI,KAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAepE,CAAA;KACJ;IAED,UAAiB,GAAG,CAAC;QACjB,KAAY,IAAI,GAAG,SAAS,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;QAS9D,MAAM,OAAO,GAAI,MAAM,IAAI,KAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAOtE,CAAA;KACJ;IAED,UAAiB,WAAW,CAAC;QACzB,KAAY,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;QAKjD,MAAM,OAAO,GAAI,MAAM,IAAI,KAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAOtE,CAAA;KACJ;IAED,UAAiB,gBAAgB,CAAC;QAC9B,KAAY,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;QAK3C,MAAM,OAAO,GAAI,MAAM,IAAI,KAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAOtE,CAAA;KACJ;IAED,UAAiB,WAAW,CAAC;QACzB,KAAY,IAAI,GAAG,KAAK,GAAG,SAAS,GAAG,eAAe,CAAC;QAKhD,MAAM,OAAO,GAAI,MAAM,IAAI,KAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAOtE,CAAA;KACJ;IAED,UAAiB,OAAO,CAAC;QACrB,KAAY,IAAI,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,KAAK,IAAI,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG;aAAG,GAAG,IAAI,EAAE,GAAG,MAAM;SAAE,GAAG;aAAG,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,MAAM;SAAE,CAAC;QAC3J,MAAM,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,CAG9C,CAAC;QACK,MAAM,OAAO,GAAI,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,GAAG,KAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CA+BtI,CAAA;KACJ;CAGJ"}
|
|
@@ -8,6 +8,10 @@ var Converter;
|
|
|
8
8
|
toHap: (value) => value,
|
|
9
9
|
fromHap: (value) => value
|
|
10
10
|
};
|
|
11
|
+
Converter.HomekitNumber = {
|
|
12
|
+
toHap: (value) => parseInt(value),
|
|
13
|
+
fromHap: (value) => String(value)
|
|
14
|
+
};
|
|
11
15
|
let Percent;
|
|
12
16
|
(function (Percent) {
|
|
13
17
|
Percent.isScaleType = (type) => (0, common_js_1.isObject)(type) && (0, common_js_1.isNumber)(type.min) && (0, common_js_1.isNumber)(type.max);
|
|
@@ -25,6 +29,46 @@ var Converter;
|
|
|
25
29
|
toHap: (value) => value ? 100 : 0,
|
|
26
30
|
fromHap: (value) => value !== 0
|
|
27
31
|
};
|
|
32
|
+
const steps = (mqttValues) => {
|
|
33
|
+
const jump = Math.floor(100 / (mqttValues.length - 1));
|
|
34
|
+
const hapValues = mqttValues.map((mqttValue, i) => {
|
|
35
|
+
if (i === 0) {
|
|
36
|
+
return 0;
|
|
37
|
+
}
|
|
38
|
+
if (i === mqttValues.length - 1) {
|
|
39
|
+
return 100;
|
|
40
|
+
}
|
|
41
|
+
return i * jump;
|
|
42
|
+
});
|
|
43
|
+
return {
|
|
44
|
+
toHap: (value) => {
|
|
45
|
+
const i = mqttValues.indexOf(String(value));
|
|
46
|
+
if (i < 0) {
|
|
47
|
+
return 0;
|
|
48
|
+
}
|
|
49
|
+
return hapValues[i];
|
|
50
|
+
},
|
|
51
|
+
fromHap: (value) => {
|
|
52
|
+
const i = hapValues.indexOf(value);
|
|
53
|
+
if (i < 0) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
return mqttValues[i];
|
|
57
|
+
},
|
|
58
|
+
quantize: (value) => {
|
|
59
|
+
let delta = 200;
|
|
60
|
+
let closestValue;
|
|
61
|
+
hapValues.forEach((hapValue) => {
|
|
62
|
+
const currentDelta = Math.abs(hapValue - value);
|
|
63
|
+
if (currentDelta < delta) {
|
|
64
|
+
delta = currentDelta;
|
|
65
|
+
closestValue = hapValue;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
return closestValue;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
};
|
|
28
72
|
Percent.resolve = (type, reverse = false) => {
|
|
29
73
|
const converter = Percent._resolve(type);
|
|
30
74
|
if (!converter) {
|
|
@@ -43,10 +87,14 @@ var Converter;
|
|
|
43
87
|
};
|
|
44
88
|
Percent._resolve = (type) => {
|
|
45
89
|
switch (type) {
|
|
46
|
-
case 'homekit':
|
|
90
|
+
case 'homekit':
|
|
91
|
+
case 'zero-hundred': return Converter.Homekit;
|
|
47
92
|
case 'decimal': return decimal;
|
|
48
93
|
case 'boolean': return bool;
|
|
49
94
|
default:
|
|
95
|
+
if ((0, common_js_1.isArray)(type)) {
|
|
96
|
+
return steps(type);
|
|
97
|
+
}
|
|
50
98
|
if (Percent.isScaleType(type)) {
|
|
51
99
|
return scale(type.min, type.max);
|
|
52
100
|
}
|
|
@@ -120,13 +168,14 @@ var Converter;
|
|
|
120
168
|
})(Illuminance = Converter.Illuminance || (Converter.Illuminance = {}));
|
|
121
169
|
let Boolean;
|
|
122
170
|
(function (Boolean) {
|
|
123
|
-
Boolean.
|
|
171
|
+
Boolean.ZeroOne = {
|
|
124
172
|
toHap: (value) => value === 1 ? true : value === 0 ? false : null,
|
|
125
173
|
fromHap: (value) => value ? 1 : 0
|
|
126
174
|
};
|
|
127
175
|
Boolean.resolve = (type, on, off) => {
|
|
128
176
|
switch (type) {
|
|
129
|
-
case '
|
|
177
|
+
case 'homekit':
|
|
178
|
+
case 'zero-one': return Boolean.ZeroOne;
|
|
130
179
|
case 'boolean': return Converter.Homekit;
|
|
131
180
|
default:
|
|
132
181
|
if ((0, common_js_1.isString)(type) || !(0, common_js_1.isString)(type[on]) || !(0, common_js_1.isString)(type[off])) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Converter.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/Converter.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Converter.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/Converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumericValue.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/NumericValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAiC,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAEH,eAAe,EAIlB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,yBAAiB,YAAY,CAAC;IAE1B,KAAY,cAAc,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,KAAY,eAAe,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,KAAY,oBAAoB,GAAG,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7E,KAAY,oBAAoB,GAAG,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7E,KAAY,eAAe,GAAG,cAAc,GAAG,eAAe,CAAC;IAE/D,KAAY,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAG9G,KAAY,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI;QACpC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACzC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,mBAAmB,CAAC,mBAAmB,CAAC,CAAA;KAClE,CAAA;IAEM,MAAM,QAAQ,GAAI,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,MAAM,EAAE,iBAAiB,eAAe,EAAE,UAAU,OAAO,CAAC,CAAC,CAAC,kCACrF,CAAC;IAE7C,MAAM,SAAS,GAAI,CAAC,SAAS,eAAe,GAAG,eAAe,EAAE,MAAM,MAAM,EAAE,iBAAiB,eAAe,EAAE,UAAU,OAAO,CAAC,CAAC,CAAC,kCACxF,CAAC;IAE7C,MAAM,oBAAoB,GAAI,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,MAAM,MAAM,EAAE,iBAAiB,eAAe,EAAE,UAAU,OAAO,CAAC,CAAC,CAAC,kCAC7G,CAAC;IAE7C,MAAM,oBAAoB,GAAI,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,MAAM,MAAM,EAAE,iBAAiB,eAAe,EAAE,UAAU,OAAO,CAAC,CAAC,CAAC,kCAC7G,CAAC;IAE7C,MAAM,SAAS,GAAI,CAAC,SAAS,eAAe,GAAG,eAAe,EAAE,MAAM,MAAM,EAAE,iBAAiB,eAAe,EAAE,UAAU,OAAO,CAAC,CAAC,CAAC,kCACxF,CAAC;IAEpD,KAAY,MAAM,GAAG,cAAc,GAAG,eAAe,GAAG,eAAe,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"NumericValue.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/NumericValue.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ const common_js_2 = require("./common.js");
|
|
|
6
6
|
const Converter_js_1 = require("./Converter.js");
|
|
7
7
|
var NumericValue;
|
|
8
8
|
(function (NumericValue) {
|
|
9
|
-
const defaultConverterResolver = () => Converter_js_1.Converter.
|
|
9
|
+
const defaultConverterResolver = () => Converter_js_1.Converter.HomekitNumber;
|
|
10
10
|
NumericValue.readOnly = (name, charTypeFactory, options) => configurator(name, charTypeFactory, options);
|
|
11
11
|
NumericValue.writeOnly = (name, charTypeFactory, options) => configurator(name, charTypeFactory, options);
|
|
12
12
|
NumericValue.readMaybeWriteConfig = (name, charTypeFactory, options) => configurator(name, charTypeFactory, options);
|
|
@@ -18,7 +18,7 @@ var NumericValue;
|
|
|
18
18
|
var _a;
|
|
19
19
|
const converterResolver = (_a = options === null || options === void 0 ? void 0 : options.converterResolver) !== null && _a !== void 0 ? _a : defaultConverterResolver;
|
|
20
20
|
return async (platform, mqtt, accessory, service, config, serviceCtx) => {
|
|
21
|
-
var _a;
|
|
21
|
+
var _a, _b;
|
|
22
22
|
const [setTopic, setCodec, fullSetTopic] = isWrite(config) ? (0, common_js_2.parseTopic)(config.set, serviceCtx) : [undefined, undefined];
|
|
23
23
|
const [getTopic, getCodec, fullGetTopic] = isRead(config) ? (0, common_js_2.parseTopic)(config.get, serviceCtx) : [undefined, undefined];
|
|
24
24
|
const converter = converterResolver(config);
|
|
@@ -34,10 +34,16 @@ var NumericValue;
|
|
|
34
34
|
}
|
|
35
35
|
char.setProps(p);
|
|
36
36
|
}
|
|
37
|
+
const quantize = (_b = converter === null || converter === void 0 ? void 0 : converter.quantize) !== null && _b !== void 0 ? _b : ((value) => value);
|
|
37
38
|
char.onSet((value, ctx) => {
|
|
38
39
|
var _a;
|
|
39
40
|
serviceCtx.emitter.emit(`${name}.set`, value, ctx);
|
|
40
41
|
if (setTopic && !(ctx === null || ctx === void 0 ? void 0 : ctx.fromMqtt) && converter) {
|
|
42
|
+
const quantized = quantize(value);
|
|
43
|
+
if (value !== quantized) {
|
|
44
|
+
setTimeout(() => char.setValue(quantized), 300);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
41
47
|
const mqttValue = converter.fromHap(value);
|
|
42
48
|
const publishedValue = (_a = setCodec === null || setCodec === void 0 ? void 0 : setCodec.stringify(mqttValue)) !== null && _a !== void 0 ? _a : mqttValue;
|
|
43
49
|
platform.logger.debug(`Publishing [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}] value [${publishedValue}] to topic [${fullSetTopic}]`);
|
|
@@ -129,7 +135,7 @@ var NumericValue;
|
|
|
129
135
|
};
|
|
130
136
|
Percent.readWrite = (name, charTypeFactory, options) => {
|
|
131
137
|
var _a;
|
|
132
|
-
return NumericValue.
|
|
138
|
+
return NumericValue.readWrite(name, charTypeFactory, {
|
|
133
139
|
converterResolver: (_a = options === null || options === void 0 ? void 0 : options.converterResolver) !== null && _a !== void 0 ? _a : ((config) => { var _a; return Converter_js_1.Converter.Percent.resolve((_a = config.converter) !== null && _a !== void 0 ? _a : 'homekit'); }),
|
|
134
140
|
...options
|
|
135
141
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumericValue.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/NumericValue.ts"],"names":[],"mappings":";;;AACA,kDAA6E;AAE7E,2CAMqB;AACrB,iDAA2C;AAE3C,IAAiB,YAAY,
|
|
1
|
+
{"version":3,"file":"NumericValue.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/NumericValue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Converter } from './index';
|
|
2
|
+
import { CharacteristicConfigurator } from '../index';
|
|
3
|
+
import { MqttPlatform } from '../../../MqttPlatform';
|
|
4
|
+
export type Options<ON extends string = 'on'> = {
|
|
5
|
+
onKey?: ON;
|
|
6
|
+
subType?: string;
|
|
7
|
+
};
|
|
8
|
+
export declare namespace Signal {
|
|
9
|
+
const create: (platform: MqttPlatform, id: string) => import("homebridge").Characteristic;
|
|
10
|
+
type Config<ON extends string = 'on'> = {
|
|
11
|
+
set: string;
|
|
12
|
+
converter?: Converter.Boolean.Type<ON>;
|
|
13
|
+
};
|
|
14
|
+
const configurator: <ON extends string = "on">(name: string, options?: Options<ON>) => CharacteristicConfigurator<Config<ON>>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=Signal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Signal.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/Signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwC,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKrD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,IAAI;IAC5C,KAAK,CAAC,EAAE,EAAE,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,yBAAiB,MAAM,CAAC;IAEb,MAAM,MAAM,GAAI,UAAU,YAAY,EAAE,IAAI,MAAM,wCAGvD,CAAC;IAEH,KAAY,MAAM,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,IAAI;QAC3C,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;KACzC,CAAA;IAEM,MAAM,YAAY,GAAK,EAAE,SAAS,MAAM,GAAG,IAAI,EAAE,MAAM,MAAM,EAAE,UAAU,OAAO,CAAC,EAAE,CAAC,KAAG,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC,CAqBlI,CAAA;CAEJ"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Signal = void 0;
|
|
4
|
+
const index_1 = require("./index");
|
|
5
|
+
const common_1 = require("../../../common");
|
|
6
|
+
const DISPLAY_NAME = 'Signal';
|
|
7
|
+
const UUID = '7996a7cd-19e5-4d8b-a39a-9b5e5d2abf2e';
|
|
8
|
+
var Signal;
|
|
9
|
+
(function (Signal) {
|
|
10
|
+
Signal.create = (platform, id) => new platform.Characteristic(id, platform.api.hap.uuid.generate(`signal-char-${id}`), {
|
|
11
|
+
format: "bool" /* Formats.BOOL */,
|
|
12
|
+
perms: ["pw" /* Perms.PAIRED_WRITE */, "ev" /* Perms.NOTIFY */]
|
|
13
|
+
});
|
|
14
|
+
Signal.configurator = (name, options) => {
|
|
15
|
+
var _a;
|
|
16
|
+
const onKey = (_a = options === null || options === void 0 ? void 0 : options.onKey) !== null && _a !== void 0 ? _a : 'on';
|
|
17
|
+
return async (platform, mqtt, accessory, service, config, serviceCtx) => {
|
|
18
|
+
var _a, _b;
|
|
19
|
+
const [setTopic, setCodec, fullSetTopic] = (0, index_1.parseTopic)(config.set, serviceCtx);
|
|
20
|
+
const converter = index_1.Converter.Boolean.resolve((_a = config.converter) !== null && _a !== void 0 ? _a : 'homekit', onKey, 'off');
|
|
21
|
+
const char = ((_b = service.getCharacteristic(name)) !== null && _b !== void 0 ? _b : service.addCharacteristic(Signal.create(platform, name)));
|
|
22
|
+
char.onSet((value, ctx) => {
|
|
23
|
+
serviceCtx.emitter.emit(`openSignal.set`, value, ctx);
|
|
24
|
+
const hapValue = !!value;
|
|
25
|
+
if (hapValue) {
|
|
26
|
+
const mqttValue = converter.fromHap(!!value);
|
|
27
|
+
platform.logger.debug(`Publishing [${mqtt.id}][${accessory.displayName}][${service.displayName}][openSignal] value [${mqttValue}] to topic [${fullSetTopic}]`);
|
|
28
|
+
mqtt.publish(setTopic, mqttValue, { retain: false });
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
return index_1.DetachableCharacteristic.mixin(char, common_1.Detachable.NOOP);
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
})(Signal || (exports.Signal = Signal = {}));
|
|
35
|
+
//# sourceMappingURL=Signal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Signal.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/Signal.ts"],"names":[],"mappings":";;;AAAA,mCAA0E;AAG1E,4CAA6C;AAG7C,MAAM,YAAY,GAAG,QAAQ,CAAC;AAC9B,MAAM,IAAI,GAAG,sCAAsC,CAAC;AAOpD,IAAiB,MAAM,CAmCtB;AAnCD,WAAiB,MAAM;IAEN,aAAM,GAAG,CAAC,QAAsB,EAAE,EAAU,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE;QAC/I,MAAM,2BAAc;QACpB,KAAK,EAAE,wDAAoC;KAC9C,CAAC,CAAC;IAOU,mBAAY,GAAI,CAA2B,IAAY,EAAE,OAAqB,EAA0C,EAAE;;QACnI,MAAM,KAAK,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,IAAU,CAAC;QAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAkB,EAAE,UAAU,EAAE,EAAE;;YAChF,MAAM,CAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAE,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAChF,MAAM,SAAS,GAAG,iBAAS,CAAC,OAAO,CAAC,OAAO,CAAY,MAAA,MAAM,CAAC,SAAS,mCAAI,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;YAEnG,MAAM,IAAI,GAAG,CAAC,MAAA,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,mCAAI,OAAO,CAAC,iBAAiB,CAAC,OAAA,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACtB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;gBACtD,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC;gBACzB,IAAI,QAAQ,EAAE,CAAC;oBACX,MAAM,SAAS,GAAG,SAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC9C,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,wBAAwB,SAAS,eAAe,YAAY,GAAG,CAAC,CAAC;oBAC/J,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzD,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,gCAAwB,CAAC,KAAK,CAAC,IAAI,EAAE,mBAAU,CAAC,IAAI,CAAC,CAAC;QAEjE,CAAC,CAAC;IACN,CAAC,CAAA;AAEL,CAAC,EAnCgB,MAAM,sBAAN,MAAM,QAmCtB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CharacteristicConfigurator } from '../index.js';
|
|
2
2
|
import { CharTypeFactory } from './common.js';
|
|
3
3
|
import { Converter } from './Converter.js';
|
|
4
|
-
export declare namespace
|
|
4
|
+
export declare namespace ZeroOneValue {
|
|
5
5
|
type CommonConfig<ON extends string, OFF extends string> = {
|
|
6
6
|
converter?: Converter.Boolean.Type<ON, OFF>;
|
|
7
7
|
};
|
|
@@ -22,4 +22,4 @@ export declare namespace OneZeroValue {
|
|
|
22
22
|
export const readWrite: <ON extends string, OFF extends string>(name: string, charTypeFactory: CharTypeFactory, options?: Options<ON, OFF>) => CharacteristicConfigurator<Config<ON, OFF>>;
|
|
23
23
|
export {};
|
|
24
24
|
}
|
|
25
|
-
//# sourceMappingURL=
|
|
25
|
+
//# sourceMappingURL=ZeroOneValue.d.ts.map
|
package/dist/service/characteristic/archetype/{OneZeroValue.d.ts.map → ZeroOneValue.d.ts.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"ZeroOneValue.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/ZeroOneValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAEH,eAAe,EAIlB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,yBAAiB,YAAY,CAAC;IAE1B,KAAK,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,IAAI;QAAE,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IAC3G,MAAM,MAAM,cAAc,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,KAAK,IAC3E;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GACb,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5B,MAAM,MAAM,eAAe,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,KAAK,IAC5E;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GACb,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5B,MAAM,MAAM,eAAe,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,KAAK,IAC5E,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,GACrB,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/B,KAAK,MAAM,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,KAAK,IAC5D,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,GACrB,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,GACxB,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAE/B,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,IAAI;QACzD,KAAK,CAAC,EAAE,EAAE,CAAC;QACX,MAAM,CAAC,EAAE,GAAG,CAAA;KACf,CAAA;IAED,MAAM,CAAC,MAAM,QAAQ,GAAI,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,MAAM,MAAM,EAAE,iBAAiB,eAAe,EAAE,UAAU,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,gDACjF,CAAC;IAE1D,MAAM,CAAC,MAAM,SAAS,GAAI,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,MAAM,MAAM,EAAE,iBAAiB,eAAe,EAAE,UAAU,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,gDAClF,CAAC;IAE1D,MAAM,CAAC,MAAM,SAAS,GAAI,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,MAAM,MAAM,EAAE,iBAAiB,eAAe,EAAE,UAAU,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,gDAClF,CAAC;;CA4E7D"}
|