-
Notifications
You must be signed in to change notification settings - Fork 104
SpotArea with an optional runtime in minutes #70
Comments
Address wpietri#70 You can specify the minutes to clean an area with -m. `area -m 5 3` This would clean for 5 minutes in area 3.
@bmartin5692 This is the output of the command line: I would expect the command to be something like: fyi: I also did find somewhat related discussions: |
I was curious why you would need the runtime for SpotArea, my guess was you wanted to cut the cleaning time short for a large area. For these bots the SpotArea will clean the specified area until complete, then return to the charger automatically. The area command in the sucks cli will wait for the bot to enter a So, I believe you don't need the -m option I added at all in this case. Without testing myself yet, I think from the CLI this is as easy as: This should tell it to clean area 4, wait for returning to charger, clean area 4, wait for returning to charger.... repeat... |
too bad. still waiting for the bot to enter a charge_status = returning for 10 mins now, still sending ping, but the bot is already back in the charger update: when I'm doing sucks clean 1 clean 1 it's working, when issuing sucks area 4 area 4 it's not. |
It sounds like sucks is not picking up the charge_status for your bot. What fork/branch are you using? This sounds similar to #66. The changes I made in my add-fixStatus branch haven't been merged into sucks/master yet. Can you try the branch above, and also the commands Nama did in 66 to see the output:
When I tested with my bot it would complete the area, stop briefly as it changed tasks to return to charger, then sucks would issue the next area command and it would begin cleaning again. |
Branch add-fixStatus is also not giving back the charge status. So I moved back to your latest branch with: So in some way the bot is returning status it seems |
No idea how to get these working on CLI |
@bmartin5692 @Nama Could you pls Point me to the right direction how and where to place this peace of code. |
Hi @bmartin5692 I did try to get status several times and with several commands but I'm still struggling to get charge_status=returning from the the ozmo itsef. I'm wondeing why I can see status like *** charge_status = idle when the robot is starting triggered through sucks. If ozmo gets the charge command from the ios app I can see charge_status=returning in the command line. Also ozmo is not receiving/executing the stop command initiated through sucks. I have some workflows in mind which would depend on getting back status from the robot. One was, as discussed, cleaning/mobbing a room more than one time. Another is starting the robot and directly issuing the stop command once charge_status = idle changes to clean_status = whatever. Even without workflows, just cleaning the whole floor, sucks never finishes without getting charge status as is will be *** sending ping *** forever, but the bot is still back in the charger. |
@bmartin5692 would you mind merging fork add-area-minutes-#70 into master? |
I don't think that will be possible. The best you could do is, installing the add-fixStatus branch and check for the status every minute or something and send the spot clean command again if the status is not "spot", till x minutes are reached. |
Hi @Nama Which bot do you have? Are you able to get the status once returning to the charger? |
You sure are using bmartin's fork? I am still using the add-fixStatus branch and using it with OZMO 610.
returned
I can't seem to test "area", since this is not the "spot" command (and this lacks completely in sucks it seems, although, something is called "spot" in the library). My bot doesn't have a map. But it can clean a radius from it's current spot. |
@Nama so, for me, @bmartin5692's fork with adding a minutes option is just a workaround until a solution may be available. |
Just a side note I merged the add-fixStatus branch into my master some time back. My master should be the most up-to-date. It seems sucks isn't picking up status 'returning' when @niveksan 's bot reports it (if it reports it at all). I don't have a 930 to test against, but will try to do some additional testing against my 901. It won't be a 1:1 comparison since the 901 uses MQTT vs the 930 using XMPP. Another option to try is modifying the wait for the area command to 'charging' instead of 'returning'. This isn't ideal as sucks would wait until the bot is charging again before issuing the next CLI command, but may be worth testing. Modify lines 189 & 191: Otherwise I think you'll need to use Sucks as a library in your own code, the CLI is meant to be basic and won't provide the low-level watches you may want. |
I let my script log all status changes, as I let it clean in auto-mode without stopping it manually. The bot will clean tomorrow again.
Oh nice, last time I checked it wasn't. Will update someday. Thanks! |
Thanks @Nama, @bmartin5692
In some way it must report the status, at least to the ios app.
For me this wouldn't be the optimal solution, as I just want to mop the bathroom 3 times in a row whithout mopping the way back to charger ;) Also even in this case (back in the charger) sucks don't get back a status from the bot. As i said - sucks is sending ping forever. It just gets the different status changes only when sucks is initiating the command (e.g. charge). But that's the curious point in my opinion: when sucks is requesting the bot to charge, the bot will return the appropriate status (e.g. returning to charger and charging) |
Another ugly workaround could be, if you send wait=False and look for yourself how long the bot takes to finish and send another area clean command after that time. |
I'm already able to do exactly that with the fork https://github.com/bmartin5692/sucks/tree/add-area-minutes-%2370 |
`sucks DEBUG ----------------- starting session ----------------, sucks.cli DEBUG waiting on charge_status for value charging, |
So, I did Clean() and disconnect(), these are the statuses I got, in the correct order: |
I'm looking for a way to specify the SpotArea adding an Option for the runtime. e.g. area 1 --15min
I tried the following with OZMO930: sucks area 1 clean 15 but it seems to result in two commands executed one after the other.
Originally posted by @niveksan in #64 (comment)
The text was updated successfully, but these errors were encountered: