homebridge-ratgdo 2.1.3 → 2.2.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/README.md CHANGED
@@ -36,7 +36,6 @@ In the interest of the community seeking a solution outside of myQ, I've develop
36
36
  * A rich webUI for configuration.
37
37
 
38
38
  ## Installation
39
- ### Getting Started
40
39
  To get started with `homebridge-ratgdo`:
41
40
 
42
41
  * Install `homebridge-ratgdo` using the Homebridge webUI. Make sure you make `homebridge-ratgdo` a child bridge for the best experience.
@@ -44,20 +43,23 @@ To get started with `homebridge-ratgdo`:
44
43
  * Fully open and close the garage door one time. ESPHome Ratgdo will use this to determine how long it takes to open and close your garage door to enable precise control of the position of the garage door opener.
45
44
  * That's it. Ensure `homebridge-ratgdo` is running and it will autodiscover your Ratgdo devices and make them available in HomeKit.
46
45
 
46
+ <A NAME="notes"></A>
47
+ > [!WARNING]
48
+ > The current ESPHome firmware versions (2024.5.0 onward) appear to have some regressions that the ESPHome developers are working through. [I recommend installing the 2024.4.2 version of ESPHome.](https://github.com/hjdhjd/homebridge-ratgdo/blob/main/esphome/README.md)
49
+
47
50
  > [!TIP]
48
- > If you would like to tailor your experience a bit further, you can choose to use the [hombridge-ratgdo ESPHome YAML configuration file](https://github.com/hjdhjd/homebridge-ratgdo/blob/main/homebridge-ratgdo.yaml) and use it to create a more customized Ratgdo ESPHome firmware. Using this firmware allows you to do the following things for those using Ratgdo hardware revision 2.5 or beyond:
51
+ > If you would like to tailor your experience a bit further, you can choose to use the [hombridge-ratgdo ESPHome YAML configuration file](https://github.com/hjdhjd/homebridge-ratgdo/blob/main/esphome/homebridge-ratgdo.yaml) and use it to create a more customized Ratgdo ESPHome firmware. Using this firmware allows you to do the following things for those using Ratgdo hardware revision 2.5 or beyond:
49
52
  >
50
53
  > * The ability to customize the name (and friendly name) of the Ratgdo device. Though cosmetic, it can be helpful when you have multiple Ratgdo devices.
51
54
  > * Use SNTP to set the time on the Ratgdo device. Not strictly necessary, but good hygeine.
52
55
  > * Allows you to configure the timezone either yourself or automatically. The timezone will be autoconfigured using the World Time API geoIP by default.
53
56
  > * Set the interval to check for updates from the Ratgdo repository to every 6 hours instead of the Ratgdo default of every second.
54
57
  >
55
- > **Using this YAML is completely optional and largely for cosmetic purposes. There are no functional differences between using this custom YAML configuration and the default Ratgdp ESPHome one.**
58
+ > **Using this YAML is completely optional and largely for cosmetic purposes. There are no functional differences between using this custom YAML configuration and the default Ratgdo ESPHome one.**
56
59
 
57
60
  ## Documentation
58
61
  * Getting Started
59
62
  * [Installation](#installation): installing this plugin, including system requirements.
60
- * [Plugin Configuration](#getting-started): how to quickly get up and running.
61
63
  * [Changelog](https://github.com/hjdhjd/homebridge-ratgdo/blob/main/docs/Changelog.md): changes and release history of this plugin.
62
64
 
63
65
  * Additional Topics
@@ -49,7 +49,7 @@
49
49
  "type": "string",
50
50
  "title": "Feature Option",
51
51
  "required": false,
52
- "description": "Enter only one option per entry. See the plugin documentation for the complete list of available options or use the feature options webUI tab above.",
52
+ "description": "Enter only one option per entry. Use the feature options webUI tab above unless you know what you're doing.",
53
53
  "placeholder": "e.g. Disable.Device"
54
54
  }
55
55
  }
@@ -1,5 +1,6 @@
1
1
  import { PlatformAccessory } from "homebridge";
2
- import { RatgdoDevice, RatgdoLogging } from "./ratgdo-types.js";
2
+ import { RatgdoDevice } from "./ratgdo-types.js";
3
+ import { HomebridgePluginLogging } from "homebridge-plugin-utils";
3
4
  import { RatgdoPlatform } from "./ratgdo-platform.js";
4
5
  export declare class RatgdoAccessory {
5
6
  private readonly accessory;
@@ -9,7 +10,7 @@ export declare class RatgdoAccessory {
9
10
  private doorOccupancyTimer;
10
11
  private readonly hap;
11
12
  private readonly hints;
12
- readonly log: RatgdoLogging;
13
+ readonly log: HomebridgePluginLogging;
13
14
  private motionOccupancyTimer;
14
15
  private motionTimer;
15
16
  private obstructionTimer;
@@ -36,8 +37,6 @@ export declare class RatgdoAccessory {
36
37
  private doorCurrentStateBias;
37
38
  private doorTargetStateBias;
38
39
  private lockTargetStateBias;
39
- private getFeatureFloat;
40
- private getFeatureNumber;
41
40
  private hasFeature;
42
41
  private setServiceName;
43
42
  private get name();
@@ -1,7 +1,6 @@
1
1
  import { FetchError, fetch } from "@adobe/fetch";
2
2
  import { RATGDO_MOTION_DURATION, RATGDO_OCCUPANCY_DURATION } from "./settings.js";
3
3
  import { RatgdoReservedNames } from "./ratgdo-types.js";
4
- import { getOptionFloat, getOptionNumber, getOptionValue, isOptionEnabled } from "./ratgdo-options.js";
5
4
  import util from "node:util";
6
5
  export class RatgdoAccessory {
7
6
  accessory;
@@ -69,11 +68,11 @@ export class RatgdoAccessory {
69
68
  this.hints.automationDimmer = this.hasFeature("Opener.Dimmer");
70
69
  this.hints.automationSwitch = this.hasFeature("Opener.Switch");
71
70
  this.hints.doorOpenOccupancySensor = this.hasFeature("Opener.OccupancySensor");
72
- this.hints.doorOpenOccupancyDuration = this.getFeatureNumber("Opener.OccupancySensor.Duration") ?? RATGDO_OCCUPANCY_DURATION;
71
+ this.hints.doorOpenOccupancyDuration = this.platform.featureOptions.getInteger("Opener.OccupancySensor.Duration", this.device.mac) ?? RATGDO_OCCUPANCY_DURATION;
73
72
  this.hints.light = this.hasFeature("Light");
74
73
  this.hints.lockoutSwitch = this.hasFeature("Opener.Switch.RemoteLockout");
75
74
  this.hints.motionOccupancySensor = this.hasFeature("Motion.OccupancySensor");
76
- this.hints.motionOccupancyDuration = this.getFeatureNumber("Motion.OccupancySensor.Duration") ?? RATGDO_OCCUPANCY_DURATION;
75
+ this.hints.motionOccupancyDuration = this.platform.featureOptions.getInteger("Motion.OccupancySensor.Duration", this.device.mac) ?? RATGDO_OCCUPANCY_DURATION;
77
76
  this.hints.motionSensor = this.hasFeature("Motion");
78
77
  this.hints.readOnly = this.hasFeature("Opener.ReadOnly");
79
78
  if (this.hints.readOnly) {
@@ -96,15 +95,15 @@ export class RatgdoAccessory {
96
95
  // Configure MQTT services.
97
96
  configureMqtt() {
98
97
  // Return our garage door state.
99
- this.platform.mqtt?.subscribeGet(this, "garagedoor", "Garage Door", () => {
98
+ this.platform.mqtt?.subscribeGet(this.device.mac, "garagedoor", "Garage Door", () => {
100
99
  // Return our current status using our HomeKit current state decoder ring.
101
100
  return this.translateCurrentDoorState(this.status.door);
102
101
  });
103
102
  // Set our garage door state.
104
- this.platform.mqtt?.subscribeSet(this, "garagedoor", "Garage Door", (value) => {
103
+ this.platform.mqtt?.subscribeSet(this.device.mac, "garagedoor", "Garage Door", (value) => {
104
+ const action = value.split(" ");
105
105
  let command;
106
106
  let position;
107
- const action = value.split(" ");
108
107
  switch (action[0]) {
109
108
  case "close":
110
109
  command = this.hap.Characteristic.TargetDoorState.CLOSED;
@@ -120,38 +119,37 @@ export class RatgdoAccessory {
120
119
  default:
121
120
  this.log.error("Invalid command.");
122
121
  return;
123
- break;
124
122
  }
125
123
  // Set our door state accordingly.
126
124
  this.setDoorState(command, position);
127
125
  });
128
126
  // Return our obstruction state.
129
- this.platform.mqtt?.subscribeGet(this, "obstruction", "Obstruction", () => {
127
+ this.platform.mqtt?.subscribeGet(this.device.mac, "obstruction", "Obstruction", () => {
130
128
  return this.status.obstruction.toString();
131
129
  });
132
130
  // Return our door open occupancy state if configured to do so.
133
131
  if (this.hints.doorOpenOccupancySensor) {
134
- this.platform.mqtt?.subscribeGet(this, "dooropenoccupancy", "Door Open Indicator Occupancy", () => {
132
+ this.platform.mqtt?.subscribeGet(this.device.mac, "dooropenoccupancy", "Door Open Indicator Occupancy", () => {
135
133
  return (this.accessory.getServiceById(this.hap.Service.OccupancySensor, RatgdoReservedNames.OCCUPANCY_SENSOR_DOOR_OPEN)
136
134
  ?.getCharacteristic(this.hap.Characteristic.OccupancyDetected).value ?? "false").toString();
137
135
  });
138
136
  }
139
137
  // Return our light state if configured to do so.
140
138
  if (this.hints.light) {
141
- this.platform.mqtt?.subscribeGet(this, "light", "Light", () => {
139
+ this.platform.mqtt?.subscribeGet(this.device.mac, "light", "Light", () => {
142
140
  return this.status.light.toString();
143
141
  });
144
142
  }
145
143
  // Return our motion occupancy state if configured to do so.
146
144
  if (this.hints.motionOccupancySensor) {
147
- this.platform.mqtt?.subscribeGet(this, "occupancy", "Occupancy", () => {
145
+ this.platform.mqtt?.subscribeGet(this.device.mac, "occupancy", "Occupancy", () => {
148
146
  return (this.accessory.getServiceById(this.hap.Service.OccupancySensor, RatgdoReservedNames.OCCUPANCY_SENSOR_MOTION)
149
147
  ?.getCharacteristic(this.hap.Characteristic.OccupancyDetected).value ?? "false").toString();
150
148
  });
151
149
  }
152
150
  // Return our motion state if configured to do so.
153
151
  if (this.hints.motionSensor) {
154
- this.platform.mqtt?.subscribeGet(this, "motion", "Motion", () => {
152
+ this.platform.mqtt?.subscribeGet(this.device.mac, "motion", "Motion", () => {
155
153
  return this.status.motion.toString();
156
154
  });
157
155
  }
@@ -562,7 +560,7 @@ export class RatgdoAccessory {
562
560
  doorOccupancyService?.updateCharacteristic(this.hap.Characteristic.OccupancyDetected, true);
563
561
  this.log.info("Garage door open occupancy detected.");
564
562
  // Publish to MQTT, if the user has configured it.
565
- this.platform.mqtt?.publish(this, "dooropenoccupancy", "true");
563
+ this.platform.mqtt?.publish(this.device.mac, "dooropenoccupancy", "true");
566
564
  }, this.hints.doorOpenOccupancyDuration * 1000);
567
565
  }
568
566
  break;
@@ -594,11 +592,11 @@ export class RatgdoAccessory {
594
592
  doorOccupancyService?.updateCharacteristic(this.hap.Characteristic.OccupancyDetected, false);
595
593
  this.log.info("Garage door open occupancy no longer detected.");
596
594
  // Publish to MQTT, if the user has configured it.
597
- this.platform.mqtt?.publish(this, "dooropenoccupancy", "false");
595
+ this.platform.mqtt?.publish(this.device.mac, "dooropenoccupancy", "false");
598
596
  }
599
597
  }
600
598
  // Publish to MQTT, if the user has configured it.
601
- this.platform.mqtt?.publish(this, "garagedoor", payload);
599
+ this.platform.mqtt?.publish(this.device.mac, "garagedoor", payload);
602
600
  break;
603
601
  case "light":
604
602
  // Only act if we're not already at the state we're updating to.
@@ -608,7 +606,7 @@ export class RatgdoAccessory {
608
606
  // Inform the user:
609
607
  this.log.info("Light %s.", payload);
610
608
  // Publish to MQTT, if the user has configured it.
611
- this.platform.mqtt?.publish(this, "light", this.status.light.toString());
609
+ this.platform.mqtt?.publish(this.device.mac, "light", this.status.light.toString());
612
610
  }
613
611
  break;
614
612
  case "lock":
@@ -626,7 +624,7 @@ export class RatgdoAccessory {
626
624
  // Inform the user:
627
625
  this.log.info("Wireless remotes are %s.", payload === "locked" ? "locked out" : "permitted");
628
626
  // Publish to MQTT, if the user has configured it.
629
- this.platform.mqtt?.publish(this, "lock", this.status.lock.toString());
627
+ this.platform.mqtt?.publish(this.device.mac, "lock", this.status.lock.toString());
630
628
  break;
631
629
  case "motion":
632
630
  // We only want motion detected events. We timeout the motion event on our own to allow for automations and a more holistic user experience.
@@ -644,14 +642,14 @@ export class RatgdoAccessory {
644
642
  else {
645
643
  this.log.info("Motion detected.");
646
644
  // Publish to MQTT, if the user has configured it.
647
- this.platform.mqtt?.publish(this, "motion", this.status.motion.toString());
645
+ this.platform.mqtt?.publish(this.device.mac, "motion", this.status.motion.toString());
648
646
  }
649
647
  // Set a timer for the motion event.
650
648
  this.motionTimer = setTimeout(() => {
651
649
  this.status.motion = false;
652
650
  motionService?.updateCharacteristic(this.hap.Characteristic.MotionDetected, this.status.motion);
653
651
  // Publish to MQTT, if the user has configured it.
654
- this.platform.mqtt?.publish(this, "motion", this.status.motion.toString());
652
+ this.platform.mqtt?.publish(this.device.mac, "motion", this.status.motion.toString());
655
653
  }, RATGDO_MOTION_DURATION * 1000);
656
654
  // If we don't have occupancy sensor support configured, we're done.
657
655
  if (!this.hints.motionOccupancySensor) {
@@ -667,7 +665,7 @@ export class RatgdoAccessory {
667
665
  // Trigger the occupancy event in HomeKit.
668
666
  motionOccupancyService?.updateCharacteristic(this.hap.Characteristic.OccupancyDetected, true);
669
667
  // Publish to MQTT, if the user has configured it.
670
- this.platform.mqtt?.publish(this, "occupancy", "true");
668
+ this.platform.mqtt?.publish(this.device.mac, "occupancy", "true");
671
669
  // Log the event.
672
670
  this.log.info("Occupancy detected.");
673
671
  }
@@ -676,7 +674,7 @@ export class RatgdoAccessory {
676
674
  // Reset the occupancy sensor.
677
675
  motionOccupancyService?.updateCharacteristic(this.hap.Characteristic.OccupancyDetected, false);
678
676
  // Publish to MQTT, if the user has configured it.
679
- this.platform.mqtt?.publish(this, "occupancy", "false");
677
+ this.platform.mqtt?.publish(this.device.mac, "occupancy", "false");
680
678
  // Log the event.
681
679
  this.log.info("Occupancy no longer detected.");
682
680
  // Delete the timer.
@@ -690,7 +688,7 @@ export class RatgdoAccessory {
690
688
  this.status.obstruction = payload === "obstructed";
691
689
  this.log.info("Obstruction %sdetected.", this.status.obstruction ? "" : "no longer ");
692
690
  // Publish to MQTT, if the user has configured it.
693
- this.platform.mqtt?.publish(this, "obstruction", this.status.obstruction.toString());
691
+ this.platform.mqtt?.publish(this.device.mac, "obstruction", this.status.obstruction.toString());
694
692
  }
695
693
  break;
696
694
  case "default":
@@ -723,7 +721,6 @@ export class RatgdoAccessory {
723
721
  default:
724
722
  this.log.error("Unknown door command received: %s.", payload);
725
723
  return false;
726
- break;
727
724
  }
728
725
  break;
729
726
  case "light":
@@ -741,13 +738,12 @@ export class RatgdoAccessory {
741
738
  default:
742
739
  this.log.error("Unknown command received: %s - %s.", topic, payload);
743
740
  return false;
744
- break;
745
741
  }
746
742
  try {
747
743
  // Execute the action.
748
744
  const response = await fetch("http://" + this.device.address + "/" + endpoint + "/" + action, { body: JSON.stringify({}), method: "POST" });
749
745
  if (!response?.ok) {
750
- this.log.error("Unable to execute command: %s - %s.", event, payload);
746
+ this.log.error("Unable to execute command: %s - %s.", topic, action);
751
747
  return false;
752
748
  }
753
749
  }
@@ -782,19 +778,14 @@ export class RatgdoAccessory {
782
778
  switch (value) {
783
779
  case this.hap.Characteristic.CurrentDoorState.CLOSED:
784
780
  return "closed";
785
- break;
786
781
  case this.hap.Characteristic.CurrentDoorState.CLOSING:
787
782
  return "closing";
788
- break;
789
783
  case this.hap.Characteristic.CurrentDoorState.OPEN:
790
784
  return "open";
791
- break;
792
785
  case this.hap.Characteristic.CurrentDoorState.OPENING:
793
786
  return "opening";
794
- break;
795
787
  case this.hap.Characteristic.CurrentDoorState.STOPPED:
796
788
  return "stopped";
797
- break;
798
789
  default:
799
790
  break;
800
791
  }
@@ -806,10 +797,8 @@ export class RatgdoAccessory {
806
797
  switch (value) {
807
798
  case this.hap.Characteristic.TargetDoorState.CLOSED:
808
799
  return "closed";
809
- break;
810
800
  case this.hap.Characteristic.TargetDoorState.OPEN:
811
801
  return "open";
812
- break;
813
802
  default:
814
803
  break;
815
804
  }
@@ -826,15 +815,12 @@ export class RatgdoAccessory {
826
815
  case this.hap.Characteristic.CurrentDoorState.OPEN:
827
816
  case this.hap.Characteristic.CurrentDoorState.OPENING:
828
817
  return this.hap.Characteristic.CurrentDoorState.OPEN;
829
- break;
830
818
  case this.hap.Characteristic.CurrentDoorState.STOPPED:
831
819
  return this.hap.Characteristic.CurrentDoorState.STOPPED;
832
- break;
833
820
  case this.hap.Characteristic.CurrentDoorState.CLOSED:
834
821
  case this.hap.Characteristic.CurrentDoorState.CLOSING:
835
822
  default:
836
823
  return this.hap.Characteristic.CurrentDoorState.CLOSED;
837
- break;
838
824
  }
839
825
  }
840
826
  // Utility function to return our bias for what the target door state should be.
@@ -850,12 +836,10 @@ export class RatgdoAccessory {
850
836
  case this.hap.Characteristic.CurrentDoorState.OPENING:
851
837
  case this.hap.Characteristic.CurrentDoorState.STOPPED:
852
838
  return this.hap.Characteristic.TargetDoorState.OPEN;
853
- break;
854
839
  case this.hap.Characteristic.CurrentDoorState.CLOSED:
855
840
  case this.hap.Characteristic.CurrentDoorState.CLOSING:
856
841
  default:
857
842
  return this.hap.Characteristic.TargetDoorState.CLOSED;
858
- break;
859
843
  }
860
844
  }
861
845
  // Utility function to return our bias for what the target door state should be.
@@ -863,26 +847,16 @@ export class RatgdoAccessory {
863
847
  switch (state) {
864
848
  case this.hap.Characteristic.LockCurrentState.SECURED:
865
849
  return this.hap.Characteristic.LockTargetState.SECURED;
866
- break;
867
850
  case this.hap.Characteristic.LockCurrentState.UNSECURED:
868
851
  case this.hap.Characteristic.LockCurrentState.JAMMED:
869
852
  case this.hap.Characteristic.LockCurrentState.UNKNOWN:
870
853
  default:
871
854
  return this.hap.Characteristic.LockTargetState.UNSECURED;
872
- break;
873
855
  }
874
856
  }
875
- // Utility function to return a floating point configuration parameter on a device.
876
- getFeatureFloat(option) {
877
- return getOptionFloat(getOptionValue(this.platform.configOptions, this.device, option));
878
- }
879
- // Utility function to return an integer configuration parameter on a device.
880
- getFeatureNumber(option) {
881
- return getOptionNumber(getOptionValue(this.platform.configOptions, this.device, option));
882
- }
883
857
  // Utility for checking feature options on a device.
884
858
  hasFeature(option) {
885
- return isOptionEnabled(this.platform.configOptions, this.device, option, this.platform.featureOptionDefault(option));
859
+ return this.platform.featureOptions.test(option, this.device.mac);
886
860
  }
887
861
  // Utility function to set the name of a service.
888
862
  setServiceName(service, 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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"}
@@ -1,26 +1,14 @@
1
- import { RatgdoDevice } from "./ratgdo-types.js";
2
- export interface RatgdoOptions {
1
+ import { FeatureOptionEntry } from "homebridge-plugin-utils";
2
+ export type RatgdoOptions = Partial<{
3
3
  debug: boolean;
4
4
  mqttTopic: string;
5
5
  mqttUrl: string;
6
6
  options: string[];
7
- }
7
+ }>;
8
8
  export declare const featureOptionCategories: {
9
9
  description: string;
10
10
  name: string;
11
- validFor: string[];
12
11
  }[];
13
12
  export declare const featureOptions: {
14
- [index: string]: FeatureOption[];
13
+ [index: string]: FeatureOptionEntry[];
15
14
  };
16
- export interface FeatureOption {
17
- default: boolean;
18
- defaultValue?: number;
19
- description: string;
20
- group?: string;
21
- name: string;
22
- }
23
- export declare function isOptionEnabled(configOptions: string[], device: RatgdoDevice | null, option?: string, defaultReturnValue?: boolean): boolean;
24
- export declare function getOptionValue(configOptions: string[], device: RatgdoDevice | null, option: string): string | undefined;
25
- export declare function getOptionFloat(optionValue: string | undefined): number | undefined;
26
- export declare function getOptionNumber(optionValue: string | undefined): number | undefined;