Goal
Integrate the Wyze Robot Vacuum into Home Assistant.
Why?
Because everything should integrate into Home Asistant!
Why Wyze Vac and not something with Valteudo?
While Valetudo is an awesome project, I am not someone who has enough patience to find a vacuum that can use it then install Valetudo. I’m okay using the Wyze Vac knowing that it uses an unofficial API that may one day not work and never work again. If that does happen I’ll be happy with the time we had together but not be upset because I went in with my eyes wide open.
If that sounds like you, then join me in making our homes a bit cleaner.
Parts List
Wyze Robot Vacuum (kind of essential for this guide)
Blueprint: Robot Vacuum Auto Status Update (Wyze Robot Vac) I made this for the occasion.
HACS Integration: Simple Wyze Vac Also has you install Robot Vacuum Card
HACS Integration: Scheduler Component Also has you install Scheduler Card.
My Dashboard
Card 1 - Vacuum Card
Nothing special here. I just followed the great instructions for HACS Integration: Simple Wyze Vac.
It does not have a map integration, but do you need that in Home Assistant?
Card 2 - Vacuum Schedule
This was created using the HACS Integration: Scheduler Component and Scheduler Card (install instructions on Scheduler Component page.
The reason I used the Scheduler Card (as opposed to HA’s Automation) is that it is much easier for other household users to manage this. And, you can use the Scheduler Card’s tag functionality to only show the automation relevant to the vacuum here. So if you have a Scheduler Card on another dashboard that automation won’t show here and vice-versa. All in all, a better user experience.
Another benefit to scheduling the cleaning in Home Assistant is that it automatically updates the status of the vacuum and nicely triggers the status auto-update blueprint. Using the Wyze app doesn’t do that.
Here is my Scheduler Card automation:
“Start” just started a whole home vacuum.
I have a “Vacation Mode” input_boolean that I use in various automation for the stated purpose.
Card 3 - Status & Scripts
"Is Vacuum Running?"
This is a boolean template sensor that is true when the vacuum is moving. I use this to prevent the motion sensors from tripping the alarm when the house alarm is armed so that the vacuum can run while we are away.
sensor:
- platform: template
sensors:
vacuum_state:
friendly_name: "Is Vacuum Running?"
value_template: >-
{{ is_state('vacuum.jarvis', 'cleaning') or is_state('vacuum.jarvis', 'returning') }}
icon_template: >-
{%- if is_state('vacuum.jarvis', 'cleaning') or is_state('vacuum.jarvis', 'returning') -%}
mdi:broom
{% else %}
mdi:sleep
{% endif %}
Replace “jarvis” with the name of your vacuum.
“Vacuum Main Rooms” and “Vacuum Bedrooms” are scripts written the same as the examples on HACS Integration: Simple Wyze Vac.
service: vacuum.send_command
data:
command: sweep_rooms
params:
rooms:
- Hallway
- Kitchen
- Living Room
- Bathroom
target:
entity_id: vacuum.jarvis
Improvements
- I still want to figure out how to set a reminder after a certain number of minutes cleaning to empty the dust bin.
- I want a notification (from Home Assistant and not the Wyze app) for when the Vacuum gets stuck. Maybe a trigger for when it goes from ‘cleaning’ to 'paused status for x minutes. Haven’t tried yet.
- The reason I don’t want a notification from Wyze is that the Wyze app doesn’t currently allow you to choose notifications you want. It is all or nothing, and I don’t want notifications for everything, just the problems.
What have you done to integrate the Wyze Vac?
Updates August 2022
At one point there was an issue with the authentication token, but the Simple Wyze Vac has been fixed. During that time I was using a zigbee open/close detector to detect if the vacuum was away from the base.
Now it is working well!
I no longer use the scheduler component for scheduling. I actually have the Wyze <> Alexa integration and us the Alexa hunch to run the vacuum whenever Alexa guard mode is on. Alexa guard mode is set by Home Assistant.
What have you done with your Wyze vac?