roborock.exceptions

Roborock exceptions.

 1"""Roborock exceptions."""
 2
 3
 4class RoborockException(Exception):
 5    """Class for Roborock exceptions."""
 6
 7
 8class RoborockTimeout(RoborockException):
 9    """Class for Roborock timeout exceptions."""
10
11
12class RoborockConnectionException(RoborockException):
13    """Class for Roborock connection exceptions."""
14
15
16class RoborockBackoffException(RoborockException):
17    """Class for Roborock exceptions when many retries were made."""
18
19
20class VacuumError(RoborockException):
21    """Class for vacuum errors."""
22
23
24class CommandVacuumError(RoborockException):
25    """Class for command vacuum errors."""
26
27    def __init__(self, command: str | None, vacuum_error: VacuumError):
28        self.message = f"{command or 'unknown'}: {str(vacuum_error)}"
29        super().__init__(self.message)
30
31
32class UnknownMethodError(RoborockException):
33    """Class for an invalid method being sent."""
34
35
36class RoborockAccountDoesNotExist(RoborockException):
37    """Class for Roborock account does not exist exceptions."""
38
39
40class RoborockUrlException(RoborockException):
41    """Class for being unable to get the URL for the Roborock account."""
42
43
44class RoborockInvalidCode(RoborockException):
45    """Class for Roborock invalid code exceptions."""
46
47
48class RoborockInvalidEmail(RoborockException):
49    """Class for Roborock invalid formatted email exceptions."""
50
51
52class RoborockInvalidUserAgreement(RoborockException):
53    """Class for Roborock invalid user agreement exceptions."""
54
55
56class RoborockNoUserAgreement(RoborockException):
57    """Class for Roborock no user agreement exceptions."""
58
59
60class RoborockInvalidCredentials(RoborockException):
61    """Class for Roborock credentials have expired or changed."""
62
63
64class RoborockTooFrequentCodeRequests(RoborockException):
65    """Class for Roborock too frequent code requests exceptions."""
66
67
68class RoborockMissingParameters(RoborockException):
69    """Class for Roborock missing parameters exceptions."""
70
71
72class RoborockTooManyRequest(RoborockException):
73    """Class for Roborock too many request exceptions."""
74
75
76class RoborockRateLimit(RoborockException):
77    """Class for our rate limits exceptions."""
78
79
80class RoborockNoResponseFromBaseURL(RoborockException):
81    """We could not find an url that had a record of the given account."""
82
83
84class RoborockDeviceBusy(RoborockException):
85    """Class for Roborock device busy exceptions."""
86
87
88class RoborockInvalidStatus(RoborockException):
89    """Class for Roborock invalid status exceptions (device action locked)."""
90
91
92class RoborockUnsupportedFeature(RoborockException):
93    """Class for Roborock unsupported feature exceptions."""
class RoborockException(builtins.Exception):
5class RoborockException(Exception):
6    """Class for Roborock exceptions."""

Class for Roborock exceptions.

class RoborockTimeout(RoborockException):
 9class RoborockTimeout(RoborockException):
10    """Class for Roborock timeout exceptions."""

Class for Roborock timeout exceptions.

class RoborockConnectionException(RoborockException):
13class RoborockConnectionException(RoborockException):
14    """Class for Roborock connection exceptions."""

Class for Roborock connection exceptions.

class RoborockBackoffException(RoborockException):
17class RoborockBackoffException(RoborockException):
18    """Class for Roborock exceptions when many retries were made."""

Class for Roborock exceptions when many retries were made.

class VacuumError(RoborockException):
21class VacuumError(RoborockException):
22    """Class for vacuum errors."""

Class for vacuum errors.

class CommandVacuumError(RoborockException):
25class CommandVacuumError(RoborockException):
26    """Class for command vacuum errors."""
27
28    def __init__(self, command: str | None, vacuum_error: VacuumError):
29        self.message = f"{command or 'unknown'}: {str(vacuum_error)}"
30        super().__init__(self.message)

Class for command vacuum errors.

CommandVacuumError(command: str | None, vacuum_error: VacuumError)
28    def __init__(self, command: str | None, vacuum_error: VacuumError):
29        self.message = f"{command or 'unknown'}: {str(vacuum_error)}"
30        super().__init__(self.message)
message
class UnknownMethodError(RoborockException):
33class UnknownMethodError(RoborockException):
34    """Class for an invalid method being sent."""

Class for an invalid method being sent.

class RoborockAccountDoesNotExist(RoborockException):
37class RoborockAccountDoesNotExist(RoborockException):
38    """Class for Roborock account does not exist exceptions."""

Class for Roborock account does not exist exceptions.

class RoborockUrlException(RoborockException):
41class RoborockUrlException(RoborockException):
42    """Class for being unable to get the URL for the Roborock account."""

Class for being unable to get the URL for the Roborock account.

class RoborockInvalidCode(RoborockException):
45class RoborockInvalidCode(RoborockException):
46    """Class for Roborock invalid code exceptions."""

Class for Roborock invalid code exceptions.

class RoborockInvalidEmail(RoborockException):
49class RoborockInvalidEmail(RoborockException):
50    """Class for Roborock invalid formatted email exceptions."""

Class for Roborock invalid formatted email exceptions.

class RoborockInvalidUserAgreement(RoborockException):
53class RoborockInvalidUserAgreement(RoborockException):
54    """Class for Roborock invalid user agreement exceptions."""

Class for Roborock invalid user agreement exceptions.

class RoborockNoUserAgreement(RoborockException):
57class RoborockNoUserAgreement(RoborockException):
58    """Class for Roborock no user agreement exceptions."""

Class for Roborock no user agreement exceptions.

class RoborockInvalidCredentials(RoborockException):
61class RoborockInvalidCredentials(RoborockException):
62    """Class for Roborock credentials have expired or changed."""

Class for Roborock credentials have expired or changed.

class RoborockTooFrequentCodeRequests(RoborockException):
65class RoborockTooFrequentCodeRequests(RoborockException):
66    """Class for Roborock too frequent code requests exceptions."""

Class for Roborock too frequent code requests exceptions.

class RoborockMissingParameters(RoborockException):
69class RoborockMissingParameters(RoborockException):
70    """Class for Roborock missing parameters exceptions."""

Class for Roborock missing parameters exceptions.

class RoborockTooManyRequest(RoborockException):
73class RoborockTooManyRequest(RoborockException):
74    """Class for Roborock too many request exceptions."""

Class for Roborock too many request exceptions.

class RoborockRateLimit(RoborockException):
77class RoborockRateLimit(RoborockException):
78    """Class for our rate limits exceptions."""

Class for our rate limits exceptions.

class RoborockNoResponseFromBaseURL(RoborockException):
81class RoborockNoResponseFromBaseURL(RoborockException):
82    """We could not find an url that had a record of the given account."""

We could not find an url that had a record of the given account.

class RoborockDeviceBusy(RoborockException):
85class RoborockDeviceBusy(RoborockException):
86    """Class for Roborock device busy exceptions."""

Class for Roborock device busy exceptions.

class RoborockInvalidStatus(RoborockException):
89class RoborockInvalidStatus(RoborockException):
90    """Class for Roborock invalid status exceptions (device action locked)."""

Class for Roborock invalid status exceptions (device action locked).

class RoborockUnsupportedFeature(RoborockException):
93class RoborockUnsupportedFeature(RoborockException):
94    """Class for Roborock unsupported feature exceptions."""

Class for Roborock unsupported feature exceptions.