Custom vacuum-card for Home Assistant

I was frustrated with primitive cards for vacuum cleaners, so I built one:


Looking for feedback!


Thanks for sharing.

Currently using “(Xiaomi) Vacuum Card”, I will try yours and provide feedback in a few days. :slight_smile:

My cleaner is a Xiaomi V1 with custom Valetudo firmware.

Looks good, a few things appear to not work though for my Neato D6. There are sensor showing for the side brushes and stuff that aren’t supported by my unit (they are not attributes within the vacuum object) and so they show up as just ‘Sensor’.

The bottom bar is also for some reason see through, you can see the background showing.

In the latest release stats for sensor can be disabled and customized. That might help you.

works flawlessy for my xiaomi vacuum cleaner. Is it also possible to use it for a non-wifi vacuum robot? i have one running around that I currently control using a broadlink IR sender. can i use the actions to call a service with an entity_id?

 - compact_view: false
        entity: switch.stofzuiger
        image: default
        show_name: true
        show_toolbar: true
          - name: Clean living room
            service: switch.turn_on
              - entity_id: switch.stofzuiger
            icon: 'mdi:play'
        type: 'custom:vacuum-card'

it works great with my roborock S6. I would appreciate some custom scripts examples for dedicated rooms cleaning e.g. only living room

@kadfils you can take a look at my scripts for cleaning rooms:

Sure, you can pass any service_data if needed.

I’m loving this card. It works perfectly with my Roomba 980. I secund the strange see through bottom bar. On the stock theme or looks fine, but on all my other themes, it’s clear and looks a little out of place. Any plans on changing it?

I have a couple questions about this card and the integration. (using a Roomba 675)
I have configured the system to my liking but I noticed a couple things I don’t understand.
When my Roomba is running the cleaning area is not shown and also the cleaning time values are lost when the unit stops. It would be handy if the cleaning time was accumulated so I can use this for notifications to let me know when I need to clean / replace the brushes and filters.

First of all, thank you for this card! It’s the best out there!

I would like to ask if there’s any way to hide the “play” button that starts cleanup. I have a gen1 xiaomi vacuum with valetudo re. Every time I click that button it starts a fresh map. I want to prevent that by not showing the icon and have only the custom ones that activate scripts for zone cleaning.

I believe this is very specific to your model of vacuum, so this is something what should be done using sensors/automation on your side.

Not now. I need to figure out how to do this in the most reliable and universal way. If you have any ideas how to make this in the way that would fit everyones needs — you’re welcome, just open a PR.

How can I change the background color of the card?

First of all, thank you for this card @denysdovhan !
It looks amazing! Really nice work!

Well, I have the same doubt as @FuX about the background of the card.
I’ve been trying to edit the colors of the card, like the background and the buttons without messing with the my lovelace theme but with no luck.

Is there an easy way to achieve this? I’m no expert either in HTML or CSS.


Thank you for this contribution @denysdovhan. It’s awesome.

It works with Roomba i7.

A couple of questions:

  1. I have a sensor for bin full but I can’t work out how to display it on the card. Best I can do is display as an entity under the card. Is there a way to display bin full status on the card?
  2. I thought I saw some instructions a while ago in the repository on how to implement the stats on brush hours, filter etc but can’t find them now after a fair while searching. Any pointers appreciated.

As per other comments, would be nice if it played nicely with themes.

Thanks again!!

Any plans to contribute this to the main project? Lovelace doesn’t have a vacuum card yet?


It would be great if we could set a custom action / script behind the “play” button.

Very impressive (lovelace?) card! I’m integrating my roomba 690 into Home Assistant, would you hsave as to how you were able to make that card? All is appreciated!

:slight_smile: David

Definitely Lovelace. I grouped it with a couple other functions i had. I am away from my system for a few days but will be happy to share when i return from vacation.