@mega-yfue/eufy-sdk / BizMapFrame
Interface: BizMapFrame
One frame off the map stream, unwrapped as far as its bytes but not decoded.
Properties
channelId
readonly channelId: number;Which channel the bytes belong to. Compare against BIZ_CHANNEL, mindful of its trap.
clearType
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
readonly dataType: number;The vendor's data_type. The app reads this field and then discards it; so does this.
len
readonly len: number;See BizMapFrame.offset.
offset
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
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.