Custom Component: Dreame Vacuum

I use this card for that purpose.

Hi, im having the strangest issue.

I have a dreametech L10s ultra oem 4.3.3_2401 firmware

Map disappeared on me after a good 2 months of usage. might be when I fiddled with some stuff.

I factory reset the device re installed integration and nothing.

trying to troubleshoot I realized adding the second floor worked and it was fine, brought it back to main floor and then both maps where second floor. hmmmm. Tried deleting the first-floor map and started fast mapping. It started to show live the fast mapping but once I edited roomsā€¦ it stopped working.

I did a better factory reset where i deleted my mihome account, deleted the app from my phone, factory reset the robot, as best as I can come to restarting from scratch like I just bought it.

still same thing, basically as soon as edit the rooms in the app, my camera.vacuum entity shows nothing.

It does show in logs every few seconds that it updates but just has the lost robot picture.

wondering what you would suggest as the next troubleshooting steps

here is the event, I feel like the issue is with:

 entity_picture: >-
        /api/camera_proxy/camera.mr_sucky_map?token=***removed for security***

maybe the question mark is the issue

event_type: state_changed
data:
  entity_id: camera.mr_sucky_map
  old_state:
    entity_id: camera.mr_sucky_map
    state: "2023-08-17 12:36:24"
    attributes:
      access_token: ***removed for security***
      charger_position:
        x: -45
        "y": -500
        a: 86
      rooms:
        "1":
          x0: -3250
          y0: -2800
          x1: -500
          y1: 1100
          room_id: 1
          name: Office
          type: 12
          index: 0
          icon: mdi:monitor-shimmer
          color_index: 2
          x: -1900
          "y": -1100
          letter: A
        "2":
          x0: -2600
          y0: -5550
          x1: 1500
          y1: -2800
          room_id: 2
          name: Kitchen
          type: 4
          index: 0
          icon: mdi:chef-hat
          color_index: 0
          x: -600
          "y": -4350
          letter: B
        "3":
          x0: -500
          y0: -1450
          x1: 2150
          y1: 1000
          room_id: 3
          name: Entrance
          type: 0
          index: 0
          icon: mdi:home-outline
          color_index: 1
          x: 800
          "y": 100
          letter: C
        "4":
          x0: -750
          y0: -3600
          x1: 1650
          y1: -1200
          room_id: 4
          name: Kitty
          type: 0
          index: 0
          icon: mdi:home-outline
          color_index: 2
          x: 900
          "y": -2850
          letter: D
        "5":
          x0: 1800
          y0: -2800
          x1: 5000
          y1: -100
          room_id: 5
          name: Living Room
          type: 1
          index: 0
          icon: mdi:sofa-outline
          color_index: 0
          x: 3450
          "y": -1400
          letter: E
        "8":
          x0: 1400
          y0: -6200
          x1: 4800
          y1: -2800
          room_id: 8
          name: Dining Hall
          type: 5
          index: 0
          icon: mdi:room-service-outline
          color_index: 3
          x: 3050
          "y": -4500
          letter: H
      vacuum_position:
        x: 4428
        "y": -5931
        a: 65
      map_id: 2
      rotation: 270
      updated_at: "2023-08-17T12:36:29.569309"
      is_empty: false
      frame_id: 583
      calibration_points:
        - vacuum:
            x: 0
            "y": 0
          map:
            x: 552
            "y": 316
        - vacuum:
            x: 1000
            "y": 0
          map:
            x: 552
            "y": 396
        - vacuum:
            x: 0
            "y": 1000
          map:
            x: 632
            "y": 316
      entity_picture: >-
        /api/camera_proxy/camera.mr_sucky_map?token=***removed for security***
      icon: mdi:map
      friendly_name: Mr. Sucky Current Map
      supported_features: 0
    last_changed: "2023-08-17T16:36:27.340644+00:00"
    last_updated: "2023-08-17T16:36:29.573338+00:00"
    context:
      id: 01H825P285Y46GRHB9CQNDW01T
      parent_id: null
      user_id: null
  new_state:
    entity_id: camera.mr_sucky_map
    state: "2023-08-17 12:36:27"
    attributes:
      access_token: ***removed for security***
      charger_position:
        x: -45
        "y": -500
        a: 86
      rooms:
        "1":
          x0: -3250
          y0: -2800
          x1: -500
          y1: 1100
          room_id: 1
          name: Office
          type: 12
          index: 0
          icon: mdi:monitor-shimmer
          color_index: 2
          x: -1900
          "y": -1100
          letter: A
        "2":
          x0: -2600
          y0: -5550
          x1: 1500
          y1: -2800
          room_id: 2
          name: Kitchen
          type: 4
          index: 0
          icon: mdi:chef-hat
          color_index: 0
          x: -600
          "y": -4350
          letter: B
        "3":
          x0: -500
          y0: -1450
          x1: 2150
          y1: 1000
          room_id: 3
          name: Entrance
          type: 0
          index: 0
          icon: mdi:home-outline
          color_index: 1
          x: 800
          "y": 100
          letter: C
        "4":
          x0: -750
          y0: -3600
          x1: 1650
          y1: -1200
          room_id: 4
          name: Kitty
          type: 0
          index: 0
          icon: mdi:home-outline
          color_index: 2
          x: 900
          "y": -2850
          letter: D
        "5":
          x0: 1800
          y0: -2800
          x1: 5000
          y1: -100
          room_id: 5
          name: Living Room
          type: 1
          index: 0
          icon: mdi:sofa-outline
          color_index: 0
          x: 3450
          "y": -1400
          letter: E
        "8":
          x0: 1400
          y0: -6200
          x1: 4800
          y1: -2800
          room_id: 8
          name: Dining Hall
          type: 5
          index: 0
          icon: mdi:room-service-outline
          color_index: 3
          x: 3050
          "y": -4500
          letter: H
      vacuum_position:
        x: 4432
        "y": -5487
        a: 89
      map_id: 2
      rotation: 270
      updated_at: "2023-08-17T12:36:32.070261"
      is_empty: false
      frame_id: 584
      calibration_points:
        - vacuum:
            x: 0
            "y": 0
          map:
            x: 552
            "y": 316
        - vacuum:
            x: 1000
            "y": 0
          map:
            x: 552
            "y": 396
        - vacuum:
            x: 0
            "y": 1000
          map:
            x: 632
            "y": 316
      entity_picture: >-
        /api/camera_proxy/camera.mr_sucky_map?token=***removed for security***
      icon: mdi:map
      friendly_name: Mr. Sucky Current Map
      supported_features: 0
    last_changed: "2023-08-17T16:36:32.074515+00:00"
    last_updated: "2023-08-17T16:36:32.074515+00:00"
    context:
      id: 01H825P4PA2RCC92QVD6R8H7MS
      parent_id: null
      user_id: null
origin: LOCAL
time_fired: "2023-08-17T16:36:32.074515+00:00"
context:
  id: 01H825P4PA2RCC92QVD6R8H7MS
  parent_id: null
  user_id: null

Can you check this issue

Hello everyone
Ist there a Solution for this issue? Iā€™m using a ā€œDreameBot L10s Ultraā€
Home Assistant 2023.8.3
Supervisor 2023.08.1
Operating System 10.5
Frontend 20230802.1 - latest

Logger: homeassistant.components.vacuum
Source: components/vacuum/init.py:399
Integration: Vacuum (documentation, issues)
First occurred: 07:31:09 (1 occurrences)
Last logged: 07:31:09

dreame_vacuum::DreameVacuum is extending the deprecated base class VacuumEntity instead of StateVacuumEntity, this is not valid and will be unsupported from Home Assistant 2024.2. Please report it to the author of the ā€˜dreame_vacuumā€™ custom integration

1 Like

EDIT

Went back and read the end of the git hub issue and the last post showed to do it from integration config. it works now!. Thanks!

end of edit

Hi thanks for the help! But unfortunately, I donā€™t think it helped.

I deleted the names of the rooms so itā€™s all room1, room2 etcā€¦ and disabled custom room order.

Still it doesnā€™t load the photo of the map.

