daikin-local-control 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/DESIGN.md +52 -0
  2. package/README.md +39 -2
  3. package/UNSUPPORTED.md +10 -1
  4. package/dist/clients/classic.d.ts +22 -4
  5. package/dist/clients/classic.d.ts.map +1 -1
  6. package/dist/clients/classic.js +55 -8
  7. package/dist/clients/classic.js.map +1 -1
  8. package/dist/clients/client.d.ts +11 -2
  9. package/dist/clients/client.d.ts.map +1 -1
  10. package/dist/clients/dsiot.d.ts +10 -3
  11. package/dist/clients/dsiot.d.ts.map +1 -1
  12. package/dist/clients/dsiot.js +40 -5
  13. package/dist/clients/dsiot.js.map +1 -1
  14. package/dist/clients/setStateCache.d.ts +15 -0
  15. package/dist/clients/setStateCache.d.ts.map +1 -0
  16. package/dist/clients/setStateCache.js +26 -0
  17. package/dist/clients/setStateCache.js.map +1 -0
  18. package/dist/codecs/classic/capabilities.d.ts.map +1 -1
  19. package/dist/codecs/classic/capabilities.js +28 -1
  20. package/dist/codecs/classic/capabilities.js.map +1 -1
  21. package/dist/codecs/classic/extendedControl.d.ts +14 -1
  22. package/dist/codecs/classic/extendedControl.d.ts.map +1 -1
  23. package/dist/codecs/classic/extendedControl.js +39 -4
  24. package/dist/codecs/classic/extendedControl.js.map +1 -1
  25. package/dist/codecs/classic/keyValue.d.ts +3 -0
  26. package/dist/codecs/classic/keyValue.d.ts.map +1 -1
  27. package/dist/codecs/classic/keyValue.js +10 -0
  28. package/dist/codecs/classic/keyValue.js.map +1 -1
  29. package/dist/codecs/classic/state.d.ts +3 -2
  30. package/dist/codecs/classic/state.d.ts.map +1 -1
  31. package/dist/codecs/classic/state.js +14 -1
  32. package/dist/codecs/classic/state.js.map +1 -1
  33. package/dist/codecs/device.d.ts +10 -1
  34. package/dist/codecs/device.d.ts.map +1 -1
  35. package/dist/codecs/device.js +25 -10
  36. package/dist/codecs/device.js.map +1 -1
  37. package/dist/codecs/dsiot/capabilities.d.ts +4 -2
  38. package/dist/codecs/dsiot/capabilities.d.ts.map +1 -1
  39. package/dist/codecs/dsiot/capabilities.js +20 -4
  40. package/dist/codecs/dsiot/capabilities.js.map +1 -1
  41. package/dist/codecs/dsiot/device.d.ts +5 -0
  42. package/dist/codecs/dsiot/device.d.ts.map +1 -0
  43. package/dist/codecs/dsiot/device.js +14 -0
  44. package/dist/codecs/dsiot/device.js.map +1 -0
  45. package/dist/codecs/dsiot/multireq.d.ts +6 -4
  46. package/dist/codecs/dsiot/multireq.d.ts.map +1 -1
  47. package/dist/codecs/dsiot/multireq.js +9 -4
  48. package/dist/codecs/dsiot/multireq.js.map +1 -1
  49. package/dist/codecs/dsiot/state.d.ts +6 -2
  50. package/dist/codecs/dsiot/state.d.ts.map +1 -1
  51. package/dist/codecs/dsiot/state.js +12 -2
  52. package/dist/codecs/dsiot/state.js.map +1 -1
  53. package/dist/factory.d.ts +7 -0
  54. package/dist/factory.d.ts.map +1 -1
  55. package/dist/factory.js +2 -2
  56. package/dist/factory.js.map +1 -1
  57. package/dist/index.d.ts +1 -0
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +1 -0
  60. package/dist/index.js.map +1 -1
  61. package/dist/models/capabilities.d.ts +5 -1
  62. package/dist/models/capabilities.d.ts.map +1 -1
  63. package/dist/models/device.d.ts +12 -1
  64. package/dist/models/device.d.ts.map +1 -1
  65. package/dist/models/extendedControl.d.ts +2 -3
  66. package/dist/models/extendedControl.d.ts.map +1 -1
  67. package/dist/models/extendedControl.js +0 -1
  68. package/dist/models/extendedControl.js.map +1 -1
  69. package/dist/models/state.d.ts +15 -4
  70. package/dist/models/state.d.ts.map +1 -1
  71. package/dist/models/state.js +1 -0
  72. package/dist/models/state.js.map +1 -1
  73. package/package.json +1 -1
  74. package/src/clients/classic.ts +76 -10
  75. package/src/clients/client.ts +13 -1
  76. package/src/clients/dsiot.ts +52 -9
  77. package/src/clients/setStateCache.ts +28 -0
  78. package/src/codecs/classic/capabilities.ts +39 -0
  79. package/src/codecs/classic/extendedControl.ts +56 -5
  80. package/src/codecs/classic/keyValue.ts +10 -0
  81. package/src/codecs/classic/state.ts +30 -12
  82. package/src/codecs/device.ts +35 -10
  83. package/src/codecs/dsiot/capabilities.ts +27 -2
  84. package/src/codecs/dsiot/device.ts +20 -0
  85. package/src/codecs/dsiot/multireq.ts +9 -4
  86. package/src/codecs/dsiot/state.ts +16 -1
  87. package/src/factory.ts +17 -2
  88. package/src/index.ts +1 -0
  89. package/src/models/capabilities.ts +5 -0
  90. package/src/models/device.ts +13 -1
  91. package/src/models/extendedControl.ts +2 -5
  92. package/src/models/state.ts +18 -4
