homebridge-eliot-smart-control 1.1.0 → 1.2.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/CHANGELOG.md CHANGED
@@ -6,6 +6,28 @@ adheres to [semantic versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.2.0] — 2026-09-21
10
+
11
+ ### Added
12
+
13
+ - **Eco mode as a setting**, off by default and left alone unless you set it.
14
+ It writes eco and travel speed as a pair — eco on with the slowest travel the
15
+ Eliot app offers, eco off with the fastest — because they are one decision
16
+ rather than two. It is worth having: measured on hardware, the pair takes the
17
+ desk from 22.6 mm/s to 42.4 mm/s. The desk stores both and goes on running
18
+ whatever it was last reset with, so the log says plainly that a manual reset
19
+ is needed and does not pretend the setting took effect.
20
+
21
+ ### Fixed
22
+
23
+ - **`idlePollSeconds` says what the poll must stay clear of.** The desk does
24
+ stream its height while the control box drives itself — the note claiming
25
+ otherwise was wrong and has been withdrawn. What is worth documenting is the
26
+ hazard in the other direction: `SETTINGS` is a command, and one arriving
27
+ mid-move cancels the move, so a poll of a few hundred milliseconds turns
28
+ every move into a ten-millimetre nudge. The plugin's 30 s idle poll was never
29
+ anywhere near that; the tools in `tools/` briefly were.
30
+
9
31
  ## [1.1.0] — 2026-09-21
10
32
 
11
33
  ### Added
@@ -162,7 +184,8 @@ First release.
162
184
  verified against hardware, including the measured travel speed and stopping
163
185
  distance.
164
186
 
165
- [Unreleased]: https://github.com/rummeyer/homebridge-eliot-smart-control/compare/v1.1.0...HEAD
187
+ [Unreleased]: https://github.com/rummeyer/homebridge-eliot-smart-control/compare/v1.2.0...HEAD
188
+ [1.2.0]: https://github.com/rummeyer/homebridge-eliot-smart-control/compare/v1.1.0...v1.2.0
166
189
  [1.1.0]: https://github.com/rummeyer/homebridge-eliot-smart-control/compare/v1.0.0...v1.1.0
167
190
  [1.0.0]: https://github.com/rummeyer/homebridge-eliot-smart-control/compare/v0.5.0...v1.0.0
168
191
  [0.5.0]: https://github.com/rummeyer/homebridge-eliot-smart-control/compare/v0.4.0...v0.5.0
@@ -40,7 +40,7 @@
40
40
  "type": "integer",
41
41
  "default": 30,
42
42
  "minimum": 0,
43
- "description": "How often to ask a standing desk for its height. The desk reports by itself while moving, so this only catches the handset being used. 0 turns it off."
43
+ "description": "Wie oft ein stehender Tisch nach seiner Höhe gefragt wird. Die Controlbox meldet die Höhe nie von selbst — auch nicht während der Fahrt —, sie antwortet nur auf Nachfrage. Das hier ist also die einzige Quelle für die Position, solange sonst niemand fragt. 0 schaltet es ab."
44
44
  },
45
45
  "memorySwitches": {
46
46
  "title": "Memory-Schalter",
@@ -62,6 +62,11 @@
62
62
  "type": "boolean",
63
63
  "default": true,
64
64
  "description": "Die Kindersicherung des Tisches in der Home-App anbieten. Sie ist die einzige Einstellung, die die Controlbox zurückmeldet, also die einzige, die ehrlich angezeigt werden kann."
65
+ },
66
+ "ecoMode": {
67
+ "title": "Eco-Modus",
68
+ "type": "boolean",
69
+ "description": "Eco-Modus des Tisches, zusammen mit der Fahrgeschwindigkeit: **an** = langsam und leise (Stufe 28), **aus** = die schnellste Stufe, die die Eliot-App anbietet (40). Beides gehört zusammen und wird deshalb als Paar geschrieben.\n\n**Wirkt erst nach einem Reset des Tisches.** Die Controlbox speichert die Einstellung sofort, fährt aber weiter mit dem Wert, mit dem sie zuletzt zurückgesetzt wurde — deshalb kann der Tisch eine Einstellung melden, die er sichtbar nicht benutzt. Scharf wird sie erst so: den Tisch ganz nach unten fahren und die Ab-Taste weiter gedrückt halten, bis er von selbst nach unten fährt und sich neu einmisst. Kein Kommando kann das auslösen, auch dieses Plugin nicht.\n\nOhne Häkchen wird die Einstellung des Tisches nicht angefasst. Das ist die Voreinstellung: eine ungefragt geschriebene Einstellung würde beim nächsten Reset losgehen, lange nachdem irgendwer sie mit Homebridge in Verbindung bringt."
65
70
  }
66
71
  }
67
72
  }
@@ -81,6 +86,7 @@
81
86
  "desks[].name",
82
87
  "desks[].mac",
