homebridge-carrier-infinity 1.7.0-beta.1 → 1.7.1

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 (64) hide show
  1. package/dist/accessory_base.js.map +1 -1
  2. package/dist/accessory_comfort_activity.d.ts.map +1 -1
  3. package/dist/accessory_comfort_activity.js +12 -8
  4. package/dist/accessory_comfort_activity.js.map +1 -1
  5. package/dist/accessory_oat.d.ts +1 -1
  6. package/dist/accessory_oat.d.ts.map +1 -1
  7. package/dist/accessory_oat.js +3 -4
  8. package/dist/accessory_oat.js.map +1 -1
  9. package/dist/accessory_thermostat.d.ts.map +1 -1
  10. package/dist/accessory_thermostat.js +27 -6
  11. package/dist/accessory_thermostat.js.map +1 -1
  12. package/dist/api/constants.d.ts +6 -0
  13. package/dist/api/constants.d.ts.map +1 -1
  14. package/dist/api/constants.js +7 -1
  15. package/dist/api/constants.js.map +1 -1
  16. package/dist/api/models.d.ts +71 -79
  17. package/dist/api/models.d.ts.map +1 -1
  18. package/dist/api/models.js +440 -363
  19. package/dist/api/models.js.map +1 -1
  20. package/dist/api/oauth.d.ts +2 -2
  21. package/dist/api/oauth.d.ts.map +1 -1
  22. package/dist/api/oauth.js +0 -3
  23. package/dist/api/oauth.js.map +1 -1
  24. package/dist/api/rest_client.js +1 -1
  25. package/dist/api/rest_client.js.map +1 -1
  26. package/dist/characteristics_ac.d.ts +1 -1
  27. package/dist/characteristics_ac.d.ts.map +1 -1
  28. package/dist/characteristics_ac.js +42 -70
  29. package/dist/characteristics_ac.js.map +1 -1
  30. package/dist/characteristics_base.d.ts +6 -9
  31. package/dist/characteristics_base.d.ts.map +1 -1
  32. package/dist/characteristics_base.js +48 -57
  33. package/dist/characteristics_base.js.map +1 -1
  34. package/dist/characteristics_fan.d.ts +6 -6
  35. package/dist/characteristics_fan.d.ts.map +1 -1
  36. package/dist/characteristics_fan.js +63 -75
  37. package/dist/characteristics_fan.js.map +1 -1
  38. package/dist/characteristics_filter.d.ts +1 -1
  39. package/dist/characteristics_filter.d.ts.map +1 -1
  40. package/dist/characteristics_filter.js +8 -5
  41. package/dist/characteristics_filter.js.map +1 -1
  42. package/dist/characteristics_humidity.d.ts +5 -2
  43. package/dist/characteristics_humidity.d.ts.map +1 -1
  44. package/dist/characteristics_humidity.js +17 -9
  45. package/dist/characteristics_humidity.js.map +1 -1
  46. package/dist/helper_logging.d.ts +1 -0
  47. package/dist/helper_logging.d.ts.map +1 -1
  48. package/dist/helper_logging.js +3 -0
  49. package/dist/helper_logging.js.map +1 -1
  50. package/dist/helpers.js +7 -8
  51. package/dist/helpers.js.map +1 -1
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/platform.d.ts.map +1 -1
  54. package/dist/platform.js +6 -12
  55. package/dist/platform.js.map +1 -1
  56. package/package.json +28 -28
  57. package/dist/api/helpers.d.ts +0 -5
  58. package/dist/api/helpers.d.ts.map +0 -1
  59. package/dist/api/helpers.js +0 -31
  60. package/dist/api/helpers.js.map +0 -1
  61. package/dist/api/helpers_rxjs.d.ts +0 -3
  62. package/dist/api/helpers_rxjs.d.ts.map +0 -1
  63. package/dist/api/helpers_rxjs.js +0 -16
  64. package/dist/api/helpers_rxjs.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AccessoryInformation = exports.ThermostatCharacteristicWrapper = exports.CharacteristicWrapper = exports.MultiWrapper = void 0;
4
+ const constants_1 = require("./api/constants");
4
5
  const helper_logging_1 = require("./helper_logging");
5
- const rxjs_1 = require("rxjs");
6
6
  /*
7
7
  * Helpers to add handlers to the HAP Service and Characteristic objects.
8
8
  */
@@ -33,36 +33,40 @@ class MultiWrapper extends Wrapper {
33
33
  }
34
34
  exports.MultiWrapper = MultiWrapper;
