The future of YAML

It doesn’t have to be like that. There maybe some technical reasons as to why it’s like that, contact the codeowner and or submit a feature request :slight_smile:

Is this related to this change because you were previously able to change it manually or you are just commenting some problems you had with the new UI?

You make a great point there. Maybe I went on this a little too short sighted…
To be honest I’m just happy to see that it is moving in the UI direction, I’m not so great at YAML and never tried and probably never will do that templating thing…

@123, I know I came from Hubitat. But to be honest I think their UI is an terrible example of UI in itself. And that is the cause why it’s not for everybody. I tend to do as less as possible with RM. And the whole reason how the HE team reacts to suggestions and complaining is the reason I’m back here. I was here before Hubitat, but couldn’t figure out the whole YAML stuff and went to Hubitat. But I still think HA is the platform with the most potential in the market. Even compared to closed source platforms. So I’m going to invest in HA for the future and since I can manage my current demand in automation with what HA currently offers I’m very happy with what has been done the past year!

3 Likes

Sorry I thought we were relying on UI to get things done from now on :wink:

this is meant wholly light heartedly

3 Likes

I could have and chose not to do so. No need for naming names and throwing mud, is there. If anyone feels like I directly talked about them, that is most likely not the case. I spoke of the general tendense and more than a handful of users that I feel are out of line. This is my personal opinion, and if you disagree that is fine by me. I am just trying to get the point across that we can all talk like adults.

You are right, I stand corrected. My assumption was that the fast majority is using HA as a free product.
I have no idea about any numbers of paid usage, and honestly I’m too new to HA to really know what the paid tier actually brings.
Please correct me if I’m wrong but I think we’re talking about Nabu Casa here? My understanding of this was that this brings a cloud service to HA without having to set up your own SSL and port forwarding in your router. Or does it also extend the GUI / Yaml interfaces?

Nabu Casa also makes setting up voice assistants super duper easy. I’m surprised I put up with emulated hue for so long after this being available.

However I configure the Cloud component via YAML because individually clicking 150+ entities to enable/disable them is a complete PITA

1 Like

I can’t dive too deep into this but we have a software package that had configuration files that were set up in the UI. The UI drove text configuration files, something that looked like this:

CATAGORYA PARAMETER_A 0
CATAGORYA PARAMETER_B 1
CATAGORYA PARAMETER_C 5400

Now immagine 100s of these files and mix in .ini files here and there all residing in one location. Oddly enough, we called it ‘config’ as well.

Everything was text editable and required a restart if edited. If you edited through the UI, it did not require a restart. We also had a backdoor keyboard hot key combination that would bring up a text editor and you could view and edit the files that way (which also didn’t require a restart).

So…

Our machines measure things in all sorts of markets. If you mess with the configuration you can basically lie your way into correct measurements if you know how to manipulate the files. Not only that, you can shorten the life of your device if you use incorrect values.

The other drawback to this system was that people would drag files from one machine to another. This was no good because no two machines are alike.

It also held us to a rigid structure for our database which made development a pain in the ass. If we wanted to change everything a migration tool needed to be developed for each revision.

So we put an end to all that by moving to ‘snapshots’, we don’t call them that but I’m not going to use the real name.

The benefits of a software controlled configuration are:

  1. You can easily build a version controlled migration tool that handles upgrading and downgrading databases without impacting the customer. With a good api, the database under the hood doesn’t matter as long as the software understands how to get the information out through the migration tool.
  2. You can constrain what is placed inside the configuration. You no longer have to worry about Joe Schmo putting 1000 into a field that shouldn’t go above 10.
  3. 1 big ole database. You don’t need to maintain 100s of files. Everything can be contained in 1 big database. And you don’t have to hunt an peck for the information. Your software should do that for you.

Ultimately we did need to add a few tools to help users:

  1. We added a backup/restore function.
  2. We added a way to backup/restore ‘chunks’ of configuration.

In the end, the interaction users have now is now just done through the UI instead of text file configurations.

1 Like

[quote=“123, post:192, topic:186879”]
BTW, this thread would be half its current length if the announcement started with a mea culpa :

We spoke too fast when we stated YAML wasn’t going away. Since then we’ve learned new things and have changed our minds. We’ve decided that it will go away in some places but remain in others. It depends on the use-case. Here’s why we’ve chosen this new direction … etc etc.[/quote]

