daikin-local-control 0.3.0 → 0.4.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 (114) hide show
  1. package/DESIGN.md +113 -2
  2. package/README.md +131 -13
  3. package/UNSUPPORTED.md +42 -4
  4. package/dist/clients/classic.d.ts +2 -2
  5. package/dist/clients/classic.d.ts.map +1 -1
  6. package/dist/clients/classic.js +4 -4
  7. package/dist/clients/classic.js.map +1 -1
  8. package/dist/clients/client.d.ts +6 -2
  9. package/dist/clients/client.d.ts.map +1 -1
  10. package/dist/clients/dsiot.d.ts +3 -1
  11. package/dist/clients/dsiot.d.ts.map +1 -1
  12. package/dist/clients/dsiot.js +11 -3
  13. package/dist/clients/dsiot.js.map +1 -1
  14. package/dist/codecs/classic/capabilities.d.ts.map +1 -1
  15. package/dist/codecs/classic/capabilities.js +5 -11
  16. package/dist/codecs/classic/capabilities.js.map +1 -1
  17. package/dist/codecs/classic/extendedControl.d.ts.map +1 -1
  18. package/dist/codecs/classic/extendedControl.js +10 -19
  19. package/dist/codecs/classic/extendedControl.js.map +1 -1
  20. package/dist/codecs/classic/state.d.ts.map +1 -1
  21. package/dist/codecs/classic/state.js +36 -95
  22. package/dist/codecs/classic/state.js.map +1 -1
  23. package/dist/codecs/classic/tables.d.ts +32 -0
  24. package/dist/codecs/classic/tables.d.ts.map +1 -0
  25. package/dist/codecs/classic/tables.js +94 -0
  26. package/dist/codecs/classic/tables.js.map +1 -0
  27. package/dist/codecs/credentials.d.ts +3 -2
  28. package/dist/codecs/credentials.d.ts.map +1 -1
  29. package/dist/codecs/credentials.js +8 -3
  30. package/dist/codecs/credentials.js.map +1 -1
  31. package/dist/codecs/device.d.ts +2 -1
  32. package/dist/codecs/device.d.ts.map +1 -1
  33. package/dist/codecs/device.js +7 -6
  34. package/dist/codecs/device.js.map +1 -1
  35. package/dist/codecs/dsiot/capabilities.d.ts.map +1 -1
  36. package/dist/codecs/dsiot/capabilities.js +8 -15
  37. package/dist/codecs/dsiot/capabilities.js.map +1 -1
  38. package/dist/codecs/dsiot/device.d.ts +4 -2
  39. package/dist/codecs/dsiot/device.d.ts.map +1 -1
  40. package/dist/codecs/dsiot/device.js +8 -8
  41. package/dist/codecs/dsiot/device.js.map +1 -1
  42. package/dist/codecs/dsiot/multireq.d.ts +0 -18
  43. package/dist/codecs/dsiot/multireq.d.ts.map +1 -1
  44. package/dist/codecs/dsiot/multireq.js +2 -24
  45. package/dist/codecs/dsiot/multireq.js.map +1 -1
  46. package/dist/codecs/dsiot/state.d.ts +6 -62
  47. package/dist/codecs/dsiot/state.d.ts.map +1 -1
  48. package/dist/codecs/dsiot/state.js +29 -148
  49. package/dist/codecs/dsiot/state.js.map +1 -1
  50. package/dist/codecs/dsiot/tables.d.ts +116 -0
  51. package/dist/codecs/dsiot/tables.d.ts.map +1 -0
  52. package/dist/codecs/dsiot/tables.js +185 -0
  53. package/dist/codecs/dsiot/tables.js.map +1 -0
  54. package/dist/discovery.d.ts +2 -1
  55. package/dist/discovery.d.ts.map +1 -1
  56. package/dist/discovery.js +9 -5
  57. package/dist/discovery.js.map +1 -1
  58. package/dist/factory.d.ts +7 -4
  59. package/dist/factory.d.ts.map +1 -1
  60. package/dist/factory.js +4 -2
  61. package/dist/factory.js.map +1 -1
  62. package/dist/index.d.ts +2 -0
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +2 -0
  65. package/dist/index.js.map +1 -1
  66. package/dist/models/device.d.ts +3 -1
  67. package/dist/models/device.d.ts.map +1 -1
  68. package/dist/models/state.d.ts +2 -3
  69. package/dist/models/state.d.ts.map +1 -1
  70. package/dist/simulators/classic.d.ts +61 -0
  71. package/dist/simulators/classic.d.ts.map +1 -0
  72. package/dist/simulators/classic.js +473 -0
  73. package/dist/simulators/classic.js.map +1 -0
  74. package/dist/simulators/dsiot.d.ts +49 -0
  75. package/dist/simulators/dsiot.d.ts.map +1 -0
  76. package/dist/simulators/dsiot.js +519 -0
  77. package/dist/simulators/dsiot.js.map +1 -0
  78. package/dist/simulators/index.d.ts +4 -0
  79. package/dist/simulators/index.d.ts.map +1 -0
  80. package/dist/simulators/index.js +3 -0
  81. package/dist/simulators/index.js.map +1 -0
  82. package/dist/simulators/simulator.d.ts +116 -0
  83. package/dist/simulators/simulator.d.ts.map +1 -0
  84. package/dist/simulators/simulator.js +141 -0
  85. package/dist/simulators/simulator.js.map +1 -0
  86. package/dist/transport.d.ts +6 -2
  87. package/dist/transport.d.ts.map +1 -1
  88. package/dist/transport.js +7 -2
  89. package/dist/transport.js.map +1 -1
  90. package/package.json +5 -2
  91. package/src/clients/classic.ts +8 -8
  92. package/src/clients/client.ts +7 -1
  93. package/src/clients/dsiot.ts +12 -2
  94. package/src/codecs/classic/capabilities.ts +8 -11
  95. package/src/codecs/classic/extendedControl.ts +14 -25
  96. package/src/codecs/classic/state.ts +49 -101
  97. package/src/codecs/classic/tables.ts +123 -0
  98. package/src/codecs/credentials.ts +11 -3
  99. package/src/codecs/device.ts +8 -7
  100. package/src/codecs/dsiot/capabilities.ts +10 -17
  101. package/src/codecs/dsiot/device.ts +8 -9
  102. package/src/codecs/dsiot/multireq.ts +2 -24
  103. package/src/codecs/dsiot/state.ts +57 -193
  104. package/src/codecs/dsiot/tables.ts +249 -0
  105. package/src/discovery.ts +9 -5
  106. package/src/factory.ts +7 -4
  107. package/src/index.ts +2 -0
  108. package/src/models/device.ts +3 -1
  109. package/src/models/state.ts +2 -3
  110. package/src/simulators/classic.ts +635 -0
  111. package/src/simulators/dsiot.ts +736 -0
  112. package/src/simulators/index.ts +9 -0
  113. package/src/simulators/simulator.ts +281 -0
  114. package/src/transport.ts +10 -3
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/codecs/credentials.ts"],"names":[],"mappings":"AAAA;kCACkC;AAClC,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,0BAA0B,CACxC,aAAqB;IAErB,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC;AAChC,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,wBAAwB,CACtC,aAAqB;IAErB,OAAO,EAAE,aAAa,EAAE,SAAS,aAAa,EAAE,EAAE,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/codecs/credentials.ts"],"names":[],"mappings":"AAAA,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAE/C;;0EAE0E;AAC1E,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,0BAA0B,CACxC,aAAqB;IAErB,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC;AAChC,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,wBAAwB,CACtC,aAAqB;IAErB,OAAO,EAAE,aAAa,EAAE,SAAS,aAAa,EAAE,EAAE,CAAC;AACrD,CAAC"}
@@ -3,7 +3,8 @@ import type { DaikinDevice, DaikinDeviceInfo } from "../models/device.js";
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. */
6
+ /** Reads what a `basic_info` reply says to identify the adapter. The name
7
+ * arrives form-encoded. */
7
8
  export declare function parseDeviceInfo(basicInfo: Record<string, string>): DaikinDeviceInfo;
