I like this idea in the sense that it could open up Home Assistant to more people. As Home Assistant evolves, the more user friendly it gets, the higher the adoption rate (IMHO). I think it is still an application that some consider too technical for them to setup and run. Mr. Balloob, you and I have seen and responded to some of the same posts on other forums and we have both seen the discussion about the skills required to setup Home Assistant. BTW - I’ve been posting back that it has changed and is much easier and more documented now.
As an anecdote, applying to the above and what I have written below, it reminds me of an Algebra class I had in high school. The teacher taught the same class year after year. And had done this for many years. I believe he was unable to get into the minds of his class, and see the difficulties we had from both his teaching style, and the material. It was all so familiar to him that he just couldn’t relate to us. So we all struggled because he could not understand that we did not understand. Every night we had homework. It covered new material that was not taught to us in class. Then the next day we spent the day going over the homework and that is when he threw out the tidbits of teaching. But we all got bad grades due to his backwards system. If he related at all to us and our ignorance, he would have taught us the concepts before giving us the homework. Rather than given the homework, grading it, and then teaching the material, after we all struggled to figure out the assignment the night before…
Here is where I see value in the GUI. One, reducing typos. It could catch improper indentation, forgotten ‘:’, forgotten ‘-’, those types of things. Two, it could expose what options are available per device/component/group type for automation. This is where I need help. I have yet to fully tap into the automation potential of HA due to my lack of understanding what elements are available to me, and how to implement them in the config. I’ve become a bit frustrated in this regard. I’ve brought this up multiple times and I am pointed to the existing documentation. But as I have said before, my use of automation stops where the examples stop. Honestly, I just don’t know what options are all available per component or group, and I also sometimes don’t know when I need to use a particular form of formatting. If this was a class, I would be failing this section.
Finally, I think this sounds like a large amount of work to produce this GUI. And more to maintain from here on out, and greater complication on the backend. A standardized system, as mentioned with the included ‘.json’ file with the device type is a great idea. I’ve never been a fan of the configuration system in HA though. For me, using one file creates a messy, disorganized lump of information. I know essentially there is nothing wrong with a single config file, it is just something I feel like could maybe use re-evaluation. For example, how about a folder called ‘config’ and any ‘.yaml’ file inside there is read for config information? One could have a ‘groups.yaml’, an ‘automation.yaml’, a ‘scenes.yaml’, a ‘script.yaml’, etc.
A GUI could be used to allow for the creation of groups. Fill in a name, check the box next to the members, and save. Then the admin console could list the groups and the group’s members. Another thought is each automation element could, on the backend, be built, defined, and have requirements to determine if it is applicable to the component or group. Then when building the automation, a list of applicable automation types could be visible for the component selected and only those that are applicable to the component are accessible. When building an automation, the user selects what they intend to apply it to, and the list of available automation elements is listed to be plucked and linked to their selected item.
Regarding debugging, for the less technical, or the ignorant, this can also be frustrating. I again am without my WeMo Insight switches once again. This has been a recurring problem for me. I have not posted it on here because it seems like I am a skipping record and the busier you get, the more annoying these ‘please help me’ requests must become. The error I am getting is similar to what has happened in the past. I’ve tried to fix it myself based on what I see in the error but I have not been successful. I would love to know how to better debug HA so that I can fix it without having to ask for help. Maybe in the documentation there could be some added guidance on troubleshooting errors yourself. Like what to look for, what to do to get better information on the error - like when you get an error some options for outputting more info to the terminal or a log file.
I am curious about the JavaScript frontend idea. It seemed kind of out of the blue. Are you saying that would make for a better frontend or are you talking about offering HA in more than one language? Just curious.
Thanks,
tobias.