Skip to content

@mega-yfue/eufy-sdk / DeviceActionMap

Interface: DeviceActionMap

The typed action surface, keyed by the camelCased capability id (the fluent accessor name).

THE projection point for actions: adding a capability with an actions() factory = add its typed-actions import above + one line here. device.ts and the client stay capability-agnostic — the fluent dev.ptz() accessors are derived from this map (CapabilityAccessors), so nothing outside a capability file names a capability.

A key here MUST match camelCase(module.capability) for the runtime accessor install to line up with the type. (Only capabilities whose module defines actions() appear.)

Properties

arming

ts
arming: ArmingActions;

Guard mode: setMode(ArmingMode) + setAlarmDelayConfig(mode, config). Of the 8 ArmingMode values only away/home/disarmed are confirmed on-device.


audio

ts
audio: AudioActions;

Audio/volume (family-gated): mic, speaker + volume, in-video recording, doorbell ringtone, HomeBase alarm/prompt.


battery

ts
battery: BatteryActions;

Battery/power: power source, working mode, and the custom-mode clip/interval/auto-stop settings.


camera

ts
camera: CameraActions;

Camera: on/off, privacy, status LED; snapshot/live/record when bound to a live client.


co

ts
co: CoActions;

CO-detector reads (read-only): coDetected, lastSeen.


contact

ts
contact: ContactActions;

Entry (door/window) sensor: reads open, lastSeen, rssi, alarmSoundType, alarmVolume; writes setAlarmSoundType, setAlarmVolume (present when the sensor reports the alarm params).


doorbell

ts
doorbell: DoorbellActions;

Doorbell: playQuickResponse(voiceId) (the canned voice replies).


info

ts
info: DeviceInfo;

Identity metadata (read-only): { manufacturer, model, serialNumber, name, deviceType?, firmwareVersion?, hardwareVersion? }.


keypad

ts
keypad: KeypadActions;

Security-keypad reads (read-only): rssi.


leak

ts
leak: LeakActions;

Water-leak / freeze sensor reads (read-only): leakDetected, lastSeen.


light

ts
light: LightActions;

Floodlight/spotlight: on/off/set, setBrightness/setColorTemp/setEnabled, setAutoSpotlight.


locate

ts
locate: LocateActions;

RoboVac locate (find-robot beep): locating; locate(on?).


lock

ts
lock: LockActions;

Smart lock: lock()/unlock() + verified setRainMode/setAutoLock. The 6 source-confirmed-but-uncaptured setting toggles are ABSENT until captured (present method ⇒ wire verified).


motion

ts
motion: MotionActions;

Motion/PIR: setDetection(on) (sensitivity is read-only until its write wire is captured).


ptz

ts
ptz: PtzActions;

Pan/tilt/zoom control: rotate(dir, step) + left/right/up/down, zoom, preset() namespace (goto/preview/save/setDefault/delete/list/image).


rtsp

ts
rtsp: RtspActions;

RTSP publish for a NAS/NVR: publish/withdraw + published, requireAuth/allowAnonymous, recordingMode/setRecordingMode. One camera at a time per station.


siren

ts
siren: SirenActions;

Siren: reads active, volume, alarmDuration, doNotDisturb; writes setVolume, setAlarmDuration, test, stop (config setters present when the param is reported). No direct "sound the alarm" wire — a real alarm is driven by the arming system; test is the on-demand trigger.


smartLight

ts
smartLight: SmartLightActions;

eufy_life smart light (T8L0x): on/off, setBrightness, T8L02 setColor, setEffect(lightId).


smoke

ts
smoke: SmokeActions;

Smoke-detector reads (read-only): smokeDetected, lastSeen.


suction

ts
suction: SuctionActions;

RoboVac suction: level, boostIq, supportedLevels; setSuctionLevel, setBoostIq.


vacuumClean

ts
vacuumClean: VacuumCleanActions;

RoboVac core state and controls: power, activity (WorkStatus), volume, battery, cleanType; setPower, startCleaning, returnToDock, pauseCleaning.


vacuumDock

ts
vacuumDock: VacuumDockActions;

RoboVac Omni dock controls: emptyDust, washMops, dryMops; raw dockState unexposed until wire confirmed.

Independent and unofficial. Not affiliated with, endorsed by, or sponsored by Anker Innovations, Anker eufy, or eufy. "Anker eufy", "eufy" and "Anker" are trademarks of their respective owners. Use responsibly — rapid or failed logins can trigger captcha or temporary cooldowns.