Skip to content

Latest commit

 

History

History
167 lines (126 loc) · 19.5 KB

FeatureOptions.md

File metadata and controls

167 lines (126 loc) · 19.5 KB

homebridge-unifi-protect: Native HomeKit support for UniFi Protect

Homebridge UniFi Protect

Downloads Version UniFi Protect@Homebridge Discord verified-by-homebridge

Complete HomeKit support for the UniFi Protect ecosystem using Homebridge.

homebridge-unifi-protect is a Homebridge plugin that provides HomeKit support to the UniFi Protect device ecosystem. UniFi Protect is Ubiquiti's video security platform, with rich camera, doorbell, and NVR controller hardware options for you to choose from, as well as an app which you can use to view, configure and manage your video camera and doorbells.

Feature Options

Feature options allow you to enable or disable certain features in this plugin. These feature options provide unique flexibility by also allowing you to set a scope for each option that allows you more granular control in how this plugin makes features and capabilities available in HomeKit.

The priority given to these options works in the following order, from highest to lowest priority where settings that are higher in priority will override the ones below:

  • Device options that are enabled or disabled.
  • Controller options that are enabled or disabled.
  • Global options that are enabled or disabled.

All feature options can be set at any scope level, or at multiple scope levels. If an option isn't applicable to a particular category of device, it is ignored. For example, if you have two doorbells in your environment, and want to enable the same feature options on both, you can enable the doorbell-related feature options globally rather than specifying them for each individual doorbell. If you want to override a global feature option you've set, you can override the global feature option for the individual doorbell in this example.

Feature Options Reference

Feature options provide a rich mechanism for tailoring your homebridge-unifi-protect experience. The reference below is divided into functional category groups:

Note: it's strongly recommended that you use the HBUP webUI to configure this plugin and use the below as a guide to the capabilities you have available to you in HBUP.

  • Audio: Audio feature options.
  • Device: Device feature options.
  • Doorbell: Doorbell feature options.
  • Log: Logging feature options.
  • Motion: Motion detection feature options.
  • Nvr: NVR feature options.
  • SecuritySystem: Security system feature options.
  • Video: Video feature options.
  • Video.HKSV: HomeKit Secure Video feature options.

Audio feature options.

These option(s) apply to: Protect cameras.

Option Description
Audio Audio support. (default: enabled).
Supported on Protect cameras that have a microphone.
Audio.Filter.Noise Audio filter for ambient noise suppression. (default: disabled).
Supported on Protect cameras that have a microphone.
Audio.Filter.Noise.FftNr<I>.Value</I> Noise reduction amount, in decibels, for the FFmpeg afftdn filter. (default: 90).
Audio.Filter.Noise.HighPass<I>.Value</I> Frequency, in Hertz, for the FFmpeg highpass filter. (default: 200).
Audio.Filter.Noise.LowPass<I>.Value</I> Frequency, in Hertz, for the FFmpeg lowpass filter. (default: 1000).
Audio.TwoWay Two-way audio support on supported cameras. (default: enabled).
Supported on Protect devices that have a speaker (e.g. Protect doorbells).

Device feature options.

These option(s) apply to: all Protect device types.

Option Description
Device Make this device available in HomeKit. (default: enabled).
Device.StatusLed Enable the status indicator light for this device in HomeKit. (default: disabled).
Supported on Protect devices that have a status indicator light.
Device.StatusLed.Switch Add a switch accessory to control the status indicator light in HomeKit. (default: disabled).
Supported on Protect devices that have a status indicator light.
Device.Standalone Make this a standalone device in HomeKit that will need to be added to HomeKit through the Home app. (default: disabled).
Device.SyncName Synchronize the UniFi Protect name of this device with HomeKit. Synchronization is one-way only, syncing the device name from UniFi Protect to HomeKit. (default: disabled).

Doorbell feature options.

These option(s) apply to: Protect cameras.

