Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions roborock/web_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,29 @@ async def get_home_data_v2(self, user_data: UserData) -> HomeData:
else:
raise RoborockException("home_response result was an unexpected type")

async def get_home_data_v3(self, user_data: UserData) -> HomeData:
"""This is the same as get_home_data, but uses a different endpoint and includes non-robotic vacuums."""
rriot = user_data.rriot
if rriot is None:
raise RoborockException("rriot is none")
home_id = await self._get_home_id(user_data)
if rriot.r.a is None:
raise RoborockException("Missing field 'a' in rriot reference")
Comment thread
Lash-L marked this conversation as resolved.
home_request = PreparedRequest(
rriot.r.a,
{
"Authorization": self._get_hawk_authentication(rriot, "/v3/user/homes/" + str(home_id)),
},
)
home_response = await home_request.request("get", "/v3/user/homes/" + str(home_id))
Comment thread
Lash-L marked this conversation as resolved.
Outdated
if not home_response.get("success"):
raise RoborockException(home_response)
home_data = home_response.get("result")
if isinstance(home_data, dict):
return HomeData.from_dict(home_data)
else:
raise RoborockException("home_response result was an unexpected type")
Comment thread
Lash-L marked this conversation as resolved.
Outdated

async def get_rooms(self, user_data: UserData, home_id: int | None = None) -> list[HomeDataRoom]:
rriot = user_data.rriot
if rriot is None:
Expand Down
Loading