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

v3.20.7 position missing #148

Open
crissmil opened this issue Nov 8, 2021 · 40 comments
Open

v3.20.7 position missing #148

crissmil opened this issue Nov 8, 2021 · 40 comments

Comments

@crissmil
Copy link

crissmil commented Nov 8, 2021

Roomba S9+ after v3.20.7 no "pose" data available

@crissmil
Copy link
Author

Today also my Braava m6 updated to v3.20.7 and "pose" data disappeared. Any ideas?

@SKB-CGN
Copy link

SKB-CGN commented Nov 13, 2021

Same here with i7

@warki
Copy link
Contributor

warki commented Nov 14, 2021

Same here. Tried to read the MQTT-Data, but the position is not updated to the MQTT server.

Did anyone already recorded the cloud dialog between the App and iRobots Server? Maybe there is the data. And maybe even better a routing from the current roomba position coordinates to the current room id or name (as seen in the App).

@NickWaterton
Copy link

We were reading the aws shadow updates (which we still see), but in the latest version of firmware, iRobot seems to have stopped sending “pose” updates to the aws shadow.

not sure what we can do about that.

@tobuh
Copy link

tobuh commented Dec 5, 2021

might it be a good idea that we all bother iRobot, why they removed such a feature?

@koalazak
Copy link
Owner

koalazak commented Dec 5, 2021

yes, looks like the new firmware is not reporting the position anymore :/

@koalazak koalazak changed the title v3.20.7 position issue v3.20.7 position missing Dec 5, 2021
@NickWaterton
Copy link

Might be something that can be turned on or off, we just don’t know the command to turn it on.

@henripalmroth
Copy link

Just had a chat with support:

image

@brad07x
Copy link

brad07x commented Dec 24, 2021

Has anyone made progress on this issue with their own investigation or with iRobot support?

I was setting up rest980/HA for my Roomba s9+ and Braava m6 - both are running 3.20.7 and no 'pose' updates.

Thanks!

@henripalmroth
Copy link

Not looking good from support perspective:

image

@pahenning
Copy link

Try to think like these people: You would never take such a feature out of the software, but rather hide it such that it must be switched on. And then you would try to hide the command for activating the position messages as long as possible. So lets have a look.

In the messages received through the mission, two suspicious settings appear:

