@mp-consulting/homebridge-daikin-cloud 1.3.21 → 1.3.24

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 (69) hide show
  1. package/README.md +7 -0
  2. package/dist/src/accessories/base-accessory.d.ts.map +1 -1
  3. package/dist/src/accessories/base-accessory.js +7 -2
  4. package/dist/src/accessories/base-accessory.js.map +1 -1
  5. package/dist/src/api/daikin-device.d.ts +7 -0
  6. package/dist/src/api/daikin-device.d.ts.map +1 -1
  7. package/dist/src/api/daikin-device.js +27 -1
  8. package/dist/src/api/daikin-device.js.map +1 -1
  9. package/dist/src/api/daikin-schemas.d.ts +71 -59
  10. package/dist/src/api/daikin-schemas.d.ts.map +1 -1
  11. package/dist/src/api/daikin-schemas.js +51 -32
  12. package/dist/src/api/daikin-schemas.js.map +1 -1
  13. package/dist/src/config/config-manager.d.ts +2 -0
  14. package/dist/src/config/config-manager.d.ts.map +1 -1
  15. package/dist/src/config/config-manager.js +1 -0
  16. package/dist/src/config/config-manager.js.map +1 -1
  17. package/dist/src/device/capability-detector.d.ts +1 -0
  18. package/dist/src/device/capability-detector.d.ts.map +1 -1
  19. package/dist/src/device/capability-detector.js +11 -0
  20. package/dist/src/device/capability-detector.js.map +1 -1
  21. package/dist/src/device/capability-docs.d.ts.map +1 -1
  22. package/dist/src/device/capability-docs.js +3 -0
  23. package/dist/src/device/capability-docs.js.map +1 -1
  24. package/dist/src/features/base-feature.d.ts +7 -0
  25. package/dist/src/features/base-feature.d.ts.map +1 -1
  26. package/dist/src/features/base-feature.js +17 -0
  27. package/dist/src/features/base-feature.js.map +1 -1
  28. package/dist/src/features/feature-manager.d.ts +6 -0
  29. package/dist/src/features/feature-manager.d.ts.map +1 -1
  30. package/dist/src/features/feature-manager.js +11 -0
  31. package/dist/src/features/feature-manager.js.map +1 -1
  32. package/dist/src/features/modes/auto-fan-mode.feature.d.ts +27 -0
  33. package/dist/src/features/modes/auto-fan-mode.feature.d.ts.map +1 -0
  34. package/dist/src/features/modes/auto-fan-mode.feature.js +62 -0
  35. package/dist/src/features/modes/auto-fan-mode.feature.js.map +1 -0
  36. package/dist/src/features/modes/econo-mode.feature.d.ts.map +1 -1
  37. package/dist/src/features/modes/econo-mode.feature.js +5 -2
  38. package/dist/src/features/modes/econo-mode.feature.js.map +1 -1
  39. package/dist/src/features/modes/index.d.ts +1 -0
  40. package/dist/src/features/modes/index.d.ts.map +1 -1
  41. package/dist/src/features/modes/index.js +1 -0
  42. package/dist/src/features/modes/index.js.map +1 -1
  43. package/dist/src/features/modes/outdoor-silent-mode.feature.d.ts.map +1 -1
  44. package/dist/src/features/modes/outdoor-silent-mode.feature.js +5 -2
  45. package/dist/src/features/modes/outdoor-silent-mode.feature.js.map +1 -1
  46. package/dist/src/features/modes/powerful-mode.feature.d.ts.map +1 -1
  47. package/dist/src/features/modes/powerful-mode.feature.js +5 -2
  48. package/dist/src/features/modes/powerful-mode.feature.js.map +1 -1
  49. package/dist/src/features/modes/streamer-mode.feature.d.ts.map +1 -1
  50. package/dist/src/features/modes/streamer-mode.feature.js +5 -2
  51. package/dist/src/features/modes/streamer-mode.feature.js.map +1 -1
  52. package/dist/src/platform.d.ts.map +1 -1
  53. package/dist/src/platform.js +7 -6
  54. package/dist/src/platform.js.map +1 -1
  55. package/dist/src/services/climate-control.service.d.ts +13 -0
  56. package/dist/src/services/climate-control.service.d.ts.map +1 -1
  57. package/dist/src/services/climate-control.service.js +134 -23
  58. package/dist/src/services/climate-control.service.js.map +1 -1
  59. package/dist/src/services/hot-water-tank.service.d.ts.map +1 -1
  60. package/dist/src/services/hot-water-tank.service.js +3 -2
  61. package/dist/src/services/hot-water-tank.service.js.map +1 -1
  62. package/dist/src/types/device-capabilities.d.ts +1 -0
  63. package/dist/src/types/device-capabilities.d.ts.map +1 -1
  64. package/dist/src/utils/update-mapper.d.ts.map +1 -1
  65. package/dist/src/utils/update-mapper.js +4 -1
  66. package/dist/src/utils/update-mapper.js.map +1 -1
  67. package/homebridge-ui/public/index.html +9 -0
  68. package/homebridge-ui/public/script.js +1 -1
  69. package/package.json +10 -8
