Change "condition" to reduce confusion

ok, i’m guessing that this might get very few votes. because everyone who understands this doesn’t need it. but i genuinely believe this will make home assistant better for a lot of users.

lots of people misunderstand what “conditions” are. they think they are triggers. i believe that’s because the word ‘condition’ can, in some cases, be synonymous with trigger. e.g. “x will happen when conditions are met”. yes, the words “and if” and the subtext underneath it help clarify… but people still get confused… not sure how many people spend the extra minute to read and really understand.

so my thought is that if we make the text stricter, it would cause less confusion. if you think about it conditions are really things that say when NOT to trigger… so perhaps words that better convey that would help.

suggestions:

“restriction”
“requirement”
“filter”

i recognize that a non-functional text change has big ripple effects in docs and screenshots and such. :frowning: but i believe it would truly help solve a lot of confusion.

a less expansive change may be to adjust the title (before condition).

“And if” → “But not unless”

“This list of conditions need to be satisfied” → “Restrict when the triggers happen”

finally, at least to start, perhaps the conditions section should be collapsed. add an “expand” button on the “and if” title… of course, give a way to pin it open once you understand what it is. but make it an little bit of extra effort to use it at first.

I think the words could be:

trigger (perform the automation actions when any of the following things happen):
.
.
condition: (but only if all of the following things are already true):
.
.

that would also convey that triggers are ‘or’ logic and that conditions are ‘and’ logic by default

you can still leave all of the underlying yaml the same as long as the explanation makes sense.

How the hell are people making this mistake when it is very clear here Understanding automations - Home Assistant

They are also well described in the UI now as
When, and if, then do.

Sometimes you just need to be a little more direct, straight-forward and simplified.

And we all know how effective the docs are when no one will read them.

2 Likes

are you under the impression people generally read the documentation?

i’d put this on the category of “clear enough to be understood, but not so clear that i can’t be misunderstood”

i generally agree with you that the documentation is clear IFF the user pays attention.

would you agree with me that regardless of this, people still get confused and mix it up?

if you agree with me that it’s still an issue, we can bemoan how people should not be confused, but the fact that they are means that if there is a way to be even clearer, perhaps it should be considered…

I’m afraid so.

How about when you set up your first automation you have to tick a box to confirm you have read that link?

I don’t think we’ll ever get rid of the terms trigger and condition in the yaml. There is too much legacy code. However there might be some utility in further refining the UI.

you mean like those legal terms and agreement “i agree” checkboxes?
you read those before attesting you read them?

yeah… that’s why i suggested other more ui level changes just to the automation page. e.g. “but not unless”

Automations #2: the condition block.

2 Likes

:point_down:

Well of course they don’t. Documentation is for reference, not reading.

Most people will look something up. Trouble is, their grasp of what to look up will be limited by what they know already - which is not much to start with, and always a bit less than they need to know.

But why do other people care so much? This is an open forum, after all, nobody has to even read posts, much less answer them. It’s very odd.

If this were Netflix it would be the revenge of the nerds. After years of being bullied by jocks, the geeks are in the ascendant… Yet somehow they still feel threatened by dumb questions.

Maybe I could sell that. :rofl:

1 Like

Y’know when I started on HA, I read most of the integrations pages (they were called something else then, are there were waaaay fewer), and all the doc pages, and perused the forums for a while getting the hang of it.

Having said that I was (am) a doco reader, there were less of them then, and everything was configured in a text editor using yaml.

I guess I am odd, but that won’t surprise anyone around here.

3 Likes

I try to think of things from the perspective of a new user. Add to that the fact that HA has become a lot more ‘accessible’ to folks that aren’t looking to deep dive into technical docs. I think this is also a desired approach given how much progress has been made to attempt to make the setup and what-not more point and click. I imagine there’s an ever growing user base that will start out strictly using the UI, get lost in the sauce, and be more apt to post here than go deep diving into mounds of documentation.

Folks with a more logic driven background may be quick to catch on to what a condition is, but, based on the number of posts where folks don’t understand, there’s obviously a disconnect.

It would be nice if a UI change could fix that, but I’m sure there’s always going to be that same disconnect somewhere.

3 Likes

I don’t run my life based on what others’ think.
I don’t help people based on what others’ read.

However, if someone wants my help, they will be referred to the source of how to do it where possible. Everyone makes mistakes, and once they actually understand what condition means, (I could quote a dictionary) after making a mistake once, then they should be good after that.

These Cookbook tagged Community Guides will be referred my me to people often. It is a Nerd effort to help the community in the most meaningful way we can. Please feel free to use them as well, both in contribution and referral, to those that have the questions.

If they don’t want to read and they don’t want to learn, I don’t want to help.

If they expect me to write the code for them, it won’t happen. I don’t have any problem pointing to my config to show how I solved a similar issue, or if I have a code example in one of the Blueprints or custom_templates I share I will also point at that. I will also points to others’ code if I know where someone has solved the issue.

Bottom line is if they don’t show a willingness to learn, I don’t want to interact with them.

6 Likes

yes, yes and yes.

But why do we care? That’s what I don’t understand.

I don’t know these people. I’m not going to lose any sleep if their lights don’t turn on or off. So why do I feel the need to take some sort of moral stance if they don’t seem to be trying hard enough?

I think it’s a social media thing. We think we’re connected but we’re really not. They’re just words on a screen that go round and round and their importance gets inflated out of all proportion with the reality - which is that it really doesn’t matter.

I’m going to go and have a lie down now. :confounded:

2 Likes

Because I spend (spent…) way too much time on here and taking my extra time to help those who don’t want to expend the very minimal extra effort on their own to try to figure it out was taking more of my already too much time on here that I felt I could/should be spending elsewhere on others who were willing to learn or even especially on other stuff in my own life that needs done.

I try (tried…) to be a very helpful person here (less so lately but that’s another story). I’ve even gone so far as to actually spending almost two hours having a help-desk style phone session with a person who asked me personally for help in a PM. Only to realize later that they just had no real interest in actually trying to learn anything on their own beyond the absolute basics. It was very disheartening.

There is only so much time in the day so I have to be choosy on how I spend it. Yes, there is a moral aspect to it but at it’s base it’s just a simple physics issue - time.

1 Like

No DM’s unless you are ready to have a friend-in-need for the rest of your life… Public channel only.

If I have a paid L3 patreon, I’ll do that, but that’s the only way.

Why do it, because I like to help (but on my own terms). I like to feel the light bulb go off when someone figures it out, it’s awesome to be helpful. But if they just want it done for them, that’s not me. I’ll just play cat to their mouse and find a button to push usually. (again, on my own terms…)

I would expect nothing less from others if I were asking for help. (do unto others…)

3 Likes

hurray! this got changed in the recent release.

now hopefully we’ll see an improvement… we’ll see.

Well, I think the

triggers: 
  trigger:
conditions:
  condition:
actions:
  action:

Syntax thing is next release, so they are doing some clean up around these tags probably.

1 Like

that’s cool … nice to have the ui and yaml consistent. but i suspect that the people who are most confused by this are in the ui, so i’m happy that did what they’ve already done.

1 Like