PiotrMachowski / lovelace-xiaomi-vacuum-map-card

This card provides a user-friendly way to fully control map-based vacuums in Home Assistant. Supported brands include Xiaomi (Roborock/Viomi/Dreame/Roidmi/Valetudo/Valetudo RE), Neato, Wyze, Roomba, Ecovacs (and probably more).
MIT License
1.45k stars 249 forks source link

Dreame L20 Ultra cannot reach Position #740

Closed garv3 closed 3 weeks ago

garv3 commented 3 months ago

Checklist

The problem

When trying to start a cleaning operation spot, area or often even a room cleaning, the robot cleans the pads, leaves the dock and immediately returns to the dock. Usually it gives an error message, that the destination could not be reached. Using the Dreame home app, everything works. This behavior has never occurred until some weeks ago. Cannot remember the version number.

What version of a card has described problem?

V2.2.2

What was the last working version card?

can't remember

What vacuum model do you have problems with?

Dreame L20 Ultra Complete

Which integration do you use to control your vacuum (link)?

https://github.com/Tasshack/dreame-vacuum

What browser (browsers/apps) does have this problem?

Any

What version of Home Assistant do you use?

core-2024.6.3

What type of installation are you running?

Home Assistant OS

Card's configuration

type: custom:xiaomi-vacuum-map-card
entity: vacuum.dreamebot_l20_ultra_complete
map_source:
  camera: camera.dreamebot_l20_ultra_complete_map
calibration_source:
  camera: true
vacuum_platform: Tasshack/dreame-vacuum
title: Kehrbert (EG)
map_modes:
  - template: vacuum_clean_segment
    name: Räume
    predefined_selections:
      - id: '1'
        icon:
          name: mdi:chef-hat
          x: -350
          'y': 1000
        label:
          text: Küche
          x: -350
          'y': 1000
          offset_y: 35
        outline:
          - - -1950
            - -873
          - - 4445
            - -873
          - - 4445
            - 3030
          - - -1950
            - 3030
      - id: '2'
        icon:
          name: mdi:bed-king-outline
          x: -3850
          'y': -9100
        label:
          text: Schlafzimmer
          x: -3850
          'y': -9100
          offset_y: 35
        outline:
          - - -5800
            - -11150
          - - -1950
            - -11150
          - - -1950
            - -6500
          - - -5800
            - -6500
      - id: '4'
        icon:
          name: mdi:bookshelf
          x: 2300
          'y': -5200
        label:
          text: Arbeitszimmer
          x: 2300
          'y': -5200
          offset_y: 35
        outline:
          - - 550
            - -6700
          - - 4150
            - -6700
          - - 4150
            - -3800
          - - 550
            - -3800
      - id: '5'
        icon:
          name: mdi:foot-print
          x: -750
          'y': -4750
        label:
          text: Flur
          x: -750
          'y': -4750
          offset_y: 35
        outline:
          - - -1950
            - -8400
          - - 860
            - -8400
          - - 860
            - -6859
          - - 236
            - -6859
          - - 236
            - -3800
          - - 4445
            - -3800
          - - 4445
            - -873
          - - -1950
            - -873
      - id: '6'
        icon:
          name: mdi:sofa-outline
          x: -4150
          'y': -2500
        label:
          text: Wohnzimmer
          x: -4150
          'y': -2500
          offset_y: 35
        outline:
          - - -6350
            - -6000
          - - -1950
            - -6000
          - - -1950
            - 1100
          - - -6350
            - 1100
      - id: '7'
        icon:
          name: mdi:toilet
          x: -600
          'y': -9400
        label:
          text: Bad
          x: -600
          'y': -9400
          offset_y: 35
        outline:
          - - -1600
            - -11050
          - - 450
            - -11050
          - - 450
            - -8400
          - - -1600
            - -8400
  - template: vacuum_clean_point_predefined
    name: Punkte
    predefined_selections:
      - position:
          - 500
          - 2000
        label:
          text: Babyzone
          x: 500
          'y': 2000
          offset_y: -35
        icon:
          name: mdi:baby-face-outline
          x: 500
          'y': 2000
  - template: vacuum_clean_zone
    name: Zonen wählen
  - template: vacuum_clean_point
    name: Punkt wählen
map_locked: true
tiles:
  - entity: sensor.dreamebot_l20_ultra_complete_state
    label: Status
  - entity: sensor.dreamebot_l20_ultra_complete_battery_level
    label: Akkuladung
    icon: mdi:battery
  - entity: sensor.dreamebot_l20_ultra_complete_status
    label: Zustand
  - entity: sensor.dreamebot_l20_ultra_complete_task_status
    label: Aktuelle Aufgabe
  - entity: select.dreamebot_l20_ultra_complete_cleangenius
    label: Clean Genius
  - entity: select.dreamebot_l20_ultra_complete_cleaning_mode
    label: Modus
    conditions:
      - entity: select.dreamebot_l20_ultra_complete_cleangenius
        value: 'off'
  - entity: select.dreamebot_l20_ultra_complete_suction_level
    label: Saugkraft
    conditions:
      - entity: select.dreamebot_l20_ultra_complete_cleangenius
        value: 'off'
  - entity: select.dreamebot_l20_ultra_complete_mop_pad_humidity
    label: Feuchte
    conditions:
      - entity: select.dreamebot_l20_ultra_complete_cleangenius
        value: 'off'
  - entity: select.dreamebot_l20_ultra_complete_mop_wash_level
    label: Mop-Reinigung
    conditions:
      - entity: select.dreamebot_l20_ultra_complete_cleangenius
        value: 'off'
  - entity: select.dreamebot_l20_ultra_complete_custom_mopping_route
    label: Route
    conditions:
      - entity: select.dreamebot_l20_ultra_complete_cleangenius
        value: 'off'
  - entity: select.dreamebot_l20_ultra_complete_auto_empty_mode
    label: Entleeren
    conditions:
      - entity: select.dreamebot_l20_ultra_complete_cleangenius
        value: 'off'

Javascript errors shown in the browser's console (if applicable)

No response

Additional information

No response

PiotrMachowski commented 3 months ago

There were no changes in the card, have you updated dreame-vacuum integration in the meantime?

garv3 commented 3 months ago

It seems, the last update of the Dreame integration was May 3rd. I don't think, the issues persist since then. If I remember correctly, the issue occured first, when I tried to use spot cleaning from the map for the first time.

PiotrMachowski commented 3 months ago

Have you tried capturing service call from the card and triggering it manually in dev tools?

garv3 commented 3 months ago

How to capture the sevice call?

Btw: It seems that even room cleaning commands fail. The vacuum always starts, leaves the dock and returns immediately or goes to a random position and returns then.

It always gives this response, even if it is supposed to clean the room in which the dock stands: image

Any operation with the Dreame app works as expected.

PiotrMachowski commented 3 months ago

You have to open card editor and click "copy service call" button instead of play button on the card

Edivion commented 1 month ago

I do experience the exact same problem with my L20 Ultra. It tells me there's a "No Go Zone" and thus it cannot reach the room. I don't even have such a zone defined and through the App itself it works just fine. I'll test the manual service call tomorrow and post the result here.

Update: I was updating my map on the App yesterday (splitting some rooms, merging them again, renaming, etc) and then reloaded the Dreame integration. Ever since then the problem is gone and I can have all of my rooms cleaned and selected just fine. Not sure what actually solved this but it seems the map had something random in there that might've caused this.

sca075 commented 1 month ago

Update:

I was updating my map on the App yesterday (splitting some rooms, merging them again, renaming, etc) and then reloaded the Dreame integration. Ever since then the problem is gone and I can have all of my rooms cleaned and selected just fine.

Not sure what actually solved this but it seems the map had something random in there that might've caused this.

From this it look that the problem is not the card. Also because the card simply creates the command that the vacuum should execute. I think you are correct there was something wrong in the map.

Thanks for the update and investigation for this 😉

PiotrMachowski commented 3 weeks ago

Thank you @Edivion and @sca075!