WTH - Documentation shouldn’t feel like debugging!

How long it takes to master Home Assistant really depends on how intuitive it is and whether it works the way people expect it to. If it doesn’t, users end up relying heavily on the documentation to figure things out.

That’s why good documentation is so important, it should help people quickly grasp the basics and understand how everything fits together. To do this, the documentation needs to be clear, well-structured, and include real-world examples that even non-techies can follow.

Right now, Home Assistant’s documentation leans heavily toward technical details, often requiring YAML knowledge and a deep understanding of how the system works under the hood. For many users, this makes the learning curve feel steep, even though the system might seem simple at first glance. It also doesn’t help that some things can be managed through the web interface, while others still require YAML. That inconsistency leaves users unsure about how to move forward, especially when the documentation feels overly technical and not very user-friendly for regular home users.

What might be improved:

  • An Official “Cookbook”
    A centralized collection of “recipes” for common setups would be super helpful. If someone in the forums says, “Yes, you can do that with XYZ,” there should be an easy-to-follow recipe in an official cookbook. This would also help standardize solutions and cut down on repetitive support questions in the community. There’s tons of great advice and solutions scattered across forums, blogs, and GitHub, but it’s all over the place. Bringing all this knowledge together in one official resource would save users time and frustration.

  • More step-by-step guides
    The cookbook could include more step-by-step guides focused on practical, everyday tasks—like setting up devices, automating routines, or integrating third-party services. These guides should use plain language and include helpful visuals, like screenshots or diagrams, to make things even clearer.

  • Real-life examples
    Adding practical, real-world examples would make the documentation feel more relatable and useful. Show how to set up smart lights with motion sensors, automate turning off appliances at night, or set up energy monitoring at home. Examples like these would really help users understand the possibilities. All of this should, of course, be part of the official Cookbook.

  • Better Integration and add-on documentation
    A lot of integration and add-on docs dive straight into the technical details without explaining what the feature is for or how to actually use it. Starting with a simple explanation of the feature’s purpose, followed by basic setup instructions, would make these docs way more user-friendly. The advanced options can still be included at the end for those who need them.

  • Task-focused documentation
    Instead of just listing features, the documentation should focus on workflows, like “How to Set Up Smart Lights,” “How to Automate Your Thermostat,” or “How to Create a Security Camera Dashboard.” These guides would make it easier for users to achieve specific goals without having to piece things together themselves.

  • Connecting the dots
    The documentation often feels like a bunch of disconnected pieces that don’t really explain how everything works together. For example, setting up a smart plug with a power meter to integrate with the Energy Dashboard involves several steps: Smart Plug Power Consumption > Integrals Integration > Utility Integration > Energy Dashboard. The documentation should guide users through these workflows step by step and clearly show how the components interact. Visual aids like diagrams or flowcharts would make this much easier to follow.

    It would also help if the docs explained how different parts of the system fit together—like add-ons, integrations, helpers, and statistics. For instance, some key questions users often have are:

    • What gets saved in the database and what doesn’t?
    • What data sticks around after a system restart, and what gets wiped?
    • How do short-term and long-term data storage work, and what are they used for?
    • And so on…

    A more holistic explanation like this would help users understand not just the individual features, but also the system as a whole. This would make it much easier to build reliable and efficient setups without unnecessary confusion.

  • Somewhat OT in this context but still important: simplify the web interface
    Many features could be made more accessible through the web interface, so users don’t need to touch YAML unless they want to. While YAML is great for advanced users, most common tasks should be achievable without it. A simpler interface would make the platform far more beginner-friendly.

Do not ping people who are not included in the conversation.

1 Like

Alright, why is that, if I may ask? Is it against the forum rules, or is there another reason?

Anyhow, how would you like me to bring this to the attention of Madelena Mak, who is actually the main product design leader? I mean, I could call or email, but that feels a bit odd. Btw, If you happen to work at Nabu Casa, feel free to pass this info along to Madelena. Thanks in advance!

