homebridge-ratgdo 2.8.0 → 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 -81
- package/dist/ratgdo-device.js.map +1 -1
- package/dist/ratgdo-platform.d.ts +8 -2
- package/dist/ratgdo-platform.js +143 -99
- 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 +9 -9
|
@@ -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,8 +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
|
-
if (!
|
|
214
|
+
service.getCharacteristic(this.hap.Characteristic.LockTargetState).onSet((value) => {
|
|
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
218
|
service?.updateCharacteristic(this.hap.Characteristic.LockTargetState, this.lockTargetStateBias(this.status.lock));
|
|
@@ -239,7 +239,7 @@ export class RatgdoAccessory {
|
|
|
239
239
|
return false;
|
|
240
240
|
}
|
|
241
241
|
// Acquire the service.
|
|
242
|
-
const service = acquireService(this.
|
|
242
|
+
const service = acquireService(this.accessory, this.hap.Service.Lightbulb, this.name, undefined, () => this.log.info("Enabling light."));
|
|
243
243
|
if (!service) {
|
|
244
244
|
this.log.error("Unable to add the light.");
|
|
245
245
|
return false;
|
|
@@ -248,7 +248,7 @@ export class RatgdoAccessory {
|
|
|
248
248
|
service.updateCharacteristic(this.hap.Characteristic.On, this.status.light);
|
|
249
249
|
// Turn the light on or off.
|
|
250
250
|
service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => this.status.light);
|
|
251
|
-
service.getCharacteristic(this.hap.Characteristic.On)?.onSet((value) =>
|
|
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.
|
|
@@ -258,7 +258,7 @@ export class RatgdoAccessory {
|
|
|
258
258
|
return false;
|
|
259
259
|
}
|
|
260
260
|
// Acquire the service.
|
|
261
|
-
const service = acquireService(this.
|
|
261
|
+
const service = acquireService(this.accessory, this.hap.Service.MotionSensor, this.name, undefined, () => this.log.info("Enabling motion sensor."));
|
|
262
262
|
if (!service) {
|
|
263
263
|
this.log.error("Unable to add the motion sensor.");
|
|
264
264
|
return false;
|
|
@@ -276,7 +276,7 @@ export class RatgdoAccessory {
|
|
|
276
276
|
return false;
|
|
277
277
|
}
|
|
278
278
|
// Acquire the service.
|
|
279
|
-
const service = acquireService(this.
|
|
279
|
+
const service = acquireService(this.accessory, this.hap.Service.Lightbulb, this.name + " Automation Door Position", RatgdoReservedNames.DIMMER_OPENER_AUTOMATION);
|
|
280
280
|
if (!service) {
|
|
281
281
|
this.log.error("Unable to add the automation door position dimmer.");
|
|
282
282
|
return false;
|
|
@@ -322,7 +322,7 @@ export class RatgdoAccessory {
|
|
|
322
322
|
return false;
|
|
323
323
|
}
|
|
324
324
|
// Acquire the service.
|
|
325
|
-
const service = acquireService(this.
|
|
325
|
+
const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Automation Opener", RatgdoReservedNames.SWITCH_OPENER_AUTOMATION);
|
|
326
326
|
if (!service) {
|
|
327
327
|
this.log.error("Unable to add the automation door opener switch.");
|
|
328
328
|
return false;
|
|
@@ -353,7 +353,7 @@ export class RatgdoAccessory {
|
|
|
353
353
|
return false;
|
|
354
354
|
}
|
|
355
355
|
// Acquire the service.
|
|
356
|
-
const service = acquireService(this.
|
|
356
|
+
const service = acquireService(this.accessory, this.hap.Service.Battery, this.name);
|
|
357
357
|
if (!service) {
|
|
358
358
|
this.log.error("Unable to add the Ratgdo (ESP32) Disco backup battery status.");
|
|
359
359
|
return false;
|
|
@@ -372,7 +372,7 @@ export class RatgdoAccessory {
|
|
|
372
372
|
return false;
|
|
373
373
|
}
|
|
374
374
|
// Acquire the service.
|
|
375
|
-
const service = acquireService(this.
|
|
375
|
+
const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Laser", RatgdoReservedNames.SWITCH_DISCO_LASER);
|
|
376
376
|
if (!service) {
|
|
377
377
|
this.log.error("Unable to add the Ratgdo (ESP32) Disco laser switch.");
|
|
378
378
|
return false;
|
|
@@ -380,7 +380,7 @@ export class RatgdoAccessory {
|
|
|
380
380
|
// Return the current state of the switch.
|
|
381
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)?.onSet((value) =>
|
|
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.");
|
|
@@ -393,7 +393,7 @@ export class RatgdoAccessory {
|
|
|
393
393
|
return false;
|
|
394
394
|
}
|
|
395
395
|
// Acquire the service.
|
|
396
|
-
const service = acquireService(this.
|
|
396
|
+
const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " LED", RatgdoReservedNames.SWITCH_DISCO_LED);
|
|
397
397
|
if (!service) {
|
|
398
398
|
this.log.error("Unable to add the Ratgdo (ESP32) Disco LED switch.");
|
|
399
399
|
return false;
|
|
@@ -401,7 +401,7 @@ export class RatgdoAccessory {
|
|
|
401
401
|
// Return the current state of the switch.
|
|
402
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)?.onSet((value) =>
|
|
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.");
|
|
@@ -414,7 +414,7 @@ export class RatgdoAccessory {
|
|
|
414
414
|
return false;
|
|
415
415
|
}
|
|
416
416
|
// Acquire the service.
|
|
417
|
-
const service = acquireService(this.
|
|
417
|
+
const service = acquireService(this.accessory, this.hap.Service.ContactSensor, this.name + " Vehicle Arriving", RatgdoReservedNames.CONTACT_DISCO_VEHICLE_ARRIVING);
|
|
418
418
|
if (!service) {
|
|
419
419
|
this.log.error("Unable to add the vehicle arriving contact sensor.");
|
|
420
420
|
return false;
|
|
@@ -433,7 +433,7 @@ export class RatgdoAccessory {
|
|
|
433
433
|
return false;
|
|
434
434
|
}
|
|
435
435
|
// Acquire the service.
|
|
436
|
-
const service = acquireService(this.
|
|
436
|
+
const service = acquireService(this.accessory, this.hap.Service.ContactSensor, this.name + " Vehicle Leaving", RatgdoReservedNames.CONTACT_DISCO_VEHICLE_LEAVING);
|
|
437
437
|
if (!service) {
|
|
438
438
|
this.log.error("Unable to add the vehicle leaving contact sensor.");
|
|
439
439
|
return false;
|
|
@@ -452,7 +452,7 @@ export class RatgdoAccessory {
|
|
|
452
452
|
return false;
|
|
453
453
|
}
|
|
454
454
|
// Acquire the service.
|
|
455
|
-
const service = acquireService(this.
|
|
455
|
+
const service = acquireService(this.accessory, this.hap.Service.OccupancySensor, this.name + " Vehicle Presence", RatgdoReservedNames.OCCUPANCY_DISCO_VEHICLE_PRESENCE);
|
|
456
456
|
if (!service) {
|
|
457
457
|
this.log.error("Unable to add the vehicle presence occupancy sensor.");
|
|
458
458
|
return false;
|
|
@@ -471,7 +471,7 @@ export class RatgdoAccessory {
|
|
|
471
471
|
return false;
|
|
472
472
|
}
|
|
473
473
|
// Acquire the service.
|
|
474
|
-
const service = acquireService(this.
|
|
474
|
+
const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Pre Close Warning", RatgdoReservedNames.SWITCH_KONNECTED_PCW);
|
|
475
475
|
if (!service) {
|
|
476
476
|
this.log.error("Unable to add the Konnected pre-close warning switch.");
|
|
477
477
|
return false;
|
|
@@ -479,11 +479,11 @@ export class RatgdoAccessory {
|
|
|
479
479
|
// Return the current state of the switch.
|
|
480
480
|
service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => false);
|
|
481
481
|
// Open or close the switch.
|
|
482
|
-
service.getCharacteristic(this.hap.Characteristic.On)?.onSet(
|
|
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.
|
|
486
|
-
if (!
|
|
486
|
+
if (!this.command("konnected-pcw")) {
|
|
487
487
|
// Something went wrong. Let's make sure we revert the switch to it's prior state immediately.
|
|
488
488
|
resetTimer = 50;
|
|
489
489
|
}
|
|
@@ -502,7 +502,7 @@ export class RatgdoAccessory {
|
|
|
502
502
|
return false;
|
|
503
503
|
}
|
|
504
504
|
// Acquire the service.
|
|
505
|
-
const service = acquireService(this.
|
|
505
|
+
const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Strobe", RatgdoReservedNames.SWITCH_KONNECTED_STROBE);
|
|
506
506
|
if (!service) {
|
|
507
507
|
this.log.error("Unable to add the Konnected strobe switch.");
|
|
508
508
|
return false;
|
|
@@ -510,7 +510,7 @@ export class RatgdoAccessory {
|
|
|
510
510
|
// Return the current state of the switch.
|
|
511
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)?.onSet((value) =>
|
|
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.");
|
|
@@ -523,7 +523,7 @@ export class RatgdoAccessory {
|
|
|
523
523
|
return false;
|
|
524
524
|
}
|
|
525
525
|
// Acquire the service.
|
|
526
|
-
const service = acquireService(this.
|
|
526
|
+
const service = acquireService(this.accessory, this.hap.Service.Switch, this.name + " Lockout", RatgdoReservedNames.SWITCH_LOCKOUT);
|
|
527
527
|
if (!service) {
|
|
528
528
|
this.log.error("Unable to add the automation wireless remote lockout switch.");
|
|
529
529
|
return false;
|
|
@@ -531,11 +531,11 @@ export class RatgdoAccessory {
|
|
|
531
531
|
// Return the current state of the opener. We're on if we are in any state other than locked.
|
|
532
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)?.onSet(
|
|
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
|
-
if (!
|
|
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
540
|
setTimeout(() => service?.updateCharacteristic(this.hap.Characteristic.On, !value), 50);
|
|
541
541
|
}
|
|
@@ -552,7 +552,7 @@ export class RatgdoAccessory {
|
|
|
552
552
|
return false;
|
|
553
553
|
}
|
|
554
554
|
// Acquire the service.
|
|
555
|
-
const service = acquireService(this.
|
|
555
|
+
const service = acquireService(this.accessory, this.hap.Service.OccupancySensor, this.name + " Open", RatgdoReservedNames.OCCUPANCY_SENSOR_DOOR_OPEN);
|
|
556
556
|
if (!service) {
|
|
557
557
|
this.log.error("Unable to add the door open occupancy sensor.");
|
|
558
558
|
return false;
|
|
@@ -571,7 +571,7 @@ export class RatgdoAccessory {
|
|
|
571
571
|
return false;
|
|
572
572
|
}
|
|
573
573
|
// Acquire the service.
|
|
574
|
-
const service = acquireService(this.
|
|
574
|
+
const service = acquireService(this.accessory, this.hap.Service.OccupancySensor, this.name, RatgdoReservedNames.OCCUPANCY_SENSOR_MOTION);
|
|
575
575
|
if (!service) {
|
|
576
576
|
this.log.error("Unable to add the occupancy sensor.");
|
|
577
577
|
return false;
|
|
@@ -606,17 +606,21 @@ export class RatgdoAccessory {
|
|
|
606
606
|
if ((this.status.door === this.hap.Characteristic.CurrentDoorState.OPENING) || (this.status.door === this.hap.Characteristic.CurrentDoorState.CLOSING)) {
|
|
607
607
|
this.log.debug("User-initiated stop requested while transitioning between open and close states.");
|
|
608
608
|
// Execute the stop command.
|
|
609
|
-
|
|
609
|
+
this.command("door", "stop");
|
|
610
610
|
return true;
|
|
611
611
|
}
|
|
612
612
|
// Set the door state, assuming we're not already there.
|
|
613
613
|
if (this.status.door !== value) {
|
|
614
614
|
this.log.debug("User-initiated door state change: %s%s.", this.translateTargetDoorState(value), (position !== undefined) ? " (" + position.toString() + "%)" : "");
|
|
615
615
|
// Execute the command.
|
|
616
|
-
|
|
616
|
+
this.command("door", targetAction, position);
|
|
617
617
|
}
|
|
618
618
|
return true;
|
|
619
619
|
}
|
|
620
|
+
// Refresh our state.
|
|
621
|
+
refresh() {
|
|
622
|
+
this.command("refresh");
|
|
623
|
+
}
|
|
620
624
|
// Update the state of the accessory.
|
|
621
625
|
updateState(event) {
|
|
622
626
|
const camelCase = (text) => text.charAt(0).toUpperCase() + text.slice(1);
|
|
@@ -938,21 +942,17 @@ export class RatgdoAccessory {
|
|
|
938
942
|
}
|
|
939
943
|
}
|
|
940
944
|
// Utility function to transmit a command to Ratgdo.
|
|
941
|
-
|
|
945
|
+
command(topic, payload = "", position) {
|
|
942
946
|
// Now we handle ESPHome firmware commands.
|
|
943
|
-
let endpoint;
|
|
944
947
|
let action;
|
|
945
948
|
switch (topic) {
|
|
946
949
|
case "disco-laser":
|
|
947
|
-
|
|
948
|
-
action = (payload === "on") ? "turn_on" : "turn_off";
|
|
950
|
+
this.platform.espHomeApi[this.device.mac].sendSwitchCommand("switch-laser", payload === "on");
|
|
949
951
|
break;
|
|
950
952
|
case "disco-led":
|
|
951
|
-
|
|
952
|
-
action = (payload === "on") ? "turn_on" : "turn_off";
|
|
953
|
+
this.platform.espHomeApi[this.device.mac].sendSwitchCommand("switch-led", payload === "on");
|
|
953
954
|
break;
|
|
954
955
|
case "door":
|
|
955
|
-
endpoint = (this.device.variant === RatgdoVariant.KONNECTED) ? "cover/garage_door" : "cover/door";
|
|
956
956
|
switch (payload) {
|
|
957
957
|
case "closed":
|
|
958
958
|
action = "close";
|
|
@@ -966,70 +966,39 @@ export class RatgdoAccessory {
|
|
|
966
966
|
this.log.error("Invalid door set command received: no position specified.");
|
|
967
967
|
return false;
|
|
968
968
|
}
|
|
969
|
-
action = "set
|
|
969
|
+
action = "set";
|
|
970
970
|
break;
|
|
971
971
|
default:
|
|
972
972
|
this.log.error("Unknown door command received: %s.", payload);
|
|
973
973
|
return false;
|
|
974
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 });
|
|
975
982
|
break;
|
|
976
983
|
case "konnected-pcw":
|
|
977
|
-
|
|
978
|
-
action = "press";
|
|
984
|
+
this.platform.espHomeApi[this.device.mac].sendButtonCommand("button-pre-close_warning");
|
|
979
985
|
break;
|
|
980
986
|
case "konnected-strobe":
|
|
981
|
-
|
|
982
|
-
action = (payload === "on") ? "turn_on" : "turn_off";
|
|
987
|
+
this.platform.espHomeApi[this.device.mac].sendSwitchCommand("switch-str_output", payload === "on");
|
|
983
988
|
break;
|
|
984
989
|
case "light":
|
|
985
|
-
|
|
986
|
-
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" });
|
|
987
991
|
break;
|
|
988
992
|
case "lock":
|
|
989
|
-
|
|
990
|
-
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");
|
|
991
994
|
break;
|
|
992
995
|
case "refresh":
|
|
993
|
-
|
|
994
|
-
action = "press";
|
|
996
|
+
this.platform.espHomeApi[this.device.mac].sendButtonCommand("button-query_status");
|
|
995
997
|
break;
|
|
996
998
|
default:
|
|
997
999
|
this.log.error("Unknown command received: %s - %s.", topic, payload);
|
|
998
1000
|
return false;
|
|
999
1001
|
}
|
|
1000
|
-
try {
|
|
1001
|
-
// Execute the action.
|
|
1002
|
-
const response = await fetch("http://" + this.device.address + "/" + endpoint + "/" + action, { body: JSON.stringify({}), method: "POST" });
|
|
1003
|
-
if (!response?.ok) {
|
|
1004
|
-
this.log.error("Unable to execute command: %s - %s.", topic, action);
|
|
1005
|
-
return false;
|
|
1006
|
-
}
|
|
1007
|
-
}
|
|
1008
|
-
catch (error) {
|
|
1009
|
-
let errorMessage = "\n" + util.inspect(error, { colors: true, depth: null, sorted: true });
|
|
1010
|
-
if (error instanceof TypeError) {
|
|
1011
|
-
switch (error.cause?.code) {
|
|
1012
|
-
case "ECONNRESET":
|
|
1013
|
-
errorMessage = "Connection to the Ratgdo controller has been reset";
|
|
1014
|
-
break;
|
|
1015
|
-
case "EHOSTDOWN":
|
|
1016
|
-
errorMessage = "Connection to the Ratgdo controller has been reset";
|
|
1017
|
-
break;
|
|
1018
|
-
case "ETIMEDOUT":
|
|
1019
|
-
case "UND_ERR_BODY_TIMEOUT":
|
|
1020
|
-
case "UND_ERR_CONNECT_TIMEOUT":
|
|
1021
|
-
case "UND_ERR_HEADERS_TIMEOUT":
|
|
1022
|
-
errorMessage = "Connection to the Ratgdo controller has timed out";
|
|
1023
|
-
break;
|
|
1024
|
-
default:
|
|
1025
|
-
errorMessage = " " + error.cause?.code + " (errno: " + error.cause?.errno?.toString() + ")\n" +
|
|
1026
|
-
util.inspect(error.cause, { depth: null, sorted: true });
|
|
1027
|
-
break;
|
|
1028
|
-
}
|
|
1029
|
-
}
|
|
1030
|
-
this.log.error("Ratgdo API error sending command:%s", errorMessage);
|
|
1031
|
-
return false;
|
|
1032
|
-
}
|
|
1033
1002
|
return true;
|
|
1034
1003
|
}
|
|
1035
1004
|
// Utility function to translate HomeKit's current door state values into human-readable form.
|
|
@@ -1138,7 +1107,7 @@ export class RatgdoAccessory {
|
|
|
1138
1107
|
}
|
|
1139
1108
|
// Utility function to set the current accessory name of this device.
|
|
1140
1109
|
set accessoryName(name) {
|
|
1141
|
-
const cleanedName =
|
|
1110
|
+
const cleanedName = sanitizeName(name);
|
|
1142
1111
|
// Set all the internally managed names within Homebridge to the new accessory name.
|
|
1143
1112
|
this.accessory.displayName = cleanedName;
|
|
1144
1113
|
this.accessory._associatedHAPAccessory.displayName = cleanedName;
|