Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .textlintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,9 @@
["end ?to ?end", "end-to-end"],
["FRITZ!? ?Box", "FRITZ!Box"],
["grey", "gray"],
["Hass\\.?io", "Home Assistant"],
["hass", "Home Assistant"],
["HassOS", "Home Assistant Operating System"],
["he or she", "they"],
["he/she", "they"],
["Home-?Ass?s?iss?tt?ant", "Home Assistant"],
Expand Down
13 changes: 6 additions & 7 deletions source/_docs/authentication.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,8 @@ If you are starting Home Assistant for the first time, or you have logged out, y

When you start Home Assistant for the first time the _owner_ user account is created. This account has some special privileges and can:

- Create and manage other user accounts.
- Create and manage other user accounts.
- Configure integrations and other settings (coming soon).
- Configure Hass.io (coming soon).

<div class='note'>
For the moment, other user accounts will have the same access as the owner account. In the future, non-owner accounts will be able to have restrictions applied.
Expand Down Expand Up @@ -78,11 +77,11 @@ INFO (MainThread) [homeassistant.components.http.auth] You need to use a bearer

While you should hopefully be storing your passwords in a password manager, if you lose the password associated with the owner account the only way to resolve this is to delete *all* the authentication data. You do this by shutting down Home Assistant and deleting the following files from the `.storage/` folder in your [configuration folder](/docs/configuration/):
Comment thread
frenck marked this conversation as resolved.

* `auth`
* `auth_provider.homeassistant`
* `onboarding`
* `hassio` (for Hass.io users)
* `cloud` (for nabucasa users)
- `auth`
- `auth_provider.homeassistant`
- `onboarding`
- `hassio`
- `cloud`

When you start Home Assistant next, you'll be required to set up authentication again.

Expand Down
14 changes: 7 additions & 7 deletions source/_docs/configuration.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ The web interface can be found at `http://ip.ad.dre.ss:8123/` - for example if y

The location of the folder differs between operating systems:

| OS | Path |
| ------- | -------------------------- |
| macOS | `~/.homeassistant` |
| Linux | `~/.homeassistant` |
| Windows | `%APPDATA%/.homeassistant` |
| Hass.io | `/config` |
| Docker | `/config` |
| OS | Path |
| -------------- | -------------------------- |
| Home Assistant | `/config` |
| Docker | `/config` |
| macOS | `~/.homeassistant` |
| Linux | `~/.homeassistant` |
| Windows | `%APPDATA%/.homeassistant` |

If you want to use a different folder for configuration, use the configuration command line parameter: `hass --config path/to/config`.

