@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,8 @@
|
|
|
1
|
+
import { EnumValue } from './archetype';
|
|
2
|
+
declare const values: EnumValue.ValuesResolver;
|
|
3
|
+
export type TargetHeaterCoolerState = {
|
|
4
|
+
targetHeaterCoolerState: EnumValue.ReadWriteConfig<typeof values>;
|
|
5
|
+
};
|
|
6
|
+
export declare const targetHeaterCoolerState: import(".").CharacteristicConfigurator<EnumValue.ReadWriteConfig<EnumValue.ValuesResolver>>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=targetHeaterCoolerState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"targetHeaterCoolerState.d.ts","sourceRoot":"","sources":["../../../src/service/characteristic/targetHeaterCoolerState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,QAAA,MAAM,MAAM,EAAE,SAAS,CAAC,cAItB,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG;IAClC,uBAAuB,EAAE,SAAS,CAAC,eAAe,CAAC,OAAO,MAAM,CAAC,CAAA;CACpE,CAAA;AAED,eAAO,MAAM,uBAAuB,6FAAsH,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.targetHeaterCoolerState = void 0;
|
|
4
|
+
const archetype_1 = require("./archetype");
|
|
5
|
+
const values = platform => ({
|
|
6
|
+
cool: platform.Characteristic.TargetHeaterCoolerState.COOL,
|
|
7
|
+
heat: platform.Characteristic.TargetHeaterCoolerState.HEAT,
|
|
8
|
+
auto: platform.Characteristic.TargetHeaterCoolerState.AUTO
|
|
9
|
+
});
|
|
10
|
+
exports.targetHeaterCoolerState = archetype_1.EnumValue.readWrite('targetHeaterCoolerState', values, platform => platform.Characteristic.TargetHeaterCoolerState);
|
|
11
|
+
//# sourceMappingURL=targetHeaterCoolerState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"targetHeaterCoolerState.js","sourceRoot":"","sources":["../../../src/service/characteristic/targetHeaterCoolerState.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAExC,MAAM,MAAM,GAA6B,QAAQ,CAAC,EAAE,CAAC,CAAC;IAClD,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI;IAC1D,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI;IAC1D,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI;CAC7D,CAAC,CAAC;AAMU,QAAA,uBAAuB,GAAG,qBAAS,CAAC,SAAS,CAAC,yBAAyB,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ZeroOneValue } from './archetype';
|
|
2
2
|
export type TemperatureDisplayUnits = {
|
|
3
|
-
temperatureDisplayUnits:
|
|
3
|
+
temperatureDisplayUnits: ZeroOneValue.ReadWriteConfig<'fahrenheit', 'celsius'>;
|
|
4
4
|
};
|
|
5
|
-
export declare const temperatureDisplayUnits: import(".").CharacteristicConfigurator<
|
|
5
|
+
export declare const temperatureDisplayUnits: import(".").CharacteristicConfigurator<ZeroOneValue.ReadWriteConfig<"fahrenheit", "celsius"> | ZeroOneValue.ReadOnlyConfig<"fahrenheit", "celsius"> | ZeroOneValue.WriteOnlyConfig<"fahrenheit", "celsius">>;
|
|
6
6
|
//# sourceMappingURL=temperatureDisplayUnits.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temperatureDisplayUnits.d.ts","sourceRoot":"","sources":["../../../src/service/characteristic/temperatureDisplayUnits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"temperatureDisplayUnits.d.ts","sourceRoot":"","sources":["../../../src/service/characteristic/temperatureDisplayUnits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,uBAAuB,GAAG;IAClC,uBAAuB,EAAE,YAAY,CAAC,eAAe,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;CACjF,CAAA;AAED,eAAO,MAAM,uBAAuB,8MAGlC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.temperatureDisplayUnits = void 0;
|
|
4
|
-
const
|
|
5
|
-
exports.temperatureDisplayUnits =
|
|
4
|
+
const archetype_1 = require("./archetype");
|
|
5
|
+
exports.temperatureDisplayUnits = archetype_1.ZeroOneValue.readWrite('temperatureDisplayUnits', platform => platform.Characteristic.TemperatureDisplayUnits, {
|
|
6
6
|
onKey: 'fahrenheit',
|
|
7
7
|
offKey: 'celsius'
|
|
8
8
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temperatureDisplayUnits.js","sourceRoot":"","sources":["../../../src/service/characteristic/temperatureDisplayUnits.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"temperatureDisplayUnits.js","sourceRoot":"","sources":["../../../src/service/characteristic/temperatureDisplayUnits.ts"],"names":[],"mappings":";;;AAAA,2CAA2C;AAM9B,QAAA,uBAAuB,GAAG,wBAAY,CAAC,SAAS,CAA0B,yBAAyB,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,EAAE;IAC3K,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,SAAS;CACpB,CAAC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CharacteristicConfigurator } from './index';
|
|
2
|
+
export type TernaryState = {
|
|
3
|
+
ternaryState: TernaryStateConfig;
|
|
4
|
+
};
|
|
5
|
+
export declare namespace TernaryState {
|
|
6
|
+
const UP = 2;
|
|
7
|
+
const HOLD = 1;
|
|
8
|
+
const DOWN = 0;
|
|
9
|
+
}
|
|
10
|
+
export type TernaryStateConfig = {
|
|
11
|
+
set: string;
|
|
12
|
+
get?: string;
|
|
13
|
+
converter?: {
|
|
14
|
+
up: string;
|
|
15
|
+
hold: string;
|
|
16
|
+
down: string;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Creates a custom "Ternary State" Characteristic that holds the one of three possible states: up, hold, down
|
|
21
|
+
*/
|
|
22
|
+
export declare const ternaryState: CharacteristicConfigurator<TernaryStateConfig>;
|
|
23
|
+
//# sourceMappingURL=ternaryState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ternaryState.d.ts","sourceRoot":"","sources":["../../../src/service/characteristic/ternaryState.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAQrD,MAAM,MAAM,YAAY,GAAG;IACvB,YAAY,EAAE,kBAAkB,CAAA;CACnC,CAAA;AAED,yBAAiB,YAAY,CAAC;IACnB,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,IAAI,IAAI,CAAC;CACzB;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE;QACR,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAA;KACf,CAAA;CACJ,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,0BAA0B,CAAC,kBAAkB,CA2CvE,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ternaryState = exports.TernaryState = void 0;
|
|
4
|
+
const archetype_1 = require("./archetype");
|
|
5
|
+
const common_1 = require("../../common");
|
|
6
|
+
const DISPLAY_NAME = 'Ternary State';
|
|
7
|
+
const UUID = 'a8fffbcb-46e6-4617-9f26-f7403b6c994a';
|
|
8
|
+
var TernaryState;
|
|
9
|
+
(function (TernaryState) {
|
|
10
|
+
TernaryState.UP = 2;
|
|
11
|
+
TernaryState.HOLD = 1;
|
|
12
|
+
TernaryState.DOWN = 0;
|
|
13
|
+
})(TernaryState || (exports.TernaryState = TernaryState = {}));
|
|
14
|
+
/**
|
|
15
|
+
* Creates a custom "Ternary State" Characteristic that holds the one of three possible states: up, hold, down
|
|
16
|
+
*/
|
|
17
|
+
const ternaryState = async (platform, mqtt, accessory, service, config, serviceCtx) => {
|
|
18
|
+
var _a;
|
|
19
|
+
const createTernaryState = () => new platform.Characteristic(DISPLAY_NAME, UUID, {
|
|
20
|
+
format: "string" /* Formats.STRING */,
|
|
21
|
+
perms: ["pr" /* Perms.PAIRED_READ */, "pw" /* Perms.PAIRED_WRITE */, "ev" /* Perms.NOTIFY */]
|
|
22
|
+
});
|
|
23
|
+
const [setTopic, setCodec, fullSetTopic] = (0, archetype_1.parseTopic)(config.set, serviceCtx);
|
|
24
|
+
const [getTopic, getCodec, fullGetTopic] = config.get ? (0, archetype_1.parseTopic)(config.get, serviceCtx) : [undefined, undefined, undefined];
|
|
25
|
+
const converter = resolveConverter(config);
|
|
26
|
+
const char = ((_a = service.getCharacteristic(DISPLAY_NAME)) !== null && _a !== void 0 ? _a : service.addCharacteristic(createTernaryState()));
|
|
27
|
+
char.onSet((value, ctx) => {
|
|
28
|
+
var _a;
|
|
29
|
+
serviceCtx.emitter.emit(`ternaryState.set`, value, ctx);
|
|
30
|
+
if (!(ctx === null || ctx === void 0 ? void 0 : ctx.fromMqtt)) {
|
|
31
|
+
const mqttValue = converter.fromHap(value);
|
|
32
|
+
const publishedValue = (_a = setCodec === null || setCodec === void 0 ? void 0 : setCodec.stringify(mqttValue)) !== null && _a !== void 0 ? _a : mqttValue;
|
|
33
|
+
platform.logger.debug(`Publishing [${mqtt.id}][${accessory.displayName}][${service.displayName}][ternaryState] value [${publishedValue}] to topic [${fullSetTopic}]`);
|
|
34
|
+
mqtt.publish(setTopic, publishedValue);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
const detachable = !getTopic ? common_1.Detachable.NOOP : await mqtt.subscribe(getTopic, value => {
|
|
38
|
+
const mqttValue = !getCodec ? (0, archetype_1.parseMqttValue)(value) : getCodec.parse(value);
|
|
39
|
+
if (platform.logger.traceEnabled) {
|
|
40
|
+
platform.logger.trace(`Received value [${mqttValue}] from topic [${fullGetTopic}] for [${mqtt.id}][${accessory.displayName}][${service.displayName}][ternaryState]`);
|
|
41
|
+
}
|
|
42
|
+
let hapValue = converter.toHap(mqttValue);
|
|
43
|
+
if (hapValue === null) {
|
|
44
|
+
platform.logger.error(`Cannot update value from topic [${fullGetTopic}] for [${mqtt.id}][${accessory.displayName}][${service.displayName}][ternaryState]. Unknown value [${mqttValue}]`);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (platform.logger.traceEnabled) {
|
|
48
|
+
platform.logger.trace(`converted [${mqttValue}] from topic [${fullGetTopic}] for [${mqtt.id}][${accessory.displayName}][${service.displayName}][ternaryState] to [${hapValue}]`);
|
|
49
|
+
}
|
|
50
|
+
char.setValue(hapValue, { fromMqtt: true });
|
|
51
|
+
});
|
|
52
|
+
return archetype_1.DetachableCharacteristic.mixin(char, detachable);
|
|
53
|
+
};
|
|
54
|
+
exports.ternaryState = ternaryState;
|
|
55
|
+
const resolveConverter = (config) => {
|
|
56
|
+
if (!config.converter) {
|
|
57
|
+
return {
|
|
58
|
+
toHap: (value) => value === '0' ? 0 : value === '1' ? 1 : value === '2' ? 2 : TernaryState.HOLD,
|
|
59
|
+
fromHap: (value) => String(value)
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
const mqttToHap = Object.entries(config.converter).reduce((mqttToHap, entry) => {
|
|
63
|
+
mqttToHap[entry[1]] = entry[0];
|
|
64
|
+
return mqttToHap;
|
|
65
|
+
}, {});
|
|
66
|
+
return {
|
|
67
|
+
toHap: (value) => mqttToHap[value],
|
|
68
|
+
fromHap: (value) => {
|
|
69
|
+
if (value === TernaryState.DOWN) {
|
|
70
|
+
return config.converter.down;
|
|
71
|
+
}
|
|
72
|
+
else if (value === TernaryState.UP) {
|
|
73
|
+
return config.converter.up;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
return config.converter.hold;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=ternaryState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ternaryState.js","sourceRoot":"","sources":["../../../src/service/characteristic/ternaryState.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAiB/C,cAAc,kBAAkB,CAAA;AAEhC,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAiCxD,CAAA"}
|
package/dist/service/index.js
CHANGED
|
@@ -44,6 +44,9 @@ const Thermostat_js_1 = require("./Thermostat.js");
|
|
|
44
44
|
const Window_1 = require("./Window");
|
|
45
45
|
const WindowCovering_js_1 = require("./WindowCovering.js");
|
|
46
46
|
const StatelessScene_js_1 = require("./StatelessScene.js");
|
|
47
|
+
const HeaterCooler_1 = require("./HeaterCooler");
|
|
48
|
+
const WindowCoveringTernary_1 = require("./WindowCoveringTernary");
|
|
49
|
+
const WindowCoveringMomentary_1 = require("./WindowCoveringMomentary");
|
|
47
50
|
__exportStar(require("./MqttService.js"), exports);
|
|
48
51
|
exports.Services = {
|
|
49
52
|
[AirQualitySensor_js_1.AirQualitySensor.TYPE]: AirQualitySensor_js_1.AirQualitySensor.create,
|
|
@@ -55,6 +58,7 @@ exports.Services = {
|
|
|
55
58
|
[Door_1.Door.TYPE]: Door_1.Door.create,
|
|
56
59
|
[Doorbell_1.Doorbell.TYPE]: Doorbell_1.Doorbell.create,
|
|
57
60
|
[Fan_js_1.Fan.TYPE]: Fan_js_1.Fan.create,
|
|
61
|
+
[HeaterCooler_1.HeaterCooler.TYPE]: HeaterCooler_1.HeaterCooler.create,
|
|
58
62
|
[HumidifierDehumidifier_js_1.HumidifierDehumidifier.TYPE]: HumidifierDehumidifier_js_1.HumidifierDehumidifier.create,
|
|
59
63
|
[HumiditySensor_js_1.HumiditySensor.TYPE]: HumiditySensor_js_1.HumiditySensor.create,
|
|
60
64
|
[LeakSensor_js_1.LeakSensor.TYPE]: LeakSensor_js_1.LeakSensor.create,
|
|
@@ -74,6 +78,8 @@ exports.Services = {
|
|
|
74
78
|
[TemperatureSensor_js_1.TemperatureSensor.TYPE]: TemperatureSensor_js_1.TemperatureSensor.create,
|
|
75
79
|
[Thermostat_js_1.Thermostat.TYPE]: Thermostat_js_1.Thermostat.create,
|
|
76
80
|
[Window_1.Window.TYPE]: Window_1.Window.create,
|
|
77
|
-
[WindowCovering_js_1.WindowCovering.TYPE]: WindowCovering_js_1.WindowCovering.create
|
|
81
|
+
[WindowCovering_js_1.WindowCovering.TYPE]: WindowCovering_js_1.WindowCovering.create,
|
|
82
|
+
[WindowCoveringTernary_1.WindowCoveringTernary.TYPE]: WindowCoveringTernary_1.WindowCoveringTernary.create,
|
|
83
|
+
[WindowCoveringMomentary_1.WindowCoveringMomentary.TYPE]: WindowCoveringMomentary_1.WindowCoveringMomentary.create
|
|
78
84
|
};
|
|
79
85
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+DAAyD;AACzD,6CAAuC;AACvC,2CAAqC;AACrC,iDAA2C;AAC3C,yDAAmD;AACnD,+CAAyC;AACzC,iCAA8B;AAC9B,yCAAsC;AACtC,qCAA+B;AAC/B,2EAAqE;AACrE,2DAAqD;AACrD,mDAA6C;AAC7C,iDAA2C;AAC3C,qDAA+C;AAC/C,yDAAmD;AACnD,mDAA6C;AAC7C,uDAAiD;AAEjD,6DAAuD;AACvD,2CAAqC;AACrC,2DAAqD;AACrD,qDAA+C;AAC/C,6CAAuC;AACvC,mDAAgD;AAChD,2CAAqC;AACrC,iEAA2D;AAC3D,mDAA6C;AAC7C,qCAAkC;AAClC,2DAAqD;AACrD,2DAAoD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED