lovelace-xiaomi-vacuum-map-card icon indicating copy to clipboard operation
lovelace-xiaomi-vacuum-map-card copied to clipboard

marotoweb/viomise vacuum_clean_zone_predefined

Open thumDer opened this issue 3 years ago • 8 comments

Checklist

  • [X] I have updated the card to the latest version available
  • [X] I have cleared the cache of my browser
  • [X] I have checked if the problem is already reported

The problem

Since the latest updates some functions for my Viomi SE stopped working. Previously it was working fine with the default platform using non-template map modes, with PREDEFINED_RECTANGLE and PREDEFINED_POINT selection_types. Since these modes are not working anymore (it throws the following error on the UI: Failed to call service 'vacuum/do_zones'. Service not found.) I've changed the platform to marotoweb/viomise and while vacuum_clean_point_predefined is working as expected vacuum_clean_zone_predefined does nothing, only the Success notification flashes up on the card, and no reaction from the vacuum, only the following line in the log:

2022-01-17 21:38:23 ERROR (MainThread) [custom_components.viomise.vacuum] Unable to clean zone: {'code': -9998, 'message': 'user ack invalid'}

It might be related to this and this

What version of a card has described problem?

v2.0.10

What was the last working version card?

v2.0.8

What vacuum model do you have problems with?

Viomi SE

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

https://github.com/marotoweb/home-assistant-vacuum-viomise

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

Firefox

What version of Home Assistant do you use?

core-2021.10.2

What type of installation are you running?

Home Assistant Supervised

Card's configuration

Current:

type: custom:xiaomi-vacuum-map-card
title: Viomi Vacuum Map Card
entity: vacuum.viomi_se
map_source:
  camera: camera.xiaomi_cloud_map_extractor
calibration_source:
  camera: true
vacuum_platform: marotoweb/viomise
map_modes:
  - template: vacuum_clean_zone_predefined
    predefined_selections:
      - zones:
          - - 1
            - 0.2
            - 2.2
            - -3.4
        label:
          text: Kitchen
          x: 1.5
          'y': -1.5
          offset_y: 35
        icon:
          name: mdi:pot-mix
          x: 1.5
          'y': -1.5
      - zones:
          - - -3
            - -3.4
            - 1
            - 0.2
        label:
          text: Living Room
          x: -1.5
          'y': -1.5
          offset_y: 35
        icon:
          name: mdi:television
          x: -1.5
          'y': -1.5
      - zones:
          - - 0.5
            - -4.9
            - 2.2
            - -3.4
        label:
          text: Hall
          x: 1.5
          'y': -3.9
          offset_y: 35
        icon:
          name: mdi:shoe-sneaker
          x: 1.5
          'y': -3.9
      - zones:
          - - 0.5
            - -7
            - 2.2
            - -4.9
        label:
          text: Bathroom
          x: 1.5
          'y': -5.5
          offset_y: 35
        icon:
          name: mdi:bathtub
          x: 1.5
          'y': -5.5
      - zones:
          - - -3
            - -7
            - 0.5
            - -3.4
        label:
          text: Bedroom
          x: -1.5
          'y': -5.5
          offset_y: 35
        icon:
          name: mdi:bed
          x: -1.5
          'y': -5.5
  - template: vacuum_clean_point_predefined
    predefined_selections:
      - position:
          - -1
          - -1
        label:
          text: Sofa
          x: -1
          'y': -1
          offset_y: 35
        icon:
          name: mdi:sofa
          x: -1
          'y': -1
two_finger_pan: true
map_locked: true

Previous:

type: custom:xiaomi-vacuum-map-card
title: Viomi Vacuum Map Card
entity: vacuum.viomi_se
map_source:
  camera: camera.xiaomi_cloud_map_extractor
calibration_source:
  camera: true
vacuum_platform: default
map_modes: 
  - name: Predefined zones
    icon: mdi:texture-box
    selection_type: PREDEFINED_RECTANGLE
    max_selections: 5
    repeats_type: INTERNAL
    max_repeats: 3
    service_call_schema:
      service: vacuum.do_zones
      service_data:
        zones: '[[selection]]'
        repeats: '[[repeats]]'
        predefined: 'true'
      target:
        entity_id: '[[entity_id]]'
    predefined_selections:
      - zones:
          - - 1
            - 0.2
            - 2.2
            - -3.4
        label:
          text: Kitchen
          x: 1.5
          'y': -1.5
          offset_y: 35
        icon:
          name: mdi:pot-mix
          x: 1.5
          'y': -1.5
      - zones:
          - - -3
            - -3.4
            - 1
            - 0.2
        label:
          text: Living Room
          x: -1.5
          'y': -1.5
          offset_y: 35
        icon:
          name: mdi:television
          x: -1.5
          'y': -1.5
      - zones:
          - - 0.5
            - -4.9
            - 2.2
            - -3.4
        label:
          text: Hall
          x: 1.5
          'y': -3.9
          offset_y: 35
        icon:
          name: mdi:shoe-sneaker
          x: 1.5
          'y': -3.9
      - zones:
          - - 0.5
            - -7
            - 2.2
            - -4.9
        label:
          text: Bathroom
          x: 1.5
          'y': -5.5
          offset_y: 35
        icon:
          name: mdi:bathtub
          x: 1.5
          'y': -5.5
      - zones:
          - - -3
            - -7
            - 0.5
            - -3.4
        label:
          text: Bedroom
          x: -1.5
          'y': -5.5
          offset_y: 35
        icon:
          name: mdi:bed
          x: -1.5
          'y': -5.5
  - name: Predefined Point
    icon: mdi:map-marker
    selection_type: PREDEFINED_POINT
    max_selections: 5
    repeats_type: NONE
    max_repeats: 3
    service_call_schema:
      service: vacuum.do_point
      service_data:
        point: '[[selection]]'
        repeats: '[[repeats]]'
        point_x: '[[point_x]]'
        point_y: '[[point_y]]'
        predefined: 'true'
      target:
        entity_id: '[[entity_id]]'
    predefined_selections:
      - position:
          - -1
          - -1
        label:
          text: Sofa
          x: -1
          'y': -1
          offset_y: 35
        icon:
          name: mdi:sofa
          x: -1
          'y': -1
  - template: vacuum_follow_path
  - template: vacuum_goto
two_finger_pan: true
map_locked: true

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

No response

Additional information

No response

thumDer avatar Jan 17 '22 20:01 thumDer

What do you mean as "the latest updates"? It seems that is related to first issue you have linked: https://github.com/marotoweb/home-assistant-vacuum-viomise/issues/15

PiotrMachowski avatar Jan 17 '22 21:01 PiotrMachowski

It might be something related to the viomi/xiaomi cloud service side since nothing (nor yours nor the vacuums integration) was changed on my side, but my previously working configuration which is shown above just stopped working, throwing the failed to call service error, thats when I tried updating to 2.0.10 and using the viomi platform, but that seems to have it's own issues, so this issue report could be two separate one. Anyway, I'm stuck, but this might be something difficult to figure out.

thumDer avatar Jan 17 '22 21:01 thumDer

EDIT : My bad, found the solution : select Send Command for plateforme. Thank for this card btw !! greatly appreciated !

Hi, Just have the same problem today with a xiaomi robock v6...

Find the robot, goto home, change speed are working.

But can't run clean zone :

2022-06-03_19-01-39

If i need to open another case, no problem.

I think i possibly found the problem with the dev tools.

Your card want to call 'xiaomi_miio/vacuum_clean_zone' but, as i use Xiaomi auto, availabled service are "xiaomi_miot/vvacuum..."

so the problem is possible an update of xiaomi auto

pinkfloydFR avatar Jun 03 '22 17:06 pinkfloydFR

Hello to all, have same issue. checked all platforms including send command. None worked

irarkh avatar Jun 05 '22 17:06 irarkh

in developpement, service, search for xiaomi and/or vaccum to see wich service is available, this is the way wich give me the solution

pinkfloydFR avatar Jun 05 '22 17:06 pinkfloydFR

@pinkfloydFR vacuum.send_command is always available, but it doesn't work for all vacuums. The ultimate solution is to choose the same platform that you have used to add your vacuum to HA

PiotrMachowski avatar Jun 05 '22 18:06 PiotrMachowski

I used Xiaomi miot. But as I wrote I tried every platform and unfortunately the zone cleaning does not work for me.

irarkh avatar Jun 05 '22 18:06 irarkh

@irarkh https://github.com/PiotrMachowski/lovelace-xiaomi-vacuum-map-card/issues/251

PiotrMachowski avatar Jun 05 '22 20:06 PiotrMachowski