daikin-local-control 0.4.0 → 0.5.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 (96) hide show
  1. package/DESIGN.md +47 -4
  2. package/README.md +154 -46
  3. package/UNSUPPORTED.md +27 -2
  4. package/dist/clients/airbase.d.ts +64 -0
  5. package/dist/clients/airbase.d.ts.map +1 -0
  6. package/dist/clients/airbase.js +175 -0
  7. package/dist/clients/airbase.js.map +1 -0
  8. package/dist/clients/client.d.ts +3 -2
  9. package/dist/clients/client.d.ts.map +1 -1
  10. package/dist/codecs/airbase/capabilities.d.ts +23 -0
  11. package/dist/codecs/airbase/capabilities.d.ts.map +1 -0
  12. package/dist/codecs/airbase/capabilities.js +108 -0
  13. package/dist/codecs/airbase/capabilities.js.map +1 -0
  14. package/dist/codecs/airbase/state.d.ts +29 -0
  15. package/dist/codecs/airbase/state.d.ts.map +1 -0
  16. package/dist/codecs/airbase/state.js +166 -0
  17. package/dist/codecs/airbase/state.js.map +1 -0
  18. package/dist/codecs/airbase/tables.d.ts +7 -0
  19. package/dist/codecs/airbase/tables.d.ts.map +1 -0
  20. package/dist/codecs/airbase/tables.js +27 -0
  21. package/dist/codecs/airbase/tables.js.map +1 -0
  22. package/dist/codecs/airbase/zone.d.ts +12 -0
  23. package/dist/codecs/airbase/zone.d.ts.map +1 -0
  24. package/dist/codecs/airbase/zone.js +50 -0
  25. package/dist/codecs/airbase/zone.js.map +1 -0
  26. package/dist/codecs/classic/tables.d.ts +2 -0
  27. package/dist/codecs/classic/tables.d.ts.map +1 -1
  28. package/dist/codecs/classic/tables.js +2 -0
  29. package/dist/codecs/classic/tables.js.map +1 -1
  30. package/dist/codecs/device.d.ts +7 -1
  31. package/dist/codecs/device.d.ts.map +1 -1
  32. package/dist/codecs/device.js +14 -2
  33. package/dist/codecs/device.js.map +1 -1
  34. package/dist/codecs/dsiot/tables.d.ts +3 -0
  35. package/dist/codecs/dsiot/tables.d.ts.map +1 -1
  36. package/dist/codecs/dsiot/tables.js +3 -0
  37. package/dist/codecs/dsiot/tables.js.map +1 -1
  38. package/dist/discovery.d.ts +20 -10
  39. package/dist/discovery.d.ts.map +1 -1
  40. package/dist/discovery.js +96 -30
  41. package/dist/discovery.js.map +1 -1
  42. package/dist/factory.d.ts +8 -5
  43. package/dist/factory.d.ts.map +1 -1
  44. package/dist/factory.js +13 -3
  45. package/dist/factory.js.map +1 -1
  46. package/dist/index.d.ts +6 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +6 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/models/device.d.ts +3 -2
  51. package/dist/models/device.d.ts.map +1 -1
  52. package/dist/models/device.js +1 -1
  53. package/dist/models/device.js.map +1 -1
  54. package/dist/models/zone.d.ts +9 -0
  55. package/dist/models/zone.d.ts.map +1 -0
  56. package/dist/models/zone.js +2 -0
  57. package/dist/models/zone.js.map +1 -0
  58. package/dist/simulators/airbase.d.ts +82 -0
  59. package/dist/simulators/airbase.d.ts.map +1 -0
  60. package/dist/simulators/airbase.js +352 -0
  61. package/dist/simulators/airbase.js.map +1 -0
  62. package/dist/simulators/classic.d.ts.map +1 -1
  63. package/dist/simulators/classic.js +2 -2
  64. package/dist/simulators/classic.js.map +1 -1
  65. package/dist/simulators/index.d.ts +1 -0
  66. package/dist/simulators/index.d.ts.map +1 -1
  67. package/dist/simulators/index.js +1 -0
  68. package/dist/simulators/index.js.map +1 -1
  69. package/dist/simulators/simulator.d.ts +11 -10
  70. package/dist/simulators/simulator.d.ts.map +1 -1
  71. package/dist/simulators/simulator.js +2 -2
  72. package/dist/simulators/simulator.js.map +1 -1
  73. package/dist/transport.d.ts +3 -2
  74. package/dist/transport.d.ts.map +1 -1
  75. package/dist/transport.js +4 -1
  76. package/dist/transport.js.map +1 -1
  77. package/package.json +7 -3
  78. package/src/clients/airbase.ts +274 -0
  79. package/src/clients/client.ts +3 -2
  80. package/src/codecs/airbase/capabilities.ts +150 -0
  81. package/src/codecs/airbase/state.ts +223 -0
  82. package/src/codecs/airbase/tables.ts +32 -0
  83. package/src/codecs/airbase/zone.ts +62 -0
  84. package/src/codecs/classic/tables.ts +3 -0
  85. package/src/codecs/device.ts +18 -2
  86. package/src/codecs/dsiot/tables.ts +4 -0
  87. package/src/discovery.ts +101 -32
  88. package/src/factory.ts +21 -5
  89. package/src/index.ts +6 -0
  90. package/src/models/device.ts +3 -2
  91. package/src/models/zone.ts +8 -0
  92. package/src/simulators/airbase.ts +495 -0
  93. package/src/simulators/classic.ts +2 -1
  94. package/src/simulators/index.ts +1 -0
  95. package/src/simulators/simulator.ts +13 -12
  96. package/src/transport.ts +7 -3
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/models/device.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,OAAO,CAAU,CAAC"}
1
+ {"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/models/device.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAU,CAAC"}
@@ -0,0 +1,9 @@
1
+ /** One zone of a ducted unit on an Airbase adapter: a damper that opens or
2
+ * closes the air to part of the building. */
3
+ export interface DaikinZone {
4
+ /** The name the zone was given, without the spaces around it. */
5
+ name: string;
6
+ /** Whether the zone is open. */
7
+ enabled: boolean;
8
+ }
9
+ //# sourceMappingURL=zone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zone.d.ts","sourceRoot":"","sources":["../../src/models/zone.ts"],"names":[],"mappings":"AAAA;6CAC6C;AAC7C,MAAM,WAAW,UAAU;IACzB,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=zone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zone.js","sourceRoot":"","sources":["../../src/models/zone.ts"],"names":[],"mappings":""}
@@ -0,0 +1,82 @@
1
+ import { type DaikinSimulator, type DaikinSimulatorTemperatures, type StartSimulatorOptions } from "./simulator.js";
2
+ /** What a simulated Airbase unit has. Anything else about it is set in the
3
+ * adapter's own terms, in `modelInfo`. */
4
+ export interface AirbaseSimulatorUnit {
5
+ /** The names of the unit's zones, each open at the start. Defaults to none:
6
+ * a unit without zones. A unit with zones takes fan auto, and neither the
7
+ * `auto` fan speed nor a direction. */
8
+ zones?: readonly string[];
9
+ /** Whether the unit offers auto. Defaults to true. */
10
+ auto?: boolean;
11
+ /** Whether the unit offers dehumidify. Defaults to true. */
12
+ dehumidify?: boolean;
13
+ /** Whether the fan speed can be set. Defaults to true. */
14
+ fan?: boolean;
15
+ /** How many fan levels the unit takes: `level1` and `level5` for 2, and
16
+ * `level3` as well for 3. Defaults to 3. */
17
+ fanLevels?: 2 | 3;
18
+ /** Whether a unit with zones takes airside. Defaults to false. */
19
+ airside?: boolean;
20
+ /** Whether a unit without zones takes a direction. Defaults to true. */
21
+ swing?: boolean;
22
+ /** The setpoints cool takes, in whole degrees. Defaults to none
23
+ * reported. */
24
+ coolTemperaturesInC?: DaikinSimulatorTemperatures;
25
+ /** The setpoints heat takes, in whole degrees. Defaults to none
26
+ * reported. */
27
+ heatTemperaturesInC?: DaikinSimulatorTemperatures;
28
+ }
29
+ export interface StartAirbaseSimulatorOptions extends StartSimulatorOptions {
30
+ /** What the unit has. Defaults to a unit without zones that offers every
31
+ * mode, three fan levels and the `auto` fan speed, and takes a direction.
32
+ * A field of `modelInfo` replaces what this sets. */
33
+ unit?: AirbaseSimulatorUnit;
34
+ /** Fields added to the `/skyfi/common/basic_info` reply, each replacing a
35
+ * default of the same name. Defaults to none. */
36
+ basicInfo?: Record<string, string>;
37
+ /** Fields added to the `/skyfi/aircon/get_model_info` reply, each replacing
38
+ * a default of the same name. Defaults to none. */
39
+ modelInfo?: Record<string, string>;
40
+ /** Fields added to the `/skyfi/aircon/get_control_info` reply, each
41
+ * replacing a default of the same name. Defaults to none. */
42
+ controlInfo?: Record<string, string>;
43
+ /** Fields added to the `/skyfi/aircon/get_sensor_info` reply, each replacing
44
+ * a default of the same name. Defaults to none. */
45
+ sensorInfo?: Record<string, string>;
46
+ /** Fields added to the `/skyfi/aircon/get_zone_setting` reply, each
47
+ * replacing what `unit.zones` sets. Defaults to none. */
48
+ zoneSetting?: Record<string, string>;
49
+ }
50
+ /** An Airbase adapter and the unit behind it. Each field map is what its
51
+ * endpoint answers, in the adapter's own names and encodings, without the
52
+ * `ret`. A write through the adapter changes them, and so do `setState`,
53
+ * `setSensors` and `setZone`. Change a field directly for what those do not
54
+ * cover, such as `controlInfo.f_auto` for fan auto. */
55
+ export interface AirbaseDaikinSimulator extends DaikinSimulator {
56
+ /** What `/skyfi/common/basic_info` answers. `name` is held percent-encoded,
57
+ * as the reply carries it. */
58
+ readonly basicInfo: Record<string, string>;
59
+ /** What `/skyfi/aircon/get_model_info` answers. */
60
+ readonly modelInfo: Record<string, string>;
61
+ /** What `/skyfi/aircon/get_control_info` answers. */
62
+ readonly controlInfo: Record<string, string>;
63
+ /** What `/skyfi/aircon/get_sensor_info` answers. */
64
+ readonly sensorInfo: Record<string, string>;
65
+ /** What `/skyfi/aircon/get_zone_setting` answers, each list held
66
+ * percent-encoded, as the reply carries it. Empty on a unit without
67
+ * zones. */
68
+ readonly zoneSetting: Record<string, string>;
69
+ /** Opens or closes the zone at `index`, counted from 0, as the unit's wall
70
+ * controller would. It throws an `Error` for an index the unit has no zone
71
+ * at. */
72
+ setZone(index: number, enabled: boolean): void;
73
+ }
74
+ /** Starts an Airbase adapter on a free port, as a unit without zones that is
75
+ * off, in cool at 24 °C. It answers the endpoints `AirbaseDaikinClient` has a
76
+ * typed method for, below `/skyfi`, and takes no terminal uuid and no local
77
+ * password. It answers HTTP 404 to a path outside `/skyfi`, as an Airbase
78
+ * adapter does, and HTTP 501 to any other request it has no answer for:
79
+ * UNSUPPORTED.md lists what it leaves out and where its answer is not known
80
+ * to be an adapter's. Call `stop` when done with it. */
81
+ export declare function startAirbaseSimulator(options?: StartAirbaseSimulatorOptions): Promise<AirbaseDaikinSimulator>;
82
+ //# sourceMappingURL=airbase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"airbase.d.ts","sourceRoot":"","sources":["../../src/simulators/airbase.ts"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,2BAA2B,EAGhC,KAAK,qBAAqB,EAG3B,MAAM,gBAAgB,CAAC;AA4FxB;0CAC0C;AAC1C,MAAM,WAAW,oBAAoB;IACnC;;2CAEuC;IACvC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,sDAAsD;IACtD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,4DAA4D;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0DAA0D;IAC1D,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;gDAC4C;IAC5C,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;mBACe;IACf,mBAAmB,CAAC,EAAE,2BAA2B,CAAC;IAClD;mBACe;IACf,mBAAmB,CAAC,EAAE,2BAA2B,CAAC;CACnD;AAED,MAAM,WAAW,4BAA6B,SAAQ,qBAAqB;IACzE;;yDAEqD;IACrD,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B;qDACiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;uDACmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;iEAC6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC;uDACmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC;6DACyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED;;;;uDAIuD;AACvD,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D;kCAC8B;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,qDAAqD;IACrD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,oDAAoD;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C;;gBAEY;IACZ,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C;;aAES;IACT,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAChD;AAED;;;;;;wDAMwD;AACxD,wBAAsB,qBAAqB,CACzC,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,sBAAsB,CAAC,CA8GjC"}
@@ -0,0 +1,352 @@
1
+ import { AIRBASE_FAN_SPEED_CODES, AIRBASE_NO_SETPOINT, AIRBASE_OPERATING_MODE_CODES, AIRBASE_SWING_MODE_CODES, } from "../codecs/airbase/tables.js";
2
+ import { CLASSIC_ADAPTER_TYPE } from "../codecs/classic/tables.js";
3
+ import { formatKeyValue, startSimulator, unanswered, } from "./simulator.js";
4
+ // An Airbase adapter (BRP15B61) as an HTTP server. It reads the adapter's
5
+ // codes from the codec's tables and shares none of its functions: see
6
+ // DESIGN.md#simulators.
7
+ // Every endpoint is below this path, and any other path is answered HTTP 404.
8
+ const ROOT = "/skyfi";
9
+ // An Airbase adapter replies to the discovery probe as a classic adapter of
10
+ // an air conditioner does.
11
+ const DEFAULT_BASIC_INFO = {
12
+ type: CLASSIC_ADAPTER_TYPE,
13
+ reg: "au",
14
+ ver: "1_1_8",
15
+ name: "Simulator",
16
+ mac: "02DA1C000002",
17
+ lpw_flag: "0",
18
+ };
19
+ const DEFAULT_MODEL_INFO = {
20
+ model: "NOTSUPPORT",
21
+ en_auto: "1",
22
+ en_dry: "1",
23
+ en_frate: "1",
24
+ en_frate_auto: "1",
25
+ frate_steps: "3",
26
+ en_fdir: "1",
27
+ };
28
+ const { cool: COOL, heat: HEAT } = AIRBASE_OPERATING_MODE_CODES;
29
+ const DEFAULT_CONTROL_INFO = {
30
+ pow: "0",
31
+ mode: COOL,
32
+ bk_auto: COOL,
33
+ stemp: "24.0",
34
+ f_rate: AIRBASE_FAN_SPEED_CODES.auto,
35
+ f_auto: "0",
36
+ f_airside: "0",
37
+ f_dir: AIRBASE_SWING_MODE_CODES.off,
38
+ dt1: "25.0",
39
+ dt2: "24.0",
40
+ dfr1: AIRBASE_FAN_SPEED_CODES.auto,
41
+ dfr2: AIRBASE_FAN_SPEED_CODES.auto,
42
+ dfd1: AIRBASE_SWING_MODE_CODES.off,
43
+ dfd2: AIRBASE_SWING_MODE_CODES.off,
44
+ auto1: "0",
45
+ auto2: "0",
46
+ airside1: "0",
47
+ airside2: "0",
48
+ };
49
+ const DEFAULT_SENSOR_INFO = {
50
+ htemp: "26.0",
51
+ otemp: "30.0",
52
+ };
53
+ // A `set_control_info` without one of these is answered `PARAM NG`.
54
+ const REQUIRED_CONTROL_PARAMETERS = [
55
+ "pow",
56
+ "mode",
57
+ "stemp",
58
+ "shum",
59
+ "f_rate",
60
+ "f_auto",
61
+ "f_airside",
62
+ "f_dir",
63
+ ];
64
+ // The parameters `set_control_info` stores: the control fields, and what the
65
+ // unit remembers for cool and for heat, such as `dt2` and `auto1`.
66
+ const CONTROL_PARAMETER_PATTERN = /^(pow|mode|bk_auto|stemp|shum|f_rate|f_auto|f_airside|f_dir|(dt|dfr|dfd|auto|airside)\w)$/;
67
+ // The control field each memory prefix remembers: `dfr2` holds the `f_rate`
68
+ // of cool.
69
+ const MEMORY_FIELDS = {
70
+ dt: "stemp",
71
+ dfr: "f_rate",
72
+ dfd: "f_dir",
73
+ auto: "f_auto",
74
+ airside: "f_airside",
75
+ };
76
+ // The lists of `get_zone_setting` are joined by this, percent-encoded.
77
+ const ZONE_SEPARATOR = ";";
78
+ const ZONE_PARAMETERS = ["zone_name", "zone_onoff"];
79
+ // A unit that sets a temperature for each zone holds these as well.
80
+ const ZONE_TEMPERATURE_PARAMETERS = ["lztemp_c", "lztemp_h"];
81
+ // A sensor field the unit has no reading for.
82
+ const NO_READING = "-";
83
+ /** Starts an Airbase adapter on a free port, as a unit without zones that is
84
+ * off, in cool at 24 °C. It answers the endpoints `AirbaseDaikinClient` has a
85
+ * typed method for, below `/skyfi`, and takes no terminal uuid and no local
86
+ * password. It answers HTTP 404 to a path outside `/skyfi`, as an Airbase
87
+ * adapter does, and HTTP 501 to any other request it has no answer for:
88
+ * UNSUPPORTED.md lists what it leaves out and where its answer is not known
89
+ * to be an adapter's. Call `stop` when done with it. */
90
+ export async function startAirbaseSimulator(options = {}) {
91
+ const unit = options.unit ?? {};
92
+ const basicInfo = { ...DEFAULT_BASIC_INFO, ...options.basicInfo };
93
+ const modelInfo = {
94
+ ...DEFAULT_MODEL_INFO,
95
+ ...encodeUnit(unit),
96
+ ...options.modelInfo,
97
+ };
98
+ const controlInfo = { ...DEFAULT_CONTROL_INFO, ...options.controlInfo };
99
+ const sensorInfo = { ...DEFAULT_SENSOR_INFO, ...options.sensorInfo };
100
+ const zoneSetting = {
101
+ ...encodeZones(unit.zones ?? []),
102
+ ...options.zoneSetting,
103
+ };
104
+ const setState = (state) => applyState(controlInfo, state);
105
+ const setSensors = (sensors) => Object.assign(sensorInfo, encodeSensors(sensors));
106
+ const setZone = (index, enabled) => {
107
+ const flags = decodeList(zoneSetting.zone_onoff);
108
+ if (!Number.isInteger(index) || index < 0 || index >= flags.length) {
109
+ throw new Error(`The simulated unit has no zone ${index}`);
110
+ }
111
+ flags[index] = flag(enabled);
112
+ zoneSetting.zone_onoff = encodeList(flags);
113
+ };
114
+ // Before the server starts, so a state that throws leaves nothing
115
+ // listening.
116
+ Object.assign(basicInfo, encodeDeviceInfo(options.deviceInfo ?? {}));
117
+ setState(options.state ?? {});
118
+ setSensors(options.sensors ?? {});
119
+ const hasZones = () => "zone_name" in zoneSetting;
120
+ const reads = {
121
+ "/common/basic_info": () => basicInfo,
122
+ "/aircon/get_model_info": () => modelInfo,
123
+ "/aircon/get_control_info": () => controlInfo,
124
+ "/aircon/get_sensor_info": () => sensorInfo,
125
+ // What a unit without zones answers is not known.
126
+ "/aircon/get_zone_setting": () => (hasZones() ? zoneSetting : undefined),
127
+ };
128
+ // Each write returns false for a request that lacks a parameter, and
129
+ // `undefined` for one the simulator has no answer for.
130
+ const writes = {
131
+ "/aircon/set_control_info": (query) => {
132
+ if (!hasEvery(query, REQUIRED_CONTROL_PARAMETERS)) {
133
+ return false;
134
+ }
135
+ for (const [name, value] of Object.entries(query)) {
136
+ if (CONTROL_PARAMETER_PATTERN.test(name) && name in controlInfo) {
137
+ controlInfo[name] = value;
138
+ }
139
+ }
140
+ remember(controlInfo);
141
+ return true;
142
+ },
143
+ "/aircon/set_zone_setting": (query) => {
144
+ if (!hasZones()) {
145
+ return undefined;
146
+ }
147
+ if (!hasEvery(query, ZONE_PARAMETERS)) {
148
+ return false;
149
+ }
150
+ for (const name of [...ZONE_PARAMETERS, ...ZONE_TEMPERATURE_PARAMETERS]) {
151
+ const value = query[name];
152
+ if (value !== undefined && name in zoneSetting) {
153
+ zoneSetting[name] = encodeURIComponent(value);
154
+ }
155
+ }
156
+ return true;
157
+ },
158
+ };
159
+ const answer = (request) => {
160
+ if (!request.path.startsWith(`${ROOT}/`)) {
161
+ return NOT_FOUND;
162
+ }
163
+ if (request.method !== "GET") {
164
+ return unanswered(request);
165
+ }
166
+ const path = request.path.slice(ROOT.length);
167
+ const fields = reads[path]?.();
168
+ if (fields !== undefined) {
169
+ return reply("OK", fields);
170
+ }
171
+ const written = writes[path]?.(request.query);
172
+ return written === undefined
173
+ ? unanswered(request)
174
+ : reply(written ? "OK" : "PARAM NG");
175
+ };
176
+ // The discovery reply carries the fields of `basic_info`.
177
+ const server = await startSimulator(options, answer, () => basicInfo);
178
+ return {
179
+ ...server,
180
+ basicInfo,
181
+ modelInfo,
182
+ controlInfo,
183
+ sensorInfo,
184
+ zoneSetting,
185
+ setState,
186
+ setSensors,
187
+ setZone,
188
+ };
189
+ }
190
+ // The `get_model_info` fields that say what `unit` has. A field `unit` leaves
191
+ // out is left to the defaults.
192
+ function encodeUnit(unit) {
193
+ const fields = {};
194
+ if (unit.zones !== undefined && unit.zones.length > 0) {
195
+ fields.en_zone = String(unit.zones.length);
196
+ }
197
+ if (unit.auto !== undefined) {
198
+ fields.en_auto = flag(unit.auto);
199
+ }
200
+ if (unit.dehumidify !== undefined) {
201
+ fields.en_dry = flag(unit.dehumidify);
202
+ }
203
+ if (unit.fan !== undefined) {
204
+ fields.en_frate = flag(unit.fan);
205
+ }
206
+ if (unit.fanLevels !== undefined) {
207
+ fields.frate_steps = String(unit.fanLevels);
208
+ }
209
+ if (unit.airside !== undefined) {
210
+ fields.en_airside = flag(unit.airside);
211
+ }
212
+ if (unit.swing !== undefined) {
213
+ fields.en_fdir = flag(unit.swing);
214
+ }
215
+ if (unit.coolTemperaturesInC !== undefined) {
216
+ fields.cool_l = unit.coolTemperaturesInC.min.toFixed(0);
217
+ fields.cool_h = unit.coolTemperaturesInC.max.toFixed(0);
218
+ }
219
+ if (unit.heatTemperaturesInC !== undefined) {
220
+ fields.heat_l = unit.heatTemperaturesInC.min.toFixed(0);
221
+ fields.heat_h = unit.heatTemperaturesInC.max.toFixed(0);
222
+ }
223
+ return fields;
224
+ }
225
+ // The `get_zone_setting` fields of a unit with these zones, each open. A unit
226
+ // without zones has none.
227
+ function encodeZones(names) {
228
+ return names.length === 0
229
+ ? {}
230
+ : {
231
+ zone_name: encodeList(names),
232
+ zone_onoff: encodeList(names.map(() => flag(true))),
233
+ };
234
+ }
235
+ function encodeList(values) {
236
+ return encodeURIComponent(values.join(ZONE_SEPARATOR));
237
+ }
238
+ function decodeList(value) {
239
+ return value === undefined
240
+ ? []
241
+ : decodeURIComponent(value).split(ZONE_SEPARATOR);
242
+ }
243
+ // The `basic_info` fields: the name percent-encoded, the MAC address without
244
+ // its colons, and the version with underscores for its dots.
245
+ function encodeDeviceInfo(info) {
246
+ return {
247
+ ...(info.name === undefined ? {} : { name: encodeURIComponent(info.name) }),
248
+ ...(info.macAddress === undefined
249
+ ? {}
250
+ : { mac: info.macAddress.replaceAll(":", "") }),
251
+ ...(info.firmwareVersion === undefined
252
+ ? {}
253
+ : { ver: info.firmwareVersion.replaceAll(".", "_") }),
254
+ };
255
+ }
256
+ function encodeSensors(sensors) {
257
+ const fields = {};
258
+ const { indoorTemperatureInC, outdoorTemperatureInC, indoorHumidityInPercent, } = sensors;
259
+ if (indoorTemperatureInC !== undefined) {
260
+ fields.htemp = indoorTemperatureInC?.toFixed(1) ?? NO_READING;
261
+ }
262
+ if (outdoorTemperatureInC !== undefined) {
263
+ fields.otemp = outdoorTemperatureInC?.toFixed(1) ?? NO_READING;
264
+ }
265
+ if (indoorHumidityInPercent !== undefined) {
266
+ fields.hhum = indoorHumidityInPercent?.toFixed(0) ?? NO_READING;
267
+ }
268
+ return fields;
269
+ }
270
+ // Changes `controlInfo` as the unit's wall controller would: see
271
+ // `DaikinSimulator.setState`.
272
+ function applyState(controlInfo, state) {
273
+ for (const field of [
274
+ "targetHumidity",
275
+ "verticalPosition",
276
+ "horizontalPosition",
277
+ ]) {
278
+ if (state[field] != null) {
279
+ throw new Error(`The simulated unit has no ${field} to set`);
280
+ }
281
+ }
282
+ if (state.specialModes != null && state.specialModes.length > 0) {
283
+ throw new Error("The simulated unit has no specialModes to set");
284
+ }
285
+ if (state.power != null) {
286
+ controlInfo.pow = flag(state.power);
287
+ }
288
+ if (state.mode != null &&
289
+ AIRBASE_OPERATING_MODE_CODES[state.mode] !== controlInfo.mode) {
290
+ controlInfo.mode = AIRBASE_OPERATING_MODE_CODES[state.mode];
291
+ recall(controlInfo);
292
+ }
293
+ if (state.targetTemperatureInC != null) {
294
+ controlInfo.stemp = state.targetTemperatureInC.toFixed(1);
295
+ }
296
+ if (state.fanSpeed != null) {
297
+ controlInfo.f_rate = AIRBASE_FAN_SPEED_CODES[state.fanSpeed];
298
+ }
299
+ if (state.swingMode != null) {
300
+ controlInfo.f_dir = AIRBASE_SWING_MODE_CODES[state.swingMode];
301
+ }
302
+ remember(controlInfo);
303
+ }
304
+ // The unit remembers a setpoint, a fan and a direction for cool and for heat
305
+ // alone, and every other mode runs on the one `bk_auto` names. A unit set to
306
+ // cool or to heat names that mode there.
307
+ function memoryOf(controlInfo) {
308
+ if (controlInfo.mode === COOL || controlInfo.mode === HEAT) {
309
+ controlInfo.bk_auto = controlInfo.mode;
310
+ }
311
+ return controlInfo.bk_auto === HEAT ? HEAT : COOL;
312
+ }
313
+ // Takes up what the unit remembers for the mode it is now in. Dehumidify has
314
+ // no setpoint.
315
+ function recall(controlInfo) {
316
+ const memory = memoryOf(controlInfo);
317
+ for (const [prefix, field] of Object.entries(MEMORY_FIELDS)) {
318
+ const remembered = controlInfo[`${prefix}${memory}`];
319
+ if (remembered !== undefined) {
320
+ controlInfo[field] = remembered;
321
+ }
322
+ }
323
+ if (controlInfo.mode === AIRBASE_OPERATING_MODE_CODES.dehumidify) {
324
+ controlInfo.stemp = AIRBASE_NO_SETPOINT;
325
+ }
326
+ }
327
+ // Keeps what the unit remembers for the mode it runs on equal to what it
328
+ // holds. A setpoint is remembered in cool and in heat alone.
329
+ function remember(controlInfo) {
330
+ const memory = memoryOf(controlInfo);
331
+ for (const [prefix, field] of Object.entries(MEMORY_FIELDS)) {
332
+ const value = controlInfo[field];
333
+ const isSetpoint = prefix === "dt";
334
+ if (`${prefix}${memory}` in controlInfo &&
335
+ value !== undefined &&
336
+ (!isSetpoint || controlInfo.mode === memory)) {
337
+ controlInfo[`${prefix}${memory}`] = value;
338
+ }
339
+ }
340
+ }
341
+ const NOT_FOUND = { statusCode: 404, body: "" };
342
+ // An Airbase adapter answers HTTP 200 whatever the `ret`.
343
+ function reply(ret, fields) {
344
+ return { statusCode: 200, body: formatKeyValue(ret, fields) };
345
+ }
346
+ function flag(on) {
347
+ return on ? "1" : "0";
348
+ }
349
+ function hasEvery(query, names) {
350
+ return names.every((name) => name in query);
351
+ }
352
+ //# sourceMappingURL=airbase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"airbase.js","sourceRoot":"","sources":["../../src/simulators/airbase.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,OAAO,EAIL,cAAc,EAGd,cAAc,EACd,UAAU,GACX,MAAM,gBAAgB,CAAC;AAExB,0EAA0E;AAC1E,sEAAsE;AACtE,wBAAwB;AAExB,8EAA8E;AAC9E,MAAM,IAAI,GAAG,QAAQ,CAAC;AAEtB,4EAA4E;AAC5E,2BAA2B;AAC3B,MAAM,kBAAkB,GAA2B;IACjD,IAAI,EAAE,oBAAoB;IAC1B,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,OAAO;IACZ,IAAI,EAAE,WAAW;IACjB,GAAG,EAAE,cAAc;IACnB,QAAQ,EAAE,GAAG;CACd,CAAC;AAEF,MAAM,kBAAkB,GAA2B;IACjD,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,GAAG;IACZ,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,GAAG;IACb,aAAa,EAAE,GAAG;IAClB,WAAW,EAAE,GAAG;IAChB,OAAO,EAAE,GAAG;CACb,CAAC;AAEF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,4BAA4B,CAAC;AAEhE,MAAM,oBAAoB,GAA2B;IACnD,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,uBAAuB,CAAC,IAAI;IACpC,MAAM,EAAE,GAAG;IACX,SAAS,EAAE,GAAG;IACd,KAAK,EAAE,wBAAwB,CAAC,GAAG;IACnC,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,uBAAuB,CAAC,IAAI;IAClC,IAAI,EAAE,uBAAuB,CAAC,IAAI;IAClC,IAAI,EAAE,wBAAwB,CAAC,GAAG;IAClC,IAAI,EAAE,wBAAwB,CAAC,GAAG;IAClC,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;CACd,CAAC;AAEF,MAAM,mBAAmB,GAA2B;IAClD,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,MAAM;CACd,CAAC;AAEF,oEAAoE;AACpE,MAAM,2BAA2B,GAAG;IAClC,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,OAAO;CACR,CAAC;AACF,6EAA6E;AAC7E,mEAAmE;AACnE,MAAM,yBAAyB,GAC7B,2FAA2F,CAAC;AAC9F,4EAA4E;AAC5E,WAAW;AACX,MAAM,aAAa,GAAG;IACpB,EAAE,EAAE,OAAO;IACX,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,OAAO;IACZ,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,WAAW;CACZ,CAAC;AAEX,uEAAuE;AACvE,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AACpD,oEAAoE;AACpE,MAAM,2BAA2B,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAE7D,8CAA8C;AAC9C,MAAM,UAAU,GAAG,GAAG,CAAC;AA6EvB;;;;;;wDAMwD;AACxD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAO,GAAiC,EAAE;IAE1C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,EAAE,GAAG,kBAAkB,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAClE,MAAM,SAAS,GAAG;QAChB,GAAG,kBAAkB;QACrB,GAAG,UAAU,CAAC,IAAI,CAAC;QACnB,GAAG,OAAO,CAAC,SAAS;KACrB,CAAC;IACF,MAAM,WAAW,GAAG,EAAE,GAAG,oBAAoB,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACxE,MAAM,UAAU,GAAG,EAAE,GAAG,mBAAmB,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IACrE,MAAM,WAAW,GAAG;QAClB,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAChC,GAAG,OAAO,CAAC,WAAW;KACvB,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,KAA2B,EAAE,EAAE,CAC/C,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,CAAC,OAA+B,EAAE,EAAE,CACrD,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,OAAgB,EAAE,EAAE;QAClD,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC;IACF,kEAAkE;IAClE,aAAa;IACb,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;IACrE,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC9B,UAAU,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,WAAW,IAAI,WAAW,CAAC;IAClD,MAAM,KAAK,GAA6D;QACtE,oBAAoB,EAAE,GAAG,EAAE,CAAC,SAAS;QACrC,wBAAwB,EAAE,GAAG,EAAE,CAAC,SAAS;QACzC,0BAA0B,EAAE,GAAG,EAAE,CAAC,WAAW;QAC7C,yBAAyB,EAAE,GAAG,EAAE,CAAC,UAAU;QAC3C,kDAAkD;QAClD,0BAA0B,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;KACzE,CAAC;IAEF,qEAAqE;IACrE,uDAAuD;IACvD,MAAM,MAAM,GAGR;QACF,0BAA0B,EAAE,CAAC,KAAK,EAAE,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,2BAA2B,CAAC,EAAE,CAAC;gBAClD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,WAAW,EAAE,CAAC;oBAChE,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,QAAQ,CAAC,WAAW,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,0BAA0B,EAAE,CAAC,KAAK,EAAE,EAAE;YACpC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAChB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE,CAAC;gBACtC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,eAAe,EAAE,GAAG,2BAA2B,CAAC,EAAE,CAAC;gBACxE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,IAAI,WAAW,EAAE,CAAC;oBAC/C,WAAW,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,OAA+B,EAAkB,EAAE;QACjE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QAC/B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,OAAO,KAAK,SAAS;YAC1B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;YACrB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,0DAA0D;IAC1D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAEtE,OAAO;QACL,GAAG,MAAM;QACT,SAAS;QACT,SAAS;QACT,WAAW;QACX,UAAU;QACV,WAAW;QACX,QAAQ;QACR,UAAU;QACV,OAAO;KACR,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,SAAS,UAAU,CAAC,IAA0B;IAC5C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,SAAS,WAAW,CAAC,KAAwB;IAC3C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;QACvB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC;YAC5B,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACpD,CAAC;AACR,CAAC;AAED,SAAS,UAAU,CAAC,MAAyB;IAC3C,OAAO,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,UAAU,CAAC,KAAyB;IAC3C,OAAO,KAAK,KAAK,SAAS;QACxB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AACtD,CAAC;AAED,6EAA6E;AAC7E,6DAA6D;AAC7D,SAAS,gBAAgB,CAAC,IAAsB;IAC9C,OAAO;QACL,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3E,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS;YAC/B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,OAA+B;IAE/B,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,MAAM,EACJ,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,GACxB,GAAG,OAAO,CAAC;IACZ,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,CAAC,KAAK,GAAG,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC;IAChE,CAAC;IACD,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,GAAG,qBAAqB,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC;IACjE,CAAC;IACD,IAAI,uBAAuB,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,GAAG,uBAAuB,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC;IAClE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,iEAAiE;AACjE,8BAA8B;AAC9B,SAAS,UAAU,CACjB,WAAmC,EACnC,KAA2B;IAE3B,KAAK,MAAM,KAAK,IAAI;QAClB,gBAAgB;QAChB,kBAAkB;QAClB,oBAAoB;KACZ,EAAE,CAAC;QACX,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,SAAS,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QACxB,WAAW,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,IACE,KAAK,CAAC,IAAI,IAAI,IAAI;QAClB,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,IAAI,EAC7D,CAAC;QACD,WAAW,CAAC,IAAI,GAAG,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,CAAC,WAAW,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,KAAK,CAAC,oBAAoB,IAAI,IAAI,EAAE,CAAC;QACvC,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC3B,WAAW,CAAC,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QAC5B,WAAW,CAAC,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IACD,QAAQ,CAAC,WAAW,CAAC,CAAC;AACxB,CAAC;AAED,6EAA6E;AAC7E,6EAA6E;AAC7E,yCAAyC;AACzC,SAAS,QAAQ,CAAC,WAAmC;IACnD,IAAI,WAAW,CAAC,IAAI,KAAK,IAAI,IAAI,WAAW,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC3D,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC;IACzC,CAAC;IACD,OAAO,WAAW,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,6EAA6E;AAC7E,eAAe;AACf,SAAS,MAAM,CAAC,WAAmC;IACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IACrC,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5D,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;QACrD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,WAAW,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;QAClC,CAAC;IACH,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,KAAK,4BAA4B,CAAC,UAAU,EAAE,CAAC;QACjE,WAAW,CAAC,KAAK,GAAG,mBAAmB,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,6DAA6D;AAC7D,SAAS,QAAQ,CAAC,WAAmC;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IACrC,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,MAAM,KAAK,IAAI,CAAC;QACnC,IACE,GAAG,MAAM,GAAG,MAAM,EAAE,IAAI,WAAW;YACnC,KAAK,KAAK,SAAS;YACnB,CAAC,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,EAC5C,CAAC;YACD,WAAW,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC;QAC5C,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,SAAS,GAAmB,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAEhE,0DAA0D;AAC1D,SAAS,KAAK,CAAC,GAAW,EAAE,MAA+B;IACzD,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;AAChE,CAAC;AAED,SAAS,IAAI,CAAC,EAAW;IACvB,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,KAA6B,EAAE,KAAe;IAC9D,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;AAC9C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"classic.d.ts","sourceRoot":"","sources":["../../src/simulators/classic.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,mBAAmB,EAGxB,KAAK,qBAAqB,EAG3B,MAAM,gBAAgB,CAAC;AAoHxB,yCAAyC;AACzC,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D;oEACgE;IAChE,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,4BAA6B,SAAQ,qBAAqB;IACzE;;kCAE8B;IAC9B,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B;6CACyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;qDACiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;qDACiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC;qDACiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC;;;2CAGuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;6CAEyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;4EAG4E;AAC5E,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D;qDACiD;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,8CAA8C;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,gDAAgD;IAChD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C;mDAC+C;IAC/C,QAAQ,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC/C;AAED;;;;wDAIwD;AACxD,wBAAsB,qBAAqB,CACzC,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,sBAAsB,CAAC,CA+LjC"}
1
+ {"version":3,"file":"classic.d.ts","sourceRoot":"","sources":["../../src/simulators/classic.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,mBAAmB,EAGxB,KAAK,qBAAqB,EAG3B,MAAM,gBAAgB,CAAC;AAoHxB,yCAAyC;AACzC,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D;oEACgE;IAChE,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,4BAA6B,SAAQ,qBAAqB;IACzE;;kCAE8B;IAC9B,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B;6CACyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;qDACiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;qDACiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC;qDACiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC;;;2CAGuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;6CAEyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;4EAG4E;AAC5E,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D;qDACiD;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,8CAA8C;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,gDAAgD;IAChD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C;mDAC+C;IAC/C,QAAQ,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC/C;AAED;;;;wDAIwD;AACxD,wBAAsB,qBAAqB,CACzC,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,sBAAsB,CAAC,CA+LjC"}
@@ -1,10 +1,10 @@
1
- import { CLASSIC_COOLING_ONLY_TYPE, CLASSIC_FAN_SPEED_CODES, CLASSIC_HORIZONTAL_POSITION_CODES, CLASSIC_HUMIDITY_SETTING_CODES, CLASSIC_LOUVER_STOP, CLASSIC_LOUVER_SWING, CLASSIC_NO_SETPOINT, CLASSIC_OPERATING_MODE_CODES, CLASSIC_REMOTE_METHODS, CLASSIC_SPECIAL_MODE_ADV_CODES, CLASSIC_SPECIAL_MODE_BITS, CLASSIC_SPECIAL_MODE_KIND_CODES, CLASSIC_SWING_MODE_CODES, CLASSIC_TERMINAL_SCOPE_CODES, CLASSIC_VERTICAL_POSITION_CODES, } from "../codecs/classic/tables.js";
1
+ import { CLASSIC_ADAPTER_TYPE, CLASSIC_COOLING_ONLY_TYPE, CLASSIC_FAN_SPEED_CODES, CLASSIC_HORIZONTAL_POSITION_CODES, CLASSIC_HUMIDITY_SETTING_CODES, CLASSIC_LOUVER_STOP, CLASSIC_LOUVER_SWING, CLASSIC_NO_SETPOINT, CLASSIC_OPERATING_MODE_CODES, CLASSIC_REMOTE_METHODS, CLASSIC_SPECIAL_MODE_ADV_CODES, CLASSIC_SPECIAL_MODE_BITS, CLASSIC_SPECIAL_MODE_KIND_CODES, CLASSIC_SWING_MODE_CODES, CLASSIC_TERMINAL_SCOPE_CODES, CLASSIC_VERTICAL_POSITION_CODES, } from "../codecs/classic/tables.js";
2
2
  import { formatKeyValue, startSimulator, unanswered, } from "./simulator.js";
3
3
  // A classic adapter (BRP069, BRP072) as an HTTP server. It reads the adapter's
4
4
  // codes from the codecs' tables and shares none of their functions: see
5
5
  // DESIGN.md#simulators.
6
6
  const DEFAULT_BASIC_INFO = {
7
- type: "aircon",
7
+ type: CLASSIC_ADAPTER_TYPE,
8
8
  reg: "th",
9
9
  ver: "1_2_51",
10
10
  name: "Simulator",
@@ -1 +1 @@
1
- {"version":3,"file":"classic.js","sourceRoot":"","sources":["../../src/simulators/classic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classic.js","sourceRoot":"","sources":["../../src/simulators/classic.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export * from "./airbase.js";
1
2
  export * from "./classic.js";
2
3
  export * from "./dsiot.js";
3
4
  export type { DaikinSimulator, DaikinSimulatorRequest, DaikinSimulatorTemperatures, DaikinSimulatorUnit, StartSimulatorOptions, } from "./simulator.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulators/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulators/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from "./airbase.js";
1
2
  export * from "./classic.js";
2
3
  export * from "./dsiot.js";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/simulators/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/simulators/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}