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.
- package/DESIGN.md +47 -4
- package/README.md +154 -46
- package/UNSUPPORTED.md +27 -2
- package/dist/clients/airbase.d.ts +64 -0
- package/dist/clients/airbase.d.ts.map +1 -0
- package/dist/clients/airbase.js +175 -0
- package/dist/clients/airbase.js.map +1 -0
- package/dist/clients/client.d.ts +3 -2
- package/dist/clients/client.d.ts.map +1 -1
- package/dist/codecs/airbase/capabilities.d.ts +23 -0
- package/dist/codecs/airbase/capabilities.d.ts.map +1 -0
- package/dist/codecs/airbase/capabilities.js +108 -0
- package/dist/codecs/airbase/capabilities.js.map +1 -0
- package/dist/codecs/airbase/state.d.ts +29 -0
- package/dist/codecs/airbase/state.d.ts.map +1 -0
- package/dist/codecs/airbase/state.js +166 -0
- package/dist/codecs/airbase/state.js.map +1 -0
- package/dist/codecs/airbase/tables.d.ts +7 -0
- package/dist/codecs/airbase/tables.d.ts.map +1 -0
- package/dist/codecs/airbase/tables.js +27 -0
- package/dist/codecs/airbase/tables.js.map +1 -0
- package/dist/codecs/airbase/zone.d.ts +12 -0
- package/dist/codecs/airbase/zone.d.ts.map +1 -0
- package/dist/codecs/airbase/zone.js +50 -0
- package/dist/codecs/airbase/zone.js.map +1 -0
- package/dist/codecs/classic/tables.d.ts +2 -0
- package/dist/codecs/classic/tables.d.ts.map +1 -1
- package/dist/codecs/classic/tables.js +2 -0
- package/dist/codecs/classic/tables.js.map +1 -1
- package/dist/codecs/device.d.ts +7 -1
- package/dist/codecs/device.d.ts.map +1 -1
- package/dist/codecs/device.js +14 -2
- package/dist/codecs/device.js.map +1 -1
- package/dist/codecs/dsiot/tables.d.ts +3 -0
- package/dist/codecs/dsiot/tables.d.ts.map +1 -1
- package/dist/codecs/dsiot/tables.js +3 -0
- package/dist/codecs/dsiot/tables.js.map +1 -1
- package/dist/discovery.d.ts +20 -10
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +96 -30
- package/dist/discovery.js.map +1 -1
- package/dist/factory.d.ts +8 -5
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +13 -3
- package/dist/factory.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/models/device.d.ts +3 -2
- package/dist/models/device.d.ts.map +1 -1
- package/dist/models/device.js +1 -1
- package/dist/models/device.js.map +1 -1
- package/dist/models/zone.d.ts +9 -0
- package/dist/models/zone.d.ts.map +1 -0
- package/dist/models/zone.js +2 -0
- package/dist/models/zone.js.map +1 -0
- package/dist/simulators/airbase.d.ts +82 -0
- package/dist/simulators/airbase.d.ts.map +1 -0
- package/dist/simulators/airbase.js +352 -0
- package/dist/simulators/airbase.js.map +1 -0
- package/dist/simulators/classic.d.ts.map +1 -1
- package/dist/simulators/classic.js +2 -2
- package/dist/simulators/classic.js.map +1 -1
- package/dist/simulators/index.d.ts +1 -0
- package/dist/simulators/index.d.ts.map +1 -1
- package/dist/simulators/index.js +1 -0
- package/dist/simulators/index.js.map +1 -1
- package/dist/simulators/simulator.d.ts +11 -10
- package/dist/simulators/simulator.d.ts.map +1 -1
- package/dist/simulators/simulator.js +2 -2
- package/dist/simulators/simulator.js.map +1 -1
- package/dist/transport.d.ts +3 -2
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +4 -1
- package/dist/transport.js.map +1 -1
- package/package.json +7 -3
- package/src/clients/airbase.ts +274 -0
- package/src/clients/client.ts +3 -2
- package/src/codecs/airbase/capabilities.ts +150 -0
- package/src/codecs/airbase/state.ts +223 -0
- package/src/codecs/airbase/tables.ts +32 -0
- package/src/codecs/airbase/zone.ts +62 -0
- package/src/codecs/classic/tables.ts +3 -0
- package/src/codecs/device.ts +18 -2
- package/src/codecs/dsiot/tables.ts +4 -0
- package/src/discovery.ts +101 -32
- package/src/factory.ts +21 -5
- package/src/index.ts +6 -0
- package/src/models/device.ts +3 -2
- package/src/models/zone.ts +8 -0
- package/src/simulators/airbase.ts +495 -0
- package/src/simulators/classic.ts +2 -1
- package/src/simulators/index.ts +1 -0
- package/src/simulators/simulator.ts +13 -12
- 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 @@
|
|
|
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":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classic.d.ts","sourceRoot":"","sources":["../../src/simulators/classic.ts"],"names":[],"mappings":"
|
|
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:
|
|
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 +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"}
|
package/dist/simulators/index.js
CHANGED
|
@@ -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"}
|