I am actually about to buy one, as my renovation is almost complete (full first floor 3ftx8in wood tile), and want to use this to help keep dog hair cleaned up.
Unfortunately that uses a āplug in deviceā that doesnāt exist for the newer Roomba. The newer Roombaās are wifi connected already, which mitigates the need for this add-on device.
yep exactly the 980 is the first with wifi but no open API. I will hopefully sniff the traffic and take a look this weekend. If anyone is interested in helping out PM me.
I also reached out to irobot but letās be honest they are not going to get back to me with anything helpful.
Edit: added question, no such thing as PM on here!
I spent a couple of hours this weekend looking into it and got something working.
It seems the iphone app talks either directly to roomba when on wifi or via the cloud when not.
I only looked into the cloud connectivity.
HTTPS JSON Api with a username and password. Once i got around the HTTPS encryption the rest was easy.
I threw together a windows/windows phone UWP C# app to test it out and am now able to control my roomba from my desktop/phone. When I get chance I will look into turning this into a ST device and app.
The only downside is the username and password are generated by either the roomba/the smartphone/their cloud. So looking them up isnāt the easiest thing to do.
However on android i believe they are just stored in a DB with the app, so it may be easy to look them up. For now I know my username/pass and can control my Roomba.
Iāll post more details when I have more time to work on it.
Cool:)
Well I have to be honest I do not have or have ever used an Android phone but from what I know the security is more lacking than that of the iphone or windows phones.
Can you try and see if you can poke around in the ādataā directory for the irobot roomba app and let me know what you find. Feel free to PM me if you want to keep this off the forum. I think there are messaging capabilities on this board.
In fact if you have a rooted device that would probably be the easiest way.
For this to work for others we need to find a simple way to reproduce retrieving the username and pass
Hi @boreddead, can you share the specs you got at this time? host? port? scratch api reference?
can you able to obtain the VSLAM maps?
I dont see how PM to you. Can you write to me? im interesting to help, im node.js developer.
Hi there. Iām interested in hearing if you got the 980 working with STs. Iām yet to buy one but want to. Also keen to hear if the Roomba is living up to your expectations? Cheers.
Hey sorry everyone, I have been swamped with my apartment, work and life. In the next week or so I will post my findings so someone can write a device driver as I clearly donāt have the time right now.
I will also post how to get your password and generally sniff SSL traffic decrypted.
The roomba is brilliant, i love being able to control it from my smart phone and it will definitely fit into the smartthings hub with a tiny bit of work.
you need to decrypt the traffic first, there is only one way to do that really by adding a root certificate to your device where the app is installed and forcing it to use a https proxy and then having your pc as the https proxy and the owner of the root certificate. That way it can man in the middle the SSL traffic and snoop on it.
What was the high level of how you routed the app to use an HTTPS proxy? Iāve not seen that ability, and am unfamiliar with it. I get generating a cert, and also installing it though.
update: I feel dumbāhah! Your using the wireless settings proxy, to point the traffic to a workstation with wireshark. I get it more now. Will have to try later, as I am not at the house. So high level steps:
Generate an SSL cert on a PC
Install cert to Android as root certificate
Install wireshark
Go to wireless settings on android phone with iRobot app
Add IP/name of device with wireshark
Trace info going to iRobot.axeda.com, and grab the URL string to piece out the pieces needed