@@ -0,0 +1,26 @@
1
+ /** Caches the reply a client last read a unit's state from, for `setState`
2
+ * alone. A write carries more than the fields a control changes, so
3
+ * `setState` builds it from what the unit holds: from this reply while it is
4
+ * fresh, and from a read of its own otherwise. No read is answered from the
5
+ * cache: see DESIGN.md#the-read-before-a-write. */
6
+ export class SetStateCache {
7
+ maxAgeInMs;
8
+ kept;
9
+ /** `get` answers a reply younger than `maxAgeInMs`, so 0 answers none. */
10
+ constructor(maxAgeInMs) {
11
+ this.maxAgeInMs = maxAgeInMs;
12
+ }
13
+ set(reply) {
14
+ this.kept = { reply, readAtInMs: performance.now() };
15
+ }
16
+ get() {
17
+ return this.kept !== undefined &&
18
+ performance.now() - this.kept.readAtInMs < this.maxAgeInMs
19
+ ? this.kept.reply
20
+ : undefined;
21
+ }
22
+ clear() {
23
+ this.kept = undefined;
24
+ }
25
+ }
26
+ //# sourceMappingURL=setStateCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setStateCache.js","sourceRoot":"","sources":["../../src/clients/setStateCache.ts"],"names":[],"mappings":"AAAA;;;;mDAImD;AACnD,MAAM,OAAO,aAAa;IAMK,UAAU;IAL/B,IAAI,CAEE;IAEd,0EAA0E;IAC1E,YAA6B,UAAkB;0BAAlB,UAAU;IAAW,CAAC;IAEnD,GAAG,CAAC,KAA6B;QAC/B,IAAI,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC;IACvD,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS;YAC5B,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;YAC1D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YACjB,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACxB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../src/codecs/classic/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,8BAA8B,CAAC;AA8CtC;;;;yBAIyB;AACzB,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB;AAED;;;qBAGqB;AACrB,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,kBAAkB,CAkCpB;AA6CD;wEACwE;AACxE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAE5E;AAoCD;wCACwC;AACxC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAY7E"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../src/codecs/classic/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,8BAA8B,CAAC;AAwDtC;;;;yBAIyB;AACzB,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB;AAED;;;qBAGqB;AACrB,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,kBAAkB,CAmCpB;AAyED;wEACwE;AACxE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAE5E;AAoCD;wCACwC;AACxC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAY7E"}
@@ -1,5 +1,13 @@
1
- import { FIXED_LOUVER_POSITIONS, HUMIDITY_SETTINGS, OPERATING_MODES, SWING_MODES, } from "../../models/state.js";
1
+ import { FIXED_LOUVER_POSITIONS, HUMIDITY_SETTINGS, OPERATING_MODES, SPECIAL_MODES, SWING_MODES, } from "../../models/state.js";
2
2
  const CAPABILITY_VERSIONS = ["0", "1", "2", "3"];
3
+ // `en_spmode` sets one bit for each special mode the unit takes. Bit 8 is a
4
+ // mode outside `SpecialMode`. The powerful and econo bits count only at
5
+ // `cpv=3` with a `cpv_minor` other than `00`: see UNSUPPORTED.md.
6
+ const SPECIAL_MODE_BITS = {
7
+ powerful: 1,
8
+ econo: 2,
9
+ streamer: 4,
10
+ };
3
11
  const COOLING_ONLY_MODES = [
4
12
  "cool",
5
13
  "dehumidify",
@@ -70,6 +78,7 @@ export function parseClassicCapabilities(fields) {
70
78
  fan: null,
71
79
  },
72
80
  targetHumidities: targetHumidities(fields, modern, offeredModes),
81
+ specialModes: specialModes(fields, cpv, offeredModes),
73
82
  specialOutlet: cpv === "3" && fields.airoutlet_pv === "0",
74
83
  energyMonitoring: fields.elec === "1",
75
84
  demandControl: fields.adp_kind === "4" && fields.dmnd === "1",
@@ -77,6 +86,24 @@ export function parseClassicCapabilities(fields) {
77
86
  model: fields.model,
78
87
  };
79
88
  }
