UNPKG

eufy-security-ws

Version:

Node WebSocket server implementation to integrate Eufy Security devices

303 lines 10.9 kB
import { Device, DynamicLighting, IndexedProperty, Picture, RGBColor } from "eufy-security-client"; import { Modify } from "../state.js"; export interface DevicePropertiesSchema0 { name: string; model: string; serialNumber: string; hardwareVersion: string; softwareVersion: string; type: number; stationSerialNumber: string; battery: number; batteryTemperature: number; batteryLow: boolean; batteryIsCharging: boolean; lastChargingDays: number; lastChargingTotalEvents: number; lastChargingRecordedEvents: number; lastChargingFalseEvents: number; batteryUsageLastWeek: number; wifiRssi: number; wifiSignalLevel: number; enabled: boolean; antitheftDetection: boolean; autoNightvision: boolean; nightvision: boolean; statusLed: boolean; motionDetection: boolean; motionDetectionType: number; motionDetectionSensitivity: number; motionDetectionTypeHuman: boolean; motionDetectionTypeHumanRecognition: boolean; motionDetectionTypePet: boolean; motionDetectionTypeVehicle: boolean; motionDetectionTypeAllOtherMotions: boolean; motionZone: string; motionDetectionRange: boolean; motionDetectionRangeStandardSensitivity: number; motionDetectionRangeAdvancedLeftSensitivity: number; motionDetectionRangeAdvancedMiddleSensitivity: number; motionDetectionRangeAdvancedRightSensitivity: number; motionDetectionTestMode: boolean; motionDetected: boolean; motionTracking: boolean; motionTrackingSensitivity: number; motionAutoCruise: boolean; motionOutOfViewDetection: boolean; personDetected: boolean; personName: string; rtspStream: boolean; rtspStreamUrl: string; watermark: number; pictureUrl?: string; state: number; petDetection: boolean; petDetected: boolean; soundDetection: boolean; soundDetectionType: number; soundDetectionSensitivity: number; soundDetected: boolean; cryingDetected: boolean; sensorOpen: boolean; sensorChangeTime: number; motionSensorPirEvent: number; locked: boolean; ringing: boolean; lockStatus: number; light: boolean; microphone: boolean; speaker: boolean; speakerVolume: number; ringtoneVolume: number; audioRecording: boolean; powerSource: number; powerWorkingMode: number; chargingStatus: number; recordingEndClipMotionStops: boolean; recordingClipLength: number; recordingRetriggerInterval: number; videoStreamingQuality: number; videoRecordingQuality: number; videoWdr: boolean; lightSettingsEnable: boolean; lightSettingsBrightnessManual: number; lightSettingsColorTemperatureManual: number; lightSettingsBrightnessMotion: number; lightSettingsColorTemperatureMotion: number; lightSettingsBrightnessSchedule: number; lightSettingsColorTemperatureSchedule: number; lightSettingsMotionTriggered: boolean; lightSettingsMotionActivationMode: number; lightSettingsMotionTriggeredDistance: number; lightSettingsMotionTriggeredTimer: number; chimeIndoor: boolean; chimeHomebase: boolean; chimeHomebaseRingtoneVolume: number; chimeHomebaseRingtoneType: number; notificationType: number; rotationSpeed: number; imageMirrored: boolean; notificationPerson: boolean; notificationPet: boolean; notificationAllOtherMotion: boolean; notificationCrying: boolean; notificationAllSound: boolean; notificationIntervalTime: boolean; notificationRing: boolean; notificationMotion: boolean; notificationRadarDetector: boolean; continuousRecording: boolean; continuousRecordingType: number; chirpVolume: number; chirpTone: number; videoHdr: boolean; videoDistortionCorrection: boolean; videoRingRecord: number; videoNightvisionImageAdjustment: boolean; videoColorNightvision: boolean; autoCalibration: boolean; autoLock: boolean; autoLockTimer: number; autoLockSchedule: boolean; autoLockScheduleStartTime: string; autoLockScheduleEndTime: string; oneTouchLocking: boolean; wrongTryProtection: boolean; wrongTryAttempts: number; wrongTryLockdownTime: number; scramblePasscode: boolean; sound: number; notification: boolean; notificationUnlocked: boolean; notificationLocked: boolean; loiteringDetection: boolean; loiteringDetectionRange: number; loiteringDetectionLength: number; motionDetectionSensitivityMode: number; motionDetectionSensitivityStandard: number; motionDetectionSensitivityAdvancedA: number; motionDetectionSensitivityAdvancedB: number; motionDetectionSensitivityAdvancedC: number; motionDetectionSensitivityAdvancedD: number; motionDetectionSensitivityAdvancedE: number; motionDetectionSensitivityAdvancedF: number; motionDetectionSensitivityAdvancedG: number; motionDetectionSensitivityAdvancedH: number; loiteringCustomResponsePhoneNotification: boolean; loiteringCustomResponseAutoVoiceResponse: boolean; loiteringCustomResponseAutoVoiceResponseVoice: number; loiteringCustomResponseHomeBaseNotification: boolean; loiteringCustomResponseTimeFrom: string; loiteringCustomResponseTimeTo: string; deliveryGuard: boolean; deliveryGuardPackageGuarding: boolean; deliveryGuardPackageGuardingVoiceResponseVoice: number; deliveryGuardPackageGuardingActivatedTimeFrom: string; deliveryGuardPackageGuardingActivatedTimeTo: string; deliveryGuardUncollectedPackageAlert: boolean; deliveryGuardUncollectedPackageAlertTimeToCheck: string; deliveryGuardPackageLiveCheckAssistance: boolean; dualCamWatchViewMode: number; ringAutoResponse: boolean; ringAutoResponseVoiceResponse: boolean; ringAutoResponseVoiceResponseVoice: number; ringAutoResponseTimeFrom: string; ringAutoResponseTimeTo: string; defaultAngle: boolean; defaultAngleIdleTime: number; soundDetectionRoundLook: boolean; packageDelivered: boolean; packageStranded: boolean; packageTaken: boolean; someoneLoitering: boolean; radarMotionDetected: boolean; leftOpenAlarm: boolean; leftOpenAlarmDuration: number; dualUnlock: boolean; powerSave: boolean; interiorBrightness: number; interiorBrightnessDuration: number; tamperAlarm: number; remoteUnlock: boolean; remoteUnlockMasterPIN: boolean; alarmVolume: number; promptVolume: number; notificationUnlockByKey: boolean; notificationUnlockByPIN: boolean; notificationUnlockByFingerprint: boolean; notificationUnlockByApp: boolean; notificationDualUnlock: boolean; notificationDualLock: boolean; notificationWrongTryProtect: boolean; notificationJammed: boolean; jammedAlert: boolean; "911Alert": boolean; "911AlertEvent": boolean; shakeAlert: boolean; shakeAlertEvent: boolean; lowBatteryAlert: boolean; longTimeNotCloseAlert: boolean; wrongTryProtectAlert: boolean; videoTypeStoreToNAS: number; snooze: boolean; snoozeTime: number; identityPersonDetected: boolean; strangerPersonDetected: boolean; vehicleDetected: boolean; dogDetected: boolean; dogLickDetected: boolean; dogPoopDetected: boolean; detectionStatisticsWorkingDays: number; detectionStatisticsDetectedEvents: number; detectionStatisticsRecordedEvents: number; } type DevicePropertiesSchema1 = Modify<DevicePropertiesSchema0, { snoozeStartTime: number; snoozeHomebase: boolean; snoozeMotion: boolean; snoozeChime: boolean; }>; type DevicePropertiesSchema2 = Modify<DevicePropertiesSchema1, { cellularRSSI: number; cellularSignalLevel: number; cellularSignal: string; cellularBand: string; cellularIMEI: string; cellularICCID: string; }>; type DevicePropertiesSchema3 = Omit<Modify<DevicePropertiesSchema2, { picture: Picture; }>, "pictureUrl">; type DevicePropertiesSchema4 = Modify<DevicePropertiesSchema3, { lightSettingsManualLightingActiveMode: number; lightSettingsManualDailyLighting: number; lightSettingsManualColoredLighting: RGBColor; lightSettingsManualDynamicLighting: number; lightSettingsMotionLightingActiveMode: number; lightSettingsMotionDailyLighting: number; lightSettingsMotionColoredLighting: RGBColor; lightSettingsMotionDynamicLighting: number; lightSettingsScheduleLightingActiveMode: number; lightSettingsScheduleDailyLighting: number; lightSettingsScheduleColoredLighting: RGBColor; lightSettingsScheduleDynamicLighting: number; lightSettingsColoredLightingColors: RGBColor[]; lightSettingsDynamicLightingThemes: DynamicLighting[]; doorControlWarning: boolean; door1Open: boolean; door2Open: boolean; doorSensor1Status: number; doorSensor2Status: number; doorSensor1MacAddress: string; doorSensor2MacAddress: string; doorSensor1Name: string; doorSensor2Name: string; doorSensor1SerialNumber: string; doorSensor2SerialNumber: string; doorSensor1Version: string; doorSensor2Version: string; doorSensor1LowBattery: boolean; doorSensor2LowBattery: boolean; doorSensor1BatteryLevel: number; doorSensor2BatteryLevel: number; }>; type DevicePropertiesSchema5 = Modify<DevicePropertiesSchema4, { locationCoordinates: string; locationAddress: string; locationLastUpdate: number; trackerType: number; leftBehindAlarm: boolean; findPhone: boolean; }>; type DevicePropertiesSchema6 = Modify<DevicePropertiesSchema5, { notificationVehicle: boolean; flickerAdjustment: number; leavingDetection: boolean; leavingReactionNotification: boolean; leavingReactionStartTime: string; leavingReactionEndTime: string; someoneGoing: boolean; lockEventOrigin: number; beepVolume: number; nightvisionOptimization: boolean; nightvisionOptimizationSide: number; deliveries: number; openMethod: number; motionActivatedPrompt: boolean; open: boolean; openedByType: number; openedByName: string; tamperingAlert: boolean; lowTemperatureAlert: boolean; highTemperatureAlert: boolean; lidStuckAlert: boolean; pinIncorrectAlert: boolean; batteryFullyChargedAlert: boolean; isDeliveryDenied: boolean; hasMasterPin: boolean; }>; export type DeviceProperties = DevicePropertiesSchema0 | DevicePropertiesSchema1 | DevicePropertiesSchema2 | DevicePropertiesSchema3 | DevicePropertiesSchema4 | DevicePropertiesSchema5 | DevicePropertiesSchema6; export declare const dumpDeviceProperties: (device: Device, schemaVersion: number) => DeviceProperties; export declare const dumpDevicePropertiesMetadata: (device: Device, schemaVersion: number) => IndexedProperty; export {}; //# sourceMappingURL=properties.d.ts.map