Maybe I should delete the map and re map without naming the rooms or enabling custom room order and see if that works? just trying to avoid the 30 minutes it takes to map my house and make the divisions and fix my automations if i have too.

thanks again!

You may also need to disable the AI Obstacles if your map contains obstacles.

Thanks, it literally just stopped working because of an obstacle icon, disabled the icons in the integration and it came back!

v1.0.1 - Stable

Changelog

  • Support for VSLAM vacuums
  • Fixes for HA 2023.8
  • Translations fixed

v1.0.2 - Stable

Changelog

  • Fixes for HA 2023.11+

v2.0.0b9 - For Testing Only

New Features

  • Lots of bug fixes
  • Dreamehome account support
  • New supported devices
  • Obstacle photos
  • Cleaning and cruising history maps
  • Cloud and local map backup/recovery
  • WiFi maps
  • Ability to render both room icon and name at the same time
  • Better obstacle rendering with ignored obstacle support
  • Low water warning notification, event and sensor entities
  • Manual drainage notification, event, sensor and button entities
  • Shortcut button entities (Only available via Dreamehome app)
  • Custom room cleaning mode entities (Rooms card template is also updated)
  • Room floor material and material direction entities
  • Go to point service (uses zone_cleaning and stop commands on vacuums without camera)
  • Follow path service (only works with realtime camera stream)
  • New map objects
    • Room floor materials
    • Carpets
    • Furnitures (3D/2D)
    • Pathways
    • Cruise points
    • Room name background
  • New configuration options
    • Rendering the map with 1:1 aspect ratio (For displaying multiple map cards at same height)
    • Low resolution map rendering for low memory devices like RPI3

Breaking changes

  • set_dnd service is removed
  • cleaning mode added to set_custom_cleaning service
  • fan_speed support is removed from vacuum entity when customized cleaning is enabled
  • number.dnd_start_hour number.dnd_start_minute replaced with time.dnd_start and time_dnd end
  • dnd entities only control the first dnd task on devices capable of multiple dnd tasks
  • switch.carpet_avoidance removed from devices not capable of mop pad detaching instead select.carpet_cleaning will be used for controlling this setting.
  • select.self_clean_area removed, switch.self_clean_by_zone and number.self.clean_area added for controlling this setting.
  • button.self_clean_pause removed button.self_clean will be used for toggling washing job
  • button.start_drying and button.stop_drying removed and button.manual_drying is added for toggling the drying job.
  • mopping_after_sweeping added to the select.cleaning_mode for vacuums can support it
  • wash state attributes added to the vacuum entity
  • missing values added to the sensor.state, sensor.status, sensor.task_status and sensor.error entities
  • state.returning_to_washing renamed to state.returning_to_wash as on the self-wash base status sensor
  • suction_level and water_volume parameters are added to the vacuum_clean_zone service
  • switch.tight_mopping is removed from vacuums that has select.mopping_type setting and device controls this setting internaly on the latest firmware
  • consumable notification and events will be triggered when consumable life is below 6% like on the app with their respective title and descriptions. Life is added to the consumable events.
  • Latest version of the dreame app displays both room names and icons at the same time so integration is updated to accommodate that. If you only want to see the room icons like in previous version of the integration, you need to remove ā€œRoom Nameā€ object from configuration settings.

