WTH Do I still need to be a rocket scientist to get things done in HA

6 Likes

I think the problem is not using an Xbox 360 Kinect.

Thanks all for the suggestions, luckily I did discover the python and pyscript implementation, but found out way too late that I didn’t need a workaround to get the results back from a function because no outside return was permitted, but a ‘response_variable’ in my YAML code (which sadly the LLM says only entails a empty object, but the notify file does show the contents… )

Moving on, so for me the key items I take from this are:

1-UI more geared towards an answer/solution to a question “What would you like to do/achieve” and take users through those steps.
2-YAML implementation that helps the (new) user intuitively use it

1
Looking at the script (or automation) interface, especially the ‘Action’ list might really benefit from a revamp. If the ‘Actions’ could be altered into the answer to “What would you like to do / achieve?”. The initial UI interface probably might also benefit from example data (greyed out) that would explain more what is expected with the different fields.

2
Perhaps the YAML could get colored background in order to see what belongs to what, it could definitely help to get a proper error message that means something in order to fix it.
Also when jumping from the UI to the YAML, why not have it give you all the needed items prefilled with example data?

Lastly, I think the biggest frustration might occur, because of when you get stuck and search in the documentation, and when this doesn’t help, on the internet, you quickly find dozens of ‘workarounds’ or solutions that might have been needed / worked in the past. And this will throw you in the rabbit hole.

To prevent this, I think at first it would be helpful to get better error-messages, pointing to possible solutions, for example in the YAML editing, "Wrong variable ‘value’ used, this item expects a variable ‘message’.

Taking it even further, and this is what I caught myself doing, pasting error messages into ChatGPT, it would explain to me what the error message meant…ohh and it was able to correctly indent my YAML.
I can only think of what an internal Home Assistant -trained AI could mean to help in this. (When an error occurs have an AI-popup-screen display with the meaning of the error and a list of (directions in) possible solutions).

BTW ActionScript really was far from an Abomination (but I can understand this is true in the eyes of a programmer :wink: ), it meant non-programmers were able to create the most amazing content!

Absolutely. One needs templating all the time, because quite a few integrations just foreward “raw” data to HA and you need to format them yourself.

Like e.g. to simply convert a wind direction from degrees to human readable text (north, northwest, west, etc.) there is no other way than writing some advanced mapping in YAML, that is by no means acessible to anyone who does not code on a regular basis.

This is not a simple task in any programming language.
So how is this supposed to work without programming?
Specifically now, explain in a syntax how this should work

There was a lengthy and heated discussion in this WTH about why a lot of people here think this is an important technical distinction even though from an non-techie users perspective it makes no sense.

1 Like

I agree with OP in general. It’s worth to say, it’s not only HA. It’s a common problem of a lot software development teams and their products.

It’s proven that developers tends to create user-facing part of system in a way exactly reflecting software internal structure or processes.
It comes from several facts:

  • they are not users of their software
  • they know well how their sw does work under the hood so they feel no need to make user-facing behavior different
  • they have no knowledge or imagination about ouside of their desk (ie designing systems working with local time only or hard linking date format with a language)
  • there are no user-journy analysts in dev teams

The most common example are front edit forms and their workflow follows exactly relational database model used by the system.
Let’s look at Hacs current GUI. One page with filters next to useless.

Another example is mentioned NodeRed. To make it working you need NodeRed extended with HA nodes (add-on), NR custom extension , available in hacs, and integration running.
End-user really don’t want to cope with all dependencies.

Speaking add-ons. This issue comes back again and again with every WTH. Users often don’t understand the difference between addon and integration or custom integration. And guess what… HA devs did nothing to this situation.
While I understand the differences I agree that at least naming is confusing. At the end I can imagine installing and maintaining all extensions from single page.

In a lot if cases making interfacing with a user must not be expensive or complex. In others might need additional effort. But if we stand on user site and look from user POV, it hard to jot agree that HA has a huge room for improvement.

1 Like

Thats exactly what I’m saying. I don’t know how this works or even what you mean by “Syntax” in this case. I’m not a developer.

All I’m saying is that as it currently is, you buy e.g. an Ecowitt Weather station and on the Ecowitt App you get human readable wind directions along with a nice animated compass. But on HA you can’t get human readable wind directions without coding in YAML and a compass would require a custom card from HACS that is not easy to set up either.

From a non-techie users perspective this is not and never will be understandable.

2 Likes

THIS exactly - and it makes said software basically unusable for people who have no understanding of software structures and coding.