{"state": {"reported": {
....
  "featureFlags": {
        "quietNav": true,
        "homeMonitoring": false,
        "clearHaz": true,
        "hibLed": 0,
        "covPlan": 0,
        "ros2SptLvl": true
    },
...
 "smartHome": {"homeMonitoringAllowed": false},
...
}

Unfortunately, so far I was unable to modify these settings. At least, the usual "delta"-command fails - none of these

  delta {"state": {"homeMonitoringAllowed": true}}
  delta {"state": {"featureFlags": { "quietNav": false}}}
  delta {"state": {"featureFlags": { "homeMonitoring": true}}}

works. Maybe someone has another idea?

Regards

pah

@NickWaterton
Copy link

NickWaterton commented Jan 14, 2022

This is what I was thinking as well.

We may have to do more experimenting, to see if we can change these settings. quietNav looks to be a good target to start with.

What topic were you publishing to? delta is the topic, the message would be {"state": {"featureFlags": { "quietNav": false}}}.

@pahenning
Copy link

That is exactly what I did, as you see above. The delta topic works when setting such things as OpenOnly.
I should add that I am not using dorita, but have written other software running in the home automation system FHEM (http://www.fhem.de). I even had this software producing nice SVG maps of the cleaning runs.
But this irrelevant as long as we can join forces to crack this problem here.

Regards

pah

@NickWaterton
Copy link

NickWaterton commented Jan 14, 2022

I have tried the same thing, but with no luck. I also note that my M6 mop reports:

            "featureFlags": {
                "quietNav": false,
                "clearHaz": true,
                "hibLed": 0,
                "covPlan": 0,
                "ros2SptLvl": true
            }

And it does not report the pose location either (since the last update). So quitetNav does not seem to be it.

Previously this would be reported:

            "cap": {
                "pose": 1,
                .
                .
            }

But now "pose" is missing from the "cap" fields, and "pose" is what was reporting the position of the roomba.

This may be more difficult than we were hoping.

@mehalter
Copy link

I'm guessing cap is short for capabilities. Maybe adding "pose": 1 back to the cap field would trick it into reenabling since quietNav didn't work

@NickWaterton
Copy link

Tried that, and it didn't work either.

@pahenning
Copy link

I bet these guys see themselves as customer-oriented...
The best way to proceed here would be a complete sniff of the data sent to the cloud during a short cleaning run.

Regards
pah

@NickWaterton
Copy link

I have a decoded capture of the app connecting to the cloud, and starting up. I haven't captured an entire run. I haven't been able to find much in there (other than how to connect to AWS, authenticate and retrieve BLD and password, maps etc via REST). I can see all the MQTT messages that the robot sends to the cloud, but again, not getting much either.

I suspect that iRobot just doesn't care about what we are doing, they don't use the tracking info, so they removed it (might have been something they used in development, but don't anymore). Might have been for a "real time maps" feature that they never implemented. I'm hoping they didn't remove it completely, just disabled it, or report it a different way. We may be out of luck though.

The robot must report some sort of tracking data though, as the app does tell you what room the robot is currently in when it's running. As you say a capture of a full run may be useful. Having said that, if the app uses an MQTT connection to AWS, I can't capture it with my current tools (which is annoying).

The other thing I was considering is a decompile of the android app. I have an android VM that I can spin up for these kinds of things, and sometimes you can extract useful data that way.

This may take some time...

@mehalter
Copy link

It seems like the x/y coordinates have to be accessible somewhere in the communication since it generates an image in the app of what parts were cleaned

@NickWaterton
Copy link

Yes, but the map could be built on the robot itself. Previously the map may have been built in the cloud due to limited resources on the robot. It could be that a raw map is uploaded to the cloud at the end of a run. We just don't know at the moment how its done.

@pahenning
Copy link

pahenning commented Jan 15, 2022

A hint towards this latter suspicion: I own three robots, 960, 981 and i7. The older models still tell their position, and from a run of the 960 I get some 3500 points, while from an i7 in roughly the same area I (had) received only about 300 points.

Maybe we can intercept the final map sent to the cloud.

Regards
pah

@koalazak
Copy link
Owner

im with @NickWaterton : position is not longer part of the exposed state because they (irobot) don't need that to show you the map.
If they put a flag to enable/disable this: we can change it with setPreferences() to edit the state which uses the delta command:

myRobotViaLocal.setPreferences({mapUploadAllowed: false})

did you test with tihs?

myRobotViaLocal.setPreferences({featureFlags: {pose: true}});
myRobotViaLocal.setPreferences({featureFlags: {position: true}});
myRobotViaLocal.setPreferences({featureFlags: {enablePose: true}});
myRobotViaLocal.setPreferences({featureFlags: {enablePosition: true}});
myRobotViaLocal.setPreferences({featureFlags: {enablePose: true}});
myRobotViaLocal.setPreferences({pose: true});
myRobotViaLocal.setPreferences({enablePose: true});
myRobotViaLocal.setPreferences({enablePosition: true});
myRobotViaLocal.setPreferences({position: true});
myRobotViaLocal.setPreferences({allowPose: true});
myRobotViaLocal.setPreferences({allowPosition: true});
myRobotViaLocal.setPreferences({poseAllowed: true});
myRobotViaLocal.setPreferences({positionAllowed: true});
// etc

@pahenning
Copy link

I tried all these:

' delta {"state": {"homeMonitoringAllowed": true}}';
' delta {"state": {"featureFlags": { "quietNav": false}}}';
' delta {"state": {"featureFlags": { "homeMonitoring": true}}}';
' delta {"state": {"featureFlags": {"pose": true}}}';
' delta {"state": {"featureFlags": {"position": true}}}';
' delta {"state": {"featureFlags": {"enablePosition": true}}}';
' delta {"state": {"featureFlags": {"enablePose": true}}}';
' delta {"state": {"pose": true}}';
' delta {"state": {"enablePose": true}}';
' delta {"state": {"enablePosition": true}}';
' delta {"state": {"position": true}}';
' delta {"state": {"allowPose": true}}';
' delta {"state": {"allowPosition": true}}';
' delta {"state": {"poseAllowed": true}}';
' delta {"state": {"positionAllowed": true}}';

so far no effect.

Regards
pah

@drizzlerR
Copy link

Hello,
with my Roomba 980 (firmware 2.4.16-126) there are also no pose information anymore.

Regarding the quietNav entry : iRobot introduced a room traveling feature that shuts down the main suction unit and the rollers while traveling between cleaning areas. It is named "quiet drive". The flaq should be disabled or non existend with older 9xx models.

@rpitera
Copy link

rpitera commented Apr 14, 2022

Glad I found this; was thinking it was something in my configs but now I can see this due to the firmware change. And here I was happy that my i3 had gained the ability to distinguish rooms after a mapping run; didn't realize I was losing my HA maps. Anyway, I wanted to add the i3 (3150) to the list of affected models and make sure I got any updates on progress here. Happy to help test if I can or provide any information.

@generalk25
Copy link

Mine is broken as well, I7+

@Angel0ffDeath
Copy link

It seems there is a new firmware:
https://homesupport.irobot.com/s/article/26887
released Apr. 20th, 2022, but my s9 still not receive it.
Let's hope they fixed this positioning issue

@rpitera
Copy link

rpitera commented Apr 25, 2022

@Angel0ffDeath - From your lips to God's ears. my friend. Thanks for the heads up. I think I'll try to stay in the 'control group' just in case it locks off something else though.

@Angel0ffDeath
Copy link

Angel0ffDeath commented Apr 26, 2022

Updated to the new firmware 22.7.2, but situation is the same - no positioning data. I think they totally changed concept of data transmission. I created new map - it takes few minutes to be uploaded to the cloud, which means the map is created in Roomba. Mqtt explorer - as in previous firmware only rssi is updated each second. The rest data is updated about each 10 min... probably they want to reduce cloud traffic. On first sight the only new function is child/pet lock - lock buttons on roomba. In other words (according to me) if someone still wants live positioning update - find a way to revert back to older firmware (probably factory reset will do the trick, but you will lose all maps) and block cloud access....

@rpitera
Copy link

rpitera commented Apr 26, 2022

Damn. Was hoping for some better news than that. AFAIK, the only way to rollback to a previous firmware (without a reset of course) is to contact iRobot support. And I doubt they'd trip a rollback for you on the basis of the positioning data problems. I'm still keeping hope knowing better minds than me are thinking about the same problem.

I'd try a reset but I'm afraid I'd end up losing what I still have - control and status - which are my main concerns. I like having the map, but honestly I could live without it and still be happy with what @koalazak has given me. Thanks for the info.

@Angel0ffDeath
Copy link

@rpitera Personally for me actually I dont see any precious info which live tracking will give me. It is enough to know robot is cleaning and how exactly - well it is his problem. Moreover I actually dont have time to supervise the robot (thats the reason I have it). The rest is just to show your friends how clever/smart is your vacuum cleaner to your friends, which also makes no sense...
It is still possible to remotely run the robot with certain map and to forget it... Why do you need to know everything???
I think what I get from robot is enough for me and will stop investigating and searching solutions during the last almost 6 months -there are more important things to do
@koalazak I suggest you to close this issue and to cleanup the code...

@Angel0ffDeath
Copy link

Angel0ffDeath commented Apr 26, 2022

Damn. Was hoping for some better news than that. AFAIK, the only way to rollback to a previous firmware (without a reset of course) is to contact iRobot support. And I doubt they'd trip a rollback for you on the basis of the positioning data problems. I'm still keeping hope knowing better minds than me are thinking about the same problem.

I'd try a reset but I'm afraid I'd end up losing what I still have - control and status - which are my main concerns. I like having the map, but honestly I could live without it and still be happy with what @koalazak has given me. Thanks for the info.

I never tried factory reset and dont know what will happen, I mean whether system will come back to old linux (firmware) version. Ask uncle Google.... and in general you will lose maps only, which could be easily restored after 2 runs, but I dont know if block cloud access what will happen after that (for instance battery replace, etc. ) Think carefully.
Finally - I dont think you will lose something else except the maps.... And as I said dont know how reset is working - if you have protected file system and this preserves original firmware - it will work; if fs is mounted as rw during firmware update/upgrade -will not work. Dont know - for instance some android phones do not override original kernel after update, but unfortunatelly most of them do it, so the only way to revert is to find older version (original) and to flash it

@pawelpp85
Copy link

Is there a way to figure out in which room the robot is currently in? I would like to use HA to turn on the lights for my i7 and m6.

@SageKaz
Copy link

SageKaz commented May 27, 2022

I'm wondering if anyone has tried setting the maps value under cap.

"cap": { "pose": 1, "maps": 1, ... }
I still have pose capabilities on my model so I can't test it out, but I've seen other values mentioned, but not specifically the maps value yet.

@Mirarkitty
Copy link

No news I suppose. Anything from support?

@Wolk9
Copy link

Wolk9 commented Oct 29, 2022

Anyone any news on this?

@ThellraAK
Copy link

@NickWaterton I can do a full packet capture from reboot to end of cleaning cycle, but I wouldn't know how to start doing anything with it, is that something that would help you?

@pgregg88
Copy link

pgregg88 commented Aug 7, 2023

Checking in. Any news? Happy to assist with research or testing.

@naThnaabu
Copy link

any update?

Repository owner deleted a comment from mr-robot77 Feb 23, 2024
@MattePozzy
Copy link

I suppose there isn't any news, right? :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests