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.
34 lines • 1.51 kB
TypeScript
import type { ProtectCameraConfig, SnapshotOptions, TalkbackSession } from "unifi-protect";
import type { ChannelProfile } from "./resolution.ts";
import type { LivestreamSubscription } from "./livestream.ts";
import type { Nullable } from "homebridge-plugin-utils";
import type { ProtectDeviceContext } from "../devices/device.ts";
import type { StreamingDelegate } from "./stream-delegate.ts";
import type { WithoutIdentity } from "../types.ts";
export interface LivestreamHostOptions {
discardOnDispose?: boolean;
segmentLength?: number;
signal?: AbortSignal;
urgency?: () => number;
}
export interface ProtectCameraHost extends ProtectDeviceContext {
getAudioFilters(sampleRate?: number): string[];
readonly isHksvCapable: boolean;
livestream(channelProfile: ChannelProfile, opts?: LivestreamHostOptions): LivestreamSubscription;
readonly mac: string;
reboot(): Promise<void>;
selectChannel(width: number, height: number, opts?: {
biasHigher?: boolean;
maxPixels?: number;
}): Nullable<ChannelProfile>;
selectSubstrateChannel(): Nullable<ChannelProfile>;
snapshotFromController(opts?: SnapshotOptions): Promise<Buffer>;
readonly stream?: StreamingDelegate;
talkback(opts?: {
signal?: AbortSignal;
}): Promise<TalkbackSession>;
readonly ufp: Readonly<WithoutIdentity<ProtectCameraConfig>>;
readonly usesTimeshiftLivestream: boolean;
readonly videoCodecName: string;
}
//# sourceMappingURL=camera-host.d.ts.map