83
88
  "desks[].idlePollSeconds",
89
+ "desks[].ecoMode",
84
90
  "desks[].childLockSwitch",
85
91
  "desks[].memorySwitches",
86
92
  {
package/dist/accessory.js CHANGED
@@ -42,6 +42,7 @@ export class EliotAccessory {
42
42
  const link = transport ?? new DeskLink(config.mac, platform.log);
43
43
  this.#desk = new Desk(link, platform.log, {
44
44
  idlePollMs: (config.idlePollSeconds ?? 30) * 1000,
45
+ eco: config.ecoMode,
45
46
  });
46
47
  accessory
47
48
  .getService(HapService.AccessoryInformation)
@@ -1 +1 @@
1
- {"version":3,"file":"accessory.js","sourceRoot":"","sources":["../src/accessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessory.js","sourceRoot":"","sources":["../src/accessory.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -14,9 +14,13 @@ export interface DeskConfig {
14
14
  /**
15
15
  * How often to ask an idle desk for its height, in seconds. 0 disables it.
16
16
  *
17
- * The control box reports height by itself while moving, so this only
18
- * catches what happens in between: somebody using the handset, or the desk
19
- * being moved while Homebridge was not connected.
17
+ * The control box streams its height while it drives itself, so this is only
18
+ * for what happens in between: somebody using the handset, or the desk being
19
+ * moved while Homebridge was not connected.
20
+ *
21
+ * Leave it leisurely. `SETTINGS` is a command, and one that arrives while the
22
+ * box is driving to a position cancels the move — at a few hundred
23
+ * milliseconds it turns every move into a ten-millimetre nudge.
20
24
  */
21
25
  idlePollSeconds?: number;
22
26
  /**
@@ -40,6 +44,28 @@ export interface DeskConfig {
40
44
  * the only one that can be shown honestly rather than remembered.
41
45
  */
42
46
  childLockSwitch?: boolean;
47
+ /**
48
+ * Eco mode, and with it the travel speed. Left alone unless set.
49
+ *
50
+ * The control box stores these two together in its settings block, and this
51
+ * plugin writes them as a pair: eco on goes with the slowest travel the app
52
+ * offers, eco off with the fastest. They are not separate knobs here because
53
+ * they are not separate decisions — eco mode is the slow, quiet setting.
54
+ *
55
+ * Neither takes effect when written. The box stores them and goes on running
56
+ * whatever it was reset with, which is why the settings block can report a
57
+ * value the desk is visibly not using. They come into force only when the
58
+ * desk is reset by hand: run it to the bottom and hold the down key until it
59
+ * re-homes. No command on this port can do that, and the plugin does not
60
+ * pretend otherwise — it writes the pair, says so in the log, and leaves the
61
+ * reset to whoever is standing there.
62
+ *
63
+ * Undefined means the desk's own setting is left untouched, which is the
64
+ * default: a plugin that quietly rewrote a stored setting would be arming a
65
+ * change that fires at the next reset, long after anyone connected it to
66
+ * Homebridge.
67
+ */
68
+ ecoMode?: boolean;
43
69
  }
44
70
  export interface EliotPlatformConfig extends PlatformConfig {
45
71
  /** Homebridge uses this as the log prefix for everything this plugin says. */
package/dist/config.js CHANGED
@@ -19,6 +19,9 @@ export function validateDeskConfig(desk, index) {
19
19
  (!Number.isFinite(desk.idlePollSeconds) || desk.idlePollSeconds < 0)) {
20
20
  problems.push(`${where}.idlePollSeconds must be zero or a positive number`);
21
21
  }
22
+ if (desk.ecoMode !== undefined && typeof desk.ecoMode !== 'boolean') {
23
+ problems.push(`${where}.ecoMode must be true or false`);
24
+ }
22
25
  return problems;
23
26
  }
24
27
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAmDA;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAyB,EAAE,KAAa;IACzE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,SAAS,KAAK,GAAG,CAAC;IAEhC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,mBAAmB,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACxE,QAAQ,CAAC,IAAI,CACX,GAAG,KAAK,8CAA8C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAClF,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACvE,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,sCAAsC,CAAC,CAAC;IAChE,CAAC;IACD,IACE,IAAI,CAAC,eAAe,KAAK,SAAS;QAClC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,EACpE,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,oDAAoD,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AA6EA;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAyB,EAAE,KAAa;IACzE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,SAAS,KAAK,GAAG,CAAC;IAEhC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,mBAAmB,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACxE,QAAQ,CAAC,IAAI,CACX,GAAG,KAAK,8CAA8C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAClF,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACvE,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,sCAAsC,CAAC,CAAC;IAChE,CAAC;IACD,IACE,IAAI,CAAC,eAAe,KAAK,SAAS;QAClC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,EACpE,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,oDAAoD,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACpE,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,gCAAgC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -96,10 +96,14 @@ export interface DeskOptions {
96
96
  /**
97
97
  * How often to ask for the height while idle.
98
98
  *
99
- * The control box reports height unprompted while it moves, so this is only
99
+ * The control box streams its height while it drives itself, so this is only
100
100
  * for what happens in between: someone using the handset, or a desk that was
101
- * moved while we were disconnected. Cheap, and the alternative is a Home app
102
- * showing a height from an hour ago.
101
+ * moved while we were disconnected.
102
+ *
103
+ * It must stay well clear of a move. `SETTINGS` is a command, and one that
104
+ * lands while the box is driving to a position abandons the move — polling at
105
+ * a few hundred milliseconds reduces every move to about ten millimetres.
106
+ * Thirty seconds is idle-only by a wide margin.
103
107
  */
104
108
  idlePollMs: number;
105
109
  /**
@@ -138,6 +142,14 @@ export interface DeskOptions {
138
142
  nativeStartMs: number;
139
143
  /** How far off a memory height still counts as being at that preset. */
140
144
  memoryToleranceMm: number;
145
+ /**
146
+ * Eco mode to store on the desk, with the travel speed that goes with it.
147
+ *
148
+ * `undefined` leaves the desk's own setting alone, which is the default and
149
+ * the only honest one: writing it stores a change that takes effect at the
150
+ * next reset, which may be weeks away and nowhere near this decision.
151
+ */
152
+ eco?: boolean;
141
153
  }
142
154
  export declare const DEFAULT_DESK_OPTIONS: DeskOptions;
143
155
  export interface Desk {
@@ -18,6 +18,18 @@ const UNKNOWN_SETTINGS = {
18
18
  sensitivity: null,
19
19
  units: null,
20
20
  };
21
+ /**
22
+ * The travel speeds that go with eco on and eco off.
23
+ *
24
+ * The app offers 28, 31, 35, 38 and 40 and nothing outside that, so these are
25
+ * its ends rather than the box's: this desk was found storing 21, below
26
+ * anything the app will produce, which says the box accepts more than the app
27
+ * offers and says nothing about what is good for it. Staying inside the range
28
+ * the manufacturer's own app uses is the conservative choice for a value that
29
+ * only takes effect after a reset, where a bad one is discovered late.
30
+ */
31
+ const ECO_VELOCITY = 28;
32
+ const FAST_VELOCITY = 40;
21
33
  export const DEFAULT_DESK_OPTIONS = {
22
34
  idlePollMs: 30_000,
23
35
  externalMoveMm: 15,
@@ -57,6 +69,8 @@ export class Desk extends EventEmitter {
57
69
  #settleUntil = 0;
58
70
  #closing = false;
59
71
  #refreshed = false;
72
+ /** Whether the configured eco pair has been dealt with on this connection. */
73
+ #ecoApplied = false;
60
74
  constructor(transport, log, options = {}) {
61
75
  super();
62
76
  this.#transport = transport;
@@ -553,6 +567,46 @@ export class Desk extends EventEmitter {
553
567
  if (key.some((k) => before[k] !== this.#settings[k])) {
554
568
  this.#emitChange();
555
569
  }
570
+ void this.#applyEco();
571
+ }
572
+ /**
573
+ * Store the configured eco pair, if the desk is not already holding it.
574
+ *
575
+ * Runs once per connection and only when something differs, because the
576
+ * write is not free: the box stores it and keeps running what it was last
577
+ * reset with, so every write leaves a change primed to go off at a reset that
578
+ * may be weeks away. Writing the same values again on every reconnect would
579
+ * be harmless in effect and dishonest in the log, which is where anyone will
580
+ * go looking when the desk changes speed for no reason they can remember.
581
+ *
582
+ * Both fields have to have arrived before this can tell whether anything
583
+ * differs, which is why it hangs off the settings block rather than the
584
+ * connection.
585
+ */
586
+ async #applyEco() {
587
+ const eco = this.#opts.eco;
588
+ if (eco === undefined || this.#ecoApplied) {
589
+ return;
590
+ }
591
+ const { lowPower, velocity } = this.#settings;
592
+ if (lowPower === null || velocity === null) {
593
+ return;
594
+ }
595
+ this.#ecoApplied = true;
596
+ const wantVelocity = eco ? ECO_VELOCITY : FAST_VELOCITY;
597
+ if (lowPower === eco && velocity === wantVelocity) {
598
+ return;
599
+ }
600
+ if (!this.#transport.connected) {
601
+ return;
602
+ }
603
+ await this.#transport.send(Cmd.LOW_POWER, [eco ? 1 : 0]);
604
+ await delay(300);
605
+ await this.#transport.send(Cmd.VELOCITY, [wantVelocity]);
606
+ this.#log.warn(`eco mode ${eco ? 'on' : 'off'} and travel speed ${wantVelocity} stored on the desk ` +
607
+ `(it had ${lowPower ? 'on' : 'off'} and ${velocity}). The desk keeps running its ` +
608
+ 'old setting until it is reset by hand: drive it to the bottom and hold the down ' +
609
+ 'key until it re-homes. No command can do this.');
556
610
  }
557
611
  #onHeight(heightMm) {
558
612
  this.#heightMm = heightMm;
@@ -604,6 +658,7 @@ export class Desk extends EventEmitter {
604
658
  // The desk may be moved by hand while we are away, so nothing we hold is
605
659
  // trustworthy until it has been asked again.
606
660
  this.#refreshed = false;
661
+ this.#ecoApplied = false;
607
662
  this.#locked = null;
608
663
  this.#endMove('disconnected');
609
664
  this.#endNative('disconnected');
@@ -1 +1 @@
1
- {"version":3,"file":"desk.js","sourceRoot":"","sources":["../../src/eliot/desk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"desk.js","sourceRoot":"","sources":["../../src/eliot/desk.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE7E,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAgDtE,MAAM,gBAAgB,GAAiB;IACrC,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,KAAK,EAAE,IAAI;CACZ,CAAC;AAuGF;;;;;;;;;GASG;AACH,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,aAAa,GAAG,EAAE,CAAC;AAEzB,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,UAAU,EAAE,MAAM;IAClB,cAAc,EAAE,EAAE;IAClB,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE,EAAE;IACR,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE,EAAE;CACtB,CAAC;AAEF,sEAAsE;AACtE,MAAM,OAAO,GAAG,EAAE,CAAC;AAEnB,mEAAmE;AACnE,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,mDAAmD;AACnD,MAAM,WAAW,GAAG,IAAI,CAAC;AA4BzB,MAAM,OAAO,IAAK,SAAQ,YAAY;IAC3B,UAAU,CAAY;IACtB,IAAI,CAAa;IACjB,KAAK,CAAc;IAE5B,SAAS,GAAkB,IAAI,CAAC;IAChC,QAAQ,GAAkB,IAAI,CAAC;IAC/B,QAAQ,GAAkB,IAAI,CAAC;IAC/B,QAAQ,GAAkB,IAAI,CAAC;IAC/B,QAAQ,GAAkB,IAAI,CAAC;IAC/B,SAAS,GAAkB,IAAI,CAAC;IAChC,6EAA6E;IAC7E,UAAU,GAAkB,IAAI,CAAC;IAEjC,SAAS,GAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACxD,OAAO,GAAmB,IAAI,CAAC;IAC/B,SAAS,GAAiB,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAElD,KAAK,GAGM,IAAI,CAAC;IAEhB,OAAO,GAAsB,IAAI,CAAC;IAClC,YAAY,GAA0B,IAAI,CAAC;IAC3C,MAAM,GAA0B,IAAI,CAAC;IACrC,KAAK,GAA0B,IAAI,CAAC;IACpC,8EAA8E;IAC9E,YAAY,GAAG,CAAC,CAAC;IACjB,QAAQ,GAAG,KAAK,CAAC;IACjB,UAAU,GAAG,KAAK,CAAC;IACnB,8EAA8E;IAC9E,WAAW,GAAG,KAAK,CAAC;IAEpB,YAAY,SAAoB,EAAE,GAAe,EAAE,UAAgC,EAAE;QACnF,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAAC;QAErD,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC1D,SAAS,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,KAAK;QACP,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,MAAM,QAAQ,GACZ,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI;YACrD,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,MAAM,GACV,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI;YACrD,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC;YAC3C,CAAC,CAAC,QAAQ,CAAC;QAEf,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS;YACpC,KAAK,EAAE,IAAI,CAAC,UAAU,IAAI,QAAQ,KAAK,IAAI;YAC3C,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,QAAQ;YACR,MAAM;YACN,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,IAAI;YAC3E,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;YAC/B,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;SAC9B,CAAC;IACJ,CAAC;IAED,iEAAiE;IACjE,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;IACxC,CAAC;IAED,mEAAmE;IACnE,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,SAAS,GAAyB;YACtC,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YACd,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;YAClB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;YACf,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;SACjB,CAAC;QACF,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC/B,OAAO;YACT,CAAC;YACD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5C,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,2EAA2E;QAC3E,0EAA0E;QAC1E,gEAAgE;QAChE,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACrE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC/B,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,OAAO,MAAM,QAAQ,aAAa,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CACV,QAAgB,EAChB,OAAe,EACf,MAAgB,EAChB,QAAiB;QAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC5B,uEAAuE;QACvE,oEAAoE;QACpE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,EAAE;YACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG;gBACb,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;gBAC3C,MAAM,EAAE,OAAO;gBACf,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE,GAAG;gBACjB,SAAS,EAAE,GAAG;gBACd,QAAQ;gBACR,KAAK,EAAE,KAAK;gBACZ,sEAAsE;gBACtE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM;aAChE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAChC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY,CAAC,IAAY;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACxC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,0BAA0B,CAAC,CAAC;YACzD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC;QAChE,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,CAAC,SAAS,MAAM,MAAM,KAAK,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,4EAA4E;IAC5E,YAAY;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;YACpD,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC;YAC3B,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC;YAC1B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,wEAAwE;QACxE,wEAAwE;QACxE,uEAAuE;QACvE,sEAAsE;QACtE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;gBACtD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;oBAC7D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,qEAAqE;QACrE,6CAA6C;QAC7C,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC3D,MAAM,GAAG,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1E,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CAAC,MAAkB;QACjC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5B,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CACZ,sFAAsF,CACvF,CAAC;QACF,0EAA0E;QAC1E,2EAA2E;QAC3E,yEAAyE;QACzE,qEAAqE;QACrE,wEAAwE;QACxE,gEAAgE;QAChE,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CACZ,gCAAgC,IAAI,CAAC,SAAS,CAAC,UAAU,qBAAqB;gBAC5E,uEAAuE,CAC1E,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxF,IAAI,CAAC,KAAK,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED,UAAU,CAAC,OAAoB;QAC7B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,OAAO,OAAO,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC;QACjE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CAAC,MAAe;QAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QACpD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QACnD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3B,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3B,mEAAmE;YACnE,gDAAgD;YAChD,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,KAAK;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,MAAM,OAAO,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,uEAAuE;YACvE,yEAAyE;YACzE,gEAAgE;YAChE,2CAA2C;YAC3C,KAAK,IAAI,CAAC,UAAU;iBACjB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;iBAC3C,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,OAAoB;QAC3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,0EAA0E;QAC1E,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,iDAAiD;QACjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,KAAY;QACnB,QAAQ,KAAK,CAAC,OAAO,EAAE,CAAC;YACtB,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YACD,KAAK,MAAM,CAAC,KAAK;gBACf,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC5C,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC;gBACD,OAAO;YACT,KAAK,MAAM,CAAC,SAAS;gBACnB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACzC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,OAAO;YACT,KAAK,MAAM,CAAC,SAAS;gBACnB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACzC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,OAAO;YACT,KAAK,MAAM,CAAC,UAAU,CAAC;YACvB,KAAK,MAAM,CAAC,UAAU,CAAC;YACvB,KAAK,MAAM,CAAC,UAAU,CAAC;YACvB,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;gBACvB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;gBAC/C,gEAAgE;gBAChE,iEAAiE;gBACjE,gCAAgC;gBAChC,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,KAAK,MAAM,CAAC,IAAI;gBACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACrC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,OAAO;YACT,KAAK,MAAM,CAAC,KAAK,CAAC;YAClB,KAAK,MAAM,CAAC,QAAQ,CAAC;YACrB,KAAK,MAAM,CAAC,SAAS,CAAC;YACtB,KAAK,MAAM,CAAC,WAAW,CAAC;YACxB,KAAK,MAAM,CAAC,OAAO,CAAC;YACpB,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;gBACxB,oEAAoE;gBACpE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YACD,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;gBACxB,uEAAuE;gBACvE,oEAAoE;gBACpE,0CAA0C;gBAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;oBACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACvB,CAAC;gBACD,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;oBACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACvB,CAAC;gBACD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YACD;gBACE,OAAO;QACX,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,IAAY,EAAE,KAAa;QACpC,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM,CAAC,KAAK;gBACf,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnD,MAAM;YACR,KAAK,MAAM,CAAC,QAAQ;gBAClB,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAChC,MAAM;YACR,KAAK,MAAM,CAAC,SAAS;gBACnB,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK,KAAK,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,MAAM,CAAC,WAAW;gBACrB,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;gBAClC,MAAM;YACR,KAAK,MAAM,CAAC,OAAO;gBACjB,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAChC,MAAM;YACR,KAAK,MAAM,CAAC,WAAW;gBACrB,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC;gBACnC,MAAM;YACR;gBACE,OAAO;QACX,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAA2B,CAAC;QAC1D,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QACD,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QAC3B,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9C,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;QACxD,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAEzD,IAAI,CAAC,IAAI,CAAC,IAAI,CACZ,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,qBAAqB,YAAY,sBAAsB;YACnF,WAAW,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,QAAQ,gCAAgC;YAClF,kFAAkF;YAClF,gDAAgD,CACnD,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,QAAgB;QACxB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,wEAAwE;YACxE,4CAA4C;YAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACnC,iEAAiE;YACjE,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,IAAI,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YACjF,uEAAuE;YACvE,kCAAkC;YAClC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,yEAAyE;QACzE,8DAA8D;QAC9D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,OAAO,MAAM,QAAQ,KAAK,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,iCAAiC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,eAAe;QACb,yEAAyE;QACzE,6CAA6C;QAC7C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,wEAAwE;YACxE,iEAAiE;YACjE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC7C,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;CACF;AAED,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC"}
@@ -62,10 +62,18 @@ export declare const Cmd: {
62
62
  /** Low power, the app's eco mode: `0` off, `1` on. */
63
63
  readonly LOW_POWER: 24;
64
64
  /**
65
- * How the desk responds to a memory button: `0` hold it, `1` one touch.
65
+ * Whether the control box drives to a position by itself.
66
66
  *
67
- * With one touch the control box drives to a position by itself, which is
68
- * what makes {@link GOTO_HEIGHT} and the memory commands work unattended.
67
+ * The Jarvis notes give `0` as hold-to-move and `1` as one touch. **On this
68
+ * hardware it is the other way round**, measured 21.09.2026 with a reset
69
+ * between each run and nothing polling to interfere: on `0` a single
70
+ * {@link GOTO_HEIGHT} or memory command drives the desk the whole way, and on
71
+ * `1` it moves about 15 mm and stops.
72
+ *
73
+ * Which is why nothing here writes this field. One desk is not enough to say
74
+ * the published mapping is wrong for every control box, and a plugin that
75
+ * guessed at it would arm a change that only goes off at the owner's next
76
+ * reset — by which time nothing connects the two.
69
77
  */
70
78
  readonly MOTION_MODE: 25;
71
79
  /** Travel speed. The app offers 28, 31, 35, 38 and 40. */
@@ -62,10 +62,18 @@ export const Cmd = {
62
62
  /** Low power, the app's eco mode: `0` off, `1` on. */
63
63
  LOW_POWER: 0x18,
64
64
  /**
65
- * How the desk responds to a memory button: `0` hold it, `1` one touch.
65
+ * Whether the control box drives to a position by itself.
66
66
  *
67
- * With one touch the control box drives to a position by itself, which is
68
- * what makes {@link GOTO_HEIGHT} and the memory commands work unattended.
67
+ * The Jarvis notes give `0` as hold-to-move and `1` as one touch. **On this
68
+ * hardware it is the other way round**, measured 21.09.2026 with a reset
69
+ * between each run and nothing polling to interfere: on `0` a single
70
+ * {@link GOTO_HEIGHT} or memory command drives the desk the whole way, and on
71
+ * `1` it moves about 15 mm and stops.
72
+ *
73
+ * Which is why nothing here writes this field. One desk is not enough to say
74
+ * the published mapping is wrong for every control box, and a plugin that
75
+ * guessed at it would arm a change that only goes off at the owner's next
76
+ * reset — by which time nothing connects the two.
69
77
  */
70
78
  MOTION_MODE: 0x19,
71
79
  /** Travel speed. The app offers 28, 31, 35, 38 and 40. */
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/eliot/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/eliot/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,kEAAkE;AAClE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AACjC,yEAAyE;AACzE,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC;AAC9B,2EAA2E;AAC3E,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC;AAExB,gDAAgD;AAChD,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,yEAAyE;IACzE,KAAK,EAAE,IAAI;IACX,yBAAyB;IACzB,KAAK,EAAE,IAAI;IACX,iCAAiC;IACjC,MAAM,EAAE,IAAI;IACZ,iCAAiC;IACjC,MAAM,EAAE,IAAI;IACZ,mFAAmF;IACnF,QAAQ,EAAE,IAAI;IACd,2EAA2E;IAC3E,KAAK,EAAE,IAAI;IACX,iFAAiF;IACjF,MAAM,EAAE,IAAI;IACZ;;;;;;;OAOG;IACH,WAAW,EAAE,IAAI;IACjB;;;;;OAKG;IACH,IAAI,EAAE,IAAI;IACV,4EAA4E;IAC5E,aAAa,EAAE,IAAI;IACnB,wCAAwC;IACxC,aAAa,EAAE,IAAI;IACnB,qEAAqE;IACrE,WAAW,EAAE,IAAI;IACjB,6DAA6D;IAC7D,IAAI,EAAE,IAAI;IACV,sDAAsD;IACtD,SAAS,EAAE,IAAI;IACf;;;;;;;;;;;;;OAaG;IACH,WAAW,EAAE,IAAI;IACjB,0DAA0D;IAC1D,QAAQ,EAAE,IAAI;IACd,iEAAiE;IACjE,WAAW,EAAE,IAAI;IACjB,oCAAoC;IACpC,OAAO,EAAE,IAAI;IACb;;;;;;;;;;;OAWG;IACH,OAAO,EAAE,IAAI;IACb,iCAAiC;IACjC,MAAM,EAAE,IAAI;IACZ,iCAAiC;IACjC,MAAM,EAAE,IAAI;IACZ,6DAA6D;IAC7D,IAAI,EAAE,IAAI;CACF,CAAC;AAEX,yCAAyC;AACzC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,+EAA+E;IAC/E,MAAM,EAAE,IAAI;IACZ,oEAAoE;IACpE,KAAK,EAAE,IAAI;IACX,yCAAyC;IACzC,KAAK,EAAE,IAAI;IACX,2DAA2D;IAC3D,WAAW,EAAE,IAAI;IACjB,0CAA0C;IAC1C,SAAS,EAAE,IAAI;IACf,0CAA0C;IAC1C,SAAS,EAAE,IAAI;IACf,4EAA4E;IAC5E,IAAI,EAAE,IAAI;IACV;;;;;;;;;;;;OAYG;IACH,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,IAAI;IACjB,gCAAgC;IAChC,UAAU,EAAE,IAAI;IAChB,gCAAgC;IAChC,UAAU,EAAE,IAAI;IAChB,gCAAgC;IAChC,UAAU,EAAE,IAAI;IAChB,gCAAgC;IAChC,UAAU,EAAE,IAAI;CACR,CAAC;AAYX,mDAAmD;AACnD,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,MAAyB;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,GAAG,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,GAAG,IAAI,CAAC,CAAC;IACX,CAAC;IACD,OAAO,GAAG,GAAG,IAAI,CAAC;AACpB,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,MAAM,CAAC,OAAe,EAAE,SAA4B,EAAE;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAChE,KAAK;QACL,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;KAC7C,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,WAAW;IACd,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEjC,2EAA2E;IAC3E,IAAI,CAAC,KAAa;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAClD,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,SAAS,CAAC;YACR,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM;YACR,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,wEAAwE;IACxE,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,8EAA8E;IACtE,KAAK;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,YAAY,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;gBACtF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACtC,SAAS;YACX,CAAC;YAED,wEAAwE;YACxE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;YACnD,MAAM,KAAK,GACT,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAEzF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,qEAAqE;gBACrE,oEAAoE;gBACpE,qBAAqB;gBACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACtC,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,oEAAoE;AACpE,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,MAAM,GAAG,CAAC;IACnD,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC"}
package/docs/PROTOCOL.md CHANGED
@@ -330,10 +330,35 @@ takes effect**. Reported by the desk's owner on 19.09.2026, and consistent with
330
330
  what followed — eco switched off in the app, a reset performed, and the desk
331
331
  observably faster afterwards.
332
332
 
333
- So the honest state of it: both settings are stored, and reading them back is
334
- now possible. Whether a reset makes them bite has been seen once, by eye, and
335
- not yet measured. Measuring it means a reset between every pair of runs, which
336
- is why it has not been done here.
333
+ **A reset does make them bite; that much is now established.** On 21.09.2026
334
+ `LOW_POWER 1` and `VELOCITY 21` were stored on a desk visibly running eco off at
335
+ 40, a reset was performed, and the desk came back slow. The settings block is a
336
+ record of what the box has been *told*, and the box goes on running what it was
337
+ last reset with — which is why it can report a value the desk is plainly not
338
+ using.
339
+
340
+ **And the effect is large.** Measured 21.09.2026, same tool, same 220 mm, same
341
+ direction, one reset between the two runs:
342
+
343
+ | | `GOTO_HEIGHT` | stepped `RAISE` |
344
+ |---|---|---|
345
+ | `LOW_POWER 1`, `VELOCITY 21` | **22.6 mm/s** | 9.0 mm/s |
346
+ | `LOW_POWER 0`, `VELOCITY 40` | **42.4 mm/s** | 23.9 mm/s |
347
+
348
+ The `GOTO_HEIGHT` column is the honest one — the box running its own ramp, which
349
+ is how anything unattended moves this desk. It very nearly doubles.
350
+
351
+ The stepped column is included only to show it moves the same way. Pulsed travel
352
+ is dominated by the pulse cadence and the box's ramp restarting, so those
353
+ numbers measure the method as much as the desk and should not be compared with
354
+ anything but each other.
355
+
356
+ This also explains why the question stayed open so long. Every earlier attempt
357
+ measured 22.2–22.6 mm/s whatever it set, and concluded the commands did nothing.
358
+ They were all measured without a reset in between, on a box that was still
359
+ running whatever it had last been reset with — which was `VELOCITY 21`, so they
360
+ were measuring the same configuration every time and getting, correctly, the
361
+ same number.
337
362
 
338
363
  One trap for that measurement, learned the hard way: **do not hold the plugin
339
364
  off the dongle by killing its child bridge in a loop.** Homebridge restarts it
@@ -343,6 +368,35 @@ that answers queries, accepts every command, moves nothing, and streams `04`
343
368
  where the height report belongs — which looks exactly like a desk that has lost
344
369
  its calibration, and is not one.
345
370
 
371
+ ### When the box streams its height, and when a poll cancels the move
372
+
373
+ The control box streams `HEIGHT` frames, several a second, for as long as it is
374
+ driving itself — a `GOTO_HEIGHT`, a memory position. It says nothing at all
375
+ while it is being walked up by repeated `RAISE` or `LOWER`, because then it is
376
+ not driving, it is being pushed.
377
+
378
+ **A `SETTINGS` poll during a self-driven move cancels the move.** `0x07` is a
379
+ command like any other, and the box abandons what it was doing to answer it. At
380
+ a 400 ms poll interval a `MOVE_n` covers about ten millimetres and stops.
381
+
382
+ This is worth stating plainly because the failure is so convincing. On
383
+ 21.09.2026 a poll was added to three tools here on the theory that the box never
384
+ reported its height unprompted — which is true of step-driven movement and
385
+ false of everything else. Every `MOVE_n` and `GOTO_HEIGHT` then produced the
386
+ same ~10 mm nudge, on a desk whose handset worked perfectly, and the afternoon
387
+ went into motion modes, resets and a mains power cycle looking for the cause.
388
+ The settings block was byte-for-byte identical before and after. The cause was
389
+ the poll.
390
+
391
+ So:
392
+
393
+ - A move the box drives: send it, then listen. Do not send anything.
394
+ - A climb on step commands: poll, or measure nothing.
395
+ - Idle: poll, at the leisurely interval `idlePollSeconds` describes.
396
+
397
+ The plugin was never affected. It polls every 30 s while idle and listens
398
+ during a move, which is the right shape by construction.
399
+
346
400
  ### There is no reset command
347
401
 
348
402
  The app's *Automatischer Reset* is not a protocol command at all. Its own
@@ -352,6 +406,16 @@ to the bottom so the control box can find its zero again. Soft limits and
352
406
  memory positions survive it. `0x91 CALIBRATE` from the Jarvis notes appears
353
407
  nowhere in the app.
354
408
 
409
+ **`0x91` was tried, on 21.09.2026, and does nothing observable.** Sent to a
410
+ healthy desk it produces no answer, no `0x40`, and no change on the handset,
411
+ with the link held open for 45 s. It was briefly believed to work: it was first
412
+ sent to a box that had lost its zero, whose handset was already showing RESET
413
+ and asking to be re-homed, and the two were mistaken for cause and effect.
414
+
415
+ The re-home itself is done by hand and cannot be triggered from here: run the
416
+ desk to the bottom and keep holding the down key until it re-seats. That works
417
+ without the app.
418
+
355
419
  ## The consequence for HomeKit
356
420
 
357
421
  **Correction, and it invalidates what follows.** There *is* a move-to-height
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge-eliot-smart-control",
3
3
  "displayName": "Eliot Smart Control",
4
- "version": "1.1.0",
4
+ "version": "1.2.0",
5
5
  "description": "Homebridge plugin for the Eliot sit-stand desk with the Smart Dongle, over Bluetooth LE",
6
6
  "license": "MIT",
7
7
  "author": "Oliver Rummeyer",
@@ -70,6 +70,7 @@ if (!link.connected) { console.error('nicht verbunden'); await link.close(); pro
70
70
  await link.send(Cmd.WAKE); await sleep(700);
71
71
  await link.send(Cmd.SETTINGS); await sleep(1000);
72
72
  await link.send(Cmd.LIMITS); await sleep(1200);
73
+
73
74
  say(`start ${height} mm, erlaubt ${softMin}–${softMax} mm`);
74
75
 
75
76
  if (height === null || softMin === null || softMax === null) {
@@ -62,6 +62,21 @@ if (!link.connected) { console.error('nicht verbunden (60s)'); await link.close(
62
62
  await link.send(Cmd.WAKE); await sleep(800);
63
63
  await link.send(Cmd.SETTINGS); await sleep(1200);
64
64
 
65
+ // The box answers SETTINGS with a height and never sends one unprompted, so
66
+ // without this the desk can drive its whole travel while this tool watches a
67
+ // height that never changes and calls it "did not move".
68
+ // Off by default, and that is the whole finding: a SETTINGS frame is a command,
69
+ // and one arriving mid-move cancels a move the control box is driving itself.
70
+ // Polling at 400 ms turned every MOVE_n into a ~10 mm nudge and looked exactly
71
+ // like a desk that had forgotten how to drive. The box streams its height while
72
+ // it drives, so there is nothing to poll for anyway. --poll=<ms> is kept only
73
+ // so the effect can be reproduced on purpose.
74
+ const POLL_MS = Number(process.argv.find((a) => a.startsWith('--poll='))?.split('=')[1] ?? 0);
75
+ const poller = setInterval(() => {
76
+ if (POLL_MS > 0) link.send(Cmd.SETTINGS).catch(() => {});
77
+ }, POLL_MS > 0 ? POLL_MS : 3600_000);
78
+ process.on('exit', () => clearInterval(poller));
79
+
65
80
  const target = memories[SLOT];
66
81
  say(`memories: ${JSON.stringify(memories)}`);
67
82
  say(`start ${height} mm, ziel memory ${SLOT} = ${target} mm`);