homebridge-ratgdo 2.8.1 → 2.9.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/dist/ratgdo-api.d.ts +313 -0
- package/dist/ratgdo-api.js +960 -0
- package/dist/ratgdo-api.js.map +1 -0
- package/dist/ratgdo-device.d.ts +30 -2
- package/dist/ratgdo-device.js +50 -82
- package/dist/ratgdo-device.js.map +1 -1
- package/dist/ratgdo-platform.d.ts +8 -2
- package/dist/ratgdo-platform.js +143 -101
- package/dist/ratgdo-platform.js.map +1 -1
- package/dist/settings.d.ts +1 -3
- package/dist/settings.js +3 -6
- package/dist/settings.js.map +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ratgdo-api.js","sourceRoot":"","sources":["../src/ratgdo-api.ts"],"names":[],"mappings":"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"}
|
package/dist/ratgdo-device.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { PlatformAccessory } from "homebridge";
|
|
|
2
2
|
import { type HomebridgePluginLogging } from "homebridge-plugin-utils";
|
|
3
3
|
import { type RatgdoDevice } from "./ratgdo-types.js";
|
|
4
4
|
import type { RatgdoPlatform } from "./ratgdo-platform.js";
|
|
5
|
-
interface EspHomeEvent {
|
|
5
|
+
export interface EspHomeEvent {
|
|
6
6
|
current_operation?: string;
|
|
7
7
|
id: string;
|
|
8
8
|
name?: string;
|
|
@@ -10,6 +10,33 @@ interface EspHomeEvent {
|
|
|
10
10
|
state: string;
|
|
11
11
|
value?: string;
|
|
12
12
|
}
|
|
13
|
+
interface RatgdoHints {
|
|
14
|
+
automationDimmer: boolean;
|
|
15
|
+
automationSwitch: boolean;
|
|
16
|
+
discoBattery: boolean;
|
|
17
|
+
discoLaserSwitch: boolean;
|
|
18
|
+
discoLedSwitch: boolean;
|
|
19
|
+
discoVehicleArriving: boolean;
|
|
20
|
+
discoVehicleLeaving: boolean;
|
|
21
|
+
discoVehiclePresence: boolean;
|
|
22
|
+
doorOpenOccupancyDuration: number;
|
|
23
|
+
doorOpenOccupancySensor: boolean;
|
|
24
|
+
konnectedPcwSwitch: boolean;
|
|
25
|
+
konnectedStrobeSwitch: boolean;
|
|
26
|
+
light: boolean;
|
|
27
|
+
lock: boolean;
|
|
28
|
+
lockoutSwitch: boolean;
|
|
29
|
+
logLight: boolean;
|
|
30
|
+
logMotion: boolean;
|
|
31
|
+
logObstruction: boolean;
|
|
32
|
+
logOpener: boolean;
|
|
33
|
+
logVehiclePresence: boolean;
|
|
34
|
+
motionOccupancyDuration: number;
|
|
35
|
+
motionOccupancySensor: boolean;
|
|
36
|
+
motionSensor: boolean;
|
|
37
|
+
readOnly: boolean;
|
|
38
|
+
showBatteryInfo: boolean;
|
|
39
|
+
}
|
|
13
40
|
export declare class RatgdoAccessory {
|
|
14
41
|
private readonly accessory;
|
|
15
42
|
private readonly api;
|
|
@@ -17,7 +44,7 @@ export declare class RatgdoAccessory {
|
|
|
17
44
|
readonly device: RatgdoDevice;
|
|
18
45
|
private doorOccupancyTimer;
|
|
19
46
|
private readonly hap;
|
|
20
|
-
|
|
47
|
+
readonly hints: RatgdoHints;
|
|
21
48
|
readonly log: HomebridgePluginLogging;
|
|
22
49
|
private motionOccupancyTimer;
|
|
23
50
|
private motionTimer;
|
|
@@ -46,6 +73,7 @@ export declare class RatgdoAccessory {
|
|
|
46
73
|
private configureDoorOpenOccupancySensor;
|
|
47
74
|
private configureMotionOccupancySensor;
|
|
48
75
|
private setDoorState;
|
|
76
|
+
refresh(): void;
|
|
49
77
|
updateState(event: EspHomeEvent): void;
|
|
50
78
|
private command;
|
|
51
79
|
private translateCurrentDoorState;
|
package/dist/ratgdo-device.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { acquireService,
|
|
1
|
+
import { acquireService, sanitizeName, validService } from "homebridge-plugin-utils";
|
|
2
2
|
import { RATGDO_MOTION_DURATION, RATGDO_OCCUPANCY_DURATION } from "./settings.js";
|
|
3
3
|
import { RatgdoReservedNames, RatgdoVariant } from "./ratgdo-types.js";
|
|
4
4
|
import util from "node:util";
|
|
@@ -193,7 +193,7 @@ export class RatgdoAccessory {
|
|
|
193
193
|
// Configure the garage door service for HomeKit.
|
|
194
194
|
configureGarageDoor() {
|
|
195
195
|
// Acquire the service.
|
|
196
|
-
const service = acquireService(this.
|
|
196
|
+
const service = acquireService(this.accessory, this.hap.Service.GarageDoorOpener, this.name);
|
|
197
197
|
if (!service) {
|
|
198
198
|
this.log.error("Unable to add the garage door.");
|
|
199
199
|
return false;
|
|
@@ -211,9 +211,8 @@ export class RatgdoAccessory {
|
|
|
211
211
|
service.getCharacteristic(this.hap.Characteristic.ObstructionDetected).onGet(() => this.status.obstruction === true);
|
|
212
212
|
// Configure the lock garage door lock current and target state characteristics if the user has enabled it.
|
|
213
213
|
if (this.hints.lock) {
|
|
214
|
-
service.getCharacteristic(this.hap.Characteristic.LockTargetState).onSet(
|
|
215
|
-
this.
|
|
216
|
-
if (!(await this.command("lock", (value === this.hap.Characteristic.LockTargetState.SECURED) ? "lock" : "unlock"))) {
|
|
214
|
+
service.getCharacteristic(this.hap.Characteristic.LockTargetState).onSet((value) => {
|
|
215
|
+
if (!this.command("lock", (value === this.hap.Characteristic.LockTargetState.SECURED) ? "lock" : "unlock")) {
|
|
217
216
|
// Something went wrong. Let's make sure we revert the lock to it's prior state.
|
|
218
217
|
setTimeout(() => {
|
|
219
218
|
service?.updateCharacteristic(this.hap.Characteristic.LockTargetState, this.lockTargetStateBias(this.status.lock));
|
|
@@ -240,7 +239,7 @@ export class RatgdoAccessory {
|
|
|
240
239
|
return false;
|
|
241
240
|
}
|
|
242
241
|
// Acquire the service.
|
|
243
|
-
const service = acquireService(this.
|
|
242
|
+
const service = acquireService(this.accessory, this.hap.Service.Lightbulb, this.name, undefined, () => this.log.info("Enabling light."));
|
|
244
243
|
if (!service) {
|
|
245
244
|
this.log.error("Unable to add the light.");
|
|
246
245
|
return false;
|
|
@@ -249,7 +248,7 @@ export class RatgdoAccessory {
|
|
|
249
248
|
service.updateCharacteristic(this.hap.Characteristic.On, this.status.light);
|
|
250
249
|
// Turn the light on or off.
|
|
251
250
|
service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.light);
|
|
252
|
-
service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) =>
|
|
251
|
+
service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => this.command("light", value === true ? "on" : "off"));
|
|
253
252
|
return true;
|
|
254
253
|
}
|
|
255
254
|
// Configure the motion sensor for HomeKit.
|
|
@@ -259,7 +258,7 @@ export class RatgdoAccessory {
|
|
|
259
258
|
return false;
|
|
260
259
|
}
|
|
261
260
|
// Acquire the service.
|
|
262
|
-
const service = acquireService(this.
|
|
261
|
+
const service = acquireService(this.accessory, this.hap.Service.MotionSensor, this.name, undefined, () => this.log.info("Enabling motion sensor."));
|
|
263
262
|
if (!service) {
|
|
264
263
|
this.log.error("Unable to add the motion sensor.");
|
|
265
264
|
return false;
|
|
@@ -277,7 +276,7 @@ export class RatgdoAccessory {
|
|
|
277
276
|
return false;
|
|
278
277
|
}
|
|
279
278
|
// Acquire the service.
|
|
280
|
-
const service = acquireService(this.
|
|
279
|
+
const service = acquireService(this.accessory, this.hap.Service.Lightbulb, this.name + " Automation Door Position", RatgdoReservedNames.DIMMER_OPENER_AUTOMATION);
|
|
281
280
|
if (!service) {
|
|
282
281
|
this.log.error("Unable to add the automation door position dimmer.");
|
|
283
282
|
return false;
|
|
@@ -323,7 +322,7 @@ export class RatgdoAccessory {
|
|
|
323
322
|
return false;
|
|
324
323
|
}
|
|
325
324
|
// Acquire the service.
|
|
326
|
-
const service = acquireService(this.
|
|
325
|
+
const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Automation Opener", RatgdoReservedNames.SWITCH_OPENER_AUTOMATION);
|
|
327
326
|
if (!service) {
|
|
328
327
|
this.log.error("Unable to add the automation door opener switch.");
|
|
329
328
|
return false;
|
|
@@ -354,7 +353,7 @@ export class RatgdoAccessory {
|
|
|
354
353
|
return false;
|
|
355
354
|
}
|
|
356
355
|
// Acquire the service.
|
|
357
|
-
const service = acquireService(this.
|
|
356
|
+
const service = acquireService(this.accessory, this.hap.Service.Battery, this.name);
|
|
358
357
|
if (!service) {
|
|
359
358
|
this.log.error("Unable to add the Ratgdo (ESP32) Disco backup battery status.");
|
|
360
359
|
return false;
|
|
@@ -373,7 +372,7 @@ export class RatgdoAccessory {
|
|
|
373
372
|
return false;
|
|
374
373
|
}
|
|
375
374
|
// Acquire the service.
|
|
376
|
-
const service = acquireService(this.
|
|
375
|
+
const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Laser", RatgdoReservedNames.SWITCH_DISCO_LASER);
|
|
377
376
|
if (!service) {
|
|
378
377
|
this.log.error("Unable to add the Ratgdo (ESP32) Disco laser switch.");
|
|
379
378
|
return false;
|
|
@@ -381,7 +380,7 @@ export class RatgdoAccessory {
|
|
|
381
380
|
// Return the current state of the switch.
|
|
382
381
|
service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.discoLaser);
|
|
383
382
|
// Open or close the switch.
|
|
384
|
-
service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) =>
|
|
383
|
+
service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => this.command("disco-laser", value === true ? "on" : "off"));
|
|
385
384
|
// Initialize the switch.
|
|
386
385
|
service.updateCharacteristic(this.hap.Characteristic.On, this.status.discoLaser);
|
|
387
386
|
this.log.info("Enabling the Ratgdo (ESP32) Disco parking assistance laser switch.");
|
|
@@ -394,7 +393,7 @@ export class RatgdoAccessory {
|
|
|
394
393
|
return false;
|
|
395
394
|
}
|
|
396
395
|
// Acquire the service.
|
|
397
|
-
const service = acquireService(this.
|
|
396
|
+
const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " LED", RatgdoReservedNames.SWITCH_DISCO_LED);
|
|
398
397
|
if (!service) {
|
|
399
398
|
this.log.error("Unable to add the Ratgdo (ESP32) Disco LED switch.");
|
|
400
399
|
return false;
|
|
@@ -402,7 +401,7 @@ export class RatgdoAccessory {
|
|
|
402
401
|
// Return the current state of the switch.
|
|
403
402
|
service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.discoLed);
|
|
404
403
|
// Open or close the switch.
|
|
405
|
-
service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) =>
|
|
404
|
+
service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => this.command("disco-led", value === true ? "on" : "off"));
|
|
406
405
|
// Initialize the switch.
|
|
407
406
|
service.updateCharacteristic(this.hap.Characteristic.On, this.status.discoLed);
|
|
408
407
|
this.log.info("Enabling the Ratgdo (ESP32) Disco LED switch.");
|
|
@@ -415,7 +414,7 @@ export class RatgdoAccessory {
|
|
|
415
414
|
return false;
|
|
416
415
|
}
|
|
417
416
|
// Acquire the service.
|
|
418
|
-
const service = acquireService(this.
|
|
417
|
+
const service = acquireService(this.accessory, this.hap.Service.ContactSensor, this.name + " Vehicle Arriving", RatgdoReservedNames.CONTACT_DISCO_VEHICLE_ARRIVING);
|
|
419
418
|
if (!service) {
|
|
420
419
|
this.log.error("Unable to add the vehicle arriving contact sensor.");
|
|
421
420
|
return false;
|
|
@@ -434,7 +433,7 @@ export class RatgdoAccessory {
|
|
|
434
433
|
return false;
|
|
435
434
|
}
|
|
436
435
|
// Acquire the service.
|
|
437
|
-
const service = acquireService(this.
|
|
436
|
+
const service = acquireService(this.accessory, this.hap.Service.ContactSensor, this.name + " Vehicle Leaving", RatgdoReservedNames.CONTACT_DISCO_VEHICLE_LEAVING);
|
|
438
437
|
if (!service) {
|
|
439
438
|
this.log.error("Unable to add the vehicle leaving contact sensor.");
|
|
440
439
|
return false;
|
|
@@ -453,7 +452,7 @@ export class RatgdoAccessory {
|
|
|
453
452
|
return false;
|
|
454
453
|
}
|
|
455
454
|
// Acquire the service.
|
|
456
|
-
const service = acquireService(this.
|
|
455
|
+
const service = acquireService(this.accessory, this.hap.Service.OccupancySensor, this.name + " Vehicle Presence", RatgdoReservedNames.OCCUPANCY_DISCO_VEHICLE_PRESENCE);
|
|
457
456
|
if (!service) {
|
|
458
457
|
this.log.error("Unable to add the vehicle presence occupancy sensor.");
|
|
459
458
|
return false;
|
|
@@ -472,7 +471,7 @@ export class RatgdoAccessory {
|
|
|
472
471
|
return false;
|
|
473
472
|
}
|
|
474
473
|
// Acquire the service.
|
|
475
|
-
const service = acquireService(this.
|
|
474
|
+
const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Pre Close Warning", RatgdoReservedNames.SWITCH_KONNECTED_PCW);
|
|
476
475
|
if (!service) {
|
|
477
476
|
this.log.error("Unable to add the Konnected pre-close warning switch.");
|
|
478
477
|
return false;
|
|
@@ -480,11 +479,11 @@ export class RatgdoAccessory {
|
|
|
480
479
|
// Return the current state of the switch.
|
|
481
480
|
service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => false);
|
|
482
481
|
// Open or close the switch.
|
|
483
|
-
service.getCharacteristic(this.hap.Characteristic.On)?.onSet(
|
|
482
|
+
service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => {
|
|
484
483
|
// Default to reseting our switch state after the pre-close warning has completed playing.
|
|
485
484
|
let resetTimer = 5000;
|
|
486
485
|
// Send the command.
|
|
487
|
-
if (!
|
|
486
|
+
if (!this.command("konnected-pcw")) {
|
|
488
487
|
// Something went wrong. Let's make sure we revert the switch to it's prior state immediately.
|
|
489
488
|
resetTimer = 50;
|
|
490
489
|
}
|
|
@@ -503,7 +502,7 @@ export class RatgdoAccessory {
|
|
|
503
502
|
return false;
|
|
504
503
|
}
|
|
505
504
|
// Acquire the service.
|
|
506
|
-
const service = acquireService(this.
|
|
505
|
+
const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Strobe", RatgdoReservedNames.SWITCH_KONNECTED_STROBE);
|
|
507
506
|
if (!service) {
|
|
508
507
|
this.log.error("Unable to add the Konnected strobe switch.");
|
|
509
508
|
return false;
|
|
@@ -511,7 +510,7 @@ export class RatgdoAccessory {
|
|
|
511
510
|
// Return the current state of the switch.
|
|
512
511
|
service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.konnectedStrobe);
|
|
513
512
|
// Open or close the switch.
|
|
514
|
-
service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) =>
|
|
513
|
+
service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => this.command("konnected-strobe", value === true ? "on" : "off"));
|
|
515
514
|
// Initialize the switch.
|
|
516
515
|
service.updateCharacteristic(this.hap.Characteristic.On, this.status.konnectedStrobe);
|
|
517
516
|
this.log.info("Enabling the Konnected strobe switch.");
|
|
@@ -524,7 +523,7 @@ export class RatgdoAccessory {
|
|
|
524
523
|
return false;
|
|
525
524
|
}
|
|
526
525
|
// Acquire the service.
|
|
527
|
-
const service = acquireService(this.
|
|
526
|
+
const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Lockout", RatgdoReservedNames.SWITCH_LOCKOUT);
|
|
528
527
|
if (!service) {
|
|
529
528
|
this.log.error("Unable to add the automation wireless remote lockout switch.");
|
|
530
529
|
return false;
|
|
@@ -532,11 +531,11 @@ export class RatgdoAccessory {
|
|
|
532
531
|
// Return the current state of the opener. We're on if we are in any state other than locked.
|
|
533
532
|
service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.lock === this.hap.Characteristic.LockCurrentState.SECURED);
|
|
534
533
|
// Lock or unlock the wireless remotes.
|
|
535
|
-
service.getCharacteristic(this.hap.Characteristic.On)?.onSet(
|
|
534
|
+
service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) => {
|
|
536
535
|
// Inform the user.
|
|
537
536
|
this.log.info("Automation wireless remote lockout switch: remotes are %s.", value ? "locked out" : "permitted");
|
|
538
537
|
// Send the command.
|
|
539
|
-
if (!
|
|
538
|
+
if (!this.command("lock", value ? "lock" : "unlock")) {
|
|
540
539
|
// Something went wrong. Let's make sure we revert the switch to it's prior state.
|
|
541
540
|
setTimeout(() => service?.updateCharacteristic(this.hap.Characteristic.On, !value), 50);
|
|
542
541
|
}
|
|
@@ -553,7 +552,7 @@ export class RatgdoAccessory {
|
|
|
553
552
|
return false;
|
|
554
553
|
}
|
|
555
554
|
// Acquire the service.
|
|
556
|
-
const service = acquireService(this.
|
|
555
|
+
const service = acquireService(this.accessory, this.hap.Service.OccupancySensor, this.name + " Open", RatgdoReservedNames.OCCUPANCY_SENSOR_DOOR_OPEN);
|
|
557
556
|
if (!service) {
|
|
558
557
|
this.log.error("Unable to add the door open occupancy sensor.");
|
|
559
558
|
return false;
|
|
@@ -572,7 +571,7 @@ export class RatgdoAccessory {
|
|
|
572
571
|
return false;
|
|
573
572
|
}
|
|
574
573
|
// Acquire the service.
|
|
575
|
-
const service = acquireService(this.
|
|
574
|
+
const service = acquireService(this.accessory, this.hap.Service.OccupancySensor, this.name, RatgdoReservedNames.OCCUPANCY_SENSOR_MOTION);
|
|
576
575
|
if (!service) {
|
|
577
576
|
this.log.error("Unable to add the occupancy sensor.");
|
|
578
577
|
return false;
|
|
@@ -607,17 +606,21 @@ export class RatgdoAccessory {
|
|
|
607
606
|
if ((this.status.door === this.hap.Characteristic.CurrentDoorState.OPENING) || (this.status.door === this.hap.Characteristic.CurrentDoorState.CLOSING)) {
|
|
608
607
|
this.log.debug("User-initiated stop requested while transitioning between open and close states.");
|
|
609
608
|
// Execute the stop command.
|
|
610
|
-
|
|
609
|
+
this.command("door", "stop");
|
|
611
610
|
return true;
|
|
612
611
|
}
|
|
613
612
|
// Set the door state, assuming we're not already there.
|
|
614
613
|
if (this.status.door !== value) {
|
|
615
614
|
this.log.debug("User-initiated door state change: %s%s.", this.translateTargetDoorState(value), (position !== undefined) ? " (" + position.toString() + "%)" : "");
|
|
616
615
|
// Execute the command.
|
|
617
|
-
|
|
616
|
+
this.command("door", targetAction, position);
|
|
618
617
|
}
|
|
619
618
|
return true;
|
|
620
619
|
}
|
|
620
|
+
// Refresh our state.
|
|
621
|
+
refresh() {
|
|
622
|
+
this.command("refresh");
|
|
623
|
+
}
|
|
621
624
|
// Update the state of the accessory.
|
|
622
625
|
updateState(event) {
|
|
623
626
|
const camelCase = (text) => text.charAt(0).toUpperCase() + text.slice(1);
|
|
@@ -939,21 +942,17 @@ export class RatgdoAccessory {
|
|
|
939
942
|
}
|
|
940
943
|
}
|
|
941
944
|
// Utility function to transmit a command to Ratgdo.
|
|
942
|
-
|
|
945
|
+
command(topic, payload = "", position) {
|
|
943
946
|
// Now we handle ESPHome firmware commands.
|
|
944
|
-
let endpoint;
|
|
945
947
|
let action;
|
|
946
948
|
switch (topic) {
|
|
947
949
|
case "disco-laser":
|
|
948
|
-
|
|
949
|
-
action = (payload === "on") ? "turn_on" : "turn_off";
|
|
950
|
+
this.platform.espHomeApi[this.device.mac].sendSwitchCommand("switch-laser", payload === "on");
|
|
950
951
|
break;
|
|
951
952
|
case "disco-led":
|
|
952
|
-
|
|
953
|
-
action = (payload === "on") ? "turn_on" : "turn_off";
|
|
953
|
+
this.platform.espHomeApi[this.device.mac].sendSwitchCommand("switch-led", payload === "on");
|
|
954
954
|
break;
|
|
955
955
|
case "door":
|
|
956
|
-
endpoint = (this.device.variant === RatgdoVariant.KONNECTED) ? "cover/garage_door" : "cover/door";
|
|
957
956
|
switch (payload) {
|
|
958
957
|
case "closed":
|
|
959
958
|
action = "close";
|
|
@@ -967,70 +966,39 @@ export class RatgdoAccessory {
|
|
|
967
966
|
this.log.error("Invalid door set command received: no position specified.");
|
|
968
967
|
return false;
|
|
969
968
|
}
|
|
970
|
-
action = "set
|
|
969
|
+
action = "set";
|
|
971
970
|
break;
|
|
972
971
|
default:
|
|
973
972
|
this.log.error("Unknown door command received: %s.", payload);
|
|
974
973
|
return false;
|
|
975
974
|
}
|
|
975
|
+
// Set the door position to the requested percentage.
|
|
976
|
+
if (position !== undefined) {
|
|
977
|
+
this.platform.espHomeApi[this.device.mac].sendCoverCommand("cover-" + ((this.device.variant === RatgdoVariant.KONNECTED) ? "garage_door" : "door"), { position: position / 100 });
|
|
978
|
+
return true;
|
|
979
|
+
}
|
|
980
|
+
// Execute the command.
|
|
981
|
+
this.platform.espHomeApi[this.device.mac].sendCoverCommand("cover-" + ((this.device.variant === RatgdoVariant.KONNECTED) ? "garage_door" : "door"), { command: action });
|
|
976
982
|
break;
|
|
977
983
|
case "konnected-pcw":
|
|
978
|
-
|
|
979
|
-
action = "press";
|
|
984
|
+
this.platform.espHomeApi[this.device.mac].sendButtonCommand("button-pre-close_warning");
|
|
980
985
|
break;
|
|
981
986
|
case "konnected-strobe":
|
|
982
|
-
|
|
983
|
-
action = (payload === "on") ? "turn_on" : "turn_off";
|
|
987
|
+
this.platform.espHomeApi[this.device.mac].sendSwitchCommand("switch-str_output", payload === "on");
|
|
984
988
|
break;
|
|
985
989
|
case "light":
|
|
986
|
-
|
|
987
|
-
action = (payload === "on") ? "turn_on" : "turn_off";
|
|
990
|
+
this.platform.espHomeApi[this.device.mac].sendLightCommand("light-" + ((this.device.variant === RatgdoVariant.KONNECTED) ? "garage_light" : "light"), { state: payload === "on" });
|
|
988
991
|
break;
|
|
989
992
|
case "lock":
|
|
990
|
-
|
|
991
|
-
action = (payload === "lock") ? "lock" : "unlock";
|
|
993
|
+
this.platform.espHomeApi[this.device.mac].sendLockCommand("lock-" + ((this.device.variant === RatgdoVariant.KONNECTED) ? "lock" : "lock_remotes"), (payload === "lock") ? "lock" : "unlock");
|
|
992
994
|
break;
|
|
993
995
|
case "refresh":
|
|
994
|
-
|
|
995
|
-
action = "press";
|
|
996
|
+
this.platform.espHomeApi[this.device.mac].sendButtonCommand("button-query_status");
|
|
996
997
|
break;
|
|
997
998
|
default:
|
|
998
999
|
this.log.error("Unknown command received: %s - %s.", topic, payload);
|
|
999
1000
|
return false;
|
|
1000
1001
|
}
|
|
1001
|
-
try {
|
|
1002
|
-
// Execute the action.
|
|
1003
|
-
const response = await fetch("http://" + this.device.address + "/" + endpoint + "/" + action, { body: JSON.stringify({}), method: "POST" });
|
|
1004
|
-
if (!response?.ok) {
|
|
1005
|
-
this.log.error("Unable to execute command: %s - %s.", topic, action);
|
|
1006
|
-
return false;
|
|
1007
|
-
}
|
|
1008
|
-
}
|
|
1009
|
-
catch (error) {
|
|
1010
|
-
let errorMessage = "\n" + util.inspect(error, { colors: true, depth: null, sorted: true });
|
|
1011
|
-
if (error instanceof TypeError) {
|
|
1012
|
-
switch (error.cause?.code) {
|
|
1013
|
-
case "ECONNRESET":
|
|
1014
|
-
errorMessage = "Connection to the Ratgdo controller has been reset";
|
|
1015
|
-
break;
|
|
1016
|
-
case "EHOSTDOWN":
|
|
1017
|
-
errorMessage = "Connection to the Ratgdo controller has been reset";
|
|
1018
|
-
break;
|
|
1019
|
-
case "ETIMEDOUT":
|
|
1020
|
-
case "UND_ERR_BODY_TIMEOUT":
|
|
1021
|
-
case "UND_ERR_CONNECT_TIMEOUT":
|
|
1022
|
-
case "UND_ERR_HEADERS_TIMEOUT":
|
|
1023
|
-
errorMessage = "Connection to the Ratgdo controller has timed out";
|
|
1024
|
-
break;
|
|
1025
|
-
default:
|
|
1026
|
-
errorMessage = " " + error.cause?.code + " (errno: " + error.cause?.errno?.toString() + ")\n" +
|
|
1027
|
-
util.inspect(error.cause, { depth: null, sorted: true });
|
|
1028
|
-
break;
|
|
1029
|
-
}
|
|
1030
|
-
}
|
|
1031
|
-
this.log.error("Ratgdo API error sending command:%s", errorMessage);
|
|
1032
|
-
return false;
|
|
1033
|
-
}
|
|
1034
1002
|
return true;
|
|
1035
1003
|
}
|
|
1036
1004
|
// Utility function to translate HomeKit's current door state values into human-readable form.
|
|
@@ -1139,7 +1107,7 @@ export class RatgdoAccessory {
|
|
|
1139
1107
|
}
|
|
1140
1108
|
// Utility function to set the current accessory name of this device.
|
|
1141
1109
|
set accessoryName(name) {
|
|
1142
|
-
const cleanedName =
|
|
1110
|
+
const cleanedName = sanitizeName(name);
|
|
1143
1111
|
// Set all the internally managed names within Homebridge to the new accessory name.
|
|
1144
1112
|
this.accessory.displayName = cleanedName;
|
|
1145
1113
|
this.accessory._associatedHAPAccessory.displayName = cleanedName;
|