Documentation
¶
Overview ¶
Package roborock provides a stateless cloud client and explicit typed device sessions. Account credentials belong to requests; each device session owns its connection and closes when its opening context ends, the transport fails, or Close is called.
Index ¶
- Constants
- type A01Operations
- type AccountRequest
- type AuthContext
- type CameraDescription
- type CameraQuality
- type CameraSession
- func (c *CameraSession) Close() error
- func (c *CameraSession) Description() CameraDescription
- func (c *CameraSession) Done() <-chan struct{}
- func (c *CameraSession) GetICE(ctx context.Context, _ EmptyRequest) (DeviceICEResult, error)
- func (c *CameraSession) SendICE(ctx context.Context, req SendICERequest) (CommandAcknowledgement, error)
- type ChargeStatus
- type CleanFinishReason
- type CleanRecord
- type CleanRecordRequest
- type CleanRecordResult
- type CleanSegmentsRequest
- type CleanStartType
- type CleanType
- type CleanZonesRequest
- type CleaningState
- type CleaningSummary
- type Client
- func (c *Client) GetHome(ctx context.Context, request AccountRequest) (Home, error)
- func (c *Client) GetHomeData(ctx context.Context, request HomeDataRequest) (HomeData, error)
- func (c *Client) GetHomeRooms(ctx context.Context, request HomeRoomsRequest) (RoomsResult, error)
- func (c *Client) GetSharedDeviceRooms(ctx context.Context, request SharedDeviceRoomsRequest) (RoomsResult, error)
- func (c *Client) ListDevices(ctx context.Context, request AccountRequest) (ListDevicesResult, error)
- func (c *Client) LoginWithCode(ctx context.Context, request LoginWithCodeRequest) (LoginResult, error)
- func (c *Client) LoginWithPassword(ctx context.Context, request LoginWithPasswordRequest) (LoginResult, error)
- func (c *Client) OpenDevice(ctx context.Context, request OpenDeviceRequest) (*DeviceSession, error)
- func (c *Client) RequestLoginCode(ctx context.Context, request LoginCodeRequest) (LoginCodeResult, error)
- func (c *Client) ResolveLogin(ctx context.Context, request ResolveLoginRequest) (LoginContext, error)
- type ClientAPI
- type CloudRoom
- type CommandAcknowledgement
- type Consumables
- type DND
- type Device
- type DeviceCapabilities
- type DeviceErrorCode
- type DeviceFamily
- type DeviceICEResult
- type DeviceOperations
- type DeviceSession
- func (s *DeviceSession) CleanSegments(ctx context.Context, req CleanSegmentsRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) CleanZones(ctx context.Context, req CleanZonesRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) Close() error
- func (s *DeviceSession) DisableDND(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) Done() <-chan struct{}
- func (s *DeviceSession) Err() error
- func (s *DeviceSession) GetCapabilities(ctx context.Context, _ EmptyRequest) (DeviceCapabilities, error)
- func (s *DeviceSession) GetCleanRecord(ctx context.Context, req CleanRecordRequest) (CleanRecordResult, error)
- func (s *DeviceSession) GetCleaningSummary(ctx context.Context, _ EmptyRequest) (CleaningSummary, error)
- func (s *DeviceSession) GetConsumables(ctx context.Context, _ EmptyRequest) (Consumables, error)
- func (s *DeviceSession) GetDND(ctx context.Context, _ EmptyRequest) (DND, error)
- func (s *DeviceSession) GetDyadState(ctx context.Context, request GetDyadStateRequest) (DyadState, error)
- func (s *DeviceSession) GetMap(ctx context.Context, request GetMapRequest) (MapSnapshot, error)
- func (s *DeviceSession) GetMapTrace(ctx context.Context, _ EmptyRequest) (MapSnapshot, error)
- func (s *DeviceSession) GetRooms(ctx context.Context, _ EmptyRequest) (MapRoomsResult, error)
- func (s *DeviceSession) GetStatus(ctx context.Context, _ EmptyRequest) (Status, error)
- func (s *DeviceSession) GetZeoState(ctx context.Context, request GetZeoStateRequest) (ZeoState, error)
- func (s *DeviceSession) ListMaps(ctx context.Context, _ EmptyRequest) (ListMapsResult, error)
- func (s *DeviceSession) OpenCamera(ctx context.Context, req OpenCameraRequest) (*CameraSession, error)
- func (s *DeviceSession) PauseCleaning(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) RCEnd(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) RCMove(ctx context.Context, req RCMoveRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) RCStart(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) RCStop(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) ReturnToDock(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) SelectMap(ctx context.Context, request SelectMapRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) SetDND(ctx context.Context, req SetDNDRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) SetDyadSettings(ctx context.Context, request SetDyadSettingsRequest) error
- func (s *DeviceSession) SetFanSpeed(ctx context.Context, req SetFanSpeedRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) SetMopMode(ctx context.Context, req SetMopModeRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) SetWaterMode(ctx context.Context, req SetWaterModeRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) SetZeoSettings(ctx context.Context, request SetZeoSettingsRequest) error
- func (s *DeviceSession) SpotClean(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) StartCleaning(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) StartDustCollection(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) StartMopWashing(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) StartZeo(ctx context.Context, request StartZeoRequest) error
- func (s *DeviceSession) StopCleaning(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) StopDustCollection(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
- func (s *DeviceSession) StopMopWashing(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
- type DeviceState
- type DockErrorCode
- type DockType
- type DyadBrushSpeed
- type DyadCleanMode
- type DyadCleanser
- type DyadError
- type DyadMode
- type DyadProperty
- type DyadSelfCleanLevel
- type DyadSelfCleanMode
- type DyadState
- type DyadStatus
- type DyadSuction
- type DyadSwitch
- type DyadWarmLevel
- type DyadWaterLevel
- type EmptyRequest
- type FanSpeed
- type GetDyadStateRequest
- type GetMapRequest
- type GetZeoStateRequest
- type HTTPDoer
- type Home
- type HomeData
- type HomeDataRequest
- type HomeDataVersion
- type HomeRoomsRequest
- type ListDevicesResult
- type ListMapsResult
- type LoginCodeRequest
- type LoginCodeResult
- type LoginContext
- type LoginResult
- type LoginWithCodeRequest
- type LoginWithPasswordRequest
- type MQTTAuth
- type MapArea
- type MapAreaKind
- type MapFormat
- type MapFrame
- type MapGrid
- type MapGridRowYDirection
- type MapInfo
- type MapOperations
- type MapPath
- type MapPathKind
- type MapPoint
- type MapPose
- type MapPoseHeadingUnit
- type MapRectangle
- type MapRoom
- type MapRoomMapping
- type MapRoomsResult
- type MapSnapshot
- type MapUnit
- type MapUnknownBlock
- type MopMode
- type OpenCameraRequest
- type OpenDeviceRequest
- type Option
- type ProtocolVersion
- type RCMoveRequest
- type Region
- type ResolveLoginRequest
- type Room
- type RoomsResult
- type SelectMapRequest
- type SendICERequest
- type SetDNDRequest
- type SetDyadSettingsRequest
- type SetFanSpeedRequest
- type SetMopModeRequest
- type SetWaterModeRequest
- type SetZeoSettingsRequest
- type SharedDeviceRoomsRequest
- type StartZeoRequest
- type Status
- type TURNServer
- type WaterMode
- type ZeoDetergentExpansionType
- type ZeoDetergentType
- type ZeoDirtDetectionStatus
- type ZeoDryAndCare
- type ZeoDryerStartError
- type ZeoDryingMethod
- type ZeoDryingMode
- type ZeoError
- type ZeoFeatureBits
- type ZeoMode
- type ZeoProgram
- type ZeoProperty
- type ZeoRinse
- type ZeoSoak
- type ZeoSoftenerExpansionType
- type ZeoSoftenerType
- type ZeoSpin
- type ZeoState
- type ZeoStatus
- type ZeoSteamVolume
- type ZeoTemperature
- type Zone
Constants ¶
const Degrees = mapmodel.Degrees
Degrees is a map protocol value.
const MapAreaKindCurrent = mapmodel.MapAreaKindCurrent
MapAreaKindCurrent is a map protocol value.
const MapAreaKindErase = mapmodel.MapAreaKindErase
MapAreaKindErase is a map protocol value.
const MapAreaKindNoCarpet = mapmodel.MapAreaKindNoCarpet
MapAreaKindNoCarpet is a map protocol value.
const MapAreaKindNoGo = mapmodel.MapAreaKindNoGo
MapAreaKindNoGo is a map protocol value.
const MapAreaKindNoMop = mapmodel.MapAreaKindNoMop
MapAreaKindNoMop is a map protocol value.
const MapAreaKindUnknown = mapmodel.MapAreaKindUnknown
MapAreaKindUnknown is a map protocol value.
const MapAreaKindWall = mapmodel.MapAreaKindWall
MapAreaKindWall is a map protocol value.
const MapFormatQ10 = mapmodel.MapFormatQ10
MapFormatQ10 is a map protocol value.
const MapFormatQ7 = mapmodel.MapFormatQ7
MapFormatQ7 is a map protocol value.
const MapFormatV1 = mapmodel.MapFormatV1
MapFormatV1 is a map protocol value.
const MapFrameQ10Array = mapmodel.MapFrameQ10Array
MapFrameQ10Array is a map protocol value.
const MapFrameQ10Trace = mapmodel.MapFrameQ10Trace
MapFrameQ10Trace is a map protocol value.
const MapFrameQ10World = mapmodel.MapFrameQ10World
MapFrameQ10World is a map protocol value.
const MapFrameQ7World = mapmodel.MapFrameQ7World
MapFrameQ7World is a map protocol value.
const MapFrameV1World = mapmodel.MapFrameV1World
MapFrameV1World is a map protocol value.
const MapPathKindClean = mapmodel.MapPathKindClean
MapPathKindClean is a map protocol value.
const MapPathKindGoto = mapmodel.MapPathKindGoto
MapPathKindGoto is a map protocol value.
const MapPathKindPredicted = mapmodel.MapPathKindPredicted
MapPathKindPredicted is a map protocol value.
const MapPathKindTrace = mapmodel.MapPathKindTrace
MapPathKindTrace is a map protocol value.
const MapUnitMeters = mapmodel.MapUnitMeters
MapUnitMeters is a map protocol value.
const MapUnitMillimeters = mapmodel.MapUnitMillimeters
MapUnitMillimeters is a map protocol value.
const MapUnitPixels = mapmodel.MapUnitPixels
MapUnitPixels is a map protocol value.
const Minus1 = mapmodel.Minus1
Minus1 is a map protocol value.
const N1 = mapmodel.N1
N1 is a map protocol value.
const Radians = mapmodel.Radians
Radians is a map protocol value.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type A01Operations ¶
type A01Operations interface {
GetDyadState(ctx context.Context, request GetDyadStateRequest) (DyadState, error)
GetZeoState(ctx context.Context, request GetZeoStateRequest) (ZeoState, error)
SetDyadSettings(ctx context.Context, request SetDyadSettingsRequest) error
SetZeoSettings(ctx context.Context, request SetZeoSettingsRequest) error
StartZeo(ctx context.Context, request StartZeoRequest) error
}
A01Operations lists typed controls for A01 wet cleaners and washing machines. Select query properties supported by the appliance's discovered product schema. A successful write reports MQTT publication, not device acceptance or cycle completion.
type AccountRequest ¶
type AccountRequest struct{ Auth AuthContext }
AccountRequest binds an account operation to the supplied credentials.
type AuthContext ¶
type AuthContext struct {
// BaseURL Regional IoT HTTPS origin.
BaseURL string `json:"baseUrl"`
// ClientID Login identity that produced these credentials.
ClientID string `json:"clientId"`
Mqtt MQTTAuth `json:"mqtt"`
// Token Current account token; caller owns storage and replacement.
Token string `json:"token"`
}
AuthContext defines model for AuthContext.
type CameraDescription ¶
type CameraDescription struct {
SdpAnswer string `json:"sdp_answer"`
TurnServer TURNServer `json:"turn_server"`
}
CameraDescription defines model for CameraDescription.
type CameraQuality ¶
type CameraQuality string
CameraQuality Open camera quality selector. Known values hd and sd. This named inventory lists known constants; field contracts explicitly accept future values.
const ( CameraQualityHD CameraQuality = "hd" CameraQualitySD CameraQuality = "sd" )
Defines values for CameraQuality.
type CameraSession ¶
type CameraSession struct {
// contains filtered or unexported fields
}
CameraSession owns preview signaling and its lifetime. The caller owns the WebRTC peer connection, rendering, and adding the returned SDP and ICE.
func (*CameraSession) Close ¶
func (c *CameraSession) Close() error
Close cancels pending signaling and stops preview once with bounded cleanup.
func (*CameraSession) Description ¶
func (c *CameraSession) Description() CameraDescription
Description returns the negotiated SDP answer and TURN credentials. Keep the TURN credential private and pass it only to the caller's WebRTC stack.
func (*CameraSession) Done ¶
func (c *CameraSession) Done() <-chan struct{}
Done is closed when camera signaling terminates or its owning device closes.
func (*CameraSession) GetICE ¶
func (c *CameraSession) GetICE(ctx context.Context, _ EmptyRequest) (DeviceICEResult, error)
GetICE reads and decodes the device's next ICE candidate.
func (*CameraSession) SendICE ¶
func (c *CameraSession) SendICE(ctx context.Context, req SendICERequest) (CommandAcknowledgement, error)
SendICE sends one caller-provided plain ICE candidate without retries.
type ChargeStatus ¶
type ChargeStatus int64
ChargeStatus Open numeric enum from pinned Python V1 mappings; unknown firmware values are preserved. This named inventory lists known constants; field contracts explicitly accept future values.
const ( ChargeStatusChargeWaiting ChargeStatus = 0 ChargeStatusCharging ChargeStatus = 1 ChargeStatusUnknown ChargeStatus = -1 )
Defines values for ChargeStatus.
type CleanFinishReason ¶
type CleanFinishReason int64
CleanFinishReason Open numeric enum from pinned Python V1 mappings; unknown firmware values are preserved. This named inventory lists known constants; field contracts explicitly accept future values.
const ( CleanFinishReasonAreaUnreachable CleanFinishReason = 61 CleanFinishReasonAreaUnreachable2 CleanFinishReason = 62 CleanFinishReasonBackToWashFailure CleanFinishReason = 68 CleanFinishReasonBreakpoint CleanFinishReason = 32 CleanFinishReasonBreakpoint2 CleanFinishReason = 33 CleanFinishReasonBreakpoint4 CleanFinishReason = 102 CleanFinishReasonCleanupInterrupted CleanFinishReason = 24 CleanFinishReasonCleanupInterrupted10 CleanFinishReason = 109 CleanFinishReasonCleanupInterrupted11 CleanFinishReason = 110 CleanFinishReasonCleanupInterrupted2 CleanFinishReason = 34 CleanFinishReasonCleanupInterrupted3 CleanFinishReason = 64 CleanFinishReasonCleanupInterrupted4 CleanFinishReason = 51 CleanFinishReasonCleanupInterrupted5 CleanFinishReason = 101 CleanFinishReasonCleanupInterrupted6 CleanFinishReason = 104 CleanFinishReasonCleanupInterrupted7 CleanFinishReason = 105 CleanFinishReasonCleanupInterrupted8 CleanFinishReason = 106 CleanFinishReasonCleanupInterrupted9 CleanFinishReason = 107 CleanFinishReasonFinishedCleaning CleanFinishReason = 52 CleanFinishReasonFinishedCleaning2 CleanFinishReason = 54 CleanFinishReasonFinishedCleaning3 CleanFinishReason = 55 CleanFinishReasonFinishedCleaning4 CleanFinishReason = 56 CleanFinishReasonFinishedClenaing5 CleanFinishReason = 57 CleanFinishReasonLocateFail CleanFinishReason = 45 CleanFinishReasonLocateFail2 CleanFinishReason = 65 CleanFinishReasonManualInterrupt CleanFinishReason = 21 CleanFinishReasonManualInterrupt10 CleanFinishReason = 60 CleanFinishReasonManualInterrupt11 CleanFinishReason = 103 CleanFinishReasonManualInterrupt12 CleanFinishReason = 29 CleanFinishReasonManualInterrupt2 CleanFinishReason = 21 CleanFinishReasonManualInterrupt3 CleanFinishReason = 35 CleanFinishReasonManualInterrupt4 CleanFinishReason = 36 CleanFinishReasonManualInterrupt5 CleanFinishReason = 37 CleanFinishReasonManualInterrupt6 CleanFinishReason = 43 CleanFinishReasonManualInterrupt7 CleanFinishReason = 48 CleanFinishReasonManualInterrupt8 CleanFinishReason = 49 CleanFinishReasonManualInterrupt9 CleanFinishReason = 50 CleanFinishReasonPatrolFail CleanFinishReason = 115 CleanFinishReasonPatrolSuccess CleanFinishReason = 114 CleanFinishReasonPetPatrolFail CleanFinishReason = 117 CleanFinishReasonPetPatrolSuccess CleanFinishReason = 116 CleanFinishReasonWashingError CleanFinishReason = 67 )
Defines values for CleanFinishReason.
type CleanRecord ¶
type CleanRecord struct {
Area *int64 `json:"area,omitempty"`
AvoidCount *int64 `json:"avoid_count,omitempty"`
Begin *int64 `json:"begin,omitempty"`
// CleanType Open CleanType value; future firmware values are accepted.
CleanType *CleanType `json:"clean_type,omitempty"`
Complete *int64 `json:"complete,omitempty"`
Duration *int64 `json:"duration,omitempty"`
DustCollectionStatus *int64 `json:"dust_collection_status,omitempty"`
End *int64 `json:"end,omitempty"`
Error *int64 `json:"error,omitempty"`
// FinishReason Open CleanFinishReason value; future firmware values are accepted.
FinishReason *CleanFinishReason `json:"finish_reason,omitempty"`
MapFlag *int64 `json:"map_flag,omitempty"`
// StartType Open CleanStartType value; future firmware values are accepted.
StartType *CleanStartType `json:"start_type,omitempty"`
WashCount *int64 `json:"wash_count,omitempty"`
AdditionalProperties map[string]json.RawMessage `json:"-"`
}
CleanRecord Presence-aware CleanRecord inventory from pinned Python V1 containers; absent fields stay absent. Cleaning area is square millimeters and durations are seconds.
func (CleanRecord) Get ¶
func (a CleanRecord) Get(fieldName string) (value json.RawMessage, found bool)
Getter for additional properties for CleanRecord. Returns the specified element and whether it was found
func (CleanRecord) MarshalJSON ¶
func (a CleanRecord) MarshalJSON() ([]byte, error)
Override default JSON handling for CleanRecord to handle AdditionalProperties
func (*CleanRecord) Set ¶
func (a *CleanRecord) Set(fieldName string, value json.RawMessage)
Setter for additional properties for CleanRecord
func (*CleanRecord) UnmarshalJSON ¶
func (a *CleanRecord) UnmarshalJSON(b []byte) error
Override default JSON handling for CleanRecord to handle AdditionalProperties
type CleanRecordRequest ¶
type CleanRecordRequest struct {
RecordId int64 `json:"record_id"`
}
CleanRecordRequest defines model for CleanRecordRequest.
type CleanRecordResult ¶
type CleanRecordResult struct {
Records []CleanRecord `json:"records"`
}
CleanRecordResult defines model for CleanRecordResult.
type CleanSegmentsRequest ¶
type CleanSegmentsRequest struct {
Repeats int `json:"repeats"`
Segments []int64 `json:"segments"`
}
CleanSegmentsRequest defines model for CleanSegmentsRequest.
type CleanStartType ¶
type CleanStartType int64
CleanStartType Open numeric enum from pinned Python V1 mappings; unknown firmware values are preserved. This named inventory lists known constants; field contracts explicitly accept future values.
const ( CleanStartTypeAlexa CleanStartType = 801 CleanStartTypeAlipay CleanStartType = 902 CleanStartTypeApp CleanStartType = 2 CleanStartTypeAqara CleanStartType = 903 CleanStartTypeButton CleanStartType = 1 CleanStartTypeClova CleanStartType = 811 CleanStartTypeDingdong CleanStartType = 809 CleanStartTypeDuer CleanStartType = 808 CleanStartTypeGoogle CleanStartType = 802 CleanStartTypeHisense CleanStartType = 904 CleanStartTypeHomekit CleanStartType = 805 CleanStartTypeHuawei CleanStartType = 905 CleanStartTypeIfttt CleanStartType = 803 CleanStartTypeMiHome CleanStartType = 4 CleanStartTypeQuickStart CleanStartType = 5 CleanStartTypeRoutines CleanStartType = 101 CleanStartTypeSchedule CleanStartType = 3 CleanStartTypeSiri CleanStartType = 810 CleanStartTypeSmartWatch CleanStartType = 821 CleanStartTypeTmallGenie CleanStartType = 807 CleanStartTypeVoiceControl CleanStartType = 13 CleanStartTypeWechat CleanStartType = 901 CleanStartTypeWidgetLaunch CleanStartType = 820 CleanStartTypeXiaoai CleanStartType = 806 CleanStartTypeYandex CleanStartType = 804 )
Defines values for CleanStartType.
type CleanType ¶
type CleanType int64
CleanType Open numeric enum from pinned Python V1 mappings; unknown firmware values are preserved. This named inventory lists known constants; field contracts explicitly accept future values.
type CleanZonesRequest ¶
type CleanZonesRequest struct {
Zones []Zone `json:"zones"`
}
CleanZonesRequest defines model for CleanZonesRequest.
type CleaningState ¶
type CleaningState int64
CleaningState Open numeric enum from pinned Python V1 mappings; unknown firmware values are preserved. This named inventory lists known constants; field contracts explicitly accept future values.
const ( CleaningStateComplete CleaningState = 0 CleaningStateGlobalCleanNotComplete CleaningState = 1 CleaningStateSegmentCleanNotComplete CleaningState = 3 CleaningStateZoneCleanNotComplete CleaningState = 2 )
Defines values for CleaningState.
type CleaningSummary ¶
type CleaningSummary struct {
CleanArea *int64 `json:"clean_area,omitempty"`
CleanCount *int64 `json:"clean_count,omitempty"`
CleanTime *int64 `json:"clean_time,omitempty"`
DustCollectionCount *int64 `json:"dust_collection_count,omitempty"`
LastCleanT *int64 `json:"last_clean_t,omitempty"`
Records *[]int64 `json:"records,omitempty"`
AdditionalProperties map[string]json.RawMessage `json:"-"`
}
CleaningSummary Presence-aware CleaningSummary inventory from pinned Python V1 containers; absent fields stay absent. Cleaning area is square millimeters and durations are seconds.
func (CleaningSummary) Get ¶
func (a CleaningSummary) Get(fieldName string) (value json.RawMessage, found bool)
Getter for additional properties for CleaningSummary. Returns the specified element and whether it was found
func (CleaningSummary) MarshalJSON ¶
func (a CleaningSummary) MarshalJSON() ([]byte, error)
Override default JSON handling for CleaningSummary to handle AdditionalProperties
func (*CleaningSummary) Set ¶
func (a *CleaningSummary) Set(fieldName string, value json.RawMessage)
Setter for additional properties for CleaningSummary
func (*CleaningSummary) UnmarshalJSON ¶
func (a *CleaningSummary) UnmarshalJSON(b []byte) error
Override default JSON handling for CleaningSummary to handle AdditionalProperties
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client owns immutable configuration. It retains no account tokens or connections.
func (*Client) GetHome ¶
GetHome returns the Roborock home identifier required by inventory requests.
func (*Client) GetHomeData ¶
GetHomeData joins device and product identity and includes shared devices. Unknown protocols are preserved; opening an unsupported version returns a typed error.
func (*Client) GetHomeRooms ¶ added in v0.2.0
func (c *Client) GetHomeRooms(ctx context.Context, request HomeRoomsRequest) (RoomsResult, error)
GetHomeRooms refreshes the home room list without fetching device inventory.
func (*Client) GetSharedDeviceRooms ¶ added in v0.2.0
func (c *Client) GetSharedDeviceRooms(ctx context.Context, request SharedDeviceRoomsRequest) (RoomsResult, error)
GetSharedDeviceRooms refreshes rooms belonging to a received device.
func (*Client) ListDevices ¶
func (c *Client) ListDevices(ctx context.Context, request AccountRequest) (ListDevicesResult, error)
ListDevices performs home lookup followed by v1 inventory discovery.
func (*Client) LoginWithCode ¶
func (c *Client) LoginWithCode(ctx context.Context, request LoginWithCodeRequest) (LoginResult, error)
LoginWithCode obtains a fresh mercy signature and current agreement before exchanging the code. Returned credentials replace caller-owned storage; the client retains no token.
func (*Client) LoginWithPassword ¶
func (c *Client) LoginWithPassword(ctx context.Context, request LoginWithPasswordRequest) (LoginResult, error)
LoginWithPassword explicitly selects the legacy password endpoint.
func (*Client) OpenDevice ¶
func (c *Client) OpenDevice(ctx context.Context, request OpenDeviceRequest) (*DeviceSession, error)
OpenDevice opens a fresh connection; it never reuses another account's session.
func (*Client) RequestLoginCode ¶
func (c *Client) RequestLoginCode(ctx context.Context, request LoginCodeRequest) (LoginCodeResult, error)
RequestLoginCode reports acknowledgement of the code email request.
func (*Client) ResolveLogin ¶
func (c *Client) ResolveLogin(ctx context.Context, request ResolveLoginRequest) (LoginContext, error)
ResolveLogin resolves an email at the explicitly configured regional origin. It returns country settings and origin without saving account state.
type ClientAPI ¶
type ClientAPI interface {
ResolveLogin(ctx context.Context, request ResolveLoginRequest) (LoginContext, error)
RequestLoginCode(ctx context.Context, request LoginCodeRequest) (LoginCodeResult, error)
LoginWithCode(ctx context.Context, request LoginWithCodeRequest) (LoginResult, error)
LoginWithPassword(ctx context.Context, request LoginWithPasswordRequest) (LoginResult, error)
GetHome(ctx context.Context, request AccountRequest) (Home, error)
GetHomeData(ctx context.Context, request HomeDataRequest) (HomeData, error)
GetHomeRooms(ctx context.Context, request HomeRoomsRequest) (RoomsResult, error)
ListDevices(ctx context.Context, request AccountRequest) (ListDevicesResult, error)
OpenDevice(ctx context.Context, request OpenDeviceRequest) (*DeviceSession, error)
}
ClientAPI lists account operations together. Credentials always belong to requests.
type CloudRoom ¶ added in v0.2.0
type CloudRoom struct {
ID int64 `json:"id"`
// Name Absent when the cloud does not report a room name.
Name *string `json:"name,omitempty"`
}
CloudRoom defines model for CloudRoom.
type CommandAcknowledgement ¶
type CommandAcknowledgement struct {
// Acknowledged The RPC accepted the command. It does not establish completion of physical action.
Acknowledged bool `json:"acknowledged"`
// Sent The command was successfully published. Q10 publication does not establish device acceptance.
Sent bool `json:"sent"`
}
CommandAcknowledgement defines model for CommandAcknowledgement.
type Consumables ¶
type Consumables struct {
CleaningBrushWorkTimes *int64 `json:"cleaning_brush_work_times,omitempty"`
DustCollectionWorkTimes *int64 `json:"dust_collection_work_times,omitempty"`
FilterElementWorkTime *int64 `json:"filter_element_work_time,omitempty"`
FilterWorkTime *int64 `json:"filter_work_time,omitempty"`
MainBrushWorkTime *int64 `json:"main_brush_work_time,omitempty"`
MoprollerWorkTime *int64 `json:"moproller_work_time,omitempty"`
SensorDirtyTime *int64 `json:"sensor_dirty_time,omitempty"`
SideBrushWorkTime *int64 `json:"side_brush_work_time,omitempty"`
StrainerWorkTimes *int64 `json:"strainer_work_times,omitempty"`
AdditionalProperties map[string]json.RawMessage `json:"-"`
}
Consumables Presence-aware Consumables inventory from pinned Python V1 containers; absent fields stay absent. Cleaning area is square millimeters and durations are seconds.
func (Consumables) Get ¶
func (a Consumables) Get(fieldName string) (value json.RawMessage, found bool)
Getter for additional properties for Consumables. Returns the specified element and whether it was found
func (Consumables) MarshalJSON ¶
func (a Consumables) MarshalJSON() ([]byte, error)
Override default JSON handling for Consumables to handle AdditionalProperties
func (*Consumables) Set ¶
func (a *Consumables) Set(fieldName string, value json.RawMessage)
Setter for additional properties for Consumables
func (*Consumables) UnmarshalJSON ¶
func (a *Consumables) UnmarshalJSON(b []byte) error
Override default JSON handling for Consumables to handle AdditionalProperties
type DND ¶
type DND struct {
Enabled *int64 `json:"enabled,omitempty"`
EndHour *int64 `json:"end_hour,omitempty"`
EndMinute *int64 `json:"end_minute,omitempty"`
StartHour *int64 `json:"start_hour,omitempty"`
StartMinute *int64 `json:"start_minute,omitempty"`
AdditionalProperties map[string]json.RawMessage `json:"-"`
}
DND defines model for DND.
func (DND) Get ¶
func (a DND) Get(fieldName string) (value json.RawMessage, found bool)
Getter for additional properties for DND. Returns the specified element and whether it was found
func (DND) MarshalJSON ¶
Override default JSON handling for DND to handle AdditionalProperties
func (*DND) Set ¶
func (a *DND) Set(fieldName string, value json.RawMessage)
Setter for additional properties for DND
func (*DND) UnmarshalJSON ¶
Override default JSON handling for DND to handle AdditionalProperties
type Device ¶
type Device struct {
// Capability Vendor capability flags when present.
Capability *int64 `json:"capability,omitempty"`
// Category Open product category independent of capabilities.
Category *string `json:"category,omitempty"`
// Family Open implementation family derived from protocol, model and category. Unknown devices remain discoverable.
Family *DeviceFamily `json:"family,omitempty"`
Firmware *string `json:"firmware,omitempty"`
ID string `json:"id"`
// LocalKey Device encryption secret; do not log it.
LocalKey string `json:"localKey"`
Model string `json:"model"`
Name string `json:"name"`
Online *bool `json:"online,omitempty"`
ProductID string `json:"productId"`
// Protocol Open device protocol value. Unsupported future versions remain visible to callers.
Protocol ProtocolVersion `json:"protocol"`
RoomID *int64 `json:"roomId,omitempty"`
Shared bool `json:"shared"`
// SupportedProperties Advertised numeric datapoint IDs; select typed A01 query properties from this inventory.
SupportedProperties []int `json:"supportedProperties"`
}
Device defines model for Device.
type DeviceCapabilities ¶ added in v0.2.0
type DeviceCapabilities struct {
MapContent bool `json:"mapContent"`
MapList bool `json:"mapList"`
MapRooms bool `json:"mapRooms"`
MapSelection bool `json:"mapSelection"`
// MapTrace Separate trace stream requests; map and trace need not form one coherent snapshot.
MapTrace bool `json:"mapTrace"`
RoomCleaning bool `json:"roomCleaning"`
ZoneCleaning bool `json:"zoneCleaning"`
}
DeviceCapabilities defines model for DeviceCapabilities.
type DeviceErrorCode ¶
type DeviceErrorCode int64
DeviceErrorCode Open numeric enum from pinned Python V1 mappings; unknown firmware values are preserved. This named inventory lists known constants; field contracts explicitly accept future values.
const ( DeviceErrorCodeAudioError DeviceErrorCode = 56 DeviceErrorCodeBatteryError DeviceErrorCode = 14 DeviceErrorCodeBumperStuck DeviceErrorCode = 2 DeviceErrorCodeCannotCrossCarpet DeviceErrorCode = 31 DeviceErrorCodeChargingError DeviceErrorCode = 13 DeviceErrorCodeCheckCleanCarouse DeviceErrorCode = 55 DeviceErrorCodeCleanCarouselException DeviceErrorCode = 52 DeviceErrorCodeCleanCarouselWaterFull DeviceErrorCode = 53 DeviceErrorCodeClearBrushException DeviceErrorCode = 42 DeviceErrorCodeClearBrushException2 DeviceErrorCode = 43 DeviceErrorCodeClearWaterBoxException DeviceErrorCode = 41 DeviceErrorCodeClearWaterBoxHoare DeviceErrorCode = 38 DeviceErrorCodeCliffSensorError DeviceErrorCode = 4 DeviceErrorCodeCollectDustError3 DeviceErrorCode = 34 DeviceErrorCodeCollectDustError4 DeviceErrorCode = 35 DeviceErrorCodeCompassError DeviceErrorCode = 11 DeviceErrorCodeDirtyWaterBoxHoare DeviceErrorCode = 39 DeviceErrorCodeDock DeviceErrorCode = 19 DeviceErrorCodeDockLocatorError DeviceErrorCode = 22 DeviceErrorCodeDrainWaterException DeviceErrorCode = 49 DeviceErrorCodeFanError DeviceErrorCode = 18 DeviceErrorCodeFilterBlocked DeviceErrorCode = 29 DeviceErrorCodeFilterScreenException DeviceErrorCode = 44 DeviceErrorCodeInternalError DeviceErrorCode = 32 DeviceErrorCodeInvisibleWallDetected DeviceErrorCode = 30 DeviceErrorCodeLidarBlocked DeviceErrorCode = 1 DeviceErrorCodeLightTouch DeviceErrorCode = 26 DeviceErrorCodeLowBattery DeviceErrorCode = 12 DeviceErrorCodeMainBrushJammed DeviceErrorCode = 5 DeviceErrorCodeMoppingRoller1 DeviceErrorCode = 36 DeviceErrorCodeMoppingRoller2 DeviceErrorCode = 45 DeviceErrorCodeMoppingRollerError2 DeviceErrorCode = 37 DeviceErrorCodeNoDustbin DeviceErrorCode = 9 DeviceErrorCodeNogoZoneDetected DeviceErrorCode = 24 DeviceErrorCodeNone DeviceErrorCode = 0 DeviceErrorCodeOpticalFlowSensorDirt DeviceErrorCode = 20 DeviceErrorCodeReturnToDockFail DeviceErrorCode = 23 DeviceErrorCodeRobotOnCarpet DeviceErrorCode = 28 DeviceErrorCodeRobotTilted DeviceErrorCode = 16 DeviceErrorCodeRobotTrapped DeviceErrorCode = 8 DeviceErrorCodeSideBrushError DeviceErrorCode = 17 DeviceErrorCodeSideBrushJammed DeviceErrorCode = 6 DeviceErrorCodeSinkStrainerHoare DeviceErrorCode = 40 DeviceErrorCodeStrainerError DeviceErrorCode = 10 DeviceErrorCodeTemperatureProtection DeviceErrorCode = 51 DeviceErrorCodeUpWaterException DeviceErrorCode = 48 DeviceErrorCodeVerticalBumperPressed DeviceErrorCode = 21 DeviceErrorCodeVibrariseJammed DeviceErrorCode = 27 DeviceErrorCodeVisualSensor DeviceErrorCode = 25 DeviceErrorCodeWallSensorDirty DeviceErrorCode = 15 DeviceErrorCodeWaterCarriageDrop DeviceErrorCode = 54 DeviceErrorCodeWheelsJammed DeviceErrorCode = 7 DeviceErrorCodeWheelsSuspended DeviceErrorCode = 3 )
Defines values for DeviceErrorCode.
type DeviceFamily ¶ added in v0.2.0
type DeviceFamily string
DeviceFamily Open implementation family derived from protocol, model and category. Unknown devices remain discoverable.
const ( FamilyB01Q10 DeviceFamily = "b01_q10" FamilyB01Q7 DeviceFamily = "b01_q7" FamilyDyad DeviceFamily = "dyad" FamilyUnknown DeviceFamily = "unknown" FamilyV1Vacuum DeviceFamily = "v1_vacuum" FamilyZeo DeviceFamily = "zeo" )
Defines values for DeviceFamily.
type DeviceICEResult ¶
type DeviceICEResult struct {
// Candidate Decoded device ICE candidate; caller adds it to its WebRTC stack.
Candidate string `json:"candidate"`
}
DeviceICEResult defines model for DeviceICEResult.
type DeviceOperations ¶
type DeviceOperations interface {
GetStatus(ctx context.Context, _ EmptyRequest) (Status, error)
GetConsumables(ctx context.Context, _ EmptyRequest) (Consumables, error)
GetCleaningSummary(ctx context.Context, _ EmptyRequest) (CleaningSummary, error)
GetCleanRecord(ctx context.Context, req CleanRecordRequest) (CleanRecordResult, error)
GetDND(ctx context.Context, _ EmptyRequest) (DND, error)
StartCleaning(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
StopCleaning(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
PauseCleaning(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
ReturnToDock(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
SpotClean(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
StartDustCollection(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
StopDustCollection(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
StartMopWashing(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
StopMopWashing(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
RCStart(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
RCStop(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
RCEnd(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
DisableDND(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
SetFanSpeed(ctx context.Context, req SetFanSpeedRequest) (CommandAcknowledgement, error)
SetWaterMode(ctx context.Context, req SetWaterModeRequest) (CommandAcknowledgement, error)
SetMopMode(ctx context.Context, req SetMopModeRequest) (CommandAcknowledgement, error)
SetDND(ctx context.Context, req SetDNDRequest) (CommandAcknowledgement, error)
CleanZones(ctx context.Context, req CleanZonesRequest) (CommandAcknowledgement, error)
CleanSegments(ctx context.Context, req CleanSegmentsRequest) (CommandAcknowledgement, error)
RCMove(ctx context.Context, req RCMoveRequest) (CommandAcknowledgement, error)
}
DeviceOperations lists the typed V1 vacuum controls supported by a DeviceSession. Acknowledgements report RPC acceptance; observe GetStatus for physical completion.
type DeviceSession ¶
type DeviceSession struct {
// contains filtered or unexported fields
}
DeviceSession owns a single account-bound device connection and its pending requests. Close releases the connection; canceling the opening context also closes the session.
func (*DeviceSession) CleanSegments ¶
func (s *DeviceSession) CleanSegments(ctx context.Context, req CleanSegmentsRequest) (CommandAcknowledgement, error)
CleanSegments sends the device command once without automatic retries.
func (*DeviceSession) CleanZones ¶
func (s *DeviceSession) CleanZones(ctx context.Context, req CleanZonesRequest) (CommandAcknowledgement, error)
CleanZones sends the device command once without automatic retries.
func (*DeviceSession) Close ¶
func (s *DeviceSession) Close() error
Close cancels pending requests and releases the owned connection. Repeated calls are safe.
func (*DeviceSession) DisableDND ¶
func (s *DeviceSession) DisableDND(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
DisableDND sends the device command once without automatic retries.
func (*DeviceSession) Done ¶
func (s *DeviceSession) Done() <-chan struct{}
Done closes when the opening context ends, the connection fails, or Close is called.
func (*DeviceSession) Err ¶
func (s *DeviceSession) Err() error
Err returns the terminal typed failure after Done closes, or nil while active. A connection failure retains its underlying cause after session cleanup.
func (*DeviceSession) GetCapabilities ¶ added in v0.2.0
func (s *DeviceSession) GetCapabilities(ctx context.Context, _ EmptyRequest) (DeviceCapabilities, error)
GetCapabilities reports supported operations independently of the implementation family.
func (*DeviceSession) GetCleanRecord ¶
func (s *DeviceSession) GetCleanRecord(ctx context.Context, req CleanRecordRequest) (CleanRecordResult, error)
GetCleanRecord reads a record ID. Multi-part results preserve every record in order.
func (*DeviceSession) GetCleaningSummary ¶
func (s *DeviceSession) GetCleaningSummary(ctx context.Context, _ EmptyRequest) (CleaningSummary, error)
GetCleaningSummary accepts object, legacy tuple, and single-duration V1 results.
func (*DeviceSession) GetConsumables ¶
func (s *DeviceSession) GetConsumables(ctx context.Context, _ EmptyRequest) (Consumables, error)
GetConsumables reads work counters in seconds or the documented device counter units.
func (*DeviceSession) GetDND ¶
func (s *DeviceSession) GetDND(ctx context.Context, _ EmptyRequest) (DND, error)
GetDND reads the device's local-hour do-not-disturb schedule.
func (*DeviceSession) GetDyadState ¶
func (s *DeviceSession) GetDyadState(ctx context.Context, request GetDyadStateRequest) (DyadState, error)
GetDyadState queries exactly the selected appliance-supported datapoints. Unselected fields remain nil. Unknown numeric enum values are retained.
func (*DeviceSession) GetMap ¶ added in v0.2.0
func (s *DeviceSession) GetMap(ctx context.Context, request GetMapRequest) (MapSnapshot, error)
GetMap retrieves map content without changing the active map. Q10 returns the next matching stream observation while the request is pending.
func (*DeviceSession) GetMapTrace ¶ added in v0.2.0
func (s *DeviceSession) GetMapTrace(ctx context.Context, _ EmptyRequest) (MapSnapshot, error)
GetMapTrace requests the next matching Q10 trace observation separately from map content. Q10 stream responses are uncorrelated; no cross-stream coherence is implied.
func (*DeviceSession) GetRooms ¶ added in v0.2.0
func (s *DeviceSession) GetRooms(ctx context.Context, _ EmptyRequest) (MapRoomsResult, error)
GetRooms returns cleaning segment IDs and any reported names. Unknown names remain absent.
func (*DeviceSession) GetStatus ¶
func (s *DeviceSession) GetStatus(ctx context.Context, _ EmptyRequest) (Status, error)
GetStatus reads presence-aware status; zero and absent measurements remain distinct.
func (*DeviceSession) GetZeoState ¶
func (s *DeviceSession) GetZeoState(ctx context.Context, request GetZeoStateRequest) (ZeoState, error)
GetZeoState queries exactly the selected appliance-supported datapoints. A deadline prevents waiting indefinitely for a property unsupported by the appliance.
func (*DeviceSession) ListMaps ¶ added in v0.2.0
func (s *DeviceSession) ListMaps(ctx context.Context, _ EmptyRequest) (ListMapsResult, error)
ListMaps retrieves saved-map metadata. Q10 list order does not imply an active map.
func (*DeviceSession) OpenCamera ¶
func (s *DeviceSession) OpenCamera(ctx context.Context, req OpenCameraRequest) (*CameraSession, error)
OpenCamera authenticates the pattern, starts preview, retrieves TURN, and exchanges SDP. Cancellation or any failure after preview starts stops preview.
func (*DeviceSession) PauseCleaning ¶
func (s *DeviceSession) PauseCleaning(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
PauseCleaning sends the device command once without automatic retries.
func (*DeviceSession) RCEnd ¶
func (s *DeviceSession) RCEnd(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
RCEnd sends the device command once without automatic retries.
func (*DeviceSession) RCMove ¶
func (s *DeviceSession) RCMove(ctx context.Context, req RCMoveRequest) (CommandAcknowledgement, error)
RCMove sends the device command once without automatic retries.
func (*DeviceSession) RCStart ¶
func (s *DeviceSession) RCStart(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
RCStart sends the device command once without automatic retries.
func (*DeviceSession) RCStop ¶
func (s *DeviceSession) RCStop(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
RCStop sends the device command once without automatic retries.
func (*DeviceSession) ReturnToDock ¶
func (s *DeviceSession) ReturnToDock(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
ReturnToDock sends the device command once without automatic retries.
func (*DeviceSession) SelectMap ¶ added in v0.2.0
func (s *DeviceSession) SelectMap(ctx context.Context, request SelectMapRequest) (CommandAcknowledgement, error)
SelectMap explicitly changes the V1 active map. Reads never select maps implicitly.
func (*DeviceSession) SetDND ¶
func (s *DeviceSession) SetDND(ctx context.Context, req SetDNDRequest) (CommandAcknowledgement, error)
SetDND sends the device command once without automatic retries.
func (*DeviceSession) SetDyadSettings ¶
func (s *DeviceSession) SetDyadSettings(ctx context.Context, request SetDyadSettingsRequest) error
SetDyadSettings publishes only the supplied settings; it never retries the command.
func (*DeviceSession) SetFanSpeed ¶
func (s *DeviceSession) SetFanSpeed(ctx context.Context, req SetFanSpeedRequest) (CommandAcknowledgement, error)
SetFanSpeed sends the device command once without automatic retries.
func (*DeviceSession) SetMopMode ¶
func (s *DeviceSession) SetMopMode(ctx context.Context, req SetMopModeRequest) (CommandAcknowledgement, error)
SetMopMode sends the device command once without automatic retries.
func (*DeviceSession) SetWaterMode ¶
func (s *DeviceSession) SetWaterMode(ctx context.Context, req SetWaterModeRequest) (CommandAcknowledgement, error)
SetWaterMode sends the device command once without automatic retries.
func (*DeviceSession) SetZeoSettings ¶
func (s *DeviceSession) SetZeoSettings(ctx context.Context, request SetZeoSettingsRequest) error
SetZeoSettings publishes only independent settings supplied by the caller. Cycle parameters belong in StartZeo and must be bundled with the start signal.
func (*DeviceSession) SpotClean ¶
func (s *DeviceSession) SpotClean(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
SpotClean sends the device command once without automatic retries.
func (*DeviceSession) StartCleaning ¶
func (s *DeviceSession) StartCleaning(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
StartCleaning sends the device command once without automatic retries.
func (*DeviceSession) StartDustCollection ¶
func (s *DeviceSession) StartDustCollection(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
StartDustCollection sends the device command once without automatic retries.
func (*DeviceSession) StartMopWashing ¶
func (s *DeviceSession) StartMopWashing(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
StartMopWashing sends the device command once without automatic retries.
func (*DeviceSession) StartZeo ¶
func (s *DeviceSession) StartZeo(ctx context.Context, request StartZeoRequest) error
StartZeo bundles the start signal with the required mode and program and optional cycle parameters. Success reports publication; observe GetZeoState for physical cycle progress.
func (*DeviceSession) StopCleaning ¶
func (s *DeviceSession) StopCleaning(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
StopCleaning sends the device command once without automatic retries.
func (*DeviceSession) StopDustCollection ¶
func (s *DeviceSession) StopDustCollection(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
StopDustCollection sends the device command once without automatic retries.
func (*DeviceSession) StopMopWashing ¶
func (s *DeviceSession) StopMopWashing(ctx context.Context, _ EmptyRequest) (CommandAcknowledgement, error)
StopMopWashing sends the device command once without automatic retries.
type DeviceState ¶
type DeviceState int64
DeviceState Open numeric enum from pinned Python V1 mappings; unknown firmware values are preserved. This named inventory lists known constants; field contracts explicitly accept future values.
const ( DeviceStateAirDryingStopping DeviceState = 202 DeviceStateAttachingTheMop DeviceState = 33 DeviceStateBackToDockWashingDuster DeviceState = 6310 DeviceStateChargerDisconnected DeviceState = 2 DeviceStateCharging DeviceState = 8 DeviceStateChargingComplete DeviceState = 100 DeviceStateChargingProblem DeviceState = 9 DeviceStateCleanMopCleaning DeviceState = 6302 DeviceStateCleanMopMopping DeviceState = 6303 DeviceStateCleaning DeviceState = 5 DeviceStateDetachingTheMop DeviceState = 34 DeviceStateDeviceOffline DeviceState = 101 DeviceStateDocking DeviceState = 15 DeviceStateEggAttack DeviceState = 30 DeviceStateEmptyingTheBin DeviceState = 22 DeviceStateError DeviceState = 12 DeviceStateGoingToTarget DeviceState = 16 DeviceStateGoingToWashTheMop DeviceState = 26 DeviceStateIdle DeviceState = 3 DeviceStateInCall DeviceState = 28 DeviceStateLocked DeviceState = 103 DeviceStateManualMode DeviceState = 7 DeviceStateMapping DeviceState = 29 DeviceStatePatrol DeviceState = 32 DeviceStatePaused DeviceState = 10 DeviceStateRemoteControlActive DeviceState = 4 DeviceStateReturningHome DeviceState = 6 DeviceStateRobotStatusMopping DeviceState = 6301 DeviceStateSegmentCleanMopCleaning DeviceState = 6305 DeviceStateSegmentCleanMopMopping DeviceState = 6306 DeviceStateSegmentCleaning DeviceState = 18 DeviceStateSegmentMopping DeviceState = 6304 DeviceStateShuttingDown DeviceState = 13 DeviceStateSpotCleaning DeviceState = 11 DeviceStateStarting DeviceState = 1 DeviceStateUnknown DeviceState = 0 DeviceStateUpdating DeviceState = 14 DeviceStateWashingTheMop DeviceState = 23 DeviceStateWashingTheMop2 DeviceState = 25 DeviceStateZonedCleanMopCleaning DeviceState = 6308 DeviceStateZonedCleanMopMopping DeviceState = 6309 DeviceStateZonedCleaning DeviceState = 17 DeviceStateZonedMopping DeviceState = 6307 )
Defines values for DeviceState.
type DockErrorCode ¶
type DockErrorCode int64
DockErrorCode Open numeric enum from pinned Python V1 mappings; unknown firmware values are preserved. This named inventory lists known constants; field contracts explicitly accept future values.
const ( DockErrorCodeAutoEmptyDockFanError DockErrorCode = 33 DockErrorCodeAutoEmptyDockVoltageError DockErrorCode = 35 DockErrorCodeCleaningTankFullOrBlocked DockErrorCode = 53 DockErrorCodeDirtyTankLatchOpen DockErrorCode = 44 DockErrorCodeDuctBlockage DockErrorCode = 34 DockErrorCodeMaintenanceBrushJammed DockErrorCode = 42 DockErrorCodeNoDustbin DockErrorCode = 46 DockErrorCodeNoDustbinOrFilter DockErrorCode = 32 DockErrorCodeOk DockErrorCode = 0 DockErrorCodeWasteWaterTankFull DockErrorCode = 39 DockErrorCodeWaterEmpty DockErrorCode = 38 )
Defines values for DockErrorCode.
type DockType ¶
type DockType int64
DockType Open numeric enum from pinned Python V1 mappings; unknown firmware values are preserved. This named inventory lists known constants; field contracts explicitly accept future values.
const ( DockTypeCoupleDock DockType = 13 DockTypeF1CDock DockType = 46 DockTypeF1Dock DockType = 41 DockTypeF1RDock DockType = 42 DockTypeF1SDock DockType = 44 DockTypeF2RDock DockType = 43 DockTypeHeraDock DockType = 24 DockTypeK1CDock DockType = 19 DockTypeK1CLiteDock DockType = 28 DockTypeK1DDock DockType = 37 DockTypeK1Dock DockType = 17 DockTypeK1RDock DockType = 29 DockTypeK1SDock DockType = 20 DockTypeK1SProDock DockType = 26 DockTypeO0Dock DockType = 0 DockTypeO1Dock DockType = 1 DockTypeO2Dock DockType = 2 DockTypeO3Dock DockType = 3 DockTypeO3PlusDock DockType = 6 DockTypeO4Dock DockType = 7 DockTypeO5Dock DockType = 10 DockTypeO6Dock DockType = 18 DockTypeO7Dock DockType = 35 DockTypeO7HDock DockType = 45 DockTypeOcDock DockType = 5 DockTypePearlDock DockType = 8 DockTypePearlPlusDock DockType = 9 DockTypeShell2CDock DockType = 15 DockTypeShell2EDock DockType = 22 DockTypeShell2EHeatDock DockType = 40 DockTypeShell2ELiteDock DockType = 30 DockTypeShell2SDock DockType = 11 DockTypeShell3CDock DockType = 23 DockTypeShell3Dock DockType = 14 DockTypeShell3PDock DockType = 38 DockTypeShell3SDock DockType = 16 DockTypeShell4DDock DockType = 39 DockTypeShell4PDock DockType = 33 DockTypeShell4RDock DockType = 32 DockTypeShell4RcDock DockType = 31 DockTypeShell4SDock DockType = 34 DockTypeShellEDock DockType = 21 DockTypeType27Dock DockType = 27 DockTypeUnknown DockType = -9999 )
Defines values for DockType.
type DyadBrushSpeed ¶
type DyadBrushSpeed int
DyadBrushSpeed Known protocol values; unlisted future numeric values remain valid.
const ( DyadBrushSpeedL1 DyadBrushSpeed = 1 DyadBrushSpeedL2 DyadBrushSpeed = 2 )
Defines values for DyadBrushSpeed.
type DyadCleanMode ¶
type DyadCleanMode int
DyadCleanMode Known protocol values; unlisted future numeric values remain valid.
const ( DyadCleanModeAuto DyadCleanMode = 1 DyadCleanModeDehydration DyadCleanMode = 3 DyadCleanModeMax DyadCleanMode = 2 DyadCleanModePowerSaving DyadCleanMode = 4 )
Defines values for DyadCleanMode.
type DyadCleanser ¶
type DyadCleanser int
DyadCleanser Known protocol values; unlisted future numeric values remain valid.
const ( DyadCleanserDeep DyadCleanser = 2 DyadCleanserMax DyadCleanser = 3 DyadCleanserNone DyadCleanser = 0 DyadCleanserNormal DyadCleanser = 1 )
Defines values for DyadCleanser.
type DyadError ¶
type DyadError int
DyadError Known protocol values; unlisted future numeric values remain valid.
const ( DyadErrorBatteryTemperatureProtection DyadError = 20007 DyadErrorBatteryTemperatureProtection2 DyadError = 20008 DyadErrorBatteryTemperatureProtectionE0 DyadError = 10000 DyadErrorBatteryUnder10 DyadError = 20018 DyadErrorCleanHeadEntangled DyadError = 20003 DyadErrorCleanHeadTooHot DyadError = 20004 DyadErrorCleanTankEmpty DyadError = 20002 DyadErrorCleaningHeadBlocked DyadError = 20005 DyadErrorDirtyChargingContacts DyadError = 10007 DyadErrorDirtyTankFull DyadError = 20000 DyadErrorFanProtectionE4 DyadError = 10004 DyadErrorFanProtectionE5 DyadError = 10005 DyadErrorFanProtectionE9 DyadError = 10009 DyadErrorLowBattery DyadError = 20017 DyadErrorNone DyadError = 0 DyadErrorPowerAdapterError DyadError = 20009 DyadErrorTemperatureProtection DyadError = 20006 DyadErrorWaterLevelSensorStuck DyadError = 20001 )
Defines values for DyadError.
type DyadMode ¶
type DyadMode int
DyadMode Known protocol values; unlisted future numeric values remain valid.
type DyadProperty ¶
type DyadProperty int
DyadProperty A01 appliance datapoint identifier.
const ( DyadPropertyAutoDry DyadProperty = 213 DyadPropertyAutoDryMode DyadProperty = 224 DyadPropertyAutoSelfCleanSet DyadProperty = 212 DyadPropertyAutoSelfCleanSetMode DyadProperty = 223 DyadPropertyBrushLeft DyadProperty = 215 DyadPropertyBrushReset DyadProperty = 219 DyadPropertyBrushSpeed DyadProperty = 208 DyadPropertyCleanMode DyadProperty = 205 DyadPropertyCountdownTime DyadProperty = 210 DyadPropertyDryCountdown DyadProperty = 237 DyadPropertyDryingStatus DyadProperty = 134 DyadPropertyError DyadProperty = 216 DyadPropertyFeatureInfo DyadProperty = 235 DyadPropertyMeshLeft DyadProperty = 214 DyadPropertyMeshReset DyadProperty = 218 DyadPropertyPower DyadProperty = 209 DyadPropertyRecentRunTime DyadProperty = 229 DyadPropertyRecoverSettings DyadProperty = 236 DyadPropertySelfCleanLevel DyadProperty = 203 DyadPropertySelfCleanMode DyadProperty = 202 DyadPropertySilentDryDuration DyadProperty = 225 DyadPropertySilentMode DyadProperty = 226 DyadPropertySilentModeEndTime DyadProperty = 228 DyadPropertySilentModeStartTime DyadProperty = 227 DyadPropertyStandLockAutoRun DyadProperty = 222 DyadPropertyStart DyadProperty = 200 DyadPropertyStatus DyadProperty = 201 DyadPropertySuction DyadProperty = 206 DyadPropertyTotalRunTime DyadProperty = 230 DyadPropertyVolume DyadProperty = 221 DyadPropertyWarmLevel DyadProperty = 204 DyadPropertyWaterLevel DyadProperty = 207 )
Defines values for DyadProperty.
type DyadSelfCleanLevel ¶
type DyadSelfCleanLevel int
DyadSelfCleanLevel Known protocol values; unlisted future numeric values remain valid.
const ( DyadSelfCleanLevelDeep DyadSelfCleanLevel = 2 DyadSelfCleanLevelNormal DyadSelfCleanLevel = 1 )
Defines values for DyadSelfCleanLevel.
type DyadSelfCleanMode ¶
type DyadSelfCleanMode int
DyadSelfCleanMode Known protocol values; unlisted future numeric values remain valid.
const ( DyadSelfCleanModeDry DyadSelfCleanMode = 3 DyadSelfCleanModeSelfClean DyadSelfCleanMode = 1 DyadSelfCleanModeSelfCleanAndDry DyadSelfCleanMode = 2 DyadSelfCleanModeVentilation DyadSelfCleanMode = 4 )
Defines values for DyadSelfCleanMode.
type DyadState ¶
type DyadState struct {
// AutoDry Known DyadSwitch values and future numeric values are accepted.
AutoDry *DyadSwitch `json:"autoDry,omitempty"`
// AutoDryMode Known DyadSwitch values and future numeric values are accepted.
AutoDryMode *DyadSwitch `json:"autoDryMode,omitempty"`
// AutoSelfCleanSet Known DyadSwitch values and future numeric values are accepted.
AutoSelfCleanSet *DyadSwitch `json:"autoSelfCleanSet,omitempty"`
// AutoSelfCleanSetMode Known DyadSelfCleanMode values and future numeric values are accepted.
AutoSelfCleanSetMode *DyadSelfCleanMode `json:"autoSelfCleanSetMode,omitempty"`
// BrushLeft Device-reported integer value.
BrushLeft *int `json:"brushLeft,omitempty"`
// BrushSpeed Known DyadBrushSpeed values and future numeric values are accepted.
BrushSpeed *DyadBrushSpeed `json:"brushSpeed,omitempty"`
// CleanMode Known DyadCleanMode values and future numeric values are accepted.
CleanMode *DyadCleanMode `json:"cleanMode,omitempty"`
// CountdownTime Device-reported integer value.
CountdownTime *int `json:"countdownTime,omitempty"`
// DryCountdown Device-reported integer value.
DryCountdown *int `json:"dryCountdown,omitempty"`
// Error Known DyadError values and future numeric values are accepted.
Error *DyadError `json:"error,omitempty"`
// MeshLeft Device-reported integer value.
MeshLeft *int `json:"meshLeft,omitempty"`
// Power Device-reported integer value.
Power *int `json:"power,omitempty"`
// RecentRunTime Daily cleaning durations, in minutes, decoded from the comma-delimited appliance value.
RecentRunTime *[]int `json:"recentRunTime,omitempty"`
// SelfCleanLevel Known DyadSelfCleanLevel values and future numeric values are accepted.
SelfCleanLevel *DyadSelfCleanLevel `json:"selfCleanLevel,omitempty"`
// SelfCleanMode Known DyadSelfCleanMode values and future numeric values are accepted.
SelfCleanMode *DyadSelfCleanMode `json:"selfCleanMode,omitempty"`
// SilentDryDuration Device-reported integer value.
SilentDryDuration *int `json:"silentDryDuration,omitempty"`
// SilentMode Known DyadSwitch values and future numeric values are accepted.
SilentMode *DyadSwitch `json:"silentMode,omitempty"`
// SilentModeEndTime Minute of day, from 0 through 1439, in the appliance local timezone.
SilentModeEndTime *int `json:"silentModeEndTime,omitempty"`
// SilentModeStartTime Minute of day, from 0 through 1439, in the appliance local timezone.
SilentModeStartTime *int `json:"silentModeStartTime,omitempty"`
// StandLockAutoRun Known DyadSwitch values and future numeric values are accepted.
StandLockAutoRun *DyadSwitch `json:"standLockAutoRun,omitempty"`
// Status Known DyadStatus values and future numeric values are accepted.
Status *DyadStatus `json:"status,omitempty"`
// Suction Known DyadSuction values and future numeric values are accepted.
Suction *DyadSuction `json:"suction,omitempty"`
// TotalRunTime Device-reported integer value.
TotalRunTime *int `json:"totalRunTime,omitempty"`
// Volume Speaker volume percent, from 0 through 100.
Volume *int `json:"volume,omitempty"`
// WarmLevel Known DyadWarmLevel values and future numeric values are accepted.
WarmLevel *DyadWarmLevel `json:"warmLevel,omitempty"`
// WaterLevel Known DyadWaterLevel values and future numeric values are accepted.
WaterLevel *DyadWaterLevel `json:"waterLevel,omitempty"`
}
DyadState Presence-aware device state; nil fields were not returned by the appliance. Numeric enums retain future values. Only scalar datapoints with a documented type are projected; other known IDs are inventory entries and cannot be selected by this operation.
type DyadStatus ¶
type DyadStatus int
DyadStatus Known protocol values; unlisted future numeric values remain valid.
const ( DyadStatusCharging DyadStatus = 3 DyadStatusDrying DyadStatus = 9 DyadStatusDustingMode DyadStatus = 14 DyadStatusFetchFailed DyadStatus = -997 DyadStatusFetching DyadStatus = -998 DyadStatusMopWashing DyadStatus = 4 DyadStatusMopWashingPaused DyadStatus = 13 DyadStatusReady DyadStatus = 2 DyadStatusReserving DyadStatus = 12 DyadStatusSelfCleanCleaning DyadStatus = 5 DyadStatusSelfCleanDeepCleaning DyadStatus = 6 DyadStatusSelfCleanDehydrating DyadStatus = 8 DyadStatusSelfCleanRinsing DyadStatus = 7 DyadStatusUnknown DyadStatus = -999 DyadStatusUpdating DyadStatus = -996 DyadStatusVentilating DyadStatus = 10 DyadStatusWashing DyadStatus = 1 )
Defines values for DyadStatus.
type DyadSuction ¶
type DyadSuction int
DyadSuction Known protocol values; unlisted future numeric values remain valid.
const ( DyadSuctionL1 DyadSuction = 1 DyadSuctionL2 DyadSuction = 2 DyadSuctionL3 DyadSuction = 3 DyadSuctionL4 DyadSuction = 4 DyadSuctionL5 DyadSuction = 5 DyadSuctionL6 DyadSuction = 6 )
Defines values for DyadSuction.
type DyadSwitch ¶
type DyadSwitch int
DyadSwitch Dyad switch encoded as integer 0 (off) or 1 (on). Unlisted values remain representable.
const ( DyadSwitchOff DyadSwitch = 0 DyadSwitchOn DyadSwitch = 1 )
Defines values for DyadSwitch.
type DyadWarmLevel ¶
type DyadWarmLevel int
DyadWarmLevel Known protocol values; unlisted future numeric values remain valid.
const ( DyadWarmLevelDeep DyadWarmLevel = 2 DyadWarmLevelNormal DyadWarmLevel = 1 )
Defines values for DyadWarmLevel.
type DyadWaterLevel ¶
type DyadWaterLevel int
DyadWaterLevel Known protocol values; unlisted future numeric values remain valid.
const ( DyadWaterLevelL1 DyadWaterLevel = 1 DyadWaterLevelL2 DyadWaterLevel = 2 DyadWaterLevelL3 DyadWaterLevel = 3 DyadWaterLevelL4 DyadWaterLevel = 4 )
Defines values for DyadWaterLevel.
type FanSpeed ¶
type FanSpeed int
FanSpeed Open device-dependent numeric enum; future values are preserved. This named inventory lists known constants; field contracts explicitly accept future values.
type GetDyadStateRequest ¶
type GetDyadStateRequest struct {
Properties []DyadProperty `json:"properties"`
}
GetDyadStateRequest Select the appliance-supported properties to query. Every selected property must be returned before the transport completes; unselected state fields remain nil. Select only properties represented by the typed state model; metadata and unknown-shape datapoints are unsupported by this method.
type GetMapRequest ¶ added in v0.2.0
type GetMapRequest struct {
// MapID Opaque map identifier. Empty requests the current map. Q10 only supports current-map reads.
MapID string `json:"mapId,omitempty"`
}
GetMapRequest defines model for GetMapRequest.
type GetZeoStateRequest ¶
type GetZeoStateRequest struct {
Properties []ZeoProperty `json:"properties"`
}
GetZeoStateRequest Select the appliance-supported properties to query. Every selected property must be returned before the transport completes; unselected state fields remain nil. Select only properties represented by the typed state model; metadata and unknown-shape datapoints are unsupported by this method.
type Home ¶
type Home struct {
// ID Roborock home identifier for home-data requests.
ID int64 `json:"id"`
Name string `json:"name"`
}
Home defines model for Home.
type HomeData ¶
type HomeData struct {
Devices []Device `json:"devices"`
Home Home `json:"home"`
Rooms []Room `json:"rooms"`
}
HomeData defines model for HomeData.
type HomeDataRequest ¶
type HomeDataRequest struct {
Auth AuthContext
HomeID int64
Version HomeDataVersion
}
HomeDataRequest chooses the home and vendor home-data API revision explicitly.
type HomeDataVersion ¶
type HomeDataVersion int
HomeDataVersion Supported home-data route revision. Zero in a request selects HomeDataV1.
const ( HomeDataV1 HomeDataVersion = 1 HomeDataV2 HomeDataVersion = 2 HomeDataV3 HomeDataVersion = 3 )
Defines values for HomeDataVersion.
type HomeRoomsRequest ¶ added in v0.2.0
type HomeRoomsRequest struct {
// Auth Caller-owned account credentials.
Auth AuthContext `json:"auth"`
HomeID int64 `json:"homeId"`
}
HomeRoomsRequest defines model for HomeRoomsRequest.
type ListDevicesResult ¶
type ListDevicesResult struct{ Devices []Device }
ListDevicesResult includes owned and shared devices in discovery order.
type ListMapsResult ¶ added in v0.2.0
type ListMapsResult struct {
Maps []MapInfo `json:"maps"`
}
ListMapsResult defines model for ListMapsResult.
type LoginCodeRequest ¶
type LoginCodeRequest struct{ Login LoginContext }
LoginCodeRequest requests a code using a stable caller-owned identity.
type LoginCodeResult ¶
type LoginCodeResult struct{ Accepted bool }
LoginCodeResult reports vendor acknowledgement of the email request.
type LoginContext ¶
type LoginContext struct {
// BaseURL Optional explicit regional HTTPS origin.
BaseURL *string `json:"baseUrl,omitempty"`
// ClientID Stable caller-owned login identity; reuse it across code request and exchange.
ClientID string `json:"clientId"`
// Country Country code returned by region resolution or selected by the caller.
Country string `json:"country"`
// CountryCode Calling code required by the login endpoint.
CountryCode string `json:"countryCode"`
// Email Account email address.
Email string `json:"email"`
}
LoginContext defines model for LoginContext.
type LoginResult ¶
type LoginResult struct {
Auth AuthContext `json:"auth"`
Nickname string `json:"nickname"`
UserID int64 `json:"userId"`
}
LoginResult defines model for LoginResult.
type LoginWithCodeRequest ¶
type LoginWithCodeRequest struct {
Login LoginContext
Code string
}
LoginWithCodeRequest explicitly exchanges a one-time code for credentials.
type LoginWithPasswordRequest ¶
type LoginWithPasswordRequest struct {
Login LoginContext
Password string
}
LoginWithPasswordRequest uses the vendor legacy password endpoint.
type MQTTAuth ¶
type MQTTAuth struct {
// APIURL Hawk-authenticated API origin returned by the vendor.
APIURL string `json:"apiUrl"`
// BrokerURL Broker endpoint returned by the vendor.
BrokerURL string `json:"brokerUrl"`
// Key Account MQTT derivation key.
Key string `json:"key"`
// Secret Account secret used to derive MQTT password.
Secret string `json:"secret"`
// SigningKey Hawk HMAC signing key.
SigningKey string `json:"signingKey"`
// User Account identifier used to derive MQTT identity.
User string `json:"user"`
}
MQTTAuth defines model for MQTTAuth.
type MapAreaKind ¶ added in v0.2.0
type MapAreaKind = mapmodel.MapAreaKind
MapAreaKind describes a decoded Roborock map value.
type MapGridRowYDirection ¶ added in v0.2.0
type MapGridRowYDirection = mapmodel.MapGridRowYDirection
MapGridRowYDirection describes a decoded Roborock map value.
type MapInfo ¶ added in v0.2.0
type MapInfo struct {
// Current Present only when the family reports active-map identity.
Current *bool `json:"current,omitempty"`
// ID Opaque identifier returned unchanged to map operations.
ID string `json:"id"`
Name *string `json:"name,omitempty"`
}
MapInfo defines model for MapInfo.
type MapOperations ¶ added in v0.2.0
type MapOperations interface {
GetMap(ctx context.Context, request GetMapRequest) (MapSnapshot, error)
GetMapTrace(ctx context.Context, request EmptyRequest) (MapSnapshot, error)
ListMaps(ctx context.Context, request EmptyRequest) (ListMapsResult, error)
GetRooms(ctx context.Context, request EmptyRequest) (MapRoomsResult, error)
SelectMap(ctx context.Context, request SelectMapRequest) (CommandAcknowledgement, error)
GetCapabilities(ctx context.Context, request EmptyRequest) (DeviceCapabilities, error)
}
MapOperations lists map reads and explicit map selection on the account-bound session.
type MapPathKind ¶ added in v0.2.0
type MapPathKind = mapmodel.MapPathKind
MapPathKind describes a decoded Roborock map value.
type MapPoint ¶ added in v0.2.0
MapPoint describes a decoded Roborock map value.
func MapToPixel ¶ added in v0.2.0
MapToPixel projects a source-world point into the map raster using explicit calibration.
type MapPoseHeadingUnit ¶ added in v0.2.0
type MapPoseHeadingUnit = mapmodel.MapPoseHeadingUnit
MapPoseHeadingUnit describes a decoded Roborock map value.
type MapRectangle ¶ added in v0.2.0
type MapRectangle = mapmodel.MapRectangle
MapRectangle describes a decoded Roborock map value.
func PixelRectangleToMap ¶ added in v0.2.0
func PixelRectangleToMap(grid MapGrid, rectangle MapRectangle) (MapRectangle, error)
PixelRectangleToMap converts both corners and orders the source-world rectangle. Inspect grid.Frame and grid.Unit before using the result for a cleaning command.
type MapRoomMapping ¶ added in v0.2.0
type MapRoomMapping struct {
// IoTID Optional V1 cloud room identity; unrelated to a map ID.
IoTID *string `json:"iotId,omitempty"`
Name *string `json:"name,omitempty"`
// SegmentID Device room or segment identifier accepted by CleanSegments.
SegmentID int64 `json:"segmentId"`
}
MapRoomMapping defines model for MapRoomMapping.
type MapRoomsResult ¶ added in v0.2.0
type MapRoomsResult struct {
Rooms []MapRoomMapping `json:"rooms"`
}
MapRoomsResult defines model for MapRoomsResult.
type MapSnapshot ¶ added in v0.2.0
type MapSnapshot = mapmodel.MapSnapshot
MapSnapshot describes a decoded Roborock map value.
type MapUnknownBlock ¶ added in v0.2.0
type MapUnknownBlock = mapmodel.MapUnknownBlock
MapUnknownBlock describes a decoded Roborock map value.
type MopMode ¶
type MopMode int
MopMode Open device-dependent numeric enum; future values are preserved. This named inventory lists known constants; field contracts explicitly accept future values.
type OpenCameraRequest ¶
type OpenCameraRequest struct {
// PatternPassword Raw pattern digits or a 32-character MD5 digest; never log this value.
PatternPassword string `json:"pattern_password"`
// Quality Open CameraQuality value; future firmware values are accepted.
Quality *CameraQuality `json:"quality,omitempty"`
// SdpOffer Plain SDP offer from caller-owned WebRTC stack.
SdpOffer string `json:"sdp_offer"`
}
OpenCameraRequest defines model for OpenCameraRequest.
type OpenDeviceRequest ¶
type OpenDeviceRequest struct {
Auth AuthContext
DeviceID string
// LocalKey is required by device encryption and comes from discovery.
LocalKey string
// Protocol is required; use the protocol returned by discovery.
Protocol ProtocolVersion
}
OpenDeviceRequest binds one connection to one account and device until closed.
type Option ¶
type Option func(*clientOptions) error
Option configures immutable service settings and network seams.
func WithBaseURL ¶
WithBaseURL selects the regional HTTPS origin. Login requests may override it explicitly.
func WithHTTPClient ¶
WithHTTPClient injects an HTTP client. The caller owns its transport.
func WithMQTTDial ¶
WithMQTTDial injects a connection-producing network seam. It must honor context cancellation. The default dialer establishes verified TLS. An injected dialer owns transport security.
type ProtocolVersion ¶
type ProtocolVersion string
ProtocolVersion Open device protocol value. Unsupported future versions remain visible to callers.
const ( ProtocolA01 ProtocolVersion = "A01" ProtocolB01 ProtocolVersion = "B01" ProtocolL01 ProtocolVersion = "L01" ProtocolV1 ProtocolVersion = "1.0" )
Defines values for ProtocolVersion.
type RCMoveRequest ¶
type RCMoveRequest struct {
// Duration Movement duration in milliseconds, from 1 through 5000.
Duration int `json:"duration"`
// Omega Angular velocity in radians per second, from -0.8 through 0.8.
Omega float32 `json:"omega"`
Sequence int `json:"sequence"`
// Velocity Linear velocity in meters per second, from -0.3 through 0.3.
Velocity float32 `json:"velocity"`
}
RCMoveRequest defines model for RCMoveRequest.
type ResolveLoginRequest ¶
type ResolveLoginRequest struct{ Email, ClientID string }
ResolveLoginRequest discovers a regional login origin for an account.
type RoomsResult ¶ added in v0.2.0
type RoomsResult struct {
Rooms []CloudRoom `json:"rooms"`
}
RoomsResult defines model for RoomsResult.
type SelectMapRequest ¶ added in v0.2.0
type SelectMapRequest struct {
// MapID Opaque V1 map identifier from ListMaps. Selecting changes the device active map.
MapID string `json:"mapId"`
}
SelectMapRequest defines model for SelectMapRequest.
type SendICERequest ¶
type SendICERequest struct {
// Candidate Plain ICE candidate from caller-owned WebRTC stack.
Candidate string `json:"candidate"`
}
SendICERequest defines model for SendICERequest.
type SetDNDRequest ¶
type SetDNDRequest struct {
EndHour int64 `json:"end_hour"`
EndMinute int64 `json:"end_minute"`
StartHour int64 `json:"start_hour"`
StartMinute int64 `json:"start_minute"`
}
SetDNDRequest defines model for SetDNDRequest.
type SetDyadSettingsRequest ¶
type SetDyadSettingsRequest struct {
// AutoDry Known DyadSwitch values and future numeric values are accepted.
AutoDry *DyadSwitch `json:"autoDry,omitempty"`
// AutoDryMode Known DyadSwitch values and future numeric values are accepted.
AutoDryMode *DyadSwitch `json:"autoDryMode,omitempty"`
// AutoSelfCleanSet Known DyadSwitch values and future numeric values are accepted.
AutoSelfCleanSet *DyadSwitch `json:"autoSelfCleanSet,omitempty"`
// AutoSelfCleanSetMode Known DyadSelfCleanMode values and future numeric values are accepted.
AutoSelfCleanSetMode *DyadSelfCleanMode `json:"autoSelfCleanSetMode,omitempty"`
// BrushSpeed Known DyadBrushSpeed values and future numeric values are accepted.
BrushSpeed *DyadBrushSpeed `json:"brushSpeed,omitempty"`
// CleanMode Known DyadCleanMode values and future numeric values are accepted.
CleanMode *DyadCleanMode `json:"cleanMode,omitempty"`
// SelfCleanLevel Known DyadSelfCleanLevel values and future numeric values are accepted.
SelfCleanLevel *DyadSelfCleanLevel `json:"selfCleanLevel,omitempty"`
// SelfCleanMode Known DyadSelfCleanMode values and future numeric values are accepted.
SelfCleanMode *DyadSelfCleanMode `json:"selfCleanMode,omitempty"`
// SilentDryDuration Device-reported integer value.
SilentDryDuration *int `json:"silentDryDuration,omitempty"`
// SilentMode Known DyadSwitch values and future numeric values are accepted.
SilentMode *DyadSwitch `json:"silentMode,omitempty"`
// SilentModeEndTime Minute of day, from 0 through 1439, in the appliance local timezone.
SilentModeEndTime *int `json:"silentModeEndTime,omitempty"`
// SilentModeStartTime Minute of day, from 0 through 1439, in the appliance local timezone.
SilentModeStartTime *int `json:"silentModeStartTime,omitempty"`
// StandLockAutoRun Known DyadSwitch values and future numeric values are accepted.
StandLockAutoRun *DyadSwitch `json:"standLockAutoRun,omitempty"`
// Suction Known DyadSuction values and future numeric values are accepted.
Suction *DyadSuction `json:"suction,omitempty"`
// Volume Speaker volume percent, from 0 through 100.
Volume *int `json:"volume,omitempty"`
// WarmLevel Known DyadWarmLevel values and future numeric values are accepted.
WarmLevel *DyadWarmLevel `json:"warmLevel,omitempty"`
// WaterLevel Known DyadWaterLevel values and future numeric values are accepted.
WaterLevel *DyadWaterLevel `json:"waterLevel,omitempty"`
}
SetDyadSettingsRequest Sparse settings update. Absent fields are never sent. Integer switches use the appliance protocol value (typically 0 or 1).
type SetFanSpeedRequest ¶
type SetFanSpeedRequest struct {
// Speed Open FanSpeed value; future firmware values are accepted.
Speed FanSpeed `json:"speed"`
}
SetFanSpeedRequest defines model for SetFanSpeedRequest.
type SetMopModeRequest ¶
type SetMopModeRequest struct {
// Mode Open MopMode value; future firmware values are accepted.
Mode MopMode `json:"mode"`
}
SetMopModeRequest defines model for SetMopModeRequest.
type SetWaterModeRequest ¶
type SetWaterModeRequest struct {
// Mode Open WaterMode value; future firmware values are accepted.
Mode WaterMode `json:"mode"`
}
SetWaterModeRequest defines model for SetWaterModeRequest.
type SetZeoSettingsRequest ¶
type SetZeoSettingsRequest struct {
// ChildLock Appliance boolean value.
ChildLock *bool `json:"childLock,omitempty"`
// Countdown Device-reported integer value.
Countdown *int `json:"countdown,omitempty"`
// DetergentExpansionType Known ZeoDetergentExpansionType values and future numeric values are accepted.
DetergentExpansionType *ZeoDetergentExpansionType `json:"detergentExpansionType,omitempty"`
// DetergentSet Appliance boolean value.
DetergentSet *bool `json:"detergentSet,omitempty"`
// DetergentType Known ZeoDetergentType values and future numeric values are accepted.
DetergentType *ZeoDetergentType `json:"detergentType,omitempty"`
// DetergentVolume Device-reported integer value.
DetergentVolume *int `json:"detergentVolume,omitempty"`
// LightSetting Appliance boolean value.
LightSetting *bool `json:"lightSetting,omitempty"`
// SilentModeEndTime Minute of day, from 0 through 1439, in the appliance local timezone.
SilentModeEndTime *int `json:"silentModeEndTime,omitempty"`
// SilentModeStartTime Minute of day, from 0 through 1439, in the appliance local timezone.
SilentModeStartTime *int `json:"silentModeStartTime,omitempty"`
// SoftenerExpansionType Known ZeoSoftenerExpansionType values and future numeric values are accepted.
SoftenerExpansionType *ZeoSoftenerExpansionType `json:"softenerExpansionType,omitempty"`
// SoftenerSet Appliance boolean value.
SoftenerSet *bool `json:"softenerSet,omitempty"`
// SoftenerType Known ZeoSoftenerType values and future numeric values are accepted.
SoftenerType *ZeoSoftenerType `json:"softenerType,omitempty"`
// SoftenerVolume Device-reported integer value.
SoftenerVolume *int `json:"softenerVolume,omitempty"`
// Sound Appliance boolean value.
Sound *bool `json:"sound,omitempty"`
}
SetZeoSettingsRequest Sparse settings update. Absent fields are never sent. Switches use boolean values on the appliance protocol.
type SharedDeviceRoomsRequest ¶ added in v0.2.0
type SharedDeviceRoomsRequest struct {
// Auth Caller-owned account credentials.
}
SharedDeviceRoomsRequest defines model for SharedDeviceRoomsRequest.
type StartZeoRequest ¶
type StartZeoRequest struct {
// DryCareMode Known ZeoDryAndCare values and future numeric values are accepted.
DryCareMode *ZeoDryAndCare `json:"dryCareMode,omitempty"`
// DryingMethod Known ZeoDryingMethod values and future numeric values are accepted.
DryingMethod *ZeoDryingMethod `json:"dryingMethod,omitempty"`
// DryingMode Known ZeoDryingMode values and future numeric values are accepted.
DryingMode *ZeoDryingMode `json:"dryingMode,omitempty"`
// Mode Known ZeoMode values and future numeric values are accepted.
Mode ZeoMode `json:"mode"`
// Program Known ZeoProgram values and future numeric values are accepted.
Program ZeoProgram `json:"program"`
// Rinse Known ZeoRinse values and future numeric values are accepted.
Rinse *ZeoRinse `json:"rinse,omitempty"`
// Soak Known ZeoSoak values and future numeric values are accepted.
Soak *ZeoSoak `json:"soak,omitempty"`
// Spin Known ZeoSpin values and future numeric values are accepted.
Spin *ZeoSpin `json:"spin,omitempty"`
// SteamVolume Known ZeoSteamVolume values and future numeric values are accepted.
SteamVolume *ZeoSteamVolume `json:"steamVolume,omitempty"`
// Temperature Known ZeoTemperature values and future numeric values are accepted.
Temperature *ZeoTemperature `json:"temperature,omitempty"`
}
StartZeoRequest Start command. Mode and program must be supplied together; optional settings are sent only when provided. Acknowledgement is not completion of the physical cycle.
type Status ¶
type Status struct {
AdbumperStatus *[]int64 `json:"adbumper_status,omitempty"`
AutoDustCollection *int64 `json:"auto_dust_collection,omitempty"`
AvoidCount *int64 `json:"avoid_count,omitempty"`
BackType *int64 `json:"back_type,omitempty"`
Battery *int64 `json:"battery,omitempty"`
CameraStatus *int64 `json:"camera_status,omitempty"`
// ChargeStatus Open ChargeStatus value; future firmware values are accepted.
ChargeStatus *ChargeStatus `json:"charge_status,omitempty"`
CleanArea *int64 `json:"clean_area,omitempty"`
CleanPercent *int64 `json:"clean_percent,omitempty"`
CleanTime *int64 `json:"clean_time,omitempty"`
CollisionAvoidStatus *int64 `json:"collision_avoid_status,omitempty"`
CommonStatus *int64 `json:"common_status,omitempty"`
CornerCleanMode *int64 `json:"corner_clean_mode,omitempty"`
DebugMode *int64 `json:"debug_mode,omitempty"`
DistanceOff *int64 `json:"distance_off,omitempty"`
DndEnabled *int64 `json:"dnd_enabled,omitempty"`
// DockErrorStatus Open DockErrorCode value; future firmware values are accepted.
DockErrorStatus *DockErrorCode `json:"dock_error_status,omitempty"`
// DockType Open DockType value; future firmware values are accepted.
DockType *DockType `json:"dock_type,omitempty"`
DryStatus *int64 `json:"dry_status,omitempty"`
Dss *int64 `json:"dss,omitempty"`
DustCollectionStatus *int64 `json:"dust_collection_status,omitempty"`
// ErrorCode Open DeviceErrorCode value; future firmware values are accepted.
ErrorCode *DeviceErrorCode `json:"error_code,omitempty"`
// FanPower Open FanSpeed value; future firmware values are accepted.
FanPower *FanSpeed `json:"fan_power,omitempty"`
HomeSecEnablePassword *int64 `json:"home_sec_enable_password,omitempty"`
HomeSecStatus *int64 `json:"home_sec_status,omitempty"`
// InCleaning Open CleaningState value; future firmware values are accepted.
InCleaning *CleaningState `json:"in_cleaning,omitempty"`
InFreshState *int64 `json:"in_fresh_state,omitempty"`
InReturning *int64 `json:"in_returning,omitempty"`
InWarmup *int64 `json:"in_warmup,omitempty"`
IsExploring *int64 `json:"is_exploring,omitempty"`
IsLocating *int64 `json:"is_locating,omitempty"`
Kct *int64 `json:"kct,omitempty"`
LabStatus *int64 `json:"lab_status,omitempty"`
LastCleanT *int64 `json:"last_clean_t,omitempty"`
LockStatus *int64 `json:"lock_status,omitempty"`
MapPresent *int64 `json:"map_present,omitempty"`
MapStatus *int64 `json:"map_status,omitempty"`
MopForbiddenEnable *int64 `json:"mop_forbidden_enable,omitempty"`
// MopMode Open MopMode value; future firmware values are accepted.
MopMode *MopMode `json:"mop_mode,omitempty"`
MsgSeq *int64 `json:"msg_seq,omitempty"`
MsgVer *int64 `json:"msg_ver,omitempty"`
Rdt *int64 `json:"rdt,omitempty"`
Repeat *int64 `json:"repeat,omitempty"`
ReplenishMode *int64 `json:"replenish_mode,omitempty"`
Rss *int64 `json:"rss,omitempty"`
// State Open DeviceState value; future firmware values are accepted.
State *DeviceState `json:"state,omitempty"`
SubdivisionSets *int64 `json:"subdivision_sets,omitempty"`
SwitchMapMode *int64 `json:"switch_map_mode,omitempty"`
UnsaveMapFlag *int64 `json:"unsave_map_flag,omitempty"`
UnsaveMapReason *int64 `json:"unsave_map_reason,omitempty"`
WashPhase *int64 `json:"wash_phase,omitempty"`
WashReady *int64 `json:"wash_ready,omitempty"`
WashStatus *int64 `json:"wash_status,omitempty"`
WaterBoxCarriageStatus *int64 `json:"water_box_carriage_status,omitempty"`
// WaterBoxMode Open WaterMode value; future firmware values are accepted.
WaterBoxMode *WaterMode `json:"water_box_mode,omitempty"`
WaterBoxStatus *int64 `json:"water_box_status,omitempty"`
WaterShortageStatus *int64 `json:"water_shortage_status,omitempty"`
AdditionalProperties map[string]json.RawMessage `json:"-"`
}
Status Presence-aware Status inventory from pinned Python V1 containers; absent fields stay absent. Cleaning area is square millimeters and durations are seconds.
func (Status) Get ¶
func (a Status) Get(fieldName string) (value json.RawMessage, found bool)
Getter for additional properties for Status. Returns the specified element and whether it was found
func (Status) MarshalJSON ¶
Override default JSON handling for Status to handle AdditionalProperties
func (*Status) Set ¶
func (a *Status) Set(fieldName string, value json.RawMessage)
Setter for additional properties for Status
func (*Status) UnmarshalJSON ¶
Override default JSON handling for Status to handle AdditionalProperties
type TURNServer ¶
type TURNServer struct {
Credential string `json:"credential"`
Url string `json:"url"`
Username string `json:"username"`
}
TURNServer defines model for TURNServer.
type WaterMode ¶
type WaterMode int
WaterMode Open device-dependent numeric enum; future values are preserved. This named inventory lists known constants; field contracts explicitly accept future values.
type ZeoDetergentExpansionType ¶
type ZeoDetergentExpansionType int
ZeoDetergentExpansionType Known protocol values; unlisted future numeric values remain valid.
const ( ZeoDetergentExpansionTypeConcentratedDetergent ZeoDetergentExpansionType = 1 ZeoDetergentExpansionTypeDetergent ZeoDetergentExpansionType = 2 ZeoDetergentExpansionTypeNull ZeoDetergentExpansionType = 0 )
Defines values for ZeoDetergentExpansionType.
type ZeoDetergentType ¶
type ZeoDetergentType int
ZeoDetergentType Known protocol values; unlisted future numeric values remain valid.
const ( ZeoDetergentTypeEmpty ZeoDetergentType = 0 ZeoDetergentTypeHigh ZeoDetergentType = 3 ZeoDetergentTypeLow ZeoDetergentType = 1 ZeoDetergentTypeMedium ZeoDetergentType = 2 )
Defines values for ZeoDetergentType.
type ZeoDirtDetectionStatus ¶
type ZeoDirtDetectionStatus int
ZeoDirtDetectionStatus Known protocol values; unlisted future numeric values remain valid.
const ( ZeoDirtDetectionStatusDetecting ZeoDirtDetectionStatus = 1 ZeoDirtDetectionStatusDetectionCompleted ZeoDirtDetectionStatus = 2 ZeoDirtDetectionStatusIdle ZeoDirtDetectionStatus = 0 )
Defines values for ZeoDirtDetectionStatus.
type ZeoDryAndCare ¶
type ZeoDryAndCare int
ZeoDryAndCare Known protocol values; unlisted future numeric values remain valid.
const ( ZeoDryAndCareNormal ZeoDryAndCare = 2 ZeoDryAndCareNull ZeoDryAndCare = 0 ZeoDryAndCareSoft ZeoDryAndCare = 1 )
Defines values for ZeoDryAndCare.
type ZeoDryerStartError ¶
type ZeoDryerStartError int
ZeoDryerStartError Known protocol values; unlisted future numeric values remain valid.
const ( ZeoDryerStartErrorDryerCountdown ZeoDryerStartError = 6 ZeoDryerStartErrorDryerDone ZeoDryerStartError = 3 ZeoDryerStartErrorDryerError ZeoDryerStartError = 2 ZeoDryerStartErrorDryerNetworkFail ZeoDryerStartError = 7 ZeoDryerStartErrorDryerRunning ZeoDryerStartError = 1 ZeoDryerStartErrorDryerSmartHosting ZeoDryerStartError = 5 ZeoDryerStartErrorDryerWaitingHosting ZeoDryerStartError = 4 ZeoDryerStartErrorNull ZeoDryerStartError = 0 )
Defines values for ZeoDryerStartError.
type ZeoDryingMethod ¶
type ZeoDryingMethod int
ZeoDryingMethod Known protocol values; unlisted future numeric values remain valid.
const ( ZeoDryingMethodL1 ZeoDryingMethod = 1 ZeoDryingMethodL2 ZeoDryingMethod = 2 ZeoDryingMethodL3 ZeoDryingMethod = 3 ZeoDryingMethodNull ZeoDryingMethod = 0 )
Defines values for ZeoDryingMethod.
type ZeoDryingMode ¶
type ZeoDryingMode int
ZeoDryingMode Known protocol values; unlisted future numeric values remain valid.
const ( ZeoDryingModeIron ZeoDryingMode = 2 ZeoDryingModeNone ZeoDryingMode = 0 ZeoDryingModeQuick ZeoDryingMode = 1 ZeoDryingModeStore ZeoDryingMode = 3 )
Defines values for ZeoDryingMode.
type ZeoError ¶
type ZeoError int
ZeoError Known protocol values; unlisted future numeric values remain valid.
const ( ZeoErrorCommunicationError ZeoError = 10 ZeoErrorDoorLockError ZeoError = 3 ZeoErrorDrainError ZeoError = 2 ZeoErrorDryingError ZeoError = 11 ZeoErrorDryingErrorE12 ZeoError = 12 ZeoErrorDryingErrorE13 ZeoError = 13 ZeoErrorDryingErrorE14 ZeoError = 14 ZeoErrorDryingErrorE15 ZeoError = 15 ZeoErrorDryingErrorE16 ZeoError = 16 ZeoErrorDryingErrorRestart ZeoError = 18 ZeoErrorDryingErrorWaterFlow ZeoError = 17 ZeoErrorHeatingError ZeoError = 6 ZeoErrorInverterError ZeoError = 5 ZeoErrorNone ZeoError = 0 ZeoErrorRefillError ZeoError = 1 ZeoErrorSpinError ZeoError = 19 ZeoErrorTemperatureError ZeoError = 7 ZeoErrorWaterLevelError ZeoError = 4 )
Defines values for ZeoError.
type ZeoFeatureBits ¶
type ZeoFeatureBits int
ZeoFeatureBits Known protocol values; unlisted future numeric values remain valid.
const ( ZeoFeatureBitsAdaptedCustomProgram ZeoFeatureBits = 14 ZeoFeatureBitsConcentratedDetergent ZeoFeatureBits = 11 ZeoFeatureBitsDeepSelfClean ZeoFeatureBits = 19 ZeoFeatureBitsDetectDoorStatus ZeoFeatureBits = 5 ZeoFeatureBitsDirtDetection ZeoFeatureBits = 18 ZeoFeatureBitsDryCare ZeoFeatureBits = 3 ZeoFeatureBitsExpandSoftener ZeoFeatureBits = 6 ZeoFeatureBitsFluffCleanNotification ZeoFeatureBits = 16 ZeoFeatureBitsIonDeodorization ZeoFeatureBits = 23 ZeoFeatureBitsNewCustomProgram ZeoFeatureBits = 2 ZeoFeatureBitsPowerButtonIndicatorLight ZeoFeatureBits = 17 ZeoFeatureBitsSavePanelProgramParams ZeoFeatureBits = 20 ZeoFeatureBitsSetParamsInWorking ZeoFeatureBits = 7 ZeoFeatureBitsSetUvcInAppointment ZeoFeatureBits = 4 ZeoFeatureBitsSetUvcInPause ZeoFeatureBits = 10 ZeoFeatureBitsSilentMode ZeoFeatureBits = 1 ZeoFeatureBitsSmartHosting ZeoFeatureBits = 0 ZeoFeatureBitsSmileLight ZeoFeatureBits = 9 ZeoFeatureBitsSteamCare ZeoFeatureBits = 21 ZeoFeatureBitsThirtyMinSoak ZeoFeatureBits = 8 ZeoFeatureBitsVoiceAssistant ZeoFeatureBits = 13 ZeoFeatureBitsVoiceAssistantRecord ZeoFeatureBits = 15 ZeoFeatureBitsWashDryLinkage ZeoFeatureBits = 22 ZeoFeatureBitsWoolDetergent ZeoFeatureBits = 12 )
Defines values for ZeoFeatureBits.
type ZeoMode ¶
type ZeoMode int
ZeoMode Known protocol values; unlisted future numeric values remain valid.
type ZeoProgram ¶
type ZeoProgram int
ZeoProgram Known protocol values; unlisted future numeric values remain valid.
const ( ZeoProgramAirRefresh ZeoProgram = 5 ZeoProgramAntiAllergen ZeoProgram = 14 ZeoProgramAntiMite ZeoProgram = 32 ZeoProgramBabyCare ZeoProgram = 13 ZeoProgramBathTowel ZeoProgram = 40 ZeoProgramBedding ZeoProgram = 7 ZeoProgramBoilingWash ZeoProgram = 28 ZeoProgramBra ZeoProgram = 26 ZeoProgramCottonLinen ZeoProgram = 23 ZeoProgramCustom ZeoProgram = 6 ZeoProgramDeepSelfClean ZeoProgram = 55 ZeoProgramDescaling ZeoProgram = 54 ZeoProgramDown ZeoProgram = 8 ZeoProgramDownClean ZeoProgram = 12 ZeoProgramExo4060 ZeoProgram = 33 ZeoProgramFlax ZeoProgram = 47 ZeoProgramGentle ZeoProgram = 21 ZeoProgramIntensive ZeoProgram = 22 ZeoProgramJeans ZeoProgram = 41 ZeoProgramMixing ZeoProgram = 39 ZeoProgramNewClothes ZeoProgram = 17 ZeoProgramNight ZeoProgram = 16 ZeoProgramNull ZeoProgram = 0 ZeoProgramOutdoorJackets ZeoProgram = 44 ZeoProgramOutdoors ZeoProgram = 42 ZeoProgramPanties ZeoProgram = 27 ZeoProgramPetCare ZeoProgram = 56 ZeoProgramQuick ZeoProgram = 2 ZeoProgramQuiltDrying ZeoProgram = 46 ZeoProgramRackDrying ZeoProgram = 50 ZeoProgramRinseAndSpin ZeoProgram = 10 ZeoProgramSanitize ZeoProgram = 3 ZeoProgramSeason ZeoProgram = 24 ZeoProgramShirts ZeoProgram = 18 ZeoProgramSilk ZeoProgram = 9 ZeoProgramSmallThings ZeoProgram = 37 ZeoProgramSmallThingsDrying ZeoProgram = 57 ZeoProgramSoaking ZeoProgram = 29 ZeoProgramSocks ZeoProgram = 30 ZeoProgramSpin ZeoProgram = 11 ZeoProgramSportShoes ZeoProgram = 49 ZeoProgramSportswear ZeoProgram = 15 ZeoProgramStainRemoval ZeoProgram = 36 ZeoProgramStandard ZeoProgram = 1 ZeoProgramSteamCare ZeoProgram = 53 ZeoProgramSuit ZeoProgram = 48 ZeoProgramSummerQuilt ZeoProgram = 51 ZeoProgramSynthetics ZeoProgram = 19 ZeoProgramTShirts ZeoProgram = 35 ZeoProgramTimedDrying ZeoProgram = 43 ZeoProgramTowels ZeoProgram = 31 ZeoProgramTwentyC ZeoProgram = 34 ZeoProgramUnderwear ZeoProgram = 20 ZeoProgramWarming ZeoProgram = 25 ZeoProgramWindBreaker ZeoProgram = 52 ZeoProgramWool ZeoProgram = 4 ZeoProgramYoga ZeoProgram = 45 )
Defines values for ZeoProgram.
type ZeoProperty ¶
type ZeoProperty int
ZeoProperty A01 appliance datapoint identifier.
const ( ZeoPropertyAppAuthorization ZeoProperty = 232 ZeoPropertyChildLock ZeoProperty = 206 ZeoPropertyClothPutIn ZeoProperty = 263 ZeoPropertyClothReadyToDryCountdown ZeoProperty = 264 ZeoPropertyCountdown ZeoProperty = 217 ZeoPropertyCustomParamGet ZeoProperty = 222 ZeoPropertyCustomParamSave ZeoProperty = 221 ZeoPropertyCustomProgramCleaningTime ZeoProperty = 239 ZeoPropertyDefaultSetting ZeoProperty = 225 ZeoPropertyDetergentEmpty ZeoProperty = 226 ZeoPropertyDetergentExpansionType ZeoProperty = 248 ZeoPropertyDetergentSet ZeoProperty = 211 ZeoPropertyDetergentType ZeoProperty = 213 ZeoPropertyDetergentVolume ZeoProperty = 230 ZeoPropertyDeviceBound ZeoProperty = 262 ZeoPropertyDirtDetectionStatus ZeoProperty = 216 ZeoPropertyDirtDetectionSwitch ZeoProperty = 215 ZeoPropertyDoorLockState ZeoProperty = 219 ZeoPropertyDryCareMode ZeoProperty = 244 ZeoPropertyDryingMethod ZeoProperty = 256 ZeoPropertyDryingMode ZeoProperty = 210 ZeoPropertyError ZeoProperty = 220 ZeoPropertyFeatureBits ZeoProperty = 237 ZeoPropertyFluffCleaned ZeoProperty = 249 ZeoPropertyIonDeodorization ZeoProperty = 258 ZeoPropertyLightSetting ZeoProperty = 229 ZeoPropertyMode ZeoProperty = 204 ZeoPropertyNeedFluffClean ZeoProperty = 250 ZeoPropertyPanelProgramParamsSet ZeoProperty = 252 ZeoPropertyPanelProgramParamsSetResult ZeoProperty = 253 ZeoPropertyPanelTimingProgramParams ZeoProperty = 260 ZeoPropertyPause ZeoProperty = 201 ZeoPropertyPowerLight ZeoProperty = 251 ZeoPropertyProgram ZeoProperty = 205 ZeoPropertyRinse ZeoProperty = 208 ZeoPropertySaveAdaptedCloudProgram ZeoProperty = 254 ZeoPropertyShutdown ZeoProperty = 202 ZeoPropertySilentMode ZeoProperty = 240 ZeoPropertySilentModeEndTime ZeoProperty = 242 ZeoPropertySilentModeStartTime ZeoProperty = 241 ZeoPropertySmartHosting ZeoProperty = 235 ZeoPropertySmartHostingTime ZeoProperty = 236 ZeoPropertySmartHostingWaitedTime ZeoProperty = 238 ZeoPropertySmileLightStatus ZeoProperty = 247 ZeoPropertySoak ZeoProperty = 233 ZeoPropertySoftenerEmpty ZeoProperty = 227 ZeoPropertySoftenerExpansionType ZeoProperty = 245 ZeoPropertySoftenerSet ZeoProperty = 212 ZeoPropertySoftenerType ZeoProperty = 214 ZeoPropertySoftenerVolume ZeoProperty = 231 ZeoPropertySound ZeoProperty = 223 ZeoPropertySpin ZeoProperty = 209 ZeoPropertyStart ZeoProperty = 200 ZeoPropertyStartDryerError ZeoProperty = 265 ZeoPropertyStatus ZeoProperty = 203 ZeoPropertySteamCareTime ZeoProperty = 261 ZeoPropertySteamVolume ZeoProperty = 257 ZeoPropertyTemperature ZeoProperty = 207 ZeoPropertyTimesAfterClean ZeoProperty = 224 ZeoPropertyTotalTime ZeoProperty = 234 ZeoPropertyUVLight ZeoProperty = 228 ZeoPropertyWashDryLinked ZeoProperty = 255 ZeoPropertyWashingLeft ZeoProperty = 218 ZeoPropertyWiFiLinkageReset ZeoProperty = 266 )
Defines values for ZeoProperty.
type ZeoRinse ¶
type ZeoRinse int
ZeoRinse Known rinse intensity protocol positions, not a literal count of rinses. Public fields also accept future numeric positions.
type ZeoSoak ¶
type ZeoSoak int
ZeoSoak Known protocol values; unlisted future numeric values remain valid.
type ZeoSoftenerExpansionType ¶
type ZeoSoftenerExpansionType int
ZeoSoftenerExpansionType Known protocol values; unlisted future numeric values remain valid.
const ( ZeoSoftenerExpansionTypeNull ZeoSoftenerExpansionType = 0 ZeoSoftenerExpansionTypeSoftener ZeoSoftenerExpansionType = 1 ZeoSoftenerExpansionTypeSoftenerExpansion ZeoSoftenerExpansionType = 2 ZeoSoftenerExpansionTypeWoolDetergent ZeoSoftenerExpansionType = 3 )
Defines values for ZeoSoftenerExpansionType.
type ZeoSoftenerType ¶
type ZeoSoftenerType int
ZeoSoftenerType Known protocol values; unlisted future numeric values remain valid.
const ( ZeoSoftenerTypeEmpty ZeoSoftenerType = 0 ZeoSoftenerTypeHigh ZeoSoftenerType = 3 ZeoSoftenerTypeLow ZeoSoftenerType = 1 ZeoSoftenerTypeMedium ZeoSoftenerType = 2 )
Defines values for ZeoSoftenerType.
type ZeoSpin ¶
type ZeoSpin int
ZeoSpin Known spin protocol positions, not RPM: 1 = no spin, 2 = 400 RPM, 3 = 600 RPM, 4 = 800 RPM, 5 = 1000 RPM, 6 = 1200 RPM, 7 = 1400 RPM. Public fields also accept future numeric positions.
type ZeoState ¶
type ZeoState struct {
// AppAuthorization Device-reported integer value.
AppAuthorization *int `json:"appAuthorization,omitempty"`
// ChildLock Appliance boolean value.
ChildLock *bool `json:"childLock,omitempty"`
// Countdown Device-reported integer value.
Countdown *int `json:"countdown,omitempty"`
// CustomParamGet Device-reported integer value.
CustomParamGet *int `json:"customParamGet,omitempty"`
// CustomParamSave Device-reported integer value.
CustomParamSave *int `json:"customParamSave,omitempty"`
// CustomProgramCleaningTime Device-reported integer value.
CustomProgramCleaningTime *int `json:"customProgramCleaningTime,omitempty"`
// DefaultSetting Appliance boolean value.
DefaultSetting *bool `json:"defaultSetting,omitempty"`
// DetergentEmpty Appliance boolean value.
DetergentEmpty *bool `json:"detergentEmpty,omitempty"`
// DetergentExpansionType Known ZeoDetergentExpansionType values and future numeric values are accepted.
DetergentExpansionType *ZeoDetergentExpansionType `json:"detergentExpansionType,omitempty"`
// DetergentSet Appliance boolean value.
DetergentSet *bool `json:"detergentSet,omitempty"`
// DetergentType Known ZeoDetergentType values and future numeric values are accepted.
DetergentType *ZeoDetergentType `json:"detergentType,omitempty"`
// DetergentVolume Device-reported integer value.
DetergentVolume *int `json:"detergentVolume,omitempty"`
// DirtDetectionStatus Known ZeoDirtDetectionStatus values and future numeric values are accepted.
DirtDetectionStatus *ZeoDirtDetectionStatus `json:"dirtDetectionStatus,omitempty"`
// DoorLockState Appliance boolean value.
DoorLockState *bool `json:"doorLockState,omitempty"`
// DryCareMode Known ZeoDryAndCare values and future numeric values are accepted.
DryCareMode *ZeoDryAndCare `json:"dryCareMode,omitempty"`
// DryingMethod Known ZeoDryingMethod values and future numeric values are accepted.
DryingMethod *ZeoDryingMethod `json:"dryingMethod,omitempty"`
// DryingMode Known ZeoDryingMode values and future numeric values are accepted.
DryingMode *ZeoDryingMode `json:"dryingMode,omitempty"`
// Error Known ZeoError values and future numeric values are accepted.
Error *ZeoError `json:"error,omitempty"`
// FeatureBits Device-reported integer value.
FeatureBits *int `json:"featureBits,omitempty"`
// LightSetting Appliance boolean value.
LightSetting *bool `json:"lightSetting,omitempty"`
// Mode Known ZeoMode values and future numeric values are accepted.
Mode *ZeoMode `json:"mode,omitempty"`
// Pause Appliance boolean value.
Pause *bool `json:"pause,omitempty"`
// Program Known ZeoProgram values and future numeric values are accepted.
Program *ZeoProgram `json:"program,omitempty"`
// Rinse Known ZeoRinse values and future numeric values are accepted.
Rinse *ZeoRinse `json:"rinse,omitempty"`
// Shutdown Appliance boolean value.
Shutdown *bool `json:"shutdown,omitempty"`
// SilentModeEndTime Minute of day, from 0 through 1439, in the appliance local timezone.
SilentModeEndTime *int `json:"silentModeEndTime,omitempty"`
// SilentModeStartTime Minute of day, from 0 through 1439, in the appliance local timezone.
SilentModeStartTime *int `json:"silentModeStartTime,omitempty"`
// Soak Known ZeoSoak values and future numeric values are accepted.
Soak *ZeoSoak `json:"soak,omitempty"`
// SoftenerEmpty Appliance boolean value.
SoftenerEmpty *bool `json:"softenerEmpty,omitempty"`
// SoftenerExpansionType Known ZeoSoftenerExpansionType values and future numeric values are accepted.
SoftenerExpansionType *ZeoSoftenerExpansionType `json:"softenerExpansionType,omitempty"`
// SoftenerSet Appliance boolean value.
SoftenerSet *bool `json:"softenerSet,omitempty"`
// SoftenerType Known ZeoSoftenerType values and future numeric values are accepted.
SoftenerType *ZeoSoftenerType `json:"softenerType,omitempty"`
// SoftenerVolume Device-reported integer value.
SoftenerVolume *int `json:"softenerVolume,omitempty"`
// Sound Appliance boolean value.
Sound *bool `json:"sound,omitempty"`
// Spin Known ZeoSpin values and future numeric values are accepted.
Spin *ZeoSpin `json:"spin,omitempty"`
// Start Appliance boolean value.
Start *bool `json:"start,omitempty"`
// StartDryerError Known ZeoDryerStartError values and future numeric values are accepted.
StartDryerError *ZeoDryerStartError `json:"startDryerError,omitempty"`
// Status Known ZeoStatus values and future numeric values are accepted.
Status *ZeoStatus `json:"status,omitempty"`
// SteamCareTime Device-reported integer value.
SteamCareTime *int `json:"steamCareTime,omitempty"`
// SteamVolume Known ZeoSteamVolume values and future numeric values are accepted.
SteamVolume *ZeoSteamVolume `json:"steamVolume,omitempty"`
// Temperature Known ZeoTemperature values and future numeric values are accepted.
Temperature *ZeoTemperature `json:"temperature,omitempty"`
// TimesAfterClean Device-reported integer value.
TimesAfterClean *int `json:"timesAfterClean,omitempty"`
// TotalTime Device-reported integer value.
TotalTime *int `json:"totalTime,omitempty"`
// WashingLeft Device-reported integer value.
WashingLeft *int `json:"washingLeft,omitempty"`
}
ZeoState Presence-aware device state; nil fields were not returned by the appliance. Numeric enums retain future values. Only scalar datapoints with a documented type are projected; other known IDs are inventory entries and cannot be selected by this operation.
type ZeoStatus ¶
type ZeoStatus int
ZeoStatus Known protocol values; unlisted future numeric values remain valid.
const ( ZeoStatusAftercare ZeoStatus = 12 ZeoStatusClothReady ZeoStatus = 16 ZeoStatusCooling ZeoStatus = 8 ZeoStatusDescaling ZeoStatus = 15 ZeoStatusDone ZeoStatus = 10 ZeoStatusDrying ZeoStatus = 7 ZeoStatusInCare ZeoStatus = 20 ZeoStatusNull ZeoStatus = 0 ZeoStatusPreHeatComplete ZeoStatus = 19 ZeoStatusPreHeating ZeoStatus = 18 ZeoStatusRinsing ZeoStatus = 5 ZeoStatusSoaking ZeoStatus = 3 ZeoStatusSpinning ZeoStatus = 6 ZeoStatusStandby ZeoStatus = 1 ZeoStatusSteamCaring ZeoStatus = 14 ZeoStatusUnderDelayStart ZeoStatus = 9 ZeoStatusUpdating ZeoStatus = 11 ZeoStatusWaitingForAftercare ZeoStatus = 13 ZeoStatusWaitingForDrying ZeoStatus = 17 ZeoStatusWashing ZeoStatus = 4 ZeoStatusWeighing ZeoStatus = 2 )
Defines values for ZeoStatus.
type ZeoSteamVolume ¶
type ZeoSteamVolume int
ZeoSteamVolume Known protocol values; unlisted future numeric values remain valid.
const ( ZeoSteamVolumeHigh ZeoSteamVolume = 3 ZeoSteamVolumeLow ZeoSteamVolume = 1 ZeoSteamVolumeMax ZeoSteamVolume = 4 ZeoSteamVolumeMedium ZeoSteamVolume = 2 ZeoSteamVolumeNone ZeoSteamVolume = 0 )
Defines values for ZeoSteamVolume.
type ZeoTemperature ¶
type ZeoTemperature int
ZeoTemperature Known temperature protocol positions, not degrees Celsius: 1 = unheated, 2 = 30 C, 3 = 40 C, 4 = 60 C, 5 = 90 C, 6 = 20 C, 7 = 95 C. Public fields also accept future numeric positions.
const ( ZeoTemperatureHigh ZeoTemperature = 4 ZeoTemperatureLow ZeoTemperature = 2 ZeoTemperatureMax ZeoTemperature = 5 ZeoTemperatureMedium ZeoTemperature = 3 ZeoTemperatureNinetyC ZeoTemperature = 7 ZeoTemperatureNormal ZeoTemperature = 1 ZeoTemperatureNull ZeoTemperature = 0 ZeoTemperatureTwentyC ZeoTemperature = 6 )
Defines values for ZeoTemperature.
type Zone ¶
type Zone struct {
Repeats int `json:"repeats"`
// X1 Map coordinates in millimeters.
X1 int64 `json:"x1"`
// X2 Map coordinates in millimeters.
X2 int64 `json:"x2"`
// Y1 Map coordinates in millimeters.
Y1 int64 `json:"y1"`
// Y2 Map coordinates in millimeters.
Y2 int64 `json:"y2"`
}
Zone defines model for Zone.
Source Files
¶
- a01.go
- a01_models.gen.go
- a01_projection.go
- accounts.go
- camera.go
- camera_helpers.go
- client.go
- client_models.gen.go
- discovery.go
- doc.go
- family.go
- family_cleaning.go
- interface.go
- map_client_models.gen.go
- map_geometry.go
- map_rooms.go
- maps.go
- maps_list.go
- maps_models.gen.go
- operation_models.gen.go
- rooms_client.go
- vacuum.go
- vacuum_helpers.go
- vacuum_queries.go