#My vacuum automation never triggers

1 messages · Page 1 of 1 (latest)

past kindle
#

I must be doing something wrong with my statuses because these conditions never seem to be met, even though the UI shows it is transitioning from/to these statuses. Where do I get the actual status values?

odd rapids
#

devtools -> 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

past kindle
#

It's a roomba, I chose Status because that's what it shows here. I tried lowercase too, that didn't help

odd rapids
#

devtools -> States

past kindle
#

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

odd rapids
#

ignore the things in the dropdown

#

it doesn't know

past kindle
#

oh really? I assumed that was pulling from values it has seen from the device

#

so I should type it lowercase?

odd rapids
#

you should use the actual states that you've seen

inland bobcat
#

The dropdown provides the translated values of the raw states for vacuum.

past kindle
#

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

inland bobcat
#

select edit in yaml if you want to see raw yaml

odd rapids
#

that's pretty confusing

#

I guess it's trying to be helpful, but it easily leads to confusion

past kindle
#

ok yeah the yaml has the correct values even if I choose from the dropdown

odd rapids
#

in any case, I suggest checking the actual state that you care about in devtools -> States and make sure you're using that

#

nothing else matters

past kindle
#

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

inland bobcat
#

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.

past kindle
#

ah ok, so in theory, if my vacuum doesn't use a value, it could be wrong

inland bobcat
#

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?

past kindle
#

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

inland bobcat
#

that's true

#

but it won't make up some other strings that aren't in the list

past kindle
#

gotcha

odd rapids
#

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"