Valetudo by @Hypfer over MQTT
This platform can be used to control vacuums flashed with Valetudo created by @Hypfer connected to Home Assistant using MQTT.
If you want to use just room cleaning you can calibrate the map using following config:
calibration_source:
identity: true
In other cases you have to manually calibrate the map and provide calibration points.
To use this card with a Valetudo vacuum you have to define topic
internal variable in your preset:
type: custom:xiaomi-vacuum-map-card
map_source:
camera: camera.valetudo
calibration_source:
calibration_points:
- vacuum:
x: 25500
y: 25500
map:
x: 466
y: 1889
- vacuum:
x: 26500
y: 26500
map:
x: 730
y: 1625
- vacuum:
x: 25500
y: 26500
map:
x: 466
y: 1625
entity: vacuum.valetudo
vacuum_platform: Hypfer/Valetudo
internal_variables:
topic: valetudo/rockrobo
To retrieve map image you have to use Valetudo Vacuum Camera custom integration made by @sca075 (recommended; supports auto-calibration) or I can't believe it's not Valetudo (not recommended; manual calibration required).
-
Uses IDs to clean specific rooms. Requires
topic
variable andpredefined_selections
to be provided.Used service:
mqtt.publish
Example configuration
map_modes: - template: vacuum_clean_segment variables: topic: valetudo/robot predefined_selections: - id: "12" outline: [[ 21458, 32131 ], [ 24235, 32152 ], [ 24194, 27409 ], [ 23181, 27409 ]] label: text: "Bedroom" x: 22932 y: 30339 offset_y: 35 icon: name: "mdi:bed" x: 22932 y: 30339 - id: "9" outline: [[ 21478, 27237 ], [ 23048, 27250 ], [ 23061, 25655 ], [ 21478, 25680 ]] label: text: "Bathroom" x: 22282 y: 26496 offset_y: 35 icon: name: "mdi:shower" x: 22282 y: 26496
Example video
ROOM.mp4
-
Uses 4 points to clean rectangular zones.
Used service:
mqtt.publish
Example configuration
map_modes: - template: vacuum_clean_zone
Example video
MANUAL_RECTANGLE.mp4
-
Uses 4 coordinates to clean rectangular zones that have been defined in the configuration. Requires
predefined_selections
to be provided.Used service:
mqtt.publish
Example configuration
map_modes: - template: vacuum_clean_zone_predefined predefined_selections: - zones: [[ 21485, 28767, 24236, 32131 ], [ 23217, 27379, 24216, 28737 ]] label: text: "Bedroom" x: 22932 y: 30339 offset_y: 35 icon: name: "mdi:bed" x: 22932 y: 30339 - zones: [[ 27782, 27563, 29678, 29369 ]] label: text: "Kitchen" x: 28760 y: 28403 offset_y: 35 icon: name: "mdi:pot-mix" x: 28760 y: 28403
Example video
PREDEFINED_RECTANGLE.mp4
-
Uses a pair of coordinates for vacuum to get to a user-specified point.
Used service:
mqtt.publish
Example configuration
map_modes: - template: vacuum_goto
Example video
MANUAL_POINT.mp4
-
Uses a pair of coordinates for vacuum to go to a point that has been defined in the configuration. Requires
predefined_selections
to be provided.Used service:
mqtt.publish
Example configuration
map_modes: - template: vacuum_goto_predefined predefined_selections: - position: [ 28006, 28036 ] label: text: "Emptying" x: 28006 y: 28036 offset_y: 35 icon: name: "mdi:broom" x: 28006 y: 28036 - position: [ 32143, 26284 ] label: text: "Sofa" x: 32143 y: 26284 offset_y: 35 icon: name: "mdi:sofa" x: 32143 y: 26284
Example video
PREDEFINED_POINT.mp4