Absolutely, yes. I started reading the article and thought it was a sincere reach out to the community, and was impressed until I got to the ADR section where I was like… Wait, what? Are they flipping us off? … … Yes, yes they are. That is truly how it felt.

In the end, we need to find a way to move on. Would pretty much all of us “whiners” (words from those that say the other side is name calling) stand down if .storage was editable YAML, where the system could be in control it but still let us tweak things? Yes, of course, but that decision was already made quite some time ago.

Will everyone’s voices be considered going forward to see if there can be there be common ground in the future or will this be another Emby/Jellyfin in a few years?

Stay safe, everyone.

8 Likes

I’m only bothering to mention this because I’m sympathetic to your point of view that we should not attack people.

Calling someone “childish” is, by most accepted norms, a personal attack. You’ve effectively negated your request to “don’t attack people because your opinion is different” by attacking people whose opinion is different. It’s challenging to establish common ground this way.


I believe what fires some of the heated posts is this post made last year:

The statement was broad and did not make exceptions (like “Except for this, that, and the other thing, YAML is here to stay”). As a result, it has been interpreted as being one of the founder’s commandments (like ‘privacy focused’). For everyone who had used Home Assistant for more than a year (at the time) it was comforting news.

Since June of 2019, observant users have noticed the original statement isn’t without exceptions. Whether ones calls it ‘change of direction’ or ‘back-sliding’ (or stronger language) there was mounting evidence that YAML is not entirely ‘here to stay’.

Ideally, the original statement should have been clarified at the author’s earliest convenience. However, here we are almost a year later, allowing for more than enough time for people’s suspicions to evolve into grievances.

As I’ve already stated, this announcement might have had a warmer reception if it began with something like “I misspoke.” Instead, it comes across as revisionism; yes, of course, YAML is here to stay but

Having observed past contentious decisions, it’s highly unlikely that ADR-0010 will be repealed (especially that design decisions are now being codified). YAML will continue to be used but is being phased out for certain applications.

6 Likes

Which is precisely why I put a word ‘news’ in quotes earlier on. This isn’t news, it’s been happening for at least 11 months (I know this because I binned my github repo 9 months ago, which was a result of a two month uptick in correspondence), probably longer.

So to ‘write it down’ yesterday and say ‘this is brand new and this is what we’ll be doing from now on’ is, frankly, a lie and to deliver it in such a sketchy manner does not inspire confidence.

The announcement should have been made about a year ago, with in a similar vein to the ‘mea culpa’ suggested above.

2 Likes

Full disclosure, I have not used Hubitat but have watched their official instructional videos and I occasionally browse their forum. It’s good to know what others do in order to gain perspective.

Although Rule Machine’s UI won’t win any prizes for innovation (Bruce himself admitted it could be prettier but hasn’t the time for it) it is significantly more powerful than Automation Editor. That’s mostly due to the fact it exposes every possible capability via the UI (arguably it has to because there’s no other way to compose a rule).

In contrast, Automation Editor exposes some but not all of what can be done with an automation. If one were to say Rule Machine’s UI is a “terrible example” then it would be best to exclude Automation Editor from any comparison.

For anyone interested, they can view this introductory video and compare functionality for themselves. The video presents a rule (automation) that you should ask yourself how you would do it with Automation Editor.

To be clear, I’m not disrespecting the fruits of anyone’s labor. Automation Editor just happens to be one part of Home Assistant that needs to attract the attention of more developers. Much has been done to improve it and more remains to be done.

1 Like

To be fair, it’s extremely hard to get on that level. Not because of technical complexity but rather because of the culture of the HA Team.

You of all people should know that best. You’re so aware of this it’s even the first sentence of your Github bio.

“Slightly assholic at first sight :face_with_thermometer:

If a project is actually interested in contributions from outside the inner circle, it’s simply not possible for its team to ignore communication/cultural issues… let alone taking pride in them.

But that’s just my 2ct. Since I’m not a paying customer, feel free to completely ignore them.

4 Likes

Stating that HA would not be interested in contributions from “outside the inner circle” is ridiculous and untrue. Everyone interested in contributing is welcome to do so. HA as a project would not be where it’s now if this would true. Just take a look at the number of contributor alone for the core repository counts 1880 individuals who shared their effort to improve it.

So I really don’t understand where you get that idea from.

3 Likes

