180 lines
7.1 KiB
TypeScript
180 lines
7.1 KiB
TypeScript
import { TypedEmitter } from "tiny-typed-emitter";
|
|
import { EufySecurityEvents, EufySecurityConfig } from "./interfaces";
|
|
import { HTTPApi } from "./http/api";
|
|
import { LoginOptions, Schedule } from "./http/interfaces";
|
|
import { Station } from "./http/station";
|
|
import { PushNotificationService } from "./push/service";
|
|
import { Credentials } from "./push/models";
|
|
import { Device } from "./http/device";
|
|
import { P2PConnectionType } from "./p2p/types";
|
|
import { Logger, LoggingCategories } from "./logging";
|
|
import { LogLevel } from "typescript-logging";
|
|
export declare class EufySecurity extends TypedEmitter<EufySecurityEvents> {
|
|
private config;
|
|
private api;
|
|
private houses;
|
|
private stations;
|
|
private devices;
|
|
private readonly P2P_REFRESH_INTERVAL_MIN;
|
|
private cameraMaxLivestreamSeconds;
|
|
private cameraStationLivestreamTimeout;
|
|
private pushService;
|
|
private mqttService;
|
|
private pushCloudRegistered;
|
|
private pushCloudChecked;
|
|
private persistentFile;
|
|
private persistentData;
|
|
private connected;
|
|
private retries;
|
|
private refreshEufySecurityCloudTimeout?;
|
|
private refreshEufySecurityP2PTimeout;
|
|
private deviceSnoozeTimeout;
|
|
private loadingEmitter;
|
|
private stationsLoaded?;
|
|
private devicesLoaded?;
|
|
private constructor();
|
|
static initialize(config: EufySecurityConfig, log?: Logger): Promise<EufySecurity>;
|
|
protected _initializeInternals(): Promise<void>;
|
|
private initMQTT;
|
|
setLoggingLevel(category: LoggingCategories, level: LogLevel): void;
|
|
getLoggingLevel(category: LoggingCategories): number;
|
|
setInternalLogger(logger: Logger): void;
|
|
getInternalLogger(): Logger | undefined;
|
|
getPushService(): PushNotificationService;
|
|
private addStation;
|
|
private removeStation;
|
|
private updateStation;
|
|
private addDevice;
|
|
private removeDevice;
|
|
private updateDevice;
|
|
getDevices(): Promise<Array<Device>>;
|
|
getDevicesFromStation(stationSN: string): Promise<Array<Device>>;
|
|
getDevice(deviceSN: string): Promise<Device>;
|
|
getStationDevice(stationSN: string, channel: number): Promise<Device>;
|
|
getStations(): Promise<Array<Station>>;
|
|
getStation(stationSN: string): Promise<Station>;
|
|
getApi(): HTTPApi;
|
|
connectToStation(stationSN: string, p2pConnectionType?: P2PConnectionType): Promise<void>;
|
|
isStationConnected(stationSN: string): Promise<boolean>;
|
|
isStationEnergySavingDevice(stationSN: string): Promise<boolean>;
|
|
private handleHouses;
|
|
private handleHubs;
|
|
private refreshP2PData;
|
|
private onStationConnect;
|
|
private onStationConnectionError;
|
|
private onStationClose;
|
|
private handleDevices;
|
|
refreshCloudData(): Promise<void>;
|
|
close(): void;
|
|
setCameraMaxLivestreamDuration(seconds: number): void;
|
|
getCameraMaxLivestreamDuration(): number;
|
|
registerPushNotifications(credentials?: Credentials, persistentIds?: string[]): Promise<void>;
|
|
connect(options?: LoginOptions): Promise<void>;
|
|
getPushPersistentIds(): string[];
|
|
private updateDeviceProperties;
|
|
private onAPIClose;
|
|
private onAPIConnect;
|
|
private onAPIConnectionError;
|
|
startStationLivestream(deviceSN: string): Promise<void>;
|
|
stopStationLivestream(deviceSN: string): Promise<void>;
|
|
private writePersistentData;
|
|
private saveCloudToken;
|
|
private savePushCredentials;
|
|
private savePushPersistentIds;
|
|
getVersion(): string;
|
|
isPushConnected(): boolean;
|
|
isMQTTConnected(): boolean;
|
|
isConnected(): boolean;
|
|
private processInvitations;
|
|
private onPushMessage;
|
|
startStationDownload(deviceSN: string, path: string, cipherID: number): Promise<void>;
|
|
cancelStationDownload(deviceSN: string): Promise<void>;
|
|
getConfig(): EufySecurityConfig;
|
|
setDeviceProperty(deviceSN: string, name: string, value: unknown): Promise<void>;
|
|
setStationProperty(stationSN: string, name: string, value: unknown): Promise<void>;
|
|
private onStartStationLivestream;
|
|
private onStopStationLivestream;
|
|
private onErrorStationLivestream;
|
|
private onStartStationRTSPLivestream;
|
|
private onStopStationRTSPLivestream;
|
|
private onStationStartDownload;
|
|
private onStationFinishDownload;
|
|
private onStationCommandResult;
|
|
private onStationSecondaryCommandResult;
|
|
private onStationRtspUrl;
|
|
private onStationGuardMode;
|
|
private onStationCurrentMode;
|
|
private onStationPropertyChanged;
|
|
private onStationRawPropertyChanged;
|
|
private onStationAlarmEvent;
|
|
private onStationAlarmDelayEvent;
|
|
private onStationArmDelayEvent;
|
|
private onStationAlarmArmedEvent;
|
|
private onDevicePropertyChanged;
|
|
private onDeviceRawPropertyChanged;
|
|
private onDeviceCryingDetected;
|
|
private onDeviceSoundDetected;
|
|
private onDevicePetDetected;
|
|
private onDeviceVehicleDetected;
|
|
private onDeviceMotionDetected;
|
|
private onDevicePersonDetected;
|
|
private onDeviceRings;
|
|
private onDeviceLocked;
|
|
private onDeviceOpen;
|
|
private onDevicePackageDelivered;
|
|
private onDevicePackageStranded;
|
|
private onDevicePackageTaken;
|
|
private onDeviceSomeoneLoitering;
|
|
private onDeviceRadarMotionDetected;
|
|
private onDevice911Alarm;
|
|
private onDeviceShakeAlarm;
|
|
private onDeviceWrongTryProtectAlarm;
|
|
private onDeviceLongTimeNotClose;
|
|
private onDeviceLowBattery;
|
|
private onDeviceJammed;
|
|
private onDeviceStrangerPersonDetected;
|
|
private onDeviceDogDetected;
|
|
private onDeviceDogLickDetected;
|
|
private onDeviceDogPoopDetected;
|
|
private onDeviceReady;
|
|
private onStationRuntimeState;
|
|
private onStationChargingState;
|
|
private onStationWifiRssi;
|
|
private onCaptchaRequest;
|
|
private onFloodlightManualSwitch;
|
|
private onAuthTokenInvalidated;
|
|
private onTfaRequest;
|
|
private onStationTalkbackStart;
|
|
private onStationTalkbackStop;
|
|
private onStationTalkbackError;
|
|
startStationTalkback(deviceSN: string): Promise<void>;
|
|
stopStationTalkback(deviceSN: string): Promise<void>;
|
|
private onStationDeviceShakeAlarm;
|
|
private onStationDevice911Alarm;
|
|
private onStationDeviceJammed;
|
|
private onStationDeviceLowBattery;
|
|
private onStationDeviceWrongTryProtectAlarm;
|
|
addUser(deviceSN: string, username: string, passcode: string, schedule?: Schedule): Promise<void>;
|
|
deleteUser(deviceSN: string, username: string): Promise<void>;
|
|
updateUser(deviceSN: string, username: string, newUsername: string): Promise<void>;
|
|
updateUserPasscode(deviceSN: string, username: string, passcode: string): Promise<void>;
|
|
updateUserSchedule(deviceSN: string, username: string, schedule: Schedule): Promise<void>;
|
|
private onStationDevicePinVerified;
|
|
private onStationSdInfoEx;
|
|
private _emitStationImageDownload;
|
|
private onStationImageDownload;
|
|
private onStationDatabaseQueryLatest;
|
|
private onStationDatabaseQueryLocal;
|
|
private onStationDatabaseCountByDate;
|
|
private onStationDatabaseDelete;
|
|
private onStationSensorStatus;
|
|
private onStationGarageDoorStatus;
|
|
private onStorageInfoHb3;
|
|
private onDeviceTampering;
|
|
private onDeviceLowTemperature;
|
|
private onDeviceHighTemperature;
|
|
private onDevicePinIncorrect;
|
|
private onDeviceLidStuck;
|
|
private onDeviceBatteryFullyCharged;
|
|
}
|