Yes, it’s against the forum rules. Historically, people have used it to harass others.

3 Likes

Okay, got it!

There’s no reason for you to need to contact these people for your ideas. That’s what this WTH is for (to entice core and volunteer devs to make quality of life changes).

1 Like

Okay, so WTH is targeting the person(s) responsible, not the community users per se. Can you expect some kind of acknowledgment once the person(s) in charge has read it?

No, but again, there should be no reason to target a single person. This is an open source software mostly written by volunteers.

2 Likes

Appart from the debate on who should do what.

A better documentation is a good idea…

maybe a little bit far from the WTH idea (quick win, small fixes) but deserves attention.

3 Likes

No doubt, there’s always room for improvement

2 Likes

No offense, but yeah, “mostly volunteer.” ;- ) Still, why is a product design leader involved at all? I really don’t get it. Who decides what gets done or not—the forum members? Anyway, is there anything I can read about how this works and what Nabu Casa’s unofficial role is in all of this? TBH, it’s kinda hard to grasp how things are tied together.

Hopefully, someone in charge can at least review it and consider adding it to the long-term strategy to improve things over time. Over and out.

I’m not sure why you’re so adamant that this isn’t the case. Just look at the last release. The main feature was added by a volunteer. The release before, a volunteer. There are exceptions (like most of the voice things), however it’s still mostly developed by volunteers.

Yes, via discussions in the proper repos on github. Someone creates a discussion outlying the entire new feature they want to add, and the core team approves it or not. After approval, the volunteer can add the feature whenever they want. In some cases, people attempt to skip the discussion and just do the work and the core team approves it right before it’s merged.

You’re thinking way too much into this. Nabu Casa employee’s work for Nabu Casa. Home assistant is a software that they get the final say in. Other than that, the majority of work is done by volunteers. Yes there are design decisions made by the team in house, but if there’s a discussion about it, you can chime in too. It’s open source. The only thing they get is “the final say”.


Anyways, to the topic at hand. Improving the documentation is always a good thing.

I, too, made similar comments about the documentation. It doesn’t get enough attention. A discussion on ducumtation should be elevated to the level of a category

Take, for example, the documentation page Creating an automation blueprint What is a blueprint? How is it used (why do I need/want one)? After these questions are answered, then explain how to create one.

Most importantly, as a sticky note in the Documentation category, “How to add, improve, and/or correct documentation.”

Each page needs a note of “Last Updated” and to which revisions the page applies.

Something that would also be very useful is to encourage this fellowhisp, when giving help, to make links to the documentation page(s) from which the solution stems. This will help the questioner and make the documentation better.

I would like to help in this endeavor. Please advise

1 Like

Start little, you can make changes to a single page just by using github over the web. If you want to make large changes (to a number of pages and overall flow of the pages), it’s best you learn how to use VSCode and Git. Just understand that going that route is much more difficult than using GitHub through a webpage.

1 Like

It’s explained in the chapter prior to the one you provided in the link.

About blueprints - Home Assistant

1 Like

Great @petro! Where is that documented? I ask because you make a lot of assumptions: I know how to use github, I know how to find the page that needs editing on the web. I know how to use the editor that is used for editing. I know the format for the page and the meaning of various icons fonts, colours, backgrounds, etc. This goes under the heading “How, to add …”

Personally, I would love to improve the aformentioned documentation, but I don’t know what a blueprint is nor how to use one.

-osd

At the bottom of every page, there’s an edit button, this will open right to the page where you can edit on github.

Edit button creates a PR, provide feedback creates an issue. view feedback brigns you to the issue page.

Thank for the note @123 Please note, that I didn’t know where that information was until I read what you just wrote.

I just clicked the word “Blueprint”, at the top of the page in your link.

Screenshot_5-12-2024_151931_www.home-assistant.io

The ambition to have better docs are there in general, hence why also many of the new rules for the recently updated quality scale has a lot of documentation rules which wasn’t the case in the past really.

1 Like