@uboness/homebridge-mqtt 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +13 -13
  3. package/dist/service/Fan.d.ts +2 -2
  4. package/dist/service/Fan.d.ts.map +1 -1
  5. package/dist/service/Fan.js +50 -6
  6. package/dist/service/Fan.js.map +1 -1
  7. package/dist/service/MqttService.d.ts +5 -0
  8. package/dist/service/MqttService.d.ts.map +1 -1
  9. package/dist/service/characteristic/active.d.ts +1 -1
  10. package/dist/service/characteristic/active.d.ts.map +1 -1
  11. package/dist/service/characteristic/archetype/BooleanValue.d.ts +13 -7
  12. package/dist/service/characteristic/archetype/BooleanValue.d.ts.map +1 -1
  13. package/dist/service/characteristic/archetype/BooleanValue.js +15 -6
  14. package/dist/service/characteristic/archetype/BooleanValue.js.map +1 -1
  15. package/dist/service/characteristic/archetype/Converter.d.ts +2 -1
  16. package/dist/service/characteristic/archetype/Converter.d.ts.map +1 -1
  17. package/dist/service/characteristic/archetype/Converter.js +23 -6
  18. package/dist/service/characteristic/archetype/Converter.js.map +1 -1
  19. package/dist/service/characteristic/archetype/EnumValue.d.ts +12 -7
  20. package/dist/service/characteristic/archetype/EnumValue.d.ts.map +1 -1
  21. package/dist/service/characteristic/archetype/EnumValue.js +14 -6
  22. package/dist/service/characteristic/archetype/EnumValue.js.map +1 -1
  23. package/dist/service/characteristic/archetype/NumericValue.d.ts.map +1 -1
  24. package/dist/service/characteristic/archetype/NumericValue.js +7 -11
  25. package/dist/service/characteristic/archetype/NumericValue.js.map +1 -1
  26. package/dist/service/characteristic/archetype/OneZeroValue.d.ts +14 -8
  27. package/dist/service/characteristic/archetype/OneZeroValue.d.ts.map +1 -1
  28. package/dist/service/characteristic/archetype/OneZeroValue.js +24 -9
  29. package/dist/service/characteristic/archetype/OneZeroValue.js.map +1 -1
  30. package/dist/service/characteristic/archetype/common.d.ts +2 -2
  31. package/dist/service/characteristic/archetype/common.d.ts.map +1 -1
  32. package/dist/service/characteristic/archetype/common.js.map +1 -1
  33. package/dist/service/characteristic/carbonDioxideDetected.d.ts +1 -1
  34. package/dist/service/characteristic/carbonDioxideDetected.d.ts.map +1 -1
  35. package/dist/service/characteristic/carbonMonoxideDetected.d.ts +1 -1
  36. package/dist/service/characteristic/carbonMonoxideDetected.d.ts.map +1 -1
  37. package/dist/service/characteristic/chargingState.d.ts +1 -1
  38. package/dist/service/characteristic/chargingState.d.ts.map +1 -1
  39. package/dist/service/characteristic/contactSensorState.d.ts +1 -1
  40. package/dist/service/characteristic/contactSensorState.d.ts.map +1 -1
  41. package/dist/service/characteristic/index.d.ts +2 -2
  42. package/dist/service/characteristic/index.d.ts.map +1 -1
  43. package/dist/service/characteristic/index.js.map +1 -1
  44. package/dist/service/characteristic/leakDetected.d.ts +1 -1
  45. package/dist/service/characteristic/leakDetected.d.ts.map +1 -1
  46. package/dist/service/characteristic/lockPhysicalControls.d.ts +1 -1
  47. package/dist/service/characteristic/lockPhysicalControls.d.ts.map +1 -1
  48. package/dist/service/characteristic/lockTargetState.d.ts +1 -1
  49. package/dist/service/characteristic/lockTargetState.d.ts.map +1 -1
  50. package/dist/service/characteristic/motionDetected.d.ts +1 -1
  51. package/dist/service/characteristic/motionDetected.d.ts.map +1 -1
  52. package/dist/service/characteristic/mute.d.ts +1 -1
  53. package/dist/service/characteristic/mute.d.ts.map +1 -1
  54. package/dist/service/characteristic/obstructionDetected.d.ts +1 -1
  55. package/dist/service/characteristic/obstructionDetected.d.ts.map +1 -1
  56. package/dist/service/characteristic/occupancyDetected.d.ts +1 -1
  57. package/dist/service/characteristic/occupancyDetected.d.ts.map +1 -1
  58. package/dist/service/characteristic/on.d.ts +1 -1
  59. package/dist/service/characteristic/on.d.ts.map +1 -1
  60. package/dist/service/characteristic/outletInUse.d.ts +1 -1
  61. package/dist/service/characteristic/outletInUse.d.ts.map +1 -1
  62. package/dist/service/characteristic/rotationDirection.d.ts +1 -1
  63. package/dist/service/characteristic/rotationDirection.d.ts.map +1 -1
  64. package/dist/service/characteristic/rotationSpeed.d.ts +1 -1
  65. package/dist/service/characteristic/rotationSpeed.d.ts.map +1 -1
  66. package/dist/service/characteristic/rotationSpeed.js +10 -4
  67. package/dist/service/characteristic/rotationSpeed.js.map +1 -1
  68. package/dist/service/characteristic/smokeDetected.d.ts +1 -1
  69. package/dist/service/characteristic/smokeDetected.d.ts.map +1 -1
  70. package/dist/service/characteristic/statusFault.d.ts +1 -1
  71. package/dist/service/characteristic/statusFault.d.ts.map +1 -1
  72. package/dist/service/characteristic/statusLowBattery.d.ts +1 -1
  73. package/dist/service/characteristic/statusLowBattery.d.ts.map +1 -1
  74. package/dist/service/characteristic/statusTampered.d.ts +1 -1
  75. package/dist/service/characteristic/statusTampered.d.ts.map +1 -1
  76. package/dist/service/characteristic/stickyOn.d.ts +1 -1
  77. package/dist/service/characteristic/stickyOn.d.ts.map +1 -1
  78. package/dist/service/characteristic/swingMode.d.ts +1 -1
  79. package/dist/service/characteristic/swingMode.d.ts.map +1 -1
  80. package/dist/service/characteristic/targetFanState.d.ts +1 -1
  81. package/dist/service/characteristic/targetFanState.d.ts.map +1 -1
  82. package/dist/service/characteristic/temperatureDisplayUnits.d.ts +1 -1
  83. package/dist/service/characteristic/temperatureDisplayUnits.d.ts.map +1 -1
  84. package/dist/service/until.d.ts +3 -3
  85. package/dist/service/until.d.ts.map +1 -1
  86. package/dist/service/until.js +8 -2
  87. package/dist/service/until.js.map +1 -1
  88. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [0.0.5](https://github.com/uboness/{{name}}/compare/v0.0.4...v0.0.5) (2025-01-26)
6
+
5
7
  ## [0.0.4](https://github.com/uboness/{{name}}/compare/v0.0.3...v0.0.4) (2025-01-26)
6
8
 
7
9
  ## [0.0.3](https://github.com/uboness/{{name}}/compare/v0.0.2...v0.0.3) (2025-01-25)
package/README.md CHANGED
@@ -2726,11 +2726,11 @@ Characteristics:
2726
2726
  ### fan
2727
2727
 
2728
2728
  Characteristics:
2729
- - [active](#code-stylecolor-greenactivecode) (required)
2730
- - [currentState](#code-stylecolor-greencurrentFanStatecode) (required) (can also be `currentFanState`)
2731
- - [targetState](#code-stylecolor-greentargetFanStatecode) (required) (can also be `targetFanState`)
2729
+ - [active](#code-stylecolor-greenactivecode) (required if `rotationSpeed` is not configured)
2730
+ - [rotationSpeed](#code-stylecolor-greenrotationSpeedcode) (required if `active` is not configured)
2731
+ - [currentState](#code-stylecolor-greencurrentFanStatecode) (optional) (can also be `currentFanState`)
2732
+ - [targetState](#code-stylecolor-greentargetFanStatecode) (optional) (can also be `targetFanState`)
2732
2733
  - [rotationDirection](#code-stylecolor-greenrotationDirectioncode) (optional)
2733
- - [rotationSpeed](#code-stylecolor-greenrotationSpeedcode) (optional)
2734
2734
  - [swingMode](#code-stylecolor-greenswingModecode) (optional)
2735
2735
  - [lockPhysicalControls](#code-stylecolor-greenlockPhysicalControlscode) (optional)
2736
2736
  - [statusFault](#code-stylecolor-greenstatusFaultcode) (optional)
@@ -2741,12 +2741,17 @@ Characteristics:
2741
2741
  "name": "<custom name>",
2742
2742
  "type": "fan",
2743
2743
  "topics": {
2744
- "active": { //required
2744
+ "active": { // required if 'rotationSpeed' is not configured
2745
2745
  "get": "<read_topic>",
2746
2746
  "set": "<write_topic>",
2747
- "converter"?: "boolean" | { "min": <number>, "max": <number> }
2747
+ "converter"?: "boolean" | { "on": "'active' state value'", "off": "'inactive' state value" }
2748
2748
  },
2749
- "currentState": { // required
2749
+ "rotationSpeed"?: { // required if 'active' is not configured
2750
+ "get": "<read_topic>",
2751
+ "set": "<write_topic>",
2752
+ "converter"?: "decimal" | { "min": <number>, "max": <number> } | <number> | string[]
2753
+ },
2754
+ "currentState"?: { // optional
2750
2755
  "get": "<read_topic>",
2751
2756
  "converter"?: {
2752
2757
  "inactive"?: "'inactive' state value",
@@ -2754,7 +2759,7 @@ Characteristics:
2754
2759
  "blowingAir"?: "'blowing air' state value"
2755
2760
  }
2756
2761
  },
2757
- "targetState": { // required
2762
+ "targetState"?: { // optional
2758
2763
  "get": "<read_topic>",
2759
2764
  "set": "<write_topic>",
2760
2765
  "converter"?: { "auto": "'auto' state value", "manual": "'manual' state value"}
@@ -2764,11 +2769,6 @@ Characteristics:
2764
2769
  "set": "<write_topic>",
2765
2770
  "converter"?: { "clockwise": "value representing 'clockwise'", "counter-clockwise": "value representing 'counter-clockwise'" }
2766
2771
  },
2767
- "rotationSpeed"?: { // optional
2768
- "get": "<read_topic>",
2769
- "set": "<write_topic>",
2770
- "converter"?: "decimal" | { "min": <number>, "max": <number> } | <number> | string[]
2771
- },
2772
2772
  "swingMode"?: { // optional
2773
2773
  "get": "<read_topic>",
2774
2774
  "set": "<write_topic>",
@@ -5,11 +5,11 @@ export declare namespace Fan {
5
5
  type Config = {
6
6
  type: typeof TYPE;
7
7
  name: string;
8
- topics: Active & Partial<CurrentFanState> & {
8
+ topics: Partial<Active> & Partial<RotationSpeed> & Partial<CurrentFanState> & {
9
9
  currentState?: CurrentFanState['currentFanState'];
10
10
  } & Partial<TargetFanState> & {
11
11
  targetState?: TargetFanState['targetFanState'];
12
- } & Partial<RotationDirection> & Partial<RotationSpeed> & Partial<SwingMode> & Partial<LockPhysicalControls> & MqttService.StandardTopics;
12
+ } & Partial<RotationDirection> & Partial<SwingMode> & Partial<LockPhysicalControls> & MqttService.StandardTopics;
13
13
  };
14
14
  const create: MqttService.Factory;
15
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Fan.d.ts","sourceRoot":"","sources":["../../src/service/Fan.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,MAAM,EAEN,eAAe,EAEf,oBAAoB,EAEpB,iBAAiB,EAEjB,aAAa,EAEb,SAAS,EAET,cAAc,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,yBAAiB,GAAG,CAAC;IAEV,MAAM,IAAI,OAAiB,CAAC;IAEnC,KAAY,MAAM,GAAG;QACjB,IAAI,EAAE,OAAO,IAAI,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EACF,MAAM,GACN,OAAO,CAAC,eAAe,CAAC,GAAG;YAAE,YAAY,CAAC,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAA;SAAE,GAChF,OAAO,CAAC,cAAc,CAAC,GAAG;YAAE,WAAW,CAAC,EAAG,cAAc,CAAC,gBAAgB,CAAC,CAAA;SAAE,GAC7E,OAAO,CAAC,iBAAiB,CAAC,GAC1B,OAAO,CAAC,aAAa,CAAC,GACtB,OAAO,CAAC,SAAS,CAAC,GAClB,OAAO,CAAC,oBAAoB,CAAC,GAC7B,WAAW,CAAC,cAAc,CAAA;KACjC,CAAA;IAEM,MAAM,MAAM,EAAE,WAAW,CAAC,OAuChC,CAAA;CAGJ"}
1
+ {"version":3,"file":"Fan.d.ts","sourceRoot":"","sources":["../../src/service/Fan.ts"],"names":[],"mappings":"AAGA,OAAO,EAEH,MAAM,EAEN,eAAe,EAGf,oBAAoB,EAEpB,iBAAiB,EAEjB,aAAa,EAEb,SAAS,EAET,cAAc,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,yBAAiB,GAAG,CAAC;IAEV,MAAM,IAAI,OAAiB,CAAC;IAEnC,KAAY,MAAM,GAAG;QACjB,IAAI,EAAE,OAAO,IAAI,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAGF,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GAExC,OAAO,CAAC,eAAe,CAAC,GAAG;YAAE,YAAY,CAAC,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAA;SAAE,GAChF,OAAO,CAAC,cAAc,CAAC,GAAG;YAAE,WAAW,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAA;SAAE,GAC5E,OAAO,CAAC,iBAAiB,CAAC,GAC1B,OAAO,CAAC,SAAS,CAAC,GAClB,OAAO,CAAC,oBAAoB,CAAC,GAC7B,WAAW,CAAC,cAAc,CAAA;KACjC,CAAA;IAEM,MAAM,MAAM,EAAE,WAAW,CAAC,OA6DhC,CAAC;CA+BL"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Fan = void 0;
4
+ const common_js_1 = require("../common.js");
4
5
  const index_js_1 = require("./characteristic/index.js");
5
6
  const until_js_1 = require("./until.js");
6
7
  var Fan;
@@ -13,10 +14,27 @@ var Fan;
13
14
  }
14
15
  const config = serviceConfig;
15
16
  const { service, cleanup, online, ctx } = await (0, until_js_1.defineService)(platform, mqtt, accessory, platform.Service.Fanv2, serviceConfig, primary);
16
- if (!config.topics.active) {
17
- throw new Error(`Could not create Fan service [${config.name}] for device [${accessory.context.deviceId}]. missing 'active' topics`);
17
+ if (!config.topics.active && !config.topics.rotationSpeed) {
18
+ throw new Error(`Could not create Fan service [${config.name}] for device [${accessory.context.deviceId}]. Either 'active' or 'rotationSpeed' topics must be defined`);
19
+ }
20
+ let activeChar;
21
+ if (config.topics.active) {
22
+ activeChar = await (0, index_js_1.active)(platform, mqtt, accessory, service, config.topics.active, ctx);
23
+ cleanup.push(activeChar);
24
+ }
25
+ let speedChar;
26
+ if (config.topics.rotationSpeed) {
27
+ speedChar = await (0, index_js_1.rotationSpeed)(platform, mqtt, accessory, service, config.topics.rotationSpeed, ctx);
28
+ cleanup.push(speedChar);
29
+ }
30
+ if (!activeChar && speedChar) {
31
+ activeChar = defaultActiveCharacteristic(platform, service, speedChar);
32
+ cleanup.push(activeChar);
33
+ }
34
+ if (!speedChar && activeChar) {
35
+ speedChar = defaultSpeedCharacteristic(platform, service, activeChar);
36
+ cleanup.push(speedChar);
18
37
  }
19
- cleanup.push(await (0, index_js_1.active)(platform, mqtt, accessory, service, config.topics.active, ctx));
20
38
  if (config.topics.currentFanState || config.topics.currentState) {
21
39
  const charConfig = (_a = config.topics.currentFanState) !== null && _a !== void 0 ? _a : config.topics.currentState;
22
40
  cleanup.push(await (0, index_js_1.currentFanState)(platform, mqtt, accessory, service, charConfig, ctx));
@@ -28,9 +46,6 @@ var Fan;
28
46
  if (config.topics.rotationDirection) {
29
47
  cleanup.push(await (0, index_js_1.rotationDirection)(platform, mqtt, accessory, service, config.topics.rotationDirection, ctx));
30
48
  }
31
- if (config.topics.rotationSpeed) {
32
- cleanup.push(await (0, index_js_1.rotationSpeed)(platform, mqtt, accessory, service, config.topics.rotationSpeed, ctx));
33
- }
34
49
  if (config.topics.swingMode) {
35
50
  cleanup.push(await (0, index_js_1.swingMode)(platform, mqtt, accessory, service, config.topics.swingMode, ctx));
36
51
  }
@@ -44,5 +59,34 @@ var Fan;
44
59
  setConnected: value => online.setValue(value)
45
60
  };
46
61
  };
62
+ const defaultActiveCharacteristic = (platform, service, speed) => {
63
+ var _a;
64
+ const active = (_a = service.getCharacteristic(platform.Characteristic.Active)) !== null && _a !== void 0 ? _a : service.addCharacteristic(platform.Characteristic.Active);
65
+ active.onSet((value, ctx) => {
66
+ if (!(ctx === null || ctx === void 0 ? void 0 : ctx.fromSpeed) && !value) {
67
+ (0, common_js_1.nextTick)(() => speed.setValue(0));
68
+ }
69
+ });
70
+ const detachable = speed.on('set', value => {
71
+ (0, common_js_1.nextTick)(() => active.updateValue(value !== 0, { fromSpeed: true }));
72
+ });
73
+ return index_js_1.DetachableCharacteristic.mixin(active, detachable);
74
+ };
75
+ const defaultSpeedCharacteristic = (platform, service, active) => {
76
+ var _a;
77
+ const speed = (_a = service.getCharacteristic(platform.Characteristic.RotationSpeed)) !== null && _a !== void 0 ? _a : service.addCharacteristic(platform.Characteristic.RotationSpeed)
78
+ .setProps({
79
+ minValue: 0,
80
+ maxValue: 100,
81
+ minStep: 100
82
+ });
83
+ speed.onSet(value => {
84
+ active.setValue(value !== 0);
85
+ });
86
+ const detachable = active.on('set', value => {
87
+ speed.updateValue(value ? 100 : 0);
88
+ });
89
+ return index_js_1.DetachableCharacteristic.mixin(speed, detachable);
90
+ };
47
91
  })(Fan = exports.Fan || (exports.Fan = {}));
48
92
  //# sourceMappingURL=Fan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Fan.js","sourceRoot":"","sources":["../../src/service/Fan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Fan.js","sourceRoot":"","sources":["../../src/service/Fan.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ /// <reference types="node" />
2
+ import EventEmitter from 'events';
1
3
  import { PlatformAccessory, Service } from 'homebridge';
2
4
  import { Mqtt } from '../Mqtt.js';
3
5
  import { MqttPlatform } from '../MqttPlatform.js';
@@ -9,6 +11,9 @@ export type MqttService<Config extends MqttService.Config = MqttService.Config>
9
11
  setConnected: (connected: boolean) => void;
10
12
  };
11
13
  export declare namespace MqttService {
14
+ type Context = {
15
+ emitter: EventEmitter;
16
+ };
12
17
  type StandardTopics = Partial<StatusFault> & Partial<FaultMessage>;
13
18
  type StandardSensorTopics = StandardTopics & Partial<StatusLowBattery> & Partial<StatusTampered>;
14
19
  type Config = {
@@ -1 +1 @@
1
- {"version":3,"file":"MqttService.d.ts","sourceRoot":"","sources":["../../src/service/MqttService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAExG,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CAC7C,CAAA;AAED,yBAAiB,WAAW,CAAC;IAEzB,KAAY,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1E,KAAY,oBAAoB,GAAG,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAExG,KAAY,MAAM,GAAG;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACnD,CAAA;IAED,KAAY,YAAY,GAAG,MAAM,GAAG;QAChC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACzD,CAAA;IAED,KAAY,OAAO,CAAC,aAAa,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;CAExN"}
1
+ {"version":3,"file":"MqttService.d.ts","sourceRoot":"","sources":["../../src/service/MqttService.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAExG,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CAC7C,CAAA;AAED,yBAAiB,WAAW,CAAC;IAEzB,KAAY,OAAO,GAAG;QAClB,OAAO,EAAE,YAAY,CAAC;KACzB,CAAC;IAEF,KAAY,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1E,KAAY,oBAAoB,GAAG,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAExG,KAAY,MAAM,GAAG;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACnD,CAAA;IAED,KAAY,YAAY,GAAG,MAAM,GAAG;QAChC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACzD,CAAA;IAED,KAAY,OAAO,CAAC,aAAa,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;CAExN"}
@@ -2,5 +2,5 @@ import { OneZeroValue } from './archetype/index.js';
2
2
  export type Active = {
3
3
  active: OneZeroValue.ReadWriteConfig;
4
4
  };
5
- export declare const active: import("./index.js").CharacteristicConfigurator<OneZeroValue.ReadWriteConfig<"on", "off">>;
5
+ export declare const active: import("./index.js").CharacteristicConfigurator<OneZeroValue.ReadOnlyConfig<string, string> | OneZeroValue.WriteOnlyConfig<string, string> | OneZeroValue.ReadWriteConfig<string, string>>;
6
6
  //# sourceMappingURL=active.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"active.d.ts","sourceRoot":"","sources":["../../../src/service/characteristic/active.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,MAAM,MAAM,GAAG;IACjB,MAAM,EAAE,YAAY,CAAC,eAAe,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,MAAM,4FAA+E,CAAC"}
1
+ {"version":3,"file":"active.d.ts","sourceRoot":"","sources":["../../../src/service/characteristic/active.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,MAAM,MAAM,GAAG;IACjB,MAAM,EAAE,YAAY,CAAC,eAAe,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,MAAM,4LAA+E,CAAC"}
@@ -2,18 +2,24 @@ import { CharacteristicConfigurator } from '../index.js';
2
2
  import { Converter } from './Converter.js';
3
3
  import { CharTypeFactory } from './common.js';
4
4
  export declare namespace BooleanValue {
5
- type ReadOnlyConfig<ON extends string = 'on', OFF extends string = 'off'> = {
6
- get: string;
5
+ type CommonConfig<ON extends string, OFF extends string> = {
7
6
  converter?: Converter.Boolean.Type<ON, OFF>;
8
7
  };
9
- type ReadWriteConfig<ON extends string = 'on', OFF extends string = 'off'> = ReadOnlyConfig<ON, OFF> & {
8
+ export type ReadOnlyConfig<ON extends string = 'on', OFF extends string = 'off'> = {
9
+ get: string;
10
+ } & CommonConfig<ON, OFF>;
11
+ export type WriteOnlyConfig<ON extends string = 'on', OFF extends string = 'off'> = {
10
12
  set: string;
11
- };
12
- type Options<ON extends string = 'on', OFF extends string = 'off'> = {
13
+ } & CommonConfig<ON, OFF>;
14
+ export type ReadWriteConfig<ON extends string = 'on', OFF extends string = 'off'> = ReadOnlyConfig<ON, OFF> & WriteOnlyConfig<ON, OFF>;
15
+ type Config<ON extends string = 'on', OFF extends string = 'off'> = ReadOnlyConfig<ON, OFF> | WriteOnlyConfig<ON, OFF> | ReadWriteConfig<ON, OFF>;
16
+ export type Options<ON extends string = 'on', OFF extends string = 'off'> = {
13
17
  onKey?: ON;
14
18
  offKey?: OFF;
15
19
  };
16
- const readOnly: <ON extends string = "on", OFF extends string = "off", C extends ReadOnlyConfig<ON, OFF> = ReadOnlyConfig<ON, OFF>>(name: string, charTypeFactory: CharTypeFactory, options?: Options<ON, OFF> | undefined) => CharacteristicConfigurator<C>;
17
- const readWrite: <ON extends string = "on", OFF extends string = "off", C extends ReadWriteConfig<ON, OFF> = ReadWriteConfig<ON, OFF>>(name: string, charTypeFactory: CharTypeFactory, options?: Options<ON, OFF> | undefined) => CharacteristicConfigurator<C>;
20
+ export const readOnly: <ON extends string, OFF extends string>(name: string, charTypeFactory: CharTypeFactory, options?: Options<ON, OFF> | undefined) => CharacteristicConfigurator<Config<ON, OFF>>;
21
+ export const writeOnly: <ON extends string, OFF extends string>(name: string, charTypeFactory: CharTypeFactory, options?: Options<ON, OFF> | undefined) => CharacteristicConfigurator<Config<ON, OFF>>;
22
+ export const readWrite: <ON extends string, OFF extends string>(name: string, charTypeFactory: CharTypeFactory, options?: Options<ON, OFF> | undefined) => CharacteristicConfigurator<Config<ON, OFF>>;
23
+ export {};
18
24
  }
19
25
  //# sourceMappingURL=BooleanValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BooleanValue.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/BooleanValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAwD,MAAM,aAAa,CAAC;AAEpG,yBAAiB,YAAY,CAAC;IAE1B,KAAY,cAAc,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,KAAK,IAAI;QAC/E,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;KAC9C,CAAA;IAED,KAAY,eAAe,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,KAAK,IAAI,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG;QAC1G,GAAG,EAAE,MAAM,CAAA;KACd,CAAA;IAED,KAAY,OAAO,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,KAAK,IAAI;QACxE,KAAK,CAAC,EAAE,EAAE,CAAC;QACX,MAAM,CAAC,EAAE,GAAG,CAAA;KACf,CAAA;IAEM,MAAM,QAAQ,4HAA6H,MAAM,mBAAmB,eAAe,0EAC9H,CAAC;IAEtD,MAAM,SAAS,8HAA+H,MAAM,mBAAmB,eAAe,0EACjI,CAAC;CAoDhE"}
1
+ {"version":3,"file":"BooleanValue.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/BooleanValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACH,eAAe,EAKlB,MAAM,aAAa,CAAC;AAErB,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,IAAI;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IAC1H,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,GAAG,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,KAAK,IAAI;QACxE,KAAK,CAAC,EAAE,EAAE,CAAC;QACX,MAAM,CAAC,EAAE,GAAG,CAAA;KACf,CAAA;IAED,MAAM,CAAC,MAAM,QAAQ,gDAAiD,MAAM,mBAAmB,eAAe,wFACrD,CAAC;IAE1D,MAAM,CAAC,MAAM,SAAS,gDAAiD,MAAM,mBAAmB,eAAe,wFACtD,CAAC;IAE1D,MAAM,CAAC,MAAM,SAAS,gDAAiD,MAAM,mBAAmB,eAAe,wFACtD,CAAC;;CA0D7D"}
@@ -1,21 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BooleanValue = void 0;
4
+ const common_1 = require("../../../common");
4
5
  const Converter_js_1 = require("./Converter.js");
5
6
  const common_js_1 = require("./common.js");
6
7
  var BooleanValue;
7
8
  (function (BooleanValue) {
8
9
  BooleanValue.readOnly = (name, charTypeFactory, options) => configurator(name, charTypeFactory, options);
10
+ BooleanValue.writeOnly = (name, charTypeFactory, options) => configurator(name, charTypeFactory, options);
9
11
  BooleanValue.readWrite = (name, charTypeFactory, options) => configurator(name, charTypeFactory, options);
10
- const isReadWrite = (config) => 'set' in config;
12
+ const isWrite = (config) => 'set' in config;
13
+ const isRead = (config) => 'get' in config;
11
14
  const configurator = (name, charTypeFactory, options) => {
12
15
  var _a, _b;
13
16
  const onKey = (_a = options === null || options === void 0 ? void 0 : options.onKey) !== null && _a !== void 0 ? _a : 'on';
14
17
  const offKey = (_b = options === null || options === void 0 ? void 0 : options.offKey) !== null && _b !== void 0 ? _b : 'off';
15
- return async (platform, mqtt, accessory, service, config, ctx) => {
18
+ return async (platform, mqtt, accessory, service, config, serviceCtx) => {
16
19
  var _a, _b;
17
- const [setTopic, setJson, fullSetTopic] = isReadWrite(config) ? (0, common_js_1.parseTopic)(config.set, ctx) : [undefined, undefined];
18
- const [getTopic, getJson, fullGetTopic] = (0, common_js_1.parseTopic)(config.get, ctx);
20
+ const [setTopic, setJson, fullSetTopic] = isWrite(config) ? (0, common_js_1.parseTopic)(config.set, serviceCtx) : [undefined, undefined];
21
+ const [getTopic, getJson, fullGetTopic] = isRead(config) ? (0, common_js_1.parseTopic)(config.get, serviceCtx) : [undefined, undefined];
19
22
  const converter = Converter_js_1.Converter.Boolean.resolve((_a = config.converter) !== null && _a !== void 0 ? _a : 'boolean', onKey, offKey);
20
23
  if (!converter) {
21
24
  platform.logger.error(`Unknown converter [${JSON.stringify(config.converter)}] set for [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}]`);
@@ -25,6 +28,7 @@ var BooleanValue;
25
28
  if (setTopic) {
26
29
  char.onSet((value, ctx) => {
27
30
  var _a;
31
+ serviceCtx.emitter.emit(`${name}.set`, value, ctx);
28
32
  if (!(ctx === null || ctx === void 0 ? void 0 : ctx.fromMqtt) && converter) {
29
33
  const mqttValue = converter.fromHap(value);
30
34
  const publishedValue = (_a = setJson === null || setJson === void 0 ? void 0 : setJson.stringify(mqttValue)) !== null && _a !== void 0 ? _a : mqttValue;
@@ -33,7 +37,7 @@ var BooleanValue;
33
37
  }
34
38
  });
35
39
  }
36
- const detachable = await mqtt.subscribe(getTopic, value => {
40
+ const detachable = !getTopic ? common_1.Detachable.NOOP : await mqtt.subscribe(getTopic, value => {
37
41
  if (converter) {
38
42
  const mqttValue = !getJson ? (0, common_js_1.parseMqttValue)(value) : getJson.parse(value);
39
43
  const bool = converter.toHap(mqttValue);
@@ -47,7 +51,12 @@ var BooleanValue;
47
51
  }
48
52
  }
49
53
  });
50
- return common_js_1.DetachableCharacteristic.mixin(char, detachable);
54
+ const on = (event, handler) => {
55
+ const eventName = `${name}.${event}`;
56
+ serviceCtx.emitter.on(eventName, handler);
57
+ return { detach: () => serviceCtx.emitter.off(eventName, handler) };
58
+ };
59
+ return common_js_1.DetachableCharacteristic.mixin(char, detachable, on);
51
60
  };
52
61
  };
53
62
  })(BooleanValue = exports.BooleanValue || (exports.BooleanValue = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"BooleanValue.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/BooleanValue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BooleanValue.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/BooleanValue.ts"],"names":[],"mappings":"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"}
@@ -36,8 +36,9 @@ export declare namespace Converter {
36
36
  type Type<ON extends string = 'on', OFF extends string = 'off'> = 'one-zero' | 'boolean' | {
37
37
  [key in ON]: string;
38
38
  } & {
39
- [key in OFF]: string;
39
+ [key in OFF]?: string;
40
40
  };
41
+ const OneZero: Converter<number, boolean>;
41
42
  const resolve: <ON extends string, OFF extends string>(type: Type<ON, OFF>, on: ON, off: OFF) => Optional<Converter<any, boolean>>;
42
43
  }
43
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Converter.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/Converter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAErF,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,CAAA;CAChC,CAAA;AAED,yBAAiB,SAAS,CAAC;IAEhB,MAAM,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAGvC,CAAA;IAED,UAAiB,OAAO,CAAC;QACrB,KAAY,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QACjE,MAAM,WAAW,SAAU,GAAG;iBAAkB,MAAM;iBAAO,MAAM;SAAgE,CAAC;QAWpI,MAAM,OAAO,SAAU,IAAI,KAAG,SAAS,UAAU,MAAM,EAAE,MAAM,CAAC,CAUtE,CAAA;KACJ;IAED,UAAiB,GAAG,CAAC;QACjB,KAAY,IAAI,GAAG,SAAS,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;QAS9D,MAAM,OAAO,SAAU,IAAI,KAAG,SAAS,UAAU,MAAM,EAAE,MAAM,CAAC,CAOtE,CAAA;KACJ;IAED,UAAiB,WAAW,CAAC;QACzB,KAAY,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;QAKjD,MAAM,OAAO,SAAU,IAAI,KAAG,SAAS,UAAU,MAAM,EAAE,MAAM,CAAC,CAOtE,CAAA;KACJ;IAED,UAAiB,gBAAgB,CAAC;QAC9B,KAAY,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;QAK3C,MAAM,OAAO,SAAU,IAAI,KAAG,SAAS,UAAU,MAAM,EAAE,MAAM,CAAC,CAOtE,CAAA;KACJ;IAED,UAAiB,WAAW,CAAC;QACzB,KAAY,IAAI,GAAG,KAAK,GAAG,SAAS,GAAG,eAAe,CAAC;QAKhD,MAAM,OAAO,SAAU,IAAI,KAAG,SAAS,UAAU,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,UAAU,GAAG,SAAS,GAAG;aAAG,GAAG,IAAI,EAAE,GAAG,MAAM;SAAE,GAAG;aAAG,GAAG,IAAI,GAAG,GAAG,MAAM;SAAE,CAAC;QAK9I,MAAM,OAAO,oFAAmF,SAAS,UAAU,GAAG,EAAE,OAAO,CAAC,CAatI,CAAA;KACJ;CAGJ"}
1
+ {"version":3,"file":"Converter.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/Converter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAErF,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,CAAA;CAChC,CAAA;AAED,yBAAiB,SAAS,CAAC;IAEhB,MAAM,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAGvC,CAAA;IAED,UAAiB,OAAO,CAAC;QACrB,KAAY,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QACjE,MAAM,WAAW,SAAU,GAAG;iBAAkB,MAAM;iBAAO,MAAM;SAAgE,CAAC;QAWpI,MAAM,OAAO,SAAU,IAAI,KAAG,SAAS,UAAU,MAAM,EAAE,MAAM,CAAC,CAUtE,CAAA;KACJ;IAED,UAAiB,GAAG,CAAC;QACjB,KAAY,IAAI,GAAG,SAAS,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;QAS9D,MAAM,OAAO,SAAU,IAAI,KAAG,SAAS,UAAU,MAAM,EAAE,MAAM,CAAC,CAOtE,CAAA;KACJ;IAED,UAAiB,WAAW,CAAC;QACzB,KAAY,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;QAKjD,MAAM,OAAO,SAAU,IAAI,KAAG,SAAS,UAAU,MAAM,EAAE,MAAM,CAAC,CAOtE,CAAA;KACJ;IAED,UAAiB,gBAAgB,CAAC;QAC9B,KAAY,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;QAK3C,MAAM,OAAO,SAAU,IAAI,KAAG,SAAS,UAAU,MAAM,EAAE,MAAM,CAAC,CAOtE,CAAA;KACJ;IAED,UAAiB,WAAW,CAAC;QACzB,KAAY,IAAI,GAAG,KAAK,GAAG,SAAS,GAAG,eAAe,CAAC;QAKhD,MAAM,OAAO,SAAU,IAAI,KAAG,SAAS,UAAU,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,UAAU,GAAG,SAAS,GAAG;aAAG,GAAG,IAAI,EAAE,GAAG,MAAM;SAAE,GAAG;aAAG,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,MAAM;SAAE,CAAC;QAC/I,MAAM,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,CAG9C,CAAC;QACK,MAAM,OAAO,oFAAmF,SAAS,UAAU,GAAG,EAAE,OAAO,CAAC,CA8BtI,CAAA;KACJ;CAGJ"}
@@ -99,22 +99,39 @@ var Converter;
99
99
  })(Illuminance = Converter.Illuminance || (Converter.Illuminance = {}));
100
100
  let Boolean;
101
101
  (function (Boolean) {
102
- const oneZero = {
102
+ Boolean.OneZero = {
103
103
  toHap: (value) => value === 1 ? true : value === 0 ? false : null,
104
104
  fromHap: (value) => value ? 1 : 0
105
105
  };
106
106
  Boolean.resolve = (type, on, off) => {
107
107
  switch (type) {
108
- case 'one-zero': return oneZero;
108
+ case 'one-zero': return Boolean.OneZero;
109
109
  case 'boolean': return Converter.Homekit;
110
110
  default:
111
111
  if ((0, common_js_1.isString)(type) || !(0, common_js_1.isString)(type[on]) || !(0, common_js_1.isString)(type[off])) {
112
112
  return undefined;
113
113
  }
114
- return {
115
- toHap: (value) => `${value}` === `${type[on]}` ? true : `${value}` === `${type[off]}` ? false : null,
116
- fromHap: (value) => value ? type[on] : type[off]
117
- };
114
+ if (on in type || off in type) {
115
+ return {
116
+ toHap: (value) => {
117
+ if (!(on in type)) { // only off is configured
118
+ return `${value}` !== `${type[off]}`;
119
+ }
120
+ if (!(off in type)) { // only on is configured
121
+ return `${value}` === `${type[on]}`;
122
+ }
123
+ // both on & off are configured
124
+ return `${value}` === `${type[on]}` ? true : `${value}` === `${type[off]}` ? false : null;
125
+ },
126
+ fromHap: (value) => {
127
+ if (on in type && off in type) {
128
+ return value ? type[on] : type[off];
129
+ }
130
+ throw new Error(`Cannot convert HAP value [${value}] to MQTT value. To set MQTT values, both 'on' and 'off' properties must be configured on the boolean converter`);
131
+ }
132
+ };
133
+ }
134
+ return undefined;
118
135
  }
119
136
  };
120
137
  })(Boolean = Converter.Boolean || (Converter.Boolean = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"Converter.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/Converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Converter.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/Converter.ts"],"names":[],"mappings":"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"}
@@ -2,18 +2,23 @@ import { MqttPlatform } from '../../../MqttPlatform.js';
2
2
  import { CharacteristicConfigurator } from '../index.js';
3
3
  import { CharTypeFactory } from './common.js';
4
4
  export declare namespace EnumValue {
5
- type ValuesResolver = (platform: MqttPlatform) => Record<string, number>;
6
- type ReadOnlyConfig<VR extends ValuesResolver> = {
7
- get: string;
5
+ export type ValuesResolver = (platform: MqttPlatform) => Record<string, number>;
6
+ type CommonConfig<VR extends ValuesResolver> = {
8
7
  converter?: 'homekit' | Partial<{
9
8
  [key in keyof ReturnType<VR>]: string | string[];
10
9
  }>;
11
10
  validValues?: string[];
12
11
  };
13
- type ReadWriteConfig<VR extends ValuesResolver> = ReadOnlyConfig<VR> & {
12
+ export type ReadOnlyConfig<VR extends ValuesResolver> = {
13
+ get: string;
14
+ } & CommonConfig<VR>;
15
+ export type WriteOnlyConfig<VR extends ValuesResolver> = {
14
16
  set: string;
15
- };
16
- const readOnly: <VR extends ValuesResolver, C extends ReadOnlyConfig<VR> = ReadOnlyConfig<VR>>(name: string, valuesResolver: VR, charTypeFactory: CharTypeFactory) => CharacteristicConfigurator<C>;
17
- const readWrite: <VR extends ValuesResolver, C extends ReadWriteConfig<VR> = ReadWriteConfig<VR>>(name: string, valuesResolver: VR, charTypeFactory: CharTypeFactory) => CharacteristicConfigurator<C>;
17
+ } & CommonConfig<VR>;
18
+ export type ReadWriteConfig<VR extends ValuesResolver> = ReadOnlyConfig<VR> & WriteOnlyConfig<VR>;
19
+ export const readOnly: <VR extends ValuesResolver>(name: string, valuesResolver: VR, charTypeFactory: CharTypeFactory) => CharacteristicConfigurator<ReadOnlyConfig<VR>>;
20
+ export const writeOnly: <VR extends ValuesResolver>(name: string, valuesResolver: VR, charTypeFactory: CharTypeFactory) => CharacteristicConfigurator<WriteOnlyConfig<VR>>;
21
+ export const readWrite: <VR extends ValuesResolver>(name: string, valuesResolver: VR, charTypeFactory: CharTypeFactory) => CharacteristicConfigurator<ReadWriteConfig<VR>>;
22
+ export {};
18
23
  }
19
24
  //# sourceMappingURL=EnumValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnumValue.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/EnumValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,eAAe,EAAwD,MAAM,aAAa,CAAC;AAEpG,yBAAiB,SAAS,CAAC;IAEvB,KAAY,cAAc,GAAG,CAAC,QAAQ,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhF,KAAY,cAAc,CAAC,EAAE,SAAS,cAAc,IAAI;QACpD,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;aAAG,GAAG,IAAI,MAAM,UAAU,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE;SAAE,CAAC,CAAC;QACtF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KACzB,CAAA;IAED,KAAY,eAAe,CAAC,EAAE,SAAS,cAAc,IAAI,cAAc,CAAC,EAAE,CAAC,GAAG;QAC1E,GAAG,EAAE,MAAM,CAAA;KACd,CAAA;IAGM,MAAM,QAAQ,uFAAwF,MAAM,uCAAuC,eAAe,kCAC3G,CAAC;IAExD,MAAM,SAAS,yFAA0F,MAAM,uCAAuC,eAAe,kCAC9G,CAAC;CA+ElE"}
1
+ {"version":3,"file":"EnumValue.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/EnumValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EACH,eAAe,EAKlB,MAAM,aAAa,CAAC;AAErB,yBAAiB,SAAS,CAAC;IAEvB,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGhF,KAAK,YAAY,CAAC,EAAE,SAAS,cAAc,IAAI;QAC3C,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;aAAG,GAAG,IAAI,MAAM,UAAU,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE;SAAE,CAAC,CAAC;QACtF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KACzB,CAAC;IAEF,MAAM,MAAM,cAAc,CAAC,EAAE,SAAS,cAAc,IAAI;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAC3F,MAAM,MAAM,eAAe,CAAC,EAAE,SAAS,cAAc,IAAI;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAC5F,MAAM,MAAM,eAAe,CAAC,EAAE,SAAS,cAAc,IAAI,cAAc,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAGlG,MAAM,CAAC,MAAM,QAAQ,oCAAqC,MAAM,uCAAuC,eAAe,mDACvC,CAAC;IAEhF,MAAM,CAAC,MAAM,SAAS,oCAAqC,MAAM,uCAAuC,eAAe,oDACvC,CAAC;IAEjF,MAAM,CAAC,MAAM,SAAS,oCAAqC,MAAM,uCAAuC,eAAe,oDACvC,CAAC;;CAsFpF"}
@@ -6,14 +6,16 @@ const common_js_1 = require("./common.js");
6
6
  var EnumValue;
7
7
  (function (EnumValue) {
8
8
  EnumValue.readOnly = (name, valuesResolver, charTypeFactory) => configurator(name, valuesResolver, charTypeFactory);
9
+ EnumValue.writeOnly = (name, valuesResolver, charTypeFactory) => configurator(name, valuesResolver, charTypeFactory);
9
10
  EnumValue.readWrite = (name, valuesResolver, charTypeFactory) => configurator(name, valuesResolver, charTypeFactory);
10
- const isReadWrite = (config) => 'set' in config;
11
+ const isWrite = (config) => 'set' in config;
12
+ const isRead = (config) => 'get' in config;
11
13
  const configurator = (name, valuesResolver, charTypeFactory) => {
12
- return async (platform, mqtt, accessory, service, config, ctx) => {
14
+ return async (platform, mqtt, accessory, service, config, serviceCtx) => {
13
15
  var _a;
14
16
  const values = valuesResolver(platform);
15
- const [setTopic, setJson, fullSetTopic] = isReadWrite(config) ? (0, common_js_1.parseTopic)(config.set, ctx) : [undefined, undefined];
16
- const [getTopic, getJson, fullGetTopic] = (0, common_js_1.parseTopic)(config.get, ctx);
17
+ const [setTopic, setJson, fullSetTopic] = isWrite(config) ? (0, common_js_1.parseTopic)(config.set, serviceCtx) : [undefined, undefined];
18
+ const [getTopic, getJson, fullGetTopic] = isRead(config) ? (0, common_js_1.parseTopic)(config.get, serviceCtx) : [undefined, undefined];
17
19
  const _converter = config.converter === 'homekit' ? undefined : config.converter;
18
20
  const mqttToHap = Object.keys(values).reduce((mqttToHap, key) => {
19
21
  var _a;
@@ -49,6 +51,7 @@ var EnumValue;
49
51
  if (setTopic) {
50
52
  char.onSet((value, ctx) => {
51
53
  var _a;
54
+ serviceCtx.emitter.emit(`${name}.set`, value, ctx);
52
55
  if (ctx === null || ctx === void 0 ? void 0 : ctx.fromMqtt) {
53
56
  return;
54
57
  }
@@ -62,7 +65,7 @@ var EnumValue;
62
65
  mqtt.publish(setTopic, publishedValue);
63
66
  });
64
67
  }
65
- const detachable = await mqtt.subscribe(getTopic, value => {
68
+ const detachable = !getTopic ? common_1.Detachable.NOOP : await mqtt.subscribe(getTopic, value => {
66
69
  const mqttValue = !getJson ? (0, common_js_1.parseMqttValue)(value) : getJson.parse(value);
67
70
  const hapValue = mqttToHap[`${mqttValue}`];
68
71
  if (hapValue === undefined) {
@@ -74,7 +77,12 @@ var EnumValue;
74
77
  char.setValue(hapValue, { fromMqtt: true });
75
78
  }
76
79
  });
77
- return common_js_1.DetachableCharacteristic.mixin(char, detachable);
80
+ const on = (event, handler) => {
81
+ const eventName = `${name}.${event}`;
82
+ serviceCtx.emitter.on(eventName, handler);
83
+ return { detach: () => serviceCtx.emitter.off(eventName, handler) };
84
+ };
85
+ return common_js_1.DetachableCharacteristic.mixin(char, detachable, on);
78
86
  };
79
87
  };
80
88
  })(EnumValue = exports.EnumValue || (exports.EnumValue = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"EnumValue.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/EnumValue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnumValue.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/EnumValue.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":"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"}
1
+ {"version":3,"file":"NumericValue.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/NumericValue.ts"],"names":[],"mappings":"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"}