#My vacuum automation never triggers
1 messages · Page 1 of 1 (latest)
-> States
The states are very likely to be lowercase versions of what you have
They are case sensitive
But I don't know how your specific vacuums
For mine, I monitor the state, not an attribute called Status
It's a roomba, I chose Status because that's what it shows here. I tried lowercase too, that didn't help
-> States
And I was getting the states from here, https://www.home-assistant.io/integrations/vacuum/ but now I see that it may actually be "Returning to dock" I need to choose, not "Returning"
ok so the current state is "docked" (lowercase), but the UI gives me a dropdown of options with uppercase
I'll give this a try
oh really? I assumed that was pulling from values it has seen from the device
so I should type it lowercase?
you should use the actual states that you've seen
The dropdown provides the translated values of the raw states for vacuum.
Yeah I figured those were the translated values, but I assumed behind the scenes the UI was sending the "real" value not the translation string
select edit in yaml if you want to see raw yaml
that's pretty confusing
I guess it's trying to be helpful, but it easily leads to confusion
ok yeah the yaml has the correct values even if I choose from the dropdown
in any case, I suggest checking the actual state that you care about in
-> States and make sure you're using that
nothing else matters
current state matches what I have in to so I'll run it in a bit and keep track of what it says when it's returning to dock
I assumed that was pulling from values it has seen from the device
It's not pulling from values that are seen, that is the set of possible states of a vacuum. It populates the list based on the entity type being vacuum.
ah ok, so in theory, if my vacuum doesn't use a value, it could be wrong
AFAIK anything that makes a vacuum entity has to use those states.
What looked wrong in the original post was the use of Attribute, have you removed that in the latest version?
yes I removed that
AFAIK anything that makes a vacuum entity has to use those states. - I guess I mean, if my vacuum doesn't have a "Pause" option, then it may never report the Paused state
gotcha
yeah, it looks like it maps to one of the inherited state values:
STATE_MAP = {
"": VacuumActivity.IDLE,
"charge": VacuumActivity.DOCKED,
"evac": VacuumActivity.RETURNING, # Emptying at cleanbase
"hmMidMsn": VacuumActivity.CLEANING, # Recharging at the middle of a cycle
"hmPostMsn": VacuumActivity.RETURNING, # Cycle finished
"hmUsrDock": VacuumActivity.RETURNING,
"pause": VacuumActivity.PAUSED,
"run": VacuumActivity.CLEANING,
"stop": VacuumActivity.IDLE,
"stuck": VacuumActivity.ERROR,
}
so you'll only get those values
which all come from here:
class VacuumActivity(StrEnum):
"""Vacuum activity states."""
CLEANING = "cleaning"
DOCKED = "docked"
IDLE = "idle"
PAUSED = "paused"
RETURNING = "returning"
ERROR = "error"