89
+ // Lists none for a unit that reports no `en_spmode`, and econo in every mode
90
+ // but fan: see UNSUPPORTED.md.
91
+ function specialModes(fields, cpv, offeredModes) {
92
+ const bits = Number.parseInt(fields.en_spmode ?? "", 10);
93
+ const followsPowerfulAndEcono = cpv === "3" && (fields.cpv_minor ?? "00") !== "00";
94
+ const taken = SPECIAL_MODES.filter((specialMode) => (bits & SPECIAL_MODE_BITS[specialMode]) !== 0 &&
95
+ (specialMode === "streamer" || followsPowerfulAndEcono));
96
+ const inMode = (mode) => offeredModes.includes(mode)
97
+ ? taken.filter((specialMode) => mode !== "fan" || specialMode !== "econo")
98
+ : [];
99
+ return {
100
+ auto: inMode("auto"),
101
+ dehumidify: inMode("dehumidify"),
102
+ cool: inMode("cool"),
103
+ heat: inMode("heat"),
104
+ fan: inMode("fan"),
105
+ };
106
+ }
80
107
  function present(fields, key) {
81
108
  return (fields[key] ?? "") !== "";
82
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/codecs/classic/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/codecs/classic/capabilities.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,17 @@
1
- import type { DemandControl, DeviceGroup, SpecialMode, TerminalScope } from "../../models/extendedControl.js";
1
+ import type { DemandControl, DeviceGroup, DeviceMetadata, TerminalScope } from "../../models/extendedControl.js";
2
+ import type { SpecialMode } from "../../models/state.js";
2
3
  export declare function encodeClassicLed(on: boolean): Record<string, string>;
4
+ /** Reads the LED from a `basic_info` reply: `null` when it carries no `led`. */
5
+ export declare function parseClassicLed(fields: Record<string, string>): boolean | null;
3
6
  export declare function encodeClassicHolidayMode(enabled: boolean): Record<string, string>;
7
+ /** Reads holiday mode from a `basic_info` reply: `null` when it carries no
8
+ * `en_hol`. */
9
+ export declare function parseClassicHolidayMode(fields: Record<string, string>): boolean | null;
4
10
  export declare function encodeClassicDemandControl(demand: DemandControl): Record<string, string>;
5
11
  export declare function encodeClassicSpecialMode(mode: SpecialMode, enabled: boolean): Record<string, string>;
12
+ /** Reads out-of-home access from a `basic_info` reply: `null` when it carries
13
+ * no `method`. */
14
+ export declare function parseClassicOutOfHomeAccess(fields: Record<string, string>): boolean | null;
6
15
  /** Turns `current`, the `get_remote_method` reply, and `enabled` into the
7
16
  * `set_remote_method` query. The endpoint takes the intervals back unchanged,
8
17
  * so the reply's `notice_ip_int` and `notice_sync_int` are copied in. */
@@ -15,6 +24,10 @@ export declare function encodeClassicEnergyTarget(target: number): Record<string
15
24
  export declare function encodeClassicName(name: string): Record<string, string>;
16
25
  export declare function encodeClassicIcon(icon: string): Record<string, string>;
17
26
  export declare function encodeClassicGroup(group: DeviceGroup): Record<string, string>;
27
+ /** Reads the name, icon and group from a `basic_info` reply, leaving out each
28
+ * one the reply does not carry. The name and the group's name arrive
29
+ * form-encoded. */
30
+ export declare function parseClassicMetadata(fields: Record<string, string>): DeviceMetadata;
18
31
  export declare function encodeClassicTerminalKey(key: string): Record<string, string>;
19
32
  export declare function encodeClassicTerminalScope(scope: TerminalScope): Record<string, string>;
20
33
  //# sourceMappingURL=extendedControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extendedControl.d.ts","sourceRoot":"","sources":["../../../src/codecs/classic/extendedControl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEb,WAAW,EACX,WAAW,EACX,aAAa,EACd,MAAM,iCAAiC,CAAC;AAiCzC,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEpE;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAExB;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,aAAa,GACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOxB;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,OAAO,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIxB;AAED;;yEAEyE;AACzE,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,EAAE,OAAO,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWxB;AAED;;qBAEqB;AACrB,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAExB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEtE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEtE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE7E;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE5E;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,aAAa,GACnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAExB"}
1
+ {"version":3,"file":"extendedControl.d.ts","sourceRoot":"","sources":["../../../src/codecs/classic/extendedControl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEb,WAAW,EACX,cAAc,EACd,aAAa,EACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAkCzD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEpE;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,GAAG,IAAI,CAEhB;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAExB;AAED;eACe;AACf,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,GAAG,IAAI,CAEhB;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,aAAa,GACpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOxB;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,OAAO,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIxB;AAED;kBACkB;AAClB,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,GAAG,IAAI,CAIhB;AAED;;yEAEyE;AACzE,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,EAAE,OAAO,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWxB;AAED;;qBAEqB;AACrB,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAExB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEtE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEtE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE7E;AAED;;mBAEmB;AACnB,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,cAAc,CAahB;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE5E;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,aAAa,GACnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAExB"}
@@ -1,5 +1,6 @@
1
- // Encodes each control outside `control_info` as the query its classic `set_*`
2
- // endpoint takes.
1
+ import { decodeClassicText } from "./keyValue.js";
2
+ // Encodes each control outside `DaikinState` as the query its classic `set_*`
3
+ // endpoint takes, and reads each one back from the reply that reports it.
3
4
  const TERMINAL_SCOPE_CODES = {
4
5
  self: "0",
5
6
  others: "1",
@@ -9,8 +10,8 @@ const DEMAND_MODE_CODES = {
9
10
  manual: "0",
10
11
  auto: "2",
11
12
  };
12
- // `spmode_kind` on the wire; control_info's `adv` reports powerful as 2 and
13
- // econo as 12.
13
+ // `spmode_kind` on the wire, which numbers the modes differently from the
14
+ // `adv` that `parseClassicState` reads.
14
15
  const SPECIAL_MODE_KIND_CODES = {
15
16
  powerful: "1",
16
17
  econo: "2",
@@ -23,9 +24,18 @@ const REMOTE_METHOD_INTERVALS = ["notice_ip_int", "notice_sync_int"];
23
24
  export function encodeClassicLed(on) {
24
25
  return { led: flag(on) };
25
26
  }
27
+ /** Reads the LED from a `basic_info` reply: `null` when it carries no `led`. */
28
+ export function parseClassicLed(fields) {
29
+ return parseFlag(fields.led);
30
+ }
26
31
  export function encodeClassicHolidayMode(enabled) {
27
32
  return { en_hol: flag(enabled) };
28
33
  }
34
+ /** Reads holiday mode from a `basic_info` reply: `null` when it carries no
35
+ * `en_hol`. */
36
+ export function parseClassicHolidayMode(fields) {
37
+ return parseFlag(fields.en_hol);
38
+ }
29
39
  export function encodeClassicDemandControl(demand) {
30
40
  return {
31
41
  demand_type: "1",
@@ -39,6 +49,13 @@ export function encodeClassicSpecialMode(mode, enabled) {
39
49
  ? { en_streamer: flag(enabled) }
40
50
  : { set_spmode: flag(enabled), spmode_kind: SPECIAL_MODE_KIND_CODES[mode] };
41
51
  }
52
+ /** Reads out-of-home access from a `basic_info` reply: `null` when it carries
53
+ * no `method`. */
54
+ export function parseClassicOutOfHomeAccess(fields) {
55
+ return fields.method === undefined
56
+ ? null
57
+ : fields.method === REMOTE_METHOD_POLLING;
58
+ }
42
59
  /** Turns `current`, the `get_remote_method` reply, and `enabled` into the
43
60
  * `set_remote_method` query. The endpoint takes the intervals back unchanged,
44
61
  * so the reply's `notice_ip_int` and `notice_sync_int` are copied in. */
@@ -76,6 +93,21 @@ export function encodeClassicIcon(icon) {
76
93
  export function encodeClassicGroup(group) {
77
94
  return { grp_name: group.name, en_grp: flag(group.enabled) };
78
95
  }
96
+ /** Reads the name, icon and group from a `basic_info` reply, leaving out each
97
+ * one the reply does not carry. The name and the group's name arrive
98
+ * form-encoded. */
99
+ export function parseClassicMetadata(fields) {
100
+ return {
101
+ name: fields.name === undefined ? undefined : decodeClassicText(fields.name),
102
+ icon: fields.icon,
103
+ group: fields.en_grp === undefined
104
+ ? undefined
105
+ : {
106
+ name: decodeClassicText(fields.grp_name ?? ""),
107
+ enabled: fields.en_grp === "1",
108
+ },
109
+ };
110
+ }
79
111
  export function encodeClassicTerminalKey(key) {
80
112
  return { key };
81
113
  }
@@ -85,4 +117,7 @@ export function encodeClassicTerminalScope(scope) {
85
117
  function flag(on) {
86
118
  return on ? "1" : "0";
87
119
  }
120
+ function parseFlag(value) {
121
+ return value === undefined ? null : value === "1";
122
+ }
88
123
  //# sourceMappingURL=extendedControl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extendedControl.js","sourceRoot":"","sources":["../../../src/codecs/classic/extendedControl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extendedControl.js","sourceRoot":"","sources":["../../../src/codecs/classic/extendedControl.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  /** Splits a classic reply into its fields. A pair without `=` is dropped, and
2
2
  * a value is kept as the adapter sent it, undecoded. */
3
3
  export declare function parseClassicKeyValue(body: string): Record<string, string>;
4
+ /** Decodes a form-encoded value, such as a name: `+` is a space. A value that
5
+ * is not valid percent-encoding is returned as the adapter sent it. */
6
+ export declare function decodeClassicText(value: string): string;
4
7
  export declare function isClassicOk(fields: Record<string, string>): boolean;
5
8
  /** Throws a `DaikinError` unless the reply's `ret` is `OK`: status 401 for
6
9
  * `AUTH NG` or `LPW NG`, 502 for anything else. Every reply carries a `ret`,
@@ -1 +1 @@
1
- {"version":3,"file":"keyValue.d.ts","sourceRoot":"","sources":["../../../src/codecs/classic/keyValue.ts"],"names":[],"mappings":"AAKA;wDACwD;AACxD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUzE;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAEnE;AAED;;;iDAGiD;AACjD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAWpE"}
1
+ {"version":3,"file":"keyValue.d.ts","sourceRoot":"","sources":["../../../src/codecs/classic/keyValue.ts"],"names":[],"mappings":"AAKA;wDACwD;AACxD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUzE;AAED;uEACuE;AACvE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMvD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAEnE;AAED;;;iDAGiD;AACjD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAWpE"}
@@ -14,6 +14,16 @@ export function parseClassicKeyValue(body) {
14
14
  }
15
15
  return result;
16
16
  }
17
+ /** Decodes a form-encoded value, such as a name: `+` is a space. A value that
18
+ * is not valid percent-encoding is returned as the adapter sent it. */
19
+ export function decodeClassicText(value) {
20
+ try {
21
+ return decodeURIComponent(value.replaceAll("+", " "));
22
+ }
23
+ catch {
24
+ return value;
25
+ }
26
+ }
17
27
  export function isClassicOk(fields) {
18
28
  return fields.ret === "OK";
19
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"keyValue.js","sourceRoot":"","sources":["../../../src/codecs/classic/keyValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,+EAA+E;AAC/E,qFAAqF;AAErF;wDACwD;AACxD,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAA8B;IACxD,OAAO,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC;AAC7B,CAAC;AAED;;;iDAGiD;AACjD,MAAM,UAAU,eAAe,CAAC,MAA8B;IAC5D,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IACvB,0EAA0E;IAC1E,SAAS;IACT,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,WAAW,CAAC,wCAAwC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,IAAI,WAAW,CAAC,8BAA8B,GAAG,IAAI,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC;AAChF,CAAC"}
1
+ {"version":3,"file":"keyValue.js","sourceRoot":"","sources":["../../../src/codecs/classic/keyValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,+EAA+E;AAC/E,qFAAqF;AAErF;wDACwD;AACxD,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;uEACuE;AACvE,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAA8B;IACxD,OAAO,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC;AAC7B,CAAC;AAED;;;iDAGiD;AACjD,MAAM,UAAU,eAAe,CAAC,MAA8B;IAC5D,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IACvB,0EAA0E;IAC1E,SAAS;IACT,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,WAAW,CAAC,wCAAwC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,IAAI,WAAW,CAAC,8BAA8B,GAAG,IAAI,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC;AAChF,CAAC"}
@@ -1,7 +1,8 @@
1
- import type { DaikinControl, DaikinSensors, DaikinState } from "../../models/state.js";
1
+ import { type DaikinControl, type DaikinSensors, type DaikinState } from "../../models/state.js";
2
2
  /** Turns a `get_control_info` reply into a `DaikinState`. A `mode` or `f_rate`
3
3
  * outside the model reads as `auto`, an `f_dir` outside it as `off`, and an
4
- * `f_dir_ud` or `f_dir_lr` outside it as `null`. */
4
+ * `f_dir_ud` or `f_dir_lr` outside it as `null`. A code in `adv` outside
5
+ * `SpecialMode` is left out. */
5
6
  export declare function parseClassicState(fields: Record<string, string>): DaikinState;
6
7
  export declare function parseClassicSensors(fields: Record<string, string>): DaikinSensors;
7
8
  /** Turns `current`, the `get_control_info` reply, and a control into the
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/codecs/classic/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,WAAW,EAQZ,MAAM,uBAAuB,CAAC;AAwH/B;;oDAEoD;AACpD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,WAAW,CAY7E;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,aAAa,CAMf;AAED;;;;;;;;;yEASyE;AACzE,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,EAAE,aAAa,EACtB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiGxB"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/codecs/classic/state.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,WAAW,EAUjB,MAAM,uBAAuB,CAAC;AA+H/B;;;gCAGgC;AAChC,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,WAAW,CAa7E;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,aAAa,CAMf;AAED;;;;;;;;;yEASyE;AACzE,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,EAAE,aAAa,EACtB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiGxB"}
@@ -1,3 +1,4 @@
1
+ import { SPECIAL_MODES, } from "../../models/state.js";
1
2
  import { takesClassicDirection, takesClassicHumidity } from "./capabilities.js";
2
3
  // Maps between `DaikinState` and the classic `control_info` wire fields, and reads
3
4
  // `DaikinSensors` from `get_sensor_info`.
@@ -85,6 +86,12 @@ const HUMIDITY_SETTINGS_BY_CODE = Object.fromEntries(Object.entries(HUMIDITY_SET
85
86
  code,
86
87
  setting,
87
88
  ]));
89
+ // `adv` holds one code for each special mode that is on, separated by `/`.
90
+ const SPECIAL_MODE_ADV_CODES = {
91
+ powerful: "2",
92
+ econo: "12",
93
+ streamer: "13",
94
+ };
88
95
  // Fan mode keeps no setpoint memory, and dehumidify runs the fan on auto only.
89
96
  const NO_SETPOINT = "--";
90
97
  const DEHUMIDIFY_FAN_SPEED = "A";
@@ -92,7 +99,8 @@ const DEHUMIDIFY_FAN_SPEED = "A";
92
99
  const NO_LOUVER = "-";
93
100
  /** Turns a `get_control_info` reply into a `DaikinState`. A `mode` or `f_rate`
94
101
  * outside the model reads as `auto`, an `f_dir` outside it as `off`, and an
95
- * `f_dir_ud` or `f_dir_lr` outside it as `null`. */
102
+ * `f_dir_ud` or `f_dir_lr` outside it as `null`. A code in `adv` outside
103
+ * `SpecialMode` is left out. */
96
104
  export function parseClassicState(fields) {
97
105
  return {
98
106
  power: fields.pow === "1",
@@ -103,6 +111,7 @@ export function parseClassicState(fields) {
103
111
  swingMode: SWING_MODES_BY_CODE[fields.f_dir ?? ""] ?? "off",
104
112
  verticalPosition: VERTICAL_POSITIONS_BY_CODE[fields.f_dir_ud ?? ""] ?? null,
105
113
  horizontalPosition: HORIZONTAL_POSITIONS_BY_CODE[fields.f_dir_lr ?? ""] ?? null,
114
+ specialModes: parseSpecialModes(fields.adv),
106
115
  };
107
116
  }
108
117
  export function parseClassicSensors(fields) {
@@ -207,6 +216,10 @@ export function applyClassicControl(current, control, capabilityFields) {
207
216
  }
208
217
  return next;
209
218
  }
219
+ function parseSpecialModes(adv) {
220
+ const codes = (adv ?? "").split("/");
221
+ return SPECIAL_MODES.filter((mode) => codes.includes(SPECIAL_MODE_ADV_CODES[mode]));
222
+ }
210
223
  function parseTargetHumidity(shum) {
211
224
  const setting = HUMIDITY_SETTINGS_BY_CODE[shum ?? ""];
212
225
  if (setting !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/codecs/classic/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/codecs/classic/state.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,15 @@
1
- import type { DaikinDevice } from "../models/device.js";
1
+ import type { DaikinDevice, DaikinDeviceInfo } from "../models/device.js";
2
2
  /** Turns a `basic_info` reply into a `DaikinDevice`: `type=GPF` marks a DSIOT
3
3
  * adapter, and `api_port`, when present, is the HTTP port and is appended to
4
4
  * `host`, the address the reply came from. */
5
5
  export declare function parseDevice(host: string, basicInfo: Record<string, string>): DaikinDevice;
6
+ /** Reads what a `basic_info` reply says to identify the adapter. */
7
+ export declare function parseDeviceInfo(basicInfo: Record<string, string>): DaikinDeviceInfo;
8
+ /** The adapter sends a MAC address without separators. It keeps the adapter's
9
+ * letter case. */
10
+ export declare function decodeMacAddress(value: string | undefined): string | undefined;
11
+ /** The adapter sends a version as three numbers joined by underscores, with a
12
+ * fourth part, `pre`, on a pre-release. This drops any other fourth part, and
13
+ * decodes a value that is not three numbers to `undefined`. */
14
+ export declare function decodeFirmwareVersion(value: string | undefined): string | undefined;
6
15
  //# sourceMappingURL=device.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/codecs/device.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKxD;;8CAE8C;AAC9C,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,YAAY,CAiBd"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/codecs/device.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM1E;;8CAE8C;AAC9C,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,YAAY,CAqBd;AAED,oEAAoE;AACpE,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,gBAAgB,CAKlB;AAED;kBACkB;AAClB,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,GAAG,SAAS,CAEpB;AAED;;+DAE+D;AAC/D,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,GAAG,SAAS,CAOpB"}
@@ -1,3 +1,4 @@
1
+ import { decodeClassicText } from "./classic/keyValue.js";
1
2
  const DSIOT_TYPE = "GPF";
2
3
  const MARVELL_ADP_KIND = "3";
3
4
  /** Turns a `basic_info` reply into a `DaikinDevice`: `type=GPF` marks a DSIOT
@@ -9,7 +10,9 @@ export function parseDevice(host, basicInfo) {
9
10
  return {
10
11
  host: basicInfo.api_port ? `${host}:${basicInfo.api_port}` : host,
11
12
  protocol,
12
- name: decodeName(basicInfo.name),
13
+ name: basicInfo.name === undefined
14
+ ? undefined
15
+ : decodeClassicText(basicInfo.name),
13
16
  // Only classic adapters register terminals.
14
17
  requiresRegistration: secure && protocol === "classic",
15
18
  // Only a Marvell adapter (adp_kind=3) in secure mode speaks HTTPS; every
@@ -18,18 +21,30 @@ export function parseDevice(host, basicInfo) {
18
21
  protocol === "classic" &&
19
22
  basicInfo.adp_kind === MARVELL_ADP_KIND,
20
23
  requiresLocalPassword: basicInfo.lpw_flag === "1",
24
+ ...parseDeviceInfo(basicInfo),
21
25
  };
22
26
  }
23
- // The name is form-encoded: `+` is a space.
24
- function decodeName(value) {
25
- if (value === undefined) {
27
+ /** Reads what a `basic_info` reply says to identify the adapter. */
28
+ export function parseDeviceInfo(basicInfo) {
29
+ return {
30
+ macAddress: decodeMacAddress(basicInfo.mac),
31
+ firmwareVersion: decodeFirmwareVersion(basicInfo.ver),
32
+ };
33
+ }
34
+ /** The adapter sends a MAC address without separators. It keeps the adapter's
35
+ * letter case. */
36
+ export function decodeMacAddress(value) {
37
+ return value ? value.replace(/..(?=..)/g, "$&:") : undefined;
38
+ }
39
+ /** The adapter sends a version as three numbers joined by underscores, with a
40
+ * fourth part, `pre`, on a pre-release. This drops any other fourth part, and
41
+ * decodes a value that is not three numbers to `undefined`. */
42
+ export function decodeFirmwareVersion(value) {
43
+ const parts = /^(\d+)_(\d+)_(\d+)(?:_([^_]*))?$/.exec(value ?? "");
44
+ if (parts === null) {
26
45
  return undefined;
27
46
  }
28
- try {
29
- return decodeURIComponent(value.replaceAll("+", " "));
30
- }
31
- catch {
32
- return value;
33
- }
47
+ const version = parts.slice(1, 4).map(Number).join(".");
48
+ return parts[4] === "pre" ? `${version}.pre` : version;
34
49
  }
35
50
  //# sourceMappingURL=device.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/codecs/device.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,KAAK,CAAC;AACzB,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B;;8CAE8C;AAC9C,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,SAAiC;IAEjC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,KAAK,GAAG,CAAC;IAC3C,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;QACjE,QAAQ;QACR,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC;QAChC,4CAA4C;QAC5C,oBAAoB,EAAE,MAAM,IAAI,QAAQ,KAAK,SAAS;QACtD,yEAAyE;QACzE,2DAA2D;QAC3D,SAAS,EACP,MAAM;YACN,QAAQ,KAAK,SAAS;YACtB,SAAS,CAAC,QAAQ,KAAK,gBAAgB;QACzC,qBAAqB,EAAE,SAAS,CAAC,QAAQ,KAAK,GAAG;KAClD,CAAC;AACJ,CAAC;AAED,4CAA4C;AAC5C,SAAS,UAAU,CAAC,KAAyB;IAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/codecs/device.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,UAAU,GAAG,KAAK,CAAC;AACzB,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B;;8CAE8C;AAC9C,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,SAAiC;IAEjC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,KAAK,GAAG,CAAC;IAC3C,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;QACjE,QAAQ;QACR,IAAI,EACF,SAAS,CAAC,IAAI,KAAK,SAAS;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC;QACvC,4CAA4C;QAC5C,oBAAoB,EAAE,MAAM,IAAI,QAAQ,KAAK,SAAS;QACtD,yEAAyE;QACzE,2DAA2D;QAC3D,SAAS,EACP,MAAM;YACN,QAAQ,KAAK,SAAS;YACtB,SAAS,CAAC,QAAQ,KAAK,gBAAgB;QACzC,qBAAqB,EAAE,SAAS,CAAC,QAAQ,KAAK,GAAG;QACjD,GAAG,eAAe,CAAC,SAAS,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,eAAe,CAC7B,SAAiC;IAEjC,OAAO;QACL,UAAU,EAAE,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC;QAC3C,eAAe,EAAE,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC;KACtD,CAAC;AACJ,CAAC;AAED;kBACkB;AAClB,MAAM,UAAU,gBAAgB,CAC9B,KAAyB;IAEzB,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED;;+DAE+D;AAC/D,MAAM,UAAU,qBAAqB,CACnC,KAAyB;IAEzB,MAAM,KAAK,GAAG,kCAAkC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACnE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AACzD,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import type { DaikinCapabilities } from "../../models/capabilities.js";
2
- /** Turns the flattened `adp_i` and indoor `dgc_status` trees (with `md`) into
3
- * `DaikinCapabilities`. Setpoints count half degrees. */
2
+ /** Turns the flattened `adp_i` tree and the indoor and outdoor `dgc_status`
3
+ * trees (with `pt` and `md`) into `DaikinCapabilities`. Setpoints count half
4
+ * degrees. Without the outdoor tree, `specialModes` lists no `powerful`. It
5
+ * lists econo in every mode but fan: see UNSUPPORTED.md. */
4
6
  export declare function parseDsiotCapabilities(values: Record<string, string>): DaikinCapabilities;
5
7
  //# sourceMappingURL=capabilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../src/codecs/dsiot/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,8BAA8B,CAAC;AA+CtC;yDACyD;AACzD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,kBAAkB,CAkEpB"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../src/codecs/dsiot/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,8BAA8B,CAAC;AAoDtC;;;4DAG4D;AAC5D,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,kBAAkB,CAoFpB"}
@@ -1,5 +1,5 @@
1
- import { FAN_SPEEDS, FIXED_LOUVER_POSITIONS, HORIZONTAL_POSITIONS, HUMIDITY_SETTINGS, OPERATING_MODES, SWING_MODES, VERTICAL_POSITIONS, } from "../../models/state.js";
2
- import { DSIOT_HORIZONTAL_POSITION_VALUES, DSIOT_MODE_PATHS, DSIOT_PATHS, DSIOT_VERTICAL_POSITION_VALUES, decodeDsiotLittleEndian, } from "./state.js";
1
+ import { FAN_SPEEDS, FIXED_LOUVER_POSITIONS, HORIZONTAL_POSITIONS, HUMIDITY_SETTINGS, OPERATING_MODES, SPECIAL_MODES, SWING_MODES, VERTICAL_POSITIONS, } from "../../models/state.js";
2
+ import { DSIOT_HORIZONTAL_POSITION_VALUES, DSIOT_MODE_PATHS, DSIOT_PATHS, DSIOT_SPECIAL_MODE_PATHS, DSIOT_VERTICAL_POSITION_VALUES, decodeDsiotLittleEndian, } from "./state.js";
3
3
  const MODE_PATHS = Object.values(DSIOT_MODE_PATHS);
4
4
  const ADAPTER_PATHS = {
5
5
  region: "adp_i.reg",
@@ -8,6 +8,8 @@ const ADAPTER_PATHS = {
8
8
  demandControl: "adp_i.func.en_demand",
9
9
  scheduleTimer: "adp_i.func.en_scdltmr",
10
10
  };
11
+ // The `pt` of a special mode's leaf on a unit that takes the mode.
12
+ const SPECIAL_MODE_OFFERED_TYPE = "2";
11
13
  const COOLING_ONLY_MODEL_TYPE = "01";
12
14
  const COOLING_ONLY_MODES = [
13
15
  "dehumidify",
@@ -17,8 +19,10 @@ const COOLING_ONLY_MODES = [
17
19
  // The fixed positions, 1-14, in a louver leaf's `md.mx`.
18
20
  const FIXED_LOUVER_MASK = 0x7ffe;
19
21
  const FIXED_POSITIONS = FIXED_LOUVER_POSITIONS;
20
- /** Turns the flattened `adp_i` and indoor `dgc_status` trees (with `md`) into
21
- * `DaikinCapabilities`. Setpoints count half degrees. */
22
+ /** Turns the flattened `adp_i` tree and the indoor and outdoor `dgc_status`
23
+ * trees (with `pt` and `md`) into `DaikinCapabilities`. Setpoints count half
24
+ * degrees. Without the outdoor tree, `specialModes` lists no `powerful`. It
25
+ * lists econo in every mode but fan: see UNSUPPORTED.md. */
22
26
  export function parseDsiotCapabilities(values) {
23
27
  const modes = values[DSIOT_PATHS.modelType] === COOLING_ONLY_MODEL_TYPE
24
28
  ? [...COOLING_ONLY_MODES]
@@ -31,6 +35,11 @@ export function parseDsiotCapabilities(values) {
31
35
  ? [...HUMIDITY_SETTINGS]
32
36
  : [];
33
37
  };
38
+ const takenSpecialModes = SPECIAL_MODES.filter((specialMode) => values[`${DSIOT_SPECIAL_MODE_PATHS[specialMode]}.pt`] ===
39
+ SPECIAL_MODE_OFFERED_TYPE);
40
+ const specialModes = (mode) => modes.includes(mode)
41
+ ? takenSpecialModes.filter((specialMode) => mode !== "fan" || specialMode !== "econo")
42
+ : [];
34
43
  const vertical = hasLouver(values, "vertical");
35
44
  const horizontal = hasLouver(values, "horizontal");
36
45
  const energyMonitoring = values[ADAPTER_PATHS.energyMonitoring] === "1" &&
@@ -60,6 +69,13 @@ export function parseDsiotCapabilities(values) {
60
69
  heat: humiditySettings("heat"),
61
70
  fan: [],
62
71
  },
72
+ specialModes: {
73
+ auto: specialModes("auto"),
74
+ dehumidify: specialModes("dehumidify"),
75
+ cool: specialModes("cool"),
76
+ heat: specialModes("heat"),
77
+ fan: specialModes("fan"),
78
+ },
63
79
  // Which leaf reports the special air outlet is not known: see
64
80
  // UNSUPPORTED.md.
65
81
  specialOutlet: false,
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/codecs/dsiot/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/codecs/dsiot/capabilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { DaikinDeviceInfo } from "../../models/device.js";
2
+ /** Reads what the flattened `adp_i` tree says to identify the adapter. Both
3
+ * leaves hold the value a classic adapter sends in `basic_info`. */
4
+ export declare function parseDsiotDeviceInfo(values: Record<string, string>): DaikinDeviceInfo;
5
+ //# sourceMappingURL=device.d.ts.map