Skip to content

Commit

Permalink
v2.6.0.
Browse files Browse the repository at this point in the history
  • Loading branch information
hjdhjd committed Nov 24, 2024
1 parent 6afe4d5 commit ed58f7f
Show file tree
Hide file tree
Showing 15 changed files with 973 additions and 372 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ In the interest of the community seeking a solution outside of myQ, I've develop
* Ability to lock and unlock the garage door opener through the ability to lockout wireless remotes.
* Read-only garage door opener support.
* Automation switch and dimmer support, allowing you to set the garage door to any position.
* Support for Ratgdo variants like [Konnected blaQ](https://konnected.io/products/smart-garage-door-opener-blaq-myq-alternative).
* Support for **all** current Ratgdo-branded devices as well as for variants like [Konnected blaQ](https://konnected.io/products/smart-garage-door-opener-blaq-myq-alternative) that use ESPHome.
* A rich webUI for configuration.

## Installation
Expand Down
6 changes: 6 additions & 0 deletions docs/Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

All notable changes to this project will be documented in this file. This project uses [semantic versioning](https://semver.org/).

## 2.6.0 (2024-11-24)
* Improvement: enhanced support for the new Ratgdo (ESP32) Disco version. Backup battery status, when the Ratgdo is wired to it. Vehicle presence, arrival, and departure detection are supported through occupancy and contact sensors. The parking assistance laser can be controlled as a switch, as can the on-device LED. Configure them using the HBR webUI.
* Improvement: enhanced support for Konnected garage door openers with support for the strobe switch in addition to the pre-close warning alarm. Configure them using the HBR webUI.
* Improvement: minor refinements to state availability in HomeKit.
* Housekeeping.

## 2.5.0 (2024-11-17)
* Improvement: enhanced Konnected Ratgdo support. HBR will now recognize all Konnected Ratgdo variants, and if you enable any of the garage door opener feature options (door automation switch or dimmer) it will also enable a switch for Konnected's pre-close warning alarm that you can trigger within HBR.
* Housekeeping.
Expand Down
31 changes: 31 additions & 0 deletions docs/FeatureOptions.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,29 @@ All feature options can be set at any scope level, or at multiple scope levels.
Feature options provide a rich mechanism for tailoring your `homebridge-ratgdo` experience. The reference below is divided into functional category groups:

* [Device](#device): Device feature options.
* [Log](#log): Logging feature options.
* [Opener](#opener): Opener feature options.
* [Light](#light): Opener light feature options.
* [Motion](#motion): Opener motion feature options.
* [Disco](#disco): Ratgdo (ESP32) Disco device-specific feature options.
* [Konnected](#konnected): Konnected device-specific feature options.

#### <A NAME="device"></A>Device feature options.

| Option | Description
|--------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| `Device` | Make this device available in HomeKit. **(default: enabled)**.

#### <A NAME="log"></A>Logging feature options.

| Option | Description
|--------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| `Log.Opener` | Log opener events in Homebridge. **(default: enabled)**.
| `Log.Light` | Log light events in Homebridge. **(default: enabled)**.
| `Log.Motion` | Log motion-related events in Homebridge. **(default: enabled)**.
| `Log.Obstruction` | Log obstruction events in Homebridge. **(default: enabled)**.
| `Log.VehiclePresence` | Log vehicle presence-related events in Homebridge. This is only valid on Ratgdo (ESP32) Disco openers. **(default: enabled)**.

#### <A NAME="opener"></A>Opener feature options.

| Option | Description
Expand All @@ -68,3 +81,21 @@ Feature options provide a rich mechanism for tailoring your `homebridge-ratgdo`
| `Motion` | Make the motion sensor on the opener available in HomeKit. **(default: enabled)**.
| `Motion.OccupancySensor` | Add an occupancy sensor accessory using motion sensor activity to determine occupancy. **(default: disabled)**.
| `Motion.OccupancySensor.Duration<I>.Value</I>` | Duration, in seconds, to wait without receiving a motion event to determine when occupancy is no longer detected. **(default: 300)**.

#### <A NAME="disco"></A>Ratgdo (ESP32) Disco device-specific feature options.

| Option | Description
|--------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| `Disco.Battery` | Show the state of the backup battery in HomeKit. This requires ensuring the Ratgdo (ESP32) Disco is connected directly to the backup battery. **(default: disabled)**.
| `Disco.OccupancySensor.Vehicle.Presence` | Add an occupancy sensor accessory for vehicle presence detection. **(default: disabled)**.
| `Disco.ContactSensor.Vehicle.Arriving` | Add a contact sensor accessory for vehicle arrival. **(default: disabled)**.
| `Disco.ContactSensor.Vehicle.Leaving` | Add a contact sensor accessory for vehicle departure. **(default: disabled)**.
| `Disco.Switch.laser` | Add a switch accessory to control the park assistance laser feature. **(default: disabled)**.
| `Disco.Switch.led` | Add a switch accessory to control the LED setting. **(default: disabled)**.

#### <A NAME="konnected"></A>Konnected device-specific feature options.

| Option | Description
|--------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| `Konnected.Switch.PCW` | Add a switch accessory to control the pre-close warning feature on Konnected openers. This can be useful in automation scenarios. **(default: disabled)**.
| `Konnected.Switch.Strobe` | Add a switch accessory to control the strobe setting on Konnected openers. **(default: disabled)**.
6 changes: 6 additions & 0 deletions docs/MQTT.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,17 @@ The topics and messages that `homebridge-ratgdo` publishes are:
|-----------------------|----------------------------------
| `dooropenoccupancy` | `true` when the garage door open indicator occupancy is detected. `false` when the garage door open indicator occupancy event is reset.
| `garagedoor` | `closed`, `closing`, `open`, `opening`, when garage door state changes are detected.
| `laser` | `true` when the Ratgdo (ESP32) Disco park assistance laser is activated. `false` otherwise.
| `led` | `true` when the Ratgdo (ESP32) Disco LED is activated. `false` otherwise.
| `light` | `true` when the light has been activated. `false` when the light has been turned off.
| `lock` | `true` when the garage door opener remote lock has been activated. `false` when the garage door opener remote lock has been turned off.
| `motion` | `true` when motion is detected. `false` when the motion event is reset.
| `obstruction` | `true` when an obstruction in the garage door opener is detected. `false` when the obstruction event is reset.
| `occupancy` | `true` when occupancy is detected. `false` when the occupancy event is reset.
| `strobe` | `true` when the Konnected strobe is activated. `false` otherwise.
| `vehiclearriving` | `true` when Ratgdo (ESP32) Disco detects a vehicle is arriving. `false` otherwise.
| `vehicleleaving` | `true` when Ratgdo (ESP32) Disco detects a vehicle is leaving. `false` otherwise.
| `vehiclepresence` | `true` when Ratgdo (ESP32) Disco detects the presence of a vehicle. `false` otherwise.
Messages are published to MQTT when an action occurs on a device that triggers the respective event, or when an MQTT message is received for one of the topics `homebridge-ratgdo` subscribes to.
Expand Down
2 changes: 1 addition & 1 deletion eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ export default ts.config(

{

files: [ "homebridge-ui/public/lib/webUi.mjs", "homebridge-ui/public/lib/webUi-featureoptions.mjs" ],
files: [ "homebridge-ui/public/lib/webUi.mjs", "homebridge-ui/public/lib/webUi-featureoptions.mjs", "homebridge-ui/public/ui.mjs" ],

languageOptions: {

Expand Down
1 change: 1 addition & 0 deletions esphome/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
> [!CAUTION]
> * You're on your own here. I provide no support for any of the configuration files or firmware provided here. It's here as a convenience and for you to explore and customize some cosmetic aspects of HBR. Please don't open issues regarding anything on this page - I will close them without comment. You're welcome to come to the Discord and ask questions there and I'll address them as best I can.
> * You should be familiar and comfortable with the command line and modifying configuration files.
> * **These configuration files and instructions are specific to Ratgdo 2.5 series devices. They cannot be used for ESP32-based devices like Ratgdo Disco.**
> [!TIP]
> 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:
Expand Down
4 changes: 3 additions & 1 deletion homebridge-ui/public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,13 @@
<td id="deviceStatsTable" class="w-75">
<table class="table table-sm table-borderless border-bottom m-0 p-0">
<tr id="deviceStatsHeader">
<th class="m-0 p-0 w-25"><B>Model<B></th>
<th class="m-0 p-0 w-25"><B>MAC Address</B></th>
<th class="m-0 p-0 w-25"><B>Firmware<B></th>
</tr>
<tr>
<td id="device_serial" class="m-0 p-0"></td>
<td id="device_model" class="m-0 p-0"></td>
<td id="device_mac" class="m-0 p-0"></td>
<td id="device_firmware" class="m-0 p-0"></td>
</tr>
</table>
Expand Down
21 changes: 20 additions & 1 deletion homebridge-ui/public/ui.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,27 @@

import { webUi } from "./lib/webUi.mjs";

// Show the details for this device.
const showRatgdoDetails = (device) => {

// No device specified, we must be in a global context.
if(!device) {

document.getElementById("device_model").innerHTML = "N/A";
document.getElementById("device_mac").innerHTML = "N/A";
document.getElementById("device_firmware").innerHTML = "N/A";

return;
}

// Populate the device details.
document.getElementById("device_model").innerHTML = device.model;
document.getElementById("device_mac").innerHTML = device.serialNumber;
document.getElementById("device_firmware").innerHTML = device.firmwareRevision;
};

// Parameters for our feature options webUI.
const featureOptionsParams = { hasControllers: false, sidebar: { deviceLabel: "Ratgdo Devices" } };
const featureOptionsParams = { hasControllers: false, infoPanel: showRatgdoDetails, sidebar: { deviceLabel: "Ratgdo Devices" } };

// Instantiate the webUI.
const ui = new webUi({ featureOptions: featureOptionsParams, name: "Ratgdo" });
Expand Down
Loading

0 comments on commit ed58f7f

Please sign in to comment.