[RELEASE] Neato (Connect) V1.2.6c (Botvac Connected Series)

Alyc100
Fri, 14 Oct 2016 18:23:23 +0000
Community Created SmartApps

Announcing the new Neato (Connect) SmartApp and Neato Botvac Connected Series device handler. This enables you to connect Smartthings with the Neato Botvac robot vacuum cleaners using Neato’s official APIs.

Author - @Alyc100
getCSSData and HTMLTile elements - @tonesto7

Special Thanks
@roberto - Neato Cloud Service team.
@sidjohn1 - Original Roomba Thinking Clenaer device from which this is inspired from.

Donations
This integration is provided completely free of charge and is open source. If however you really feel like it, you can make a donation here

Latest Versions

Ensure you install the latest versions of both the Smart App and Device Handler

NOTES:

If you’re upgrading from v1.1.7 or earlier to v1.2 or later, you need to reconfigure your SmartSchedules. Sorry about this.

If you’re upgrading from v1.1.6 or earlier to v1.1.7 or later, you need to reauthorize your Neato credentials. Open the Neato(Connect) smart app in the ST mobile app, scroll to the bottom and tap the reauthorize item.

Smart App - Neato (Connect) v1.2.6c - Updated 17/04/2019 12:00

(v.1.2.6c) Notification issue workaround.

(v.1.2.6b) Handle regularly changing secret key from Neato API.

Option to delay cleaning if bin is full.

Device Handler - Neato Botvac Connected Series v1.14 - Updated 13/10/2020 20:45

(v1.14) Move persistent map and turbo mode tiles to device settings.

Supported Neato Models

Neato Botvac Connected

Neato Botvac D3 Connected

Neato Botvac D4 Connected

Neato Botvac D5 Connected

Neato Botvac D6 Connected

Neato Botvac D7 Connected

Notable Features

Full control over Neato Botvac via Smartthings including usage in rules and routines (i.e, WebCoRE)!!

Smart Scheduling of your Botvacs

Configurable notifications on Botvac status

Force clean option when your Botvac hasn’t cleaned in a while

Auto dock option

Auto setting of SHM to Armed(Stay) when Botvac is on whilst in Armed(Away) mode

View the latest cleaning statistics

View the latest cleaning map (D3 and D5 requires firmware v4.x or later)

Screenshots

Installation Guide

To install the Neato (Connect) app:

1. Add the Neato (Connect) app from GitHub as a new ‘My SmartApps’, select create from code option and paste. Click the ‘Create’ button. Save and Publish.

2. VERY IMPORTANT STEP - Click ‘App Settings’ in the top right corner. In the ‘OAuth’ section, click the ‘Enable OAuth in Smart App’ button and click ‘Update’.

3. Add the Neato Botvac Connected Series device type from GitHub as a new ‘My Device Handlers’, select create from code option and paste. Save and Publish.

4. Add the Neato (Connect) app within the Smartthings mobile app from the Marketplace, then selecting the ‘SmartApps’ tab and locating the Neato (Connect) app under the ‘My Apps’ section which should be at the bottom of the list.

5. Log into your Neato account via the smart app when first opened.

6. You should be able to select your Neato Botvacs in the configuration screen.

7. Once you have selected your devices, click Done on the top right.

8. Your selected devices should automatically be configured and appear under ‘Things’ with the label Neato Botvac - [Botvac Name] (may require SmartThings app restart).

Upgrading Note

When upgrading from an earlier version of the smart app, ensure you open the app within Smartthings mobile app and click ‘Done’ on the top right to ensure the app initiates correctly.

Github Links

Github Repository Integration details:
Owner: alyc100, Name: SmartThingsPublic, Branch: master

github.com

alyc100/SmartThingsPublic/blob/master/smartapps/alyc100/neato-connect.src/neato-connect.groovy

