Neato: The Last Great Step to Total ST Freedom

Frigging incredible, thank you!

1 Like

Hello, I keep getting ''OAuth is not enabled for this App'' and then realize that I haven't had an opportunity to enter my username and password.

I'm missing a step but can't figure out where?

Can someone jump in and give me a step by step?

Cheers,

On the apps code page you'll need to enable OAuth....

1 Like

Thank you kindly.

I have made some updates to the App and Driver code.
I believe this should now work with all connected models(DC02,D3,D4,D5,D6, and D7) . I added a few more attributes, cleaned up some things and added the ability to clear alerts (automatically or with a command).

Links are in the post below.

I also just received a D7 model on Friday. I'm working on adding the zone feature but It's a bit tricky. Not sure how long it's gonna take me to get it done properly. I do have it working with a seperate D7 driver, you have to add the Zone names and Boundary Id codes manually to the driver code but it is working.
Message me if anyone would like to mess with the early code and try it out.

One more thing....As a Heads up, from what I understand this integration will not work with the new Neato models ( D8, D9, and D10 )

1 Like

New versions are now available

I've made some additional improvements and added (optional) automatic creation of child "zone" devices for users with D7 models. If you have a D7 model and want to use the zone/room feature you will need to add the child device driver also. Once you enable the zone child devices and save preferences, you can then set the power mode and navigation mode per zone.

@mluck @cosmo1 @AndyR @domsim00 @philippompili , let me know if you see any issues with the zone/room child device feature.

Neato app
Device driver
Child device driver

8 Likes

Awesome work! I had to remove the app and re-add to get the child devices to create, but did no problem. Super cool!

Can't test that they function right now as it is too late to run the bot but will tomorrow morning if I remember. I did notice the child devices aren't exposed to webcore. Is that possible?

Did also want to mention that controlling scheduling from webcore doesn't always work. Looking through the hubitat logs, it'll show schedule enable is sent, then the device will report back saying schedule is off. And vice versa. I'll try and get a screen cap. It happens consistently, so as long as it isn't an issue isolated to me, you should be able to see it yourself too since you got a d7. Just send scheduleon from webcore and watch the hubitat logs.

Here a screenshot. Schedule was off, triggered scheduleon from webcore and get this result. Says "schedules are already enabled" right after the command to enable is sent, then last message shows "schedule enable - false" and the schedule does NOT get turned back on. This happens both when enabling or disabling schedules from webcore at times, other times, works perfectly. I can not find a cause for when it fails.

Tested zone control and worked perfectly!

I'm afraid I'm not familiar with webcore. I can't think of a reason webcore would not see them....should see them as switches I would think. Do you have any other devices with child devices that webcore can see?

From the device page the schedule commands seem to function properly for me.
The debug error message "schedules are already enabled" should only happen when the schedule on command is pushed and the schedule attribute on the device page is showing "enabled".

Go ahead and update the driver code..I made a change and removed the checks for the schedule commands. I think that will fix your issue.

2 Likes

Friggin genius my friend, that seems to have got it working.

Also, to answer your question, yes, other child devices in my setup are available through webcore. Which to explain simply, webcore is a rules engine for setting up automations and gives far more complex and complete control than the hubitat built in rules engine. Its interface is also accessable from a web portal allowing full access to it even if you are outside your home network. It got it's start on smartthings and is primarily what delayed me moving from there to hubitat, waiting for it to be ported.

The neato child devices not being accessable definitely isn't a huge deal and if you are not familiar with webcore, probably not worth your time trying to integrate. Thank you for all you've already done.

Hello all, I haven't had any time to set this up yet. As soon as I do, I'll report back.

Thank you so much for writing this!

This is working very well for me. No issues at all. You do need to uninstall the other Device Drivers and Apps before moving to this one. Other than that, it was very smooth.

2 Likes

So I was able to add the app but when going through the setup process I get to Notifications and then get this error.

Unexpected Error

An unexpected error has occurred trying to load the app. Check Logs for more information.

Error: No signature of method: user_app_alyc100_Neato__Connect__283.input() is applicable for argument types: (java.util.LinkedHashMap, java.lang.String, java.lang.String, user_app_alyc100_Neato__Connect__283$_notificationsPAGE_closure9$_closure50$_closure51) values: [[title:Send notifications to, required:false, submitOnChange:true], ...] Possible solutions: inspect(), wait(), run(), run(), any(), find()

I can't complete the setup and install the app. I would love any help I can get.

did you install the drivers also??

So I missed the drivers before. I just installed them and got the app installed now but it seems like all the options for controlling the botvac are gone. I have to be missing something. Or installing the wrong code or something.

Does anyone know how to update the child devices? I've added a few zones since installing this and I don't see them updating on Hubitat?

Does this call for a uninstall-reinstall of the integration?

Thank you,

Change the device driver of the device to DEVICE. Click save, then click all the delete buttons (child devices, state etc). Change back to the previous driver, click save, then click configure and everything should be good.

2 Likes

I just got this error opening the app:

That is in the function devicesList(), and it uses reAttemptPeriod without defining it (as is done at line 310 in refreshAuthToken(). I added this to line 451 and got the error to go away:

    def reAttemptPeriod = 300 // in sec