Skip to content

Commit

Permalink
Spelling and Markdown fixes: Part 3
Browse files Browse the repository at this point in the history
  • Loading branch information
frenck committed Jan 28, 2020
1 parent f554e73 commit b617bce
Show file tree
Hide file tree
Showing 29 changed files with 277 additions and 287 deletions.
17 changes: 10 additions & 7 deletions source/_docs/configuration/splitting_configuration.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ redirect_from: /topics/splitting_configuration/

So you've been using Home Assistant for a while now and your configuration.yaml file brings people to tears or you simply want to start off with the distributed approach, here's how to "split the configuration.yaml" into more manageable (read: humanly readable) pieces.

First off, several community members have sanitized (read: without api keys/passwords etc) versions of their configurations available for viewing, you can see a list of them [here](/cookbook/#example-configurationyaml).
First off, several community members have sanitized (read: without API keys/passwords etc) versions of their configurations available for viewing, you can see a list of them [here](/cookbook/#example-configurationyaml).

As commenting code doesn't always happen, please read on for the details.

Expand Down Expand Up @@ -56,6 +56,7 @@ zwave:
mqtt:
broker: 127.0.0.1
```

As with the core snippet, indentation makes a difference. The integration headers (`mqtt:`) should be fully left aligned (aka no indent), and the parameters (`broker:`) should be indented two (2) spaces.

While some of these integrations can technically be moved to a separate file they are so small or "one off's" where splitting them off is superfluous. Also, you'll notice the # symbol (hash/pound). This represents a "comment" as far as the commands are interpreted. Put another way, any line prefixed with a `#` will be ignored. This makes breaking up files for human readability really convenient, not to mention turning off features while leaving the entry intact.
Expand Down Expand Up @@ -148,18 +149,20 @@ That about wraps it up.

If you have issues checkout `home-assistant.log` in the configuration directory as well as your indentations. If all else fails, head over to our [Discord chat server][discord] and ask away.

### Debugging multiple configuration files
## Debugging multiple configuration files

If you have many configuration files, the `check_config` script allows you to see how Home Assistant interprets them:

- Listing all loaded files: `hass --script check_config --files`
- Viewing a component's config: `hass --script check_config --info light`
- Or all components' config: `hass --script check_config --info all`

You can get help from the command line using: `hass --script check_config --help`

### Advanced Usage
## Advanced Usage

We offer four advanced options to include whole directories at once. Please note that your files must have the `.yaml` file extension; `.yml` is not supported.

- `!include_dir_list` will return the content of a directory as a list with each file content being an entry in the list. The list entries are ordered based on the alphanumeric ordering of the names of the files.
- `!include_dir_named` will return the content of a directory as a dictionary which maps filename => content of file.
- `!include_dir_merge_list` will return the content of a directory as a list by merging all files (which should contain a list) into 1 big list.
Expand All @@ -182,7 +185,7 @@ These work recursively. As an example using `!include_dir_* automation`, will in
└── configuration.yaml (not included)
```

#### Example: `!include_dir_list`
### Example: `!include_dir_list`

`configuration.yaml`

Expand Down Expand Up @@ -244,7 +247,7 @@ It is important to note that each file must contain only **one** entry when usin
It is also important to note that if you are splitting a file after adding -id: to support the automation UI,
the -id: line must be removed from each of the split files.

#### Example: `!include_dir_named`
### Example: `!include_dir_named`

`configuration.yaml`

Expand Down Expand Up @@ -321,7 +324,7 @@ speech:
{% endif %}{% endraw %}
```

#### Example: `!include_dir_merge_list`
### Example: `!include_dir_merge_list`

`configuration.yaml`

Expand Down Expand Up @@ -376,7 +379,7 @@ automation: !include_dir_merge_list automation/

It is important to note that when using `!include_dir_merge_list`, you must include a list in each file (each list item is denoted with a hyphen [-]). Each file may contain one or more entries.

#### Example: `!include_dir_merge_named`
### Example: `!include_dir_merge_named`

`configuration.yaml`

Expand Down
31 changes: 16 additions & 15 deletions source/_docs/configuration/troubleshooting.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,22 @@ Before we dive into common issues, make sure you know where your configuration d

Whenever an integration or configuration option results in a warning, it will be stored in `home-assistant.log` in the configuration directory. This file is reset on start of Home Assistant.

### My integration does not show up
## My integration does not show up

When an integration does not show up, many different things can be the case. Before you try any of these steps, make sure to look at the `home-assistant.log` file and see if there are any errors related to your integration you are trying to set up.

If you have incorrect entries in your configuration files you can use the [`check_config`](/docs/tools/check_config/) script to assist in identifying them: `hass --script check_config`. If you need to provide the path for your configuration you can do this using the `-c` argument like this: `hass --script check_config -c /path/to/your/config/dir`.

#### Problems with the configuration
### Problems with the configuration

One of the most common problems with Home Assistant is an invalid `configuration.yaml` or other configuration file.
- You can test your configuration using the command line with: `hass --script check_config`.
- On Hass.io you can use the [hassio command](/hassio/commandline/#home-assistant): `hassio homeassistant check`.
- On Docker you can use `docker exec home-assistant python -m homeassistant --script check_config --config /config` - where `home-assistant` is the name of the container.
- The configuration files, including `configuration.yaml` must be UTF-8 encoded. If you see error like `'utf-8' codec can't decode byte`, edit the offending configuration and re-save it as UTF-8.
- You can verify your configuration's yaml structure using [this online YAML parser](http://yaml-online-parser.appspot.com/) or [YAML Lint](http://www.yamllint.com/).
- To learn more about the quirks of YAML, read [YAML IDIOSYNCRASIES](https://docs.saltstack.com/en/latest/topics/troubleshooting/yaml_idiosyncrasies.html) by SaltStack (the examples there are specific to SaltStack, but do explain YAML issues well).
One of the most common problems with Home Assistant is an invalid `configuration.yaml` or other configuration file.

- You can test your configuration using the command line with: `hass --script check_config`.
- On Hass.io you can use the [`hassio` command](/hassio/commandline/#home-assistant): `hassio homeassistant check`.
- On Docker you can use `docker exec home-assistant python -m homeassistant --script check_config --config /config` - where `home-assistant` is the name of the container.
- The configuration files, including `configuration.yaml` must be UTF-8 encoded. If you see error like `'utf-8' codec can't decode byte`, edit the offending configuration and re-save it as UTF-8.
- You can verify your configuration's yaml structure using [this online YAML parser](http://yaml-online-parser.appspot.com/) or [YAML Lint](http://www.yamllint.com/).
- To learn more about the quirks of YAML, read [YAML IDIOSYNCRASIES](https://docs.saltstack.com/en/latest/topics/troubleshooting/yaml_idiosyncrasies.html) by SaltStack (the examples there are specific to SaltStack, but do explain YAML issues well).

`configuration.yaml` does not allow multiple sections to have the same name. If you want to load multiple platforms for one component, you can append a [number or string](/getting-started/devices/#style-2-list-each-device-separately) to the name or nest them using [this style](/getting-started/devices/#style-1-collect-every-entity-under-the-parent):

Expand Down Expand Up @@ -55,13 +55,14 @@ It can happen that some integrations either do not work right away or stop worki

#### Multiple files

If you are using multiple files for your setup, make sure that the pointers are correct and the format of the files is valid.
If you are using multiple files for your setup, make sure that the pointers are correct and the format of the files is valid.

```yaml
light: !include devices/lights.yaml
sensor: !include devices/sensors.yaml
```
Contents of `lights.yaml` (notice it does not contain `light: `):

Contents of `lights.yaml` (notice it does not contain `light:`):

```yaml
- platform: hyperion
Expand Down Expand Up @@ -89,8 +90,8 @@ Whenever you report an issue, be aware that we are volunteers who do not have ac

The only characters valid in entity names are:

* Lowercase letters
* Numbers
* Underscores
- Lowercase letters
- Numbers
- Underscores

If you create an entity with other characters then Home Assistant may not generate an error for that entity. However you will find that attempts to use that entity will generate errors (or possibly fail silently).
33 changes: 19 additions & 14 deletions source/_docs/z-wave/installation.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,9 @@ device_config / device_config_domain / device_config_glob:
Security Z-Wave devices require a network key before being added to the network using the Add Secure Node button in the Z-Wave Network Management card. You must set the *network_key* configuration variable to use a network key before adding these devices.

An easy script to generate a random key:

```bash
$ cat /dev/urandom | tr -dc '0-9A-F' | fold -w 32 | head -n 1 | sed -e 's/\(..\)/0x\1, /g' -e 's/, $//'
cat /dev/urandom | tr -dc '0-9A-F' | fold -w 32 | head -n 1 | sed -e 's/\(..\)/0x\1, /g' -e 's/, $//'
```

You can also use sites like [this one](https://www.random.org/cgi-bin/randbyte?nbytes=16&format=h) to generate the required data, just remember to put `0x` before each pair of characters:
Expand All @@ -116,10 +117,10 @@ You do not need to install any software to use Z-Wave.

If the path of `/dev/ttyACM0` doesn't work, look in the *System* section of the *Hass.io* menu. There you'll find a *Hardware* button which will list all the hardware found.

You can also check what hardware has been found using the [hassio command](/hassio/commandline/#hardware):
You can also check what hardware has been found using the [`hassio` command](/hassio/commandline/#hardware):

```bash
$ hassio hardware info
hassio hardware info
```

If you did an alternative install of Hass.io on Linux (e.g. installing Ubuntu, then Docker, then Hass.io) then the `modemmanager` package will interfere with any Z-Wave (or Zigbee) stick and should be removed or disabled in the host OS. Failure to do so will result in random failures of those components, e.g. dead or unreachable Z-Wave nodes, most notably right after Home Assistant restarts. Connect to your host OS via SSH, then you can disable with `sudo systemctl disable ModemManager` and remove with `sudo apt-get purge modemmanager` (commands are for Debian/Ubuntu).
Expand All @@ -131,7 +132,7 @@ You do not need to install any software to use Z-Wave.
To enable access to the Z-Wave stick, add `--device=/dev/ttyACM0` to the `docker` command that starts your container, for example:

```bash
$ docker run -d --name="home-assistant" -v /home/pi/homeassistant:/config -v /etc/localtime:/etc/localtime:ro --net=host --device=/dev/ttyACM0 homeassistant/raspberrypi3-homeassistant
docker run -d --name="home-assistant" -v /home/pi/homeassistant:/config -v /etc/localtime:/etc/localtime:ro --net=host --device=/dev/ttyACM0 homeassistant/raspberrypi3-homeassistant
```

If the path of `/dev/ttyACM0` doesn't work then you can find the path of the stick by disconnecting and then reconnecting it, and running the following in the Docker host:
Expand All @@ -153,7 +154,7 @@ On the Raspberry Pi you will need to enable the serial interface in the `raspi-c
On Debian Linux platforms there are dependencies you will need to have installed ahead of time (included in `systemd-devel` on Fedora/RHEL systems):

```bash
$ sudo apt-get install libudev-dev build-essential
sudo apt-get install libudev-dev build-essential
```

You may also have to install the Python development libraries for your version of Python. For example `libpython3.6-dev`, and possibly `python3.6-dev` if you're using Python 3.6.
Expand Down Expand Up @@ -183,17 +184,18 @@ dmesg | grep USB
If Home Assistant (`hass`) runs with another user (e.g., *homeassistant*) you need to give access to the stick with:

```bash
$ sudo usermod -aG dialout homeassistant
sudo usermod -aG dialout homeassistant
```

The output from `ls -ltr` above contains the following information:
* The device type is `c` (character special)
* The permissions are `rw-rw----`, meaning only the owner and group can read and write to it
* There is only `1` link to the file
* It is owned by `root` and can be accessed by members of the group `dialout`
* It has a major device number of `204`, and a minor device number of `64`
* The device was connected at `10:25` on `21 September`
* The device is `/dev/ttyUSB0`.

- The device type is `c` (character special).
- The permissions are `rw-rw----`, meaning only the owner and group can read and write to it.
- There is only `1` link to the file.
- It is owned by `root` and can be accessed by members of the group `dialout`.
- It has a major device number of `204`, and a minor device number of `64`.
- The device was connected at `10:25` on `21 September`.
- The device is `/dev/ttyUSB0`.

#### macOS

Expand All @@ -218,6 +220,7 @@ If your device path changes when you restart, see [this guide](http://hintshop.l
### Random unreachable Z-Wave nodes: ModemManager interference

If this applies to your situation:

- Some or all Z-Wave nodes are unreachable after restarting Home Assistant; not necessarily after every restart but seemingly random.
- The Z-Wave stick stops responding, needs to be re-plugged or Home Assistant needs a restart to get Z-Wave back.
- Your host OS is Debian-based/Ubuntu (for example: you installed Ubuntu, then Docker, then Hass.io).
Expand Down Expand Up @@ -267,7 +270,9 @@ sudo usermod -aG dialout homeassistant

If you're getting errors like:

openzwave-embed/open-zwave-master/libopenzwave.a: No such file or directory
```txt
openzwave-embed/open-zwave-master/libopenzwave.a: No such file or directory
```

Then the problem is that you're missing `libudev-dev` (or the equivalent for your distribution), please [install it](/docs/z-wave/installation/#linux).

Expand Down
8 changes: 4 additions & 4 deletions source/_integrations/apple_tv.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Currently, you must have Home Sharing enabled for this to work. Support for pair
To use this component, you must first install some system libraries and a compiler. For Debian or a similar system, this should be enough:

```shell
$ sudo apt-get install build-essential libssl-dev libffi-dev python-dev
sudo apt-get install build-essential libssl-dev libffi-dev python-dev
```

If you want to discover new devices automatically, just make sure you have `discovery:` in your `configuration.yaml` file. To manually add one or more Apple TVs to your installation, add the following to your `configuration.yaml` file:
Expand Down Expand Up @@ -78,7 +78,7 @@ In order to connect to the device, you need a *login id*. The easiest way to obt

Make sure Home Sharing is enabled on the Apple TV.

To scan for devices and determine the `login_id`, open the developer tools by selecting the hammer icon in the sidebar. Once in the developer tools select **services**.
To scan for devices and determine the `login_id`, open the developer tools by selecting the hammer icon in the sidebar. Once in the developer tools select **services**.

<img src='/images/screenshots/developer-tools.png' />

Expand Down Expand Up @@ -106,9 +106,9 @@ Just copy and paste the `login_id` from the device you want to add. For more det

If you, when playing media with `play_url`, get the following error message:

*“This AirPlay connection requires iOS 7.1 or later, OS X 10.10 or later, or iTunes 11.2 or later.”*
“This AirPlay connection requires iOS 7.1 or later, macOS 10.10 or later, or iTunes 11.2 or later.”

then device authentication is required, open the developer tools by selecting the hammer icon in the sidebar. Once in the developer tools select **services**.
then device authentication is required, open the developer tools by selecting the hammer icon in the sidebar. Once in the developer tools select **services**.

<img src='/images/screenshots/developer-tools.png' />

Expand Down
2 changes: 1 addition & 1 deletion source/_integrations/beewi_smartclim.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Depending on the operating system you're running, you have to configure the prop
- On other Linux systems:
- Preferred solution: Install the `bluepy` and `btlewrap` library (via pip). When using a virtual environment, make sure to use install the library in the right one.
- Fallback solution: Install `btlewrap` library (via pip) and `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth` or `bluez-deprecated`.
- Windows and MacOS are currently not supported by the `btlewrap` library.
- Windows and macOS are currently not supported by the `btlewrap` library.

## Configuration

Expand Down
37 changes: 17 additions & 20 deletions source/_integrations/binary_sensor.mysensors.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -9,31 +9,31 @@ ha_release: 0.14
ha_iot_class: Local Push
---

Integrates MySensors binary sensors into Home Assistant. See the [main component] for configuration instructions.
Integrates MySensors binary sensors into Home Assistant. See the [main integration](/integrations/mysensors/) for configuration instructions.

The following sensor types are supported:

#### MySensors version 1.4 and higher
## MySensors version 1.4 and higher

S_TYPE | V_TYPE
-------------------|---------------------------------------
S_DOOR | V_TRIPPED
S_MOTION | V_TRIPPED
S_SMOKE | V_TRIPPED
| S_TYPE | V_TYPE |
| -------- | --------- |
| S_DOOR | V_TRIPPED |
| S_MOTION | V_TRIPPED |
| S_SMOKE | V_TRIPPED |

#### MySensors version 1.5 and higher
## MySensors version 1.5 and higher

S_TYPE | V_TYPE
---------------|----------------------------------
S_SPRINKLER | V_TRIPPED
S_WATER_LEAK | V_TRIPPED
S_SOUND | V_TRIPPED
S_VIBRATION | V_TRIPPED
S_MOISTURE | V_TRIPPED
| S_TYPE | V_TYPE |
| ------------ | --------- |
| S_SPRINKLER | V_TRIPPED |
| S_WATER_LEAK | V_TRIPPED |
| S_SOUND | V_TRIPPED |
| S_VIBRATION | V_TRIPPED |
| S_MOISTURE | V_TRIPPED |

For more information, visit the [serial api] of MySensors.
For more information, visit the [serial API](https://www.mysensors.org/download) of MySensors.

### Example sketch
## Example sketch

```cpp
/**
Expand Down Expand Up @@ -80,6 +80,3 @@ void loop()
}
}
```
[main component]: /integrations/mysensors/
[serial api]: https://www.mysensors.org/download
Loading

0 comments on commit b617bce

Please sign in to comment.