eufy-mega / model/capabilities / 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
arming: ArmingActions;Guard mode: setMode(ArmingMode) + setAlarmDelayConfig(mode, config). Of the 8 ArmingMode values only away/home/disarmed are confirmed on-device.
audio
audio: AudioActions;Audio/volume (family-gated): mic, speaker + volume, in-video recording, doorbell ringtone, HomeBase alarm/prompt.
battery
battery: BatteryActions;Battery/power: power source, working mode, and the custom-mode clip/interval/auto-stop settings.
camera
camera: CameraActions;Camera: on/off, privacy, status LED; snapshot/live/record when bound to a live client.
co
co: CoActions;CO-detector reads (read-only): coDetected, lastSeen.
contact
contact: ContactActions;Entry (door/window) sensor reads (read-only): open, lastSeen, rssi.
doorbell
doorbell: DoorbellActions;Doorbell: playQuickResponse(voiceId) (the canned voice replies).
fanSpeed
fanSpeed: FanSpeedActions;RoboVac fan-speed reads (read-only): fanSpeed, boostIq.
info
info: DeviceInfo;Identity metadata (read-only): { manufacturer, model, serialNumber, name, deviceType?, firmwareVersion?, hardwareVersion? } for a host's device registry / device-info surface.
keypad
keypad: KeypadActions;Security-keypad reads (read-only): rssi.
leak
leak: LeakActions;Water-leak / freeze sensor reads (read-only): leakDetected, lastSeen.
light
light: LightActions;Floodlight/spotlight: on/off/set, setBrightness/setColorTemp/setEnabled, setAutoSpotlight.
lock
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
motion: MotionActions;Motion/PIR: setDetection(on) (sensitivity is read-only until its write wire is captured).
personDetection
personDetection: PersonDetectionActions;Person-detection reads (read-only): detectionEnabled, detected.
ptz
ptz: PtzActions;Pan/tilt/zoom control: rotate(dir, step) + left/right/up/down, zoom, preset() namespace (goto/preview/save/setDefault/delete/list/image).
siren
siren: SirenActions;Siren: read-only on mega (active). The switch wire is unverified, so on()/off() are absent until confirmed on-device (present method ⇒ wire verified).
smartLight
smartLight: SmartLightActions;eufy_life smart light (T8L0x): on/off, setBrightness, setEffect(lightId).
smoke
smoke: SmokeActions;Smoke-detector reads (read-only): smokeDetected, lastSeen.
storage
storage: StorageActions;Local-storage reads (read-only): sdCard, free, total.
vacuumClean
vacuumClean: VacuumCleanActions;RoboVac core reads (read-only): power, activity (WorkStatus), volume, battery.