Expand Down
4 changes: 2 additions & 2 deletions source/_docs/configuration/troubleshooting.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ If you have incorrect entries in your configuration files you can use the [`chec

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`.
- With Home Assistant you can use the [`ha` command](/hassio/commandline/#home-assistant): `ha core check`.
- You can test your configuration with Home Assistant Core using the command line with: `hass --script check_config`.
- 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/).
Expand Down
4 changes: 3 additions & 1 deletion source/_docs/configuration/yaml.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,9 @@ sensor:

### Environmental variables

You can include values from your system's environment variables with `!env_var`. Note that this will only work in a scenario where it is possible to specify these. Hass.io users are recommended to use `!include` statements instead.
On Home Assistant Core installations, you can include values from your system's environment variables with `!env_var`.
Note that this will only work for Home Assistant Core installations, in a scenario where it is possible to specify these.
Regular Home Assistant users are recommended to use `!include` statements instead.

```yaml
example:
Expand Down
3 changes: 2 additions & 1 deletion source/_docs/ecosystem/certificates/lets_encrypt.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ description: "A guide to remotely accessing Home Assistant and securing the conn

<div class='note'>

If you are using Hass.io do not use this guide. Instead, use the [DuckDNS add-on](/addons/duckdns/) for Hass.io.
This guide is for users running Home Assistant Core.
If you are using Home Assistant do not use this guide. Instead, use the [DuckDNS add-on](/addons/duckdns/) for Home Assistant.

</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ The certificate **must** be `.pem` extension.
openssl req -sha256 -newkey rsa:4096 -nodes -keyout privkey.pem -x509 -days 730 -out fullchain.pem
```

For details about the parameters, please check the OpenSSL documentation. Provide the requested information during the generation process.
For details about the parameters, please check the OpenSSL documentation. Provide the requested information during the generation process.

At the end you will have two files called `privkey.pem` and `fullchain.pem`. The key and the certificate.

Update the `http:` entry in your `configuration.yaml` file and let it point to your created files.
Update the `http:` entry in your `configuration.yaml` file and let it point to your created files.

Hass.io:

Expand All @@ -52,7 +52,7 @@ A restart of Home Assistant is required for the new certificate to take effect.

If you get any log error about *ssl_key* or *ssl_certificate* that is **not a file for dictionary value** when run Home Assistant, you need to change owner or access permission of the `.pem` files as following:

Hass.io (through Console or SSH plug-in):
Home Assistant (through console or SSH add-on):

```bash
chown root:root fullchain.pem privkey.pem
Expand Down
6 changes: 3 additions & 3 deletions source/_docs/installation.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,13 @@ These install options are fully supported by Home Assistant's documentation. For

<div class='note'>

The only installation methods that allow you to use Hass.io Add-ons are the Hass.io image and [manual installer](/hassio/installation/#alternative-install-on-a-generic-linux-host). All other methods only install the base Home Assistant packages, however the software from the add-ons may still usually be installed manually like any other program.
The only installation methods that allow you to use Home Assistant Add-ons is using the Home Assistant image and [manual Supervised installer](/hassio/installation/#alternative-install-on-a-generic-linux-host). All other methods only install the base Home Assistant packages, however the software from the add-ons may still usually be installed manually like any other program.

</div>

**Method**|**You have**|**Recommended for**
:-----|:-----|:-----
[Hass.io](/hassio/installation/)|Raspberry Pi<br>VM|Anybody
[Home Assistant](/hassio/installation/)|Raspberry Pi<br>VM|Anybody
[Docker](/docs/installation/docker/)|Docker|Anybody already running Docker

## Alternative installs
Expand Down Expand Up @@ -116,6 +116,6 @@ These guides are provided as-is. Some of these install methods are more limited
<div class='img-container'>
<img src='/images/supported_brands/home-assistant.png' />
</div>
<div class='title'>Hass.io <br> on generic Linux server</div>
<div class='title'>Home Assistant Supervised <br> on generic Linux server</div>
</a>
</div>
8 changes: 4 additions & 4 deletions source/_docs/installation/synology.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ Synology only provide Python 3.5.1, which is not compatible with Home Assistant
</div>

There are 3 alternatives, when using Home Assistant on Synology NAS:
1. using Docker
2. directly running on DSM
3. using Hass.io in a VM (if you have an Intel based Synology)
1. Using Home Assistant Core on Docker
2. Directly running Home Assistant Core on DSM
3. Using the Home Assistant a VM (if you have an Intel based Synology)

Option 1 is described on the [Docker installation page](/docs/installation/docker/).

Option 3 uses the Synology Based Virtual Machine Manager. You can import the VDI image to be found at the [Hass.io installation page](/hassio/installation/). Download the image and add it to the image store. The go to "Virtual Machine" in the interface and create a new VM with the image you just added.
Option 3 uses the Synology Based Virtual Machine Manager. You can import the VDI image to be found at the [Home Assistant installation page](/hassio/installation/). Download the image and add it to the image store. The go to "Virtual Machine" in the interface and create a new VM with the image you just added.

The main benefit from this method is that you can assign Home Assistant its own IP number, so there is no risk regarding TCP/UDP port conflicts. USB dongles an be connected to the VM without the need to install a driver in DSM.

Expand Down
21 changes: 10 additions & 11 deletions source/_docs/installation/updating.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -6,37 +6,36 @@ redirect_from: /getting-started/updating/

<div class='note warning'>

The upgrade process differs depending on the installation you have, so please review the documentation that is specific to your install [Hass.io](/hassio/) or [Virtualenv](/docs/installation/virtualenv/#upgrading-home-assistant).
The upgrade process differs depending on the installation you have, so please review the documentation that is specific to your install [Home Assistant](/hassio/) or [Home Assistant Core](/docs/installation/virtualenv/#upgrading-home-assistant).

</div>

Check what's new in the latest version and potentially impacts your system in [Home Assistant release notes](https://github.com/home-assistant/home-assistant/releases). It is good practice to review these release notes and pay close attention to the **Breaking Changes** that are listed there. If you haven't done an update for a while, you should also check previous release notes as they can also contain relevant **Breaking Changes**. **Breaking Changes** may require configuration updates for your components. If you missed this and Home Assistant refuses to start, check the log file in the [configuration](/docs/configuration/) directory, e.g., `.homeassistant/home-assistant.log`, for details about broken components.

<div class='note'>

To avoid permission errors, the upgrade must be run as the same user as the installation was completed, again review the documentation specific to your install [Hass.io](/hassio/) or [Virtualenv](/docs/installation/virtualenv).
To avoid permission errors, the upgrade must be run as the same user as the installation was completed, again review the documentation specific to your install [Home Assistant](/hassio/) or [Home Assistant Core](/docs/installation/virtualenv).

</div>

The default way to update Home Assistant to the latest release, when available, is:

```bash
$ pip3 install --upgrade homeassistant
pip3 install --upgrade homeassistant
```

For a Docker container, simply pull the latest one:

```bash
$ sudo docker pull homeassistant/home-assistant:latest
sudo docker pull homeassistant/home-assistant:latest
```

For a Raspberry Pi Docker container, simply pull the latest one:

```bash
$ sudo docker pull homeassistant/raspberrypi3-homeassistant:latest
sudo docker pull homeassistant/raspberrypi3-homeassistant:latest
```


After updating, you must start/restart Home Assistant for the changes to take effect. This means that you will have to restart `hass` itself or the [autostarting](/docs/autostart/) daemon (if applicable). Startup can take considerable amount of time (i.e. minutes) depending on your device. This is because all requirements are updated as well.

[BRUH automation](https://www.bruhautomation.io/) has created [a tutorial video](https://www.youtube.com/watch?v=tuG2rs1Cl2Y) explaining how to upgrade Home Assistant.
Expand All @@ -46,15 +45,15 @@ After updating, you must start/restart Home Assistant for the changes to take ef
In the event that a Home Assistant version doesn't play well with your hardware setup, you can downgrade to a previous release:

```bash
$ pip3 install homeassistant==0.XX.X
pip3 install homeassistant==0.XX.X
```

#### Run the beta version

If you would like to test next release before anyone else, you can install the beta version released every two weeks:

```bash
$ pip3 install --pre --upgrade homeassistant
pip3 install --pre --upgrade homeassistant
```

#### Run the development version
Expand All @@ -69,11 +68,11 @@ If you want to stay on the bleeding-edge Home Assistant development branch, you
$ pip3 install --upgrade git+git://github.com/home-assistant/home-assistant.git@dev
```

### Update Hass.io installation
### Update Home Assistant installation

Best practice for updating a Hass.io installation:
Best practice for updating a Home Assistant installation:

1. Backup your installation, using the snapshot functionality Hass.io offers.
1. Backup your installation, using the snapshot functionality Home Assistant offers.
2. Check the release notes for breaking changes on [Home Assistant release notes](https://github.com/home-assistant/home-assistant/releases). Be sure to check all release notes between the version you are running and the one you are upgrading to. Use the search function in your browser (`CTRL + f`) and search for **Breaking Changes**.
3. Check your configuration using the [Check Home Assistant configuration](/addons/check_config/) add-on.
4. If the check passes, you can safely update. If not, update your configuration accordingly.
Expand Down
39 changes: 9 additions & 30 deletions source/_docs/mqtt/broker.markdown
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
---
title: "MQTT Brokers"
description: "Instructions on how to setup MQTT brokers for Home Assistant."
title: "MQTT Broker"
description: "Instructions on how to setup a MQTT broker for Home Assistant."
logo: mqtt.png
---

The MQTT integration needs you to run an MQTT broker for Home Assistant to connect to. There are four options, each with various degrees of ease of setup and privacy.
The MQTT integration needs you to run an MQTT broker for Home Assistant to connect to.

### Run your own

This is the most private option, but it requires a little bit of work to setup. There are multiple free and open-source brokers to pick from: e.g., [Mosquitto](http://mosquitto.org/), [EMQ](https://github.com/emqx/emqx) or [Mosca](http://www.mosca.io/).
For Hass.io users, the recommended setup method is to use the [Mosquitto MQTT broker addon](/addons/mosquitto).
This is the most private option, is running your own MQTT broker.

The recommended setup method is to use the [Mosquitto MQTT broker addon](/addons/mosquitto).

## Configuration

```yaml
# Example configuration.yaml entry
Expand Down Expand Up @@ -48,7 +51,7 @@ protocol:
type: string
certificate:
required: false
description: Path to the certificate file, e.g., `/home/user/.homeassistant/server.crt`.
description: Path to the certificate file, e.g., `/ssl/server.crt`.
type: string
tls_insecure:
required: false
Expand All @@ -61,26 +64,6 @@ tls_version:
type: string
{% endconfiguration %}

<div class='note warning'>

There is an issue with the Mosquitto package included in Ubuntu 14.04 LTS. Specify `protocol: 3.1` in your MQTT configuration to work around this issue.

If you get this error `AttributeError: module 'ssl' has no attribute 'PROTOCOL_TLS'` then you need to set `tls_version: '1.2'`.

</div>

<div class='note'>

If you are running a Mosquitto instance on the same server as Home Assistant then you must ensure that the Mosquitto service starts before Home Assistant. For a Linux instance running Systemd (Raspberry Pi, Debian, Ubuntu and others) then you should edit the file `/etc/systemd/system/home-assistant@homeassistant.service` as `root` (e.g., `sudo nano /etc/systemd/system/home-assistant@homeassistant.service`) and add the Mosquitto service:

```txt
[Unit]
Description=Home Assistant
After=network.target mosquitto.service
```

</div>

<div class='note'>

If you are running a Mosquitto instance on a different server with proper SSL encryption using a service like Let's Encrypt you may have to set the certificate to the operating systems own `.crt` certificates file. In the instance of Ubuntu this would be `certificate: /etc/ssl/certs/ca-certificates.crt`
Expand Down Expand Up @@ -161,10 +144,6 @@ mqtt:
As of release 0.92, the embedded broker has been marked as deprecated. This means bugs may not be fixed, and the functionality may be removed in a future release.
</div>

<div class='note'>
Before release 0.76, the embedded broker would use your API password as a password to the MQTT user. This is no longer the case.
</div>

<div class='note warning'>

There is [an issue](https://github.com/beerfactory/hbmqtt/issues/62) with the HBMQTT broker and the WebSocket connection that is causing a memory leak. If you experience this issue, consider using another broker like Mosquitto.
Expand Down
6 changes: 2 additions & 4 deletions source/_docs/security.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ As Home Assistant is like every other service or daemon that is running on a com

[Secure your installation](/docs/configuration/securing/) once you've finished with the installation process regardless of your use case.

Home Assistant is NOT able to change the configuration of your router or firewall. This means that you need to setup [port-forwarding](/docs/configuration/remote/) and adjusting firewall rules if you want to allow access from the internet. By default your frontend and your Hass.io add-ons like Mosquitto, SSH and your Samba shares are only accessible from your local network.
Home Assistant is NOT able to change the configuration of your router or firewall. This means that you need to setup [port-forwarding](/docs/configuration/remote/) and adjusting firewall rules if you want to allow access from the internet. By default your frontend and your Home Assistant add-ons like Mosquitto, SSH and your Samba shares are only accessible from your local network.

## Server banner

Expand All @@ -17,8 +17,6 @@ Further [details about the fingerprint/server banner](/docs/security/webserver/)

The default port of Home Assistant is 8123. This is the port where the [`frontend`](/integrations/frontend/) and the [`API`](/integrations/api/) is served. Both are depending on the [`http`](/integrations/http/) integration which contains the capability to adjust the settings like `server_host` or `server_port`.

See the [open ports](/docs/security/porosity/) of a Hass.io instance with various add-ons.

## HTTP SSL/TLS

Home Assistant is following the [Mozilla's Operations Security team recommendations](https://wiki.mozilla.org/Security/Server_Side_TLS) for Server side SSL/TLS settings. Home Assistant uses **Modern compatibility** by default. If an user wishes to use **Intermediate compatibility**, this is configurable in the [`http` integration](/integrations/http/).
Expand All @@ -27,7 +25,7 @@ Home Assistant is following the [Mozilla's Operations Security team recommendati

The SSH connection for [debugging](https://developers.home-assistant.io/docs/en/hassio_debugging.html) on port 22222 is not enabled by default and can only be used with keys.

If SSH is used with the [SSH server add-on](/addons/ssh/) then the user is responsible for the configuration and security.
If SSH is used with the [SSH server add-on](/addons/ssh/) then the user is responsible for the configuration and security.

## Source code

Expand Down
Loading