New entities

  • Switch
    • voice_assistant
    • fuzzy_obstacle_detection
    • ai_pet_avoidance
    • pet_picture
    • pet_focused_detection
    • floor_direction_cleaning
    • pet_focused_cleaning
    • smart_charging
    • human_follow
    • max_suction_power
    • smart_drying
    • hot_washing
    • camera_light_brightness_auto
    • uv_sterilization
    • off_peak_charging
    • mopping_under_furnitures
    • gap_cleaning_extension
    • intensive_carpet_cleaning
    • large_particles_boost
  • Sensor
    • stream_status
    • drainage_status
    • low_water_warning
    • task_type
    • cruising_history
    • squeegee_left
    • squeegee_time_left
    • dirty_water_tank_left
    • dirty_water_tank_time_left
    • onboard_dirty_water_tank_left
    • onboard_dirty_water_tank_time_left
  • Select
    • cleaning_mode_room_{room_id}
    • floor_material_room_{room_id}
    • floor_material_direction_room_{room_id}
    • visibilitity_room_{room_id}
    • wider_corner_coverage
    • mop_pad_swing
    • voice_assistant_language
    • auto_empty_mode
    • cleangenius
    • auto_rewashing
    • auto_recleaning
    • cleaning_route
    • self_clean_frequency
  • Number
    • camera_light_brightness
  • Camera
    • saved_wifi_map_{map_index} (disabled by default)
  • Button
    • water_tank_draining
    • shortcut_{shortcut_index}
    • backup_map_{map_index}
    • reset_detergent
    • reset_squeegee
    • reset_dirty_water_tank
    • reset_onboard_dirty_water_tank
    • base_station_self_repair
  • Number
    • self_clean_area
    • self_clean_time
  • Time
  • off_peak_charging_start
  • off_peak_charging_end

New services

  • vacuum_goto
  • vacuum_follow_path
  • vacuum_set_predefined_points
  • vacuum_set_carpet_area
  • vacuum_set_pathway
  • vacuum_rename_shortcut
  • vacuum_set_obstacle_ignore
  • vacuum_set_router_position
  • vacuum_restore_map (parameters changed)
  • vacuum_restore_map_from_file
  • vacuum_backup_map

Thanks @w00dwind
Thanks @AltaKendrick47

Ko-Fi PayPal.Me

4 Likes

I understand the Dreamehome account integration is still in beta, but what are / will be the pros and cons of using it over the Mi Home integration?

For context, I have the DreameBot D10 Plus.

If you are happy with the Mi Home app you donā€™t need to switch to the Dreamehome app.
Dreamehome account feature is for the new vacuums cannot be installed to the Mi Home and/or for people want to use the features are not available in the Mi Home app (like real-time camera, shortcuts, floor material and 3d furniture rendering). Also Dreamehome app contains newer firmware versions of some devices which are not available via Mi Home app.

Cool, I didnā€™t even know that there was a dreamehome app :slight_smile: I have the old Dreame F9 , I think at that time there was no dreamehome app, so I still use the Mihome ā€¦

Does your component also work for the roborock S5? This also old device needs the Mihome app too

Hi, is the S10 pro plus (hot water) integrated into the Dreame Home Beta for HA?
Canā€™t seem to login, is there a bug, and is there an estimated timeline for the fix?

Am going crazy finding solutions, I donā€™t mind paying you if this can be solved.

Is it possible to use both apps at the same time so I can see and compare the features?

Unfortunately older vacuums cannot be added to the Dreamehome app so Mi Home is your only choice right now.

Both apps are using the same plugin and same code but the Dreamehome app contains never firmware versions therefore newer version of the plugin always be available on Dreamehome app. Itā€™s not just the app but the also firmware compatible with that app plugin which makes the difference.
Only exception for this is the Real-time camera streaming feature which cannot be added to the Mi Home app plugin for technical reasons.

So itā€™s not possible to use your integration for the roborock S5 thatā€™s added to Mihome?

Thanks for the response. What I meant to ask was: Is it possible to have my integrate my vaccuum to both apps at the same time to compare the features they offer? Or can it only be one or the other at a time?

Only Dreame devices are supported.

1 Like

No you cannot use both apps because vacuum can only connect to one cloud service at the same time.
Also device must be removed from HA and added again by choosing the other cloud service after you switch apps.

1 Like

Understood. Thanks!