eufy-security-ws
Version:
Node WebSocket server implementation to integrate Eufy Security devices
303 lines • 10.9 kB
TypeScript
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