UNPKG

homebridge-unifi-protect

Version:

Homebridge UniFi Protect plugin providing complete HomeKit integration for the entire UniFi Protect ecosystem with full support for most features including HomeKit Secure Video, multiple controllers, blazing fast performance, and much more.

61 lines 2.5 kB
import type { FeatureCategoryEntry, FeatureOptionEntry } from "homebridge-plugin-utils"; export interface ProtectOptions { controllers: ProtectNvrOptions[]; debugAll: boolean; options: string[]; ringDelay: number; verboseFfmpeg: boolean; videoProcessor: string; } export interface ProtectNvrOptions { address: string; doorbellMessages?: { duration: number; message: string; }[]; mqttTopic: string; mqttUrl?: string; name?: string; overrideAddress?: string; password: string; username: string; } interface ProtectOptionMeta { hasAccessFeature?: string[]; hasCameraFeature?: string[]; hasFeature?: string[]; hasLightProperty?: string[]; hasProperty?: string[]; hasSensorProperty?: string[]; hasSmartObjectType?: string[]; isNotProperty?: string[]; modelKey?: string[]; } interface ProtectCategoryMeta { featureByModel?: Record<string, string[]>; isNotProperty?: string[]; modelKey?: string[]; } export declare const featureOptionCategories: FeatureCategoryEntry<ProtectCategoryMeta>[]; export declare const featureOptions: Record<string, FeatureOptionEntry<ProtectOptionMeta>[]>; /** * Documentation hook: returns the device-scope sentence emitted under a category heading, naming the device models the category applies to, or `undefined` when the * category declares no model scope. * * @param category - The category entry whose `meta.modelKey` scope to describe. * * @returns The full "These option(s) apply to: ..." sentence, or `undefined` to omit the line. */ export declare const describeCategoryScope: (category: FeatureCategoryEntry<ProtectCategoryMeta>) => string | undefined; /** * Documentation hook: returns the "Supported on ..." suffix appended to an option's description cell, naming the capability or device model the option is gated on, or * `undefined` when the option declares no scope. The capability flags fall through in priority order, with the device model as the catch-all when none is set. We use * graceful map fallback (`?? cap` / `?? model`) so an unmapped key surfaces verbatim rather than the literal "undefined". * * @param option - The option entry whose `meta` scope to describe. * * @returns The full " <BR>*Supported on ...*" suffix, or `undefined` to omit it. */ export declare const describeOptionScope: (option: FeatureOptionEntry<ProtectOptionMeta>) => string | undefined; export {}; //# sourceMappingURL=options.d.ts.map