/**
 *  Neato (Connect)
 *
 *  Copyright 2016,2017,2018,2019,2020 Alex Lee Yuk Cheung
 *
 *  Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 *  in compliance with the License. You may obtain a copy of the License at:
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
 *  on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
 *  for the specific language governing permissions and limitations under the License.
 *
 *  VERSION HISTORY
 *	17-04-2020: 1.2.6c - Notification workaround to fix issue caused by change in ST platform.
 *	07-04-2020:	1.2.6b - Handle regularly changing secret key from Neato API.
 *	05-09-2019:	1.2.6 - Option to delay cleaning if bin is full.
 *	05-09-2019:	1.2.5 - Handle new Long Secret Key format for future Neato Botvac firmware.
 *	28-06-2018:	1.2.4b - Bug fix. Stop nullPointerException on reschedule method.

This file has been truncated. show original

github.com

alyc100/SmartThingsPublic/blob/master/devicetypes/alyc100/neato-botvac-connected-series.src/neato-botvac-connected-series.groovy

/**
 *  Neato Botvac Connected Series
 *
 *  Copyright 2017,2018,2019,2020 Alex Lee Yuk Cheung
 *
 *  Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 *  in compliance with the License. You may obtain a copy of the License at:
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
 *  on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
 *  for the specific language governing permissions and limitations under the License.
 *
 *  VERSION HISTORY
 *
 *  13-10-2020: 1.14 - Move persistent map and turbo mode tiles to device settings.
 *	07-04-2020:	1.13b - Handle regularly changing secret key from Neato API.
 *  05-09-2019: 1.13 - Handle new Long Secret Key format for future Neato Botvac firmware.
 *  23-12-2018: 1.12b - Fix to better support future D3/D5 firmware updates.

This file has been truncated. show original

SmartSchedule

SmartSchedule allows your Botvacs to clean on a regular interval but only on a configured trigger such as when Smartthings enters an away mode or if certain presence sensors leave.

Smart scheduling allows you to configure various rules to automate when your Botvacs start their clean. Smart scheduling also notifies you when your Botvac is about to clean so that you have time to clean obstacles from the floor and make sure that internal doors are open. You can set up a smart schedule from within the Neato (Conenct) smart app.

Current smart scheduling rules allow you to:

Determine a preferred cleaning interval in days

Tell smart schedule what triggers when you want your Botvac to clean including modes, presence sensors, switches or no triggers for just date and time restrictions.

Restrict schedule based on time of day and day of week so that your Botvacs do not start in the middle of the night.

Specify override switches to stop an upcoming cleaning schedule from happening.

NOTE: When enabling SmartSchedule, this will automatically disable the Neato Schedule functionality from the Neato mobile app.

Device Tile Guide

From the top, here is a guide of the tiles:
[Top Panel] - Main switch and detailed status messages

Starting Top Left and in order:

1. Neato Botvac status overview.

2. Battery level.

3. Charging status. Whilst charging this is yellow.

4. Bin status (Full or empty).

5. Docking status (Docked, Undocked or Dock). Note that when this says ‘Dock’ you can press the tile to send Botvac back to base.

6. Whether your Botvac has seen it’s base on a cleaning cycle. If status is ‘SEEN’ and green, then it will fully dock itself when sent back to base. If status is ‘SEARCHING’ and yellow, then it will head back to starting location but won’t fully dock.

Neato Botvac Connected model/D7 model - Toggle button to set Botvac Cleaning Mode to either Turbo or Eco.

Neato Botvac D5 model - Find Me button

Neato Botvac D3 model - Neato logo and doesn’t do anything

Neato Botvac Connected model - Neato logo and doesn’t do anything.

Neato Botvac D5/D3 model - Toggle button to set Botvac Navigation Mode to either Standard or Extra Care.

Neato Botvac D7 model - Find Me button

9. Toggle button to set Botvac Neato Schedule on or off. Neato Scheduling is configured within the Neato mobile app. This cannot be activated if SmartSchedule from the Neato (Connect) smart app is enabled. Not to be confused with SmartSchedule which is configured within the Neato (Connect) smart app (I realised this could be confusing after I implemented the feature ).

10. Reset Schedule button to stop upcoming cleaning schedule and reset smart schedule interval countdown.

11. Neato API connection status.

12. Refresh button to force a status refresh.

Feedback

Post your comments and feedback on this topic. Please be aware this is version 1 so I expect there to be some bugs.

976 posts - 187 participants