been playing around with the service call "vacuum_restore_map_from_file" to see how it affects the map system on the vacuum robot.
I started by deleting all maps from within the dreame app then created a new map scan job.
I had to restart the dreame app integration manually in order to have the changes reflected in the camera.xyz entities. the map_id did not bump up. Once I restarted the integration the map_id went from eg. 14 to 15.
Maybe if I wait long enough it will update ?
It looks like when succesfully calling the service "vacuum_restore_map_from_file" the map change is reflected on the "main" map page on the dreame app itself.
What I mean is if I goto the map edit page on the dreame app, then another older map is presented and not the newly uloaded one I just did.
So once I go down the route with calling vacuum_restore_map_from_file, I have no way of editing this map any further as it will not appear in the list of maps in "restore maps" from the edit map section on the dreame app.
When I look at the camera.vacuum entity I can see the saved maps are listed as under the dictionary: recovery_map_list
So I guess there is no way to replace those currently ?
Am I missing something here ?
Although I was able to recover an older perfect golden map on my newly factory resat vacuum - how ??
I can do this but I will not be able to edit it any further.
If you want the steps for this they are:
Reset vacuum (then map_id will be 0) or delete all maps (if you delete the maps, it will bump the map index +1).
initiate a new vacuum map from the dreame. I doesnt have to be very good. Meaning it just needs to create an initial map.
No need to clean up the house like you did the very first time..
(God knows I would die for an offline map editor that could act as an eraser tool for the stuff in the room that I dont want to be part of the map. Currently I have to fool the system by putting away chairs etc. in order to get clean rooms without any obstacles.)
Then go into map edit on the dreame app, then create an extra backup.
Once it has completed this then do a map download from your browser.
eg. /api/camera_recovery_map_proxy/{entity_id}?token={access_token}&index={recovery_map_index}&file={download_file}&info={info_text}
as described here: https://github.com/Tasshack/dreame-vacuum/blob/dev/docs/map.md
you will use this map as a base for the modification.
now open the initial tbz2 in 7zip (windows).
now also open the original golden map (the map you want to apply on your vacuum)
the initial tbz2 contents is: (15 is map_id, it will vary in your case)
15 (folder)
divide/15 (folder)
15.dat (file)
original golden map content is:
1 (folder)
divide/1 (folder)
1.dat (file)
you will need to modify the initial tbz2 file (do it on a new file copy eg.)
1) copy the content of folder "1" of the golden map tbz2 file to the folder named "15" in the initial tbz2 archive.
2) copy the content of folder "divide/1" of the golden map tbz2 file to the folder named "divide/15" in the initial tbz2 archive.
3) delete the 15.dat file in the initial tbz2 archive.
4) copy 1.dat file from the golden tbz2 archive to the root of the initial tbz2 archive.
5) rename 1.dat to 15.dat on the initial tbz2 archive.
in other words:
copy golden/1/. => init/15/
copy golden/divide/1/. => init/devide/15/
del init/15.dat
copy golden/divide/1.dat => init/devide/15.dat
then upload the modified file to the vacuum using ..
dreame_vacuum.vacuum_restore_map_from_file
see docs.
doing these steps and I am able to have my old map even through a fact. reset procedure.
although I am unable to have the map appear in the map editing section of the dreame app thus I cant improve upon it.
eg by adding new no go zones etc.
EDIT: I just found a useful workaround for having the newly uploaded locally stored map appear in the map editing section of the dreame app.
When you open the edit map section on your dreame app, you will probably see the basic incomplete initial map.
This is fine as you just have to rename one of the rooms on the map.
Once you rename a room to anything you want to then you will see the newly upload file being applied. This is the workaround.. It's that simple.
WOW at last.
Now complete the rename or an other edits you may wish to do. Finally click save backup. The map should now appear in the dreame app as a backed up map. Which again means that you can edit it again and again in the future should you wish to.
Just remember to DOWNLOAD it again to your home assistant folder :)
Also I just checked, the map_id. At this point it is still 15.
been playing around with the service call "vacuum_restore_map_from_file" to see how it affects the map system on the vacuum robot.
I started by deleting all maps from within the dreame app then created a new map scan job. I had to restart the dreame app integration manually in order to have the changes reflected in the camera.xyz entities. the map_id did not bump up. Once I restarted the integration the map_id went from eg. 14 to 15. Maybe if I wait long enough it will update ?
It looks like when succesfully calling the service "vacuum_restore_map_from_file" the map change is reflected on the "main" map page on the dreame app itself.
What I mean is if I goto the map edit page on the dreame app, then another older map is presented and not the newly uloaded one I just did. So once I go down the route with calling vacuum_restore_map_from_file, I have no way of editing this map any further as it will not appear in the list of maps in "restore maps" from the edit map section on the dreame app.
When I look at the camera.vacuum entity I can see the saved maps are listed as under the dictionary: recovery_map_list So I guess there is no way to replace those currently ?
Am I missing something here ?
Although I was able to recover an older perfect golden map on my newly factory resat vacuum - how ?? I can do this but I will not be able to edit it any further.
If you want the steps for this they are: Reset vacuum (then map_id will be 0) or delete all maps (if you delete the maps, it will bump the map index +1). initiate a new vacuum map from the dreame. I doesnt have to be very good. Meaning it just needs to create an initial map. No need to clean up the house like you did the very first time.. (God knows I would die for an offline map editor that could act as an eraser tool for the stuff in the room that I dont want to be part of the map. Currently I have to fool the system by putting away chairs etc. in order to get clean rooms without any obstacles.)
Then go into map edit on the dreame app, then create an extra backup. Once it has completed this then do a map download from your browser. eg. /api/camera_recovery_map_proxy/{entity_id}?token={access_token}&index={recovery_map_index}&file={download_file}&info={info_text} as described here: https://github.com/Tasshack/dreame-vacuum/blob/dev/docs/map.md
you will use this map as a base for the modification.
now open the initial tbz2 in 7zip (windows). now also open the original golden map (the map you want to apply on your vacuum)
the initial tbz2 contents is: (15 is map_id, it will vary in your case) 15 (folder) divide/15 (folder) 15.dat (file)
original golden map content is: 1 (folder) divide/1 (folder) 1.dat (file)
you will need to modify the initial tbz2 file (do it on a new file copy eg.) 1) copy the content of folder "1" of the golden map tbz2 file to the folder named "15" in the initial tbz2 archive. 2) copy the content of folder "divide/1" of the golden map tbz2 file to the folder named "divide/15" in the initial tbz2 archive. 3) delete the 15.dat file in the initial tbz2 archive. 4) copy 1.dat file from the golden tbz2 archive to the root of the initial tbz2 archive. 5) rename 1.dat to 15.dat on the initial tbz2 archive.
in other words: copy golden/1/. => init/15/ copy golden/divide/1/. => init/devide/15/ del init/15.dat copy golden/divide/1.dat => init/devide/15.dat
then upload the modified file to the vacuum using .. dreame_vacuum.vacuum_restore_map_from_file see docs.
doing these steps and I am able to have my old map even through a fact. reset procedure. although I am unable to have the map appear in the map editing section of the dreame app thus I cant improve upon it. eg by adding new no go zones etc.
EDIT: I just found a useful workaround for having the newly uploaded locally stored map appear in the map editing section of the dreame app. When you open the edit map section on your dreame app, you will probably see the basic incomplete initial map. This is fine as you just have to rename one of the rooms on the map. Once you rename a room to anything you want to then you will see the newly upload file being applied. This is the workaround.. It's that simple. WOW at last. Now complete the rename or an other edits you may wish to do. Finally click save backup. The map should now appear in the dreame app as a backed up map. Which again means that you can edit it again and again in the future should you wish to. Just remember to DOWNLOAD it again to your home assistant folder :) Also I just checked, the map_id. At this point it is still 15.
vacuum bot: l10s ultra dreame integration: beta 13