@gsca075 Thanks for the update - the reset-trims action is working perfectly .
Iāve included below my scripts for running maploader and the reset-trims actions in case it helps anyone, although theyāre quite simple - I included a 20 second pause between both steps as that seems to be enough time for maploader to finish and for the map files on the robot to be updated.
Then for the Xiaomi Vacuum Interactive Map Card Iām using the following code twice with a different segments and the card visibility settings depending on the maploader floor status. I included a menu selection (menu_id: House Floor Map) to switch between each floor map.
The new 2024.08.2 version of the camera is enabling the Auto Zoom functionality also for Rand256 users.
Did also made a substantial refactor of the rrpaser.py mainly to make it more pythonic (easy to read). Also updated the docs.
With almost 600 download of the previous version, if you appreciate this camera, please star this project on our GitHub Repository if you didnāt yet. This would be really appreciated and also help us to grow up this project.
Hi, thank you for your hard work! Reading this thread and your github, I understand the bug Iām hitting is identified. The map doesnāt seem to update dynamically (roborock s5, latest valetudo), unless I call the āreloadā action. I guess the refactoring mentionned on github is, amongst others, about fixing this? Or should I report it as an issue?
Yep, in order to load the camera a little faster I had to write down the maps trimsā¦ this is why in the last versions I introduced the reset_trims action.
I hope to found a solution a little more friendly for it. As well when the maps of the vacuums will change the camera will probably detect it and do this reset_trims automatically (not store them till the vacuum is again docked). What Iām currently working out is although going to be publish on the 2024.10.0 as there will be a lot of changes that are going a little slow due to personal reasons. I opened an issue as per Iām aware of this āinconvenienceā. Anyhow once the maps are defined in the vacuumā¦ the camera operate normally, isnāt it also in your case? I mean how often you rescan the complete floor? With Rand256 actually is possible to save (with the S5) the maps if you need to change often the maps. I will create on the next version a service that will do this (for the Rand256 vacuums, not clear with the official one is possible).
Thanks in any cases for using this camera, you are really welcome whenever you want or need to open issues, request new features or cooperate actively on this development.
Well our flat has a one step stair in the middle of it, so I have two parts (lower, higher). So saving map is not a option for me,as it should remember two different āfloorsā knowing that the charger is only in one of them.
So once the whole area is mapped, itās perfect. But before that, walls donāt update, or map doesnāt extend progressively to the extensive map, unless of course I call the reload action.
Okay I got itā¦ so just for curiosity, your S5 is mapping with the Start command correct? thatās just to understand if I can solve this or I need to add an enable / disable the store trim to cover this case
But when it finish the cycle, if the dock is not on the second levelā¦ and there are no maps predefinedā¦ mmmmm how the vacuum stop? Manually? you can build a kind of slide for the vacuum to go up and down from the step of course I joke.
Anyhow I think we can work on a solution for this especially because I donāt like it too that the walls are missing and it is necessary to reload constantly. Surely this will be fix on next version, please give me the time to complete it okay?
Well probably you can use HA to detect when the vacuum is in returning to stop it and send it a precise pointā¦I mean it looks it is a really particular scenario.
The vacuum has no problem to locate itself and works perfectly like it used to when connected to the Xiaomi cloud. Itās exactly like having two or three floors in an house and one vacuum.The issue is only being able to follow how it is cleaning and if all the floor has been cleaned. I can do it via the Valetudo interface (webserver), not in homeassistant.
I know where I put it where I launch it on the chargerless floor and it will always return to the point, itās fine.
At the beginning, the s5 was not able to save maps so it used to re scan the whole floor every time, even the one where the dock is.
I will work on it and soon release a beta version so that you can test if the re-scan works as it should be. I donāt know how I can finish to update the 2024.10.0 but I will do my best to help you with the initial issue you are facing
@hayvan96 I just released 2024.10.0b1 that include the attempt to fix the refresh issue. Note that when the vacuum start to clean you must run the reset_trims action in order to clear the trims_data. I repeat the vacuum start and then reset_trims is the correct sequence. The issue was closed automatically from GitHub but please feel free to comment on GitHub if this fix works or not. The camera will refresh the images every 5 frames if no trims_data are set.
Iāve tried it. Started the vacuum and then called once the reset_trims action. It seems to work: the map autoadapts and extends progressively ; the robot doesnāt go across the walls (which was the visual impression I had before when the map was static and note accurate).
Meaningā¦ that the image was compose improperly? Sorry I did catch well your description.
edit: if I read it again it looks that the issue is closed. Thanks for the for the feedback
No i mean it works correctly. Before your change, walls were static (not updating) so the robot seemed to go across walls, but itās no longer the case. Now ānew wallsā (newly discovered by the robot) appear progressively, the map extends, etc. I have the same map in home assistant, and in the Valetudo (webserver) interface
Yes, itās almost closed. I mean thereās still a manual action to launch (reset trims), I guess this could be solved by an automation (when the robot goes stop to start, then call reset-trims once)?
well yes in your case the automation could be an option.
Send the command start to the vacuum and call reset trims afterwords, I repeat this is a particular scenario or I can also call the service as soon the coordinator work as it should (listening at the vacuum events). Another idea would be to have an option to actually store those trimsā¦ Will think about itā¦ but for instance the main issue is solved. Thanks once again for raising this topic.