koalazak / rest980

REST interface to control your iRobot Roomba 980 via local server on your lan.
MIT License
293 stars 62 forks source link

Maintenance Flags? #3

Closed jtscott closed 7 years ago

jtscott commented 7 years ago

Hi Zak,

Awesome job on this service! I got the docker container up and running without issue. Just wanted to ask if you can help identify the roomba's maintenance flags like bin full, rollers blocked, sensors dirty, etc?

Thanks!

roelbroersma commented 7 years ago

See the Dorita980 project for the flags, this link: https://github.com/koalazak/dorita980#cleaning-preferences-flags-table-firmware-166

jtscott commented 7 years ago

Hi Roel,

Those are cleaning preference flags used to configure the type of cleaning the roomba performs. Reflected here: mission: '{"nMssn":56,"done":"ok","flags":1025,"sqft":583,"runM":111,"chrgM":0,"pauseM":6,"doneM":0,"dirt":0,"chrgs":0,"saves":1,"evacs":0,"pauseId":0,"wlBars":[100,0,0,0,0]}', cleanSchedule: '{"cycle":["none","none","none","none","none","none","none"],"h":[9,9,9,9,9,9,9],"m":[0,0,0,0,0,0,0]}',

I would like to be able to capture when the roomba needs maintenance like bin full. I think this is reflected in the robot status but am not sure what these specific flags mean: robot_status: '{"flags":4,"cycle":"none","phase":"stuck","pos":{"theta":-160,"point":{"x":848,"y":65}},"batPct":13,"expireM":0,"rechrgM":0,"error":18,"notReady":15,"mssnM":117,"sqft":583}',

koalazak commented 7 years ago

Hi @jtscott, sure i can help! are you making a table for 'flags' field in http://localhost:3000/api/local/info/mission ? If not, please sendme your flags number when roomba is full, when rollers are blocked, detecting dirty spots, when clean chair legs or border the house, etc.

Then i can make the bit mask for that flags and add this feature to dorita980. My initial and quick research found strange things. For example:

thanks!

koalazak commented 7 years ago

closing the issue in this repo, opening in https://github.com/koalazak/dorita980/issues/6