Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

s6: two new commands for map handling #608

Merged
merged 3 commits into from
Jan 10, 2020
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
15 changes: 15 additions & 0 deletions miio/vacuum.py
Original file line number Diff line number Diff line change
Expand Up @@ -540,6 +540,21 @@ def get_room_mapping(self):
"""Retrieves a list of segments."""
return self.send("get_room_mapping")

@command()
def get_recover_maps(self):
"""Get recover maps."""
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe get_saved_maps?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually its more like recover or backup maps than real saved maps. There is the current map and two backup maps, like this:
20200102_103607229_iOS

return self.send("get_recover_maps")

@command(
click.argument("id"),
click.argument("map"),
)
def recover_map(self, id: int, map: int):
"""Set recover maps."""
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use_saved_map in accordance to the above command? What are ID and map in this case? Can you post an example of what get recover maps returns?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Example:

miiocli vacuum --ip roboip --token robotoken get_recover_maps
Running command get_recover_maps

returns:

[[1, 1575723134], [2, 1577540948], [3, 1577807926]]

I named the first number (1,2,3) as id and the second (1575723134,1577540948, 1577807926) as map

So in my case the command:

miiocli vacuum --ip roboip --token robotoken recover_map 1 1575723134
Running command recover_map
Setting the map [1, 1575723134] as active
ok

sets the initial (not edited) map as active:
PNG image

miiocli vacuum --ip roboip --token robotoken recover_map 2 1577540948
Running command recover_map
Setting the map [2, 1577540948] as active
ok

sets the oldest backup map (the one from 2019.12.28 14:49, at the very bottom of the screeny, map not fully visible) as active:
PNG image 1

miiocli vacuum --ip roboip --token robotoken recover_map 3 1577807926
Running command recover_map
Setting the map [3, 1577807926] as active
ok

sets the other backup map (the one from 2019.12.31 16:58) as active:
PNG image 2

So I suggest to name it use_recover_map according to get_recover_maps?

payload = [int(id), int(map)]
click.echo("Setting the map %s as active" % payload)
return self.send("recover_map", payload)[0]

@command()
def get_segment_status(self):
"""Get the status of a segment."""
Expand Down