-
-
Notifications
You must be signed in to change notification settings - Fork 273
Description
Checklist
- I have updated the card to the latest version available
- I have cleared the cache of my browser
- I have checked if the problem is already reported
The problem
I recently switched from the HACS Roborock integration to the Core integration and as such needed to recreate the Vacuum Card.
When I select the platform it adds most of the title buttons but it's missing the Status and Battery information which are both available in the device page.
I can create a static config (which I don't mind) and add them myself but the only one that I can't seem to get working right is the battery icon. Though it would also be nice to have the same titles that were available from the HACS integration by default for future users.
I've tried using icon_source but it doesn't work with anything, I'd highly prefer to not use a static icon. I checked both the vacuum.roborock (the main entity) and sensor.roborock_s7_battery (the actual entity with the battery information) in the dev tools and neither have icon for the battery.
I assume sensor.roborock_s7_battery doesn't have an icon set for it since it's device_class: battery and HA sets it automatically. Would we be able to piggyback off this kind of setup for the card?
I understand there was a previous issue related to title problems but it is not the same issue as what I am reporting and the fixes there don't apply here.
What version of a card has described problem?
v2.3.2
What was the last working version card?
No response
What vacuum model do you have problems with?
Roborock S7
Which integration do you use to control your vacuum (link)?
https://www.home-assistant.io/integrations/roborock/
What browser (browsers/apps) does have this problem?
Firefox
What version of Home Assistant do you use?
2026.2.3
What type of installation are you running?
Home Assistant OS
Card's configuration
type: custom:xiaomi-vacuum-map-card
map_source:
camera: image.roborock_s7_home_custom
crop:
left: 175
right: 325
top: 200
bottom: 150
calibration_source:
camera: true
entity: vacuum.roborock_s7
vacuum_platform: Roborock
map_modes:
- name: Rooms
icon: mdi:floor-plan
run_immediately: false
coordinates_rounding: true
coordinates_to_meters_divider: 1000
selection_type: ROOM
id_type: number
max_selections: 999
repeats_type: EXTERNAL
max_repeats: 3
service_call_schema:
service: vacuum.send_command
service_data:
command: app_segment_clean
params:
- segments: "[[selection]]"
repeat: "[[repeats]]"
entity_id: "[[entity_id]]"
predefined_selections:
- id: "16"
icon:
name: mdi:sofa
x: 27125
"y": 27275
label:
text: Livingroom
x: 27125
"y": 27275
offset_y: 25
- id: "17"
icon:
name: mdi:fridge
x: 22000
"y": 27950
label:
text: Kitchen
x: 22000
"y": 27950
offset_y: 25
- id: "18"
icon:
name: mdi:faucet
x: 24300
"y": 32975
label:
text: Bathroom
x: 24300
"y": 32975
offset_y: 25
- id: "19"
icon:
name: mdi:shower-head
x: 24250
"y": 34550
label:
text: Shower
x: 24250
"y": 34550
offset_y: 25
- id: "20"
icon:
name: mdi:toilet
x: 21625
"y": 31550
label:
text: WC
x: 21625
"y": 31550
offset_y: 25
- id: "21"
icon:
name: mdi:printer-pos-wrench
x: 21400
"y": 33675
label:
text: Workshop
x: 21400
"y": 33675
offset_y: 25
- id: "22"
icon:
name: mdi:door
x: 20400
"y": 31250
label:
text: Entry
x: 20400
"y": 31250
offset_y: 25
- id: "26"
icon:
name: mdi:walk
x: 23700
"y": 30975
label:
text: Hallway
x: 23700
"y": 30975
offset_y: 25
- id: "24"
icon:
name: mdi:washing-machine
x: 23500
"y": 25600
label:
text: Laundry
x: 23500
"y": 25600
offset_y: 25
- id: "25"
icon:
name: mdi:keyboard
x: 28200
"y": 31200
label:
text: Office
x: 28200
"y": 31200
offset_y: 25
- id: "23"
icon:
name: mdi:bed
x: 27675
"y": 33550
label:
text: Bedroom
x: 27675
"y": 33550
offset_y: 25
variables: {}
- name: Predefined Zones
icon: mdi:select-drag
run_immediately: false
coordinates_rounding: true
coordinates_to_meters_divider: 1000
selection_type: PREDEFINED_RECTANGLE
max_selections: 5
repeats_type: INTERNAL
max_repeats: 3
service_call_schema:
service: vacuum.send_command
service_data:
command: app_zoned_clean
params: "[[selection]]"
entity_id: "[[entity_id]]"
predefined_selections:
- zones:
- - 19750
- 29770
- 21076
- 32230
- - 19950
- 29770
- 26300
- 31009
- - 24240
- 31000
- 26300
- 31629
icon:
name: mdi:walk
x: 23250
"y": 31000
label:
text: Entry & Hallway
x: 23250
"y": 31000
offset_y: 25
- zones:
- - 20000
- 24650
- 30300
- 29800
icon:
name: mdi:sofa
x: 25000
"y": 27250
label:
text: Kitchen & Livingroom
x: 25000
"y": 27250
offset_y: 25
variables: {}
- name: Manual Zone cleanup
icon: mdi:select-drag
run_immediately: false
coordinates_rounding: true
coordinates_to_meters_divider: 1000
selection_type: MANUAL_RECTANGLE
max_selections: 5
repeats_type: INTERNAL
max_repeats: 3
service_call_schema:
service: vacuum.send_command
service_data:
command: app_zoned_clean
params: "[[selection]]"
entity_id: "[[entity_id]]"
predefined_selections: []
variables: {}
- name: Pin & Go
icon: mdi:map-marker-plus
run_immediately: false
coordinates_rounding: true
coordinates_to_meters_divider: 1000
selection_type: MANUAL_POINT
max_selections: 999
repeats_type: NONE
max_repeats: 1
service_call_schema:
service: roborock.set_vacuum_goto_position
service_data:
x: "[[point_x]]"
"y": "[[point_y]]"
entity_id: "[[entity_id]]"
predefined_selections: []
variables: {}
map_locked: true
card_mod:
style: |
ha-card {
--map-card-room-label-color: white;
--map-card-room-label-color-selected: blue;
}
icons:
- icon_id: start_cleanup
icon: mdi:play
conditions:
- entity: vacuum.roborock_s7
value_not: cleaning
- entity: vacuum.roborock_s7
value_not: error
- entity: vacuum.roborock_s7
value_not: returning
tooltip: Start
tap_action:
action: call-service
service: vacuum.start
service_data:
entity_id: vacuum.roborock_s7
- icon_id: pause
icon: mdi:pause
conditions:
- entity: vacuum.roborock_s7
value_not: docked
- entity: vacuum.roborock_s7
value_not: idle
- entity: vacuum.roborock_s7
value_not: error
- entity: vacuum.roborock_s7
value_not: paused
tooltip: Pause
tap_action:
action: call-service
service: vacuum.pause
service_data:
entity_id: vacuum.roborock_s7
- icon_id: stop
icon: mdi:stop
conditions:
- entity: vacuum.roborock_s7
value_not: docked
- entity: vacuum.roborock_s7
value_not: idle
- entity: vacuum.roborock_s7
value_not: error
- entity: vacuum.roborock_s7
value_not: paused
tooltip: Stop
tap_action:
action: call-service
service: vacuum.stop
service_data:
entity_id: vacuum.roborock_s7
- icon_id: return_to_base
icon: mdi:home-map-marker
conditions:
- entity: vacuum.roborock_s7
value_not: docked
- entity: vacuum.roborock_s7
value_not: returning
tooltip: Return to base
tap_action:
action: call-service
service: vacuum.return_to_base
service_data:
entity_id: vacuum.roborock_s7
- icon_id: clean_spot
icon: mdi:target-variant
conditions:
- entity: vacuum.roborock_s7
value_not: docked
- entity: vacuum.roborock_s7
value_not: error
- entity: vacuum.roborock_s7
value_not: cleaning
- entity: vacuum.roborock_s7
value_not: returning
tooltip: Clean spot
tap_action:
action: call-service
service: vacuum.clean_spot
service_data:
entity_id: vacuum.roborock_s7
- icon_id: locate
icon: mdi:map-marker
tooltip: Locate
tap_action:
action: call-service
service: vacuum.locate
service_data:
entity_id: vacuum.roborock_s7
- icon_id: fan_speed_menu_off
menu_id: fan_speed
icon: mdi:fan-alert
label: "off"
conditions:
- entity: vacuum.roborock_s7
attribute: fan_speed
value: "off"
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roborock_s7
fan_speed: "off"
- icon_id: fan_speed_menu_quiet
menu_id: fan_speed
icon: mdi:fan-alert
label: quiet
conditions:
- entity: vacuum.roborock_s7
attribute: fan_speed
value: quiet
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roborock_s7
fan_speed: quiet
- icon_id: fan_speed_menu_balanced
menu_id: fan_speed
icon: mdi:fan-alert
label: balanced
conditions:
- entity: vacuum.roborock_s7
attribute: fan_speed
value: balanced
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roborock_s7
fan_speed: balanced
- icon_id: fan_speed_menu_turbo
menu_id: fan_speed
icon: mdi:fan-alert
label: Turbo
conditions:
- entity: vacuum.roborock_s7
attribute: fan_speed
value: turbo
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roborock_s7
fan_speed: turbo
- icon_id: fan_speed_menu_max
menu_id: fan_speed
icon: mdi:fan-alert
label: max
conditions:
- entity: vacuum.roborock_s7
attribute: fan_speed
value: max
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roborock_s7
fan_speed: max
- icon_id: fan_speed_menu_custom
menu_id: fan_speed
icon: mdi:fan-alert
label: custom
conditions:
- entity: vacuum.roborock_s7
attribute: fan_speed
value: custom
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roborock_s7
fan_speed: custom
- icon_id: fan_speed_unknown
icon: mdi:fan-alert
conditions:
- entity: vacuum.roborock_s7
attribute: fan_speed
value_not: "off"
- entity: vacuum.roborock_s7
attribute: fan_speed
value_not: quiet
- entity: vacuum.roborock_s7
attribute: fan_speed
value_not: balanced
- entity: vacuum.roborock_s7
attribute: fan_speed
value_not: turbo
- entity: vacuum.roborock_s7
attribute: fan_speed
value_not: max
- entity: vacuum.roborock_s7
attribute: fan_speed
value_not: custom
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roborock_s7
fan_speed: "off"
- type: menu
menu_id: water_box_mode
icon_id: water_box_mode
available_values_attribute: options
icon: mdi:water
icon_mapping:
"off": mdi:water-remove
mild: mdi:water-minus
moderate: mdi:water
intense: mdi:water-plus
custom: mdi:water-sync
tap_action:
action: call-service
service: select.select_option
service_data:
option: "[[value]]"
entity_id: "[[entity_id]]"
entity: select.roborock_s7_mop_intensity
- type: menu
menu_id: mop_mode
icon_id: mop_mode
available_values_attribute: options
icon: mdi:water
icon_mapping:
standard: mdi:standard-definition
deep: mdi:high-definition
deep_plus: mdi:ultra-high-definition
custom: mdi:fit-to-screen-outline
tap_action:
action: call-service
service: select.select_option
service_data:
option: "[[value]]"
entity_id: "[[entity_id]]"
entity: select.roborock_s7_mop_mode
tiles:
- tile_id: state
icon: mdi:robot-vacuum
label: Status
entity: sensor.roborock_s7_status
translations: {}
- tile_id: battery
icon_source: sensor.roborock_s7_battery.attributes.icon
label: Battery
unit: "%"
entity: sensor.roborock_s7_battery
precision: 0
translations: {}
- tile_id: fan_speed
entity: vacuum.roborock_s7
label: Fan speed
attribute: fan_speed
icon: mdi:fan
translations:
silent: Silent
standard: Standard
medium: Medium
turbo: Turbo
auto: Auto
gentle: Gentle
- tile_id: main_brush_left
icon: mdi:brush
label: Main brush left
unit: h
entity: sensor.roborock_s7_main_brush_time_left
precision: 0
translations: {}
- tile_id: sensor_dirty_left
icon: mdi:eye-outline
label: Sensors left
unit: h
entity: sensor.roborock_s7_sensor_time_left
precision: 0
translations: {}
- tile_id: filter_left
icon: mdi:air-filter
label: Filter left
unit: h
entity: sensor.roborock_s7_filter_time_left
precision: 0
translations: {}
- tile_id: side_brush_left
icon: mdi:brush
label: Side brush left
unit: h
entity: sensor.roborock_s7_side_brush_time_left
precision: 0
translations: {}
- tile_id: cleaning_count
icon: mdi:counter
label: Cleaning count
entity: sensor.roborock_s7_total_cleaning_count
precision: 0
translations: {}
- tile_id: cleaned_area
icon: mdi:texture-box
label: Cleaned area
unit: m²
precision: 2
entity: sensor.roborock_s7_cleaning_area
translations: {}
- tile_id: cleaning_time
icon: mdi:history
label: Cleaning time
unit: min
entity: sensor.roborock_s7_cleaning_time
precision: 0
translations: {}
additional_presets: []Javascript errors shown in the browser's console (if applicable)
Additional information
No response