You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/documenting/create-page.md
+19-10Lines changed: 19 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,20 @@
2
2
title: "Create a new page"
3
3
---
4
4
5
-
For a platform or integration page, the fastest way is to make a copy of an existing page and edit it. The [Integration overview](https://www.home-assistant.io/integrations/) and the [Examples section](https://www.home-assistant.io/cookbook/) are generated automatically, so there is no need to add a link to those pages.
5
+
To create a new integration page, follow these steps:
6
6
7
-
Please honor the [Standards](documenting/standards.md) we have for the documentation.
7
+
1. Make a copy of the [integration documentation template](https://github.com/home-assistant/home-assistant.io/tree/current/source/_integrations/_integration_docs_template.markdown) and edit it.
8
+
2. Make sure the filename of the integration page matches the domain name of the integration.
9
+
- The [Integration overview](https://www.home-assistant.io/integrations/) and the [Examples section](https://www.home-assistant.io/cookbook/) are generated automatically, so there is no need to add a link to those pages.
10
+
3. Make sure to follow the [Standards](documenting/standards.md) we have for the documentation, including:
-[Documentation structure and example text](/docs/documenting/integration-docs-examples)
14
+
4. Make sure to add [icon and logo](#images-icons-and-logos) to the brands repository.
15
+
5. Document the needed steps to retrieve API keys or access token for the third party service or device if needed.
16
+
6. Add the type of the devices (incl. firmware) you have tested when you know that there are multiple out there.
17
+
18
+
## About the integration page header format
8
19
9
20
If you start from scratch with a page, you need to add a header. Different sections of the documentation may need different headers.
10
21
@@ -20,6 +31,7 @@ ha_config_flow: true
20
31
ha_codeowners:
21
32
- '@balloob'
22
33
ha_domain: awesome
34
+
ha_integration_type: hub
23
35
related:
24
36
- docs: /voice_control/s3_box_voice_assistant/
25
37
title: Creating a ESP32-S3-BOX-3 voice assistant
@@ -36,23 +48,20 @@ Content... Written in markdown.
36
48
Additional keys for the file header:
37
49
38
50
-`title`: This title should match with the name of the integration as written in the integration manifest file.
39
-
-`ha_release`: The release when the integration was included, e.g., "0.38". If the current release is 0.37, make `ha_release` 0.38. If it's 0.30 or 0.40 please quote it with `' '`.
51
+
-`ha_release`: The Home Assistant release when the integration was included.
52
+
- If the current release is 2025.8, make `ha_release` 2025.9.
53
+
- For the October release, as in '2025.10', quote it with `' '`, otherwise the zero won't be displayed.
40
54
-`ha_category`: This entry is used to group the integration on the [Integration overview](https://www.home-assistant.io/integrations/).
41
55
-`ha_iot_class`: [IoT class](https://www.home-assistant.io/blog/2016/02/12/classifying-the-internet-of-things) is the classifier for the device's behavior.
42
56
-`ha_quality_scale`: [Quality scale](https://www.home-assistant.io/docs/quality_scale/) is the representation of the integration's quality.
43
57
-`ha_config_flow`: Set to `true` if the integration has a [Data Entry Flow](/data_entry_flow_index.md), omit otherwise.
44
58
-`ha_codeowners`: GitHub usernames or team names (starting with `@`) of people that are responsible for this integration. This should match with the codeowners as listed in the integration manifest file.
45
-
-`ha_domain`: The domain of the integration in Home Assistant Core. This must match the name from the integration manifest file.
59
+
-`ha_domain`: The domain of the integration in Home Assistant Core. This must match the name from the [integration manifest](/docs/creating_integration_manifest) file.
60
+
-`ha_integration_type`: The type of integration in Home Assistant Core. This must match the name from the [integration manifest](/docs/creating_integration_manifest) file.
46
61
-`related`: Optional. Adds a section with links to related topics to the end of the page. Use `docs` for local links and `url` for external links. When using `docs`, the `title` key is optional. If not set, the title of the page you point to will be used.
47
62
48
63
There are [pre-defined variables](https://jekyllrb.com/docs/variables/) available but usually, it's not necessary to use them when writing documentation.
49
64
50
-
A couple of points to remember:
51
-
52
-
- Document the needed steps to retrieve API keys or access token for the third party service or device if needed.
53
-
- Add screenshots to support the user where it makes sense.
54
-
- Add the type of the device(s) (incl. firmware) you have tested when you know that there are multiple out there.
55
-
56
65
### Configuration
57
66
58
67
Every platform page should contain a configuration sample. This sample must contain only the **required** variables to make it easy to copy and paste it for users into their `configuration.yaml` file.
0 commit comments