insert gif of stickman with ‘the point’ flying over his head here

Looking at absolute numbers alone is inadequate, since it wasn’t always this way. To get a better view, one would have to e.g. plot new contributers over time and then add markers which indicate philosophy changes. This of course would need to take a deeper look at the nature of the contributions. Changing documentation and/or three lines of code isn’t whats relevant here.

1 Like

Just decide if you want to stay with the HA if its not going in the direction you want it to and accept it or leave. Its your choice

As HA is still not at V1 then I’d consider it beta, and changes of direction are pretty much ‘part of the game’.

I’d like to think there are more options than accept or leave. As this is open source, I’d like to think there should be a ‘fix’ option too. :slight_smile:

2 Likes

I strongly do not agree with that. I didn’t know anybody, heck, I was bored to death when I found out about Home Assistant back in 2017. My newborn and wife sleeping; Me sitting there, trying not to make any noise, browsing the net.

I’m not worried about the culture of any of the HA team and not worried about the general culture with the contributors.

I wonder where you get that feeling from? What have you tried to add to our codebase to come to that conclusion? Did a PR go south?

I know one thing for sure, I did not go into these forums complaining about theories on an inner-circle or a culture. Nor did I address developers personally as you did with me just now…

I started coding, writing and helping out. I’ve spent around 30 hours a week, besides my full-time job and family with young kids. I still make 60+ hours a week, I’m not sad about it; I simply love doing it.

As that is part of my motto I stick to with every day; “How am I going to make a difference today?”

But it is things like that response, you wrote there, directed at me personally that doesn’t make me the slightly assholic right now.

But that’s just my 2ct. Since, while I work for Nabu Casa, I’m still a paying customer myself. Just because I feel like I want to support the project. Feel free to completely ignore me.

…/Frenck

10 Likes

@frenck It’s a good response, honestly :+1:
I like that you replied calmly and in many ways I agree with your points and share your feelings.
Imho it was not appropriate to address you personally and publicly in such a way, it’s far beyond but that’s their choice I’m afraid.

Just wanted to add my 2ct here as I can’t say I totally don’t understand that person’s feelings.
So I want to explain a bit.

We’re all different and at different point in our life we evaluate things through a prism of our past experience, feelings and a lot of other things. So even one person might react to the same situation differently today than they did a year ago. And a year later it might be not the same as today. Completely normal as we’re not robots.

That’s why we often fail to understand other’s motives correctly - it’s just impossible to get into their shoes, especially if the only thing you know is some words that person wrote as it’s just words, they don’t always directly reflect or accurately convey person’s feelings (as not all of us are great writers or psychoanalysts) and hey, you need to take into account that for many of us English is not their native language and it makes things even more complicated (don’t forget about culture differences, too). So it’s often “lost in translation” and it happens to us all every day in life but here it is more prominent because of the nature of the interaction - in 99% of cases you don’t know a person you interact with and the only thing you know is the words on your screen (and maybe your past interaction with that person if your memory isn’t full of other stuff already).

Because of that, your feelings about culture in HA and the general culture with the contributors or whatever else are you personal an unique traits and cannot be compared to anyone else’s, it’s just pointless because of the above and at least one more important thing: you have a special role now.

Imagine you’re the secretary of state/president of your country. You usually act not as an ordinary citizen but have to consider the country’s interest and in many cases that means your actions impact life of many of your citizens in a hope that the country as a whole will benefit from it (maybe in a long term and after a period of hardship). There is no way to please every single person. And, very importantly, you’ll never fully understand how your citizen feel about your actions as a) they don’t know what you know about the situation in the country and b) you don’t know how it is to be an ordinary citizen (especially after some time in the role, you’re more or less living in a “bubble” and don’t really know and understand what’s going on on the “ground”).
A good example is the current coronavirus situation. People of many countries are forced to stay at home as the government wants to stop spreading of the decease and prevent their health care system from overload. To make sure it works some strict and sometimes stupid-looking things are enforced. For example, one can do their physical exercise outdoors with a person they live with but it’s not allowed to play tennis with the very same person. From your point of view it makes perfect sense as if you start making exclusions, it won’t work. On the other hand, a lot of people will feel really annoyed/angry because for them it’s just stupid - they do everything together and it won’t do any harm if instead of a walk hand-in-hand they play a game. One situation, one goal but very different feelings.

