UNPKG

@ubreu/homebridge-eufy-security

Version:
41 lines 1.89 kB
import { PlatformAccessory, CharacteristicValue } from 'homebridge'; import { EufySecurityPlatform } from '../platform'; import { DeviceAccessory } from './Device'; import { Camera, PropertyName } from 'eufy-security-client'; import { StreamingDelegate } from '../controller/streamingDelegate'; import { CameraConfig } from '../utils/configTypes'; /** * Platform Accessory * An instance of this class is created for each accessory your platform registers * Each accessory may expose multiple services of different service types. */ export declare class CameraAccessory extends DeviceAccessory { protected cameraStatus: { isEnabled: boolean; timestamp: number; }; private notificationTimeout; readonly cameraConfig: CameraConfig; protected streamingDelegate: StreamingDelegate | null; private eventTypesToHandle; constructor(platform: EufySecurityPlatform, accessory: PlatformAccessory, device: Camera); private setupCamera; private setupButtonService; protected setupSwitchService(serviceName: string, serviceType: 'switch' | 'lightbulb' | 'outlet', propertyName: PropertyName): void; private setupEnableButton; private setupMotionButton; private setupLightButton; private setupChimeButton; private getCameraConfig; private cameraFunction; private setupMotionFunction; protected getCameraPropertyValue(characteristic: any, propertyName: PropertyName): CharacteristicValue; protected setCameraPropertyValue(characteristic: any, propertyName: PropertyName, value: CharacteristicValue): Promise<void>; /** * Handle push notifications for a doorbell device. * Mute subsequent notifications within a timeout period. * @param characteristic - The Characteristic to update for HomeKit. */ private onDeviceRingsPushNotification; } //# sourceMappingURL=CameraAccessory.d.ts.map