@ubreu/homebridge-eufy-security
Version:
Control Eufy Security from homebridge.
41 lines • 1.89 kB
TypeScript
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