Shark IQ Robot

If all you want to do is view information about the vacuum, you can do this by selecting the "attribute" Template. I don't know how to control the vacuum from a tile, though.

No sir cant even do anything with "attribute" I thought I would be able to control the vacuum with buttons in the dashboard. I am utilizing other things this way such as lights and sprinkler controller.

What you could do is create a rule and associate it to a button or a switch. Then you could control it, though indirectly.

This is what I did, a virtual switch with dashboard tile. The rule goes, when on set vacuum to ON and set lights to 100% and disable motion based rules. When the vSwitch turns off send the vacuum home and restore lighting.

1 Like

Out of curiosity, do your motion detectors pick-up the vacuum motion? If so, what type are they?

I don't know if they do. I don't think they pick up the vacuum but I'm home most days and they will definetly pick up me. I only pause the motion rules that trigger delayed lights off.

1 Like

Ah! Great idea! I will have to implement that as well!

1 Like

All, sorry for the lack of communication on my end. I plan to revisit this soon, and am looking for what needs to be investigated, added, etc.

One big thing I’ve seen is the actual statuses (and some of the advanced statuses) from displaying. Can you reply to my message and let me know?

1 Like

My motion detector picks up the vaccuum most of the time. Smartthings

1 Like

All,

v1.0.1 has been released to Github (https://github.com/TheChrisTech/Hubitat-SharkIQRobot). I've decided to better track releases I'm creating so everyone can stay up to date.

I've also updated the README.md significantly, which I hope provides more insight into what can be displayed in the attributes, and how to configure the tiles.

@dsajdak21 @Sebastien @Dodgeboy - Please review the Dashboard Tiles section of the README.md, as it should call out how to start and stop your Shark vacuum.

Please let me know if you're running into any issues with this. I've confirmed on my Shark that I'm able to get some of the "advanced" states previously discussed - Please ensure you have a refresh method enabled to see them (or click the Refresh button to trigger).

I did plan on starting development on being able to tell your Shark vacuum to clean [X] room, but it seems with the last iOS update, my house map was wiped out. I'll need to run my Shark a few times to re-establish my map and determine if there's a way to integrate that functionality (there should be).

As for some of the previous discussions regarding motion detectors and starting/stopping the vacuum, Rule Machine is the right place to do that. Just set a trigger on an attribute (eg. Operating Mode), and do what else you want.

Lastly, if there's anything I didn't cover above, or if you have functionality you'd like to see in this driver, please feel free to reply here and tag me on it. I'll do my best to respond.

2 Likes

I’ve also had that happen. I didn’t understand what triggered it, but now that you mention it, it did seem to coincide with the iOS update!

I’ll be happy to test this out! I plan to use it to clean the upstairs but exclude the kids’ rooms; then clean them at a later day/time once they remove the clutter from their floor.

I'm not sure what the problem is with mine. I've moved the base a few times and had to rebuild the maps. That has worked well for me, usually 2 or 3 runs and the map is 100%,


For some reason the "advanced states" don't ever show up for me. Not even the the "true'false" for charge to resume. It should show fully charged and resting on the dock in this screenshot.

I think I will factory reset the robot tomorrow and start over.

I factory reset the robot this morning, deleted my previous device and created a new device with the new driver version.
Now all I see is the battery level. No other attributes have loaded. I get this error in the logs:
dev:49752021-01-13 10:57:34.193 am errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.util.ArrayList#getAt. Cannot resolve which method to invoke for [null] due to overlapping prototypes between: [interface groovy.lang.Range] [interface java.util.Collection] on line 148 (refresh)

Hmm, that's unusual. It's complaining about some array list being null - Have you repopulated your username, password and device name (vacuum)? - Those are needed before running any operation (even pulling information).

Yep, Some of the attributes have come up now after a "shark error" occurred. some of the attributes show "null". I'll give it a while and report back.

I've pushed out v1.0.2 to Github: Releases · TheChrisTech/Hubitat-SharkIQRobot · GitHub

Added

  • Get Robot Info (button) - Allows this to log out Specific Firmware and Hardware revisions to the logs (as 'info' level entries). This is to help troubleshoot differences some folks are seeing with behavior with this driver.
  • Info logging - Allows 'info' entries to be logged.
  • Locate (button) - This allows you to locate your Vacuum in your house. Runs for 5 seconds, then stops.

Changed

  • Logic for 'Fully Charged' - Device will be marked 'Fully Charged' if battery level is at 100%, regardless of charge state.
1 Like

I’m getting the following errors:

It doesn’t respond to commands with this update. I reverted back to the version from October 23rd and it’s working again.

So I'm seeing "Unauthorized" in those logs - Can you verify your username and password are entered and saved?

@Ken_Fraleigh - You're right. There's a bug with my HTTP Posts. I'll get a new version up shortly.

1 Like

It was a simple fix. 1.0.4 pushed to GitHub: Releases · TheChrisTech/Hubitat-SharkIQRobot · GitHub
(and yes, I skipped 1.0.3 - I boogered versioning - Bear with me, I'm still learning GitHub (I'm normally a Bitbucket guy))

3 Likes