Option Description
Doorbell.Messages Enable the doorbell messages feature. (default: enabled).
Supported on Protect devices that have a doorbell.
Doorbell.Messages.FromDoorbell Use messages saved to the Protect NVR as message switches. (default: enabled).
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).
Supported on Protect devices that have a physical chime.
Doorbell.PhysicalChime.Duration.Digital<I>.Value</I> Chime duration, in milliseconds, of a digital physical chime attached to a Protect doorbell. (default: 1000).
Supported on Protect devices that have a physical chime.
Doorbell.Trigger Add a switch accessory to trigger doorbell ring events on a Protect camera or doorbell. (default: disabled).
Supported on Protect cameras that have a motion sensor.

Logging feature options.

These option(s) apply to: Protect cameras, Protect lights, and Protect sensors.

Option Description
Log.Doorbell Log doorbell ring events in Homebridge. (default: enabled).
Supported on Protect cameras that have a motion sensor.
Log.HKSV Log HomeKit Secure Video recording events in Homebridge. (default: disabled).
Supported on Protect cameras that have a motion sensor.
Log.Motion Log motion events in Homebridge. (default: disabled).
Supported on Protect devices that have a motion sensor.

Motion detection feature options.

These option(s) apply to: Protect cameras, Protect lights, and Protect sensors.

Option Description
Motion.Duration<I>.Value</I> Duration, in seconds, of a single motion event, before allowing a new one. (default: 10).
Motion.OccupancySensor Add an occupancy sensor accessory using motion sensor activity to determine occupancy. By default, any motion will trigger occupancy. If the smart motion detection feature option is enabled, it will be used instead. (default: disabled).
Supported on Protect devices that have a motion sensor.
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).
Motion.OccupancySensor.Animal When using both the occupancy sensor and smart motion detection feature options, use UniFi Protect's animal detection to trigger occupancy. (default: disabled).
Supported on Protect devices that support smart motion detection (e.g. G4-series cameras and better).
Motion.OccupancySensor.Face When using both the occupancy sensor and smart motion detection feature options, use UniFi Protect's face detection to trigger occupancy. (default: disabled).
Supported on Protect devices that support smart motion detection (e.g. G4-series cameras and better).
Motion.OccupancySensor.LicensePlate When using both the occupancy sensor and smart motion detection feature options, use UniFi Protect's license plate detection to trigger occupancy. (default: disabled).
Supported on Protect devices that support smart motion detection (e.g. G4-series cameras and better).
Motion.OccupancySensor.Package When using both the occupancy sensor and smart motion detection feature options, use UniFi Protect's package detection to trigger occupancy. (default: disabled).
Supported on Protect devices that support smart motion detection (e.g. G4-series cameras and better).
Motion.OccupancySensor.Person When using both the occupancy sensor and smart motion detection feature options, use UniFi Protect's person detection to trigger occupancy. (default: enabled).
Supported on Protect devices that support smart motion detection (e.g. G4-series cameras and better).
Motion.OccupancySensor.Vehicle When using both the occupancy sensor and smart motion detection feature options, use UniFi Protect's vehicle detection to trigger occupancy. (default: disabled).
Supported on Protect devices that support smart motion detection (e.g. G4-series cameras and better).
Motion.SmartDetect Use UniFi Protect smart motion detection for HomeKit motion events when on a supported device. (default: disabled).
Supported on Protect devices that support smart motion detection (e.g. G4-series cameras and better).
Motion.SmartDetect.ObjectSensors Add contact sensor accessories for each smart motion object type that UniFi Protect supports. (default: disabled).
Supported on Protect devices that support smart motion detection (e.g. G4-series cameras and better).
Motion.SmartDetect.ObjectSensors.LicensePlate<I>.Value</I> Add a contact sensor accessory that will match a specific license plate detected by UniFi Protect. You may specify multiple license plates by using hyphens to distinguish unique license plates (e.g. PLATE1-PLATE2-PLATE3). (default: ).
Motion.Switch Add a switch accessory to activate or deactivate motion detection in HomeKit. (default: disabled).
Supported on Protect devices that have a motion sensor.
Motion.Trigger Add a switch accessory to manually trigger a motion detection event in HomeKit. (default: disabled).
Supported on Protect devices that have a motion sensor.

