/** * Station command types and interfaces for Eufy stations * * Defines all command interfaces for station-level operations in the Eufy Security WebSocket API. * Includes property, connection, alarm, and database commands. */ import { BaseCommandWithSerial } from "../types/commands"; import { STATION_COMMANDS, StationCommandType } from "./constants"; import { StationProperties } from "./properties"; /** * Base interface for station commands */ export interface BaseStationCommand extends BaseCommandWithSerial { } /** * Station reboot command */ export interface StationRebootCommand extends BaseStationCommand { } /** * Check if station is connected */ export interface StationIsConnectedCommand extends BaseStationCommand { } /** * Connect to station */ export interface StationConnectCommand extends BaseStationCommand { } /** * Disconnect from station */ export interface StationDisconnectCommand extends BaseStationCommand { } /** * Get station properties metadata */ export interface StationGetPropertiesMetadataCommand extends BaseStationCommand { } /** * Get station properties */ export interface StationGetPropertiesCommand extends BaseStationCommand { } /** * Set station property */ export interface StationSetPropertyCommand extends BaseStationCommand { name: keyof StationProperties; value: StationProperties[keyof StationProperties]; } /** * Check if station has property */ export interface StationHasPropertyCommand extends BaseStationCommand { propertyName: keyof StationProperties; } /** * Get station commands */ export interface StationGetCommandsCommand extends BaseStationCommand { } /** * Check if station has command */ export interface StationHasCommandCommand extends BaseStationCommand { commandName: string; } /** * Trigger station alarm */ export interface StationTriggerAlarmCommand extends BaseStationCommand { seconds: number; } /** * Reset station alarm */ export interface StationResetAlarmCommand extends BaseStationCommand { } /** * Set station guard mode */ export interface StationSetGuardModeCommand extends BaseStationCommand { mode: number; } /** * Station chime command */ export interface StationChimeCommand extends BaseStationCommand { ringtone: number; } /** * Download image from station */ export interface StationDownloadImageCommand extends BaseStationCommand { file: string; } /** * Query database records by date range from station * Results are delivered as a station event (database query by date) */ export interface StationDatabaseQueryByDateCommand extends BaseStationCommand { serialNumbers: string[]; startDate: string; endDate: string; eventType?: number; detectionType?: number; storageType?: number; } /** * Union type for all station commands */ export type StationCommand = StationRebootCommand | StationIsConnectedCommand | StationConnectCommand | StationDisconnectCommand | StationGetPropertiesMetadataCommand | StationGetPropertiesCommand | StationSetPropertyCommand | StationHasPropertyCommand | StationGetCommandsCommand | StationHasCommandCommand | StationTriggerAlarmCommand | StationResetAlarmCommand | StationSetGuardModeCommand | StationChimeCommand | StationDownloadImageCommand | StationDatabaseQueryByDateCommand; //# sourceMappingURL=commands.d.ts.map