35
35
  class CharacteristicWrapper extends Wrapper {
36
+ constructor() {
37
+ super(...arguments);
38
+ this.props = {};
39
+ // used exclusively if no char value is set yet (first accessory load)
40
+ this.default_value = null;
41
+ }
36
42
  wrap(service) {
37
43
  const characteristic = service.getCharacteristic(this.ctype);
38
44
  if (this.props) {
39
- this.props.subscribe(async (data) => {
40
- characteristic.setProps(data);
41
- });
45
+ characteristic.setProps(this.props);
46
+ }
47
+ if (this.get) {
48
+ // This magic callback schedules another async callback to actually fetch
49
+ // and update the characteristic. This lets us convert a sync callback to
50
+ // an async callback.
51
+ const callback = () => {
52
+ // Schedule async update to HK characteristic.
53
+ process.nextTick(async () => {
54
+ if (this.get) {
55
+ characteristic.updateValue(await this.get());
56
+ }
57
+ });
58
+ // Return immediately with the current, stale value. This is needed for
59
+ // this to be a valid callback to onGet.
60
+ // try 1) existing value, if falsy, 2) default value, if null, 3) keep existing value
61
+ return characteristic.value || this.default_value || characteristic.value;
62
+ };
63
+ // Listen for HK 'get' requests. Schedule async update push to HK.
64
+ characteristic.onGet(callback);
65
+ // Listen for api updates. Schedule async update push to HK.
66
+ this.system.events.on(constants_1.SUBSCRIPTION.CONFIG, callback);
67
+ this.system.events.on(constants_1.SUBSCRIPTION.CONFIG_MUTATE, callback);
68
+ this.system.events.on(constants_1.SUBSCRIPTION.STATUS, callback);
42
69
  }
43
- // Push updates from the system-based value observable to HK
44
- this.value.subscribe(async (data) => {
45
- if (characteristic.value === data) {
46
- this.log.debug(`PUSH (unnecessary) Updating ${this.ctype.name} from ${characteristic.value} to ${data}`);
47
- }
48
- else {
49
- this.log.debug(`PUSH Updating ${this.ctype.name} from ${characteristic.value} to ${data}`);
50
- }
51
- characteristic.updateValue(data);
52
- });
53
- // Make HK get requests initiate an observable update
54
- characteristic.onGet(async () => {
55
- // Tell the system model it should update ...
56
- this.system.status.events.emit('onGet');
57
- this.system.config.events.emit('onGet');
58
- // ... and return immediately the last seen api value.
59
- const data = await (0, rxjs_1.firstValueFrom)(this.value);
60
- if (characteristic.value !== data) {
61
- this.log.debug(`GET Updating ${this.ctype.name} from ${characteristic.value} to ${data}`);
62
- }
63
- return data;
64
- });
65
- // Sets call set helper which calls system model
66
70
  if (this.set) {
67
71
  characteristic.onSet(this.set.bind(this));
68
72
  }
@@ -71,11 +75,19 @@ class CharacteristicWrapper extends Wrapper {
71
75
  exports.CharacteristicWrapper = CharacteristicWrapper;
72
76
  class ThermostatCharacteristicWrapper extends CharacteristicWrapper {
73
77
  // TODO: check in constructor that context has zone and hold settings
78
+ async getActivity() {
79
+ // Vacation scheduling is weird, and changes infrequently. Just get it from status.
80
+ if (await this.system.status.getZoneActivity(this.context.zone) === constants_1.ACTIVITY.VACATION) {
81
+ return constants_1.ACTIVITY.VACATION;
82
+ }
83
+ // Config has more up to date activity settings.
84
+ return await this.system.config.getZoneActivity(this.context.zone);
85
+ }
74
86
  async getHoldTime() {
75
87
  // OTMR setting to say when manual hold should end
76
88
  switch (this.context.holdBehavior) {
77
89
  case 'activity':
78
- return (0, rxjs_1.firstValueFrom)(this.system.config.getZone(this.context.zone).next_activity_time);
90
+ return await this.system.config.getZoneNextActivityTime(this.context.zone);
79
91
  case 'for_x': {
80
92
  const arg = this.context.holdArgument.split(':');
81
93
  let target_ms = (new Date()).getTime();
@@ -94,35 +106,14 @@ class ThermostatCharacteristicWrapper extends CharacteristicWrapper {
94
106
  }
95
107
  }
96
108
  exports.ThermostatCharacteristicWrapper = ThermostatCharacteristicWrapper;
97
- class AccessorySerial extends CharacteristicWrapper {
98
- constructor() {
99
- super(...arguments);
100
- this.ctype = this.Characteristic.SerialNumber;
101
- this.value = (0, rxjs_1.of)(this.system.serialNumber);
102
- }
103
- }
104
- class AccessoryModel extends CharacteristicWrapper {
105
- constructor() {
106
- super(...arguments);
107
- this.ctype = this.Characteristic.Model;
108
- this.value = this.system.profile.model;
109
- }
110
- }
111
- class AccessoryManufacturer extends CharacteristicWrapper {
112
- constructor() {
113
- super(...arguments);
114
- this.ctype = this.Characteristic.Manufacturer;
115
- this.value = this.system.profile.brand.pipe((0, rxjs_1.map)(x => `${x} Home`));
116
- }
117
- }
118
- class AccessoryInformation extends MultiWrapper {
119
- constructor() {
120
- super(...arguments);
121
- this.WRAPPERS = [
122
- AccessorySerial,
123
- AccessoryModel,
124
- AccessoryManufacturer,
125
- ];
109
+ class AccessoryInformation extends Wrapper {
110
+ wrap(service) {
111
+ this.system.profile.fetch().then(async () => {
112
+ service
113
+ .setCharacteristic(this.Characteristic.SerialNumber, this.system.serialNumber)
114
+ .setCharacteristic(this.Characteristic.Manufacturer, `${await this.system.profile.getBrand()} Home`)
115
+ .setCharacteristic(this.Characteristic.Model, await this.system.profile.getModel());
116
+ });
126
117
  }
127
118
  }
128
119
  exports.AccessoryInformation = AccessoryInformation;
@@ -1 +1 @@
1
- {"version":3,"file":"characteristics_base.js","sourceRoot":"","sources":["../src/characteristics_base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"characteristics_base.js","sourceRoot":"","sources":["../src/characteristics_base.ts"],"names":[],"mappings":"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"}
@@ -2,26 +2,26 @@ import { CharacteristicValue } from 'homebridge';
2
2
  import { ThermostatCharacteristicWrapper, MultiWrapper } from './characteristics_base';
3
3
  declare class FanStatus extends ThermostatCharacteristicWrapper {
4
4
  ctype: typeof import("hap-nodejs/dist/lib/definitions").Active;
5
- value: import("rxjs").Observable<0 | 1>;
5
+ get: () => Promise<0 | 1>;
6
6
  set: (value: CharacteristicValue) => Promise<void>;
7
7
  }
8
8
  declare class FanState extends ThermostatCharacteristicWrapper {
9
9
  ctype: typeof import("hap-nodejs/dist/lib/definitions").CurrentFanState;
10
- value: import("rxjs").Observable<0 | 2 | 1>;
10
+ get: () => Promise<0 | 1 | 2>;
11
11
  }
12
12
  declare class FanSpeed extends ThermostatCharacteristicWrapper {
13
13
  ctype: typeof import("hap-nodejs/dist/lib/definitions").RotationSpeed;
14
- props: import("rxjs").Observable<{
14
+ props: {
15
15
  minValue: number;
16
16
  maxValue: number;
17
17
  minStep: number;
18
- }>;
19
- value: import("rxjs").Observable<CharacteristicValue>;
18
+ };
19
+ get: () => Promise<CharacteristicValue>;
20
20
  set: (value: CharacteristicValue) => Promise<void>;
21
21
  }
22
22
  declare class TargetFanState extends ThermostatCharacteristicWrapper {
23
23
  ctype: typeof import("hap-nodejs/dist/lib/definitions").TargetFanState;
24
- value: import("rxjs").Observable<0 | 1>;
24
+ get: () => Promise<0 | 1>;
25
25
  set: (value: CharacteristicValue) => Promise<void>;
26
26
  }
27
27
  export declare class FanService extends MultiWrapper {
@@ -1 +1 @@
1
- {"version":3,"file":"characteristics_fan.d.ts","sourceRoot":"","sources":["../src/characteristics_fan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,+BAA+B,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAsBvF,cAAM,SAAU,SAAQ,+BAA+B;IACrD,KAAK,0DAA8B;IACnC,KAAK,mCA8BH;IAEF,GAAG,UAAiB,mBAAmB,mBA6BrC;CACH;AAED,cAAM,QAAS,SAAQ,+BAA+B;IACpD,KAAK,mEAAuC;IAC5C,KAAK,uCA8BH;CACH;AAED,cAAM,QAAS,SAAQ,+BAA+B;IACpD,KAAK,iEAAqC;IAC1C,KAAK;;;;OAA8C;IACnD,KAAK,iDAAuG;IAE5G,GAAG,UAAiB,mBAAmB,mBAsBrC;CACH;AAED,cAAM,cAAe,SAAQ,+BAA+B;IAC1D,KAAK,kEAAsC;IAC3C,KAAK,mCAIH;IAEF,GAAG,UAAiB,mBAAmB,mBAwBrC;CACH;AAED,qBAAa,UAAW,SAAQ,YAAY;IAC1C,QAAQ,mFAKN;CACH"}
1
+ {"version":3,"file":"characteristics_fan.d.ts","sourceRoot":"","sources":["../src/characteristics_fan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,+BAA+B,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAqBvF,cAAM,SAAU,SAAQ,+BAA+B;IACrD,KAAK,0DAA8B;IACnC,GAAG,uBAwBD;IAEF,GAAG,GAAU,OAAO,mBAAmB,mBAoBrC;CACH;AAED,cAAM,QAAS,SAAQ,+BAA+B;IACpD,KAAK,mEAAuC;IAC5C,GAAG,2BAwBD;CACH;AAED,cAAM,QAAS,SAAQ,+BAA+B;IACpD,KAAK,iEAAqC;IAC1C,KAAK;;;;MAA0C;IAE/C,GAAG,qCAID;IAEF,GAAG,GAAU,OAAO,mBAAmB,mBAcrC;CACH;AAED,cAAM,cAAe,SAAQ,+BAA+B;IAC1D,KAAK,kEAAsC;IAE3C,GAAG,uBAOD;IAEF,GAAG,GAAU,OAAO,mBAAmB,mBAgBrC;CACH;AAED,qBAAa,UAAW,SAAQ,YAAY;IAC1C,QAAQ,mFAKN;CACH"}
@@ -4,7 +4,6 @@ exports.FanService = void 0;
4
4
  const characteristics_base_1 = require("./characteristics_base");
5
5
  const helpers_1 = require("./helpers");
6
6
  const constants_1 = require("./api/constants");
7
- const rxjs_1 = require("rxjs");
8
7
  /*
9
8
  * Controls for system fan.
10
9
  *
@@ -25,48 +24,42 @@ class FanStatus extends characteristics_base_1.ThermostatCharacteristicWrapper {
25
24
  constructor() {
26
25
  super(...arguments);
27
26
  this.ctype = this.Characteristic.Active;
28
- this.value = (0, rxjs_1.combineLatest)([
29
- this.system.config.mode,
30
- this.system.config.getZone(this.context.zone).fan,
31
- this.system.status.getZone(this.context.zone).blowing,
32
- this.system.status.getZone(this.context.zone).closed,
33
- ]).pipe((0, rxjs_1.debounceTime)(50), (0, rxjs_1.map)(([c_mode, c_fan, s_blowing, s_closed]) => {
34
- // First, we do the absolute checks. If the status says blowing, or the system
35
- // is shut off, we know the state.
36
- if (s_blowing) {
37
- return this.Characteristic.Active.ACTIVE;
38
- }
39
- else if (c_mode === constants_1.SYSTEM_MODE.OFF) {
27
+ this.get = async () => {
28
+ if (
29
+ // if the system is configured to be off, the fan must be off
30
+ await this.system.config.getMode() === constants_1.SYSTEM_MODE.OFF) {
40
31
  return this.Characteristic.Active.INACTIVE;
41
- // Second, we check for the edge case between when a user changes the state
42
- // and the system picks it up. If the fan is set to on, the fan will be on
43
- // soon, even though it isn't yet (which we know since blowing was false).
44
- // This mitigates switch instability.
45
- // However, we only do this edge case fix if the damper status is not closed,
46
- // since if the damper reports it is closed, there is a good chance the
47
- // config may be ignored for one reason or another. (#156)
48
32
  }
49
- else if (c_fan !== constants_1.FAN_MODE.OFF && !s_closed) {
50
- return this.Characteristic.Active.ACTIVE;
33
+ else if (
34
+ // zone config api says manual fan mode
35
+ await this.system.config.getZoneActivityFan(this.context.zone, await this.getActivity()) !== constants_1.FAN_MODE.OFF ||
36
+ // zone status api says fan is on
37
+ await this.system.status.getZoneFan(this.context.zone) !== constants_1.FAN_MODE.OFF ||
38
+ // zone status api says zone is conditioning
39
+ await this.system.status.getZoneConditioning(this.context.zone) !== constants_1.SYSTEM_MODE.OFF) {
40
+ // but there is an exception to the above... which is the fan status/config
41
+ // can be wrong if the zone is actually closed off.
42
+ if (await this.system.status.getZoneOpen(this.context.zone)) {
43
+ return this.Characteristic.Active.ACTIVE;
44
+ }
45
+ else {
46
+ return this.Characteristic.Active.INACTIVE;
47
+ }
48
+ }
49
+ else {
50
+ return this.Characteristic.Active.INACTIVE;
51
51
  }
52
- // Finally, if we get here the zone is not blowing.
53
- return this.Characteristic.Active.INACTIVE;
54
- }), (0, rxjs_1.distinctUntilChanged)());
52
+ };
55
53
  this.set = async (value) => {
56
54
  // if we are trying to *turn on* fan, and system is off, set to fan only mode
57
55
  if (value === this.Characteristic.Active.ACTIVE &&
58
- await (0, rxjs_1.firstValueFrom)(this.system.config.mode) === constants_1.SYSTEM_MODE.OFF) {
56
+ await this.system.config.getMode() === constants_1.SYSTEM_MODE.OFF) {
59
57
  return await this.system.config.setMode(constants_1.SYSTEM_MODE.FAN_ONLY);
60
58
  }
61
59
  // if we are trying to turn off fan, turn off fan override (i.e. set fan speed=auto)
62
60
  // NOTE: If system is in FAN_ONLY mode, it will remain in FAN ONLY, but with speed=auto.
63
61
  if (value === this.Characteristic.Active.INACTIVE) {
64
- // Sync current activity settings to manual activity
65
- await this.system.config.setZoneActivityManualSync(this.context.zone, await (0, rxjs_1.firstValueFrom)(this.system.getZoneActivity(this.context.zone)));
66
- // Update manual activity fan speed
67
- await this.system.config.setZoneActivityManualFan(this.context.zone, constants_1.FAN_MODE.OFF);
68
- // Enable manual activity hold
69
- await this.system.config.setZoneActivityHold(this.context.zone, constants_1.ACTIVITY.MANUAL, await this.getHoldTime());
62
+ return await this.system.config.setZoneActivityManualHold(this.context.zone, null, null, await this.getHoldTime(), constants_1.FAN_MODE.OFF);
70
63
  }
71
64
  };
72
65
  }
@@ -75,52 +68,49 @@ class FanState extends characteristics_base_1.ThermostatCharacteristicWrapper {
75
68
  constructor() {
76
69
  super(...arguments);
77
70
  this.ctype = this.Characteristic.CurrentFanState;
78
- this.value = (0, rxjs_1.combineLatest)([
79
- this.system.config.mode,
80
- this.system.config.getZone(this.context.zone).fan,
81
- this.system.status.getZone(this.context.zone).blowing,
82
- this.system.status.getZone(this.context.zone).closed,
83
- ]).pipe((0, rxjs_1.debounceTime)(50), (0, rxjs_1.map)(([c_mode, c_fan, s_blowing, s_closed]) => {
84
- // First, we do the absolute checks. If the status says blowing, or the system
85
- // is shut off, we know the state.
86
- if (s_blowing) {
87
- return this.Characteristic.CurrentFanState.BLOWING_AIR;
88
- }
89
- else if (c_mode === constants_1.SYSTEM_MODE.OFF) {
71
+ this.get = async () => {
72
+ if (
73
+ // if the system is configured to be off, the fan must be off
74
+ await this.system.config.getMode() === constants_1.SYSTEM_MODE.OFF) {
90
75
  return this.Characteristic.CurrentFanState.INACTIVE;
91
- // Second, we check for the edge case between when a user changes the state
92
- // and the system picks it up. If the fan is set to on, the fan will be on
93
- // soon, even though it isn't yet (which we know since blowing was false).
94
- // This mitigates switch instability.
95
- // However, we only do this edge case fix if the damper status is not closed,
96
- // since if the damper reports it is closed, there is a good chance the
97
- // config may be ignored for one reason or another. (#156)
98
76
  }
99
- else if (c_fan !== constants_1.FAN_MODE.OFF && !s_closed) {
100
- return this.Characteristic.CurrentFanState.BLOWING_AIR;
77
+ else if (
78
+ // zone config api says manual fan mode
79
+ await this.system.config.getZoneActivityFan(this.context.zone, await this.getActivity()) !== constants_1.FAN_MODE.OFF ||
80
+ // zone status api says fan is on
81
+ await this.system.status.getZoneFan(this.context.zone) !== constants_1.FAN_MODE.OFF ||
82
+ // zone status api says zone is conditioning
83
+ await this.system.status.getZoneConditioning(this.context.zone) !== constants_1.SYSTEM_MODE.OFF) {
84
+ // but there is an exception to the above... which is the fan status/config
85
+ // can be wrong if the zone is actually closed off.
86
+ if (await this.system.status.getZoneOpen(this.context.zone)) {
87
+ return this.Characteristic.CurrentFanState.BLOWING_AIR;
88
+ }
89
+ else {
90
+ return this.Characteristic.CurrentFanState.IDLE;
91
+ }
101
92
  }
102
- // Finally, if we get here the zone is not blowing.
103
- return this.Characteristic.CurrentFanState.IDLE;
104
- }), (0, rxjs_1.distinctUntilChanged)());
93
+ else {
94
+ return this.Characteristic.CurrentFanState.IDLE;
95
+ }
96
+ };
105
97
  }
106
98
  }
107
99
  class FanSpeed extends characteristics_base_1.ThermostatCharacteristicWrapper {
108
100
  constructor() {
109
101
  super(...arguments);
110
102
  this.ctype = this.Characteristic.RotationSpeed;
111
- this.props = (0, rxjs_1.of)({ minValue: 0, maxValue: 3, minStep: 1 });
112
- this.value = this.system.config.getZone(this.context.zone).fan.pipe((0, rxjs_1.map)(data => (0, helpers_1.convertSystemFan2CharFan)(data)));
103
+ this.props = { minValue: 0, maxValue: 3, minStep: 1 };
104
+ this.get = async () => {
105
+ return (0, helpers_1.convertSystemFan2CharFan)(await this.system.config.getZoneActivityFan(this.context.zone, await this.getActivity()));
106
+ };
113
107
  this.set = async (value) => {
114
108
  // if we are trying to control fan, and system is off, set to fan only mode
115
- if (await (0, rxjs_1.firstValueFrom)(this.system.config.mode) === constants_1.SYSTEM_MODE.OFF) {
109
+ if (await this.system.config.getMode() === constants_1.SYSTEM_MODE.OFF) {
116
110
  await this.system.config.setMode(constants_1.SYSTEM_MODE.FAN_ONLY);
117
111
  }
118
- // Sync current activity settings to manual activity
119
- await this.system.config.setZoneActivityManualSync(this.context.zone, await (0, rxjs_1.firstValueFrom)(this.system.getZoneActivity(this.context.zone)));
120
- // Update manual activity fan speed
121
- await this.system.config.setZoneActivityManualFan(this.context.zone, (0, helpers_1.convertCharFan2SystemFan)(value));
122
- // Enable manual activity hold
123
- await this.system.config.setZoneActivityHold(this.context.zone, constants_1.ACTIVITY.MANUAL, await this.getHoldTime());
112
+ // set fan speed
113
+ return await this.system.config.setZoneActivityManualHold(this.context.zone, null, null, await this.getHoldTime(), (0, helpers_1.convertCharFan2SystemFan)(value));
124
114
  };
125
115
  }
126
116
  }
@@ -128,22 +118,20 @@ class TargetFanState extends characteristics_base_1.ThermostatCharacteristicWrap
128
118
  constructor() {
129
119
  super(...arguments);
130
120
  this.ctype = this.Characteristic.TargetFanState;
131
- this.value = this.system.config.getZone(this.context.zone).fan.pipe((0, rxjs_1.map)(data => data === constants_1.FAN_MODE.OFF ?
132
- this.Characteristic.TargetFanState.AUTO :
133
- this.Characteristic.TargetFanState.MANUAL));
121
+ this.get = async () => {
122
+ return await this.system.config.getZoneActivityFan(this.context.zone, await this.getActivity()) === constants_1.FAN_MODE.OFF ?
123
+ this.Characteristic.TargetFanState.AUTO :
124
+ this.Characteristic.TargetFanState.MANUAL;
125
+ };
134
126
  this.set = async (value) => {
135
127
  // if we are trying to control fan, and system is off, set to fan only mode
136
- if (await (0, rxjs_1.firstValueFrom)(this.system.config.mode) === constants_1.SYSTEM_MODE.OFF) {
128
+ if (await this.system.config.getMode() === constants_1.SYSTEM_MODE.OFF) {
137
129
  await this.system.config.setMode(constants_1.SYSTEM_MODE.FAN_ONLY);
138
130
  }
139
- // Sync current activity settings to manual activity
140
- await this.system.config.setZoneActivityManualSync(this.context.zone, await (0, rxjs_1.firstValueFrom)(this.system.getZoneActivity(this.context.zone)));
141
- // Update manual activity fan speed to switch between auto and manual
142
- await this.system.config.setZoneActivityManualFan(this.context.zone, value === this.Characteristic.TargetFanState.AUTO ?
131
+ // set fan speed to switch between auto and manual
132
+ return await this.system.config.setZoneActivityManualHold(this.context.zone, null, null, await this.getHoldTime(), value === this.Characteristic.TargetFanState.AUTO ?
143
133
  constants_1.FAN_MODE.OFF : // fan off is auto
144
134
  constants_1.FAN_MODE.MED);
145
- // Enable manual activity hold
146
- await this.system.config.setZoneActivityHold(this.context.zone, constants_1.ACTIVITY.MANUAL, await this.getHoldTime());
147
135
  };
148
136
  }
149
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"characteristics_fan.js","sourceRoot":"","sources":["../src/characteristics_fan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"characteristics_fan.js","sourceRoot":"","sources":["../src/characteristics_fan.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { CharacteristicWrapper, MultiWrapper } from './characteristics_base';
2
2
  declare class FilterLife extends CharacteristicWrapper {
3
3
  ctype: typeof import("hap-nodejs/dist/lib/definitions").FilterLifeLevel;
4
- value: import("rxjs").Observable<number>;
4
+ get: () => Promise<number>;
5
5
  }
6
6
  export declare class FilterService extends MultiWrapper {
7
7
  WRAPPERS: (typeof FilterLife)[];
@@ -1 +1 @@
1
- {"version":3,"file":"characteristics_filter.d.ts","sourceRoot":"","sources":["../src/characteristics_filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE7E,cAAM,UAAW,SAAQ,qBAAqB;IAC5C,KAAK,mEAAuC;IAC5C,KAAK,oCAA0D;CAChE;AAWD,qBAAa,aAAc,SAAQ,YAAY;IAC7C,QAAQ,wBAGN;CACH"}
1
+ {"version":3,"file":"characteristics_filter.d.ts","sourceRoot":"","sources":["../src/characteristics_filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE7E,cAAM,UAAW,SAAQ,qBAAqB;IAC5C,KAAK,mEAAuC;IAC5C,GAAG,wBAED;CACH;AAWD,qBAAa,aAAc,SAAQ,YAAY;IAC7C,QAAQ,wBAGN;CACH"}
@@ -1,22 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FilterService = void 0;
4
- const rxjs_1 = require("rxjs");
5
4
  const characteristics_base_1 = require("./characteristics_base");
6
5
  class FilterLife extends characteristics_base_1.CharacteristicWrapper {
7
6
  constructor() {
8
7
  super(...arguments);
9
8
  this.ctype = this.Characteristic.FilterLifeLevel;
10
- this.value = this.system.status.filter_used.pipe((0, rxjs_1.map)(x => 100 - x));
9
+ this.get = async () => {
10
+ return 100 - (await this.system.status.getFilterUsed());
11
+ };
11
12
  }
12
13
  }
13
14
  class FilterChange extends characteristics_base_1.CharacteristicWrapper {
14
15
  constructor() {
15
16
  super(...arguments);
16
17
  this.ctype = this.Characteristic.FilterChangeIndication;
17
- this.value = this.system.status.filter_used.pipe((0, rxjs_1.map)(x => x > 95 ?
18
- this.Characteristic.FilterChangeIndication.CHANGE_FILTER :
19
- this.Characteristic.FilterChangeIndication.FILTER_OK));
18
+ this.get = async () => {
19
+ return (await this.system.status.getFilterUsed()) > 95 ?
20
+ this.Characteristic.FilterChangeIndication.CHANGE_FILTER :
21
+ this.Characteristic.FilterChangeIndication.FILTER_OK;
22
+ };
20
23
  }
21
24
  }
22
25
  class FilterService extends characteristics_base_1.MultiWrapper {
@@ -1 +1 @@
1
- {"version":3,"file":"characteristics_filter.js","sourceRoot":"","sources":["../src/characteristics_filter.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,iEAA6E;AAE7E,MAAM,UAAW,SAAQ,4CAAqB;IAA9C;;QACE,UAAK,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;QAC5C,UAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;CAAA;AAED,MAAM,YAAa,SAAQ,4CAAqB;IAAhD;;QACE,UAAK,GAAG,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC;QACnD,UAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAA,UAAG,EAC7C,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACX,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;YAC1D,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,SAAS,CACvD,CAAC,CAAC;IACL,CAAC;CAAA;AAED,MAAa,aAAc,SAAQ,mCAAY;IAA/C;;QACE,aAAQ,GAAG;YACT,UAAU;YACV,YAAY;SACb,CAAC;IACJ,CAAC;CAAA;AALD,sCAKC"}
1
+ {"version":3,"file":"characteristics_filter.js","sourceRoot":"","sources":["../src/characteristics_filter.ts"],"names":[],"mappings":";;;AAAA,iEAA6E;AAE7E,MAAM,UAAW,SAAQ,4CAAqB;IAA9C;;QACE,UAAK,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;QAC5C,QAAG,GAAG,KAAK,IAAI,EAAE;YACf,OAAO,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC;IACJ,CAAC;CAAA;AAED,MAAM,YAAa,SAAQ,4CAAqB;IAAhD;;QACE,UAAK,GAAG,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC;QACnD,QAAG,GAAG,KAAK,IAAI,EAAE;YACf,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtD,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;gBAC1D,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,SAAS,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC;CAAA;AAED,MAAa,aAAc,SAAQ,mCAAY;IAA/C;;QACE,aAAQ,GAAG;YACT,UAAU;YACV,YAAY;SACb,CAAC;IACJ,CAAC;CAAA;AALD,sCAKC"}
@@ -1,13 +1,16 @@
1
1
  import { CharacteristicWrapper, MultiWrapper } from './characteristics_base';
2
2
  declare class CurrentRH extends CharacteristicWrapper {
3
3
  ctype: typeof import("hap-nodejs/dist/lib/definitions").CurrentRelativeHumidity;
4
- value: import("rxjs").Observable<number>;
4
+ get: () => Promise<number>;
5
+ }
6
+ declare class TargetDehumidify extends CharacteristicWrapper {
7
+ ctype: typeof import("hap-nodejs/dist/lib/definitions").RelativeHumidityDehumidifierThreshold;
5
8
  }
6
9
  export declare class ThermostatRHService extends MultiWrapper {
7
10
  WRAPPERS: (typeof CurrentRH)[];
8
11
  }
9
12
  export declare class HumidifierService extends MultiWrapper {
10
- WRAPPERS: (typeof CurrentRH)[];
13
+ WRAPPERS: (typeof TargetDehumidify)[];
11
14
  }
12
15
  export {};
13
16
  //# sourceMappingURL=characteristics_humidity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"characteristics_humidity.d.ts","sourceRoot":"","sources":["../src/characteristics_humidity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE7E,cAAM,SAAU,SAAQ,qBAAqB;IAC3C,KAAK,2EAA+C;IACpD,KAAK,oCAA0D;CAChE;AAWD,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,QAAQ,uBAEN;CACH;AAED,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,QAAQ,uBAIN;CACH"}
1
+ {"version":3,"file":"characteristics_humidity.d.ts","sourceRoot":"","sources":["../src/characteristics_humidity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE7E,cAAM,SAAU,SAAQ,qBAAqB;IAC3C,KAAK,2EAA+C;IACpD,GAAG,wBAED;CACH;AAED,cAAM,gBAAiB,SAAQ,qBAAqB;IAClD,KAAK,yFAA6D;CACnE;AAOD,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,QAAQ,uBAEN;CACH;AAED,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,QAAQ,8BAIN;CACH"}
@@ -6,15 +6,23 @@ class CurrentRH extends characteristics_base_1.CharacteristicWrapper {
6
6
  constructor() {
7
7
  super(...arguments);
8
8
  this.ctype = this.Characteristic.CurrentRelativeHumidity;
9
- this.value = this.system.status.getZone(this.context.zone).humidity;
9
+ this.get = async () => {
10
+ return await this.system.status.getZoneHumidity(this.context.zone);
11
+ };
12
+ }
13
+ }
14
+ class TargetDehumidify extends characteristics_base_1.CharacteristicWrapper {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.ctype = this.Characteristic.RelativeHumidityDehumidifierThreshold;
18
+ }
19
+ }
20
+ class TargetHumidify extends characteristics_base_1.CharacteristicWrapper {
21
+ constructor() {
22
+ super(...arguments);
23
+ this.ctype = this.Characteristic.RelativeHumidityHumidifierThreshold;
10
24
  }
11
25
  }
12
- // class TargetDehumidify extends CharacteristicWrapper {
13
- // ctype = this.Characteristic.RelativeHumidityDehumidifierThreshold;
14
- // }
15
- // class TargetHumidify extends CharacteristicWrapper {
16
- // ctype = this.Characteristic.RelativeHumidityHumidifierThreshold;
17
- // }
18
26
  class ThermostatRHService extends characteristics_base_1.MultiWrapper {
19
27
  constructor() {
20
28
  super(...arguments);
@@ -29,8 +37,8 @@ class HumidifierService extends characteristics_base_1.MultiWrapper {
29
37
  super(...arguments);
30
38
  this.WRAPPERS = [
31
39
  CurrentRH,
32
- // TargetDehumidify,
33
- // TargetHumidify,
40
+ TargetDehumidify,
41
+ TargetHumidify,
34
42
  ];
35
43
  }
36
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"characteristics_humidity.js","sourceRoot":"","sources":["../src/characteristics_humidity.ts"],"names":[],"mappings":";;;AAAA,iEAA6E;AAE7E,MAAM,SAAU,SAAQ,4CAAqB;IAA7C;;QACE,UAAK,GAAG,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC;QACpD,UAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;IACjE,CAAC;CAAA;AAED,yDAAyD;AACzD,uEAAuE;AACvE,IAAI;AAEJ,uDAAuD;AACvD,qEAAqE;AACrE,IAAI;AAGJ,MAAa,mBAAoB,SAAQ,mCAAY;IAArD;;QACE,aAAQ,GAAG;YACT,SAAS;SACV,CAAC;IACJ,CAAC;CAAA;AAJD,kDAIC;AAED,MAAa,iBAAkB,SAAQ,mCAAY;IAAnD;;QACE,aAAQ,GAAG;YACT,SAAS;YACT,oBAAoB;YACpB,kBAAkB;SACnB,CAAC;IACJ,CAAC;CAAA;AAND,8CAMC"}
1
+ {"version":3,"file":"characteristics_humidity.js","sourceRoot":"","sources":["../src/characteristics_humidity.ts"],"names":[],"mappings":";;;AAAA,iEAA6E;AAE7E,MAAM,SAAU,SAAQ,4CAAqB;IAA7C;;QACE,UAAK,GAAG,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC;QACpD,QAAG,GAAG,KAAK,IAAI,EAAE;YACf,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC,CAAC;IACJ,CAAC;CAAA;AAED,MAAM,gBAAiB,SAAQ,4CAAqB;IAApD;;QACE,UAAK,GAAG,IAAI,CAAC,cAAc,CAAC,qCAAqC,CAAC;IACpE,CAAC;CAAA;AAED,MAAM,cAAe,SAAQ,4CAAqB;IAAlD;;QACE,UAAK,GAAG,IAAI,CAAC,cAAc,CAAC,mCAAmC,CAAC;IAClE,CAAC;CAAA;AAGD,MAAa,mBAAoB,SAAQ,mCAAY;IAArD;;QACE,aAAQ,GAAG;YACT,SAAS;SACV,CAAC;IACJ,CAAC;CAAA;AAJD,kDAIC;AAED,MAAa,iBAAkB,SAAQ,mCAAY;IAAnD;;QACE,aAAQ,GAAG;YACT,SAAS;YACT,gBAAgB;YAChB,cAAc;SACf,CAAC;IACJ,CAAC;CAAA;AAND,8CAMC"}
@@ -4,6 +4,7 @@ export declare class PrefixLogger implements Logger {
4
4
  readonly prefix: string;
5
5
  constructor(internal: Logger, prefix: string);
6
6
  info(message: string, ...parameters: any[]): void;
7
+ success(message: string, ...parameters: any[]): void;
7
8
  warn(message: string, ...parameters: any[]): void;
8
9
  error(message: string, ...parameters: any[]): void;
9
10
  debug(message: string, ...parameters: any[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"helper_logging.d.ts","sourceRoot":"","sources":["../src/helper_logging.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE9C,qBAAa,YAAa,YAAW,MAAM;IAEnC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM;gBADN,QAAQ,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM;IAGtB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlD,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;CAGzE"}
1
+ {"version":3,"file":"helper_logging.d.ts","sourceRoot":"","sources":["../src/helper_logging.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE9C,qBAAa,YAAa,YAAW,MAAM;IAEnC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM;gBADN,QAAQ,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM;IAGtB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIpD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlD,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;CAGzE"}
@@ -9,6 +9,9 @@ class PrefixLogger {
9
9
  info(message, ...parameters) {
10
10
  this.log("info" /* LogLevel.INFO */, message, ...parameters);
11
11
  }
12
+ success(message, ...parameters) {
13
+ this.log("success" /* LogLevel.SUCCESS */, message, ...parameters);
14
+ }
12
15
  warn(message, ...parameters) {
13
16
  this.log("warn" /* LogLevel.WARN */, message, ...parameters);
14
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"helper_logging.js","sourceRoot":"","sources":["../src/helper_logging.ts"],"names":[],"mappings":";;;AAGA,MAAa,YAAY;IACvB,YACuB,QAAgB,EACxB,MAAc;QADN,aAAQ,GAAR,QAAQ,CAAQ;QACxB,WAAM,GAAN,MAAM,CAAQ;IAC3B,CAAC;IAEI,IAAI,CAAC,OAAe,EAAE,GAAG,UAAiB;QAC/C,IAAI,CAAC,GAAG,6BAAgB,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAClD,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,GAAG,UAAiB;QAC/C,IAAI,CAAC,GAAG,6BAAgB,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,GAAG,UAAiB;QAChD,IAAI,CAAC,GAAG,+BAAiB,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IACnD,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,GAAG,UAAiB;QAChD,IAAI,CAAC,GAAG,+BAAiB,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IACnD,CAAC;IAEM,GAAG,CAAC,KAAe,EAAE,OAAe,EAAE,GAAG,UAAiB;QAC/D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,EAAE,GAAG,UAAU,CAAC,CAAC;IACzE,CAAC;CACF;AAzBD,oCAyBC"}
1
+ {"version":3,"file":"helper_logging.js","sourceRoot":"","sources":["../src/helper_logging.ts"],"names":[],"mappings":";;;AAGA,MAAa,YAAY;IACvB,YACuB,QAAgB,EACxB,MAAc;QADN,aAAQ,GAAR,QAAQ,CAAQ;QACxB,WAAM,GAAN,MAAM,CAAQ;IAC3B,CAAC;IAEI,IAAI,CAAC,OAAe,EAAE,GAAG,UAAiB;QAC/C,IAAI,CAAC,GAAG,6BAAgB,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAClD,CAAC;IAEM,OAAO,CAAC,OAAe,EAAE,GAAG,UAAiB;QAClD,IAAI,CAAC,GAAG,mCAAmB,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IACrD,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,GAAG,UAAiB;QAC/C,IAAI,CAAC,GAAG,6BAAgB,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,GAAG,UAAiB;QAChD,IAAI,CAAC,GAAG,+BAAiB,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IACnD,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,GAAG,UAAiB;QAChD,IAAI,CAAC,GAAG,+BAAiB,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC;IACnD,CAAC;IAEM,GAAG,CAAC,KAAe,EAAE,OAAe,EAAE,GAAG,UAAiB;QAC/D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,EAAE,GAAG,UAAU,CAAC,CAAC;IACzE,CAAC;CACF;AA7BD,oCA6BC"}