NVR feature options.

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).
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).
Supported on Protect controllers.
Nvr.Publish.Telemetry Publish all the realtime telemetry received from the Protect controller to MQTT. (default: disabled).
Supported on Protect controllers.
Nvr.Recording.Switch Add switch accessories to control the native recording capabilities of the UniFi Protect NVR. (default: disabled).
Supported on Protect cameras.
Nvr.SystemInfo Add sensor accessories to display the Protect controller system information (currently only the temperature). (default: disabled).
Supported on Protect controllers.

Security system feature options.

These option(s) apply to: Protect cameras and Protect controllers.

Option Description
SecuritySystem.Alarm Add a switch accessory to trigger the security system accessory, when using the liveview feature option. (default: disabled).

Video feature options.

These option(s) apply to: Protect cameras.

Option Description
Video.Transcode.Hardware Use hardware-accelerated transcoding when available (Apple Macs, Intel Quick Sync Video-enabled CPUs, Raspberry Pi 4). (default: disabled).
Video.Stream.UseApi Use the native Protect livestream API to view livestreams. (default: enabled).
Video.Transcode When streaming to low-latency clients (e.g. at home), transcode livestreams, instead of transmuxing them. (default: enabled).
Video.Transcode.Bitrate<I>.Value</I> Bitrate, in kilobits per second, to use when transcoding to low-latency (e.g. at home) clients, ignoring the bitrate HomeKit requests. HomeKit typically requests lower video quality than you may desire in your environment. (default: 2000).
Video.Transcode.HighLatency When streaming to high-latency clients (e.g. cellular connections), transcode livestreams instead of transmuxing them. (default: enabled).
Video.Transcode.HighLatency.Bitrate<I>.Value</I> Bitrate, in kilobits per second, to use when transcoding to high-latency (e.g. cellular) clients, ignoring the bitrate HomeKit requests. HomeKit typically requests lower video quality than you may desire in your environment. (default: 1000).
Video.Stream.Only.High When viewing livestreams, force the use of the high quality video stream from the Protect controller. (default: disabled).
Video.Stream.Only.Medium When viewing livestreams, force the use of the medium quality video stream from the Protect controller. (default: disabled).
Video.Stream.Only.Low When viewing livestreams, force the use of the low quality video stream from the Protect controller. (default: disabled).
Video.Crop Crop the camera video stream. Enabling this option will also force transcoding of livestreams. (default: disabled).
Video.Crop.X<I>.Value</I> Left offset of the crop window, as a percentage of the original image width. (default: 0).
Video.Crop.Y<I>.Value</I> Top offset of the crop window, as a percentage of the original image height. (default: 0).
Video.Crop.Width<I>.Value</I> Width of the crop window, as a percentage of original image width. (default: 100).
Video.Crop.Height<I>.Value</I> Height of the crop window, as a percentage of original image height. (default: 100).
Video.HighResSnapshots Enable higher quality snapshots. (default: enabled).

HomeKit Secure Video feature options.

These option(s) apply to: Protect cameras.

Option Description
Video.HKSV.StatusLedIndicator Use the camera status indicator light to show when an HKSV event is being recorded. (default: disabled).
Video.HKSV.Recording.Switch Add a switch accessory to enable or disable HKSV event recording. (default: disabled).
Video.HKSV.Record.Only.High When recording HomeKit Secure Video events, force the use of the high quality video stream from the Protect controller. (default: disabled).
Video.HKSV.Record.Only.Medium When recording HomeKit Secure Video events, force the use of the medium quality video stream from the Protect controller. (default: disabled).
Video.HKSV.Record.Only.Low When recording HomeKit Secure Video events, force the use of the low quality video stream from the Protect controller. (default: disabled).