Skip to content

@mega-yfue/eufy-sdk / BizMapFrame

Interface: BizMapFrame ​

One frame off the map stream, unwrapped as far as its bytes but not decoded.

Properties ​

channelId ​

ts
readonly channelId: number;

Which channel the bytes belong to. Compare against BIZ_CHANNEL, mindful of its trap.


clearType ​

ts
readonly clearType: number;

The vendor's clear_type. Forwarded, not interpreted: the app passes it straight through to its own UI layer and nothing observed says what its values mean. A Map I-frame is documented to make the device clear the channel's accumulated data first, so this plausibly says so — plausibly is not a decode.


dataType ​

ts
readonly dataType: number;

The vendor's data_type. The app reads this field and then discards it; so does this.


len ​

ts
readonly len: number;

See BizMapFrame.offset.


offset ​

ts
readonly offset: number;

The vendor's offset and len. A large map is split across frames, and these two locate this one — but which of "offset into the channel buffer" and "length of this chunk" versus "length of the whole" they mean is decided in the app's React Native layer, which ships as Hermes bytecode and was not readable. They are carried verbatim so a reassembler can be written against a capture rather than against a guess.


payload ​

ts
readonly payload: string;

The frame's bytes, re-encoded as the base64 a RawDpCodec reads. The wire sends hex; the framing underneath is the same varint(len) ++ protobufMessage every Raw DP uses.

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.