@@ -107,6 +107,7 @@ class ConfigManager {
107
107
  streamerMode: this.config.showStreamerMode ?? legacy,
108
108
  outdoorSilentMode: this.config.showOutdoorSilentMode ?? legacy,
109
109
  indoorSilentMode: this.config.showIndoorSilentMode ?? legacy,
110
+ autoFanMode: this.config.showAutoFanMode ?? legacy,
110
111
  dryMode: this.config.showDryMode ?? legacy,
111
112
  fanOnlyMode: this.config.showFanOnlyMode ?? legacy,
112
113
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../../src/config/config-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../../src/config/config-manager.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ export declare class DeviceCapabilityDetector {
29
29
  private hasFeature;
30
30
  private hasSwingMode;
31
31
  private detectIndoorSilentMode;
32
+ private detectAutoFanMode;
32
33
  private detectFanControl;
33
34
  private getCurrentOperationMode;
34
35
  private detectTemperatureCapabilities;
@@ -1 +1 @@
1
- {"version":3,"file":"capability-detector.d.ts","sourceRoot":"","sources":["../../../src/device/capability-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EACV,kBAAkB,EAClB,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAMlD,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,OAAO,CAAC,6BAA6B,CAA8C;gBAEvE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM;IAKhE;;SAEK;IACL,eAAe,IAAI,kBAAkB;IASrC;;SAEK;IACL,0BAA0B,IAAI,6BAA6B;IAS3D;;SAEK;IACL,UAAU,IAAI,IAAI;IAKlB,OAAO,CAAC,kBAAkB;IAwC1B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,6BAA6B;CAsCtC"}
1
+ {"version":3,"file":"capability-detector.d.ts","sourceRoot":"","sources":["../../../src/device/capability-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EACV,kBAAkB,EAClB,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAMlD,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,OAAO,CAAC,6BAA6B,CAA8C;gBAEvE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM;IAKhE;;SAEK;IACL,eAAe,IAAI,kBAAkB;IASrC;;SAEK;IACL,0BAA0B,IAAI,6BAA6B;IAS3D;;SAEK;IACL,UAAU,IAAI,IAAI;IAKlB,OAAO,CAAC,kBAAkB;IAyC1B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,6BAA6B;CAsCtC"}
@@ -58,6 +58,7 @@ class DeviceCapabilityDetector {
58
58
  hasStreamerMode: this.hasFeature('streamerMode'),
59
59
  hasOutdoorSilentMode: this.hasFeature('outdoorSilentMode'),
60
60
  hasIndoorSilentMode: this.detectIndoorSilentMode(),
61
+ hasAutoFanMode: this.detectAutoFanMode(),
61
62
  hasSwingModeVertical: this.hasSwingMode('vertical'),
62
63
  hasSwingModeHorizontal: this.hasSwingMode('horizontal'),
63
64
  hasFanControl: this.detectFanControl(),
@@ -93,6 +94,16 @@ class DeviceCapabilityDetector {
93
94
  const fanSpeedValues = (fanSpeedData.values || []);
94
95
  return fanSpeedValues.includes(types_1.DaikinFanSpeedModes.QUIET);
95
96
  }
97
+ detectAutoFanMode() {
98
+ const operationMode = this.getCurrentOperationMode();
99
+ const fanSpeedData = this.device.getData(this.managementPointId, 'fanControl', `/operationModes/${operationMode}/fanSpeed/currentMode`);
100
+ if (!fanSpeedData) {
101
+ return false;
102
+ }
103
+ const fanSpeedValues = (fanSpeedData.values || []);
104
+ return (fanSpeedValues.includes(types_1.DaikinFanSpeedModes.AUTO) &&
105
+ fanSpeedValues.includes(types_1.DaikinFanSpeedModes.FIXED));
106
+ }
96
107
  detectFanControl() {
97
108
  const operationMode = this.getCurrentOperationMode();
98
109
  return Boolean(this.device.getData(this.managementPointId, 'fanControl', `/operationModes/${operationMode}/fanSpeed/modes/fixed`));
@@ -1 +1 @@
1
- {"version":3,"file":"capability-detector.js","sourceRoot":"","sources":["../../../src/device/capability-detector.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAMH,oCAGkB;AAElB,MAAa,wBAAwB;IAClB,MAAM,CAAoB;IAC1B,iBAAiB,CAAS;IACnC,kBAAkB,GAA8B,IAAI,CAAC;IACrD,6BAA6B,GAAyC,IAAI,CAAC;IAEnF,YAAY,MAAyB,EAAE,iBAAyB;QAC9D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED;;SAEK;IACL,eAAe;QACb,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,kBAAkB,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED;;SAEK;IACL,0BAA0B;QACxB,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,6BAA6B,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAC1E,OAAO,IAAI,CAAC,6BAA6B,CAAC;IAC5C,CAAC;IAED;;SAEK;IACL,UAAU;QACR,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;IAC5C,CAAC;IAEO,kBAAkB;QACxB,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAC3C,IAAI,CAAC,iBAAiB,EACtB,eAAe,EACf,SAAS,CACV,CAAC;QACF,MAAM,cAAc,GAAG,CAAC,iBAAiB,EAAE,MAAM,IAAI,EAAE,CAA2B,CAAC;QAEnF,OAAO;YACL,oBAAoB;YACpB,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;YAC5D,uBAAuB,EAAE,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC;YACxE,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;YAE9C,2BAA2B;YAC3B,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YAChD,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAC1C,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YAChD,oBAAoB,EAAE,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;YAC1D,mBAAmB,EAAE,IAAI,CAAC,sBAAsB,EAAE;YAClD,oBAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;YACnD,sBAAsB,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YACvD,aAAa,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAEtC,kBAAkB;YAClB,uBAAuB,EAAE,cAAc;YACvC,mBAAmB,EAAE,cAAc,CAAC,QAAQ,CAAC,4BAAoB,CAAC,GAAG,CAAC;YACtE,uBAAuB,EAAE,cAAc,CAAC,QAAQ,CAAC,4BAAoB,CAAC,QAAQ,CAAC;YAE/E,sBAAsB;YACtB,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,4BAAoB,CAAC,OAAO,CAAC;YACrE,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,4BAAoB,CAAC,OAAO,CAAC;YACrE,WAAW,EAAE,cAAc,CAAC,QAAQ,CAAC,4BAAoB,CAAC,IAAI,CAAC;YAE/D,oBAAoB;YACpB,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAC9C,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;SACjD,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,IAAY;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC3C,CAAC,EAAmC,EAAE,EAAE,CAAC,EAAE,CAAC,mBAAmB,KAAK,IAAI,CACzE,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,OAAe;QAChC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAClF,CAAC;IAEO,YAAY,CAAC,SAAoC;QACvD,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrD,OAAO,OAAO,CACZ,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,IAAI,CAAC,iBAAiB,EACtB,YAAY,EACZ,mBAAmB,aAAa,iBAAiB,SAAS,cAAc,CACzE,CACF,CAAC;IACJ,CAAC;IAEO,sBAAsB;QAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CACtC,IAAI,CAAC,iBAAiB,EACtB,YAAY,EACZ,mBAAmB,aAAa,uBAAuB,CACxD,CAAC;QAEF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,cAAc,GAAG,CAAC,YAAY,CAAC,MAAM,IAAI,EAAE,CAAa,CAAC;QAC/D,OAAO,cAAc,CAAC,QAAQ,CAAC,2BAAmB,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAEO,gBAAgB;QACtB,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrD,OAAO,OAAO,CACZ,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,IAAI,CAAC,iBAAiB,EACtB,YAAY,EACZ,mBAAmB,aAAa,uBAAuB,CACxD,CACF,CAAC;IACJ,CAAC;IAEO,uBAAuB;QAC7B,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAC3C,IAAI,CAAC,iBAAiB,EACtB,eAAe,EACf,SAAS,CACV,CAAC;QACF,OAAQ,iBAAiB,EAAE,KAAgB,IAAI,MAAM,CAAC;IACxD,CAAC;IAEO,6BAA6B;QACnC,MAAM,YAAY,GAAkC,EAAE,CAAC;QAEvD,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAU,CAAC;QAEtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAC9B,IAAI,CAAC,iBAAiB,EACtB,oBAAoB,EACpB,mBAAmB,IAAI,4BAA4B,CACpD,CAAC;YAEF,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACvG,YAAY,CAAC,IAAI,CAAC,GAAG;oBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CACtC,IAAI,CAAC,iBAAiB,EACtB,oBAAoB,EACpB,+DAA+D,CAChE,CAAC;QAEF,IAAI,YAAY,IAAI,YAAY,CAAC,QAAQ,KAAK,SAAS,IAAI,YAAY,CAAC,QAAQ,KAAK,SAAS,IAAI,YAAY,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACvI,YAAY,CAAC,gBAAgB,GAAG;gBAC9B,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,SAAS,EAAE,YAAY,CAAC,SAAS;aAClC,CAAC;QACJ,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AAlLD,4DAkLC"}
1
+ {"version":3,"file":"capability-detector.js","sourceRoot":"","sources":["../../../src/device/capability-detector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"capability-docs.d.ts","sourceRoot":"","sources":["../../../src/device/capability-docs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,kBAAkB,GAAG,MAAM,CAgC7E"}
1
+ {"version":3,"file":"capability-docs.d.ts","sourceRoot":"","sources":["../../../src/device/capability-docs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,kBAAkB,GAAG,MAAM,CAmC7E"}
@@ -27,6 +27,9 @@ function getCapabilitySummary(capabilities) {
27
27
  if (capabilities.hasIndoorSilentMode) {
28
28
  features.push('indoor-silent');
29
29
  }
30
+ if (capabilities.hasAutoFanMode) {
31
+ features.push('auto-fan');
32
+ }
30
33
  if (capabilities.hasFanControl) {
31
34
  features.push('fan-speed');
32
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"capability-docs.js","sourceRoot":"","sources":["../../../src/device/capability-docs.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAOH,oDAgCC;AAnCD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,YAAgC;IACnE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,YAAY,CAAC,oBAAoB,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,YAAY,CAAC,mBAAmB,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,YAAY,CAAC,oBAAoB,IAAI,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAC7E,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,YAAY,CAAC,mBAAmB,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,YAAY,CAAC,uBAAuB,EAAE,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"capability-docs.js","sourceRoot":"","sources":["../../../src/device/capability-docs.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAOH,oDAmCC;AAtCD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,YAAgC;IACnE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,YAAY,CAAC,oBAAoB,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,YAAY,CAAC,mBAAmB,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC;QAChC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,YAAY,CAAC,oBAAoB,IAAI,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAC7E,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,YAAY,CAAC,mBAAmB,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,YAAY,CAAC,uBAAuB,EAAE,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAC7D,CAAC"}
@@ -60,6 +60,13 @@ export declare abstract class BaseFeature {
60
60
  * Remove the switch service if it exists.
61
61
  */
62
62
  protected removeServiceIfExists(): void;
63
+ /**
64
+ * Push current device state to the switch's On characteristic.
65
+ * Called after every poll / WebSocket update so HomeKit reflects state
66
+ * changes initiated from the Daikin app without waiting for the next onGet.
67
+ * No-op if the switch service isn't registered (feature unsupported/disabled).
68
+ */
69
+ refresh(): void;
63
70
  /**
64
71
  * Get device data from the Daikin Cloud.
65
72
  */
@@ -1 +1 @@
1
- {"version":3,"file":"base-feature.d.ts","sourceRoot":"","sources":["../../../src/features/base-feature.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC1F,OAAO,KAAK,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEpF;;;GAGG;AACH,8BAAsB,WAAW;IAC/B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;IAC7E,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEhC,SAAS,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;gBAGhC,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,iBAAiB,CAAC,2BAA2B,CAAC,EACzD,iBAAiB,EAAE,MAAM;IASzB;;OAEG;IACH,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC;IAEnC;;OAEG;IACH,QAAQ,KAAK,cAAc,IAAI,MAAM,CAAC;IAEtC;;;OAGG;IACH,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO;IAE/B;;OAEG;IACH,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAElD;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE7D;;;OAGG;IACH,SAAS,CAAC,iBAAiB,IAAI,OAAO;IAYtC;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;OAEG;IACH,SAAS,CAAC,2BAA2B,IAAI,IAAI;IA+B7C;;OAEG;IACH,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAQvC;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAI5D;;;;;OAKG;cACa,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAa3F"}
1
+ {"version":3,"file":"base-feature.d.ts","sourceRoot":"","sources":["../../../src/features/base-feature.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC1F,OAAO,KAAK,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEpF;;;GAGG;AACH,8BAAsB,WAAW;IAC/B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;IAC7E,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEhC,SAAS,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;gBAGhC,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,iBAAiB,CAAC,2BAA2B,CAAC,EACzD,iBAAiB,EAAE,MAAM;IASzB;;OAEG;IACH,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC;IAEnC;;OAEG;IACH,QAAQ,KAAK,cAAc,IAAI,MAAM,CAAC;IAEtC;;;OAGG;IACH,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO;IAE/B;;OAEG;IACH,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAElD;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE7D;;;OAGG;IACH,SAAS,CAAC,iBAAiB,IAAI,OAAO;IAYtC;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;OAEG;IACH,SAAS,CAAC,2BAA2B,IAAI,IAAI;IA+B7C;;OAEG;IACH,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAQvC;;;;;OAKG;IACH,OAAO,IAAI,IAAI;IAcf;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAI5D;;;;;OAKG;cACa,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAa3F"}
@@ -78,6 +78,23 @@ class BaseFeature {
78
78
  this.switchService = undefined;
79
79
  }
80
80
  }
81
+ /**
82
+ * Push current device state to the switch's On characteristic.
83
+ * Called after every poll / WebSocket update so HomeKit reflects state
84
+ * changes initiated from the Daikin app without waiting for the next onGet.
85
+ * No-op if the switch service isn't registered (feature unsupported/disabled).
86
+ */
87
+ refresh() {
88
+ if (!this.switchService) {
89
+ return;
90
+ }
91
+ void Promise.resolve(this.handleGet()).then((value) => {
92
+ this.switchService?.getCharacteristic(this.platform.Characteristic.On).updateValue(value);
93
+ },
94
+ // handleGet is just a getData read in practice — but guard against custom
95
+ // implementations throwing so one bad feature can't break the refresh loop.
96
+ (err) => this.log.debug(`[${this.name}] ${this.featureName} refresh failed: ${err instanceof Error ? err.message : err}`));
97
+ }
81
98
  /**
82
99
  * Get device data from the Daikin Cloud.
83
100
  */
@@ -1 +1 @@
1
- {"version":3,"file":"base-feature.js","sourceRoot":"","sources":["../../../src/features/base-feature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-feature.js","sourceRoot":"","sources":["../../../src/features/base-feature.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,12 @@ export declare class FeatureManager {
21
21
  * based on device support and configuration.
22
22
  */
23
23
  setupFeatures(): void;
24
+ /**
25
+ * Push current device state to every feature switch's On characteristic.
26
+ * Called from ClimateControlService.refreshValues after a poll/WebSocket
27
+ * update so HomeKit reflects mode changes initiated from the Daikin app.
28
+ */
29
+ refreshAll(): void;
24
30
  /**
25
31
  * Get a specific feature by class type.
26
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"feature-manager.d.ts","sourceRoot":"","sources":["../../../src/features/feature-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAmClD;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiD;IAC3E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;gBAG5C,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,iBAAiB,CAAC,2BAA2B,CAAC,EACzD,iBAAiB,EAAE,MAAM;IAY3B;;;SAGK;IACL,aAAa,IAAI,IAAI;IAMrB;;SAEK;IACL,UAAU,CAAC,CAAC,SAAS,WAAW,EAC9B,YAAY,EAAE,QAAQ,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,GACjD,CAAC,GAAG,SAAS;CAGjB"}
1
+ {"version":3,"file":"feature-manager.d.ts","sourceRoot":"","sources":["../../../src/features/feature-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAqClD;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiD;IAC3E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;gBAG5C,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,iBAAiB,CAAC,2BAA2B,CAAC,EACzD,iBAAiB,EAAE,MAAM;IAY3B;;;SAGK;IACL,aAAa,IAAI,IAAI;IAMrB;;;;SAIK;IACL,UAAU,IAAI,IAAI;IAMlB;;SAEK;IACL,UAAU,CAAC,CAAC,SAAS,WAAW,EAC9B,YAAY,EAAE,QAAQ,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,GACjD,CAAC,GAAG,SAAS;CAGjB"}
@@ -18,6 +18,7 @@ const FEATURE_CLASSES = [
18
18
  modes_1.StreamerModeFeature,
19
19
  modes_1.OutdoorSilentModeFeature,
20
20
  modes_1.IndoorSilentModeFeature,
21
+ modes_1.AutoFanModeFeature,
21
22
  modes_1.DryOperationModeFeature,
22
23
  modes_1.FanOnlyOperationModeFeature,
23
24
  ];
@@ -45,6 +46,16 @@ class FeatureManager {
45
46
  feature.setup();
46
47
  }
47
48
  }
49
+ /**
50
+ * Push current device state to every feature switch's On characteristic.
51
+ * Called from ClimateControlService.refreshValues after a poll/WebSocket
52
+ * update so HomeKit reflects mode changes initiated from the Daikin app.
53
+ */
54
+ refreshAll() {
55
+ for (const feature of this.features) {
56
+ feature.refresh();
57
+ }
58
+ }
48
59
  /**
49
60
  * Get a specific feature by class type.
50
61
  */
@@ -1 +1 @@
1
- {"version":3,"file":"feature-manager.js","sourceRoot":"","sources":["../../../src/features/feature-manager.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAMH,sBAAsB;AACtB,mCAQiB;AAWjB;;GAEG;AACH,MAAM,eAAe,GAAyB;IAC5C,2BAAmB;IACnB,wBAAgB;IAChB,2BAAmB;IACnB,gCAAwB;IACxB,+BAAuB;IACvB,+BAAuB;IACvB,mCAA2B;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAa,cAAc;IACR,QAAQ,CAAsB;IAC9B,SAAS,CAAiD;IAC1D,iBAAiB,CAAS;IAC1B,QAAQ,GAAkB,EAAE,CAAC;IAE9C,YACE,QAA6B,EAC7B,SAAyD,EACzD,iBAAyB;QAEzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAE3C,+BAA+B;QAC/B,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,GAAG,CACjC,YAAY,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAiB,CAAC,CACzE,CAAC;IACJ,CAAC;IAED;;;SAGK;IACL,aAAa;QACX,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;SAEK;IACL,UAAU,CACR,YAAkD;QAElD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,YAAY,CAAkB,CAAC;IAC7E,CAAC;CACF;AAvCD,wCAuCC"}
1
+ {"version":3,"file":"feature-manager.js","sourceRoot":"","sources":["../../../src/features/feature-manager.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAMH,sBAAsB;AACtB,mCASiB;AAWjB;;GAEG;AACH,MAAM,eAAe,GAAyB;IAC5C,2BAAmB;IACnB,wBAAgB;IAChB,2BAAmB;IACnB,gCAAwB;IACxB,+BAAuB;IACvB,0BAAkB;IAClB,+BAAuB;IACvB,mCAA2B;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAa,cAAc;IACR,QAAQ,CAAsB;IAC9B,SAAS,CAAiD;IAC1D,iBAAiB,CAAS;IAC1B,QAAQ,GAAkB,EAAE,CAAC;IAE9C,YACE,QAA6B,EAC7B,SAAyD,EACzD,iBAAyB;QAEzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAE3C,+BAA+B;QAC/B,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,GAAG,CACjC,YAAY,CAAC,EAAE,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAiB,CAAC,CACzE,CAAC;IACJ,CAAC;IAED;;;SAGK;IACL,aAAa;QACX,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;;;SAIK;IACL,UAAU;QACR,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED;;SAEK;IACL,UAAU,CACR,YAAkD;QAElD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,YAAY,CAAkB,CAAC;IAC7E,CAAC;CACF;AAlDD,wCAkDC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Auto Fan Mode Feature
3
+ *
4
+ * Enables/disables the automatic fan speed mode on the device.
5
+ *
6
+ * HomeKit's HeaterCooler RotationSpeed is a single 0-100% slider with no native
7
+ * concept of an "Auto" fan mode, so we expose Auto as its own switch:
8
+ * - ON -> fanSpeed/currentMode = 'auto'
9
+ * - OFF -> fanSpeed/currentMode = 'fixed' (back to manual speed control)
10
+ *
11
+ * Moving the RotationSpeed slider switches currentMode back to 'fixed'
12
+ * (see ClimateControlService.handleRotationSpeedSet), which turns this switch off
13
+ * on the next refresh. Mutually exclusive with the Indoor silent (quiet) switch:
14
+ * turning one on flips currentMode, so the other reconciles to off on refresh.
15
+ */
16
+ import type { CharacteristicValue } from 'homebridge';
17
+ import { BaseFeature } from '../base-feature';
18
+ export declare class AutoFanModeFeature extends BaseFeature {
19
+ get featureName(): string;
20
+ get serviceSubtype(): string;
21
+ get configKey(): string;
22
+ isSupported(): boolean;
23
+ handleGet(): Promise<CharacteristicValue>;
24
+ handleSet(value: CharacteristicValue): Promise<void>;
25
+ private getCurrentOperationMode;
26
+ }
27
+ //# sourceMappingURL=auto-fan-mode.feature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-fan-mode.feature.d.ts","sourceRoot":"","sources":["../../../../src/features/modes/auto-fan-mode.feature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,WAAW,IAAI,OAAO;IAoBhB,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAczC,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1D,OAAO,CAAC,uBAAuB;CAIhC"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ /**
3
+ * Auto Fan Mode Feature
4
+ *
5
+ * Enables/disables the automatic fan speed mode on the device.
6
+ *
7
+ * HomeKit's HeaterCooler RotationSpeed is a single 0-100% slider with no native
8
+ * concept of an "Auto" fan mode, so we expose Auto as its own switch:
9
+ * - ON -> fanSpeed/currentMode = 'auto'
10
+ * - OFF -> fanSpeed/currentMode = 'fixed' (back to manual speed control)
11
+ *
12
+ * Moving the RotationSpeed slider switches currentMode back to 'fixed'
13
+ * (see ClimateControlService.handleRotationSpeedSet), which turns this switch off
14
+ * on the next refresh. Mutually exclusive with the Indoor silent (quiet) switch:
15
+ * turning one on flips currentMode, so the other reconciles to off on refresh.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.AutoFanModeFeature = void 0;
19
+ const base_feature_1 = require("../base-feature");
20
+ const types_1 = require("../../types");
21
+ class AutoFanModeFeature extends base_feature_1.BaseFeature {
22
+ get featureName() {
23
+ return 'Auto fan mode';
24
+ }
25
+ get serviceSubtype() {
26
+ return 'auto_fan_mode';
27
+ }
28
+ get configKey() {
29
+ return 'showAutoFanMode';
30
+ }
31
+ isSupported() {
32
+ const currentModeFanControl = this.getData('fanControl', `/operationModes/${this.getCurrentOperationMode()}/fanSpeed/currentMode`);
33
+ if (!currentModeFanControl) {
34
+ return false;
35
+ }
36
+ const fanSpeedValues = currentModeFanControl.values || [];
37
+ // Only meaningful when the device can toggle between 'auto' and a manual
38
+ // ('fixed') speed — otherwise the switch would have nothing to turn off to.
39
+ const hasAutoMode = fanSpeedValues.includes(types_1.DaikinFanSpeedModes.AUTO) &&
40
+ fanSpeedValues.includes(types_1.DaikinFanSpeedModes.FIXED);
41
+ this.log.debug(`[${this.name}] hasAutoFanModeFeature: ${hasAutoMode}`);
42
+ return hasAutoMode;
43
+ }
44
+ async handleGet() {
45
+ const data = this.getData('fanControl', `/operationModes/${this.getCurrentOperationMode()}/fanSpeed/currentMode`);
46
+ const isOn = data?.value === types_1.DaikinFanSpeedModes.AUTO;
47
+ this.log.debug(`[${this.name}] GET AutoFanMode: ${isOn}, ` +
48
+ `last update: ${this.accessory.context.device.getLastUpdated()}`);
49
+ return isOn;
50
+ }
51
+ async handleSet(value) {
52
+ this.log.debug(`[${this.name}] SET AutoFanMode to: ${value}`);
53
+ const mode = value ? types_1.DaikinFanSpeedModes.AUTO : types_1.DaikinFanSpeedModes.FIXED;
54
+ await this.setData('fanControl', mode, `/operationModes/${this.getCurrentOperationMode()}/fanSpeed/currentMode`);
55
+ }
56
+ getCurrentOperationMode() {
57
+ const data = this.getData('operationMode');
58
+ return data?.value || types_1.DaikinOperationModes.AUTO;
59
+ }
60
+ }
61
+ exports.AutoFanModeFeature = AutoFanModeFeature;
62
+ //# sourceMappingURL=auto-fan-mode.feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-fan-mode.feature.js","sourceRoot":"","sources":["../../../../src/features/modes/auto-fan-mode.feature.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAGH,kDAA8C;AAC9C,uCAAwE;AAExE,MAAa,kBAAmB,SAAQ,0BAAW;IACjD,IAAI,WAAW;QACb,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,WAAW;QACT,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CACxC,YAAY,EACZ,mBAAmB,IAAI,CAAC,uBAAuB,EAAE,uBAAuB,CACpC,CAAC;QAEvC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,IAAI,EAAE,CAAC;QAC1D,yEAAyE;QACzE,4EAA4E;QAC5E,MAAM,WAAW,GACf,cAAc,CAAC,QAAQ,CAAC,2BAAmB,CAAC,IAAI,CAAC;YACjD,cAAc,CAAC,QAAQ,CAAC,2BAAmB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,4BAA4B,WAAW,EAAE,CAAC,CAAC;QACvE,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CACvB,YAAY,EACZ,mBAAmB,IAAI,CAAC,uBAAuB,EAAE,uBAAuB,CACxC,CAAC;QAEnC,MAAM,IAAI,GAAG,IAAI,EAAE,KAAK,KAAK,2BAAmB,CAAC,IAAI,CAAC;QACtD,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,IAAI,IAAI,CAAC,IAAI,sBAAsB,IAAI,IAAI;YACrC,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CACvE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAA0B;QACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,yBAAyB,KAAK,EAAE,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,2BAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,2BAAmB,CAAC,KAAK,CAAC;QAC1E,MAAM,IAAI,CAAC,OAAO,CAChB,YAAY,EACZ,IAAI,EACJ,mBAAmB,IAAI,CAAC,uBAAuB,EAAE,uBAAuB,CACzE,CAAC;IACJ,CAAC;IAEO,uBAAuB;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAgD,CAAC;QAC1F,OAAO,IAAI,EAAE,KAAK,IAAI,4BAAoB,CAAC,IAAI,CAAC;IAClD,CAAC;CACF;AA7DD,gDA6DC"}
@@ -1 +1 @@
1
- {"version":3,"file":"econo-mode.feature.d.ts","sourceRoot":"","sources":["../../../../src/features/modes/econo-mode.feature.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,WAAW,IAAI,OAAO;IAMhB,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAUzC,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3D"}
1
+ {"version":3,"file":"econo-mode.feature.d.ts","sourceRoot":"","sources":["../../../../src/features/modes/econo-mode.feature.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,WAAW,IAAI,OAAO;IAShB,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAUzC,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3D"}
@@ -19,9 +19,12 @@ class EconoModeFeature extends base_feature_1.BaseFeature {
19
19
  return 'showEconoMode';
20
20
  }
21
21
  isSupported() {
22
+ // device.getData() returns { value: undefined } when the characteristic is missing,
23
+ // so Boolean(data) is always true. Check the inner value to detect real support.
22
24
  const econoMode = this.getData('econoMode');
23
- this.log.debug(`[${this.name}] hasEconoModeFeature: ${Boolean(econoMode)}`);
24
- return Boolean(econoMode);
25
+ const supported = econoMode?.value !== undefined;
26
+ this.log.debug(`[${this.name}] hasEconoModeFeature: ${supported}`);
27
+ return supported;
25
28
  }
26
29
  async handleGet() {
27
30
  const data = this.getData('econoMode');
@@ -1 +1 @@
1
- {"version":3,"file":"econo-mode.feature.js","sourceRoot":"","sources":["../../../../src/features/modes/econo-mode.feature.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,kDAA8C;AAC9C,uCAA+C;AAE/C,MAAa,gBAAiB,SAAQ,0BAAW;IAC/C,IAAI,WAAW;QACb,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,WAAW;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,0BAA0B,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5E,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAkC,CAAC;QACxE,MAAM,IAAI,GAAG,IAAI,EAAE,KAAK,KAAK,wBAAgB,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,IAAI,IAAI,CAAC,IAAI,oBAAoB,IAAI,IAAI;YACnC,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CACvE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAA0B;QACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,uBAAuB,KAAK,EAAE,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,wBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAgB,CAAC,GAAG,CAAC;QAChE,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF;AAlCD,4CAkCC"}
1
+ {"version":3,"file":"econo-mode.feature.js","sourceRoot":"","sources":["../../../../src/features/modes/econo-mode.feature.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,kDAA8C;AAC9C,uCAA+C;AAE/C,MAAa,gBAAiB,SAAQ,0BAAW;IAC/C,IAAI,WAAW;QACb,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,WAAW;QACT,oFAAoF;QACpF,iFAAiF;QACjF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAoC,CAAC;QAC/E,MAAM,SAAS,GAAG,SAAS,EAAE,KAAK,KAAK,SAAS,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,0BAA0B,SAAS,EAAE,CAAC,CAAC;QACnE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAkC,CAAC;QACxE,MAAM,IAAI,GAAG,IAAI,EAAE,KAAK,KAAK,wBAAgB,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,IAAI,IAAI,CAAC,IAAI,oBAAoB,IAAI,IAAI;YACnC,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CACvE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAA0B;QACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,uBAAuB,KAAK,EAAE,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,wBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAgB,CAAC,GAAG,CAAC;QAChE,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF;AArCD,4CAqCC"}
@@ -3,6 +3,7 @@ export * from './econo-mode.feature';
3
3
  export * from './streamer-mode.feature';
4
4
  export * from './outdoor-silent-mode.feature';
5
5
  export * from './indoor-silent-mode.feature';
6
+ export * from './auto-fan-mode.feature';
6
7
  export * from './dry-operation-mode.feature';
7
8
  export * from './fan-only-operation-mode.feature';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/modes/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/modes/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC"}
@@ -19,6 +19,7 @@ __exportStar(require("./econo-mode.feature"), exports);
19
19
  __exportStar(require("./streamer-mode.feature"), exports);
20
20
  __exportStar(require("./outdoor-silent-mode.feature"), exports);
21
21
  __exportStar(require("./indoor-silent-mode.feature"), exports);
22
+ __exportStar(require("./auto-fan-mode.feature"), exports);
22
23
  __exportStar(require("./dry-operation-mode.feature"), exports);
23
24
  __exportStar(require("./fan-only-operation-mode.feature"), exports);
24
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/features/modes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,uDAAqC;AACrC,0DAAwC;AACxC,gEAA8C;AAC9C,+DAA6C;AAC7C,+DAA6C;AAC7C,oEAAkD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/features/modes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,uDAAqC;AACrC,0DAAwC;AACxC,gEAA8C;AAC9C,+DAA6C;AAC7C,0DAAwC;AACxC,+DAA6C;AAC7C,oEAAkD"}
@@ -1 +1 @@
1
- {"version":3,"file":"outdoor-silent-mode.feature.d.ts","sourceRoot":"","sources":["../../../../src/features/modes/outdoor-silent-mode.feature.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,qBAAa,wBAAyB,SAAQ,WAAW;IACvD,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,WAAW,IAAI,OAAO;IAMhB,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAUzC,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3D"}
1
+ {"version":3,"file":"outdoor-silent-mode.feature.d.ts","sourceRoot":"","sources":["../../../../src/features/modes/outdoor-silent-mode.feature.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,qBAAa,wBAAyB,SAAQ,WAAW;IACvD,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,WAAW,IAAI,OAAO;IAShB,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAUzC,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3D"}
@@ -19,9 +19,12 @@ class OutdoorSilentModeFeature extends base_feature_1.BaseFeature {
19
19
  return 'showOutdoorSilentMode';
20
20
  }
21
21
  isSupported() {
22
+ // device.getData() returns { value: undefined } when the characteristic is missing,
23
+ // so Boolean(data) is always true. Check the inner value to detect real support.
22
24
  const outdoorSilentMode = this.getData('outdoorSilentMode');
23
- this.log.debug(`[${this.name}] hasOutdoorSilentModeFeature: ${Boolean(outdoorSilentMode)}`);
24
- return Boolean(outdoorSilentMode);
25
+ const supported = outdoorSilentMode?.value !== undefined;
26
+ this.log.debug(`[${this.name}] hasOutdoorSilentModeFeature: ${supported}`);
27
+ return supported;
25
28
  }
26
29
  async handleGet() {
27
30
  const data = this.getData('outdoorSilentMode');
@@ -1 +1 @@
1
- {"version":3,"file":"outdoor-silent-mode.feature.js","sourceRoot":"","sources":["../../../../src/features/modes/outdoor-silent-mode.feature.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,kDAA8C;AAC9C,uCAAuD;AAEvD,MAAa,wBAAyB,SAAQ,0BAAW;IACvD,IAAI,WAAW;QACb,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,WAAW;QACT,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC5D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,kCAAkC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC5F,OAAO,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAkC,CAAC;QAChF,MAAM,IAAI,GAAG,IAAI,EAAE,KAAK,KAAK,gCAAwB,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,IAAI,IAAI,CAAC,IAAI,4BAA4B,IAAI,IAAI;YAC3C,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CACvE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAA0B;QACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,+BAA+B,KAAK,EAAE,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,gCAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,gCAAwB,CAAC,GAAG,CAAC;QAChF,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;CACF;AAlCD,4DAkCC"}
1
+ {"version":3,"file":"outdoor-silent-mode.feature.js","sourceRoot":"","sources":["../../../../src/features/modes/outdoor-silent-mode.feature.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,kDAA8C;AAC9C,uCAAuD;AAEvD,MAAa,wBAAyB,SAAQ,0BAAW;IACvD,IAAI,WAAW;QACb,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,WAAW;QACT,oFAAoF;QACpF,iFAAiF;QACjF,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAoC,CAAC;QAC/F,MAAM,SAAS,GAAG,iBAAiB,EAAE,KAAK,KAAK,SAAS,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,kCAAkC,SAAS,EAAE,CAAC,CAAC;QAC3E,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAkC,CAAC;QAChF,MAAM,IAAI,GAAG,IAAI,EAAE,KAAK,KAAK,gCAAwB,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,IAAI,IAAI,CAAC,IAAI,4BAA4B,IAAI,IAAI;YAC3C,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CACvE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAA0B;QACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,+BAA+B,KAAK,EAAE,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,gCAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,gCAAwB,CAAC,GAAG,CAAC;QAChF,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;CACF;AArCD,4DAqCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"powerful-mode.feature.d.ts","sourceRoot":"","sources":["../../../../src/features/modes/powerful-mode.feature.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,WAAW,IAAI,OAAO;IAMhB,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAUzC,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3D"}
1
+ {"version":3,"file":"powerful-mode.feature.d.ts","sourceRoot":"","sources":["../../../../src/features/modes/powerful-mode.feature.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,WAAW,IAAI,OAAO;IAShB,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAUzC,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3D"}
@@ -19,9 +19,12 @@ class PowerfulModeFeature extends base_feature_1.BaseFeature {
19
19
  return 'showPowerfulMode';
20
20
  }
21
21
  isSupported() {
22
+ // device.getData() returns { value: undefined } when the characteristic is missing,
23
+ // so Boolean(data) is always true. Check the inner value to detect real support.
22
24
  const powerfulMode = this.getData('powerfulMode');
23
- this.log.debug(`[${this.name}] hasPowerfulModeFeature: ${Boolean(powerfulMode)}`);
24
- return Boolean(powerfulMode);
25
+ const supported = powerfulMode?.value !== undefined;
26
+ this.log.debug(`[${this.name}] hasPowerfulModeFeature: ${supported}`);
27
+ return supported;
25
28
  }
26
29
  async handleGet() {
27
30
  const data = this.getData('powerfulMode');
@@ -1 +1 @@
1
- {"version":3,"file":"powerful-mode.feature.js","sourceRoot":"","sources":["../../../../src/features/modes/powerful-mode.feature.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,kDAA8C;AAC9C,uCAAkD;AAElD,MAAa,mBAAoB,SAAQ,0BAAW;IAClD,IAAI,WAAW;QACb,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,6BAA6B,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAClF,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAkC,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAI,EAAE,KAAK,KAAK,2BAAmB,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,IAAI,IAAI,CAAC,IAAI,uBAAuB,IAAI,IAAI;YACtC,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CACvE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAA0B;QACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,0BAA0B,KAAK,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,2BAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,2BAAmB,CAAC,GAAG,CAAC;QACtE,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF;AAlCD,kDAkCC"}
1
+ {"version":3,"file":"powerful-mode.feature.js","sourceRoot":"","sources":["../../../../src/features/modes/powerful-mode.feature.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,kDAA8C;AAC9C,uCAAkD;AAElD,MAAa,mBAAoB,SAAQ,0BAAW;IAClD,IAAI,WAAW;QACb,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,oFAAoF;QACpF,iFAAiF;QACjF,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAoC,CAAC;QACrF,MAAM,SAAS,GAAG,YAAY,EAAE,KAAK,KAAK,SAAS,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,6BAA6B,SAAS,EAAE,CAAC,CAAC;QACtE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAkC,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAI,EAAE,KAAK,KAAK,2BAAmB,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,IAAI,IAAI,CAAC,IAAI,uBAAuB,IAAI,IAAI;YACtC,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CACvE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAA0B;QACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,0BAA0B,KAAK,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,2BAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,2BAAmB,CAAC,GAAG,CAAC;QACtE,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF;AArCD,kDAqCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"streamer-mode.feature.d.ts","sourceRoot":"","sources":["../../../../src/features/modes/streamer-mode.feature.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,WAAW,IAAI,OAAO;IAMhB,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAUzC,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3D"}
1
+ {"version":3,"file":"streamer-mode.feature.d.ts","sourceRoot":"","sources":["../../../../src/features/modes/streamer-mode.feature.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,WAAW,IAAI,OAAO;IAShB,SAAS,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAUzC,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK3D"}
@@ -19,9 +19,12 @@ class StreamerModeFeature extends base_feature_1.BaseFeature {
19
19
  return 'showStreamerMode';
20
20
  }
21
21
  isSupported() {
22
+ // device.getData() returns { value: undefined } when the characteristic is missing,
23
+ // so Boolean(data) is always true. Check the inner value to detect real support.
22
24
  const streamerMode = this.getData('streamerMode');
23
- this.log.debug(`[${this.name}] hasStreamerModeFeature: ${Boolean(streamerMode)}`);
24
- return Boolean(streamerMode);
25
+ const supported = streamerMode?.value !== undefined;
26
+ this.log.debug(`[${this.name}] hasStreamerModeFeature: ${supported}`);
27
+ return supported;
25
28
  }
26
29
  async handleGet() {
27
30
  const data = this.getData('streamerMode');
@@ -1 +1 @@
1
- {"version":3,"file":"streamer-mode.feature.js","sourceRoot":"","sources":["../../../../src/features/modes/streamer-mode.feature.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,kDAA8C;AAC9C,uCAAkD;AAElD,MAAa,mBAAoB,SAAQ,0BAAW;IAClD,IAAI,WAAW;QACb,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,6BAA6B,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAClF,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAkC,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAI,EAAE,KAAK,KAAK,2BAAmB,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,IAAI,IAAI,CAAC,IAAI,uBAAuB,IAAI,IAAI;YACtC,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CACvE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAA0B;QACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,0BAA0B,KAAK,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,2BAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,2BAAmB,CAAC,GAAG,CAAC;QACtE,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF;AAlCD,kDAkCC"}
1
+ {"version":3,"file":"streamer-mode.feature.js","sourceRoot":"","sources":["../../../../src/features/modes/streamer-mode.feature.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAGH,kDAA8C;AAC9C,uCAAkD;AAElD,MAAa,mBAAoB,SAAQ,0BAAW;IAClD,IAAI,WAAW;QACb,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,oFAAoF;QACpF,iFAAiF;QACjF,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAoC,CAAC;QACrF,MAAM,SAAS,GAAG,YAAY,EAAE,KAAK,KAAK,SAAS,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,6BAA6B,SAAS,EAAE,CAAC,CAAC;QACtE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAkC,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAI,EAAE,KAAK,KAAK,2BAAmB,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,IAAI,IAAI,CAAC,IAAI,uBAAuB,IAAI,IAAI;YACtC,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CACvE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAA0B;QACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,0BAA0B,KAAK,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,2BAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,2BAAmB,CAAC,GAAG,CAAC;QACtE,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF;AArCD,kDAqCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AASjI,OAAO,KAAK,EAAE,iBAAiB,EAA0B,MAAM,OAAO,CAAC;AACvE,OAAO,EAAmB,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAW/D,MAAM,MAAM,2BAA2B,GAAG;IACtC,MAAM,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AAEF,qBAAa,mBAAoB,YAAW,qBAAqB;aAkBzC,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAnB9B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAC;IACxC,SAAgB,cAAc,EAAE,OAAO,cAAc,CAAC;IAEtD,SAAgB,WAAW,EAAE,iBAAiB,CAAC,2BAA2B,CAAC,EAAE,CAAM;IAEnF,SAAgB,WAAW,EAAE,MAAM,CAAM;IAClC,UAAU,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAErD,SAAgB,mBAAmB,EAAE,MAAM,CAAC;IAC5C,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiC;gBAG3C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IA0KvB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;YAKxC,eAAe;IAgB7B,OAAO,CAAC,aAAa;IAqDrB,OAAO,CAAC,oBAAoB;IAQ5B,sBAAsB,CAAC,SAAS,EAAE,iBAAiB,CAAC,2BAA2B,CAAC,EAAE,QAAQ,EAAE,MAAM,IAAI;YAIxF,aAAa;IAW3B,kBAAkB,CAAC,KAAK,GAAE,MAAmF;IAsB7G,OAAO,CAAC,0BAA0B;YAWpB,eAAe;IAc7B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,mBAAmB;IAU3B;;SAEK;IACL,OAAO,CAAC,2BAA2B;CAuBpC"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AASjI,OAAO,KAAK,EAAE,iBAAiB,EAA0B,MAAM,OAAO,CAAC;AACvE,OAAO,EAAmB,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAW/D,MAAM,MAAM,2BAA2B,GAAG;IACtC,MAAM,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AAEF,qBAAa,mBAAoB,YAAW,qBAAqB;aAkBzC,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,cAAc;aACtB,GAAG,EAAE,GAAG;IAnB9B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAC;IACxC,SAAgB,cAAc,EAAE,OAAO,cAAc,CAAC;IAEtD,SAAgB,WAAW,EAAE,iBAAiB,CAAC,2BAA2B,CAAC,EAAE,CAAM;IAEnF,SAAgB,WAAW,EAAE,MAAM,CAAM;IAClC,UAAU,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAErD,SAAgB,mBAAmB,EAAE,MAAM,CAAC;IAC5C,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiC;gBAG3C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,GAAG;IA0KvB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;YAKxC,eAAe;IAgB7B,OAAO,CAAC,aAAa;IAsDrB,OAAO,CAAC,oBAAoB;IAQ5B,sBAAsB,CAAC,SAAS,EAAE,iBAAiB,CAAC,2BAA2B,CAAC,EAAE,QAAQ,EAAE,MAAM,IAAI;YAIxF,aAAa;IAW3B,kBAAkB,CAAC,KAAK,GAAE,MAAmF;IAsB7G,OAAO,CAAC,0BAA0B;YAWpB,eAAe;IAc7B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,mBAAmB;IAU3B;;SAEK;IACL,OAAO,CAAC,2BAA2B;CAuBpC"}
@@ -204,19 +204,20 @@ class DaikinCloudPlatform {
204
204
  createDevices(devices) {
205
205
  for (const device of devices) {
206
206
  try {
207
- const uuid = this.api.hap.uuid.generate(device.getId());
207
+ const deviceId = device.getId();
208
+ const uuid = this.api.hap.uuid.generate(deviceId);
208
209
  const deviceModel = device.getDescription().deviceModel;
209
210
  const existingAccessory = this.accessories.find(accessory => accessory.UUID === uuid);
210
211
  this.log.debug('Create Device', deviceModel, JSON.stringify(api_1.DaikinCloudRepo.maskSensitiveCloudDeviceData(device.desc), null, 4));
211
- if (this.isExcludedDevice(this.config.excludedDevicesByDeviceId, uuid)) {
212
- this.log.info(`[Platform] Device with id ${uuid} is excluded, don't add accessory`);
212
+ if (this.isExcludedDevice(this.config.excludedDevicesByDeviceId, deviceId)) {
213
+ this.log.info(`[Platform] Device ${deviceModel} (id: ${deviceId}) is excluded, don't add accessory`);
213
214
  if (existingAccessory) {
214
215
  this.api.unregisterPlatformAccessories(settings_1.PLUGIN_NAME, settings_1.PLATFORM_NAME, [existingAccessory]);
215
216
  }
216
217
  continue;
217
218
  }
218
219
  if (existingAccessory) {
219
- this.log.info('[Platform] Restoring existing accessory from cache:', existingAccessory.displayName);
220
+ this.log.info(`[Platform] Restoring existing accessory from cache: ${existingAccessory.displayName} (id: ${deviceId})`);
220
221
  // Remove old event listener before reassigning device
221
222
  this.removeDeviceListener(existingAccessory);
222
223
  existingAccessory.context.device = device;
@@ -228,7 +229,7 @@ class DaikinCloudPlatform {
228
229
  const climateControlEmbeddedId = device.desc.managementPoints.find(mp => mp.managementPointType === 'climateControl')?.embeddedId || 'climateControl';
229
230
  const nameData = device.getData(climateControlEmbeddedId, 'name', undefined).value;
230
231
  const displayName = strings_1.StringUtils.isEmpty(nameData) ? deviceModel : nameData;
231
- this.log.info('[Platform] Adding new accessory, deviceModel:', displayName);
232
+ this.log.info(`[Platform] Adding new accessory: ${displayName} (id: ${deviceId})`);
232
233
  const accessory = new this.api.platformAccessory(displayName, uuid);
233
234
  accessory.context.device = device;
234
235
  const { profile } = this.accessoryFactory.createAccessory(accessory);
@@ -310,7 +311,7 @@ class DaikinCloudPlatform {
310
311
  }
311
312
  }
312
313
  isExcludedDevice(excludedDevicesByDeviceId, deviceId) {
313
- return typeof excludedDevicesByDeviceId !== 'undefined' && excludedDevicesByDeviceId.includes(deviceId);
314
+ return Array.isArray(excludedDevicesByDeviceId) && excludedDevicesByDeviceId.includes(deviceId);
314
315
  }
315
316
  getPrivacyFriendlyConfig(config) {
316
317
  return {