Init
This commit is contained in:
142
build/interfaces.d.ts
vendored
Normal file
142
build/interfaces.d.ts
vendored
Normal file
@ -0,0 +1,142 @@
|
||||
import { Readable } from "stream";
|
||||
import { Device } from "./http/device";
|
||||
import { HTTPApiPersistentData, Picture, PropertyValue, Schedule } from "./http/interfaces";
|
||||
import { Station } from "./http/station";
|
||||
import { DeviceSmartLockMessage } from "./mqtt/model";
|
||||
import { DatabaseCountByDate, DatabaseQueryLatestInfo, DatabaseQueryLocal, StreamMetadata } from "./p2p/interfaces";
|
||||
import { CommandResult } from "./p2p/models";
|
||||
import { TalkbackStream } from "./p2p/talkback";
|
||||
import { AlarmEvent, DatabaseReturnCode, SmartSafeAlarm911Event, SmartSafeShakeAlarmEvent } from "./p2p/types";
|
||||
import { Credentials, PushMessage } from "./push/models";
|
||||
import { Jsonable, LoggingCategories } from ".";
|
||||
import { LogLevel } from "typescript-logging";
|
||||
export interface StationIPAddresses {
|
||||
[index: string]: string;
|
||||
}
|
||||
export interface EufySecurityConfig {
|
||||
username: string;
|
||||
password: string;
|
||||
country?: string;
|
||||
language?: string;
|
||||
trustedDeviceName?: string;
|
||||
persistentDir?: string;
|
||||
persistentData?: string;
|
||||
p2pConnectionSetup: number;
|
||||
pollingIntervalMinutes: number;
|
||||
eventDurationSeconds: number;
|
||||
acceptInvitations?: boolean;
|
||||
stationIPAddresses?: StationIPAddresses;
|
||||
enableEmbeddedPKCS1Support?: boolean;
|
||||
deviceConfig?: {
|
||||
simultaneousDetections?: boolean;
|
||||
};
|
||||
logging?: {
|
||||
level?: LogLevel;
|
||||
categories?: Array<{
|
||||
category: LoggingCategories;
|
||||
level: LogLevel;
|
||||
}>;
|
||||
};
|
||||
}
|
||||
export interface EufySecurityPersistentData {
|
||||
country: string;
|
||||
login_hash: string;
|
||||
openudid: string;
|
||||
serial_number: string;
|
||||
cloud_token?: string;
|
||||
cloud_token_expiration?: number;
|
||||
push_credentials: Credentials | undefined;
|
||||
push_persistentIds: string[];
|
||||
version: string;
|
||||
httpApi?: HTTPApiPersistentData;
|
||||
fallbackTrustedDeviceName?: string;
|
||||
}
|
||||
export interface EufySecurityEvents {
|
||||
"device added": (device: Device) => void;
|
||||
"device removed": (device: Device) => void;
|
||||
"device property changed": (device: Device, name: string, value: PropertyValue) => void;
|
||||
"device raw property changed": (device: Device, type: number, value: string) => void;
|
||||
"device crying detected": (device: Device, state: boolean) => void;
|
||||
"device sound detected": (device: Device, state: boolean) => void;
|
||||
"device pet detected": (device: Device, state: boolean) => void;
|
||||
"device vehicle detected": (device: Device, state: boolean) => void;
|
||||
"device motion detected": (device: Device, state: boolean) => void;
|
||||
"device person detected": (device: Device, state: boolean, person: string) => void;
|
||||
"device stranger person detected": (device: Device, state: boolean) => void;
|
||||
"device dog detected": (device: Device, state: boolean) => void;
|
||||
"device dog lick detected": (device: Device, state: boolean) => void;
|
||||
"device dog poop detected": (device: Device, state: boolean) => void;
|
||||
"device rings": (device: Device, state: boolean) => void;
|
||||
"device locked": (device: Device, state: boolean) => void;
|
||||
"device open": (device: Device, state: boolean) => void;
|
||||
"device package delivered": (device: Device, state: boolean) => void;
|
||||
"device package stranded": (device: Device, state: boolean) => void;
|
||||
"device package taken": (device: Device, state: boolean) => void;
|
||||
"device someone loitering": (device: Device, state: boolean) => void;
|
||||
"device radar motion detected": (device: Device, state: boolean) => void;
|
||||
"device 911 alarm": (device: Device, state: boolean, detail: SmartSafeAlarm911Event) => void;
|
||||
"device shake alarm": (device: Device, state: boolean, detail: SmartSafeShakeAlarmEvent) => void;
|
||||
"device wrong try-protect alarm": (device: Device, state: boolean) => void;
|
||||
"device long time not close": (device: Device, state: boolean) => void;
|
||||
"device low battery": (device: Device, state: boolean) => void;
|
||||
"device jammed": (device: Device, state: boolean) => void;
|
||||
"device pin verified": (device: Device, successfull: boolean) => void;
|
||||
"device tampering": (device: Device, state: boolean) => void;
|
||||
"device low temperature": (device: Device, state: boolean) => void;
|
||||
"device high temperature": (device: Device, state: boolean) => void;
|
||||
"device pin incorrect": (device: Device, state: boolean) => void;
|
||||
"device lid stuck": (device: Device, state: boolean) => void;
|
||||
"device battery fully charged": (device: Device, state: boolean) => void;
|
||||
"station added": (station: Station) => void;
|
||||
"station removed": (station: Station) => void;
|
||||
"station livestream start": (station: Station, device: Device, metadata: StreamMetadata, videostream: Readable, audiostream: Readable) => void;
|
||||
"station livestream stop": (station: Station, device: Device) => void;
|
||||
"station download start": (station: Station, device: Device, metadata: StreamMetadata, videoStream: Readable, audioStream: Readable) => void;
|
||||
"station download finish": (station: Station, device: Device) => void;
|
||||
"station command result": (station: Station, result: CommandResult) => void;
|
||||
"station rtsp livestream start": (station: Station, device: Device) => void;
|
||||
"station rtsp livestream stop": (station: Station, device: Device) => void;
|
||||
"station rtsp url": (station: Station, device: Device, value: string) => void;
|
||||
"station guard mode": (station: Station, guardMode: number) => void;
|
||||
"station current mode": (station: Station, currentMode: number) => void;
|
||||
"station property changed": (station: Station, name: string, value: PropertyValue) => void;
|
||||
"station raw property changed": (station: Station, type: number, value: string) => void;
|
||||
"station alarm event": (station: Station, alarmEvent: AlarmEvent) => void;
|
||||
"station alarm delay event": (station: Station, alarmDelayEvent: AlarmEvent, alarmDelay: number) => void;
|
||||
"station alarm armed": (station: Station) => void;
|
||||
"station alarm arm delay event": (station: Station, armDelay: number) => void;
|
||||
"station connect": (station: Station) => void;
|
||||
"station connection error": (station: Station, error: Error) => void;
|
||||
"station close": (station: Station) => void;
|
||||
"station talkback start": (station: Station, device: Device, talkbackStream: TalkbackStream) => void;
|
||||
"station talkback stop": (station: Station, device: Device) => void;
|
||||
"station image download": (station: Station, file: string, image: Picture) => void;
|
||||
"station database query latest": (station: Station, returnCode: DatabaseReturnCode, data: Array<DatabaseQueryLatestInfo>) => void;
|
||||
"station database query local": (station: Station, returnCode: DatabaseReturnCode, data: Array<DatabaseQueryLocal>) => void;
|
||||
"station database count by date": (station: Station, returnCode: DatabaseReturnCode, data: Array<DatabaseCountByDate>) => void;
|
||||
"station database delete": (station: Station, returnCode: DatabaseReturnCode, failedIds: Array<unknown>) => void;
|
||||
"push connect": () => void;
|
||||
"push close": () => void;
|
||||
"push message": (message: PushMessage) => void;
|
||||
"connect": () => void;
|
||||
"close": () => void;
|
||||
"connection error": (error: Error) => void;
|
||||
"tfa request": () => void;
|
||||
"captcha request": (id: string, captcha: string) => void;
|
||||
"persistent data": (data: string) => void;
|
||||
"mqtt connect": () => void;
|
||||
"mqtt close": () => void;
|
||||
"mqtt lock message": (message: DeviceSmartLockMessage) => void;
|
||||
"user added": (device: Device, username: string, schedule?: Schedule) => void;
|
||||
"user deleted": (device: Device, username: string) => void;
|
||||
"user error": (device: Device, username: string, error: Error) => void;
|
||||
"user username updated": (device: Device, username: string) => void;
|
||||
"user schedule updated": (device: Device, username: string, schedule: Schedule) => void;
|
||||
"user passcode updated": (device: Device, username: string) => void;
|
||||
}
|
||||
export interface ErrorObject {
|
||||
cause: unknown;
|
||||
message: string;
|
||||
context: Jsonable;
|
||||
stacktrace?: string;
|
||||
}
|
||||
Reference in New Issue
Block a user