I find this the most frustrating part of home assistant. Having been a software engineer for 20 years with a MSc in IT, I find it very difficult to get my head around. It just seems that after years of ‘if then else’ style statements in most popular languages, trying to push coding into a XML style really causes headaches.
Having looked at the forums, it’s filled with messages from people trying to do simple or and other basic logic statements, things my 10 year old can do in basic.
Could we not phase out the YAML as legacy and introduce a standardised and easily read language?
I believe it’s the single most thing that holds people back from using Home Assistant.
Maybe the elephant is not so much yaml as the fact that HA gives users the impression that they are writing programs. In spite of all the fancy bits, automations are really only rules: when this happens, do that. A change of perspective might make a lot of difference.
As I understand it, bringing all YAML editing etc. to GUI is on the roadmap as it stands. It’s definitely an elephant, but it’s also definitely being talked about.
Personally I like YAML as long as I remember that it’s just configuring what I want with what’s available via otherwise coded if/then/else statements.
I do everything I can in yaml. it’s not that hard. I never understand the complaints about yaml at all. it’s all about the indentation. But even that’s not complicated. just keep it consistent and it pretty much just works.
Jinja on the other hand can get complicated but there is very rarely something I’d like to accomplish that I can’t do in yaml and/or jinja. the jinja may end up being more kind of brute force without knowing the finer points but I can generally get things to work.
I can see people who want to do everything in a UI having trouble with yaml once they get to the point that the UI is too limiting for more advanced stuff and they are forced to use yaml. Since they have no baseline of understanding the easy stuff then the harder stuff becomes overwhelming quickly. Which leads to frustration.
the moral of the story…don’t use the UI and just learn yaml.
Personally, I’d much prefer YAML to putting all configuration in the UI. I have seen reference to the policy decision to move from YAML to the UI. I’ve also seen reference to a decision to minimize user configuration. Confirming this, it seems like every time something is switched from YAML to using the UI, some options are removed.
I’d rather have to do a little reading to configure things the way I want, than to have the option removed entirely.
I was trying to be helpful there. I’m quite sure I’ve read in this forum that there is a direction away from YAML. And I’m positive I’ve seen the comment that decisions have been made to make things less user configurable. More than once.
This isn’t a value judgement. Knowing the long-term goals of the project should help all of us understand why things are being done the way they are. That should reduce misunderstandings.
As for the WTH thread, I’m optimistic that there will be a benefit to the open airing of both ideas and user pain points. I’ve done a lot of development in my career, and I can assure you I’ve encountered both helpful and unhelpful users. I’ve found that listening to the day-to-day challenges the users face is very helpful. Dismissing them all as whiners or glass-half-empty types, or any other “Us vs. Them” approach, isn’t.
No one is being dismissive about the WTHs except the people in that post, and you’re right there with em… that’s what’s ironic about this. Now you’re here saying the devs are being dismissive. Gimme a break. You’re making this an us vs them, no one else.
Personally, The only issue I have is editing YAML in the antiquated. minimalistic YAML editor built in. My workaround is using a REAL editor (like Altova or oXygen) and a regiment of copy YAML (twice, once for current state), edit, test, the deploy.
The biggest issue is the autofill of entities or icons, etc. Wish I could have a better, more complete YAML editor. Getting there with collapse/expand but horrible on copy/paste, no resizing (why have left/right panels that you cannot change size?), can’t move it, …etc.