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.
  • Vacuum


  1. Visit the Neato Developer Network and create a new app.

You will have to enter a name, a description and your redirect URL.

If Home Assistant runs on your redirect URL would be

Please note that your instance must be accessible via HTTPS. However, your instance does not need to be exposed to the Internet.

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

  1. Add the newly created client_id and client_secret to your configuration.yaml:
# Example configuration.yaml entry
  client_id: YOUR_CLIENT_ID
  client_secret: YOUR_CLIENT_SECRET
  1. Restart Home Assistant
  2. Add Neato Botvac via Configuration -> Integrations
  3. Follow the instructions. After that, all the entities will automatically show up in Home Assistant.

Configuration Variables

client_id string Required

Client ID for the Neato account.

client_secret string Required

Client Secret for the Neato account.

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.


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

If you notice the robot stops responding to commands check the state to see if the robot is "unavailable". If you see "unavailable" first 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.


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.