homebridge-ratgdo 2.10.0 → 2.11.1
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/dist/ratgdo-device.js +40 -40
- package/dist/ratgdo-device.js.map +1 -1
- package/dist/ratgdo-platform.d.ts +2 -3
- package/dist/ratgdo-platform.js +58 -54
- package/dist/ratgdo-platform.js.map +1 -1
- package/homebridge-ui/public/lib/featureoptions.js +7 -8
- package/homebridge-ui/public/lib/featureoptions.js.map +1 -1
- package/homebridge-ui/public/lib/webUi-featureoptions.mjs +190 -13
- package/package.json +7 -8
package/dist/ratgdo-device.js
CHANGED
|
@@ -215,8 +215,8 @@ export class RatgdoAccessory {
|
|
|
215
215
|
if (!this.command("lock", (value === this.hap.Characteristic.LockTargetState.SECURED) ? "lock" : "unlock")) {
|
|
216
216
|
// Something went wrong. Let's make sure we revert the lock to it's prior state.
|
|
217
217
|
setTimeout(() => {
|
|
218
|
-
service
|
|
219
|
-
service
|
|
218
|
+
service.updateCharacteristic(this.hap.Characteristic.LockTargetState, this.lockTargetStateBias(this.status.lock));
|
|
219
|
+
service.updateCharacteristic(this.hap.Characteristic.LockCurrentState, this.status.lock);
|
|
220
220
|
}, 50);
|
|
221
221
|
}
|
|
222
222
|
});
|
|
@@ -247,8 +247,8 @@ export class RatgdoAccessory {
|
|
|
247
247
|
// Initialize the light.
|
|
248
248
|
service.updateCharacteristic(this.hap.Characteristic.On, this.status.light);
|
|
249
249
|
// Turn the light on or off.
|
|
250
|
-
service.getCharacteristic(this.hap.Characteristic.On)
|
|
251
|
-
service.getCharacteristic(this.hap.Characteristic.On)
|
|
250
|
+
service.getCharacteristic(this.hap.Characteristic.On).onGet(() => this.status.light);
|
|
251
|
+
service.getCharacteristic(this.hap.Characteristic.On).onSet((value) => this.command("light", value === true ? "on" : "off"));
|
|
252
252
|
return true;
|
|
253
253
|
}
|
|
254
254
|
// Configure the motion sensor for HomeKit.
|
|
@@ -282,9 +282,9 @@ export class RatgdoAccessory {
|
|
|
282
282
|
return false;
|
|
283
283
|
}
|
|
284
284
|
// Return the current state of the opener. We're on if we are in any state other than closed (specifically open or stopped).
|
|
285
|
-
service.getCharacteristic(this.hap.Characteristic.On)
|
|
285
|
+
service.getCharacteristic(this.hap.Characteristic.On).onGet(() => this.doorCurrentStateBias(this.status.door) !== this.hap.Characteristic.CurrentDoorState.CLOSED);
|
|
286
286
|
// Close the opener. Opening is really handled in the brightness event.
|
|
287
|
-
service.getCharacteristic(this.hap.Characteristic.On)
|
|
287
|
+
service.getCharacteristic(this.hap.Characteristic.On).onSet((value) => {
|
|
288
288
|
// We really only want to act when the opener is open. Otherwise, it's handled by the brightness event.
|
|
289
289
|
if (value) {
|
|
290
290
|
return;
|
|
@@ -296,13 +296,13 @@ export class RatgdoAccessory {
|
|
|
296
296
|
// Send the command.
|
|
297
297
|
if (!this.setDoorState(this.hap.Characteristic.TargetDoorState.CLOSED)) {
|
|
298
298
|
// Something went wrong. Let's make sure we revert the dimmer to it's prior state.
|
|
299
|
-
setTimeout(() => service
|
|
299
|
+
setTimeout(() => service.updateCharacteristic(this.hap.Characteristic.On, !value), 50);
|
|
300
300
|
}
|
|
301
301
|
});
|
|
302
302
|
// Return the door position of the opener.
|
|
303
|
-
service.getCharacteristic(this.hap.Characteristic.Brightness)
|
|
303
|
+
service.getCharacteristic(this.hap.Characteristic.Brightness).onGet(() => this.status.doorPosition);
|
|
304
304
|
// Adjust the door position of the opener by adjusting brightness of the light.
|
|
305
|
-
service.getCharacteristic(this.hap.Characteristic.Brightness)
|
|
305
|
+
service.getCharacteristic(this.hap.Characteristic.Brightness).onSet((value) => {
|
|
306
306
|
if (this.hints.logOpener) {
|
|
307
307
|
this.log.info("Automation door position dimmer: moving opener to %s%.", value.toFixed(0));
|
|
308
308
|
}
|
|
@@ -328,9 +328,9 @@ export class RatgdoAccessory {
|
|
|
328
328
|
return false;
|
|
329
329
|
}
|
|
330
330
|
// Return the current state of the opener. We're on if we are in any state other than closed (specifically open or stopped).
|
|
331
|
-
service.getCharacteristic(this.hap.Characteristic.On)
|
|
331
|
+
service.getCharacteristic(this.hap.Characteristic.On).onGet(() => this.doorCurrentStateBias(this.status.door) !== this.hap.Characteristic.CurrentDoorState.CLOSED);
|
|
332
332
|
// Open or close the opener.
|
|
333
|
-
service.getCharacteristic(this.hap.Characteristic.On)
|
|
333
|
+
service.getCharacteristic(this.hap.Characteristic.On).onSet((value) => {
|
|
334
334
|
// Inform the user.
|
|
335
335
|
if (this.hints.logOpener) {
|
|
336
336
|
this.log.info("Automation door opener switch: %s.", value ? "open" : "close");
|
|
@@ -338,7 +338,7 @@ export class RatgdoAccessory {
|
|
|
338
338
|
// Send the command.
|
|
339
339
|
if (!this.setDoorState(value ? this.hap.Characteristic.TargetDoorState.OPEN : this.hap.Characteristic.TargetDoorState.CLOSED)) {
|
|
340
340
|
// Something went wrong. Let's make sure we revert the switch to it's prior state.
|
|
341
|
-
setTimeout(() => service
|
|
341
|
+
setTimeout(() => service.updateCharacteristic(this.hap.Characteristic.On, !value), 50);
|
|
342
342
|
}
|
|
343
343
|
});
|
|
344
344
|
// Initialize the switch.
|
|
@@ -355,14 +355,14 @@ export class RatgdoAccessory {
|
|
|
355
355
|
// Acquire the service.
|
|
356
356
|
const service = acquireService(this.accessory, this.hap.Service.Battery, this.name);
|
|
357
357
|
if (!service) {
|
|
358
|
-
this.log.error("Unable to add the Ratgdo (ESP32)
|
|
358
|
+
this.log.error("Unable to add the Ratgdo (ESP32) backup battery status.");
|
|
359
359
|
return false;
|
|
360
360
|
}
|
|
361
361
|
// Return the current state of the charging state.
|
|
362
|
-
service.getCharacteristic(this.hap.Characteristic.ChargingState)
|
|
362
|
+
service.getCharacteristic(this.hap.Characteristic.ChargingState).onGet(() => this.status.discoBatteryState);
|
|
363
363
|
// Initialize the charging state.
|
|
364
364
|
service.updateCharacteristic(this.hap.Characteristic.ChargingState, this.status.discoBatteryState);
|
|
365
|
-
this.log.info("Enabling the Ratgdo (ESP32)
|
|
365
|
+
this.log.info("Enabling the Ratgdo (ESP32) backup battery status.");
|
|
366
366
|
return true;
|
|
367
367
|
}
|
|
368
368
|
// Configure the Ratgdo (ESP32) Disco-specific parking assistance laser switch.
|
|
@@ -378,9 +378,9 @@ export class RatgdoAccessory {
|
|
|
378
378
|
return false;
|
|
379
379
|
}
|
|
380
380
|
// Return the current state of the switch.
|
|
381
|
-
service.getCharacteristic(this.hap.Characteristic.On)
|
|
381
|
+
service.getCharacteristic(this.hap.Characteristic.On).onGet(() => this.status.discoLaser);
|
|
382
382
|
// Open or close the switch.
|
|
383
|
-
service.getCharacteristic(this.hap.Characteristic.On)
|
|
383
|
+
service.getCharacteristic(this.hap.Characteristic.On).onSet((value) => this.command("disco-laser", value === true ? "on" : "off"));
|
|
384
384
|
// Initialize the switch.
|
|
385
385
|
service.updateCharacteristic(this.hap.Characteristic.On, this.status.discoLaser);
|
|
386
386
|
this.log.info("Enabling the Ratgdo (ESP32) Disco parking assistance laser switch.");
|
|
@@ -399,9 +399,9 @@ export class RatgdoAccessory {
|
|
|
399
399
|
return false;
|
|
400
400
|
}
|
|
401
401
|
// Return the current state of the switch.
|
|
402
|
-
service.getCharacteristic(this.hap.Characteristic.On)
|
|
402
|
+
service.getCharacteristic(this.hap.Characteristic.On).onGet(() => this.status.discoLed);
|
|
403
403
|
// Open or close the switch.
|
|
404
|
-
service.getCharacteristic(this.hap.Characteristic.On)
|
|
404
|
+
service.getCharacteristic(this.hap.Characteristic.On).onSet((value) => this.command("disco-led", value === true ? "on" : "off"));
|
|
405
405
|
// Initialize the switch.
|
|
406
406
|
service.updateCharacteristic(this.hap.Characteristic.On, this.status.discoLed);
|
|
407
407
|
this.log.info("Enabling the Ratgdo (ESP32) Disco LED switch.");
|
|
@@ -477,9 +477,9 @@ export class RatgdoAccessory {
|
|
|
477
477
|
return false;
|
|
478
478
|
}
|
|
479
479
|
// Return the current state of the switch.
|
|
480
|
-
service.getCharacteristic(this.hap.Characteristic.On)
|
|
480
|
+
service.getCharacteristic(this.hap.Characteristic.On).onGet(() => false);
|
|
481
481
|
// Open or close the switch.
|
|
482
|
-
service.getCharacteristic(this.hap.Characteristic.On)
|
|
482
|
+
service.getCharacteristic(this.hap.Characteristic.On).onSet((value) => {
|
|
483
483
|
// Default to reseting our switch state after the pre-close warning has completed playing.
|
|
484
484
|
let resetTimer = 5000;
|
|
485
485
|
// Send the command.
|
|
@@ -488,7 +488,7 @@ export class RatgdoAccessory {
|
|
|
488
488
|
resetTimer = 50;
|
|
489
489
|
}
|
|
490
490
|
// Reset the switch state.
|
|
491
|
-
setTimeout(() => service
|
|
491
|
+
setTimeout(() => service.updateCharacteristic(this.hap.Characteristic.On, !value), resetTimer);
|
|
492
492
|
});
|
|
493
493
|
// Initialize the switch.
|
|
494
494
|
service.updateCharacteristic(this.hap.Characteristic.On, false);
|
|
@@ -508,9 +508,9 @@ export class RatgdoAccessory {
|
|
|
508
508
|
return false;
|
|
509
509
|
}
|
|
510
510
|
// Return the current state of the switch.
|
|
511
|
-
service.getCharacteristic(this.hap.Characteristic.On)
|
|
511
|
+
service.getCharacteristic(this.hap.Characteristic.On).onGet(() => this.status.konnectedStrobe);
|
|
512
512
|
// Open or close the switch.
|
|
513
|
-
service.getCharacteristic(this.hap.Characteristic.On)
|
|
513
|
+
service.getCharacteristic(this.hap.Characteristic.On).onSet((value) => this.command("konnected-strobe", value === true ? "on" : "off"));
|
|
514
514
|
// Initialize the switch.
|
|
515
515
|
service.updateCharacteristic(this.hap.Characteristic.On, this.status.konnectedStrobe);
|
|
516
516
|
this.log.info("Enabling the Konnected strobe switch.");
|
|
@@ -529,15 +529,15 @@ export class RatgdoAccessory {
|
|
|
529
529
|
return false;
|
|
530
530
|
}
|
|
531
531
|
// Return the current state of the opener. We're on if we are in any state other than locked.
|
|
532
|
-
service.getCharacteristic(this.hap.Characteristic.On)
|
|
532
|
+
service.getCharacteristic(this.hap.Characteristic.On).onGet(() => this.status.lock === this.hap.Characteristic.LockCurrentState.SECURED);
|
|
533
533
|
// Lock or unlock the wireless remotes.
|
|
534
|
-
service.getCharacteristic(this.hap.Characteristic.On)
|
|
534
|
+
service.getCharacteristic(this.hap.Characteristic.On).onSet((value) => {
|
|
535
535
|
// Inform the user.
|
|
536
536
|
this.log.info("Automation wireless remote lockout switch: remotes are %s.", value ? "locked out" : "permitted");
|
|
537
537
|
// Send the command.
|
|
538
538
|
if (!this.command("lock", value ? "lock" : "unlock")) {
|
|
539
539
|
// Something went wrong. Let's make sure we revert the switch to it's prior state.
|
|
540
|
-
setTimeout(() => service
|
|
540
|
+
setTimeout(() => service.updateCharacteristic(this.hap.Characteristic.On, !value), 50);
|
|
541
541
|
}
|
|
542
542
|
});
|
|
543
543
|
// Initialize the switch.
|
|
@@ -841,8 +841,10 @@ export class RatgdoAccessory {
|
|
|
841
841
|
this.status.door = this.hap.Characteristic.CurrentDoorState.CLOSED;
|
|
842
842
|
break;
|
|
843
843
|
}
|
|
844
|
-
// We
|
|
845
|
-
//
|
|
844
|
+
// We only update the target state if our current state is NOT stopped. If we are stopped, we are at the target state by definition. When the user resumes the
|
|
845
|
+
// door operation, it will complete the action. Put another way, when we enter a stopped state, HomeKit essentially is pausing the action. When we tell the
|
|
846
|
+
// opener to open/close, it will continue the action it had previously begun before stopping. Additionally, we always want to ensure we update TargetDoorState
|
|
847
|
+
// before updating CurrentDoorState in order to work around some notification sequencing quirks HomeKit occasionally has.
|
|
846
848
|
if (this.status.door !== this.hap.Characteristic.CurrentDoorState.STOPPED) {
|
|
847
849
|
garageDoorService?.updateCharacteristic(this.hap.Characteristic.TargetDoorState, this.doorTargetStateBias(this.status.door));
|
|
848
850
|
}
|
|
@@ -957,30 +959,27 @@ export class RatgdoAccessory {
|
|
|
957
959
|
case "door":
|
|
958
960
|
switch (payload) {
|
|
959
961
|
case "closed":
|
|
960
|
-
action =
|
|
962
|
+
action = { position: 0.0 };
|
|
961
963
|
break;
|
|
962
964
|
case "open":
|
|
965
|
+
action = { position: 1.0 };
|
|
966
|
+
break;
|
|
963
967
|
case "stop":
|
|
964
|
-
action =
|
|
968
|
+
action = { stop: true };
|
|
965
969
|
break;
|
|
966
970
|
case "set":
|
|
967
971
|
if (position === undefined) {
|
|
968
972
|
this.log.error("Invalid door set command received: no position specified.");
|
|
969
973
|
return false;
|
|
970
974
|
}
|
|
971
|
-
action =
|
|
975
|
+
action = { position: position / 100 };
|
|
972
976
|
break;
|
|
973
977
|
default:
|
|
974
978
|
this.log.error("Unknown door command received: %s.", payload);
|
|
975
979
|
return false;
|
|
976
980
|
}
|
|
977
|
-
// Set the door position to the requested percentage.
|
|
978
|
-
if (position !== undefined) {
|
|
979
|
-
this.platform.espHomeApi[this.device.mac].sendCoverCommand("cover-" + ((this.device.variant === RatgdoVariant.KONNECTED) ? "garage_door" : "door"), { position: position / 100 });
|
|
980
|
-
return true;
|
|
981
|
-
}
|
|
982
981
|
// Execute the command.
|
|
983
|
-
this.platform.espHomeApi[this.device.mac].sendCoverCommand("cover-" + ((this.device.variant === RatgdoVariant.KONNECTED) ? "garage_door" : "door"),
|
|
982
|
+
this.platform.espHomeApi[this.device.mac].sendCoverCommand("cover-" + ((this.device.variant === RatgdoVariant.KONNECTED) ? "garage_door" : "door"), action);
|
|
984
983
|
break;
|
|
985
984
|
case "konnected-pcw":
|
|
986
985
|
this.platform.espHomeApi[this.device.mac].sendButtonCommand("button-pre-close_warning");
|
|
@@ -1101,7 +1100,7 @@ export class RatgdoAccessory {
|
|
|
1101
1100
|
return name;
|
|
1102
1101
|
}
|
|
1103
1102
|
name = this.accessory.displayName;
|
|
1104
|
-
if (name
|
|
1103
|
+
if (name.length) {
|
|
1105
1104
|
return name;
|
|
1106
1105
|
}
|
|
1107
1106
|
// If we don't have a name for the garage door service, return the device name from Ratgdo.
|
|
@@ -1109,7 +1108,8 @@ export class RatgdoAccessory {
|
|
|
1109
1108
|
}
|
|
1110
1109
|
// Utility function to return the current accessory name of this device.
|
|
1111
1110
|
get accessoryName() {
|
|
1112
|
-
return this.accessory.getService(this.hap.Service.AccessoryInformation)?.getCharacteristic(this.hap.Characteristic.Name).value ??
|
|
1111
|
+
return this.accessory.getService(this.hap.Service.AccessoryInformation)?.getCharacteristic(this.hap.Characteristic.Name).value ??
|
|
1112
|
+
this.device.name;
|
|
1113
1113
|
}
|
|
1114
1114
|
// Utility function to set the current accessory name of this device.
|
|
1115
1115
|
set accessoryName(name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ratgdo-device.js","sourceRoot":"","sources":["../src/ratgdo-device.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ratgdo-device.js","sourceRoot":"","sources":["../src/ratgdo-device.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,18 +11,17 @@ export declare class RatgdoPlatform implements DynamicPlatformPlugin {
|
|
|
11
11
|
readonly espHomeApi: {
|
|
12
12
|
[index: string]: EspHomeClient;
|
|
13
13
|
};
|
|
14
|
-
private readonly espHomeEvents;
|
|
15
14
|
private readonly heartbeatTimers;
|
|
16
15
|
featureOptions: FeatureOptions;
|
|
17
16
|
config: RatgdoOptions;
|
|
18
17
|
readonly configOptions: string[];
|
|
19
18
|
readonly configuredDevices: {
|
|
20
|
-
[index: string]: RatgdoAccessory;
|
|
19
|
+
[index: string]: RatgdoAccessory | undefined;
|
|
21
20
|
};
|
|
22
21
|
readonly hap: HAP;
|
|
23
22
|
readonly log: Logging;
|
|
24
23
|
readonly mqtt: Nullable<MqttClient>;
|
|
25
|
-
constructor(log: Logging, config: PlatformConfig, api: API);
|
|
24
|
+
constructor(log: Logging, config: PlatformConfig | undefined, api: API);
|
|
26
25
|
configureAccessory(accessory: PlatformAccessory): void;
|
|
27
26
|
private configureRatgdo;
|
|
28
27
|
private discoverRatgdoDevice;
|
package/dist/ratgdo-platform.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Bonjour } from "bonjour-service";
|
|
2
|
-
import { EspHomeClient } from "esphome-client";
|
|
2
|
+
import { EspHomeClient, LogLevel } from "esphome-client";
|
|
3
3
|
import { RatgdoAccessory } from "./ratgdo-device.js";
|
|
4
|
-
import { EventSource } from "undici";
|
|
5
4
|
import { FeatureOptions, MqttClient, sanitizeName } from "homebridge-plugin-utils";
|
|
6
5
|
import { PLATFORM_NAME, PLUGIN_NAME, RATGDO_API_HEARTBEAT_DURATION, RATGDO_AUTODISCOVERY_INTERVAL, RATGDO_AUTODISCOVERY_PROJECT_NAMES, RATGDO_AUTODISCOVERY_TYPES, RATGDO_MQTT_TOPIC } from "./settings.js";
|
|
7
6
|
import { featureOptionCategories, featureOptions } from "./ratgdo-options.js";
|
|
@@ -13,7 +12,6 @@ export class RatgdoPlatform {
|
|
|
13
12
|
discoveredDevices;
|
|
14
13
|
listeners;
|
|
15
14
|
espHomeApi;
|
|
16
|
-
espHomeEvents;
|
|
17
15
|
heartbeatTimers;
|
|
18
16
|
featureOptions;
|
|
19
17
|
config;
|
|
@@ -30,7 +28,6 @@ export class RatgdoPlatform {
|
|
|
30
28
|
this.configuredDevices = {};
|
|
31
29
|
this.discoveredDevices = {};
|
|
32
30
|
this.espHomeApi = {};
|
|
33
|
-
this.espHomeEvents = {};
|
|
34
31
|
this.featureOptions = new FeatureOptions(featureOptionCategories, featureOptions, config?.options);
|
|
35
32
|
this.hap = api.hap;
|
|
36
33
|
this.listeners = {};
|
|
@@ -59,23 +56,17 @@ export class RatgdoPlatform {
|
|
|
59
56
|
api.on("shutdown" /* APIEvent.SHUTDOWN */, () => {
|
|
60
57
|
// Stop any open heartbeat timers.
|
|
61
58
|
Object.values(this.heartbeatTimers).map(timer => clearTimeout(timer));
|
|
62
|
-
// Cleanup and close our events connection.
|
|
63
|
-
Object.keys(this.espHomeEvents).map(mac => {
|
|
64
|
-
this.espHomeEvents[mac].removeEventListener("log", this.listeners[mac].log);
|
|
65
|
-
delete this.listeners[mac].log;
|
|
66
|
-
this.espHomeEvents[mac].close();
|
|
67
|
-
});
|
|
68
59
|
// Cleanup and close our API connection.
|
|
69
60
|
Object.keys(this.listeners).map(mac => {
|
|
70
61
|
Object.keys(this.listeners[mac]).map(event => {
|
|
71
62
|
this.espHomeApi[mac].off(event, this.listeners[mac][event]);
|
|
72
63
|
delete this.listeners[mac][event];
|
|
73
64
|
});
|
|
74
|
-
this.espHomeApi[mac]
|
|
65
|
+
this.espHomeApi[mac].disconnect();
|
|
75
66
|
delete this.espHomeApi[mac];
|
|
76
67
|
});
|
|
77
68
|
// Inform our accessories we're going offline.
|
|
78
|
-
Object.values(this.configuredDevices).map(device => device
|
|
69
|
+
Object.values(this.configuredDevices).map(device => device?.updateState({ id: "availability", state: "offline" }));
|
|
79
70
|
});
|
|
80
71
|
}
|
|
81
72
|
// This gets called when homebridge restores cached accessories at startup. We intentionally avoid doing anything significant here, and save all that logic for device
|
|
@@ -86,15 +77,6 @@ export class RatgdoPlatform {
|
|
|
86
77
|
}
|
|
87
78
|
// Configure and connect to Ratgdo ESPHome clients.
|
|
88
79
|
configureRatgdo() {
|
|
89
|
-
// The EventSource API client is currently flagged as experimental in undici, though it's quite stable and solid already. We work around this issue by forcibly
|
|
90
|
-
// filtering out the warning.
|
|
91
|
-
process.removeAllListeners("warning").on("warning", (warning) => {
|
|
92
|
-
if ((warning.code === "UNDICI-ES") && (warning.message === "EventSource is experimental, expect them to change at any time.")) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
// eslint-disable-next-line no-console
|
|
96
|
-
console.warn(warning);
|
|
97
|
-
});
|
|
98
80
|
// Instantiate our mDNS stack.
|
|
99
81
|
const mdns = new Bonjour();
|
|
100
82
|
// Make sure we cleanup our mDNS client on shutdown.
|
|
@@ -112,7 +94,7 @@ export class RatgdoPlatform {
|
|
|
112
94
|
discoverRatgdoDevice(service) {
|
|
113
95
|
// We're only interested in ESPHome Ratgdo devices (and compatible variants) with valid MAC and IP addresses. Otherwise, we're done.
|
|
114
96
|
if ((!service.txt?.esphome_version && !service.txt?.version) || !service.txt?.mac || !service.addresses ||
|
|
115
|
-
!RATGDO_AUTODISCOVERY_PROJECT_NAMES.some(project => service.txt
|
|
97
|
+
!RATGDO_AUTODISCOVERY_PROJECT_NAMES.some(project => service.txt.project_name?.match(project))) {
|
|
116
98
|
return;
|
|
117
99
|
}
|
|
118
100
|
// We grab the first address provided for the ESPHome device.
|
|
@@ -124,35 +106,15 @@ export class RatgdoPlatform {
|
|
|
124
106
|
return;
|
|
125
107
|
}
|
|
126
108
|
this.listeners[ratgdo.device.mac] = {};
|
|
127
|
-
// Battery status is only available to us through log entries made by the SSE/EventSource API. The native API doesn't expose battery state yet.
|
|
128
|
-
if (ratgdo.hints.discoBattery) {
|
|
129
|
-
// Connect to the Ratgdo ESPHome events API.
|
|
130
|
-
this.espHomeEvents[ratgdo.device.mac] = new EventSource("http://" + address + "/events");
|
|
131
|
-
// Capture log updates from the controller.
|
|
132
|
-
this.espHomeEvents[ratgdo.device.mac].addEventListener("log", this.listeners[ratgdo.device.mac].log = (event) => {
|
|
133
|
-
const message = event;
|
|
134
|
-
ratgdo.log.debug("Log event received: %s", util.inspect(message.data, { sorted: true }));
|
|
135
|
-
// Ratgdo occasionally sends empty status updates - we ignore them.
|
|
136
|
-
if (!message.data.length) {
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
// Grab the battery state, when logged.
|
|
140
|
-
const batteryState = message.data.match(/\bBattery state=(.+?)\b/);
|
|
141
|
-
// We've got a battery state update, inform the Ratgdo.
|
|
142
|
-
if (batteryState) {
|
|
143
|
-
ratgdo.log.debug("BATTERY STATE UPDATE: \"%s\"", batteryState[1]);
|
|
144
|
-
ratgdo.updateState({ id: "battery", state: batteryState[1] });
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
109
|
this.espHomeApi[ratgdo.device.mac] = new EspHomeClient({
|
|
110
|
+
clientId: "homebridge-ratgdo",
|
|
149
111
|
host: address,
|
|
150
112
|
logger: ratgdo.log,
|
|
151
113
|
psk: this.featureOptions.value("Device.Encryption.Key", ratgdo.device.mac)
|
|
152
114
|
});
|
|
153
115
|
// Kickoff our heartbeats only the very first time we connect.
|
|
154
|
-
this.espHomeApi[ratgdo.device.mac].once("deviceInfo", (info
|
|
155
|
-
this.beat(ratgdo, { encrypted, info });
|
|
116
|
+
this.espHomeApi[ratgdo.device.mac].once("deviceInfo", (info) => {
|
|
117
|
+
this.beat(ratgdo, { encrypted: this.espHomeApi[ratgdo.device.mac].isEncrypted, info });
|
|
156
118
|
// Heartbeat our Ratgdo.
|
|
157
119
|
this.espHomeApi[ratgdo.device.mac].on("message", this.listeners[ratgdo.device.mac].message = () => this.beat(ratgdo));
|
|
158
120
|
});
|
|
@@ -172,15 +134,16 @@ export class RatgdoPlatform {
|
|
|
172
134
|
// Process telemetry from the Ratgdo.
|
|
173
135
|
this.espHomeApi[ratgdo.device.mac].on("telemetry", (data) => {
|
|
174
136
|
const payload = { id: (data.type + "-" + data.entity).replace(/ /g, "_").toLowerCase(), state: "" };
|
|
137
|
+
ratgdo.log.debug("%s", util.inspect(data, { colors: true, depth: null, sorted: true }));
|
|
175
138
|
switch (data.type) {
|
|
176
139
|
case "binary_sensor":
|
|
177
|
-
case "light":
|
|
178
140
|
case "switch":
|
|
179
|
-
payload.state = data.
|
|
141
|
+
payload.state = data.state ? "ON" : "OFF";
|
|
180
142
|
break;
|
|
181
143
|
case "cover":
|
|
144
|
+
// @ts-expect-error For Konnected devices, they use door_cover instead of cover. We capture it here, but it doesn't really comply with ESPHome's client protocol.
|
|
145
|
+
// eslint-disable-next-line no-fallthrough
|
|
182
146
|
case "door_cover":
|
|
183
|
-
// data: {"id":"cover-door","value":0,"state":"CLOSED","current_operation":"IDLE","position":0}
|
|
184
147
|
payload.state = data.position ? "OPEN" : "CLOSED";
|
|
185
148
|
switch (data.currentOperation) {
|
|
186
149
|
case 1:
|
|
@@ -200,8 +163,11 @@ export class RatgdoPlatform {
|
|
|
200
163
|
}
|
|
201
164
|
payload.position = data.position;
|
|
202
165
|
break;
|
|
166
|
+
case "light":
|
|
167
|
+
payload.state = data.state ? "ON" : "OFF";
|
|
168
|
+
break;
|
|
203
169
|
case "lock":
|
|
204
|
-
switch (data.
|
|
170
|
+
switch (data.state) {
|
|
205
171
|
case 1:
|
|
206
172
|
payload.state = "LOCKED";
|
|
207
173
|
break;
|
|
@@ -214,14 +180,49 @@ export class RatgdoPlatform {
|
|
|
214
180
|
}
|
|
215
181
|
break;
|
|
216
182
|
case "button":
|
|
183
|
+
payload.state = data.pressed ? "PRESSED" : "";
|
|
184
|
+
break;
|
|
217
185
|
case "sensor":
|
|
218
|
-
|
|
186
|
+
payload.state = (typeof data.state === "number") ? data.state.toString() : "";
|
|
187
|
+
break;
|
|
219
188
|
default:
|
|
220
|
-
payload.state = (typeof data.value === "number") ? data.value.toString() : data.value;
|
|
221
189
|
break;
|
|
222
190
|
}
|
|
223
191
|
ratgdo.updateState(payload);
|
|
224
192
|
});
|
|
193
|
+
// Battery status is only available to us through log entries made by the Ratgdo.
|
|
194
|
+
if (ratgdo.hints.discoBattery) {
|
|
195
|
+
// Subscribe to our logs when we connect.
|
|
196
|
+
this.espHomeApi[ratgdo.device.mac].on("connect", this.listeners[ratgdo.device.mac].logSubscribe = () => this.espHomeApi[ratgdo.device.mac].subscribeToLogs(LogLevel.VERBOSE));
|
|
197
|
+
// Process log events from the Ratgdo.
|
|
198
|
+
this.espHomeApi[ratgdo.device.mac].on("log", this.listeners[ratgdo.device.mac].log = (logEntry) => {
|
|
199
|
+
ratgdo.log.debug("Log event received: %s", util.inspect(logEntry, { sorted: true }));
|
|
200
|
+
// Ratgdo occasionally sends empty status updates - we ignore them.
|
|
201
|
+
if (!logEntry.message.length) {
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
// Grab the battery state, when logged.
|
|
205
|
+
const batteryState = logEntry.message.match(/\bBattery state=(.+?)\b/);
|
|
206
|
+
// We've got a battery state update, inform the Ratgdo.
|
|
207
|
+
if (batteryState) {
|
|
208
|
+
let actualState;
|
|
209
|
+
// Unfortunately, the current Ratgdo firmwares seems to conflate charging and full status. We workaround that here.
|
|
210
|
+
switch (batteryState[1]) {
|
|
211
|
+
case "CHARGING":
|
|
212
|
+
actualState = "FULL";
|
|
213
|
+
break;
|
|
214
|
+
case "FULL":
|
|
215
|
+
actualState = "CHARGING";
|
|
216
|
+
break;
|
|
217
|
+
default:
|
|
218
|
+
actualState = batteryState[1];
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
221
|
+
ratgdo.log.debug("Battery state update: \"%s\" mapping it to: %s", batteryState[1], actualState);
|
|
222
|
+
ratgdo.updateState({ id: "battery", state: actualState });
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
}
|
|
225
226
|
this.espHomeApi[ratgdo.device.mac].connect();
|
|
226
227
|
}
|
|
227
228
|
// Configure a discovered garage door opener.
|
|
@@ -239,13 +240,14 @@ export class RatgdoPlatform {
|
|
|
239
240
|
// Our device details.
|
|
240
241
|
const device = {
|
|
241
242
|
address: address,
|
|
242
|
-
firmwareVersion: deviceInfo.version ?? deviceInfo.esphome_version,
|
|
243
|
+
firmwareVersion: deviceInfo.version ?? deviceInfo.esphome_version ?? "0.0.0",
|
|
243
244
|
mac: mac.replace(/:/g, ""),
|
|
245
|
+
model: deviceInfo.project_version,
|
|
244
246
|
name: this.featureOptions.value("Device.LogName", mac.replace(/:/g, "")) ?? deviceInfo.friendly_name ?? "Ratgdo",
|
|
245
247
|
variant: (deviceInfo.project_name === "ratgdo.esphome") ? RatgdoVariant.RATGDO : RatgdoVariant.KONNECTED
|
|
246
248
|
};
|
|
247
249
|
// Inform the user that we've discovered a device.
|
|
248
|
-
this.log.info("Discovered: %s (address: %s mac: %s
|
|
250
|
+
this.log.info("Discovered: %s (address: %s mac: %s firmware: v%s variant: %s%s).", device.name, device.address, device.mac, device.firmwareVersion, device.variant, device.model ? (" [" + device.model + "]") : "");
|
|
249
251
|
// Mark it as discovered.
|
|
250
252
|
this.discoveredDevices[mac] = true;
|
|
251
253
|
// Check to see if the user has disabled the device.
|
|
@@ -274,7 +276,7 @@ export class RatgdoPlatform {
|
|
|
274
276
|
this.accessories.push(accessory);
|
|
275
277
|
}
|
|
276
278
|
// Inform the user.
|
|
277
|
-
this.log.info("Configuring: %s (address: %s mac: %s
|
|
279
|
+
this.log.info("Configuring: %s (address: %s mac: %s firmware: v%s variant: %s%s).", device.name, device.address, device.mac, device.firmwareVersion, device.variant, device.model ? (" [" + device.model + "]") : "");
|
|
278
280
|
// Add it to our list of configured devices.
|
|
279
281
|
this.configuredDevices[uuid] = new RatgdoAccessory(this, accessory, device);
|
|
280
282
|
// Refresh the accessory cache.
|
|
@@ -288,6 +290,7 @@ export class RatgdoPlatform {
|
|
|
288
290
|
if (options.info) {
|
|
289
291
|
ratgdo.device.model = options.info.projectVersion;
|
|
290
292
|
}
|
|
293
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
291
294
|
if (this.heartbeatTimers[ratgdo.device.mac]) {
|
|
292
295
|
clearTimeout(this.heartbeatTimers[ratgdo.device.mac]);
|
|
293
296
|
clearTimeout(this.heartbeatTimers[ratgdo.device.mac + ".reconnect"]);
|
|
@@ -303,6 +306,7 @@ export class RatgdoPlatform {
|
|
|
303
306
|
// Reset our timer.
|
|
304
307
|
this.heartbeatTimers[ratgdo.device.mac] = setTimeout(() => {
|
|
305
308
|
// The API instance is no longer available due to plugin shutdown. We're done.
|
|
309
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
306
310
|
if (!this.espHomeApi[ratgdo.device.mac]) {
|
|
307
311
|
return;
|
|
308
312
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ratgdo-platform.js","sourceRoot":"","sources":["../src/ratgdo-platform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ratgdo-platform.js","sourceRoot":"","sources":["../src/ratgdo-platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,9 +75,9 @@ export class FeatureOptions {
|
|
|
75
75
|
this.defaultReturnValue = false;
|
|
76
76
|
this.defaults = {};
|
|
77
77
|
this.valueOptions = {};
|
|
78
|
-
this.categories = categories
|
|
78
|
+
this.categories = categories;
|
|
79
79
|
this.configuredOptions = configuredOptions;
|
|
80
|
-
this.options = options
|
|
80
|
+
this.options = options;
|
|
81
81
|
}
|
|
82
82
|
/**
|
|
83
83
|
* Return a Bootstrap-specific color reference depending on the scope of a given feature option.
|
|
@@ -174,9 +174,7 @@ export class FeatureOptions {
|
|
|
174
174
|
* @returns Returns true if the option is set at the device or controller level and false otherwise.
|
|
175
175
|
*/
|
|
176
176
|
isScopeDevice(option, device) {
|
|
177
|
-
|
|
178
|
-
// Return the value if it's set, or the default value for this option.
|
|
179
|
-
return (value !== undefined) ? value : this.defaultValue(option);
|
|
177
|
+
return this.exists(option, device);
|
|
180
178
|
}
|
|
181
179
|
/**
|
|
182
180
|
* Return whether an option has been set in the global scope context.
|
|
@@ -186,9 +184,7 @@ export class FeatureOptions {
|
|
|
186
184
|
* @returns Returns true if the option is set globally and false otherwise.
|
|
187
185
|
*/
|
|
188
186
|
isScopeGlobal(option) {
|
|
189
|
-
|
|
190
|
-
// Return the value if it's set, or the default value for this option.
|
|
191
|
-
return (value !== undefined) ? value : this.defaultValue(option);
|
|
187
|
+
return this.exists(option);
|
|
192
188
|
}
|
|
193
189
|
/**
|
|
194
190
|
* Return whether an option is value-centric or not.
|
|
@@ -320,6 +316,7 @@ export class FeatureOptions {
|
|
|
320
316
|
* @param options - Array of configured feature options.
|
|
321
317
|
*/
|
|
322
318
|
set configuredOptions(options) {
|
|
319
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
323
320
|
this._configuredOptions = options ?? [];
|
|
324
321
|
}
|
|
325
322
|
/**
|
|
@@ -344,6 +341,7 @@ export class FeatureOptions {
|
|
|
344
341
|
* @param options - Array of available feature options.
|
|
345
342
|
*/
|
|
346
343
|
set options(options) {
|
|
344
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
347
345
|
this._options = options ?? {};
|
|
348
346
|
// Regenerate our defaults.
|
|
349
347
|
this.generateDefaults();
|
|
@@ -355,6 +353,7 @@ export class FeatureOptions {
|
|
|
355
353
|
this.valueOptions = {};
|
|
356
354
|
for (const category of this.categories) {
|
|
357
355
|
// If the category doesn't exist, let's skip it.
|
|
356
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
358
357
|
if (!this.options[category.name]) {
|
|
359
358
|
continue;
|
|
360
359
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"featureoptions.js","sourceRoot":"","sources":["../src/featureoptions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0DH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,OAAO,cAAc;IAEzB;;OAEG;IACI,kBAAkB,CAAU;IAE3B,WAAW,CAAyB;IACpC,kBAAkB,CAAW;IAC7B,OAAO,CAAgC;IACvC,QAAQ,CAA4C;IACpD,QAAQ,CAA+B;IACvC,YAAY,CAAmD;IAEvE;;;;;;;;;;;;OAYG;IACH,YAAY,UAAkC,EAAE,OAAkD,EAAE,iBAAiB,GAAG,EAAE;QAExH,2BAA2B;QAC3B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,UAAU,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"featureoptions.js","sourceRoot":"","sources":["../src/featureoptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -156,6 +156,9 @@ import { FeatureOptions} from "./featureoptions.js";
|
|
|
156
156
|
*/
|
|
157
157
|
export class webUiFeatureOptions {
|
|
158
158
|
|
|
159
|
+
// Map of category UI state indexed by context key (serial number or "global").
|
|
160
|
+
#categoryStates;
|
|
161
|
+
|
|
159
162
|
// Table containing the currently displayed feature options.
|
|
160
163
|
#configTable;
|
|
161
164
|
|
|
@@ -241,6 +244,7 @@ export class webUiFeatureOptions {
|
|
|
241
244
|
} = options;
|
|
242
245
|
|
|
243
246
|
// Initialize all our properties. We cache DOM elements for performance and maintain state for the current controller and device context.
|
|
247
|
+
this.#categoryStates = {};
|
|
244
248
|
this.#configTable = document.getElementById("configTable");
|
|
245
249
|
this.#controller = null;
|
|
246
250
|
this.#controllersContainer = document.getElementById("controllersContainer");
|
|
@@ -476,19 +480,18 @@ export class webUiFeatureOptions {
|
|
|
476
480
|
|
|
477
481
|
const isCollapsed = tbody.style.display === "none";
|
|
478
482
|
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
const arrow = table.querySelector(".arrow");
|
|
483
|
+
// Use the shared method to update the state.
|
|
484
|
+
this.#setCategoryState(table, !isCollapsed);
|
|
482
485
|
|
|
483
|
-
|
|
486
|
+
document.getElementById("toggleAllCategories")?.updateState?.();
|
|
484
487
|
|
|
485
|
-
|
|
486
|
-
|
|
488
|
+
// Save the state after toggling this category.
|
|
489
|
+
const currentContext = this.#getCurrentContextKey();
|
|
487
490
|
|
|
488
|
-
|
|
489
|
-
headerCell.setAttribute("aria-expanded", isCollapsed ? "true" : "false");
|
|
491
|
+
if(currentContext) {
|
|
490
492
|
|
|
491
|
-
|
|
493
|
+
this.#saveCategoryStates(currentContext);
|
|
494
|
+
}
|
|
492
495
|
}
|
|
493
496
|
|
|
494
497
|
return;
|
|
@@ -556,13 +559,11 @@ export class webUiFeatureOptions {
|
|
|
556
559
|
|
|
557
560
|
const searchInput = event.target;
|
|
558
561
|
|
|
559
|
-
if(
|
|
562
|
+
if(searchInput._searchTimeout) {
|
|
560
563
|
|
|
561
|
-
searchInput._searchTimeout
|
|
564
|
+
clearTimeout(searchInput._searchTimeout);
|
|
562
565
|
}
|
|
563
566
|
|
|
564
|
-
clearTimeout(searchInput._searchTimeout);
|
|
565
|
-
|
|
566
567
|
searchInput._searchTimeout = setTimeout(() => {
|
|
567
568
|
|
|
568
569
|
this.#handleSearch(searchInput.value.trim(),
|
|
@@ -691,6 +692,35 @@ export class webUiFeatureOptions {
|
|
|
691
692
|
}
|
|
692
693
|
}
|
|
693
694
|
|
|
695
|
+
/**
|
|
696
|
+
* Set the expansion state of a category table.
|
|
697
|
+
*
|
|
698
|
+
* @param {HTMLTableElement} table - The category table element.
|
|
699
|
+
* @param {boolean} isCollapsed - True to collapse, false to expand.
|
|
700
|
+
* @private
|
|
701
|
+
*/
|
|
702
|
+
#setCategoryState(table, isCollapsed) {
|
|
703
|
+
|
|
704
|
+
const tbody = table.querySelector("tbody");
|
|
705
|
+
const arrow = table.querySelector(".arrow");
|
|
706
|
+
const headerCell = table.querySelector("thead th[role='button']");
|
|
707
|
+
|
|
708
|
+
if(tbody) {
|
|
709
|
+
|
|
710
|
+
tbody.style.display = isCollapsed ? "none" : "";
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
if(arrow) {
|
|
714
|
+
|
|
715
|
+
arrow.textContent = isCollapsed ? "\u25B6 " : "\u25BC ";
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
if(headerCell) {
|
|
719
|
+
|
|
720
|
+
headerCell.setAttribute("aria-expanded", isCollapsed ? "false" : "true");
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
|
|
694
724
|
/**
|
|
695
725
|
* Hide the feature options webUI and clean up all resources.
|
|
696
726
|
*
|
|
@@ -726,6 +756,13 @@ export class webUiFeatureOptions {
|
|
|
726
756
|
*/
|
|
727
757
|
#showGlobalOptions() {
|
|
728
758
|
|
|
759
|
+
// Save the current UI state before switching contexts.
|
|
760
|
+
const previousContext = this.#getCurrentContextKey();
|
|
761
|
+
|
|
762
|
+
if(previousContext && this.#configTable.querySelector("table[data-category]")) {
|
|
763
|
+
|
|
764
|
+
this.#saveCategoryStates(previousContext);
|
|
765
|
+
}
|
|
729
766
|
|
|
730
767
|
// Clear the devices container since global options don't have associated devices, but only when we have controllers defined.
|
|
731
768
|
if(this.#getControllers) {
|
|
@@ -750,6 +787,14 @@ export class webUiFeatureOptions {
|
|
|
750
787
|
*/
|
|
751
788
|
async #showControllerOptions(controllerSerial) {
|
|
752
789
|
|
|
790
|
+
// Save the current UI state before switching contexts.
|
|
791
|
+
const previousContext = this.#getCurrentContextKey();
|
|
792
|
+
|
|
793
|
+
if(previousContext && this.#configTable.querySelector("table[data-category]")) {
|
|
794
|
+
|
|
795
|
+
this.#saveCategoryStates(previousContext);
|
|
796
|
+
}
|
|
797
|
+
|
|
753
798
|
const entry = (await this.#getControllers())?.find(c => c.serialNumber === controllerSerial);
|
|
754
799
|
|
|
755
800
|
if(!entry) {
|
|
@@ -788,6 +833,23 @@ export class webUiFeatureOptions {
|
|
|
788
833
|
// Make sure we have the refreshed configuration. This ensures we're always working with the latest saved settings.
|
|
789
834
|
this.currentConfig = await homebridge.getPluginConfig();
|
|
790
835
|
|
|
836
|
+
// Load any persisted UI states from localStorage.
|
|
837
|
+
try {
|
|
838
|
+
|
|
839
|
+
const storageKey = "homebridge-" + (this.currentConfig[0]?.platform ?? "plugin") + "-category-states";
|
|
840
|
+
const stored = window.localStorage.getItem(storageKey);
|
|
841
|
+
|
|
842
|
+
if(stored) {
|
|
843
|
+
|
|
844
|
+
this.#categoryStates = JSON.parse(stored);
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
// eslint-disable-next-line no-unused-vars
|
|
848
|
+
} catch(error) {
|
|
849
|
+
|
|
850
|
+
this.#categoryStates = {};
|
|
851
|
+
}
|
|
852
|
+
|
|
791
853
|
// Keep our revert snapshot aligned with whatever was *last saved* (not just first render).
|
|
792
854
|
// We compare to the current config and update the snapshot if it differs, so "Revert to Saved" reflects the latest saved state.
|
|
793
855
|
const loadedOptions = (this.currentConfig[0]?.options ?? []);
|
|
@@ -1281,6 +1343,15 @@ export class webUiFeatureOptions {
|
|
|
1281
1343
|
|
|
1282
1344
|
homebridge.showSpinner();
|
|
1283
1345
|
|
|
1346
|
+
// Retrieve our current context before we change the active link.
|
|
1347
|
+
const previousActive = this.#devicesContainer.querySelector(".nav-link.active[data-navigation='device']");
|
|
1348
|
+
|
|
1349
|
+
// Save the current category UI state before switching contexts.
|
|
1350
|
+
if(previousActive && (previousActive.name !== deviceId) && this.#configTable.querySelector("table[data-category]")) {
|
|
1351
|
+
|
|
1352
|
+
this.#saveCategoryStates(previousActive.name);
|
|
1353
|
+
}
|
|
1354
|
+
|
|
1284
1355
|
// Clean up event listeners from previous option displays. This ensures we don't accumulate listeners as users navigate between devices.
|
|
1285
1356
|
this.#cleanupOptionEventListeners();
|
|
1286
1357
|
|
|
@@ -1301,6 +1372,9 @@ export class webUiFeatureOptions {
|
|
|
1301
1372
|
// Create option tables for each category. Categories group related options together for better organization.
|
|
1302
1373
|
this.#createOptionTables(currentDevice);
|
|
1303
1374
|
|
|
1375
|
+
// Restore saved category UI state context for this device.
|
|
1376
|
+
this.#restoreCategoryStates(deviceId);
|
|
1377
|
+
|
|
1304
1378
|
// Set up search functionality if available. This includes debounced search and keyboard shortcuts.
|
|
1305
1379
|
this.#setupSearchFunctionality();
|
|
1306
1380
|
|
|
@@ -1809,6 +1883,14 @@ export class webUiFeatureOptions {
|
|
|
1809
1883
|
}
|
|
1810
1884
|
|
|
1811
1885
|
toggleBtn.updateState();
|
|
1886
|
+
|
|
1887
|
+
// Save the category UI state after toggling all categories.
|
|
1888
|
+
const currentContext = this.#getCurrentContextKey();
|
|
1889
|
+
|
|
1890
|
+
if(currentContext) {
|
|
1891
|
+
|
|
1892
|
+
this.#saveCategoryStates(currentContext);
|
|
1893
|
+
}
|
|
1812
1894
|
}
|
|
1813
1895
|
|
|
1814
1896
|
/**
|
|
@@ -1855,6 +1937,7 @@ export class webUiFeatureOptions {
|
|
|
1855
1937
|
// Create a unique id for the tbody so that the header can reference it for accessibility.
|
|
1856
1938
|
const tbodyId = "tbody-" + category.name.replace(/\s+/g, "-");
|
|
1857
1939
|
|
|
1940
|
+
// We default category tables to collapsed.
|
|
1858
1941
|
const tbody = this.#createElement("tbody", {
|
|
1859
1942
|
|
|
1860
1943
|
classList: [ "border", "category-border" ],
|
|
@@ -1935,6 +2018,7 @@ export class webUiFeatureOptions {
|
|
|
1935
2018
|
|
|
1936
2019
|
const scopeLabel = !currentDevice ? " (Global)" : (this.#ui.isController(currentDevice) ? " (Controller-specific)" : " (Device-specific)");
|
|
1937
2020
|
|
|
2021
|
+
// We default category tables to collapsed.
|
|
1938
2022
|
const th = this.#createElement("th", {
|
|
1939
2023
|
|
|
1940
2024
|
"aria-controls": tbodyId,
|
|
@@ -2204,6 +2288,98 @@ export class webUiFeatureOptions {
|
|
|
2204
2288
|
return label;
|
|
2205
2289
|
}
|
|
2206
2290
|
|
|
2291
|
+
/**
|
|
2292
|
+
* Save the current category UI state for the given context.
|
|
2293
|
+
*
|
|
2294
|
+
* @param {string} contextKey - The context identifier (device serial or "Global Options").
|
|
2295
|
+
* @private
|
|
2296
|
+
*/
|
|
2297
|
+
#saveCategoryStates(contextKey) {
|
|
2298
|
+
|
|
2299
|
+
const states = {};
|
|
2300
|
+
const tables = document.querySelectorAll("#configTable table[data-category]");
|
|
2301
|
+
|
|
2302
|
+
for(const table of tables) {
|
|
2303
|
+
|
|
2304
|
+
const categoryName = table.getAttribute("data-category");
|
|
2305
|
+
const tbody = table.querySelector("tbody");
|
|
2306
|
+
|
|
2307
|
+
if(tbody) {
|
|
2308
|
+
|
|
2309
|
+
// Store true if collapsed (display: none), false if expanded.
|
|
2310
|
+
states[categoryName] = tbody.style.display === "none";
|
|
2311
|
+
}
|
|
2312
|
+
}
|
|
2313
|
+
|
|
2314
|
+
this.#categoryStates[contextKey] = states;
|
|
2315
|
+
|
|
2316
|
+
// Finally, we persist to localStorage to remember user preferences.
|
|
2317
|
+
try {
|
|
2318
|
+
|
|
2319
|
+
const storageKey = "homebridge-" + (this.currentConfig[0]?.platform ?? "plugin") + "-category-states";
|
|
2320
|
+
|
|
2321
|
+
window.localStorage.setItem(storageKey, JSON.stringify(this.#categoryStates));
|
|
2322
|
+
|
|
2323
|
+
// eslint-disable-next-line no-empty, no-unused-vars
|
|
2324
|
+
} catch(error) {
|
|
2325
|
+
|
|
2326
|
+
}
|
|
2327
|
+
}
|
|
2328
|
+
|
|
2329
|
+
/**
|
|
2330
|
+
* Restore saved category UI state for the given context.
|
|
2331
|
+
*
|
|
2332
|
+
* @param {string} contextKey - The context identifier (device serial or "Global Options").
|
|
2333
|
+
* @private
|
|
2334
|
+
*/
|
|
2335
|
+
#restoreCategoryStates(contextKey) {
|
|
2336
|
+
|
|
2337
|
+
const savedStates = this.#categoryStates[contextKey];
|
|
2338
|
+
|
|
2339
|
+
if(!savedStates) {
|
|
2340
|
+
|
|
2341
|
+
return;
|
|
2342
|
+
}
|
|
2343
|
+
|
|
2344
|
+
const tables = document.querySelectorAll("#configTable table[data-category]");
|
|
2345
|
+
|
|
2346
|
+
for(const table of tables) {
|
|
2347
|
+
|
|
2348
|
+
const categoryName = table.getAttribute("data-category");
|
|
2349
|
+
|
|
2350
|
+
if(categoryName in savedStates) {
|
|
2351
|
+
|
|
2352
|
+
this.#setCategoryState(table, savedStates[categoryName]);
|
|
2353
|
+
}
|
|
2354
|
+
}
|
|
2355
|
+
|
|
2356
|
+
// Update the toggle button state after restoring.
|
|
2357
|
+
document.getElementById("toggleAllCategories")?.updateState?.();
|
|
2358
|
+
}
|
|
2359
|
+
|
|
2360
|
+
/**
|
|
2361
|
+
* Get the current context key for UI state tracking.
|
|
2362
|
+
*
|
|
2363
|
+
* @returns {string} The context key for the current view.
|
|
2364
|
+
* @private
|
|
2365
|
+
*/
|
|
2366
|
+
#getCurrentContextKey() {
|
|
2367
|
+
|
|
2368
|
+
// Check devices first - if there's an active device, that's our context.
|
|
2369
|
+
const activeDevice = this.#devicesContainer.querySelector(".nav-link.active[data-navigation='device']");
|
|
2370
|
+
|
|
2371
|
+
if(activeDevice) {
|
|
2372
|
+
|
|
2373
|
+
return activeDevice.name;
|
|
2374
|
+
}
|
|
2375
|
+
|
|
2376
|
+
// No active device, so check for either the active controller or global context.
|
|
2377
|
+
const activeController = this.#controllersContainer.querySelector(".nav-link.active[data-navigation]");
|
|
2378
|
+
|
|
2379
|
+
// Default to our global options if we don't have a current controller.
|
|
2380
|
+
return (activeController?.name !== "Global Options") ? this.#devices[0].serialNumber : "Global Options";
|
|
2381
|
+
}
|
|
2382
|
+
|
|
2207
2383
|
/**
|
|
2208
2384
|
* Handle option state changes with full hierarchy and dependency management.
|
|
2209
2385
|
*
|
|
@@ -3511,6 +3687,7 @@ export class webUiFeatureOptions {
|
|
|
3511
3687
|
*/
|
|
3512
3688
|
cleanup() {
|
|
3513
3689
|
|
|
3690
|
+
this.#categoryStates = {};
|
|
3514
3691
|
this.#cleanupEventListeners();
|
|
3515
3692
|
this.#eventListeners.clear();
|
|
3516
3693
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-ratgdo",
|
|
3
3
|
"displayName": "Ratgdo",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.11.1",
|
|
5
5
|
"description": "HomeKit integration using Ratgdo and Konnected devices for LiftMaster and Chamberlain garage door openers, without requiring myQ.",
|
|
6
6
|
"license": "ISC",
|
|
7
7
|
"repository": {
|
|
@@ -41,19 +41,18 @@
|
|
|
41
41
|
"ratgdo"
|
|
42
42
|
],
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@stylistic/eslint-plugin": "5.
|
|
45
|
-
"@types/node": "24.
|
|
46
|
-
"eslint": "9.
|
|
44
|
+
"@stylistic/eslint-plugin": "5.3.1",
|
|
45
|
+
"@types/node": "24.3.0",
|
|
46
|
+
"eslint": "9.34.0",
|
|
47
47
|
"homebridge": "1.11.0",
|
|
48
48
|
"shx": "0.4.0",
|
|
49
49
|
"typescript": "5.9.2",
|
|
50
|
-
"typescript-eslint": "8.
|
|
50
|
+
"typescript-eslint": "8.41.0"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"@homebridge/plugin-ui-utils": "2.1.0",
|
|
54
54
|
"bonjour-service": "1.3.0",
|
|
55
|
-
"esphome-client": "1.
|
|
56
|
-
"homebridge-plugin-utils": "1.
|
|
57
|
-
"undici": "7.13.0"
|
|
55
|
+
"esphome-client": "1.1.2",
|
|
56
|
+
"homebridge-plugin-utils": "1.29.1"
|
|
58
57
|
}
|
|
59
58
|
}
|