Neato Botvac

The Neato integration allows you to control your Neato Botvac Connected Robots.

There is support for the following platform types within Home Assistant:

  • Camera - allows you to view the latest cleaning map.
  • Sensor - allows you to view the battery level.
  • Switch - allows you to enable or disable the schedule.
  • Button - allows you to dismiss an alert visible in the app.
  • Vacuum


Visit the Neato Developer Network and create a new app.

You will have to enter a name, a description, and the redirect URI:

  • Name: can be anything you like, for example, “Home Assistant”.
  • Description: can be anything you like, for example, “Home Assistant integration for Neato”
  • Redirect URI:
  • Terms Of Service URL: leave blank
  • Privacy Policy URL: leave blank

You have to select all three scopes (public_profile, control_robots and maps).


To add the Neato Botvac integration to your Home Assistant instance, use this My button:

The integration configuration will ask for the Client ID and Client Secret created above. See Application Credentials for more details.

After the update to firmware 4.0 (which adds cleaning maps) there is also support for displaying the maps of the Botvac D3 Connected and Botvac D5 Connected robots. More information on how to update can be found here.


Each neato vacuum has a Dismiss alert button. This allows to dismiss an alert visible in the app (e.g. dust bin full) and preventing the vacuum to start cleaning.


The neato vacuum platform allows you to control your Neato Botvac Connected. The status will contain attributes on the robots last clean session.


Currently supported services are:

  • start
  • pause
  • stop
  • return_to_base
  • locate
  • clean_spot

And a specific Platform Service:

  • neato.custom_cleaning

Platform services

Service neato.custom_cleaning

Starts a custom cleaning of your house. You can set the various options like in the mobile application (mode, map usage, navigation mode, zone).

Not all Botvac models support all the attributes. Only the Neato Botvac D7 supports the zone attribute. Some information about the capabilities might be found on the Neato Developer Portal.

Service data attribute Optional Description
entity_id no Only act on a specific robot
mode yes Set the cleaning mode: 1 for eco and 2 for turbo. Defaults to turbo if not set.
navigation yes Set the navigation mode: 1 for normal, 2 for extra care, 3 for deep. Defaults to normal if not set. Deep cleaning is only supported on the Botvac D7.
category yes Whether to use a persistent map or not for cleaning (i.e., No go lines): 2 for no map, 4 for map. Default to using map if not set (and fallback to no map if no map is found).
zone yes Only supported on the Botvac D7. Name of the zone to clean from the Neato app. Use unique names for the zones to avoid the wrong zone from running. Defaults to no zone i.e., complete house cleanup.


My robot is unavailable

Try to restart the vacuum and wait about 5 minutes to see if it is no longer unavailable. If you are still having issues check the Neato app and make sure your robot is connected and working. If it is not then follow the steps in the app to reset your robot and give it the same name as before then restart Home Assistant.

My robot is not detected by Home Assistant

Please check your logs if there are any warnings. When there is a message about your robot being offline, check if it is connected to the internet and available though the app. If there is a message about a bad response, try to reset this robot via your app.

There is a warning about a bad response but everything works as expected

Do you have a stale robot in your configuration? Try to look into your account and delete any stale robots. If these warnings are about actively used robots, please report an issue to help us solving this problem.

Server got itself in trouble

If you see this message after trying to set up Neato, please check if the setup still worked or not. If not, try again and make sure you start the process only once. Do not click the “Open External Page” button if a page has already opened by itself. Be patient and wait for the setup to complete.