Skip to content

@mega-yfue/eufy-sdk / LockActions

Type Alias: LockActions ​

ts
type LockActions = Surface<typeof LOCK_MEMBERS>;

Bound lock controls — the object returned by dev.lock().

Everything is DERIVED from LOCK_MEMBERS. lock/unlock drive every lock-family actuator over the wire its family takes: the shared ff09 frame on the T8531 video smart lock and the T85D0 garage door, the T8530 video lock's own set-payload, and the keyed-payload envelope on the classic Wi-Fi lock (the T8520-range unit that never negotiates a session key). The setting toggles ride ff09 only. This module emits ONE transport-neutral intent per wire (identity fields only, no wire bytes, no cipher, no routing key) and names no transport: the command sink routes P2P vs MQTT by the device's topology, and the chosen transport's command router builds the frame + envelope and re-resolves its own routing tail. Which pipe it is does not reach dev.lock() — its surface is identical either way, the same way P2P-vs-cloud is hidden for live media.

Classic Wi-Fi lock: lock() and unlock() are both confirmed on hardware — the bolt moved each way, the device answered result code 0, and the cloud status followed. That device answers every command, so on it the two reject on a refusal or an unanswered command as well as on missing identity.

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.