@mega-yfue/eufy-sdk / VacuumScene
Interface: VacuumScene
One saved scene, as the robot reports it.
Properties
estimatedRuntime
readonly estimatedRuntime: number | undefined;How long the device expects a run to take, as it reports it. undefined for the vendor's 0, which its own comment marks invalid rather than instant.
The unit is not stated anywhere. Every other duration on this line is seconds, which is a reason to expect seconds and not a reason for this SDK to claim it — so the number is reported as sent and named for what it is.
id
readonly id: number;The device's own id for this scene — what encodeSceneClean takes to run it.
invalidReason
readonly invalidReason:
| "other"
| "none"
| "mapMissing"
| "mapUnavailable"
| "mapMismatch"
| "legacyDefault"
| undefined;Why it cannot run. "none" while valid — the vendor reports both fields either way.
mapId
readonly mapId: number | undefined;The map this scene's rooms belong to, and one of the two real map ids the device reports — the other being a scheduled rooms-clean's.
undefined when the device sends its no-map sentinel, which is -2 written into a uint32, and undefined for a zero as well: proto3 omits a zero-valued field, so a scene tied to map 0 and one that said nothing about a map are the same bytes. Reporting "no map" for both is the reading that cannot send a clean at the wrong floor.
name
readonly name: string | undefined;The scene's name. undefined when the device sent none, which a built-in scene does.
order
readonly order: number;Where the scene sits in the list the app shows, counting from 1.
type
readonly type:
| "custom"
| "wholeHouseDaily"
| "wholeHouseDeep"
| "afterDinner"
| "petArea";Whether this is one of the vendor's built-in scenes, and which.
valid
readonly valid: boolean;Whether the scene can still run. A scene whose map was deleted is kept and reported invalid.