Now back to HA. Currently you are not an ordinary HA user. In many ways you’re different from all of them.You can directly influence the way it goes as you can write code, make your point during internal discussions and stuff. You get much better understanding of the current situation and many big and small details that are all part of the complex puzzle called HA. And your “How am I going to make a difference today?” has a special meaning because you really can make changes.

But the picture is different if you try putting yourself in the shoes of a normal HA user (preferably not Frenk v.2017 as you’ve become a member of the HA team because (I presume) you suited each other well and the situation was right for you personally).
A direct analogy with coronavirus situation described above. You’ve been told to do this or that, sometimes with a stupidly sounded explanation or even without. And you actually have no choice as there is law, police etc. You can obey, start drinking, go to jail, commit suicide… that’s about it.
Fortunately, it’s not as bad with HA as one can leave the country but it’s hard after years in it and thousands lines of configs so I really feel for those who have to do that, it’s tough considering they loved HA when they joined, and they spent and possibly contributed their time and knowledge but now are forced to make a move.

You ask " where you get that feeling from". I presume it’s not only about PRs going south (it happens), it’s more about the way of interaction between contributors and decision makers. And for that reason it might be difficult for you to understand it fully as you’re in a different camp/play a different role. It also might explain why you are not worried about the general culture with the contributors - you are no longer one of them (as I explained above about your role) and things have changed dramatically since you were.

My personal (a very modest comparing to the others) experience was similar. I saw situation when myself or someone else from the community made a PR or opened an issue that affected many of us (like issues with away_mode in generic_thermostat - the issue is still there after more than a year) and yet there was no response/actions/review or the response was shocking an inadequate (the most notable - from awarecan, something like “I won’t spend my time dealing with a component I’m not interested in” in the middle of discussion).
With time and some successful/not so successful contributions I kind of developed a view that allowed me to carry on contribution even if my contributions/issues were refused for some weird reasons or completely ignored/misinterpreted (lack of the core devs’ time or a more deep weakness?)
I made some contributions and I helped people on the forums by sharing my experience/code and I’m glad that some of them were able to benefit from it. I know there are people who see my participation in discussions wrong for various reasons but that’s another story.

This situation made me look at HA from a different point of view and ask myself a slightly different question.
I’m an ordinary user here.
Do I really want to spend my family/sleep time writing code/making a contribution that could be rejected/put on hold/not looked at as there is no clear and predictable process?
Do I really believe I personally can make a difference by contributing?
Do I think it is sensible to build my smart home solution around the product which one day might change its nature not because of its users’ will but for some obscure reasons I’m not aware of and that would force me to decide whether to stay or to go?

Unfortunately, I have no positive answers here. Mainly because I’m not convinced that HA is community-driven project as its community has no say, it isn’t involved in the decision making process as we can see.
Don’t know if you personally understand that and don’t think it will impact anything in HA world as I’m just one in an ocean of users and it won’t matter whether I stay or go or whether I continue contributing on not.
On the other hand, if each of us at some point will ask themselves similar questions, it might have quite substantial impact as this project relies on community. From the history I know what happens when people in power get too detached/(self)isolated from who they rule.

12 Likes

Lower motives should must be the last possible Explanation evaluated. Not the first.
That’s what I’ve noticed in the PR you referring to as well, but that’s certainly not the only occurrence nor the reason why I think about the situation this way.

I do understand why people who work with end-users a lot may fall into this behaviour, because indeed these people tend to be like that.
DEVs however usually aren’t. And that’s where things start to break.

I know it’s hard to handle these different user bases, since you cannot for sure know, whether or not the person you’re interacting with may be problematic. I’m just worried about the defaults.

This shouldn’t mustn’t be the benchmark for newcomers.
It’s nice that you do that and I too have spent countless hours for FOSS, but to require this kind of investment into this one specific project as the criterion which defines whether or not opinions are valid, isn’t exactly an open project.

Edit:
Also, 100% what @akasma74 said right above this comment.

3 Likes

I still disagree since just by looking at the past 20 releases there were on average more than 80 devs contributing to HA. If you consider 80+ the inner circle… I don’t think so.

The number of integrations is still growing with every release and this is certainly not driven by what you call the inner circle, let alone the “paid devs”.

Yes, reviews can feel discouraging and harsh at first, if that is what you refer to, but this is common and in hindsight usually improves the code quality.

2 Likes