Skip to content

@mega-yfue/eufy-sdk / Codec

Type Alias: Codec ​

ts
type Codec = 
  | "station"
  | "camera"
  | "sensor"
  | "lock"
  | "keypad"
  | "vacuum"
  | "mower"
  | "light"
  | "printer"
  | "display";

Command-codec families (axis B2). One per genuinely-different wire protocol.

station|camera|sensor|lock|keypad are the eufy security families (P2P; param space 1000+). vacuum is the eufy clean line (RoboVac) — a different transport (Tuya/MQTT data-points) and a different param namespace (DP ids ~150-180), so its params come from a separate authoritative source (get_product_data_point → data_point_list), NOT the P2P device list. Per-namespace param dictionaries, not one global table.

light is the eufy life smart-lighting line (e.g. T8L02 "Permanent Outdoor Lights") — its own secure-MQTT "DP" TLV wire, decoded by its own transport codec. Named distinctly from the camera-floodlight light capability so the two never collide as bare "light".

display is the T87Ax Smart Display line — its own codec because its device_type collides with the security residual range (confirmed live, 2026-09-04: it connects over secure MQTT with no p2p_did, never P2P). It owns its own param namespace (ids 8001-8006) and its own product line, so no other line's capability can attach to it — see namespaceForCodec and CODEC_LINE. The display capability targets it and reads the charge; no screen/audio/assistant param has been observed, so those are absent rather than deferred.

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.