Thanks so much for these code snippets!
based on these I wrote a bash script that does it from the command line. see my script on github: https://github.com/mgafner/roomba980v1.9.2
anyway for the basics, for Linux users:
you may use curl to send commands to the irobot.
first step, get password:
replace HOST with https://your-roboter/uml
curl --insecure -X POST -H “Content-Type: application/json” -d ‘{“do”:“get”,“args”:[“passwd”],“id”:1}’ HOST
answer should look like:
{“ok”:{“passwd”:“ouMNGS7Lxk1UR7kP”},“id”:1}
encode the authentication header:
echo -n user:ouMNGS7Lxk1UR7kP | base64 dXNlcjpvdU1OR1M3THhrMVVSN2tQ
get the BLID:
curl --insecure -X POST -H “Content-Type: application/json” -H “Authorization: Basic dXNlcjpvdU1OR1M3THhrMVVSN2tQ” -d ‘{“do”:“get”,“args”:[“sys”],“id”:2}’ HOST
answer should look like this:
{“ok”:{“umi”:2,“pid”:2,“blid”[135,49,152,16,37,58,59,110],“sw”:“v1.2.9”,“cfg”:0,“boot”:3456,“main”:7890,“wifi”:517,“nav”:“01.08.04”,“ui”:2346,“audio”:32,“bat”:“lith”},“id”:2}
command to start the irobot:
auth_header=$(echo -n user:$PASSWORD | base64)
curl --insecure -X POST -H “Content-Type: application/json” -H “Authorization: Basic $auth_header” -d ‘{“do”:“set”,“args”:[“cmd” {“op”:“start”}],“id”:3}’ HOST