As a non-developer coming to this forum can be extremely frustrating because some people just tell you that not knowing software / coding is the problem aka. “RTFM” and to “just learn YAML”.

3 Likes

I did do a separate WTH for TTS ability to speak entity states and values from the gui instead of depending on templating. Nobody has read it.

Sure, the integration should provide it out of the box. The goal would not be to simplify templates but to make them unnecessary for this use case, but there are a lot of such cases and time is limited.

There was a lengthy and heated discussion in this WTH about why a lot of people here think this is an important technical distinction even though from an non-techie users perspective it makes no sense

This thread has shown exactly why it makes sense - there are complaints about nonuniform UI between Zwave and Z2A addons and the rest of Home Assistant, which of course cannot be solved by HA because they are not internal applications. There’s definitely improvements to be made in how this is explained, but saying that they’re all basically the same is just going to lead to more confusion.

4 Likes

Or it’s a technical product, like, say, a PCB layout application. Can someone with no electrical engineering rightfully demand to be able to lay out a PCB with zero understanding of track widths, layers, etc.?

It’s not that hard to understand. Do you expect Windows to come with every application you need?

Many users don’t want to read or learn either. Did the first general users of computer had to learn new things to deal with a new interface? They sure did.

What should they have done? The thread you linked explains this.

If HA controlled a whole ecosystem in the same way say Apple does, then perhaps you can make things super easy, but HA is a middleman. You necessarily will have to understand a few things. You cannot abstract everything away (not without some simplification and some loss of functionality).

5 Likes

You don’t need to be a developer.
Again how should you write so that HA knows you mean “get the state of this entity” and not speak out loud “sensor.wind_direction” and how should you write to get the wind direction?

You always have to differentiate between text and programming text what ever the language is. Since we still only use the same keyboard then we must somehow tell the program running/reading what is what.
And seriously is it really that hard to understand what {{ states('sensor.wind_direction') }} is or how to change it to something else?
Looking at developer tools you see a few examples and clicking on the links lead you to the documentations.

1 Like

I’m not offering arguments. I’m simply explaining how things currently work with the questions/statements you directed to me. Sorry if that’s not clear.

1 Like

Lol. Yes, it is! Soso much.
This is exactly the “just do it in YAML” mentality that makes HA inacessible!

If you dont know coding, how would you know what “states” is and why & what all these funny brackets and punctuation should be and how you could change that to something else? And to even be able to do that you first have to install File Editor and find out what a config file is and where & in what indentation structure a template is built.

And btw. for this example its not just changing (or rather adding, because it’s not there to begin with) this:

{{ states('sensor.wind_direction') }}

…it is this completely illegible heap of symbols:

template:
  - sensor:
      - name: "Wind Direction TXT"
        unique_id: wind_direction_txt
        availability: "{{ has_value('sensor.ecowitt_wind_direction') }}"
        state: >-
          {% set dir = states('sensor.ecowitt_wind_direction') | int(0)  %}
          {% set navDir = [ 'N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW', 'N' ] %}
          {{ navDir[ (dir/22.5) | int(0) ] }}

All this is SO INSANELY FAR outside of what one can expect from a normal user, it’s funny to me that anyone would not see that.

@parautenbach posted this a a few post up and i think it really is susch a good explanation of what all this is about:

xkcd.com

Average Familiarity

How could anyone consider themselves a well-rounded adult without a basic understanding of silicate geochemistry? Silicates are everywhere! It’s hard to throw a rock without throwing one!

4 Likes

Then HA is not for you.
Seriously.

1 Like

Seriously? This again?

There is an official WTH section where people are encuraged to bring up things that don’t make sense to them so they can be improved - but when they do, this is the answer they get.

And people are seriously wondering why newcomers get frustrated.

I’d say the WTH section is not for you

4 Likes

If you don’t understand that simple then it really isn’t for you.
Why do everyone think everything is for everyone.
If it’s not for you then it isn’t.

I know soccer isn’t for me and if someone says so then I don’t start crying and say it’s the second time someone said so.
I know I’m not smart enough to be a rocket scientist either.
So just know your limits

I think one can perfectly use and set up HA for a lot of things without ever understanding that. First, it’s really not needed for a lot of basic things. Second, for more advanced things it’s often a matter of copy pasting code shared by someone else.

I guess the problem for some people is the sheer breadth of what HA makes possible, compared to major commercial competition. It feels like you can do everything in HA, and that’s true, but not everything is easy to achieve.

2 Likes

Ok, cool. Imma tap out at this point, no point in wasting anymore time on this thread.

1 Like