Collection of cleanups (#13598)

This commit is contained in:
Franck Nijhof 2020-05-26 23:47:07 +02:00 committed by GitHub
parent c779c838c8
commit 5a5eeaddb6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 19 additions and 163 deletions

View File

@ -6,8 +6,8 @@ redirect_from: /getting-started/troubleshooting/
It can happen that you run into trouble while installing Home Assistant. This page is here to help you solve the most common problems.
#### pip3: command not found
This utility should have been installed as part of the Python installation. Check if Python is installed by running `python3 --version`. If it is not installed, [download it here](https://www.python.org/getit/).
If you are able to successfully run `python3 --version` but not `pip3`, install Home Assistant by running the following command instead:
@ -19,19 +19,13 @@ python3 -m pip install homeassistant
On a Debian system, you can also install python3 by `sudo apt-get install python3`, and pip3 by `sudo apt-get install python3-pip`.
#### No module named pip
[Pip](https://pip.pypa.io/en/stable/) should come bundled with the latest Python 3 but is omitted by some distributions. If you are unable to run `python3 -m pip --version` you can install `pip` by [downloading the installer](https://bootstrap.pypa.io/get-pip.py) and running it with Python 3:
```bash
python3 get-pip.py
```
#### libyaml is not found or a compiler error
On a Debian system, install the Python 3 YAML library by `sudo apt-get install python3-yaml`.
#### distutils.errors.DistutilsOptionError: must supply either home or prefix/exec-prefix -- not both
This is a known issue if you're on a Mac using Homebrew to install Python. Please follow [these instructions](https://github.com/Homebrew/brew/blob/master/docs/Homebrew-and-Python.md#note-on-pip-install---user) to resolve it.
#### No access to the frontend
In newer Linux distributions the access to a host is very limited. This means that you can't access the Home Assistant frontend that is running on a host outside of the host machine.
@ -50,14 +44,3 @@ For `iptables` systems (was the default for older distributions):
iptables -I INPUT -p tcp --dport 8123 -j ACCEPT
iptables-save > /etc/network/iptables.rules # your rules may be saved elsewhere
```
#### After upgrading, your browser login gets stuck at the "loading data" step
After upgrading to a new version, you may notice your browser gets stuck at the "loading data" login screen. Close the window/tab and go into your browser settings and delete all the cookies for your URL. You can then log back in and it should work.
Android Chrome
chrome -> settings -> site settings -> storage -> search for your URL for Home Assistant-> "clear & reset"
#### Not initializing discovery because could not install dependency netdisco
If you see `Not initializing discovery because could not install dependency netdisco==x.y.z` in the logs, you will need to install the `python3-dev` or `python3-devel` package on your system manually (eg. `sudo apt-get install python3-dev` or `sudo dnf -y install python3-devel`). On the next restart of Home Assistant, discovery should work. If you still get an error, check if you have a compiler (`gcc`) available on your system.

View File

@ -20,7 +20,7 @@ Connect a keyboard and monitor to your device.
`auth reset --username existing_user --password new_password`
### Home Assistant Core
### Home Assistant Core and Home Assistant Container
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/):

View File

@ -1,32 +0,0 @@
---
title: "Security of Home Assistant"
description: "Security of Home Assistant."
---
As Home Assistant is like every other service or daemon that is running on a computer system that allows access over a network connection, certain measures were taken to increase the overall security while still staying operational.
[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 Home Assistant add-ons like Mosquitto, SSH and your Samba shares are only accessible from your local network.
## Server banner
Further [details about the fingerprint/server banner](/docs/security/webserver/) of a Home Assistant instance are available.
## Porosity
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`.
## 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/).
## SSH
The SSH connection for [debugging](https://developers.home-assistant.io/docs/operating-system/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.
## Source code
Due to the lack of resources we are not able to review all of our dependencies and inspect them for malicious behavior, leakage of information or compliance with GDPR. But we have a keen interest in the development of our dependencies and try to work closely with the upstream developer.

View File

@ -1,48 +0,0 @@
---
title: "Web server fingerprint"
description: "Use nmap to scan your Home Assistant instance."
redirect_from: /docs/frontend/webserver/
---
It was only a matter of time until the first queries for tools like [https://www.shodan.io](https://www.shodan.io/search?query=Home+Assistant) to search for Home Assistant instances showed up.
To get an idea about how your Home Assistant instance looks to a network scanner, you can use `nmap`. The `nmap` tool is already available if you are using the [Nmap device tracker](/integrations/device_tracker/).
```bash
$ nmap -sV -p 8123 --script=http-title,http-headers 192.168.0.3
Starting Nmap 7.60 ( https://nmap.org ) at 2018-05-29 18:16 CEST
Nmap scan report for 192.168.0.3
Host is up (0.0058s latency).
PORT STATE SERVICE VERSION
8123/tcp open http aiohttp 3.1.3 (Python 3.6)
| http-headers:
| Content-Type: text/html; charset=utf-8
| Content-Length: 3073
| Date: Tue, 29 May 2018 16:16:50 GMT
| Server: Python/3.6 aiohttp/3.1.3
| Connection: close
|
|_ (Request type: GET)
|_http-server-header: Python/3.6 aiohttp/3.1.3
|_http-title: Home Assistant
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 12.13 seconds
```
We don't have an unique server banner but in combination with the HTML title `Home Assistant`, is it simple to identify Home Assistant instances.
```bash
$ nc 192.168.0.3 8123
GET / HTTP/1.1
host: localhost
HTTP/1.1 200 OK
Server: Python/3.6 aiohttp/3.1.3
[...]
```
One option to avoid this exposure is using a [reverse proxy](/docs/ecosystem/nginx/).

View File

@ -111,7 +111,6 @@
<ul>
<li>{% active_link /docs/backend/database/ Database %}</li>
<li>{% active_link /docs/backend/updater/ Updater %}</li>
<li>{% active_link /developers/api/ API %}</li>
</ul>
</li>
<li>
@ -139,14 +138,6 @@
<li>{% active_link /docs/tools/keyring/ keyring %}</li>
</ul>
</li>
<li>
<b>{% active_link /docs/security/ Security %}</b>
<ul>
<li>
{% active_link /docs/security/webserver/ Web server fingerprint %}
</li>
</ul>
</li>
<li>
<b>{% active_link /docs/z-wave/ Z-Wave %}</b>
<ul>
@ -161,18 +152,23 @@
</li>
<li>{% active_link /docs/z-wave/controllers/ Controllers %}</li>
<li>
{% active_link /docs/z-wave/devices/ Devices %} and {% active_link
{% active_link /docs/z-wave/devices/ Devices %}
and
{% active_link
/docs/z-wave/entities/ Entities %}
</li>
<li>
{% active_link /docs/z-wave/query-stage/ Query Stages %} for devices
{% active_link /docs/z-wave/query-stage/ Query Stages %}
for devices
</li>
<li>
{% active_link /docs/z-wave/device-specific/ Device Specific %}
configuration
</li>
<li>
{% active_link /docs/z-wave/events/ Events %} and {% active_link
{% active_link /docs/z-wave/events/ Events %}
and
{% active_link
/docs/z-wave/services/ Services %}
</li>
</ul>

View File

@ -17,11 +17,10 @@ The `beewi_smartclim` sensor platform allows one to monitor room or external tem
Depending on the operating system you're running, you have to configure the proper Bluetooth backend on your system:
- `beewi_smartclim` will work out of the box as long as the host supports Bluetooth (like the Raspberry Pi does).
- Using [Home Assistant Core on Docker installation](/docs/installation/docker/): Works out of the box with `--net=host` and properly configured Bluetooth on the host.
- Using [Home Assistant Container installation](/docs/installation/docker/): Works out of the box with `--net=host` and properly configured Bluetooth on the host.
- On other Home Assistant Core 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.
## Configuration

View File

@ -152,13 +152,9 @@ Verify that the URLs above are using port 80, rather than port 8300 (i.e., `http
### Platform specific instructions
#### Home Assistant and Home Assistant Core on Docker
#### Home Assistant Core
No further actions are required
#### Home Assistant Core in a Python venv
An additional step is required to run Home Assistant as a non-root user and use port 80.
An additional step is required to run Home Assistant as a non-root user and use port 80.
##### Linux
@ -170,20 +166,6 @@ sudo setcap 'cap_net_bind_service=+ep' /srv/homeassistant/homeassistant_venv/bin
Please note that your path may be different depending on your installation method. For example, if you followed the [Virtualenv instructions](/docs/installation/virtualenv/), your path will be `/srv/homeassistant/bin/python3`.
##### FreeBSD and FreeNAS
On FreeBSD based systems, including FreeNAS, execute the following to allow `emulated_hue` to use port 80 as a non-root user:
```bash
sysctl net.inet.ip.portrange.reservedhigh=0
```
You can make this persist by adding the following to `/etc/sysctl.conf`:
```bash
net.inet.ip.portrange.reservedhigh=0
```
### License
Much of this code is based on work done by Bruce Locke on his [ha-local-echo](https://github.com/blocke/ha-local-echo) project, originally released under the MIT License. The license is located [here](https://github.com/blocke/ha-local-echo/blob/b9bf5dcaae6d8e305e2283179ffba64bde9ed29e/LICENSE).

View File

@ -19,17 +19,6 @@ The HomeKit Bridge integration allows you to forward entities from Home Assistan
</div>
<div class="note warning">
If you are using the official Home Assistant images or running Home Assistant Core on Docker, HomeKit is ready to go out of the box. If you are running Home Assistant in a manual virtual environment or on a NAS without Docker, you may need to install or upgrade dependencies for HomeKit to function.
HomeKit requires openssl 1.1.0 or later as the HomeKit Accessory Protocol (HAP) uses the `ChaCha20` stream cipher and the `Poly1305` authenticator.
It might be necessary to install an additional package:
`sudo apt-get install libavahi-compat-libdnssd-dev`
</div>
To add `HomeKit Bridge` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **HomeKit Bridge**.
If you need to use the `entity_config`, `ip_address`, or `advertise_ip` configuration options, `HomeKit Bridge` must be configured via your `configuration.yaml` file:

View File

@ -57,14 +57,6 @@ Home Assistant does not currently support HomeKit BLE.
</div>
<div class="note warning">
If you are using the official Home Assistant images or running Home Assistant Core on Docker, HomeKit controller is ready to go out of the box. If you are running Home Assistant in a manual virtual environment or on a NAS without Docker, you may need to install or upgrade dependencies for HomeKit controller to function.
HomeKit controller requires openssl 1.1.0 or later as the HomeKit Accessory Protocol (HAP) uses the `ChaCha20` stream cipher and the `Poly1305` authenticator.
</div>
## Troubleshooting
### I don't have a HomeKit PIN

View File

@ -20,11 +20,10 @@ There are "Chinese" and "International" versions available and there is a [repor
Before configuring Home Assistant you need a Bluetooth backend and the MAC address of your sensor. Depending on your operating system, you may have to configure the proper Bluetooth backend for your system:
- On [Home Assistant](/hassio/installation/): Miflora will work out of the box.
- On [Home Assistant Core on Docker](/docs/installation/docker/): Works out of the box with `--net=host` and properly configured Bluetooth on the host.
- On [Home Assistant Container](/docs/installation/docker/): Works out of the box with `--net=host` and properly configured Bluetooth on the host.
- On other Linux systems:
- Preferred solution: Install the `bluepy` library (via pip). When using a virtual environment, make sure to install the library in the right one.
 - Fallback solution: Install `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth`, `bluez-deprecated`
- On Windows and macOS there is currently no support for the [miflora library](https://github.com/open-homeautomation/miflora/).
## Scan for devices

View File

@ -15,11 +15,10 @@ The `mitemp_bt` sensor platform allows one to monitor room temperature and humid
Depending on the operating system you're running, you have to configure the proper Bluetooth backend on your system:
- On [Home Assistant](/hassio/installation/): `mitemp_bt` will work out of the box as long as the host supports Bluetooth (like the Raspberry Pi does).
- On a [Home Assistant Core on Docker](/docs/installation/docker/): Works out of the box with `--net=host` and properly configured Bluetooth on the host.
- On a [Home Assistant Container](/docs/installation/docker/): Works out of the box with `--net=host` and properly configured Bluetooth on the host.
- 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.
## Configuration

View File

@ -163,15 +163,12 @@ entity_id: media_player.samsung_tv
media_content_id: 590
media_content_type: channel
```
#### Selecting a source
It's possible to switch between the 2 sources `TV` and `HDMI`.
### Home Assistant & Home Assistant Core on Docker
No additional actions are required
### Other install methods
### Home Assistant Core additional requirements
You will need to install the `websocket-client` Python package in your Home Assistant install. This will probably be done with:

View File

@ -196,7 +196,7 @@ Using a Philips Hue Dimmer Switch is probably the easiest way to factory-reset y
Follow the instructions on [https://github.com/vanviegen/hue-thief/](https://github.com/vanviegen/hue-thief/) (EZSP-based Zigbee USB stick required)
### ZHA Start up issue with Home Assistant Supervised or Home Assistant Core on Docker
### ZHA Start up issue with Home Assistant or Home Assistant Container
On Linux hosts ZHA can fail to start during HA startup or restarts because the Zigbee USB device is being claimed by the host's modemmanager service. To fix this disable the modemmanger on the host system.