mirror of
https://github.com/home-assistant/developers.home-assistant.git
synced 2025-07-20 15:56:30 +00:00
Spelling and grammar fixes (#909)
This commit is contained in:
parent
904387fa9c
commit
34b425ec13
@ -56,7 +56,7 @@ Screenshot of the [test results](https://dev.azure.com/home-assistant/Home%20Ass
|
||||
|
||||
HassOS is our own embedded Linux distribution. It is tailored to run the bare minimum of what we need to run Home Assistant in a Docker container. BuildRoot powers the build and we’re targeting five different processor architectures.
|
||||
|
||||
The Azure Pipelines agents are using the amd64 CPU architecture. It is possible to compile for different architectures using a method called cross-compiling. We gave it a shot but realized that it is significanty slower than compiling a build using the same native CPU's as that we’re targeting.
|
||||
The Azure Pipelines agents are using the amd64 CPU architecture. It is possible to compile for different architectures using a method called cross-compiling. We gave it a shot but realized that it is significantly slower than compiling a build using the same native CPU's as that we’re targeting.
|
||||
|
||||
We use a feature on Azure Pipelines called [self-hosted agents](https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/agents?view=azure-devops#install) to host build agents on our own hardware with the right architecture. Azure Pipelines manages the pipeline definition and the orchestration, but the execution runs blazing fast on our own hardware.
|
||||
|
||||
|
@ -49,7 +49,7 @@ While your talents in input validation, handling sensitive data and other defens
|
||||
|
||||
By default, AppArmor gives you a certain level of security by restricting some general actions that are deemed inappropriate for a Docker container. You can read more about Docker's AppArmor implementation on the [Docker Security page](https://docs.docker.com/engine/security/apparmor/).
|
||||
|
||||
As for Home Assistant's implementation, you can activate your own custom AppArmor profile by putting a `apparmor.txt` file into your add-on folder. Adding your own `apparmor.txt` will load that file as the primary AppArmor profile instead of the default implementation. On top of knowing your add-on will run in a constrained and effective manner, writing your own custom `apparmor.txt` file will earn your add-on a security point after your add-on is installed, thus improving your user's confidence and perception of your add-on.
|
||||
As for Home Assistant's implementation, you can activate your own custom AppArmor profile by putting an `apparmor.txt` file into your add-on folder. Adding your own `apparmor.txt` will load that file as the primary AppArmor profile instead of the default implementation. On top of knowing your add-on will run in a constrained and effective manner, writing your own custom `apparmor.txt` file will earn your add-on a security point after your add-on is installed, thus improving your user's confidence and perception of your add-on.
|
||||
|
||||
An `apparmor.txt` goes in the same folder as your `config.json` file. Below is an example `apparmor.txt`. Replace `ADDON_SLUG` with the slug defined in your add-on configuration.
|
||||
|
||||
|
@ -10,7 +10,7 @@ To enable the notify platform for your application, you must set two keys in the
|
||||
|
||||
| Key | Type | Description
|
||||
| --- | ---- | -----------
|
||||
| `push_token` | string | A push notification token unique to your users device. For example, this could be a APNS token or a FCM Instance ID/token.
|
||||
| `push_token` | string | A push notification token unique to your users device. For example, this could be an APNS token or an FCM Instance ID/token.
|
||||
| `push_url` | string | The URL on your server that push notifications will be HTTP POSTed to.
|
||||
|
||||
You should advise the user to restart Home Assistant after you set these keys in order for them to see the notify target. It will have the format `notify.mobile_app_<safed_device_name>`.
|
||||
|
@ -89,7 +89,7 @@ The Home Assistant instance must be able to install `libsodium` to enable encryp
|
||||
|
||||
You must store this secret forever. There is no way to recover it via the Home Assistant UI and you should **not** ask users to investigate hidden storage files to re-enter the encryption key. You should create a new registration if encryption ever fails and alert the user.
|
||||
|
||||
A registration may not initially support encryption due to a lack of Sodium/NaCL on the Home Assistant Core side. You should always strive to encrypt communications if possible. Therefore, we politely request that from time to time you attempt to enable encryption automatically or allow the user to manually enable encryption via a button in your app. That way, they can attempt to first fix whatever error is causing Sodium/NaCL to be uninstallable and then have a encrypted registration later. Home Assistant Core will log exact details if Sodium/NaCL is uninstallable.
|
||||
A registration may not initially support encryption due to a lack of Sodium/NaCL on the Home Assistant Core side. You should always strive to encrypt communications if possible. Therefore, we politely request that from time to time you attempt to enable encryption automatically or allow the user to manually enable encryption via a button in your app. That way, they can attempt to first fix whatever error is causing Sodium/NaCL to be uninstallable and then have an encrypted registration later. Home Assistant Core will log exact details if Sodium/NaCL is uninstallable.
|
||||
|
||||
## Update device location
|
||||
|
||||
|
@ -65,11 +65,11 @@ Reloads the information stored about add-ons.
|
||||
</ApiEndpoint>
|
||||
|
||||
<ApiEndpoint path="/addons/<addon>/changelog" method="get">
|
||||
Get the changelog for a add.on.
|
||||
Get the changelog for an add-on.
|
||||
</ApiEndpoint>
|
||||
|
||||
<ApiEndpoint path="/addons/<addon>/documentation" method="get">
|
||||
Get the documentation for a add.on.
|
||||
Get the documentation for an add-on.
|
||||
</ApiEndpoint>
|
||||
|
||||
<ApiEndpoint path="/addons/<addon>/logs" method="get">
|
||||
@ -81,7 +81,7 @@ Get the add-on icon
|
||||
</ApiEndpoint>
|
||||
|
||||
<ApiEndpoint path="/addons/<addon>/info" method="get">
|
||||
Get details about a add-on
|
||||
Get details about an add-on
|
||||
|
||||
**Returned data:**
|
||||
|
||||
@ -240,7 +240,7 @@ Get details about a add-on
|
||||
</ApiEndpoint>
|
||||
|
||||
<ApiEndpoint path="/addons/<addon>/install" method="post">
|
||||
Install a add-on
|
||||
Install an add-on
|
||||
|
||||
**Deprecated!** Use [`/store/addons/<addon>/install`](#store) instead.
|
||||
|
||||
@ -251,7 +251,7 @@ Get the add-on logo
|
||||
</ApiEndpoint>
|
||||
|
||||
<ApiEndpoint path="/addons/<addon>/options" method="post">
|
||||
Set the protection mode on a add-on.
|
||||
Set the protection mode on an add-on.
|
||||
|
||||
This function is not callable by itself and you can not use `self` as the slug here.
|
||||
|
||||
@ -305,11 +305,11 @@ Rebuild the add-on, only supported for local build add-ons.
|
||||
</ApiEndpoint>
|
||||
|
||||
<ApiEndpoint path="/addons/<addon>/restart" method="post">
|
||||
Restart a add-on
|
||||
Restart an add-on
|
||||
</ApiEndpoint>
|
||||
|
||||
<ApiEndpoint path="/addons/<addon>/security" method="post">
|
||||
Set the protection mode on a add-on.
|
||||
Set the protection mode on an add-on.
|
||||
|
||||
This function is not callable by itself and you can not use `self` as the slug here.
|
||||
|
||||
@ -322,7 +322,7 @@ This function is not callable by itself and you can not use `self` as the slug h
|
||||
</ApiEndpoint>
|
||||
|
||||
<ApiEndpoint path="/addons/<addon>/start" method="post">
|
||||
Start a add-on
|
||||
Start an add-on
|
||||
</ApiEndpoint>
|
||||
|
||||
<ApiEndpoint path="/addons/<addon>/stats" method="get">
|
||||
@ -353,15 +353,15 @@ The payload you want to pass into the addon you give the endpoint as the body of
|
||||
</ApiEndpoint>
|
||||
|
||||
<ApiEndpoint path="/addons/<addon>/stop" method="post">
|
||||
Stop a add-on
|
||||
Stop an add-on
|
||||
</ApiEndpoint>
|
||||
|
||||
<ApiEndpoint path="/addons/<addon>/uninstall" method="post">
|
||||
Uninstall a add-on
|
||||
Uninstall an add-on
|
||||
</ApiEndpoint>
|
||||
|
||||
<ApiEndpoint path="/addons/<addon>/update" method="post">
|
||||
Update a add-on
|
||||
Update an add-on
|
||||
|
||||
**Deprecated!** Use [`/store/addons/<addon>/update`](#store) instead.
|
||||
|
||||
@ -402,7 +402,7 @@ Return information about the audio plugin.
|
||||
| version | string | The installed observer version |
|
||||
| version_latest | string | The latest published version |
|
||||
| update_available | boolean | `true` if an update is available |
|
||||
| audio | dictionary | A [Audio model](api/supervisor/models.md#audio) |
|
||||
| audio | dictionary | An [Audio model](api/supervisor/models.md#audio) |
|
||||
|
||||
**Example response:**
|
||||
|
||||
@ -541,7 +541,7 @@ Mute output for a specific application
|
||||
</ApiEndpoint>
|
||||
|
||||
<ApiEndpoint path="/audio/profile" method="post">
|
||||
Create a audio profile
|
||||
Create an audio profile
|
||||
|
||||
**Payload:**
|
||||
|
||||
@ -1500,7 +1500,7 @@ Update the settings for a network interface.
|
||||
|
||||
| key | type | optional | description |
|
||||
| ----------- | ------ | -------- | ------------------------------------------------------------------------------------- |
|
||||
| method | string | True | Set IP configuration method can be `auto` for DHCP or Router Advertisments (only IPv6), `static` or `disabled` |
|
||||
| method | string | True | Set IP configuration method can be `auto` for DHCP or Router Advertisements (only IPv6), `static` or `disabled` |
|
||||
| address | list | True | The new IP address for the interface in the X.X.X.X/XX format as list |
|
||||
| nameservers | list | True | List of DNS servers to use |
|
||||
| gateway | string | True | The gateway the interface should use |
|
||||
@ -1626,7 +1626,7 @@ Update the observer plugin
|
||||
|
||||
<ApiEndpoint path="/os/config/sync" method="post">
|
||||
|
||||
Load host configurations from an USB stick.
|
||||
Load host configurations from a USB stick.
|
||||
|
||||
</ApiEndpoint>
|
||||
|
||||
@ -1677,8 +1677,8 @@ Update Home Assistant OS
|
||||
|
||||
| key | type | description |
|
||||
| -------- | ---------- | ------------------------------------------------ |
|
||||
| unsupported | list | A list of reasons why a installation is marked as unsupported (container, dbus, docker_configuration, docker_version, lxc, network_manager, os, privileged, systemd) |
|
||||
| unhealthy | list | A list of reasons why a installation is marked as unhealthy (docker, supervisor, privileged, setup) |
|
||||
| unsupported | list | A list of reasons why an installation is marked as unsupported (container, dbus, docker_configuration, docker_version, lxc, network_manager, os, privileged, systemd) |
|
||||
| unhealthy | list | A list of reasons why an installation is marked as unhealthy (docker, supervisor, privileged, setup) |
|
||||
| issues | list | A list of [Issue models](api/supervisor/models.md#issues) |
|
||||
| suggestions | list | A list of [Suggestion models](api/supervisor/models.md#suggestion) actions |
|
||||
| checks | list | A list of [Check models](api/supervisor/models.md#check) |
|
||||
@ -1730,7 +1730,7 @@ Dismiss a suggested action
|
||||
|
||||
<ApiEndpoint path="/resolution/issue/<uuid>" method="delete">
|
||||
|
||||
Dismiss a issue
|
||||
Dismiss an issue
|
||||
|
||||
</ApiEndpoint>
|
||||
|
||||
@ -2326,7 +2326,7 @@ Some of the endpoints uses placeholders indicated with `<...>` in the endpoint U
|
||||
| placeholder | description |
|
||||
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| addon | The slug for the addon, to get the slug you can call `/addons`, to call endpoints for the add-on calling the endpoints you can use `self`as the slug. |
|
||||
| application | The name of a application, call `/audio/info` to get the correct name |
|
||||
| application | The name of an application, call `/audio/info` to get the correct name |
|
||||
| interface | A valid interface name, example `eth0`, to get the interface name you can call `/network/info`. You can use `default` to get the primary interface |
|
||||
| registry | A registry hostname defined in the container registry configuration, to get the hostname you can call `/docker/registries` |
|
||||
| service | The service name for a service on the host. |
|
||||
|
@ -18,7 +18,7 @@ These models are describing objects that are getting returned from the superviso
|
||||
| update_available | boolean | `true` if an update is available |
|
||||
| installed | string | `true` if the the add-on is installed |
|
||||
| available | boolean | `false` if you can not install the add-on |
|
||||
| icon | bool | The add-on has a icon file |
|
||||
| icon | bool | The add-on has an icon file |
|
||||
| logo | bool | The add-on has a logo file |
|
||||
| state | string | The state of the add-on (started, stopped) |
|
||||
|
||||
@ -101,8 +101,8 @@ These models are describing objects that are getting returned from the superviso
|
||||
| primary | boolean | `true` if it's the primary network interface. |
|
||||
| ipv4 | struct or null | An IP config struct with IPv4 connection details. |
|
||||
| ipv6 | struct or null | An IP config struct with IPv6 connection details. |
|
||||
| wifi | struct or null | An Wifi config struct with wireless connection details. |
|
||||
| vlan | struct or null | An Vlan config struct with details about the vlan. |
|
||||
| wifi | struct or null | A Wifi config struct with wireless connection details. |
|
||||
| vlan | struct or null | A Vlan config struct with details about the vlan. |
|
||||
|
||||
### IP configuration
|
||||
|
||||
@ -171,7 +171,7 @@ These models are describing objects that are getting returned from the superviso
|
||||
| key | type | description |
|
||||
| --------- | ------- | --------------------------------------------------------------------- |
|
||||
| slug | string | A generated slug for the snapshot |
|
||||
| date | string | A ISO date string representation of the date the snapshot was created |
|
||||
| date | string | ISO date string representation of the date the snapshot was created |
|
||||
| name | string | The name given to the snapshot |
|
||||
| type | string | The type of snapshot (full, partial) |
|
||||
| protected | boolean | `true` if the snapshot is password protected |
|
||||
@ -183,7 +183,7 @@ These models are describing objects that are getting returned from the superviso
|
||||
| slug | string | A generated slug for the snapshot |
|
||||
| type | string | The type of snapshot (full, partial) |
|
||||
| name | string | The name given to the snapshot |
|
||||
| date | string | A ISO date string representation of the date the snapshot was created |
|
||||
| date | string | ISO date string representation of the date the snapshot was created |
|
||||
| size | string | The size of the snapshot in MB |
|
||||
| protected | boolean | `true` if the snapshot is password protected |
|
||||
| homeassistant | string | The version of Home Assistant that was in use |
|
||||
@ -211,7 +211,7 @@ These models are describing objects that are getting returned from the superviso
|
||||
| uuid | str | A generated uuid as issue ID |
|
||||
| type | str | Type of the issue |
|
||||
| context | str | In which context the issue occorse |
|
||||
| reference | str or null | Depend on the Context, a reference to a other Model |
|
||||
| reference | str or null | Depend on the Context, a reference to another Model |
|
||||
|
||||
## Suggestion
|
||||
|
||||
@ -220,7 +220,7 @@ These models are describing objects that are getting returned from the superviso
|
||||
| uuid | str | A generated uuid as suggestion ID |
|
||||
| type | str | Type of the suggestion |
|
||||
| context | str | In which context the suggestion occorse |
|
||||
| reference | str or null | Depend on the Context, a reference to a other Model |
|
||||
| reference | str or null | Depend on the Context, a reference to another Model |
|
||||
|
||||
## Check
|
||||
|
||||
|
@ -198,7 +198,7 @@ When the translations are merged into Home Assistant, they will be automatically
|
||||
|
||||
As mentioned above - each Config Entry has a version assigned to it. This is to be able to migrate Config Entry data to new formats when Config Entry schema changes.
|
||||
|
||||
Migration can be handled programatically by implementing function `async_migrate_entry` in your component's `__init__.py` file. The function should return `True` if migration is successfull.
|
||||
Migration can be handled programatically by implementing function `async_migrate_entry` in your component's `__init__.py` file. The function should return `True` if migration is successful.
|
||||
|
||||
```python
|
||||
# Example migration function
|
||||
|
@ -18,7 +18,7 @@ A `number` is an entity that allows the user to input an arbitrary value to an i
|
||||
|
||||
Other properties that are common to all entities such as `icon`, `unit_of_measurement`, `name` etc are also applicable.
|
||||
|
||||
The default step value is dynamically chosen based on the range (max - min) values. If the difference between max_value and min_value is greater than 1.0, then the default step is 1.0. If however the range is smaller, then the step is iteratively devided by 10 until it becomes lower than the range.
|
||||
The default step value is dynamically chosen based on the range (max - min) values. If the difference between max_value and min_value is greater than 1.0, then the default step is 1.0. If however the range is smaller, then the step is iteratively divided by 10 until it becomes lower than the range.
|
||||
|
||||
## Methods
|
||||
|
||||
|
@ -12,7 +12,7 @@ Properties should always only return information from memory and not do I/O (lik
|
||||
| Name | Type | Default | Description
|
||||
| ---- | ---- | ------- | -----------
|
||||
| current_activity | str | None | Return the current active activity |
|
||||
| activity_list | list | None | Return the list of available activites |
|
||||
| activity_list | list | None | Return the list of available activities |
|
||||
|
||||
### Activity
|
||||
|
||||
|
@ -194,7 +194,7 @@ folded_example: >
|
||||
removes all the new lines placed in your YAML.
|
||||
|
||||
# Bad
|
||||
literal_example: "This example is a example of literal block scalar style in YAML.\nIt allows you to split a string into multiple lines.\n"
|
||||
literal_example: "This example is an example of literal block scalar style in YAML.\nIt allows you to split a string into multiple lines.\n"
|
||||
folded_example_same_as: "This example is an example of a folded block scalar style in YAML. It allows you to split a string into multi lines, however, it magically removes all the new lines placed in your YAML.\n"
|
||||
```
|
||||
|
||||
|
@ -226,7 +226,7 @@ Your card can also define a `getStubConfig` method that returns a default card c
|
||||
Home Assistant will call the `setConfig` method of the config element on setup.
|
||||
Home Assistant will update the `hass` property of the config element on state changes, and the `lovelace` element, which contains information about the lovelace configuration.
|
||||
|
||||
Changes to the configuration are communicated back to lovelace by dispatching an `config-changed` event with the new configuration in it's detail.
|
||||
Changes to the configuration are communicated back to lovelace by dispatching a `config-changed` event with the new configuration in its detail.
|
||||
|
||||
To have your card displayed in the card picker dialog in Lovelace, add an object describing it to the array `window.customCards`. Required properties of the object are `type` and `name` (see example below).
|
||||
|
||||
|
@ -21,7 +21,7 @@ def async_check_significant_change(
|
||||
) -> Optional[bool]
|
||||
```
|
||||
|
||||
This function is passed a state that was previously considered significant and the new state. It is not just passing the last 2 known states in. The function should return a boolean if it is signficiant or not, or `None` if the function doesn't know.
|
||||
This function is passed a state that was previously considered significant and the new state. It is not just passing the last 2 known states in. The function should return a boolean if it is significant or not, or `None` if the function doesn't know.
|
||||
|
||||
When deciding on significance, make sure you take all known attributes into account. Use device classes to differentiate between entity types.
|
||||
|
||||
|
@ -18,7 +18,7 @@ The instructions here is for development of the Supervisor itself.
|
||||
|
||||
### Local testing
|
||||
|
||||
Start the task "Run Supervisor" in Visual Studio Code, this will start a instance of the Supervisor inside the devcontainer you can use to test your changes.
|
||||
Start the task "Run Supervisor" in Visual Studio Code, this will start an instance of the Supervisor inside the devcontainer you can use to test your changes.
|
||||
When the initializing is complete you can access the Home Assistant frontend on `http://localhost:9123`
|
||||
|
||||
If you need to rebuild the base of the Supervisor run the task "Build Supervisor" and then restart the "Run Supervisor" task again when that completes.
|
||||
|
Loading…
x
Reference in New Issue
Block a user