@mega-yfue/eufy-sdk / Codec
Type Alias: Codec
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). Its param namespace and product line are nonetheless grouped into security by maintainer decision, not wire evidence — see namespaceForCodec. No capability module targets it yet: no screen/audio/assistant param has been observed, only its own small cloud-param namespace (ids 8001-8006).