Valetudo

Cloud-free control webinterface for vacuum robots

View the Project on GitHub Hypfer/Valetudo

General

Supported Robots Capabilities Overview Installation instructions Upgrading

Installation

Roborock OTA Viomi

Companion Apps

Valeronoi Lovelace Valetudo Map Card I can't belive it's not Valetudo node-red-contrib-valetudo Valetudo Minecraft Mapper Other Noteworthy Projects

Integrations

MQTT Home Assistant Node-RED

Misc

FAQ Frequently requested features Troubleshooting

Development

Building and Modifying Valetudo Valetudo core concepts

Knowledge Base

Supported Roborock Devices Supported Viomi Devices Supported Dreame Devices

Home Assistant Integration

image

You need to connect valetudo to your Home Assistant MQTT Broker.

Also enable discovery in Home Assistant like following:

mqtt:
  discovery: true
  discovery_prefix: homeassistant

(there is no need to enable vacuum.mqtt, it will be enabled automagically).

Example scripts.yaml snippet in Home Assistant for zoned cleaning

vacuum_guest_room:
     alias: "vacuum guest room"
     sequence:
       - service: vacuum.send_command
         data:
           entity_id: 'vacuum.robot'
           command: 'zoned_cleanup'
           params:
             'zone_ids': ['a09e1b77-75a6-45a7-b7fd-d77dd1d184dc']

For multiple zones:

          params:
             'zone_ids': ["a09e1b77-75a6-45a7-b7fd-d77dd1d184dc","76853b86-c522-4d38-9b0c-2a11a9ea738e"]

Depending on your robot, you may not be able to send multiple zones at once.

Example scripts.yaml snippet in Home Assistant for moving to a spot

(It’s basically the same as the zoned cleaning)

move_vacuum_to_bin_emptying_location:
     alias: "Move Vacuum to bin emptying location"
     sequence:
       - service: vacuum.send_command
         data:
           entity_id: 'vacuum.robot'
           command: 'go_to'
           params:
             'spot_id': '76853b86-c522-4d38-9b0c-2a11a9ea738e'

Example scripts.yaml snippet in Home Assistant for segment cleaning

(It’s basically the same as the zoned cleaning and moving to a spot)

clean_living_room_and_kitchen:
     alias: "Clean Living room and kitchen"
     sequence:
       - service: vacuum.send_command
         data:
            entity_id: 'vacuum.robot'
            command: 'segment_cleanup'
            params:
             'segment_ids': [13,37]

Find your segment IDs by zooming in on the segment triangle in map view. The segment ID is represented as a number and the segment area is also displayed as well. Use the syntax [13,37] to create a “job” with multiple segments at once.

PNG map generation

If you on Hass.io and want the map also on your dashboards of Home Assistant, use the ICantBelieveItsNotValetudo-Addon.

Automation for Valetudo version upgrade.

You need two sensors:

- platform: mqtt
  name: version_valetudo
  state_topic: "homeassistant/vacuum/valetudo_XXXXXX/config"
  value_template: ""
  scan_interval: 21600

- platform: command_line
  name: latest_valetudo
  command: curl -s https://github.com/Hypfer/Valetudo/releases/latest | cut -d'"' -f2 | rev | cut -d'/' -f1 | rev
  scan_interval: 21600

In Automations:

- id 'Your ID'
  alias: New Valetudo SW Version
  description: ''
  trigger:
  - platform: template
    value_template: ''
  condition: []
  action:
  - data:
      message: The new version  is available
      title: '*Valetudo upgrade pending*'
    service: notify.telegram
  - data:
      message: ''
      title: Valetudo upgrade pending
    service: persistent_notification.create
  mode: single
...