Skip to content

Commit

Permalink
v7.9.0.
Browse files Browse the repository at this point in the history
  • Loading branch information
hjdhjd committed Dec 9, 2024
1 parent 87fc75d commit 6f0a746
Show file tree
Hide file tree
Showing 16 changed files with 540 additions and 279 deletions.
7 changes: 7 additions & 0 deletions docs/Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

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

## 7.9.0 (2024-12-08)
* New feature: on Protect G4 Doorbell Pro doorbells, the fingerprint and NFC sensors are now available through a contact sensor that gets activated when the doorbell detects a successful authentication. It's disabled by default, available under the doorbell-related feature options section.
* New feature: on Protect G4 Doorbell Pro doorbells, the downlight (Protect calls this the flashlight) is now accessible. It has some constraints - namely that API limitations make it only crudely accessible, which in practice means: the light is only available when the doorbell believes it's dark, and the light has a delay of up to 25 seconds before to turn off after you've toggled it off. Aside from that, enjoy! It's enabled by default and can be disabled in the doorbell-related feature options section.
* New feature: when streaming a package camera at night, HBUP will turn on the flashlight, similar to the way Protect does so in the native Protect app.
* Fix: addressed a regression with viewing the package camera on G4 Doorbell Pros that changed in Protect controller versions above 5.1.
* Housekeeping.

## 7.8.2 (2024-10-20)
* Housekeeping.

Expand Down
4 changes: 3 additions & 1 deletion docs/FeatureOptions.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,12 @@ These option(s) apply to: Protect cameras.

| Option | Description
|--------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| `Doorbell.AuthSensor` | Add a contact sensor that gets activates when a fingerprint or NFC successfully authenticates on a Protect doorbell. **(default: disabled)**. <BR>*Supported on Protect doorbells that have a fingerprint sensor.*
| `Doorbell.Messages` | Enable the doorbell messages feature. **(default: enabled)**. <BR>*Supported on Protect devices that have a doorbell.*
| `Doorbell.Messages.FromDoorbell` | Use messages saved to the Protect NVR as message switches. **(default: enabled)**. <BR>*Supported on Protect devices that have a doorbell.*
| `Doorbell.Volume.Dimmer` | Add a dimmer accessory to control the Protect chime volume in HomeKit. **(default: disabled)**. <BR>*Supported on Protect devices that have a doorbell.*
| `Doorbell.PhysicalChime` | Add switch accessories to control the physical chimes attached to a Protect doorbell. **(default: disabled)**. <BR>*Supported on Protect doorbells that have a physical chime.*
| `Doorbell.PackageCamera.Flashlight` | Add a light accessory to control the flashlight on a Protect doorbell package camera. **(default: enabled)**. <BR>*Supported on Protect doorbells that have a package camera.*
| `Doorbell.PhysicalChime.Duration.Digital<I>.Value</I>` | Chime duration, in milliseconds, of a digital physical chime attached to a Protect doorbell. **(default: 1000)**. <BR>*Supported on Protect doorbells that have a physical chime.*
| `Doorbell.Trigger` | Add a switch accessory to trigger doorbell ring events on a Protect camera or doorbell. **(default: disabled)**.

Expand Down Expand Up @@ -131,7 +133,7 @@ These option(s) apply to: Protect cameras and Protect controllers.
| Option | Description
|--------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| `Nvr.Service.Playlist<I>.Value</I>` | Publish an M3U playlist of Protect cameras on the specified port of this Homebridge server that is suitable for use in apps (e.g. Channels DVR) that can make camera livestreams available through them. **(default: 10110)**. <BR>*Supported on Protect controllers.*
| `Nvr.DelayDeviceRemoval<I>.Value</I>` | Delay, in seconds, before removing devices that are no longer detected on the Protect controller. By default, devices are added and removed in realtime. **(default: 60)**. <BR>*Supported on Protect controllers.*
| `Nvr.DelayDeviceRemoval<I>.Value</I>` | Delay, in seconds, before removing devices that are no longer detected on the Protect controller. If disabled, devices are removed in realtime when the Protect controller does so. **(default: 60)**. <BR>*Supported on Protect controllers.*
| `Nvr.Publish.Telemetry` | Publish all the realtime telemetry received from the Protect controller to MQTT. **(default: disabled)**. <BR>*Supported on Protect controllers.*
| `Nvr.Recording.Switch` | Add switch accessories to control the native recording capabilities of the UniFi Protect NVR. **(default: disabled)**. <BR>*Supported on Protect cameras.*
| `Nvr.SystemInfo` | Add sensor accessories to display the Protect controller system information (currently only the temperature). **(default: disabled)**. <BR>*Supported on Protect controllers.*
Expand Down
6 changes: 3 additions & 3 deletions homebridge-ui/public/ui.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ const getDevices = async (controller) => {
devices = devices.map(device => ({

...device,
serial: device.mac
serialNumber: device.mac
}));

return devices;
Expand Down Expand Up @@ -157,12 +157,12 @@ const showSidebarDevices = (controller, devices) => {

const label = document.createElement("label");

label.name = device.serial;
label.name = device.serialNumber;
label.appendChild(document.createTextNode(device.name ?? device.marketName));
label.style.cursor = "pointer";
label.classList.add("mx-2", "my-0", "p-0", "w-100");

label.addEventListener("click", () => ui.featureOptions.showDeviceOptions(device.serial));
label.addEventListener("click", () => ui.featureOptions.showDeviceOptions(device.serialNumber));

// Add the device label to our cell.
tdDevice.appendChild(label);
Expand Down
Loading

0 comments on commit 6f0a746

Please sign in to comment.