Shark integration

Continuing the discussion from Shark ION Robot Vacuum:
I hope that someone smart is working on this. It is frustrating that I cannot see it as a device in Smartthings or Alexa. I might want to create a scene or routine that incorporates Shark. It is also not available as a service in IFTTT. Interesting note - the Shark iphone app only shows that the battery is charging while there is an Alexa command that wil give you the battery charge percentage.

Because it has an Alexa integration, you can use the old hacky method of setting up an inexpensive android device next to your Amazon device, programming the android device to speak the command you want, and then the echo will respond to it. Like I said, hacky, but some people do use it.

See the “old information“ in the FAQ. (This is a clickable link) (you won’t be able to use the new method because the shark won’t show up in the routine actions.)

FAQ: Can I trigger an Echo Action without Speaking to It?

Thanks, JD.

I was able to write an intergration for this and am using it in my home. I have not published it because the method for obtaining your API key involves sniffing traffic from the android/iPhone app using fiddler.

2 Likes

@tobycth3 I hate to ressurect this a year later, but I’m looking to do the same thing. Would you mind sharing? Could be through DM if you’d like to keep it less public.

@jonwgeorge I was looking for the same thing tonight (great minds). No real integration that I found but I got it working using bjpierron Simulated Alexa Switch (https://github.com/bjpierron/SmartThings-Alexa/blob/master/devicetypes/bjpierron/simulated-alexa-switch.src/simulated-alexa-switch.groovy). It is also a contact sensor so it can be used in Alexa routines. I created a routine that has a secondary alexa device (old phone or another echo) say “alexa, ask shark to start vacuuming” when the simulated switch is set to ON when a smartthings Everyone Leaves event is triggered (i.e. Goodbye). A second routine speaks the magic works to return the shark to the dock when the simulated switch is closed by smartthings Someone Arrives.

I’ve started working on this for fun. So far I’ve got most of the API sniffing/documenting done. I guess most notably what makes this different from what @tobycth3 has is that I have authentication working outside of the phone app and so will be easily able to do this within the SmartThings app as well. Will update once I have more to share.

5 Likes

Any chance you can post your findings? THX

Endpoints would be appreciated…

Very interested in any progress made @AndrewSmartThings !

@AndrewSmartThings - I’m interested in seeing what you have too :slight_smile: .

I saw @tobycth3 github repo https://github.com/tobycth3/SamsungThings/blob/master/devicetypes/tobycth3/shark-ion-robot.src/shark-ion-robot.groovy so having a way to access without secret token would be great.

I’m really interested in seeing if the Shark Ion Robot will response to LAN requests without needing internet access. You can definitely get the RV750 to connect to your wifi network using just a web browser (press both left/right buttons for 5 secs and then connect to the new WiFi Access SID Shark_RV-mac_address) and there is a web app that allows you to connect to your network). After that connections to the min website on regular port 80 keep coming up with a 404.

Has anyone looked at dumping the firmware on these? Or sniffed LAN traffic during pairing with phone? Has anyone tried connecting to the local web server?

https://community.home-assistant.io/t/shark-ion-vacuum/58373/4 claims to have some documentation but its not accessible at the moment.

Hello, I found this site through google searching for Shark Clean API reverse engineering.

I have been attempting to Dump and reverse engineer the Shark Ion firmware. I am working with a RV750 (not N model), and the firmware is locked up good on this model. It uses a STM32F071VBT6 as the only mainboard logic, and has an Azure Wireless CU300 daughter board.

The MCU uses RDP (readout protection) level 1 which disables debug access while the main program is running, once a debug connection is made it halts the MCU. There are normally ways around this, but it seems Shark has re-assigned the Debug ports in the main program. This effectively prevents the easy methods of extracting firmware.
I did find a Amazon AWS portal that has a lot of production and development firmware, Dev App APK, and some other files. All of the main firmware files on there are obfuscated with a technique I cannot decipher… except one branch of firmware. There is a firmware branch called upgrade that seems to be for the Newer Ion that uses the Rockchip RV1108 main processor, and a STM32F30x co-processor. This firmware is decently wide open. This firmware line does not do me much good, but a little searching could help others.

Anyone working on this anymore?

Not sure things are pretty quiet over here. I am kind of surprised no one mentioned that someone developed a python library a couple of months back. I not sure if anyone can make it work in an integrated groovy but its worth a look. https://github.com/ajmarks/sharkiq

Hi,

I’m not a developer (not anymore, I used to develop 20 years ago using Pascal and Basic)

Need help with this. I see this Python library, this skill are published in Home Assistant but it’s a paid Service.

I’m prety sure it can used to develop a skill in Alexa (at last a particular skill) or a integration on smart things. But I don’t know how to do it. It will help everyone.

A unofficial skill that add the shark robot as a smart device, as the official don’t do it, so we can finally add shark on routines and people outside USA can use voice commands to activate shark (both is my case too).

Anyone can help me and tell how to do it with this library? Add it in Alexa skill or smart things integration will be nice.

Thanks!

For those still interested… Enjoy!
RV1000 Files

Please, could you upload the files again?
the link is broken. thank you.

Hey everyone, I disappeared for a long time. I did get this to a working state where you can at least get mode and battery information within smartthings, if anyone wants to carry on my work please feel free. The code below still works, and I have had it running on my own Shark vacuum since I last posted in this thread. I’ve never needed to relogin either which is pretty nice, although slightly concerning the security practices in place at Shark :laughing:

1 Like

Is this code still working for you? It does not seem to want to save my login password and after trying to log in it presents the screen to show the available list of vacuums but it is empty. I’m trying to gain ST access to my RV1001 (not AE). I’m not getting any error messages even when I try to pass an incorrect password.