0.94: Config page, is it possible to hide/minimize disabled panels when using YAML config?

Since you are a software dev you could try and modify it yourself?

As you probably know, jet engine mechanics still drop their car off at the dealer to get the spark plugs changed and chefs go to restaurants. There is a pretty deep learning curve to getting in the guts of HA and even then getting the core team to accept a Pull Request is not guaranteed.

I do have a few (very small) contributions to the code in HASSIO but I have not taken on any front-end coding yet.

Making a core change to a project like Home Assistant is a multi-week commitment. Asking a question is a multi-hour effort. It makes sense to confirm that the thing you want to change is worth changing before going off on a quest.

  1. Ask if something is possible
  2. Find out if other people have the same concern
  3. Learn if the core team is already working on a solution
  4. Figure out if a solution is better than living with it – and make sure not too many other people will hate the change
  5. Climb the learning curve
  6. Do the work (often the fastest part of the whole process!!)
  7. Write tests and make sure it doesn’t break anything else
  8. Integrate with other work-in-progress
  9. Pull Request for the core team to review (might require several days of back-and-forth)
  10. Get lucky, PR accepted, now wait for the next release

Every step along the way can have loops and backtracking.

Doesn’t look like there is a way via the service call. It writes errors to the log if there are failures but doesn’t appear to return anything if it’s successful. Certainly, it would be safe to assume that if nothing returns for a certain amount of time, that the check passed.

That being said, I found you can also trigger a config check by sending an authenticated POST request to the /api/config/core/check_config endpoint, and you’ll get returned data to indicate whether the config is valid or not.

Valid configuration returns:

{
    "errors": null,
    "result": "valid"
}

Invalid configuration example:

{
    "errors": "Integration not found: frontend:",
    "result": "invalid"
}

You could leverage this with a RESTful Sensor, but the caveats there are:

  • It will update on a regular interval, even though it really only needs to update if the configuration is changed.
  • You’d need a way to force an update when you change the configuration.

So in terms of trying to use this request purely through Home Assistant, you are a bit constricted. However, I like the potential of this idea, so I’m going to try and put something a little more robust together using AppDaemon.

1 Like

I haven’t updated to v94 yet but I can agree with those who don’t like that the config check button is at the bottom.

If the powers that be want to keep the initial setup boxes at the top (silly IMHO, since it’s usually a one and done configuration, but whatever) then the least they could do is keep the current functionality of the “Configuration and Server Control” exactly as it is and just move it to a new selectable page called “Configuration Validation and Server Control” and leave the new stuff under the “General” page.

the vast majority of people will use the set up page one time. the config checker gets used almost daily by a whole bunch of people. It doesn’t make sense to make it harder to access.

7 Likes

Based on your last comment I guess this is tongue in cheek. But if not I think it’s good to discuss things before spending a bunch of time changing code. I’ll not sure why there is opposition to this discussion.

I’m getting the same disabled card appear at the top of my config also, rather annoying.

Surely if it’s disabled it would be best just to hide the DOM elements here?

Unless there’s something I’m missing?

If they are so distressing for you, you could create a lovelace card to call the service to restart or check config etc.

@DavidFW1960 can you explain how to do this please?

If you store the parameters in plain text in your config, that’s OK, but if you use ‘secrets’ you can’t.

And while you are at it explain why we should be forced to resort to this when a perfectly functional built in solution already exists but has been messed around with to make it less functionally convenient.

Sounds a lot like the old Z Wave Control Panel fiasco…

That is true but so what? I think you need to examine what you achieve by using secrets file… All that is for (for me) is so when I backup to Github or share config yaml that I don’t expose my passwords… secrets and the whole .storage folder is in .gitignore.

Unless you have some kind of edge case…

Well forget the fact that the config checker for the GUI is inaccurate and the recommendation actually is to use ssh as the config checker does miss things… No one is being ‘forced’ to do anything other than scroll down a page. All functionality is still there.

In any case as I speculated, this is only a first pass and given some discord chatter I expect they will make it less obtrusive in the future.

Maybe if more people participated in testing the betas and provide feedback then things like UI changes that seem to upset people could be negated before others are forced to use. Just a thought!

As David has already said, this is only the first take of it.

3 Likes

Not this again…

Balloob tried to me shame into silence a while back using a very similar tactic and I’ll tell you the same thing I said then…

Please try to not imply that I’m somehow not doing my part in this project just because I haven’t immersed myself completely in it to the exclusion of all else.

I literally don’t have the time to do testing on a beta when I spend so much of my time on this hobby trying to figure out how to mitigate the breaking changes and inevitable potential errors when installing a new update, trying to learn things for myself to improve my own user experience with things I didn’t know I could do and willingly spending an extraordinary amount of time on the forum doing what I can to try to help others who are struggling learning the software to help them improve their user experience as well.

Then when you add in having a real world job work and needing to have some semblance of a real world life then I think it’s beyond ridiculous to expect me to spend more time in this than I already do.

I personally think I do my fair share in contributing to this project.

The way some of the people here act I think there ought to be a new entry added to the main Home Assistant webpage with a user agreement:

“By downloading this software you agree to give up the right to perform any functions outside the scope of this project that does not include maintaining, testing and upgrading the software. You also agree to never voice any disagreement or ever make any statement that that can be misconstrued in any way as being not in complete concordance with what any official developer ever does. This is not your software. You are only a user. Any criticism or any other negative display of feelings toward the software will be immediately met with derision and the following mantra will be leveled at anyone who violates this agreement: “This is free software. You aren’t a developer. You should contribute more. You haven’t earned the right to have an opinion. Please be silent”.”

The worse thing in this whole thing when stuff like this happens is that for the vast part I really do like the software and really don’t mind putting the effort I do to help myself and others but as soon as there is any complaint at all then this is what is the inevitable response by the usual suspects.

Just a thought!

:roll_eyes:

6 Likes

Fair enough. At least it is still there.

Did I mention you in particular finity?
There are many who contribute here, but when you see comments like annoyed/why has X changed it must get tiring for those who develop it. I have seen to many open source projects lose excellent developers just because the stream of critism of their efforts is never ending. The panel in question as stated is the first reiteration yet comments here like I’m annoyed, being forced or on FB like “what’s this crap” just get tiresom

Well, when you direct your reply specifically at me I don’t think it’s unreasonable to assume you were talking about me.

If you read my first reply up there I didn’t say any of those things. I said I didn’t like it, explained why and even offered a simple solution.

1000 x this. The thread title is incendiary right off the bat.

1 Like

Well forget the fact that the config checker for the GUI is inaccurate and the recommendation actually is to use ssh as the config checker does miss things…

Hi can you give me more info on the recommended method using SSH please?

From ssh… hassio ha check
Or there is a service you can call from dev-tools and it reports any errors in the log… I think it’s homeassistant-check

1 Like

Thanks, ha check worked for me.

It did take a long time, over 1 min but eventually it said Ok so I guess my config is good.

I’ll try the dev-tools service also, it would be nice if it was a little faster. :slight_smile: I’ll use the SSH check when making big changes, as I guess it takes longer because it’s more thorough.

Yeah I have used the GUI one and it says all ok, hit restart and then find nothing has happened and then check the log and find an error.

It should be possible to write a script that will read the error code and then send a notification or trigger a restart… Might look into that…