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 9 modes a station reports, only away/home/custom1/disarmed are confirmed as writes (ArmingMode); the alarm-delay write takes the narrower byte-captured AlarmDelayMode.


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).


display ​

ts
display: DisplayActions;

Smart Display (read-only): battery. No display write is captured.


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): charging, 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).


mower ​

ts
mower: MowerActions;

Robot mower (read-only): battery, cutHeight, network, wifiSignal, wear timers and settings. No write 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.


smartDrop ​

ts
smartDrop: SmartDropActions;

SmartDrop parcel box: openLid().


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.