8
9
  /** The adapter sends a MAC address without separators. It keeps the adapter's
9
10
  * letter case. */
@@ -1 +1 @@
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
+ {"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,CAiBd;AAED;2BAC2B;AAC3B,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,gBAAgB,CASlB;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,18 +1,15 @@
1
1
  import { decodeClassicText } from "./classic/keyValue.js";
2
- const DSIOT_TYPE = "GPF";
2
+ import { DSIOT_ADAPTER_TYPE } from "./dsiot/tables.js";
3
3
  const MARVELL_ADP_KIND = "3";
4
4
  /** Turns a `basic_info` reply into a `DaikinDevice`: `type=GPF` marks a DSIOT
5
5
  * adapter, and `api_port`, when present, is the HTTP port and is appended to
6
6
  * `host`, the address the reply came from. */
7
7
  export function parseDevice(host, basicInfo) {
8
- const protocol = basicInfo.type === DSIOT_TYPE ? "dsiot" : "classic";
8
+ const protocol = basicInfo.type === DSIOT_ADAPTER_TYPE ? "dsiot" : "classic";
9
9
  const secure = basicInfo.en_secure === "1";
10
10
  return {
11
11
  host: basicInfo.api_port ? `${host}:${basicInfo.api_port}` : host,
12
12
  protocol,
13
- name: basicInfo.name === undefined
14
- ? undefined
15
- : decodeClassicText(basicInfo.name),
16
13
  // Only classic adapters register terminals.
17
14
  requiresRegistration: secure && protocol === "classic",
18
15
  // Only a Marvell adapter (adp_kind=3) in secure mode speaks HTTPS; every
@@ -24,9 +21,13 @@ export function parseDevice(host, basicInfo) {
24
21
  ...parseDeviceInfo(basicInfo),
25
22
  };
26
23
  }
27
- /** Reads what a `basic_info` reply says to identify the adapter. */
24
+ /** Reads what a `basic_info` reply says to identify the adapter. The name
25
+ * arrives form-encoded. */
28
26
  export function parseDeviceInfo(basicInfo) {
29
27
  return {
28
+ name: basicInfo.name === undefined
29
+ ? undefined
30
+ : decodeClassicText(basicInfo.name),
30
31
  macAddress: decodeMacAddress(basicInfo.mac),
31
32
  firmwareVersion: decodeFirmwareVersion(basicInfo.ver),
32
33
  };
@@ -1 +1 @@
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
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/codecs/device.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B;;8CAE8C;AAC9C,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,SAAiC;IAEjC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,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,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;2BAC2B;AAC3B,MAAM,UAAU,eAAe,CAC7B,SAAiC;IAEjC,OAAO;QACL,IAAI,EACF,SAAS,CAAC,IAAI,KAAK,SAAS;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC;QACvC,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 +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;AAoDtC;;;4DAG4D;AAC5D,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,kBAAkB,CAoFpB"}
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;AA6CtC;;;4DAG4D;AAC5D,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,kBAAkB,CAoFpB"}
@@ -1,16 +1,9 @@
1
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";
2
+ import { decodeDsiotLittleEndian } from "./state.js";
3
+ import { DSIOT_ADAPTER_PATHS, DSIOT_COOLING_ONLY_MODEL_TYPE, DSIOT_HORIZONTAL_POSITION_VALUES, DSIOT_MODE_PATHS, DSIOT_PATHS, DSIOT_SPECIAL_MODE_PATHS, DSIOT_VERTICAL_POSITION_VALUES, } from "./tables.js";
3
4
  const MODE_PATHS = Object.values(DSIOT_MODE_PATHS);
4
- const ADAPTER_PATHS = {
5
- region: "adp_i.reg",
6
- kind: "adp_i.kind",
7
- energyMonitoring: "adp_i.func.en_ipower",
8
- demandControl: "adp_i.func.en_demand",
9
- scheduleTimer: "adp_i.func.en_scdltmr",
10
- };
11
5
  // The `pt` of a special mode's leaf on a unit that takes the mode.
12
6
  const SPECIAL_MODE_OFFERED_TYPE = "2";
13
- const COOLING_ONLY_MODEL_TYPE = "01";
14
7
  const COOLING_ONLY_MODES = [
15
8
  "dehumidify",
16
9
  "cool",
@@ -24,7 +17,7 @@ const FIXED_POSITIONS = FIXED_LOUVER_POSITIONS;
24
17
  * degrees. Without the outdoor tree, `specialModes` lists no `powerful`. It
25
18
  * lists econo in every mode but fan: see UNSUPPORTED.md. */
26
19
  export function parseDsiotCapabilities(values) {
27
- const modes = values[DSIOT_PATHS.modelType] === COOLING_ONLY_MODEL_TYPE
20
+ const modes = values[DSIOT_PATHS.modelType] === DSIOT_COOLING_ONLY_MODEL_TYPE
28
21
  ? [...COOLING_ONLY_MODES]
29
22
  : [...OPERATING_MODES];
30
23
  const offered = (mode, range) => modes.includes(mode) ? range : null;
@@ -42,7 +35,7 @@ export function parseDsiotCapabilities(values) {
42
35
  : [];
43
36
  const vertical = hasLouver(values, "vertical");
44
37
  const horizontal = hasLouver(values, "horizontal");
45
- const energyMonitoring = values[ADAPTER_PATHS.energyMonitoring] === "1" &&
38
+ const energyMonitoring = values[DSIOT_ADAPTER_PATHS.energyMonitoring] === "1" &&
46
39
  values[DSIOT_PATHS.energyMonitoring] === "01";
47
40
  return {
48
41
  modes,
@@ -81,9 +74,9 @@ export function parseDsiotCapabilities(values) {
81
74
  specialOutlet: false,
82
75
  energyMonitoring,
83
76
  demandControl: energyMonitoring &&
84
- values[ADAPTER_PATHS.kind] === "4" &&
85
- values[ADAPTER_PATHS.demandControl] === "1",
86
- scheduleTimer: ["1", "2"].includes(values[ADAPTER_PATHS.scheduleTimer] ?? ""),
77
+ values[DSIOT_ADAPTER_PATHS.kind] === "4" &&
78
+ values[DSIOT_ADAPTER_PATHS.demandControl] === "1",
79
+ scheduleTimer: ["1", "2"].includes(values[DSIOT_ADAPTER_PATHS.scheduleTimer] ?? ""),
87
80
  model: values[DSIOT_PATHS.model],
88
81
  };
89
82
  }
@@ -99,7 +92,7 @@ function takes(mask, value) {
99
92
  }
100
93
  // Japanese units (`jp`) follow other rules: see UNSUPPORTED.md.
101
94
  function fanSpeeds(values) {
102
- const region = values[ADAPTER_PATHS.region];
95
+ const region = values[DSIOT_ADAPTER_PATHS.region];
103
96
  if (!region || region === "jp") {
104
97
  return [];
105
98
  }
@@ -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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"}
@@ -1,5 +1,7 @@
1
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`. */
2
+ /** Reads what the flattened `adp_i` and `adp_d` trees say to identify the
3
+ * adapter. Both `adp_i` leaves hold the value a classic adapter sends in
4
+ * `basic_info`. `adp_d.name` holds the name as plain text, where a classic
5
+ * adapter form-encodes it. */
4
6
  export declare function parseDsiotDeviceInfo(values: Record<string, string>): DaikinDeviceInfo;
5
7
  //# sourceMappingURL=device.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../src/codecs/dsiot/device.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAQ/D;oEACoE;AACpE,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,gBAAgB,CAOlB"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../src/codecs/dsiot/device.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI/D;;;8BAG8B;AAC9B,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,gBAAgB,CAQlB"}
@@ -1,14 +1,14 @@
1
1
  import { decodeFirmwareVersion, decodeMacAddress } from "../device.js";
2
- const ADAPTER_PATHS = {
3
- macAddress: "adp_i.mac",
4
- firmwareVersion: "adp_i.ver",
5
- };
6
- /** Reads what the flattened `adp_i` tree says to identify the adapter. Both
7
- * leaves hold the value a classic adapter sends in `basic_info`. */
2
+ import { DSIOT_ADAPTER_PATHS } from "./tables.js";
3
+ /** Reads what the flattened `adp_i` and `adp_d` trees say to identify the
4
+ * adapter. Both `adp_i` leaves hold the value a classic adapter sends in
5
+ * `basic_info`. `adp_d.name` holds the name as plain text, where a classic
6
+ * adapter form-encodes it. */
8
7
  export function parseDsiotDeviceInfo(values) {
9
8
  return {
10
- macAddress: decodeMacAddress(values[ADAPTER_PATHS.macAddress]),
11
- firmwareVersion: decodeFirmwareVersion(values[ADAPTER_PATHS.firmwareVersion]),
9
+ name: values[DSIOT_ADAPTER_PATHS.name],
10
+ macAddress: decodeMacAddress(values[DSIOT_ADAPTER_PATHS.macAddress]),
11
+ firmwareVersion: decodeFirmwareVersion(values[DSIOT_ADAPTER_PATHS.firmwareVersion]),
12
12
  };
13
13
  }
14
14
  //# sourceMappingURL=device.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../src/codecs/dsiot/device.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEvE,MAAM,aAAa,GAAG;IACpB,UAAU,EAAE,WAAW;IACvB,eAAe,EAAE,WAAW;CACpB,CAAC;AAEX;oEACoE;AACpE,MAAM,UAAU,oBAAoB,CAClC,MAA8B;IAE9B,OAAO;QACL,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC9D,eAAe,EAAE,qBAAqB,CACpC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CACtC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../../src/codecs/dsiot/device.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD;;;8BAG8B;AAC9B,MAAM,UAAU,oBAAoB,CAClC,MAA8B;IAE9B,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC;QACtC,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACpE,eAAe,EAAE,qBAAqB,CACpC,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAC5C;KACF,CAAC;AACJ,CAAC"}
@@ -1,21 +1,3 @@
1
- export declare const DSIOT_OPERATIONS: {
2
- readonly get: 2;
3
- readonly update: 3;
4
- readonly delete: 4;
5
- };
6
- /** The indoor and the outdoor unit are separate edges on the adapter. */
7
- export declare const DSIOT_EDGES: {
8
- readonly indoor: "adr_0100";
9
- readonly outdoor: "adr_0200";
10
- };
11
- /** What a read fetches, as the `to` of a request: whole trees, never single
12
- * leaves. The status trees come with `pt`, which `parseDsiotCapabilities`
13
- * reads. */
14
- export declare const DSIOT_TARGETS: {
15
- readonly adapterInfo: "/dsiot/edge.adp_i?filter=pv";
16
- readonly indoorStatus: "/dsiot/edge/adr_0100.dgc_status?filter=pv,pt,md";
17
- readonly outdoorStatus: "/dsiot/edge/adr_0200.dgc_status?filter=pv,pt,md";
18
- };
19
1
  /** One leaf to write: `path` is dotted from its resource, such as
20
2
  * `dgc_status.e_1002.e_A002.p_01`, and `value` is the leaf's hex string. */
21
3
  export interface DsiotUpdate {
@@ -1 +1 @@
1
- {"version":3,"file":"multireq.d.ts","sourceRoot":"","sources":["../../../src/codecs/dsiot/multireq.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,gBAAgB;aAC3B,GAAG,EAAE,CAAC;aACN,MAAM,EAAE,CAAC;aACT,MAAM,EAAE,CAAC;CACD,CAAC;AAEX,yEAAyE;AACzE,eAAO,MAAM,WAAW;aACtB,MAAM,EAAE,UAAU;aAClB,OAAO,EAAE,UAAU;CACX,CAAC;AAIX;;YAEY;AACZ,eAAO,MAAM,aAAa;aACxB,WAAW;aACX,YAAY;aACZ,aAAa;CACL,CAAC;AAeX;4EAC4E;AAC5E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAIxE;AAED;;8BAE8B;AAC9B,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,WAAW,EAAE,EACtB,IAAI,GAAE,MAA2B,GAChC,MAAM,CAqBR;AAWD;;;;;;;uDAOuD;AACvD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoB5E"}
1
+ {"version":3,"file":"multireq.d.ts","sourceRoot":"","sources":["../../../src/codecs/dsiot/multireq.ts"],"names":[],"mappings":"AAqBA;4EAC4E;AAC5E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAIxE;AAED;;8BAE8B;AAC9B,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,WAAW,EAAE,EACtB,IAAI,GAAE,MAA2B,GAChC,MAAM,CAqBR;AAWD;;;;;;;uDAOuD;AACvD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoB5E"}
@@ -1,27 +1,5 @@
1
1
  import { DaikinError } from "../../error.js";
2
- // The DSIOT (BRP084, `type=GPF`) protocol speaks one endpoint, `/dsiot/multireq`,
3
- // carrying operations on property trees. A request addresses a resource (`to`);
4
- // a tree node has pn (name) / pt (type) / pch (children) / pv (value) / md
5
- // (metadata: mi min, mx max, st step).
6
- export const DSIOT_OPERATIONS = {
7
- get: 2,
8
- update: 3,
9
- delete: 4,
10
- };
11
- /** The indoor and the outdoor unit are separate edges on the adapter. */
12
- export const DSIOT_EDGES = {
13
- indoor: "adr_0100",
14
- outdoor: "adr_0200",
15
- };
16
- const EDGE_ROOT = "/dsiot/edge";
17
- /** What a read fetches, as the `to` of a request: whole trees, never single
18
- * leaves. The status trees come with `pt`, which `parseDsiotCapabilities`
19
- * reads. */
20
- export const DSIOT_TARGETS = {
21
- adapterInfo: `${EDGE_ROOT}.adp_i?filter=pv`,
22
- indoorStatus: `${EDGE_ROOT}/${DSIOT_EDGES.indoor}.dgc_status?filter=pv,pt,md`,
23
- outdoorStatus: `${EDGE_ROOT}/${DSIOT_EDGES.outdoor}.dgc_status?filter=pv,pt,md`,
24
- };
2
+ import { DSIOT_EDGE_ROOT, DSIOT_EDGES, DSIOT_OPERATIONS } from "./tables.js";
25
3
  export function buildDsiotMultireqGet(targets) {
26
4
  return {
27
5
  requests: targets.map((to) => ({ op: DSIOT_OPERATIONS.get, to })),
@@ -47,7 +25,7 @@ export function buildDsiotMultireqUpdate(updates, edge = DSIOT_EDGES.indoor) {
47
25
  return {
48
26
  requests: roots.map((pc) => ({
49
27
  op: DSIOT_OPERATIONS.update,
50
- to: `${EDGE_ROOT}/${edge}.${pc.pn}`,
28
+ to: `${DSIOT_EDGE_ROOT}/${edge}.${pc.pn}`,
51
29
  pc,
52
30
  })),
53
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"multireq.js","sourceRoot":"","sources":["../../../src/codecs/dsiot/multireq.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multireq.js","sourceRoot":"","sources":["../../../src/codecs/dsiot/multireq.ts"],"names":[],"mappings":"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"}
@@ -1,47 +1,9 @@
1
- import { type DaikinControl, type DaikinSensors, type DaikinState, type FanSpeed, type HorizontalPosition, type OperatingMode, type SpecialMode, type VerticalPosition } from "../../models/state.js";
2
- import type { DsiotUpdate } from "./multireq.js";
3
- /** Full dotted paths into the `dgc_status` trees. `e_1002` lives on the indoor
4
- * edge and `e_1003` on the outdoor edge. */
5
- export declare const DSIOT_PATHS: {
6
- readonly power: "dgc_status.e_1002.e_A002.p_01";
7
- /** Sent with every control. */
8
- readonly powerTransition: "dgc_status.e_1002.e_3003.p_2D";
9
- readonly mode: "dgc_status.e_1002.e_3001.p_01";
10
- readonly indoorTemperature: "dgc_status.e_1002.e_A00B.p_01";
11
- readonly indoorHumidity: "dgc_status.e_1002.e_A00B.p_02";
12
- readonly outdoorTemperature: "dgc_status.e_1003.e_A00D.p_01";
13
- readonly model: "dgc_status.e_1002.e_A001.p_0D";
14
- readonly modelType: "dgc_status.e_1002.e_A001.p_07";
15
- readonly energyMonitoring: "dgc_status.e_1002.e_A011.p_01";
16
- };
17
- /** Each leaf holds `01` while its mode is on. Powerful is on the outdoor
18
- * edge. */
19
- export declare const DSIOT_SPECIAL_MODE_PATHS: Record<SpecialMode, string>;
20
- export interface DsiotSetpoint {
21
- path: string;
22
- /** Auto and dehumidify are a signed byte; cool and heat are little-endian. */
23
- signed: boolean;
24
- /** The dehumidify setpoint is read-only. */
25
- writable: boolean;
26
- }
27
- export interface DsiotHumidity {
28
- /** Counted in steps of the leaf's `md.st`. */
29
- value: string;
30
- /** The setting: `00` or `05` off, `01` the percentage in `value`, and one
31
- * value for each `HumiditySetting`. */
32
- flag: string;
33
- }
34
- export interface DsiotModePaths {
35
- /** Absent in fan mode. */
36
- setpoint?: DsiotSetpoint;
37
- /** Absent in fan mode. */
38
- humidity?: DsiotHumidity;
39
- fanSpeed: string;
40
- vertical: string;
41
- horizontal: string;
42
- }
43
- export declare const DSIOT_MODE_NODE = "dgc_status.e_1002.e_3001";
44
- export declare const DSIOT_MODE_PATHS: Record<OperatingMode, DsiotModePaths>;
1
+ import { type DaikinControl, type DaikinSensors, type DaikinState, type FanSpeed, type OperatingMode, type SpecialMode } from "../../models/state.js";
2
+ import { type DsiotUpdate } from "./multireq.js";
3
+ /** Builds the body of the multireq write that turns a special mode on or off:
4
+ * its one leaf, on the outdoor edge for powerful and on the indoor edge for
5
+ * the rest. */
6
+ export declare function buildDsiotSpecialModeUpdate(mode: SpecialMode, enabled: boolean): object;
45
7
  export declare function encodeDsiotBoolean(on: boolean): string;
46
8
  export declare function decodeDsiotBoolean(pv: string | undefined): boolean;
47
9
  export declare function decodeDsiotLittleEndian(pv: string): number;
@@ -57,25 +19,7 @@ export declare function encodeDsiotMode(mode: OperatingMode): string;
57
19
  export declare function decodeDsiotMode(pv: string | undefined): OperatingMode | undefined;
58
20
  export declare function encodeDsiotFanSpeed(speed: FanSpeed): string;
59
21
  export declare function decodeDsiotFanSpeed(pv: string | undefined): FanSpeed | undefined;
60
- /** The values a louver leaf holds besides a fixed position, which is 1-14.
61
- * The leaf is three bytes, little-endian, and bit n of its `md.mx` is set
62
- * when the unit takes value n. */
63
- export declare const DSIOT_LOUVER_VALUES: {
64
- readonly stop: 0;
65
- readonly swing: 15;
66
- readonly auto: 16;
67
- readonly naturalWind: 19;
68
- readonly floorWarming: 25;
69
- };
70
- export declare const DSIOT_LOUVER_STOP = "000000";
71
- export declare const DSIOT_LOUVER_SWING = "0F0000";
72
22
  export declare function isDsiotLouverSwinging(pv: string | undefined): boolean;
73
- /** The value each `VerticalPosition` is held as. A fixed position has none: it
74
- * is held as the value at its rank among the fixed values the unit takes. */
75
- export declare const DSIOT_VERTICAL_POSITION_VALUES: Partial<Record<VerticalPosition, number>>;
76
- /** The value each `HorizontalPosition` is held as. `stop` and a fixed position
77
- * have none: see UNSUPPORTED.md. */
78
- export declare const DSIOT_HORIZONTAL_POSITION_VALUES: Partial<Record<HorizontalPosition, number>>;
79
23
  /** Turns the flattened indoor `dgc_status` tree, read with `md`, into a
80
24
  * `DaikinState`. Every value is per mode: the setpoint, humidity, fan speed and
81
25
  * louvers each have a leaf for each mode, and the state reads the current
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/codecs/dsiot/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/codecs/dsiot/state.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,QAAQ,EAKb,KAAK,aAAa,EAElB,KAAK,WAAW,EAKjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAuB3E;;eAEe;AACf,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,OAAO,GACf,MAAM,CAUR;AAMD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAEtD;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAElE;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAG1D;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,MAAM,EAAE,OAAO,GACd,MAAM,GAAG,IAAI,CAMf;AAED,qDAAqD;AACrD,wBAAgB,4BAA4B,CAC1C,EAAE,EAAE,MAAM,GAAG,SAAS,GACrB,MAAM,GAAG,IAAI,CAEf;AAED,8CAA8C;AAC9C,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,MAAM,GAAG,SAAS,GACrB,MAAM,GAAG,IAAI,CAEf;AAED,gFAAgF;AAChF,wBAAgB,6BAA6B,CAC3C,EAAE,EAAE,MAAM,GAAG,SAAS,GACrB,MAAM,GAAG,IAAI,CAOf;AAqBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAE3D;AAED,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,GAAG,SAAS,GACrB,aAAa,GAAG,SAAS,CAE3B;AASD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAE3D;AAED,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,MAAM,GAAG,SAAS,GACrB,QAAQ,GAAG,SAAS,CAEtB;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAErE;AA0LD;;;;SAIS;AACT,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,WAAW,CAkB3E;AAED;;;;;;;;mEAQmE;AACnE,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,EAAE,aAAa,GACrB,WAAW,EAAE,CA4Ff;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,aAAa,CAYf"}