Move supervisor & os docs (#521)

This commit is contained in:
Franck Nijhof 2020-05-12 20:35:01 +02:00 committed by GitHub
parent 81e13e39b6
commit c802bbef97
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 64 additions and 47 deletions

6
docs/operating-system.md Normal file
View File

@ -0,0 +1,6 @@
---
title: Home Assistant Operating System
sidebar_label: Introduction
---
This is the developer documentation for the Home Assistant Operating System.

View File

@ -1,5 +1,6 @@
---
title: "Debugging Home Assistant"
title: "Debugging the Home Assistant Operating System"
sidebar_label: Debugging
---
:::info
@ -8,33 +9,6 @@ This section is not for end users. End users should use the [SSH add-on] to SSH
[SSH add-on]: https://github.com/home-assistant/hassio-addons/tree/master/ssh
The following debug tips and tricks are for developers who are running the Home Assistant image and are working on the base image. If you use the generic Linux installer script, you should be able to access your host and logs as per your host.
## Debug Supervisor
Visual Studio Code config:
```json
{
"version": "0.2.0",
"configurations": [
{
"name": "Supervisor remote debug",
"type": "python",
"request": "attach",
"port": 33333,
"host": "IP",
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
"remoteRoot": "/usr/src/hassio"
}
]
}
]
}
```
You need set the dev mode on supervisor and enable debug with options. You need also install the Remote debug Add-on from Developer Repository to expose the debug port to Host.
## SSH access to the host

View File

@ -1,6 +1,6 @@
---
title: "Hass.io Architecture"
sidebar_label: Hass.io
title: Home Assistant Supervisor
sidebar_label: Introduction
---
<img class='invertDark' src='/img/en/architecture/hassio.png'
@ -10,13 +10,13 @@ sidebar_label: Hass.io
This is a daemon running on the host machine that allows the supervisor to control certain aspects of the host OS:
- Power cycle (restart, turn off)
- Manage network settings
- Local updates
- Power cycle (restart, turn off)
- Manage network settings
- Local updates
## Host
Our pre-build images are based on [HassOS] which is based on [BuildRoot]. Any Linux machine can be turned into a Hass.io host by running [the installer][linux].
Our pre-build images are based on [Home Assistant Operating System] which is based on [BuildRoot]. Any Linux machine can be turned into a Home Assistant host by running [the installer][linux].
## Supervisor
@ -26,6 +26,6 @@ The supervisor offers an API to manage the host and running the Docker container
The configuration panel lives inside the supervisor but is accessible via the Home Assistant user interface. The configuration panel allows the user to manage the installation.
[HassOS]: https://github.com/home-assistant/hassos
[HassOS]: https://github.com/home-assistant/operating-system
[BuildRoot]: https://buildroot.org/
[linux]: https://www.home-assistant.io/hassio/installation/#alternative-install-on-generic-linux-server

View File

@ -0,0 +1,31 @@
---
title: "Debugging the Home Assistant Supervisor"
sidebar_label: Debugging
---
The following debug tips and tricks are for developers who are running the Home Assistant image and are working on the base image. If you use the generic Linux installer script, you should be able to access your host and logs as per your host.
## Debug Supervisor
Visual Studio Code config:
```json
{
"version": "0.2.0",
"configurations": [
{
"name": "Supervisor remote debug",
"type": "python",
"request": "attach",
"port": 33333,
"host": "IP",
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
"remoteRoot": "/usr/src/hassio"
}
]
}
]
}
```

View File

@ -1,11 +1,11 @@
---
title: "Hass.io <> Home Assistant integration development"
sidebar_label: "Integration development"
title: "Home Assistant Supervisor <> Core/Frontend development"
sidebar_label: "Developing"
---
These steps will help you connect your local Home Assistant to a remote Hass.io instance. You can then make changes locally to either the Hass.io component or the frontend and test it out against a real instance.
These steps will help you connect your local Home Assistant to a remote Supervisor instance. You can then make changes locally to either the Hass.io integration or the frontend and test it out against a real instance.
For this guide, we're going to assume that you have an Hass.io instance up and running. If you don't, you can use the generic installation method to install it inside a [virtual machine](https://github.com/home-assistant/hassio-build/tree/master/install#install-hassio).
For this guide, we're going to assume that you have an Home Assistant instance up and running. If you don't, you can use the generic installation method to install it inside a [virtual machine](https://github.com/home-assistant/hassio-build/tree/master/install#install-hassio).
## API Access
@ -20,11 +20,11 @@ For some API commands you need explicit the Home Assistant API token, but 99% of
docker inspect homeassistant | grep HASSIO_TOKEN
```
## Having Home Assistant connect to remote Hass.io
## Having Home Assistant connect to remote Supervisor
The connection with the supervisor is hidden inside the host and is only accessible from applications running on the host. So to make it accessible for our Home Assistant instance we will need to route the connection to our computer running Home Assistant. We're going to do this by forwarding the API with "Remote API proxy" add-on.
First, make sure Home Assistant will load the Hass.io component by adding `hassio:` to your `configuration.yaml` file. Next, we will need to tell the local Home Assistant instance how to connect to the remote Hass.io instance. We do this by setting the `HASSIO` and `HASSIO_TOKEN` environment variables when starting Home Assistant. Note that the `HASSIO` value is not the same as the one that we saw above and the `HASSIO_TOKEN` is available inside log output of "Remote API Add-on" (This changes every restart of the add-on!).
First, make sure Home Assistant will load the Hass.io integration by adding `hassio:` to your `configuration.yaml` file. Next, we will need to tell the local Home Assistant instance how to connect to the remote Supervisor instance. We do this by setting the `HASSIO` and `HASSIO_TOKEN` environment variables when starting Home Assistant. Note that the `HASSIO` value is not the same as the one that we saw above and the `HASSIO_TOKEN` is available inside log output of "Remote API Add-on" (This changes every restart of the add-on!).
```shell
HASSIO=<IP OF HASS.IO>:80 HASSIO_TOKEN=<VALUE OF HASSIO_TOKEN> hass
@ -45,10 +45,10 @@ Update the Hass.io component configuration in your `configuration.yaml` to point
```yaml
# configuration.yaml
hassio:
development_repo: /home/paulus/dev/hass/home-assistant-polymer
development_repo: /home/paulus/dev/hass/frontend
```
To build a local version of the Hass.io panel, go to the frontend repository and run:
To build a local version of the Supervisor panel, go to the frontend repository and run:
```shell
cd hassio
@ -57,4 +57,4 @@ script/develop
Now start Home Assistant as discussed in the previous section and it will now connect to the remote Hass.io but show your local frontend.
Once you have `script/develop` the hassio panel will be rebuilt whenever you make changes to the source files.
Once you have `script/develop` the Supervisor panel will be rebuilt whenever you make changes to the source files.

View File

@ -30,7 +30,9 @@ module.exports = {
to: "docs/development_index",
},
{ to: "docs/frontend", label: "Frontend" },
{ to: "docs/supervisor", label: "Supervisor" },
{ to: "docs/add-ons", label: "Add-ons" },
{ to: "docs/operating-system", label: "Operating System" },
{ to: "docs/internationalization", label: "Internationalization" },
],
},

View File

@ -69,12 +69,14 @@ module.exports = {
"internationalization/custom_integration",
"translations",
],
OperatingSystem: ["operating-system", "operating-system/debugging"],
Supervisor: ["supervisor", "supervisor/developing", "supervisor/debugging"],
// Old structure, still to move/migrate
Architecture: {
Architecture: [
"architecture_index",
"architecture_components",
"architecture_entities",
"architecture_hassio",
],
Entities: [
"entity_index",
@ -170,7 +172,6 @@ module.exports = {
"asyncio_categorizing_functions",
"asyncio_working_with_async",
],
"Hass.io": ["hassio_debugging", "hassio_hass"],
"Maintainer docs": ["maintenance"],
},
};

View File

@ -32,8 +32,11 @@
/docs/hassio_addon_security /docs/add-ons/security
/docs/hassio_addon_testing /docs/add-ons/testing
/docs/hassio_addon_tutorial /docs/add-ons/tutorial
/docs/hassio_debugging /docs/supervisor/debugging
/docs/hassio_hass /docs/supervisor/developing
/docs/internationalization_backend_localization /docs/internationalization/core
/docs/internationalization_custom_component_localization /docs/internationalization/custom_integration
/docs/internationalization_index /docs/internationalization
/docs/internationalization_translation /docs/translations
/docs/lovelace_custom_card /docs/frontend/custom-ui/lovelace-custom-card
/docs/architecture_hassio /docs/supervisor