UNPKG

eufy-security-client-fork

Version:

Client to comunicate with Eufy-Security devices

267 lines (266 loc) 16.5 kB
import { TypedEmitter } from "tiny-typed-emitter"; import { HTTPApi } from "./api"; import { AlarmTone, NotificationSwitchMode, DeviceType, FloodlightMotionTriggeredDistance, GuardMode, NotificationType, PowerSource, PropertyName, TimeFormat, CommandName, VideoTypeStoreToNAS } from "./types"; import { SnoozeDetail, StationListResponse } from "./models"; import { IndexedProperty, PropertyMetadataAny, PropertyValue, PropertyValues, RawValues, StationEvents } from "./interfaces"; import { P2PConnectionType, PanTiltDirection, VideoCodec, WatermarkSetting1, WatermarkSetting2, WatermarkSetting3, WatermarkSetting4 } from "../p2p/types"; import { Device } from "./device"; import { PushMessage } from "../push/models"; export declare class Station extends TypedEmitter<StationEvents> { private api; private rawStation; private log; private p2pSession; private properties; private rawProperties; private ready; private currentDelay; private reconnectTimeout?; private terminating; private p2pConnectionType; static readonly CHANNEL: number; static readonly CHANNEL_INDOOR: number; constructor(api: HTTPApi, station: StationListResponse); getStateID(state: string, level?: number): string; getStateChannel(): string; getRawStation(): StationListResponse; update(station: StationListResponse, cloudOnlyProperties?: boolean): void; updateProperty(name: string, value: PropertyValue): boolean; updateRawProperties(values: RawValues): void; updateRawProperty(type: number, value: string): boolean; protected convertRawPropertyValue(property: PropertyMetadataAny, value: string): PropertyValue; getPropertyMetadata(name: string): PropertyMetadataAny; getPropertyValue(name: string): PropertyValue; hasPropertyValue(name: string): boolean; getRawProperty(type: number): string; getRawProperties(): RawValues; getProperties(): PropertyValues; getPropertiesMetadata(): IndexedProperty; hasProperty(name: string): boolean; getCommands(): Array<CommandName>; hasCommand(name: CommandName): boolean; isStation(): boolean; isDeviceStation(): boolean; isIntegratedDevice(): boolean; getDeviceType(): number; getHardwareVersion(): string; getMACAddress(): string; getModel(): string; getName(): string; getSerial(): string; getSoftwareVersion(): string; getIPAddress(): string; getLANIPAddress(): PropertyValue; getGuardMode(): PropertyValue; getCurrentMode(): PropertyValue; processPushNotification(message: PushMessage): void; isConnected(): boolean; close(): void; isEnergySavingDevice(): boolean; connect(): Promise<void>; private onFinishDownload; private onStartDownload; private onStopLivestream; private onErrorLivestream; private onStartLivestream; private onStopRTSPLivestream; private onStartRTSPLivestream; private onWifiRssiChanged; private onRTSPUrl; private onParameter; private onAlarmDelay; private onAlarmArmed; private onAlarmEvent; setGuardMode(mode: GuardMode): Promise<void>; getCameraInfo(): Promise<void>; getStorageInfo(): Promise<void>; private onAlarmMode; private getArmDelay; private _getDeviceSerial; private onCameraInfo; private onCommandResponse; private onSecondaryCommandResponse; private onConnect; private onDisconnect; private onTimeout; private getCurrentDelay; private resetCurrentDelay; private scheduleReconnect; rebootHUB(): Promise<void>; setStatusLed(device: Device, value: boolean): Promise<void>; setAutoNightVision(device: Device, value: boolean): Promise<void>; setNightVision(device: Device, value: number): Promise<void>; setMotionDetection(device: Device, value: boolean): Promise<void>; setSoundDetection(device: Device, value: boolean): Promise<void>; setSoundDetectionType(device: Device, value: number): Promise<void>; setSoundDetectionSensitivity(device: Device, value: number): Promise<void>; setPetDetection(device: Device, value: boolean): Promise<void>; panAndTilt(device: Device, direction: PanTiltDirection, command?: number): Promise<void>; switchLight(device: Device, value: boolean): Promise<void>; setMotionDetectionSensitivity(device: Device, value: number): Promise<void>; setMotionDetectionType(device: Device, value: number): Promise<void>; setMotionZone(device: Device, value: string): Promise<void>; setMotionTracking(device: Device, value: boolean): Promise<void>; setPanAndTiltRotationSpeed(device: Device, value: number): Promise<void>; setMicMute(device: Device, value: boolean): Promise<void>; setAudioRecording(device: Device, value: boolean): Promise<void>; enableSpeaker(device: Device, value: boolean): Promise<void>; setSpeakerVolume(device: Device, value: number): Promise<void>; setRingtoneVolume(device: Device, value: number): Promise<void>; enableIndoorChime(device: Device, value: boolean): Promise<void>; enableHomebaseChime(device: Device, value: boolean): Promise<void>; setHomebaseChimeRingtoneVolume(device: Device, value: number): Promise<void>; setHomebaseChimeRingtoneType(device: Device, value: number): Promise<void>; setNotificationType(device: Device, value: NotificationType): Promise<void>; setNotificationPerson(device: Device, value: boolean): Promise<void>; setNotificationPet(device: Device, value: boolean): Promise<void>; setNotificationAllOtherMotion(device: Device, value: boolean): Promise<void>; setNotificationAllSound(device: Device, value: boolean): Promise<void>; setNotificationCrying(device: Device, value: boolean): Promise<void>; setNotificationRing(device: Device, value: boolean): Promise<void>; setNotificationMotion(device: Device, value: boolean): Promise<void>; setPowerSource(device: Device, value: PowerSource): Promise<void>; setPowerWorkingMode(device: Device, value: number): Promise<void>; setRecordingClipLength(device: Device, value: number): Promise<void>; setRecordingRetriggerInterval(device: Device, value: number): Promise<void>; setRecordingEndClipMotionStops(device: Device, value: boolean): Promise<void>; setVideoStreamingQuality(device: Device, value: number): Promise<void>; setVideoRecordingQuality(device: Device, value: number): Promise<void>; setWDR(device: Device, value: boolean): Promise<void>; setFloodlightLightSettingsEnable(device: Device, value: boolean): Promise<void>; setFloodlightLightSettingsBrightnessManual(device: Device, value: number): Promise<void>; setFloodlightLightSettingsBrightnessMotion(device: Device, value: number): Promise<void>; setFloodlightLightSettingsBrightnessSchedule(device: Device, value: number): Promise<void>; setFloodlightLightSettingsMotionTriggered(device: Device, value: boolean): Promise<void>; setFloodlightLightSettingsMotionTriggeredDistance(device: Device, value: FloodlightMotionTriggeredDistance): Promise<void>; setFloodlightLightSettingsMotionTriggeredTimer(device: Device, seconds: number): Promise<void>; triggerStationAlarmSound(seconds: number): Promise<void>; resetStationAlarmSound(): Promise<void>; triggerDeviceAlarmSound(device: Device, seconds: number): Promise<void>; resetDeviceAlarmSound(device: Device): Promise<void>; setStationAlarmRingtoneVolume(value: number): Promise<void>; setStationAlarmTone(value: AlarmTone): Promise<void>; setStationPromptVolume(value: number): Promise<void>; setStationNotificationSwitchMode(mode: NotificationSwitchMode, value: boolean): Promise<void>; setStationNotificationStartAlarmDelay(value: boolean): Promise<void>; setStationTimeFormat(value: TimeFormat): Promise<void>; setRTSPStream(device: Device, value: boolean): Promise<void>; setAntiTheftDetection(device: Device, value: boolean): Promise<void>; setWatermark(device: Device, value: WatermarkSetting1 | WatermarkSetting2 | WatermarkSetting3 | WatermarkSetting4): Promise<void>; enableDevice(device: Device, value: boolean): Promise<void>; startDownload(device: Device, path: string, cipher_id: number): Promise<void>; cancelDownload(device: Device): Promise<void>; startLivestream(device: Device, videoCodec?: VideoCodec): Promise<void>; stopLivestream(device: Device): Promise<void>; isLiveStreaming(device: Device): boolean; isDownloading(device: Device): boolean; quickResponse(device: Device, voice_id: number): Promise<void>; setChirpVolume(device: Device, value: number): Promise<void>; setChirpTone(device: Device, value: number): Promise<void>; setHDR(device: Device, value: boolean): Promise<void>; setDistortionCorrection(device: Device, value: boolean): Promise<void>; setRingRecord(device: Device, value: number): Promise<void>; lockDevice(device: Device, value: boolean): Promise<void>; setStationSwitchModeWithAccessCode(value: boolean): Promise<void>; setStationAutoEndAlarm(value: boolean): Promise<void>; setStationTurnOffAlarmWithButton(value: boolean): Promise<void>; startRTSPStream(device: Device): Promise<void>; stopRTSPStream(device: Device): Promise<void>; setMotionDetectionRange(device: Device, type: number): Promise<void>; setMotionDetectionRangeStandardSensitivity(device: Device, sensitivity: number): Promise<void>; setMotionDetectionRangeAdvancedLeftSensitivity(device: Device, sensitivity: number): Promise<void>; setMotionDetectionRangeAdvancedMiddleSensitivity(device: Device, sensitivity: number): Promise<void>; setMotionDetectionRangeAdvancedRightSensitivity(device: Device, sensitivity: number): Promise<void>; setMotionDetectionTestMode(device: Device, enabled: boolean): Promise<void>; setMotionTrackingSensitivity(device: Device, sensitivity: number): Promise<void>; setMotionAutoCruise(device: Device, enabled: boolean): Promise<void>; setMotionOutOfViewDetection(device: Device, enabled: boolean): Promise<void>; setLightSettingsColorTemperatureManual(device: Device, value: number): Promise<void>; setLightSettingsColorTemperatureMotion(device: Device, value: number): Promise<void>; setLightSettingsColorTemperatureSchedule(device: Device, value: number): Promise<void>; setLightSettingsMotionActivationMode(device: Device, value: number): Promise<void>; setVideoNightvisionImageAdjustment(device: Device, enabled: boolean): Promise<void>; setVideoColorNightvision(device: Device, enabled: boolean): Promise<void>; setAutoCalibration(device: Device, enabled: boolean): Promise<void>; isRTSPLiveStreaming(device: Device): boolean; setConnectionType(type: P2PConnectionType): void; getConnectionType(): P2PConnectionType; private onRuntimeState; private onChargingState; hasDevice(deviceSN: string): boolean; hasDeviceWithType(deviceType: DeviceType): boolean; private onFloodlightManualSwitch; calibrateLock(device: Device): Promise<void>; private convertAdvancedLockSettingValue; private getAdvancedLockSettingsPayload; private getAdvancedLockSettingName; setAdvancedLockParams(device: Device, property: PropertyName, value: PropertyValue): Promise<void>; setLoiteringDetection(device: Device, value: boolean): Promise<void>; setLoiteringDetectionRange(device: Device, value: number): Promise<void>; setLoiteringDetectionLength(device: Device, value: number): Promise<void>; private _setMotionDetectionSensitivity; private _getMotionDetectionSensitivityAdvanced; setMotionDetectionSensitivityMode(device: Device, value: number): Promise<void>; setMotionDetectionSensitivityStandard(device: Device, value: number): Promise<void>; setMotionDetectionSensitivityAdvancedA(device: Device, value: number): Promise<void>; setMotionDetectionSensitivityAdvancedB(device: Device, value: number): Promise<void>; setMotionDetectionSensitivityAdvancedC(device: Device, value: number): Promise<void>; setMotionDetectionSensitivityAdvancedD(device: Device, value: number): Promise<void>; setMotionDetectionSensitivityAdvancedE(device: Device, value: number): Promise<void>; setMotionDetectionSensitivityAdvancedF(device: Device, value: number): Promise<void>; setMotionDetectionSensitivityAdvancedG(device: Device, value: number): Promise<void>; setMotionDetectionSensitivityAdvancedH(device: Device, value: number): Promise<void>; private _setLoiteringCustomResponse; setLoiteringCustomResponseAutoVoiceResponse(device: Device, value: boolean): Promise<void>; setLoiteringCustomResponseAutoVoiceResponseVoice(device: Device, value: number): Promise<void>; setLoiteringCustomResponseHomeBaseNotification(device: Device, value: boolean): Promise<void>; setLoiteringCustomResponsePhoneNotification(device: Device, value: boolean): Promise<void>; setLoiteringCustomResponseTimeFrom(device: Device, value: string): Promise<void>; setLoiteringCustomResponseTimeTo(device: Device, value: string): Promise<void>; setDeliveryGuard(device: Device, value: boolean): Promise<void>; setDeliveryGuardPackageGuarding(device: Device, value: boolean): Promise<void>; setDeliveryGuardPackageGuardingVoiceResponseVoice(device: Device, value: number): Promise<void>; private setDeliveryGuardPackageGuardingActivatedTime; setDeliveryGuardPackageGuardingActivatedTimeFrom(device: Device, value: string): Promise<void>; setDeliveryGuardPackageGuardingActivatedTimeTo(device: Device, value: string): Promise<void>; setDeliveryGuardUncollectedPackageAlert(device: Device, value: boolean): Promise<void>; setDeliveryGuardUncollectedPackageAlertTimeToCheck(device: Device, value: string): Promise<void>; setDeliveryGuardPackageLiveCheckAssistance(device: Device, value: boolean): Promise<void>; setDualCamWatchViewMode(device: Device, value: number): Promise<void>; private _setRingAutoResponse; setRingAutoResponse(device: Device, value: boolean): Promise<void>; setRingAutoResponseVoiceResponse(device: Device, value: boolean): Promise<void>; setRingAutoResponseVoiceResponseVoice(device: Device, value: number): Promise<void>; setRingAutoResponseTimeFrom(device: Device, value: string): Promise<void>; setRingAutoResponseTimeTo(device: Device, value: string): Promise<void>; setNotificationRadarDetector(device: Device, value: boolean): Promise<void>; calibrate(device: Device): Promise<void>; setContinuousRecording(device: Device, value: boolean): Promise<void>; setContinuousRecordingType(device: Device, value: number): Promise<void>; enableDefaultAngle(device: Device, value: boolean): Promise<void>; setDefaultAngleIdleTime(device: Device, value: number): Promise<void>; setDefaultAngle(device: Device): Promise<void>; setPrivacyAngle(device: Device): Promise<void>; setNotificationIntervalTime(device: Device, value: number): Promise<void>; setSoundDetectionRoundLook(device: Device, value: boolean): Promise<void>; startTalkback(device: Device): Promise<void>; stopTalkback(device: Device): Promise<void>; private onTalkbackStarted; private onTalkbackStopped; private onTalkbackError; isTalkbackOngoing(device: Device): boolean; setScramblePasscode(device: Device, value: boolean): Promise<void>; setWrongTryProtection(device: Device, value: boolean): Promise<void>; setWrongTryAttempts(device: Device, value: number): Promise<void>; setWrongTryLockdownTime(device: Device, value: number): Promise<void>; private _sendSmartSafeCommand; setSmartSafeParams(device: Device, property: PropertyName, value: PropertyValue): Promise<void>; unlock(device: Device): Promise<void>; private onDeviceShakeAlarm; private onDevice911Alarm; private onDeviceJammed; private onDeviceLowBattery; private onDeviceWrongTryProtectAlarm; setVideoTypeStoreToNAS(device: Device, value: VideoTypeStoreToNAS): Promise<void>; snooze(device: Device, value: SnoozeDetail): Promise<void>; }