Merge branch 'rc' into current

This commit is contained in:
Paulus Schoutsen 2019-11-20 16:25:00 -08:00
commit 21f72d7c38
83 changed files with 2271 additions and 767 deletions

View File

@ -100,9 +100,9 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 101
current_patch_version: 3
date_released: 2019-11-05
current_minor_version: 102
current_patch_version: 0
date_released: 2019-11-20
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

View File

@ -97,12 +97,12 @@ This is because we only allow an IP address as a client ID when your IP address
If you don't have a valid domain name for your Home Assistant instance, you can modify the `hosts` file on your computer to fake one. On Windows, edit the `C:\Windows\System32\Drivers\etc\hosts` file with administrator privilege, or on Linux the `/etc/hosts` file, and add following entry:
```text
12.34.56.78 hassbian.home
12.34.56.78 homeassistant.home
```
Replace `12.34.56.78` with your Home Assistant's public IP address.
This will allow you to open Home Assistant at `http://hassbian.home:8123/`
This will allow you to open Home Assistant at `http://homeassistant.home:8123/`
### Stuck on Loading data

View File

@ -101,4 +101,4 @@ Of course, if I wanted to make this App or its predecessor reusable, I would hav
In addition, Apps can write to `AppDaemon`'s log files, and there is a system of constraints that allows you to control when and under what circumstances Apps and callbacks are active to keep the logic clean and simple.
For full installation instructions, see the [AppDaemon Project Documentation pages](http://appdaemon.readthedocs.io/en/stable/). If you're using Hassbian, then the [Hassbian scripts](https://github.com/home-assistant/hassbian-scripts/blob/dev/docs/suites/appdaemon.md) make it easy to install.
For full installation instructions, see the [AppDaemon Project Documentation pages](http://appdaemon.readthedocs.io/en/stable/).

View File

@ -5,7 +5,7 @@ description: "A guide to remotely accessing Home Assistant and securing the conn
<div class='note'>
If you are using Hass.io or Hassbian, do not use this guide. Instead, use the [DuckDNS add-on](/addons/duckdns/) for Hass.io or the [DuckDNS suite](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/duckdns.md) for Hassbian to automatically maintain a subdomain including HTTPS certificates via Let's Encrypt.
If you are using Hass.io do not use this guide. Instead, use the [DuckDNS add-on](/addons/duckdns/) for Hass.io.
</div>
@ -17,7 +17,7 @@ This guide was added by mf_social on 16/03/2017 and was valid at the time of wri
* You want to access your Home Assistant instance when you are away from home (ie, not connected to your local network) and secure it with a TLS/SSL certificate.
* You have a basic understanding of the phrases I have used so far.
* You are not currently running anything on port 80 on your network (you'd know if you were).
* If you are not using Home Assistant on a Debian/Raspian/Hassbian system you will be able to convert any of the terminology I use in to the correct syntax for your system.
* If you are not using Home Assistant on a Debian/Raspian system you will be able to convert any of the terminology I use in to the correct syntax for your system.
* You understand that this is a 'guide' covering the general application of these things to the general masses and there are things outside of the scope of it, and it does not cover every eventuality (although I have made some notes where people may stumble). Also, I have used some turns of phrase to make it easier to understand for the novice reader which people of advanced knowledge may say is inaccurate. My goal here is to get you through this guide with a satisfactory outcome and have a decent understanding of what you are doing and why, not to teach you advanced internet communication protocols.
* Each step presumes you have fully completed the previous step successfully, so if you did an earlier step following a different guide, please ensure that you have not missed anything out that may affect the step you have jumped to, and ensure that you adapt any commands to take in to account different file placements from other guides.
@ -266,7 +266,7 @@ wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
```
You might need to stop Home Assistant before continuing with the next step. You can do this via the Web-UI or use the following command if you are running on Hassbian:
You might need to stop Home Assistant before continuing with the next step. You can do this via the Web-UI or use the following command if you are running on Raspbian:
```text
sudo systemctl stop home-assistant@homeassistant.service

View File

@ -63,4 +63,4 @@ http:
ssl_key: /etc/letsencrypt/live/mydomain.com/privkey.pem
```
Make sure the files are accessible by the user that runs Home Assistant, eg. `homeassistant` for a HASSbian setup.
Make sure the files are accessible by the user that runs Home Assistant.

View File

@ -31,4 +31,4 @@ HADashboard is a modular, skinnable dashboard for [Home Assistant](/) that is in
Glassic Theme
</p>
For full installation instructions see the HADashboard section in the [AppDaemon Project Documentation](http://appdaemon.readthedocs.io/en/stable/DASHBOARD_INSTALL.html). If you're using Hassbian, then the [Hassbian scripts](https://github.com/home-assistant/hassbian-scripts/blob/dev/docs/suites/appdaemon.md) make it easy to install AppDaemon.
For full installation instructions see the HADashboard section in the [AppDaemon Project Documentation](http://appdaemon.readthedocs.io/en/stable/DASHBOARD_INSTALL.html).

View File

@ -55,7 +55,6 @@ The only installation methods that allow you to use Hass.io Add-ons are the Hass
:-----|:-----|:-----
[Hass.io](/hassio/installation/)|Raspberry Pi<br>VM|Anybody
[Docker](/docs/installation/docker/)|Docker|Anybody already running Docker
[Hassbian](/docs/hassbian/installation/)|Raspberry Pi|Those who want a more traditional Linux experience and either have experience with Linux, or intend to learn
## Alternative installs

View File

@ -1,21 +1,12 @@
---
title: "Hassbian"
description: "Instructions to flash the Home Assistant Hassbian image on a Raspberry Pi."
description: "Hassbian image for a Raspberry Pi."
redirect_from: /getting-started/hassbian/
---
Hassbian is our customized operating system for the Raspberry Pi Zero, 2,3 and 3B+. It is one of the easiest ways of installing Home Assistant.
- [Install Hassbian](/docs/hassbian/installation/)
- [Customize your installation](/docs/hassbian/customization/)
- [Pi specific integrations](/docs/hassbian/integrations/)
- [Learn how to perform common tasks](/docs/hassbian/common-tasks/)
<div class='note warning'>
### Activating the virtual environment
The Hassbian image is deprecated as of October 2019. Please move to another [installation method](/getting-started/).
When instructions tell you to activate the virtual environment to install a Python library, or perform some tasks, the following commands will do this:
```bash
sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
```
</div>

View File

@ -1,135 +0,0 @@
---
title: "Common tasks on Hassbian"
description: "Instructions on how to do common tasks on Hassbian."
redirect_from: /docs/hassbian/common-tasks/
---
### Login to the Raspberry Pi
To login to your Raspberry Pi running Hassbian you're going to be using a ssh client. Depending on your platform there are several alternatives for doing this. Linux and Mac OS generally have a ssh client installed. Windows users are recommended to download and install the ssh client [Putty][ssh-putty].
Connect to the Raspberry Pi over ssh. Default user name is `pi` and password is `raspberry`.
Linux and Mac OS users execute the following command in a terminal.
```bash
ssh pi@ip-address-of-pi
```
Windows users start [Putty][ssh-putty], enter the IP address of the Raspberry Pi in the *Host name* field and port 22 in the *Port* field. Then click *Open* and a terminal window will open. Enter the credentials. Default user name is `pi` and password is `raspberry`.
Optionally, starting with Windows 10 anniversary update, you can use the built-in '[Bash on Windows][bash-windows]' to use SSH if you have enabled Developer mode and have installed the "Windows Subsystem for Linux (beta)" feature.
### Start/Stop/Restart Home Assistant
Log in as the `pi` account and execute the following commands:
```bash
sudo systemctl stop home-assistant@homeassistant.service
```
Replace `stop` with `start` or `restart` to get the desired functionality.
To get the current state of the `homeassistant.service` replace `stop` with `status`.
### Update Home Assistant
<div class='note'>
You can use `hassbian-config` to automate the process by running `sudo hassbian-config upgrade homeassistant`
</div>
Log in as the `pi` account and execute the following commands:
```bash
sudo systemctl stop home-assistant@homeassistant.service
sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
pip3 install --upgrade homeassistant
exit
sudo systemctl start home-assistant@homeassistant.service
```
This will in order do the following:
- Stop the Home Assistant service running on Hassbian
- Open a shell as the `homeassistant` user running the Homeassistant service and that has ownership over the Home Assistant installation.
- Change into the virtual Python environment at `/srv/homeassistant/` containing the Home Assistant installation.
- Upgrade the Home Assistant installation to the latest release.
- Exit the shell and return to the `pi` user.
- Start the Home Assistant service.
### Manually launch Home Assistant
Log in as the `pi` account and execute the following commands:
```bash
sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
hass
```
This will start Home Assistant in your shell and output anything that ends up in the log and more into the console. This will fail if the Home Assistant service is already running so don't forget to [stop][stop-homeassistant] it first. If you want the log output to be colored, execute `hass --script check_config` first. This will install the `colorlog` module.
### Check your configuration
Log in as the `pi` account and execute the following commands:
```bash
sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
hass --script check_config
```
This will output any errors in your configuration files to console.
### Read the Home Assistant log file
Log in as the `pi` account and execute the following commands:
```bash
sudo -u homeassistant -H -s
cd /home/homeassistant/.homeassistant
nano home-assistant.log
```
This will in order do the following:
- Open a shell as the `homeassistant` user.
- Change directory to the Home Assistant configuration directory.
- Open the log file in the nano editor.
Optionally, you can also view the log with `journalctl`.
Log in as the `pi` account and execute the following commands:
```bash
sudo journalctl -fu home-assistant@homeassistant.service
```
### Edit the Home Assistant configuration
Log in as the `pi` account and execute the following commands:
```bash
sudo -u homeassistant -H -s
cd /home/homeassistant/.homeassistant
nano configuration.yaml
```
This will in order do the following:
- Open a shell as the `homeassistant` user.
- Change directory to the Home Assistant configuration directory.
- Open the configuration file in the nano editor.
It's generally recommended that you read the [Getting started][configuring-homeassistant] guide for how to configure Home Assistant.
### Change locale, timezone and keyboard layout
```bash
sudo raspi-config
```
[configuring-homeassistant]: /getting-started/configuration/
[ssh-putty]: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
[stop-homeassistant]: /docs/installation/hassbian/common-tasks/#startstoprestart-home-assistant
[bash-windows]: https://msdn.microsoft.com/en-us/commandline/wsl/about

View File

@ -1,55 +0,0 @@
---
title: "Customization"
description: "Instructions to flash the Home Assistant Hassbian image on a Raspberry Pi."
redirect_from: /docs/hassbian/customization/
---
To allow you to customize your installation further, we have included a tool called `hassbian-config`. This tool comes with a set of suites that can easily be installed or upgraded for easier customization of your Home Assistant installation.
The tool is available by running `hassbian-config`.
### Install scripts
To view the available suites run `hassbian-config show` or have a look at the [hassbian-scripts repository][hassbian-repo].
These are some of the available suites:
- [AppDaemon](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/appdaemon.md)
- [Cloud9](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/cloud9.md)
- [Custom Component Store](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/custom-component-store.md)
- [Fail2Ban](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/fail2ban.md) **This suite can't be installed on Raspberry Pi Zero**
- [Duck DNS](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/duckdns.md) _This can also be configured to generate Let's Encrypt SSL certificates_
- [Hue](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/hue.md)
- [Hassbian Manager](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/manager.md) is a web UI tool that can help you manage your suites.
- [Mosquitto](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/mosquitto.md)
- [Pi-hole](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/pihole.md)
- [Razberry](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/razberry.md)
- [Samba](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/samba.md)
- [Trådfri](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/tradfri.md)
- [Webterminal](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/webterminal.md)
- [Zigbee2mqtt](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/zigbee2mqtt.md)
- Various database engines.
- [MariaDB](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/mariadb.md)
- [PostgreSQL](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/postgresql.md)
- [MS SQL](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/mssql.md)
To install any of them simply run `sudo hassbian-config install SUITE`.
### Upgrade scripts
To view the available suites run `hassbian-config show` or have a look at the [hassbian-scripts repository][hassbian-repo].
These are some of the available suites:
- [AppDaemon](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/appdaemon.md)
- [Cloud9](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/cloud9.md)
- [Custom Component Store](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/custom-component-store.md)
- [Hassbian](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/hassbian.md)
- [Hassbian Manager](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/manager.md)
- [Home Assistant](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/homeassistant.md)
- [hassbian-config (hassbian-scripts)](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/hassbian_config.md)
- [Python](https://github.com/home-assistant/hassbian-scripts/blob/master/docs/suites/python.md)
To upgrade any of them simply run `sudo hassbian-config upgrade SUITE`.
For more information about this tool have a look at the [hassbian-scripts repository][hassbian-repo].
[hassbian-repo]: https://github.com/home-assistant/hassbian-scripts
[cec]: /integrations/hdmi_cec/

View File

@ -1,126 +0,0 @@
---
title: "Installing Hassbian"
description: "Instructions to flash the Home Assistant Hassbian image on a Raspberry Pi."
redirect_from: /docs/hassbian/installation/
---
One of the easiest ways to install Home Assistant on your Raspberry Pi Zero, 2, 3 and 3B+ is by using Hassbian: a Raspberry Pi image with Home Assistant built-in. The image will install the latest version of Home Assistant on initial boot (~10 minutes).
1. [Download the Hassbian image][image-download]
2. Use [balenaEtcher][balenaEtcher] to flash the image to your SD card. We recommend at least a 32 GB SD card to avoid running out of space.
3. Ensure your Raspberry Pi has wired access to the internet for the entire process or configure your [wireless network settings](#wireless-network) **before proceeding to step 4**.
4. Insert SD card to Raspberry Pi and turn it on. Initial installation of Home Assistant will take about 10 minutes.
<div class='note warning'>
Please remember to ensure you're using an [appropriate power supply](https://www.raspberrypi.org/documentation/faqs/#pi-power) with your Pi. Mobile chargers may not be suitable since some were only designed to provide just enough power to the device it was designed for by the manufacturer. **Do not** try to power the Pi from the USB port on a TV, computer, or similar.
</div>
These instructions are also available as a [video](https://www.youtube.com/watch?v=iIz6XqDwHEk).
Additional information is available in this [video](https://www.youtube.com/watch?v=tCGlQSsQ-Mc).
After initial boot an installer will run in the background, this will download and install the newest version of [hassbian-config](https://github.com/home-assistant/hassbian-scripts) and Home-Assistant, this takes around 10 minutes to complete, after it has finished, you will be prompted to login: `hassbian login:`. Installation is complete at this point. The default username is `pi` and the password is `raspberry`.
Open a browser on a device that's connected to the same network as your Raspberry Pi and point it to Home Assistant at `http://hassbian.local:8123`. If you want to login via SSH, the default username is `pi` and password is `raspberry` (please change this by running `passwd`). The Home Assistant configuration is located at `/home/homeassistant/.homeassistant/`.
If you find that the web page is not reachable after 30 minutes or so, check that you have files in `/home/homeassistant/.homeassistant/`, if there are no files in this location then run the installer manually using this command: `sudo systemctl start install_homeassistant.service`.
The following extras are included on the image:
- GPIO pins are ready to use.
- Bluetooth is ready to use (supported models only, no Bluetooth LE).
- SSH server is enabled.
- A tool called [`hassbian-config`](https://github.com/home-assistant/hassbian-scripts#hassbian-scripts).
### Wireless Network
After flashing the image to your SD Card open the partition `boot` and create a new file `wpa_supplicant.conf`. Edit the file and enter your network credentials. For more information visit [Setting up WiFi for Raspbian][wifi-setup]. During start the file will automatically be copied in the right folder and the network connection will be established. The file could look like this:
```conf
country=SE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="YOUR_SSID"
psk="YOUR_PASSWORD"
}
```
You may need to adjust the country code depending upon where you are. A list of codes can be found [here](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements).
If you are using a [hidden SSID](https://en.wikipedia.org/wiki/Network_cloaking) for your WiFi network , you must add `scan_ssid=1` to the `network` section to be able to connect.
If you are running in trouble with your WiFi connection (for [further details](https://www.raspberrypi.org/forums/viewtopic.php?t=207882)), check the output of the following command:
```bash
$ sudo rfkill list
0: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
```
To unblock it, execute `$ sudo rfkill unblock wifi`.
### Technical Details
- Home Assistant is installed in a virtual Python environment at `/srv/homeassistant/`
- Home Assistant will be started as a service run by the user `homeassistant`
- The configuration is located at `/home/homeassistant/.homeassistant`
[image-download]: https://github.com/home-assistant/pi-gen/releases/latest
[balenaEtcher]: https://www.balena.io/etcher
[http://hassbian.local:8123]: http://hassbian.local:8123
[wifi-setup]: https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md
## Updating
The [Hassbian Scripts](https://github.com/home-assistant/hassbian-scripts) are the easiest way of updating both the host operating system, and Home Assistant.
### Updating Home Assistant
SSH to your system as the user `pi` and run:
```bash
$ sudo hassbian-config upgrade homeassistant
```
### Updating the host operating system
SSH to your system as the user `pi` and run:
```bash
$ sudo hassbian-config upgrade hassbian
```
## Run a specific version
In the event that a Home Assistant version doesn't play well with your hardware setup, you can downgrade to a previous release. For example:
```bash
$ sudo hassbian-config upgrade 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, for example:
```bash
$ sudo hassbian-config upgrade homeassistant --beta
```
## Run the development version
If you want to stay on the bleeding-edge Home Assistant development branch, you can upgrade to `dev`.
<div class='note warning'>
The "dev" branch is likely to be unstable. Potential consequences include loss of data and instance corruption.
</div>
For example:
```bash
$ sudo hassbian-config upgrade homeassistant --dev
```

View File

@ -1,50 +0,0 @@
---
title: "Raspberry Pi integrations"
description: "Home Assistant integrations specific to the Raspberry Pi."
redirect_from: /docs/hassbian/integrations/
---
Some integrations that are specific for the Raspberry Pi can require some further configuration outside of Home Assistant. All commands below are assumed to be executed with the `pi` account. For full documentation of these integrations refer to the [integrations](/components) page.
### Bluetooth Tracker
The Bluetooth tracker will work on a Raspberry Pi 3 with the built-in Bluetooth module or with a USB Bluetooth device on any of the other Raspberry Pi's.
Software needed for the tracker is pre-installed so just follow the [Bluetooth Tracker integration](/integrations/bluetooth_tracker/) and [Device Tracker page](/integrations/device_tracker/) pages.
### Raspberry Pi GPIO
Each of the following devices are connected to the GPIO pins on the Raspberry Pi.
For more details about the GPIO layout, visit the [documentation](https://www.raspberrypi.org/documentation/usage/gpio/) from the Raspberry Pi foundation.
Permission have been given to the `homeassistant` user to use the GPIO pins and all of the following integrations should require no underlying changes to work.
Just follow the integration pages for each on how to add them to your Home Assistant installation.
- [DHT Sensor](/integrations/dht/)
- [Raspberry Pi Cover](/integrations/rpi_gpio/#cover)
- [Raspberry Pi GPIO Binary Sensor](/integrations/rpi_gpio/#binary-sensor)
- [Raspberry Pi GPIO Switch](/integrations/rpi_gpio/#switch)
- [Raspberry Pi RF Switch](/integrations/rpi_rf/)
### Raspberry Pi Camera
The Raspberry Pi Camera is a specific camera for the Raspberry Pi boards. For more information about the camera I suggest reading the [documentation](https://www.raspberrypi.org/documentation/usage/camera/) from the Raspberry Pi foundation.
To use the camera it needs to be enabled with the `raspi-config` utility.
```bash
$ sudo raspi-config
```
Go to `Interfacing Options`, select `Enable camera` choose `<Yes>` and hit `Enter`, then go to `Finish` and you'll be prompted to reboot.
After this follow the [Raspberry Pi Camera integration](/integrations/rpi_camera/) page.
### One wire Sensor
The One wire sensor requires that support for it is enabled on the Raspberry Pi and that the One Wire device is connected to GPIO pin 4.
To enable One Wire support add the following line to the end of `/boot/config.txt`
```yaml
dtoverlay=w1-gpio
```
After this follow the [One Wire Sensor integration](/integrations/onewire/) page.

View File

@ -1,32 +0,0 @@
---
title: "Upgrading Hassbian"
description: "Instructions on how to upgrade Hassbian to the latest version."
redirect_from: /docs/hassbian/upgrading/
---
Hassbian is based on Raspbian and uses the same repositories. Any changes to Raspbian will be reflected in Hassbian. To update and upgrade system packages and installed software (excluding Home Assistant) do the following.
Log in as the `pi` account and execute the following commands:
```bash
sudo apt-get update
sudo apt-get -y upgrade
```
#### Updating Home Assistant
<div class='note'>
You can use `hassbian-config` to automate the process by running `sudo hassbian-config upgrade homeassistant`
</div>
To update the Home Assistant installation execute the following command as the `pi` user.
```bash
sudo systemctl stop home-assistant@homeassistant.service
sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
pip3 install --upgrade homeassistant
exit
sudo systemctl start home-assistant@homeassistant.service
```

View File

@ -6,7 +6,7 @@ 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/), [Hassbian](/docs/installation/hassbian/common-tasks/#update-home-assistant), 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 [Hass.io](/hassio/) or [Virtualenv](/docs/installation/virtualenv/#upgrading-home-assistant).
</div>
@ -14,7 +14,7 @@ Check what's new in the latest version and potentially impacts your system in [H
<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/), [Hassbian](/docs/hassbian/installation/), 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 [Hass.io](/hassio/) or [Virtualenv](/docs/installation/virtualenv).
</div>

View File

@ -0,0 +1,88 @@
---
title: "Scenes"
description: "Instructions on how to setup scenes within Home Assistant."
---
You can create scenes that capture the states you want certain entities to be. For example, a scene can specify that light A should be turned on and light B should be bright red.
```yaml
# Example configuration.yaml entry
scene:
- name: Romantic
entities:
light.tv_back_light: on
light.ceiling:
state: on
xy_color: [0.33, 0.66]
brightness: 200
- name: Movies
entities:
light.tv_back_light:
state: on
brightness: 125
light.ceiling: off
media_player.sony_bravia_tv:
state: on
source: HDMI 1
state: on
```
{% configuration %}
name:
description: Friendly name of scene.
required: true
type: string
entities:
description: Entities to control and their desired state.
required: true
type: list
{% endconfiguration %}
As you can see, there are two ways to define the states of each `entity_id`:
- Define the `state` directly with the entity. Be aware, that `state` needs to be defined.
- Define a complex state with its attributes. You can see all attributes available for a particular entity under `developer-tools -> state`.
Scenes can be activated using the service `scene.turn_on` (there is no 'scene.turn_off' service).
```yaml
# Example automation
automation:
trigger:
platform: state
entity_id: device_tracker.sweetheart
from: "not_home"
to: "home"
action:
service: scene.turn_on
entity_id: scene.romantic
```
## Applying a scene without defining it
With the `scene.apply` service you are able to apply a scene without first defining it via configuration. Instead, you pass the states as part of the service data. The format of the data is the same as the `entities` field in a configuration.
```yaml
# Example automation
automation:
trigger:
platform: state
entity_id: device_tracker.sweetheart
from: "not_home"
to: "home"
action:
service: scene.apply
data:
entities:
light.tv_back_light:
state: on
brightness: 100
light.ceiling: off
media_player.sony_bravia_tv:
state: on
source: HDMI 1
```
## Reloading scenes
Whenever you make a change to your scene configuration, you can call the `scene.reload` service to reload the scenes.

View File

@ -0,0 +1,77 @@
---
title: "Scenes Editor"
description: "Instructions on how to use the scenes editor."
---
In Home Assistant 0.102 we introduced the first version of our scene editor. If you just created a new configuration with Home Assistant, then you're all set! Go to the UI and enjoy.
From the UI choose **Configuration** which is located in the sidebar, then click on **Scenes** to go to the scene editor. Press the **+** sign in the lower right corner to get started.
Choose a meaningful name for your scene.
<p class='img'>
<img src='/images/docs/scenes/editor.png' />
</p>
Select all the devices (and/or entities when in advanced mode) you want to include in your scene.
The state of your devices will be saved, so it can be restored when you are finished creating your scene.
Set the state of the devices to how you want them to be in your scene, this can be done by clicking on it and edit the state from the popup, or any other method that changes the state.
On the moment you save the scene, all the states of your devices are stored in the scene.
When you leave the editor the states of the devices are restored to the state from before you started editing.
## Updating your configuration to use the editor
First, check that you have activated the configuration editor.
```yaml
# Activate the configuration editor
config:
```
The scene editor reads and writes to the file `scenes.yaml` in the root of your [configuration](/docs/configuration/) folder.
Currently, both the name of this file and its location are fixed.
Make sure that you have set up the scene integration to read from it:
```yaml
# Configuration.yaml example
scene: !include scenes.yaml
```
If you still want to use your old scene section, add a label to the old entry:
```yaml
scene old:
- name: ...
```
You can use the `scene:` and `scene old:` sections at the same time:
- `scene old:` to keep your manual designed scenes
- `scene:` to save the scene created by the online editor
```yaml
scene: !include scenes.yaml
scene old: !include_dir_merge_list scenes
```
## Migrating your scenes to `scenes.yaml`
If you want to migrate your old scenes to use the editor, you'll have to copy them to `scenes.yaml`. Make sure that `scenes.yaml` remains a list! For each scene that you copy over, you'll have to add an `id`. This can be any string as long as it's unique.
For example:
```yaml
# Example scenes.yaml entry
- id: my_unique_id # <-- Required for editor to work.
name: Romantic
entities:
light.tv_back_light: on
light.ceiling:
state: on
xy_color: [0.33, 0.66]
brightness: 200
```
<div class='note'>
Any comments in the YAML file will be lost and templates will be reformatted when you update an automation via the editor.
</div>

View File

@ -80,8 +80,6 @@ at this point simply add your user (homeassistant) to the dialout group:
$ sudo usermod -a -G dialout homeassistant
```
Finally, reboot again to make those changes active. It's has been tested on hassbian and has been reported that this is also required on the Pi2.
<div class='note'>
If you've installed the Z-Way software, you'll need to ensure you disable it before you install Home Assistant or you won't be able to access the board. Do this with `sudo /etc/init.d/z-way-server stop; sudo update-rc.d z-way-server disable`.

View File

@ -142,23 +142,13 @@ ls -1tr /dev/tty*|tail -n 1
The `modemmanager` package will interfere with any Z-Wave (or Zigbee) stick and should be removed or disabled. Failure to do so will result in random failures of those components. For example you can disable with `sudo systemctl disable ModemManager` and remove with `sudo apt-get purge modemmanager`
### Hassbian
You do not need to install any software to use Z-Wave.
To find the path of your Z-Wave USB stick, disconnect it and then reconnect it to your system and run:
```bash
ls -1tr /dev/tty*|tail -n 1
```
### Community install methods
#### Raspberry Pi specific
On the Raspberry Pi you will need to enable the serial interface in the `raspi-config` tool before you can add Z-Wave to Home Assistant. Make sure to reboot the Raspberry Pi for the setting to take effect.
#### Linux (except Hassbian)
#### Linux
On Debian Linux platforms there are dependencies you will need to have installed ahead of time (included in `systemd-devel` on Fedora/RHEL systems):
@ -276,7 +266,7 @@ If you're getting errors like:
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-except-hassbian).
Then the problem is that you're missing `libudev-dev` (or the equivalent for your distribution), please [install it](/docs/z-wave/installation/#linux).
### Random failures

View File

@ -1,7 +1,7 @@
<section class="aside-module grid__item one-whole lap-one-half">
<div class='section'>
<div class="section">
<h1 class="title delta">Topics</h1>
<ul class='divided sidebar-menu'>
<ul class="divided sidebar-menu">
<li>
<b>{% active_link /faq/ FAQ %}</b> |
<b>{% active_link /docs/glossary/ Glossary %}</b>
@ -10,20 +10,35 @@
<b>{% active_link /docs/installation/ Installation %}</b>
<ul>
<li>{% active_link /hassio/ Hass.io %}</li>
<li>{% active_link /docs/installation/hassbian/ Hassbian %}</li>
<li>{% active_link /docs/installation/updating/ Updating %}</li>
<li>{% active_link /docs/installation/troubleshooting/ Troubleshooting %}</li>
<li>
{% active_link /docs/installation/troubleshooting/ Troubleshooting
%}
</li>
</ul>
</li>
<li>
<b>{% active_link /docs/configuration/ Configuration %}</b>
<ul>
<li>{% active_link /docs/configuration/yaml/ YAML %}</li>
<li>{% active_link /docs/configuration/basic/ Basic information %}</li>
<li>{% active_link /docs/configuration/devices/ Setting up devices %}</li>
<li>{% active_link /docs/configuration/customizing-devices/ Customizing entities %}</li>
<li>{% active_link /docs/configuration/troubleshooting/ Troubleshooting %}</li>
<li>{% active_link /docs/configuration/securing/ Security Check Points %}</li>
<li>
{% active_link /docs/configuration/basic/ Basic information %}
</li>
<li>
{% active_link /docs/configuration/devices/ Setting up devices %}
</li>
<li>
{% active_link /docs/configuration/customizing-devices/ Customizing
entities %}
</li>
<li>
{% active_link /docs/configuration/troubleshooting/ Troubleshooting
%}
</li>
<li>
{% active_link /docs/configuration/securing/ Security Check Points
%}
</li>
</ul>
</li>
<li>
@ -31,25 +46,43 @@
<ul>
<li>{% active_link /docs/configuration/remote/ Remote access %}</li>
<li>{% active_link /docs/configuration/packages/ Packages %}</li>
<li>{% active_link /docs/configuration/splitting_configuration/ Splitting up the configuration %}</li>
<li>{% active_link /docs/configuration/secrets/ Storing Secrets %}</li>
<li>
{% active_link /docs/configuration/splitting_configuration/
Splitting up the configuration %}
</li>
<li>
{% active_link /docs/configuration/secrets/ Storing Secrets %}
</li>
<li>{% active_link /docs/configuration/templating/ Templating %}</li>
<li>{% active_link /docs/configuration/group_visibility/ Group Visibility %}</li>
<li>{% active_link /docs/configuration/platform_options/ Entity component platform options %}</li>
<li>
{% active_link /docs/configuration/group_visibility/ Group
Visibility %}
</li>
<li>
{% active_link /docs/configuration/platform_options/ Entity
component platform options %}
</li>
</ul>
</li>
<li>
<b>{% active_link /docs/authentication/ Authentication %}</b>
<ul>
<li>{% active_link /docs/authentication/providers/ Auth Providers %}</li>
<li>{% active_link /docs/authentication/multi-factor-auth/ Multi Factor Auth %}</li>
<li>
{% active_link /docs/authentication/providers/ Auth Providers %}
</li>
<li>
{% active_link /docs/authentication/multi-factor-auth/ Multi Factor
Auth %}
</li>
</ul>
</li>
<li>
<b>Core objects</b>
<ul>
<li>{% active_link /docs/configuration/events/ Events %}</li>
<li>{% active_link /docs/configuration/state_object/ State Objects %}</li>
<li>
{% active_link /docs/configuration/state_object/ State Objects %}
</li>
</ul>
</li>
<li>
@ -61,14 +94,21 @@
<li>{% active_link /docs/automation/condition/ Conditions %}</li>
<li>{% active_link /docs/automation/action/ Actions %}</li>
<li>{% active_link /docs/automation/templating/ Templates %}</li>
<li>{% active_link /docs/automation/troubleshooting/ Troubleshooting %}</li>
<li>
{% active_link /docs/automation/troubleshooting/ Troubleshooting %}
</li>
</ul>
</li>
<li>
<b>{% active_link /docs/frontend/ Frontend %}</b>
<ul>
<li>{% active_link /docs/frontend/mobile/ Android/iOS Homescreen %}</li>
<li>{% active_link /docs/frontend/browsers/ Browser Compatibility List %}</li>
<li>
{% active_link /docs/frontend/mobile/ Android/iOS Homescreen %}
</li>
<li>
{% active_link /docs/frontend/browsers/ Browser Compatibility List
%}
</li>
<li>{% active_link /lovelace Lovelace UI %}</li>
</ul>
</li>
@ -88,6 +128,13 @@
<li>{% active_link /docs/scripts/editor/ Editor %}</li>
</ul>
</li>
<li>
<b>{% active_link /docs/scene/ Scenes %}</b>
<ul>
<li>{% active_link /docs/scene/editor/ Editor %}</li>
<li>{% active_link /docs/scene/scenegen/ scenegen %}</li>
</ul>
</li>
<li>
<b>{% active_link /docs/tools/ Tools and Helpers %}</b>
<ul>
@ -103,21 +150,40 @@
<li>
<b>{% active_link /docs/security/ Security %}</b>
<ul>
<li>{% active_link /docs/security/webserver/ Web server fingerprint %}</li>
<li>
{% active_link /docs/security/webserver/ Web server fingerprint %}
</li>
<li>{% active_link /docs/security/porosity/ Porosity %}</li>
</ul>
</li>
<li>
<b>{% active_link /docs/z-wave/ Z-Wave %}</b>
<ul>
<li>{% active_link /docs/z-wave/installation/ Configuring the Z-Wave component %}</li>
<li>
{% active_link /docs/z-wave/installation/ Configuring the Z-Wave
component %}
</li>
<li>{% active_link /docs/z-wave/adding/ Adding devices %}</li>
<li>{% active_link /docs/z-wave/control-panel/ The Z-Wave control panel %}</li>
<li>
{% active_link /docs/z-wave/control-panel/ The Z-Wave control panel
%}
</li>
<li>{% active_link /docs/z-wave/controllers/ Controllers %}</li>
<li>{% 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</li>
<li>{% active_link /docs/z-wave/device-specific/ Device Specific %} configuration</li>
<li>{% active_link /docs/z-wave/events/ Events %} and {% active_link /docs/z-wave/services/ Services %}</li>
<li>
{% 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
</li>
<li>
{% active_link /docs/z-wave/device-specific/ Device Specific %}
configuration
</li>
<li>
{% active_link /docs/z-wave/events/ Events %} and {% active_link
/docs/z-wave/services/ Services %}
</li>
</ul>
</li>
<li>
@ -127,7 +193,10 @@
<li>{% active_link /docs/mqtt/certificate/ Certificate %}</li>
<li>{% active_link /docs/mqtt/discovery/ Discovery %}</li>
<li>{% active_link /docs/mqtt/service/ Publish service %}</li>
<li>{% active_link /docs/mqtt/birth_will/ Birth and last will messages %}</li>
<li>
{% active_link /docs/mqtt/birth_will/ Birth and last will messages
%}
</li>
<li>{% active_link /docs/mqtt/testing/ Testing your setup %}</li>
<li>{% active_link /docs/mqtt/logging/ Logging %}</li>
<li>{% active_link /docs/mqtt/processing_json/ Processing JSON %}</li>
@ -136,21 +205,52 @@
<li>
<b>{% active_link /docs/ecosystem/ios/ iOS %}</b>
<ul>
<li>{% active_link /docs/ecosystem/ios/notifications/basic/ Basic notifications %}</li>
<li>
{% active_link /docs/ecosystem/ios/notifications/basic/ Basic
notifications %}
</li>
<ul>
<li>{% active_link /docs/ecosystem/ios/notifications/sounds/ Sounds %}</li>
<li>{% active_link /docs/ecosystem/ios/notifications/architecture/ Architecture %}</li>
<li>{% active_link /docs/ecosystem/ios/notifications/privacy_security_rate_limits/ Privacy, rate limiting and security %}</li>
<li>
{% active_link /docs/ecosystem/ios/notifications/sounds/ Sounds %}
</li>
<li>
{% active_link /docs/ecosystem/ios/notifications/architecture/
Architecture %}
</li>
<li>
{% active_link
/docs/ecosystem/ios/notifications/privacy_security_rate_limits/
Privacy, rate limiting and security %}
</li>
</ul>
<li>Advanced notifications</li>
<ul>
<li>{% active_link /docs/ecosystem/ios/notifications/attachments/ Attachments %}</li>
<li>{% active_link /docs/ecosystem/ios/notifications/content_extensions/ Dynamic content %}</li>
<li>{% active_link /docs/ecosystem/ios/notifications/actions/ Actionable notifications %}</li>
<li>{% active_link /docs/ecosystem/ios/notifications/requesting_location_updates/ Requesting location updates %}</li>
<li>
{% active_link /docs/ecosystem/ios/notifications/attachments/
Attachments %}
</li>
<li>
{% active_link
/docs/ecosystem/ios/notifications/content_extensions/ Dynamic
content %}
</li>
<li>
{% active_link /docs/ecosystem/ios/notifications/actions/
Actionable notifications %}
</li>
<li>
{% active_link
/docs/ecosystem/ios/notifications/requesting_location_updates/
Requesting location updates %}
</li>
</ul>
<li>{% active_link /docs/ecosystem/ios/location/ Location Tracking %}</li>
<li>{% active_link /docs/ecosystem/ios/integration/ Integration with other apps %}</li>
<li>
{% active_link /docs/ecosystem/ios/location/ Location Tracking %}
</li>
<li>
{% active_link /docs/ecosystem/ios/integration/ Integration with
other apps %}
</li>
</ul>
</li>
<li>
@ -159,8 +259,12 @@
<li>
{% active_link /docs/autostart/ Autostart %}
<ul>
<li>{% active_link /docs/autostart/systemd/ systemd (Linux) %}</li>
<li>{% active_link /docs/autostart/upstart/ Upstart (Linux) %}</li>
<li>
{% active_link /docs/autostart/systemd/ systemd (Linux) %}
</li>
<li>
{% active_link /docs/autostart/upstart/ Upstart (Linux) %}
</li>
<li>{% active_link /docs/autostart/init.d/ init.d (Linux) %}</li>
<li>{% active_link /docs/autostart/macos/ macOS %}</li>
<li>{% active_link /docs/autostart/synology/ Synology NAS %}</li>
@ -176,11 +280,21 @@
{% active_link /docs/ecosystem/notebooks/ Notebooks %}
<ul>
<li>{% active_link /docs/ecosystem/notebooks/ Introduction %}</li>
<li>{% active_link /docs/ecosystem/notebooks/installation/ Installation %}</li>
<li>
{% active_link /docs/ecosystem/notebooks/installation/
Installation %}
</li>
<li>{% active_link /docs/ecosystem/notebooks/graph/ Graph %}</li>
<li>{% active_link /docs/ecosystem/notebooks/api/ Home Assistant API %}</li>
<li>{% active_link /docs/ecosystem/notebooks/database/ Database %}</li>
<li>{% active_link /docs/ecosystem/notebooks/stats/ Statistics %}</li>
<li>
{% active_link /docs/ecosystem/notebooks/api/ Home Assistant API
%}
</li>
<li>
{% active_link /docs/ecosystem/notebooks/database/ Database %}
</li>
<li>
{% active_link /docs/ecosystem/notebooks/stats/ Statistics %}
</li>
</ul>
</li>
<li>
@ -190,30 +304,56 @@
<li>{% active_link /docs/ecosystem/caddy/ Caddy Server %}</li>
<li>{% active_link /docs/ecosystem/haproxy/ HAProxy %}</li>
<li>{% active_link /docs/ecosystem/nginx/ NGINX %}</li>
<li>{% active_link /docs/ecosystem/nginx_subdomain/ NGINX with subdomain%}</li>
<li>
{% active_link /docs/ecosystem/nginx_subdomain/ NGINX with
subdomain%}
</li>
<li>{% active_link /docs/ecosystem/tor/ Tor Onion Service %}</li>
</ul>
</li>
<li>
{% active_link /docs/ecosystem/certificates/ Certificates %}
<ul>
<li>{% active_link /docs/ecosystem/certificates/tls_self_signed_certificate/ Self-signed certificate %}</li>
<li>{% active_link /docs/ecosystem/certificates/tls_domain_certificate/ Certificate domain owners %}</li>
<li>{% active_link /docs/ecosystem/certificates/lets_encrypt/ Let's Encrypt (detailed) %}</li>
<li>
{% active_link
/docs/ecosystem/certificates/tls_self_signed_certificate/
Self-signed certificate %}
</li>
<li>
{% active_link
/docs/ecosystem/certificates/tls_domain_certificate/ Certificate
domain owners %}
</li>
<li>
{% active_link /docs/ecosystem/certificates/lets_encrypt/ Let's
Encrypt (detailed) %}
</li>
</ul>
</li>
<li>
Backup
<ul>
<li>{% active_link /docs/ecosystem/backup/backup_github/ Backup to GitHub %}</li>
<li>{% active_link /docs/ecosystem/backup/backup_dropbox/ Backup to Dropbox %}</li>
<li>{% active_link /docs/ecosystem/backup/backup_usb/ Backup to USB device %}</li>
<li>
{% active_link /docs/ecosystem/backup/backup_github/ Backup to
GitHub %}
</li>
<li>
{% active_link /docs/ecosystem/backup/backup_dropbox/ Backup to
Dropbox %}
</li>
<li>
{% active_link /docs/ecosystem/backup/backup_usb/ Backup to USB
device %}
</li>
</ul>
</li>
<li>{% active_link /docs/ecosystem/scenegen/ scenegen %}</li>
<li>{% active_link /docs/ecosystem/synology/ Synology %}</li>
<li>{% active_link /docs/ecosystem/hass-configurator/ HASS Configurator %}</li>
<li>
{% active_link /docs/ecosystem/hass-configurator/ HASS Configurator
%}
</li>
</ul>
</li>
</ul>
</div>
</section>

View File

@ -0,0 +1,48 @@
---
title: "Xiaomi Air Quality Monitor"
description: "Instructions how to integrate your Xiaomi Mi Air Quality Monitor within Home Assistant."
logo: xiaomi.png
ha_category:
- Health
ha_iot_class: Local Polling
ha_release: 0.102
---
The `xiaomi_miio` sensor platform is observing your Xiaomi Mi Air Quality Monitor and reporting the air quality values.
Currently, the supported features are:
- Particulate matter 2.5
- Attributes
- carbon_dioxide_equivalent
- total_volatile_organic_compounds
Please follow the instructions on [Retrieving the Access Token](/integrations/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token.
## Configuration
To add a Xiaomi Mi Air Quality Monitor to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
air_quality:
- platform: xiaomi_miio
host: IP_ADDRESS
token: YOUR_TOKEN
```
{% configuration %}
host:
description: The IP address of your miio device.
required: true
type: string
token:
description: The API token of your miio device.
required: true
type: string
name:
description: The name of your miio device.
required: false
type: string
default: Xiaomi Miio Air Quality Monitor
{% endconfiguration %}

View File

@ -0,0 +1,68 @@
---
title: "Almond"
description: "Instructions on how to setup Almond within Home Assistant."
logo: almond.png
ha_category:
- Voice
ha_iot_class: Local Polling
ha_release: "0.102"
---
[Almond](https://almond.stanford.edu/) is an open, privacy-preserving virtual assistant by [Stanford Open Virtual Assistant Lab](https://oval.cs.stanford.edu/). It allows you, among other things, to control Home Assistant using natural language. Once installed, it will be available on Lovelace via the microphone icon in the top right.
Almond consists of three parts:
- Almond Server: Knows about Home Assistant and your data. Executes your sentences.
- LUInet: Neural network that converts your sentences into Thingtalk programs.
- Thingpedia: Skills that provide the building blocks for Thingtalk programs.
<a href='/images/integrations/almond/almond-architecture.svg'><img src='/images/integrations/almond/almond-architecture.svg' alt='Architectural overview of how all pieces fit together.' style='border: 0;box-shadow: none;'></a>
## Installation
### Hass.io installation
To install Almond Server on Hass.io, go to Hass.io App Store, search for Almond and click on Install. Once started, it will initiate a config flow to finish set up in Home Assistant. You can find it on the integrations page in the configuration panel.
### Manual installation
You can install Almond Server by following [the instructions in their README](https://github.com/stanford-oval/almond-server#running-almond-server).
Before linking it to Home Assistant, you will need to visit the Almond UI once to create a password. It is by default available on port 3000.
Once installed, configure Almond like this:
```yaml
# Example configuration.yaml entry
almond:
type: local
host: http://127.0.0.1:3000
```
The Almond integration does not update config entries yet. If you make a change to configuration.yaml, you will need to remove the config entry and then restart Home Assistant.
### Almond Web
Stanford offers a hosted version of Almond Server called Almond Web. To use this, go to the integrations page and add Almond using the add integration flow.
### Almond Web - Manual installation
It is possible to set up Almond Web manually. You will need to create your own client ID and secret in the web interface.
```yaml
# Example configuration.yaml entry
almond:
type: oauth2
client_id: AAAAAAAAAAAAA
client_secret: BBBBBBBBBBBBBBBBB
```
You can now go to the integrations page and start the configuration flow.
## Language Support
Almond is currently limited to the English language. This is not a technical limitation but requires specialized engineering effort. Almond has currently no public timeline for adding other languages.
## Device Support
Almond is constantly improving. It does not currently support all devices, but we're working with Almond on improving this.

View File

@ -0,0 +1,107 @@
---
title: "Azure Service Bus"
description: "Setup for Azure Service Bus integration"
logo: azure_service_bus.svg
ha_category:
- Notification
ha_release: 0.102
---
The `Azure Service Bus` integration allows you to send messages to [Azure Service Bus](https://azure.microsoft.com/en-us/services/service-bus/) from within Home Assistant.
## First-time setup
This assumes you already have an Azure account. Otherwise, create a free account [here](https://azure.microsoft.com/en-us/free/).
You need to create a Service Bus namespace; you can follow [this guide](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-create-namespace-portal).
You must then create a Shared Access Policy for the Service Bus with `Send` claims or use the RootManageAccessKey from your namespace (this key has additional claims, including managing the event hub and listening, which are not needed for this purpose), for more details on the security of Service Bus [go here](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-authentication-and-authorization#shared-access-signature). Alternatively you can create a dedicated key for only one queue or topic, to restrict access to only that queue or topic.
Once you have the connection string with `Send` policy, you can set up the integration itself.
<div class='note warning'>
The queue or topic that you are sending to needs to exists with the service bus namespace before you use it within Home Assistant. See [here](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-quickstart-portal) for how to set up a queue and [here](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-quickstart-topics-subscriptions-portal) for setting up a topic and subscriptions.
</div>
## Configuration
Add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
- platform: azure_service_bus
connection_string: !secret servicebus_connection_string
topic: t-test
- platform: azure_service_bus
connection_string: !secret servicebus_connection_string
queue: q-test
```
{% configuration %}
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
type: string
default: notify
connection_string:
description: Connection string found in the Azure portal, with `send` claim in the key.
required: true
type: string
queue:
description: Which queue to send notifications on.
required: exclusive
type: string
topic:
description: Which topic to send notifications on.
required: exclusive
type: string
{% endconfiguration %}
<div class="note">
If you plan to send all state changes from one or more entities within Home Assistant, you should consider using the [Azure Event Hub](/integrations/azure_event_hub/) integration instead.
</div>
## Usage
The notification service will translate the data given to a JSON object on the service bus. The `message` field will always be set, but the fields `target` and `title` are optional and are only included in the service bus message if set. Any input given in the `data` section, will be flattened to the root of the JSON object and follow the structure given. All input given in the data section will be included in the message.
See the example below for how an automation trigger translates to a message on the service bus.
```yaml
automation:
- alias: Sunset Service Bus message
trigger:
platform: sun
event: sunset
action:
service: notify.test_queue
data:
message: "Sun is going down"
title: "Good evening"
data:
sun_direction: "Down"
custom_field: 123
custom_object:
trigger_more: true
explain: "Its starting to get dark"
```
The message that can be retrieved from a queue or topic subscription:
```json
{
"message": "Sun is going down",
"title": "Good evening",
"sun_direction": "Down",
"custom_field": 123,
"custom_object": {
"trigger_more": true,
"explain": "Its starting to get dark"
}
}
```

View File

@ -149,6 +149,10 @@ temperature_low_state_topic:
description: The MQTT topic to subscribe for changes in the target low temperature. If this is not set, the target low temperature works in optimistic mode (see below).
required: false
type: string
temperature_low_state_template:
description: A template to render the value received on the `temperature_low_state_topic` with.
required: false
type: template
temperature_high_command_topic:
description: The MQTT topic to publish commands to change the high target temperature.
required: false
@ -157,6 +161,10 @@ temperature_high_state_topic:
description: The MQTT topic to subscribe for changes in the target high temperature. If this is not set, the target high temperature works in optimistic mode (see below).
required: false
type: string
temperature_high_state_template:
description: A template to render the value received on the `temperature_high_state_topic` with.
required: false
type: template
precision:
description: The desired precision for this device. Can be used to match your actual thermostat's precision. Supported values are `0.1`, `0.5` and `1.0`.
required: false

View File

@ -32,15 +32,17 @@ devices:
mac_address:
required: true
description: The bluetooth address of the switch.
type: string
name:
description: The name to use in the frontend.
required: false
type: string
api_key:
description: The API key to access the device.
required: true
type: string
type: list
keys:
name:
description: The name to use in the frontend.
required: false
default: "`mac_address` of this switch"
type: string
api_key:
description: The API key to access the device.
required: true
type: string
{% endconfiguration %}
<div class='note'>

View File

@ -64,7 +64,7 @@ Multiple device trackers can be used in parallel, such as [Owntracks](/integrati
<div class='note warning'>
As of 0.94 `known_devices.yaml` is being phased out, and no longer used by all trackers. Depending on the integration you use this section may no longer apply. This includes the mobile app, OwnTracks, GeoFency, GPSLogger, and Locative.
As of 0.94 `known_devices.yaml` is being phased out and no longer used by all trackers. Depending on the integration you use this section may no longer apply. This includes the mobile app, OwnTracks, GeoFency, GPSLogger, Locative and Huawei LTE.
</div>

View File

@ -121,18 +121,6 @@ or
2001:raw:600:/dev/ttyUSB0:9600 EVEN 1STOPBIT 7DATABITS XONXOFF LOCAL -RTSCTS
```
[HASSbian](/docs/installation/hassbian/installation/) users have to give dialout permission to the user `homeassistant`:
```bash
$ sudo usermod -a -G dialout homeassistant
```
and after that you need to reboot!
```bash
$ sudo reboot
```
Docker users have to allow Docker access to the device by adding `--device /dev/ttyUSB21:/dev/ttyUSB21` to the run command:
```hass

View File

@ -14,13 +14,15 @@ The `environment_canada` weather platforms provide meteorological data for Canad
The following device types and data are supported:
- [Weather](#weather) - Current conditions and forecasts
- [Sensor](#sensor) - Current conditions and alerts
- [Camera](#camera) - Radar imagery
- [Location Selection](#location-selection)
- [Weather](#weather)
- [Sensor](#sensor)
- [Alert TTS Script](#alert-tts-script)
- [Camera](#camera)
<p class='note'>
On Raspbian or Hassbian, you may need to manually install additional prerequisites with the following command:
On Raspbian you may need to manually install additional prerequisites with the following command:
`sudo apt-get install libatlas-base-dev libopenjp2-7`
</p>
@ -172,7 +174,7 @@ camera:
```
<p class='note'>
On Raspbian or Hassbian, you may need to manually install additional prerequisites with the following command:
On Raspbian you may need to manually install additional prerequisites with the following command:
`sudo apt-get install libatlas-base-dev libopenjp2-7`
</p>

View File

@ -11,8 +11,7 @@ The `ffmpeg` integration allows other Home Assistant integrations to process vid
<div class='note'>
You need the `ffmpeg` binary in your system path. On Hassbian you will need to login as the `pi` user and `sudo apt install ffmpeg`. On Debian 8 or Raspbian (Jessie) you can install it from [debian-backports](https://backports.debian.org/Instructions/). If you want [hardware acceleration](https://trac.ffmpeg.org/wiki/HWAccelIntro) support on a Raspberry Pi, you will need to build from source by yourself. Windows binaries are available on the [FFmpeg](https://www.ffmpeg.org/) website.
You need the `ffmpeg` binary in your system path. On Debian 8 or Raspbian (Jessie) you can install it from [debian-backports](https://backports.debian.org/Instructions/). If you want [hardware acceleration](https://trac.ffmpeg.org/wiki/HWAccelIntro) support on a Raspberry Pi, you will need to build from source by yourself. Windows binaries are available on the [FFmpeg](http://www.ffmpeg.org/) website.
</div>
<div class='note'>

View File

@ -8,7 +8,8 @@ ha_iot_class: Local Polling
ha_release: 0.64
---
Sensor for monitoring the contents of a folder. Note that folder paths must be added to [whitelist_external_dirs](/docs/configuration/basic/). Optionally a [wildcard filter](https://docs.python.org/3.6/library/fnmatch.html) can be applied to the files considered within the folder. The state of the sensor is the size in MB of files within the folder that meet the filter criteria. The number of filtered files in the folder and total size in bytes of those files are exposed as attributes.
Sensor for monitoring the contents of a folder. Note that folder paths must be added to [whitelist_external_dirs](/docs/configuration/basic/). Optionally a [wildcard filter](https://docs.python.org/3.6/library/fnmatch.html) can be applied to the files considered within the folder. The state of the sensor is the size in MB of files within the folder that meet the filter criteria.
The sensor exposes the number of filtered files in the folder, total size in bytes of those files and a comma separated list of the file paths as attributes.
## Configuration

View File

@ -7,24 +7,32 @@ ha_category:
- Water Heater
- Sensor
- Binary Sensor
- Switch
ha_release: 0.92
ha_iot_class: Local Polling
---
The `geniushub` integration links Home Assistant with your Genius Hub CH/DHW system, including its zones, devices, and issues.
It uses the [geniushub](https://pypi.org/project/geniushub-client/) client library, which provides data compatible with the v1 API that _may not_ necessarily match that of the official Web App.
It uses the [geniushub](https://pypi.org/project/geniushub-client/) client library, which provides data compatible with the v1 API that _may not_ exactly match that of the official Web App.
### Zones
Each zone controlled by your Genius Hub will be exposed as either a:
- `Climate` entity, for **Radiator** and **Wet Underfloor** Zones, and
- `Water Heater` entity, for **Hot Water Temperature** Zones
- `Climate` entity, for **Radiator** and **Wet Underfloor** zones, and
- `Water Heater` entity, for **Hot Water Temperature** zones and
- `Switch` entity, for **On/Off** zones
Other zone types, such as **On/Off** zones, are not currently supported (although see `Binary Sensor`s, below).
**Group** zones are not supported.
Each entity derived from a GH zone will report back its mode, setpoint and current temperature; other properties are available via its attributes (see below). The zone's mode can be changed as below.
Currently, there is no support for altering zone schedules, although entities can be switched to/from geniushub modes that utilize schedules.
There are limitations due to the differences between the Genius Hub and Home Assisatnt schemas (e.g. HA has no **Footprint** mode) - see below for more details.
### Climate and Water Heater Entities
Climate and Water Heater entities will report their current temperature, setpoint and mode; other properties (e.g. occupied state) are available via their state attributes (see examples below). The Genius Hub mode will be reported as/set to:
GH mode | HA Operation | HA Preset
:---: | :---: | :---:
@ -33,18 +41,27 @@ GH mode | HA Operation | HA Preset
**Override** | Heat | Boost
**Footprint** | Heat | Activity
Note that `Boost` mode may
Note that **Footprint** mode is only available to **Radiator** zones that have room sensors.
Currently, there is no support for reading/altering zone schedules, although a zone can be switched to/from modes that utilize schedules.
### Switch Entities
Switch entities will report back their state; other properties are available via their state attributes. Currently, HA switches do not have modes/presets, so the Home Assistant state will be reported as:
- `On` for **Override** \ **On**, and
- `Off` otherwise (NB: the zone could still be 'on', e.g. with **Timer** mode)
If you turn a Switch entity `Off` via HA, it will revert to **Timer** mode.
### Devices
Each Device controlled by your Genius hub will be exposed as either a:
Each Device controlled by your Genius Hub will be exposed as either a:
- `Sensor` entity with a % battery, for any Device with a battery (e.g., a Genius Valve), or
- `Binary Sensor` entity with on/off state for any Device that is a switch (e.g., Smart Plugs, DCRs)
Each such entity will report back its primary state and `assigned_zone`. If the Hub is directly polled using Option 1 (see below), then some additional attributes such as `last_comms` (last communications time) are also available.
Such entities will report back their primary state and `assigned_zone`. If the Hub is directly polled using Option 1 (see below), then some additional state attributes such as `last_comms` (last communications time) are also available.
### Issues
@ -89,7 +106,7 @@ This alert may be useful to see if the CH is being turned on whilst you're on a
## State Attributes
Many zone/device properties are available via each entity's state attributes. For example, in the case of **Radiator**-derived `Climate` entities (note 'status'):
Many zone/device properties are available via the corresponding entity's state attributes. For example, in the case of **Radiator**-derived `Climate` entities (note 'status'):
```json
{
@ -148,9 +165,9 @@ This is the recommended option.
- Requires your **username** & **password**, as used with [geniushub.co.uk/app](https://www.geniushub.co.uk/app).
- Uses the v3 API - unofficial, but there are additional features (e.g., battery levels).
- Polls the hub directly (so is faster, say ~1s response time).
- You have the option of specifying a MAC address.
- You have the option of specifying a MAC address (not recommended, see above).
The hub does not have to be in the same subnet as HA.
The hub does not have to be in the same subnet as your Home Assistant server.
### Option 2: hub token only

View File

@ -1,34 +0,0 @@
---
title: "GTT"
description: "Instructions on how to integrate timetable data for a GTT stop within Home Assistant."
ha_category:
- Transport
logo: gtt.png
ha_iot_class: Cloud Polling
ha_release: 0.85
---
The `gtt` sensor will give you the departure time of the next bus at the given stop.
To enable this sensor, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: gtt
stop: '1080'
bus_name: '58B'
```
{% configuration %}
stop:
description: The name of the stop.
required: true
type: string
bus_name:
description: The name of the chosen bus.
required: false
type: string
{% endconfiguration %}
The data is coming from the [gtt.to.it](http://www.gtt.to.it/cms/) website.

View File

@ -38,7 +38,7 @@ ln -s /path/to/your/installation/of/_cec.so /path/to/your/venv/lib/python*/site-
##### Symlinking examples:
For the default virtual environment of a [HASSbian Image for Raspberry Pi](/docs/installation/raspberry-pi/) the command would be as follows.
For the default virtual environment of a [Manual install for Raspberry Pi](/docs/installation/raspberry-pi/) the command would be as follows.
```bash
ln -s /usr/local/lib/python*/dist-packages/cec.py /srv/homeassistant/lib/python*/site-packages

View File

@ -167,6 +167,7 @@ Within this delay the device registration should be completed in the App, otherw
- `homematicip_cloud.deactivate_eco_mode`: Deactivates the eco mode immediately.
- `homematicip_cloud.deactivate_vacation`: Deactivates the vacation mode immediately.
- `homematicip_cloud.set_active_climate_profile`: Set the active climate profile index.
- `homematicip_cloud.dump_hap_config`: Dump the configuration of the Homematic IP Access Point(s).
### Service Examples
@ -241,6 +242,16 @@ action:
climate_profile_index: 1
```
Dump the configuration of the Homematic IP Access Point(s).
```yaml
...
action:
service: homematicip_cloud.dump_hap_config
data:
anonymize: True
```
## Additional info

View File

@ -1,28 +1,75 @@
---
title: "Huawei LTE Routers"
description: "Instructions on how to integrate Huawei LTE routers with Home Assistant."
title: "Huawei LTE"
description: "Instructions on how to integrate Huawei LTE router and modem devices with Home Assistant."
logo: huawei.svg
ha_category:
- Network
- Presence Detection
- Notifications
- Sensor
- Switch
ha_release: 0.79
ha_iot_class: Local Polling
---
The Huawei LTE router integration for Home Assistant allows you to observe and control [Huawei LTE routers](https://consumer.huawei.com/en/smart-home/).
The Huawei LTE router and modem integration for Home Assistant allows you to observe and control [Huawei LTE devices](https://consumer.huawei.com/en/smart-home/).
There is currently support for the following device types within Home Assistant:
There is currently support for the following platforms within Home Assistant:
- [Presence Detection](#presence-detection) - a device tracker for connected devices
- [Notifications](#notifications)
- [Sensor](#sensor) - with device, signal, and traffic information
All platform requires you to have set up the [Huawei LTE component](#configuration).
- Presence detection - device tracker for connected devices
- Notifications - via SMS
- Sensors - device, signal, and traffic information
- Switch - mobile data on/off
## Configuration
The integration can be enabled in two ways, either using the frontend
or using YAML. Additionally, if the [SSDP integration](../ssdp/) is
enabled in Home Assistant, automatically discovered Huawei LTE devices
which support and have UPnP enabled are made available for further
optional configuration in the frontend.
The integration can be run with or without
authentication. Authenticated mode enables all available integration
features and entities, but may interfere with accessing the device web
interface from another source such as a browser while the integration
is active or vice versa. The exact list of features requiring
authentication to work varies by device and firmware version. The
integration will try to use all configured ones and fail gracefully if
it detects one requiring authentication in unauthenticated mode.
Only a subset of the entities provided by the target device by
default:
- WAN IP address sensor
- LTE signal sensors RSRQ, RSRP, RSSI, and SINR
- mobile data switch
- device tracker entries
The rest are added to the entity registry, but disabled by default.
Support for different categories of information and thus available
entities varies by device model and firmware version.
### Configuration via the frontend
Menu: **Configuration** -> **Integrations**.
Click on the `+` sign to add an integration and click on **Huawei
LTE**, and follow the configuration flow. After finishing, the Huawei
LTE integration will be available.
To use unauthenticated mode, leave username and password empty. The
integration will then attempt to first use empty strings to
authenticate and fall back to unauthenticated mode in case that
fails. If this process does not yield desired results, the YAML
configuration (see below) is available for more fine grained control.
Default list of notification recipient phone numbers can be set using
the integration's configuration options.
### Configuration via YAML
To enable the component, add the following lines to your
`configuration.yaml` file:
@ -30,132 +77,42 @@ To enable the component, add the following lines to your
# Example configuration.yaml entry
huawei_lte:
- url: http://192.168.100.1/
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
For routers configured via the UI, each configuration item for the
same router in YAML overrides and updates the values set in UI
whenever the YAML configuration values are introduced or updated.
{% configuration %}
url:
description: URL of the router web interface.
description: URL of the device web interface. Typically http://192.168.100.1/ or http://192.168.1.1/.
required: true
type: string
username:
description: The username used for the router web interface.
required: true
description: The username used for the device web interface in authenticated mode. Typically `admin`, or empty string (`""`) for USB stick modems. To use unauthenticated mode, leave this variable out altogether.
required: false
type: string
password:
description: The password used for the router web interface.
required: true
description: The password used for the device web interface in authenticated mode. Typically empty string (`""`) for USB stick modems. To use unauthenticated mode, leave this variable out altogether.
required: false
type: string
notify:
description: Enable notifications using SMS messages. To use notifications, please see the [getting started with automation page](/getting-started/automation/).
required: false
type: map
keys:
recipient:
description: The phone number of a default recipient or a list with multiple recipients.
required: false
type: [string, list]
{% endconfiguration %}
### Tested routers
### Tested devices
Routers we know to be working with this integration based on the documentation of used libraries and reports by users:
Devices we know to be working with this integration based on the [documentation of used libraries](https://github.com/Salamek/huawei-lte-api/#huawei-lte-api) and reports by users:
- Huawei B310s-22
- Huawei B525s-23a
- Huawei E5186s-22a
- Huawei B618
This is not a complete list. The integration can probably connect to other Huawei LTE routers running similar firmware.
## Presence Detection
This platform offers presence detection by looking at connected devices to a [Huawei LTE router](https://consumer.huawei.com/en/smart-home/).
To enable the sensor, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
device_tracker:
- platform: huawei_lte
```
See the [device tracker integration page](/integrations/device_tracker/) for instructions how to configure the people to be tracked.
## Notifications
The `huawei_lte` platform allows you to use a Huawei LTE router for notifications from Home Assistant. The messages will be sent as SMS text messages.
```yaml
# Example configuration.yaml entry
notify:
- platform: huawei_lte
recipient: "+15105550123"
```
{% configuration %}
recipient:
description: The phone number of a default recipient or a list with multiple recipients.
required: true
type: [string, list]
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
url:
description: The router to use. Not needed if you only have one.
required: false
type: string
{% endconfiguration %}
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
## Sensor
The `huawei_lte` sensor platform allows you to monitor Huawei LTE routers.
The names for the item you want to monitor are dot separated paths to information returned by the router. The data set varies by router model. To see what your router provides, set logging level to debug and watch `homeassistant.components.huawei_lte` debug entries. The configuration variable description contains a few example paths just to illustrate the syntax. These may not be available on all routers or their semantics may differ, and there are quite likely many more that are not listed here.
To enable the sensor, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: huawei_lte
monitored_conditions:
- device_information.SoftwareVersion
- device_signal.rssi
- monitoring_traffic_statistics.CurrentDownloadRate
- monitoring_traffic_statistics.TotalConnectTime
```
{% configuration %}
monitored_conditions:
description: Defines the data to monitor as sensors. Defaults to a few generally available data items expected to be available on most boxes.
required: false
default: Below is indicated which conditions are the default.
type: list
keys:
device_information.SoftwareVersion:
description: Software version.
device_information.WanIPAddress:
description: WAN interface IPv4 address.
default: default
device_information.WanIPv6Address:
description: WAN interface IPv6 address.
device_signal.rsrq:
description: The signal RSRQ value.
default: default
device_signal.rsrp:
description: The signal RSRP value.
default: default
device_signal.rssi:
description: The signal RSSI value.
default: default
device_signal.sinr:
description: The signal SINR value.
default: default
monitoring_traffic_statistics.CurrentDownloadRate:
description: Current download rate, bytes/sec.
monitoring_traffic_statistics.CurrentUploadRate:
description: Current upload rate, bytes/sec.
monitoring_traffic_statistics.TotalUpload:
description: Total bytes uploaded since last reset.
monitoring_traffic_statistics.TotalDownload:
description: Total bytes downloaded since last reset.
monitoring_traffic_statistics.TotalConnectTime:
description: Total time connected since last reset.
{% endconfiguration %}
This is not a complete list. The integration can probably connect to other Huawei LTE devices running similar firmware.

View File

@ -8,7 +8,7 @@ ha_release: 0.25
ha_iot_class: Cloud Push
---
The `imap` sensor platform is observing your [IMAP server](https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol) and reporting the amount of unread emails.
The `imap` integration is observing your [IMAP server](https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol) and reporting the amount of unread emails.
## Configuration
@ -55,6 +55,11 @@ search:
required: false
default: UnSeen UnDeleted
type: string
charset:
description: The character set used for this connection.
required: false
default: utf-8
type: string
{% endconfiguration %}
### Configuring IMAP Searches
@ -68,7 +73,7 @@ By default, this integration will count unread emails. By configuring the search
#### Full configuration sample with search
```yaml
# Example configuration.yaml entry
# Example configuration.yaml entry for gmail
sensor:
- platform: imap
server: imap.gmail.com
@ -76,4 +81,14 @@ sensor:
username: YOUR_USERNAME
password: YOUR_PASSWORD
search: FROM <sender@email.com>, SUBJECT <subject here>
# Example configuration.yaml entry for Office 365
sensor:
- platform: imap
server: outlook.office365.com
port: 993
username: email@address.com
password: password
search: FROM <sender@email.com>, SUBJECT <subject here>
charset: US-ASCII
```

View File

@ -8,7 +8,7 @@ ha_iot_class: Cloud Push
ha_release: 0.25
---
The `imap_email_content` sensor platform will read emails from an IMAP email server and report them as a state change within Home Assistant. This is useful if you have a device that only reports its state via email.
The `imap_email_content` integration will read emails from an IMAP email server and report them as a state change within Home Assistant. This is useful if you have a device that only reports its state via email.
## Configuration
@ -20,9 +20,9 @@ sensor:
- platform: imap_email_content
server: imap.gmail.com
port: 993
username: USERNAME
password: PASSWORD
folder: <Folder>
username: YOUR_USERNAME
password: YOUR_PASSWORD
folder: YOUR_FOLDER
senders:
- example@gmail.com
```
@ -68,7 +68,7 @@ value_template:
body:
description: The body of the email.
subject:
description: The subject of the email.
description: The subject of the email.git.
date:
description: The date and time the email was sent.
{% endconfiguration %}
@ -97,4 +97,4 @@ sensor:
```
{% endraw %}
The same template structure can scan the date, body, or sender for matching text before setting the state of the sensor.
The same template structure can scan the date, body or sender for matching text before setting the state of the sensor.

View File

@ -3,12 +3,15 @@ title: "Juicenet"
description: "Instructions on how to setup WiFi-equipped Juicenet charging stations with Home Assistant."
logo: juicenet.png
ha_category:
- Car
- Energy
- Sensor
- Switch
ha_iot_class: Cloud Polling
ha_release: 0.47
---
The `juicenet` sensor platform pulls data from a [JuiceNet](https://emotorwerks.com/products/juicenet/) charging station equipped with a wifi connection. It will access and make available all of the devices attached to your account.
The `juicenet` sensor platform pulls data from a [JuiceNet](https://emotorwerks.com/products/juicenet/) charging station equipped with a wifi connection. It will access and make available all of the devices attached to your account. It also exposes a switch allowing you to charge your car now instead of waiting for the pre-set schedule.
## Configuration
@ -41,4 +44,4 @@ These sensors will be added for each juicenet device in your account:
- Amps
- Watts
- Charge time of session
- Energy added this session
- Energy added this session

View File

@ -22,10 +22,25 @@ keyboard_remote:
{% configuration %}
type:
description: Possible values are `key_up`, `key_down`, and `key_hold`. Be careful, `key_hold` will fire a lot of events.
description: Possible values are `key_up`, `key_down`, and `key_hold`. Be careful, `key_hold` will fire a lot of events. This can be a list of types.
required: true
type: string
device_description:
emulate_key_hold:
description: Emulate key hold events when key is held down. (Some input devices do not send these otherwise.)
required: false
type: boolean
default: false
emulate_key_hold_delay:
description: Number of milliseconds to wait before sending first emulated key hold event
required: false
type: float
default: 0.250
emulate_key_hold_repeat:
description: Number of milliseconds to wait before sending subsequent emulated key hold event
required: false
type: float
default: 0.033
device_descriptor:
description: Path to the local event input device file that corresponds to the keyboard.
required: false
type: string
@ -45,9 +60,14 @@ A full configuration for two Keyboard Remotes could look like the one below:
```yaml
keyboard_remote:
- device_descriptor: '/dev/input/by-id/bluetooth-keyboard'
type: 'key_up'
type: 'key_down'
emulate_key_hold: true
emulate_key_hold_delay: 250
emulate_key_hold_repeat: 33
- device_descriptor: '/dev/input/event0'
type: 'key_up'
type:
- 'key_up'
- 'key_down'
```
Or like the following for one keyboard:

View File

@ -132,12 +132,6 @@ The log information are stored in the
and you can read it with the command-line tool `cat` or follow it dynamically
with `tail -f`.
If you are a Hassbian user you can use the example below:
```bash
$ tail -f /home/homeassistant/.homeassistant/home-assistant.log
```
If you are a Hass.io user, you can use the example below, when logged in through
the [SSH add-on](/addons/ssh/):

View File

@ -37,7 +37,7 @@ gender:
type: string
default: "`Female`"
type:
description: "The voice type you want to use. Accepted values are listed as the service name mapping [in the documentation](https://docs.microsoft.com/en-us/azure/cognitive-services/Speech/api-reference-rest/bingvoiceoutput)."
description: "The voice type you want to use. Accepted values are listed as the service name mapping [in the documentation](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/language-support#text-to-speech)."
required: false
type: string
default: "`ZiraRUS`"
@ -60,6 +60,11 @@ contour:
description: "Change the contour of the output in percentages. This overrides the pitch setting. See the [W3 SSML specification](https://www.w3.org/TR/speech-synthesis/#pitch_contour) for what it does. Example value: `(0,0) (100,100)`."
required: false
type: string
region:
description: "The region of your API endpoint. See [documentation](https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/regions)."
required: false
type: string
default: "`eastus`"
{% endconfiguration %}
@ -79,4 +84,5 @@ tts:
volume: -50
pitch: high
contour: (0, 0) (100, 100)
region: eastus
```

View File

@ -7,7 +7,7 @@ ha_release: "0.40"
ha_iot_class: Local Polling
---
The `modem_callerid` sensor platform uses an available modem for collecting caller ID information. It requires a Hayes AT compatible modem that supports caller ID detection (via AT+VCID=1).
The `modem_callerid` integration uses an available modem for collecting caller ID information. It requires a Hayes AT compatible modem that supports caller ID detection (via AT+VCID=1).
When the sensor detects a new call, its state changes to 'ring' for each ring and 'callerid' when caller id information is received. It returns to 'idle' once ringing stops. The state event includes an attribute payload that includes the time of the call, name and number.
@ -19,7 +19,7 @@ To find the path of your USB modem, run:
ls /dev/ttyACM*
```
If Home Assistant (`hass`) runs with another user (e.g., `homeassistant` on Hassbian) give access to the stick with:
If Home Assistant (`hass`) runs with another user (e.g., `homeassistant`) give access to the stick with:
```bash
sudo usermod -a -G dialout homeassistant
@ -54,7 +54,7 @@ To find the path of your USB modem, run:
`$ ls /dev/ttyACM*`
If Home Assistant (`hass`) runs with another user (e.g., `homeassistant` on Hassbian) give access to the stick with:
If Home Assistant (`hass`) runs with another user (e.g., `homeassistant`) give access to the stick with:
`$ sudo usermod -a -G dialout homeassistant`

View File

@ -251,6 +251,18 @@ camera:
- camera_name2
```
### Services (only for camera)
The services below permit to control whether the camera should monitor and alert on motion detection. Also, it allows to control the status of the flood light (only for Presence model).
| Service | Description |
| ------- | ----------- |
| enable_motion_detection | Enable motion detection and alert.
| disable_motion_detection | Disable motion detection and alert.
| set_light_auto | Presence model only : Set flood light on automatic mode.
| set_light_on | Presence model only : Set flood light on.
| set_light_off | Presence model only : Set flood light off.
## Climate
The `netatmo` thermostat platform is consuming the information provided by a [Netatmo Smart Thermostat](https://www.netatmo.com/product/energy/thermostat) thermostat. This integration allows you to view the current temperature and setpoint.

View File

@ -43,7 +43,7 @@ route:
stop:
description: The stop tag from NextBus.
required: true
type: integer
type: string
name:
description: Name to use in the frontend.
required: false

View File

@ -14,7 +14,7 @@ As an alternative to the router-based device tracking, it is possible to directl
Please keep in mind that modern smart phones will usually turn off WiFi when they are idle. Simple trackers like this may not be reliable on their own.
</div>
You might have to install the packages for `arp` and `nmap`. On Debian based hosts (for example Hassbian and Raspbian) do so by running `$ sudo apt-get install net-tools nmap`. On a Fedora host run `$ sudo dnf -y install nmap`.
You might have to install the packages for `arp` and `nmap`. On Debian based hosts (for example Raspbian) do so by running `$ sudo apt-get install net-tools nmap`. On a Fedora host run `$ sudo dnf -y install nmap`.
<div class='note'>

View File

@ -66,6 +66,35 @@ This component will create these sensors:
- `nzbget_uptime`: NZBGet server uptime.
- `nzbget_size`: Amount of data downloaded since server start in MB.
## Event Automation
The NZBGet integration continuously monitors nzbget's download history. When a download completes, an event usable for automation is triggered on the Home Assistant Bus.
Possible events are:
- `nzbget_download_complete`
The event includes the name, category, and status of the downloaded nzb.
Example automation to send a Telegram message on a completed download:
{% raw %}
```yaml
- alias: Completed Torrent
trigger:
platform: event
event_type: nzbget_download_complete
- event_data:
category: tv
action:
service: notify.telegram_notifier
data_template:
title: "Download completed!"
message: "{{trigger.event.data.name}}"
```
{% endraw %}
## Services
Available services:
@ -76,6 +105,6 @@ Available services:
### Service `nzbget/set_speed`
| Service data attribute | Optional | Description |
| Service data attribute | Optional | Description |
|------------------------|----------|-------------------------------------------------------------------------------------------------|
| `speed` | yes | Sets the download speed limit, specified in Kb/s. 0 disables the speed limit. Defaults to 1000. |

View File

@ -0,0 +1,123 @@
---
title: "PCAL9535A I2C GPIO expander"
description: "Instructions on how to integrate the PCAL9535A GPIO pin expander with I2C interface into Home Assistant."
logo: raspberry-pi.png
ha_category:
- DIY
- Binary Sensor
- Switch
ha_release: 0.102
ha_iot_class: Local Polling
---
The `pcal9535a` integration is the base for all related pcal9535a platforms in Home Assistant. There is no setup needed for the integration itself, for the platforms, please check their corresponding sections.
One of the use cases is [Seeed studio Raspberry Pi Relay Board](http://wiki.seeedstudio.com/Raspberry_Pi_Relay_Board_v1.0/).
For more details about the PCAL9535A I2C I/O port expander, you can find its datasheet here: [PCAL9535A](https://www.nxp.com/docs/en/data-sheet/PCAL9535A.pdf).
## Binary Sensor
The `pcal9535a` binary sensor platform allows you to read sensor values from the I/O pins of your [PCAL9535A I2C I/O expander](https://www.nxp.com/products/interfaces/ic-spi-serial-interface-devices/ic-general-purpose-i-o/low-voltage-16-bit-ic-bus-i-o-port-with-interrupt-and-agile-i-o:PCAL9535A).
The pin numbers are from 0 to 15, where: 0-7 correspond to port P0 (P0_0 - P0_7) and 8-15 to port P1 (P1_0 - P1_7).
### Configuration
To use the I/O pins of an PCAL9535A connected to an I2C bus of your Raspberry Pi as binary sensors, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: pcal9535a
pins:
0: PIR Office
1: PIR Bedroom
```
{% configuration %}
i2c_bus:
description: i2c bus number of PCAL9535A chip.
required: false
type: integer
default: 1
i2c_address:
description: i2c address of PCAL9535A chip.
required: false
type: integer
default: "`0x20`"
pins:
description: List of used pins.
required: true
type: map
keys:
"pin: name":
description: The pin numbers (from 0 to 15) and corresponding names.
required: true
type: [integer, string]
invert_logic:
description: If `true`, inverts the input logic to ACTIVE LOW.
required: false
type: boolean
default: "`false` (ACTIVE HIGH)"
pull_mode:
description: >
Type of internal pull resistor to use.
Options are `UP` - pull-up resistor, `DOWN` - pull-down resistor, `DISABLED` - resistors disconnected.
required: false
type: string
default: "`DISABLED`"
{% endconfiguration %}
## Switch
The `pcal9535a` switch platform allows you to write to the I/O pins of your [PCAL9535A I2C I/O expander](https://www.nxp.com/products/interfaces/ic-spi-serial-interface-devices/ic-general-purpose-i-o/low-voltage-16-bit-ic-bus-i-o-port-with-interrupt-and-agile-i-o:PCAL9535A).
The pin numbers are from 0 to 15, where: 0-7 correspond to port P0 (P0_0 - P0_7) and 8-15 to port P1 (P1_0 - P1_7).
### Configuration
To use the I/O pins of a PCAL9535A connected to an I2C bus of your Raspberry Pi as switches, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
switch:
- platform: pcal9535a
pins:
11: Fan Office
12: Light Desk
```
{% configuration %}
i2c_bus:
description: i2c bus number of PCAL9535A chip.
required: false
type: integer
default: 1
i2c_address:
description: i2c address of PCAL9535A chip.
required: false
type: integer
default: "`0x20`"
pins:
description: Array of used pins.
required: true
type: list
keys:
pin:
description: The pin numbers (from 0 to 15) and corresponding names.
required: true
type: [integer, string]
invert_logic:
description: If true, inverts the output logic to ACTIVE LOW.
required: false
default: false
type: boolean
strength:
description: >
Control the output drive level of the GPIO. Each GPIO can be configured independently to one of the four possible output current levels. By programming these bits, the user is changing the number of transistor pairs or fingers that drive the I/O pad.
Options are `0.25`, `0.5`, `0.75`, `1.0`.
required: false
default: "`1.0`"
type: string
{% endconfiguration %}

View File

@ -7,7 +7,7 @@ ha_category:
- Sensor
featured: true
ha_release: 0.7.4
ha_iot_class: Local Polling
ha_iot_class: Local Push
ha_config_flow: true
---

View File

@ -26,6 +26,7 @@ climate:
password: YOUR_SHORT_IP
host: YOUR_SMILE_LOCAL_IP
```
**Please note**: for a legacy Anna (firmware 1.8.x) an additional line is required, see below, this line is not needed for a more recent Anna (firmware 3.1.x).
{% configuration %}
password:
@ -51,6 +52,11 @@ port:
required: false
type: integer
default: 80
legacy_anna:
description: Indicate that the Anna is a legacy unit
required: false
type: boolean
default: false
min_temp:
description: If you want to adjust the lower boundary, the integration will not allow temperatures below the set value.
required: false
@ -72,6 +78,7 @@ climate:
password: YOUR_SHORT_ID
host: YOUR_SMILE_LOCAL_IP
port: YOUR_SMILE_PORT_NUMBER
legacy_anna: true
min_temp: YOUR_MINIMAL_TARGET_TEMPERATURE
max_temp: YOUR_MAXIMAL_TARGET_TEMPERATURE
```

View File

@ -31,6 +31,10 @@ host:
description: "The IP address of the SAJ Solar Inverter."
required: true
type: string
name:
description: "An optional name for your SAJ Solar Inverter."
required: false
type: string
type:
description: "Type of connection module: 'ethernet' or 'wifi'"
required: false
@ -57,7 +61,7 @@ Sensors available in the library:
| today_time | h | Inverter's running time for today. |
| today_max_current | W | Maximum current power for today. (only for connection via ethernet module) |
| total_yield | kWh | Total kWh generated to date. |
| total_time | h | Total running time of the inverter . |
| total_time | h | Total running time of the inverter. |
| total_co2_reduced | kg | Total CO2 in kg reduced. |
| temperature | °C | Temperature of the inverter. |
| state | N/A | Live state of the inverter. |
@ -67,6 +71,7 @@ Sensors available in the library:
```yaml
sensor:
- platform: saj
name: MY_INVERTER_NAME
host: IP_ADDRESS_OF_DEVICE
type: wifi
username: USERNAME

View File

@ -107,6 +107,7 @@ Currently tested but not working models:
- JS8005 - State tracking working but unable to control (but port 8001 *is* open)
- JS9000 - State is always "on" and unable to control (but port 8001 *is* open)
- JS9500 - State is always "on" and unable to control (but port 8001 *is* open)
- JU6445K - State is always "on" and unable to control (but port 8001 *is* open)
- JU6800 - Unable to see state and unable to control
- JU7000 - Unable to see state and unable to control (but port 8001 *is* open)
- JU7500 - Unable to see state and unable to control
@ -144,15 +145,6 @@ No additional actions are required
No additional actions are required
### Hassbian
You will need to activate the venv and install the websocket library:
```bash
sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
pip3 install websocket-client
```
### Other install methods
You will need to install the `websocket-client` Python package in your Home Assistant install. This will probably be done with:

View File

@ -91,3 +91,31 @@ automation:
## Reloading scenes
Whenever you make a change to your scene configuration, you can call the `scene.reload` service to reload the scenes.
## Creating scenes on the fly
Create a new scene without having to configure it by calling the `scene.create` service. This scene will be discarded after reloading the configuration.
You need to pass a `scene_id` in lowercase and with underscores instead of spaces. You also need to specify the entities in the same format as when configuring the scene.
If the scene was previously created by `scene.create`, it will be overwritten. If the scene was created by YAML, nothing happens but a warning in your log files.
```yaml
# Example automation
automation:
trigger:
platform: homeassistant
event: start
action:
service: scene.create
data:
scene_id: my_scene
entities:
light.tv_back_light:
state: on
brightness: 100
light.ceiling: off
media_player.sony_bravia_tv:
state: on
source: HDMI 1
```

View File

@ -141,7 +141,7 @@ group:
- group.sense_hat
```
### Directions for installing on Raspberry Pi All-In-One installer and HASSbian:
### Directions for installing on Raspberry Pi Raspbian Based installation:
Here are the steps to make the _SenseHAT_ sensor work _successfully_ with the virtual environment versions.
@ -182,7 +182,7 @@ sudo reboot
```
Unfortunately enabling the SenseHAT Sensor integration for a Virtual Environment install of Home Assistant fails with errors.
_(The Raspberry Pi All-In-One installer and HASSbian both run Home Assistant in an virtual environment)._
_(The Raspberry Pi All-In-One installer run Home Assistant in an virtual environment)._
These issues have been discussed in the repository issue [#5093](https://github.com/home-assistant/home-assistant/issues/5093)
This fix has been tested with a clean install of:

View File

@ -1,6 +1,6 @@
---
title: "Xiaomi Air Quality Monitor"
description: "Instructions how to integrate your Xiaomi Mi Air Quality Monitor within Home Assistant."
title: "Xiaomi Air Quality Index Monitor"
description: "Instructions how to integrate your Xiaomi Mi Air Quality Index Monitor within Home Assistant."
logo: xiaomi.png
ha_category:
- Health
@ -29,8 +29,7 @@ To add a Xiaomi Mi Air Quality Monitor to your installation, add the following t
# Example configuration.yaml entry
sensor:
- platform: xiaomi_miio
name: Xiaomi Air Quality Monitor
host: 192.168.130.73
host: IP_ADDRESS
token: YOUR_TOKEN
```

View File

@ -10,18 +10,30 @@ ha_release: 0.95
The Somfy integration will allow users to integrate their Somfy devices into Home Assistant using the [official API](https://developer.somfy.com/somfy-open-api/apis), unlike the [tahoma](/integrations/tahoma/) component.
### Setting up developer account
## Installation
To connect Somfy, you need to set up a developer account.
Somfy is leveraging the new account linking service. This means that to set up Somfy, you only need to go to the integrations page and click on add new integration.
<div class='videoWrapper'>
<iframe width="560" height="315" src="https://www.youtube.com/embed/y0SECWUVR-M" frameborder="0" allowfullscreen></iframe>
</div>
## Installation with own developer account
It is possible to create your own developer account and configure Somfy via that.
### Setting up developer account
1. Visit [https://developer.somfy.com](https://developer.somfy.com).
2. Log in using your Somfy credentials.
3. Open the *My Apps* menu.
3. Open the _My Apps_ menu.
4. Add a new App:
- App Name: Home Assistant
- Callback URL: `<YOUR_HOME_ASSISTANT_URL>/auth/external/callback`
- Description: Home Assistant instance
- Product: Somfy Open API
- App Name: Home Assistant
- Callback URL: `<YOUR_HOME_ASSISTANT_URL>/auth/external/callback`
- Description: Home Assistant instance
- Product: Somfy Open API
5. Once Home Assistant restarted, go to Configuration>Integrations.
6. Select the Somfy integration.
@ -36,13 +48,13 @@ somfy:
{% configuration %}
client_id:
description: Your Somfy consumer key.
required: true
type: string
description: Your Somfy consumer key.
required: true
type: string
client_secret:
description: Your Somfy consumer secret.
required: true
type: string
description: Your Somfy consumer secret.
required: true
type: string
{% endconfiguration %}
### Potential duplicate with the Tahoma integration
@ -54,5 +66,21 @@ If you use the [tahoma](/integrations/tahoma) component, you will have to exclud
tahoma:
username: YOUR_USERNAME
password: YOUR_PASSWORD
exclude: ['rts:RollerShutterRTSComponent','rts:CurtainRTSComponent','rts:BlindRTSComponent','rts:VenetianBlindRTSComponent','rts:DualCurtainRTSComponent','rts:ExteriorVenetianBlindRTSComponent','io:ExteriorVenetianBlindIOComponent','io:RollerShutterUnoIOComponent','io:RollerShutterWithLowSpeedManagementIOComponent','io:RollerShutterVeluxIOComponent','io:RollerShutterGenericIOComponent','io:WindowOpenerVeluxIOComponent','io:VerticalExteriorAwningIOComponent','io:HorizontalAwningIOComponent']
exclude:
[
"rts:RollerShutterRTSComponent",
"rts:CurtainRTSComponent",
"rts:BlindRTSComponent",
"rts:VenetianBlindRTSComponent",
"rts:DualCurtainRTSComponent",
"rts:ExteriorVenetianBlindRTSComponent",
"io:ExteriorVenetianBlindIOComponent",
"io:RollerShutterUnoIOComponent",
"io:RollerShutterWithLowSpeedManagementIOComponent",
"io:RollerShutterVeluxIOComponent",
"io:RollerShutterGenericIOComponent",
"io:WindowOpenerVeluxIOComponent",
"io:VerticalExteriorAwningIOComponent",
"io:HorizontalAwningIOComponent",
]
```

View File

@ -23,5 +23,6 @@ ssdp:
The following integrations are automatically discovered by the SSDP integration:
- Deconz
- Philips Hue
- [deCONZ](../deconz/)
- [Huawei LTE](../huawei_lte/)
- [Philips Hue](../hue/)

View File

@ -0,0 +1,9 @@
---
title: "Speech-to-Text (STT)"
description: "Instructions on how to set up Speech-to-Text (STT) with Home Assistant."
ha_release: "0.102"
---
Speech-to-Text (SST) allows you to stream speech data to the SST API and get text back.
This is an integration that is a building block for other integrations or apps building on top of Home Assistant, like [Ada](https://github.com/home-assistant/ada).

View File

@ -12,7 +12,7 @@ The `tensorflow` image processing platform allows you to detect and recognize ob
<div class='note warning'>
The following packages must be installed on Hassbian/Raspbian before following the setup for the integration to work:
The following packages must be installed on Raspbian before following the setup for the integration to work:
`sudo apt-get install libatlas-base-dev libopenjp2-7 libtiff5`
</div>

View File

@ -16,7 +16,7 @@ The `triggered` state also provides a state attribute called `triggered_source`
- `Fire/Smoke` is when fire or smoke is detected, or a person pushed the Fire button
- `Carbon Monoxide` is when carbon monoxide is detected
If you have issues running this component, you may require `libxml2-dev` and `libxmlsec1-dev` packages. To install these on Hassbian, run the command `apt install libxml2-dev libxmlsec1-dev` with sudo.
If you have issues running this component, you may require `libxml2-dev` and `libxmlsec1-dev` packages. To install these on Raspbian, run the command `apt install libxml2-dev libxmlsec1-dev` with sudo.
## Configuration

View File

@ -120,3 +120,21 @@ Adds a new torrent to download. It can either be a URL (http, https or ftp), mag
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `torrent` | no | Torrent to download
## Templating
### Sensor `started_torrents`
The state attribute `torrent_info` contains information about the torrents that are currently downloading. You can see this information in **Developer Tools** -> **States** -> `sensor.transmission_started_torrents` -> **Attributes**, or by adding a Markdown Card to Lovelace.
{% raw %}
```yaml
content: >
{% set payload = state_attr('sensor.transmission_started_torrents', 'torrent_info') %}
{% for torrent in payload.items() %} {% set name = torrent[0] %} {% set data = torrent[1] %}
{{ name|truncate(20) }} is {{ data.percent_done }}% complete, {{ data.eta }} remaining {% endfor %}
type: markdown
```
{% endraw %}

View File

@ -0,0 +1,53 @@
---
title: "UniFi LED"
description: "Instructions on how to configure the UniFi LED integration with UniFi LED Controller by Ubiquiti."
logo: ubiquiti.png
ha_category:
- Light
ha_release: 0.102
ha_iot_class: Local Polling
---
[UniFi LED](https://unifi-led.ui.com/) by [Ubiquiti Networks, inc.](https://www.ubnt.com/) is a system off controller managed led light panels and dimmers.
There is currently support for the following device type within Home Assistant:
- [Light](#light)
## Configuration
```yaml
# Example configuration.yaml entry
light:
- platform: unifiled
host: IP_ADDRESS
username: USERNAME
password: PASSWORD
```
{% configuration %}
host:
description: Ip address or hostname used to connect to the Unifi LED controller.
type: string
required: true
default: None
port:
description: Port used to connect to the Unifi LED controller.
type: string
required: false
default: 20443
username:
description: Username used to log into the Unifi LED controller.
type: string
required: true
default: None
password:
description: Password used to log into the Unifi LED controller.
type: string
required: true
default: None
{% endconfiguration %}
## Light
The light panels output state and brightness are synchronized with home assistant.

View File

@ -117,3 +117,11 @@ automation:
to {{ trigger.to_state.state }}
by {{ trigger.to_state.attributes.changed_by }}{% endraw %}
```
## Services
| Service | Description |
| ------- | ----------- |
| disable_autolock | Disables autolock function for a specific lock. |
| enable_autolock | Enables autolock function for a specific lock. |
| smartcam_capture | Capture a new image from a specific smartcam. |

View File

@ -43,6 +43,11 @@ circuit:
description: Heating circuit of your heating device if multiple exist
required: false
type: integer
heating_type:
description: One of `generic`, `gas` or `heatpump`. Specifying the heating_type provides additional attributes specific for the heating system.
required: false
type: string
default: generic
{% endconfiguration %}
Two components will be created: `climate.vicare_heating` and `water_heater.vicare_water` (for domestic hot water).

View File

@ -58,6 +58,11 @@ framerate:
required: false
default: 2
type: integer
stream_path:
description: This parameter allows you to override the stream path.
required: false
default: live.sdp
type: string
{% endconfiguration %}
### Advanced configuration
@ -73,6 +78,7 @@ camera:
password: !secret fd_camera_pwd
verify_ssl: false
framerate: 5
stream_path: live2.sdp
```
### Services

View File

@ -22,7 +22,7 @@ Values for your account:
- Logo: Any reasonable picture will do.
- Description: Personal app for collecting my data.
- Contact Email: Your email address
- Callback Uri: `https://your-domain-name/` - Withings will check if this URL is accessible (HTTP HEAD) upon submitting the form.
- Callback Uri: `https://your-domain-name/auth/external/callback` - Withings will check if this URL is accessible (HTTP HEAD) upon submitting the form.
- Company: Home Assistant
Once saved, the "Client Id" and "Consumer Secret" fields will be populated. You will need these in the next step.
@ -33,7 +33,7 @@ Once saved, the "Client Id" and "Consumer Secret" fields will be populated. You
# Example configuration.yaml entry
withings:
client_id: CLIENT_ID
client_secret: CLIENT_SECRET
client_secret: CONSUMER_SECRET
profiles:
- USER_PROFILE_NAME
```
@ -43,28 +43,27 @@ Withings supports multiple profiles per account. Each profile has a person's nam
### Step 3 - Authorize Home Assistant
- Confirm your YAML configuration is valid by using the `Check Config` tool (see note).
- Note: In order for "Check Config" to be visible, you must enable "Advanced Mode" on your user profile. The "Check Config" tool can be found by clicking "Configuration" from the sidebar (cog icon) and then clicking "Server Control".
- Restart Home Assistant.
- Go to the integrations page.
- Add a Withings integration.
- Select the profile you intend to pull data. This will take you to the Withings site.
- On the Withings site, choose the profile you selected in the previous step (if prompted).
- Note: It's important you select the same profile from the previous step. Choosing a different one will result in Home Assistant displaying data for profile 2, but it will be labeled as profile 1.
- Authorize the application. Your browser will redirect you to your Home Assistant URL.
- Add a Withings integration. This will open a new tab/window on the withings site.
- On the Withings site, choose the profile of the data you want to sync.
- Authorize the application. Your browser will redirect you to the redirect uri you provided during account setup.
- Note: If you get a browser error saying the site is inaccessible, you can modify the
`http://domain` portion of the URL to something you know is accessible, locally or publically. For example, `http://localhost:8123`.
This occurs when the base URL provided by Home Assistant to Withings is not accessible to the outside world.
Changing the domain will not affect how data is synchronized.
- Once authorized, the tab/window will close and the integration page will prompt to select a profile. Select the profile you chose while on the withings site.
- Note: It's important you select the same profile from the previous step. Choosing a different one will result in Home Assistant displaying the wrong data.
- Data will synchronize immediately and update every 5 minutes.
Note: In order for "Check Config" to be visible, you must enable "Advanced Mode" on your user profile. The "Check Config" tool can be found by clicking "Configuration" from the sidebar (cog icon) and then clicking "Server Control".
## Configuration
```yaml
# Example configuration.yaml entry
withings:
client_id: CLIENT_ID
client_secret: CLIENT_SECRET
client_secret: CONSUMER_SECRET
profiles:
- USER_PROFILE_NAME
```
@ -81,9 +80,4 @@ profiles:
description: Withings supports multiple profiles per account. Provide the person's name whom you want Home Assistant entities to will be associated with (just a name, it doesn't have to be perfect). During the authorization step, you will be asked to select this user from the Withings website.
required: true
type: map
base_url:
description: Overrides Home Assistant's default base URL to use when authorizing with Withings.
required: false
type: string
default: The base URL provided in the Home Assistant `api` component.
{% endconfiguration %}

View File

@ -0,0 +1,63 @@
---
title: "WLED"
description: "Instructions on how to integrate WLED with Home Assistant."
logo: wled.png
ha_category:
- Light
- Sensor
- Switch
ha_release: 0.102
ha_iot_class: Local Polling
ha_qa_scale: platinum
---
[WLED](https://github.com/Aircoookie/WLED) is a fast and feature-rich
implementation of an ESP8266/ESP32 webserver to control
NeoPixel (WS2812B, WS2811, SK6812, APA102, and similar) LED's.
## Configuration
This integration can be configured using the integrations in the
Home Assistant frontend.
Menu: **Configuration** -> **Integrations**.
In most cases, the WLED devices will be automatically discovered by
Home Assistant. Those automatically discovered WLED devices are listed
on the integrations page.
If for some reason (e.g., due to lack of mDNS support on your network),
the WLED device isn't discovered, it can be added manually.
Click on the `+` sign to add an integration and click on **WLED**.
After completing the configuration flow, the WLED
integration will be available.
## Lights
This integration adds the WLED device as a light in Home Assistant.
Home Assistant treats every segment of the LED strip as a separate light
entity.
Only native supported features of a light in Home Assistant are supported
(which includes effects).
## Sensors
This integration provides sensors for the following information from WLED:
- Estimated current.
- Uptime.
- Free memory.
## Switches
The integration will create a number of switches:
- Nightlight.
- Sync Receive.
- Sync Send.
## Services
This integration currently does not offer any additional services.

View File

@ -30,7 +30,7 @@ Currently, version 0.1.4-beta2 of the custom firmware is the highest supported.
<div class='note warning'>
Hassbian users: Don't forget to install `ffmpeg` support on your platform, otherwise, you'll not see video.
Raspbian users: Don't forget to install `ffmpeg` support on your platform, otherwise, you'll not see video.
</div>

View File

@ -38,7 +38,7 @@ If you use a version higher than 0.1.4-beta2, you can simply solve the FTP issue
</div>
<div class='note warning'>
Hassbian users: don't forget to install ffmpeg support on your platform, otherwise, you'll not see video.
Raspbian users: don't forget to install ffmpeg support on your platform, otherwise, you'll not see video.
</div>
<div class='note warning'>

View File

@ -0,0 +1,92 @@
---
layout: post
title: "Almond & Ada: privacy-focused voice assistant"
description: "Say Hi! to Almond, a privacy-focused virtual assistant and Ada, a voice assistant powered by Home Assistant."
date: 2019-11-20 0:43:02
date_formatted: "November 20, 2019"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Announcements
og_image: /images/blog/2019-11-voice-assistant/almond.png
---
TL;DR:
- Teamed up with [Almond](https://almond.stanford.edu/), available in Home Assistant 0.102.
- Introducing [Ada](https://github.com/home-assistant/ada), voice assistant powered by Home Assistant integrations. Available as Hass.io add-on.
- New beta speech-to-text and text-to-speech service for Home Assistant Cloud subscribers.
---
Voice assistants are a great way to interact with your house, ask a quick question, set a timer or control your devices. The more an assistant knows about you, your home and it's other inhabitants, the better it is able to help you.
Today's available virtual assistants work great, but they have a big problem: They store your data in the cloud, don't provide APIs to allow other companies to build products on top and are run by companies whose core business is building profiles on their users to help serve ads and product suggestions.
The backbone to our homes needs to be one that keeps data local and has APIs allowing other companies to build on top. Innovation happens when many different people, with many different backgrounds, do many different experiments until we find something that sticks. This cannot be left to a single company.
Recently we got in touch with the [Open Virtual Assistant Lab at Stanford University](https://oval.cs.stanford.edu/). In the last four years, they have been working on a virtual assistant named Almond. And it's a perfect match for Home Assistant.
<!--more-->
## Almond
[Almond](https://almond.stanford.edu/) is an open, privacy-preserving virtual assistant that is open source. With Almond, you can run a virtual assistant at home, that can tell you the news or control your house. It is powered by [LUInet](https://almond.stanford.edu/doc/genie-intro.md), a state-of-the-art neural network developed at Stanford. And it now works with Home Assistant.
The Almond team has updated Almond to make it aware of the different device types in Home Assistant and allow Almond to control them. In turn, we have upgraded the conversation integration in Home Assistant to support Almond, allowing users to converse with Almond via the frontend.
<p class='img'><img src='/images/blog/2019-11-voice-assistant/almond.png' alt='Screenshot showing Almond integration in Home Assistant.'>Screenshot showing Almond integration in Home Assistant.</p>
Almond is available to users today in Home Assistant 0.102. It requires an Almond Server, which you can either install yourself, use the new Almond Hass.io add-on or rely on Almond Web, a cloud version hosted by Stanford. By default, Almond Server will rely on a cloud version of LUInet, but it is possible to run it locally.
Almond is set up in a way such that your privacy is still partially preserved even with LUInet running in the cloud. This is made possible because LUInet is only responsible for converting the text into a program, whose details are filled in locally by the Almond Server. For example, LUInet will convert "turn on the lights" into code that Almond Server understands. Only Almond Server will know which lights the user has, how to control them and the context of how the text was received.
### How Almond compares to Google/Alexa
You're probably wondering if Almond is as good as Alexa or Google. And it's not yet as good. However, it doesn't matter.
If you want to have an assistant in your home that knows everything about you, it needs to be one that cares about privacy. It needs to be one that is open. That's not negotiable.
Almond has room for improvement. But it's open source, and with the Home Assistant community, we'll work with the Almond team on making it better. You can start helping right now:
Almond is gathering sentences that you want to use to control the devices in your home. We already have a basic set of sentences, but the more, the better. You can submit those sentences [using this form](https://docs.google.com/forms/d/e/1FAIpQLSeStJfjvueNAiueRVmP47XALRaJlx7tttzJjRfVjX4J546-uA/viewform).
You are also able to help train LUInet directly by teaching it how to interpret sentences [in the training console](https://almond.stanford.edu/developers/train).
## Ada
Almond is not the full story. Almond only works with text input, and generates text as output. It doesn't handle speech-to-text to receive input nor text-to-speech to speak answers. Those technologies are out of scope for Almond. However, not out of scope for Home Assistant! Home Assistant already has a text-to-speech integration with different backends. In Home Assistant 0.102, we're introducing a new speech-to-text integration to complement this.
Now we almost have all the pieces for a voice assistant built-in to Home Assistant, and so we decided to finish it off by introducing a new project called [Ada](https://github.com/home-assistant/ada). Ada integrates hotword detection and will route all data to the various integrations to provide a full voice assistant experience.
<a href='/images/blog/2019-11-voice-assistant/overview.svg'><img src='/images/blog/2019-11-voice-assistant/overview.svg' alt='Architectural overview of how all pieces fit together.' style='border: 0;box-shadow: none;'></a>
Ada is still very much in the beginning. We'll be working on improving it. If you have expertise in this area and want to help, please get in touch.
Ada is also available as a [Hass.io](http://hass.io) add-on. This means that you can plug a microphone and speakers into your Raspberry Pi and turn Hass.io into a full, privacy-focused, voice assistant.
To make it easier to add speech-to-text and text-to-speech integrations to your system, Nabu Casa is introducing a new beta service offering speech-to-text and text-to-speech services to Home Assistant Cloud subscribers, powered by Azure Cognitive Services.
<div class='videoWrapper'>
<iframe width="560" height="315" src="https://www.youtube.com/embed/8VFZiHcjp78" frameborder="0" allowfullscreen></iframe>
</div>
## Can a virtual assistant still be private if parts run in the cloud?
With Home Assistant we care about privacy and local control. We want to be able to offer home automation that keeps working if there is no internet. Home automation, that is fast and reliable.
But we also want privacy to be accessible. A user should be able to get a private solution without running a big server at home. Privacy should not be something that is reserved for the rich.
With the current approach, some things will still run in the cloud, but the home data and control stays local. We will bring more things local when faster technology becomes more accessible or new projects emerge that can help with this.
We don't want to wait with integrating this until all the pieces run 100% locally. We need to help build the future we want to see.
## What's next?
With Almond and Ada, we've put the building blocks in place to create voice assistants. It's now time to use it, improve it and surprise us by sharing the things you'll use it for.
## Bonus
I hacked together a quick prototype to allow you to talk to Almond via a Telegram Bot! It's available as a [custom component](https://gist.github.com/balloob/d59cae89d19a14bcec99ce1bde05bd44).
<p class='img'><img src='/images/blog/2019-11-voice-assistant/telegram.png' style='max-width: 300px' alt='Screenshot of talking to Almond via Telegram.'>Screenshot of talking to Almond via Telegram.</p>

View File

@ -0,0 +1,921 @@
---
layout: post
title: "0.102: Official Android App, Almond, Scene editor"
description: "Download the Android app, install a private voice assistant and easy OAuth2 account linking."
date: 2019-11-20 0:41:02
date_formatted: "November 20, 2019"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Release-Notes
og_image: /images/blog/2019-10-0.102/components.png
---
Home Assistant 0.102 is here ! It's been quite the trip as we hosted our annual State of the Union last week, which took a lot of energy away from our release. This doesn't mean that we don't have anything to share, just that the notes might be a little less polished.
First, we had our State of the Union at the ING office in Amsterdam! It was great. You can watch it back [on YouTube](https://youtu.be/tc17q1Zn0Xs?t=434) or keep an eye out for the blog post coming soon that will summarize all the announcements.
Alright, so what's new? A lot.
## Android App released!
At the State of the Union we announced that we have released the initial version of the official [Home Assistant Android app](https://play.google.com/store/apps/details?id=io.homeassistant.companion.android). It's still a work in progress, but the basic version already works.
It's been developed by [@CedrickFlocon](https://github.com/CedrickFlocon) and the source is [available on GitHub](https://play.google.com/store/apps/details?id=io.homeassistant.companion.android). We've already seen some other developers step in, so that's great! Keep it coming.
<!--more-->
## Private Voice Assistant
We teamed up with Stanford to tightly integrate their open, privacy-preserving virtual assistant Almond into Home Assistant. For more information, see the [separate blog post](/blog/2019/11/14/privacy-focused-voice-assistant/).
## Account Linking
Some companies only allow us to integrate with their products via cloud APIs. These cloud APIs often use [the OAuth2 specification](https://tools.ietf.org/html/rfc6749) to link accounts. The problem with this specification is that it cannot properly handle non-public or decentralized installations.
So if you were to link an integration via OAuth2 before today, you would have to sign up for a developer account, configure Home Assistant and expose your instance publicly before you got to the part where you can link your account. That's not good!
Home Assistant Cloud is introducing a new account linking service that will be freely available for everyone no cloud account required. With this service, Home Assistant controls the developer account, and users will just need to link their accounts.
<div class='videoWrapper'>
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/y0SECWUVR-M" frameborder="0" allowfullscreen></iframe>
</div>
The first integration to use this new service is [Somfy][somfy docs]. Manual installation is also still possible. This integration is built on top of our [new OAuth2 framework](https://developers.home-assistant.io/docs/en/config_entries_config_flow_handler.html#configuration-via-oauth2). We expect more integration developers to migrate OAuth2 integrations in the future.
## Create automations with natural language
As an experimental feature, we have added a new way to create automations. With the help of Almond, we can transform natural language into Home Assistant automations.
<p class='img'>
<img src='/images/blog/2019-11-0.102/thingtalk-automation.png' alt='Screenshot of the create automation dialog.'></a>
Screenshot of the create automation dialog.
</p>
When you click the **+** in the automation editor to add a new automation, you will see a new dialog where you can enter what you want your automation to do in natural language. Like: `Turn on the lights when I come home`. We will try to convert this into an automation. We will check if you need to specify devices or persons for this automation and ask you for them. You can then check the generated automation in the editor and save it.
Be advised that not all devices are supported yet, and that Almond needs more training for better responses. Check the Almond part for how you can help make Almond better.
## Scene editor
<p class='img'>
<img src='/images/docs/scenes/editor.png' alt='Screenshot of the scene editor.'></a>
Screenshot of the scene editor.
</p>
We're also introducing a [scene editor](/docs/scene/editor/). With the scene editor you can easily store the states of devices in a scene. You simply select the devices (and/or entities if you are in advanced mode) you want to include in your scene and set the states to how you would like them when the scene activates.
To use the scene editor your scene config should be in the file `scenes.yaml` in your config directory and included in `configuration.yaml`. Every scene should have a unique id for the editor to work.
```yaml
# scenes.yaml
- id: my_unique_id # <-- Required for editor to work.
name: Romantic
entities:
light.tv_back_light: on
light.ceiling:
state: on
xy_color: [0.33, 0.66]
brightness: 200
```
Then update your `configuration.yaml` to look like this:
```yaml
# Configuration.yaml example
scene: !include scenes.yaml
```
## In other news
Andrew learned Swift and created a new mini-app for Mac:
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Using my new found Swift skills I created a tiny Mac menu bar app to control switches on <a href="https://twitter.com/home_assistant?ref_src=twsrc%5Etfw">@home_assistant</a> <a href="https://t.co/N7wl2gXd2O">https://t.co/N7wl2gXd2O</a><br>Saves me reaching behind the printer for the awkward power button.<br>Consider it alpha, I&#39;ve got a lot to learn on both swift and HA! <a href="https://t.co/o6Wm7Le5nm">pic.twitter.com/o6Wm7Le5nm</a></p>&mdash; Andrew Jackson (@AndrewCodeChimp) <a href="https://twitter.com/AndrewCodeChimp/status/1196377630070755328?ref_src=twsrc%5Etfw">November 18, 2019</a>
</blockquote>
Our Android app is not the only new app on the block. [@tuanha2000vn](https://github.com/tuanha2000vn) has released [Hasskit](https://github.com/tuanha2000vn/hasskit/), a new app built with Flutter that can be used on both Android and iOS.
And finally, Brad posted a video on [Reddit](https://www.reddit.com/r/homeassistant/comments/dz1qsi/picture_elements_are_so_fun_i_made_a_bad_video/) showing his amazing usage of picture elements in Lovelace. Check it out:
<div class='videoWrapper'>
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/SqIMUSegjrs" frameborder="0" allowfullscreen></iframe>
</div>
Users of Xiaomi Vacuum cleaners can now use this great custom Lovelace card:
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Wow 😲<br><br>This custom card for Xiaomi vacuum cleaners allows you to exactly tell what part of the house your vacuum cleaner has to clean 👏<a href="https://t.co/NJtrRLKvDZ">https://t.co/NJtrRLKvDZ</a> <a href="https://t.co/iNOOwt5Wxd">pic.twitter.com/iNOOwt5Wxd</a></p>&mdash; Home Assistant (@home_assistant) <a href="https://twitter.com/home_assistant/status/1192889842440507392?ref_src=twsrc%5Etfw">November 8, 2019</a>
</blockquote>
## New Integrations
- Add Unifi Led ([@florisvdk] - [#27475]) ([unifiled docs]) (new-integration)
- Almond integration ([@balloob] - [#28282]) ([almond docs]) (new-integration)
- Speech to Text component ([@pvizeli] - [#28434]) ([demo docs]) ([stt docs]) (new-integration)
- Add WLED integration ([@frenck] - [#28542]) ([wled docs]) (new-integration)
- Add azure servicebus notify service ([@hfurubotten] - [#27566]) ([azure_service_bus docs]) (new-integration)
- Add pcal9535a integration ([@Shulyaka] - [#26563]) ([pcal9535a docs]) (new-integration)
## New Platforms
- Add Huawei LTE mobile data switch support ([@scop] - [#28188]) ([huawei_lte docs]) (new-platform)
- Add support for Xiaomi Air Quality Monitor (cgllc.airmonitor.b1) ([@fwestenberg] - [#27735]) ([xiaomi_miio docs]) (new-platform)
- Add switches (on/off zones) to geniushub ([@castaway] - [#28182]) ([geniushub docs]) (new-platform)
- Add config endpoint for scene ([@bramkragten] - [#28429]) ([config docs]) ([homeassistant docs]) (new-platform)
- Add override switch for juicenet ([@jesserockz] - [#28049]) ([juicenet docs]) (new-platform)
- Add SST/TTS support over NC ([@pvizeli] - [#28527]) ([cloud docs]) ([stt docs]) (new-platform)
## If you need help...
...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e).
## Reporting Issues
Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template.
## Breaking Changes
- **Huawei LTE** - Configuration has been consolidated below `huawei_lte`. Device tracker no longer uses known_devices.yaml but entity registry. - ([@scop] - [#26675]) ([huawei_lte docs])
Example configuration yaml:
```yaml
huawei_lte:
- url: http://192.168.100.1/
username: admin
password: something
```
- **Ikea Tradfri** - This removes the battery sensor that was created for the signal repeater. The sensor would never have a state, and after some inspection, it does not look like that device present any valuable metrics. - ([@ludeeus] - [#28181]) ([tradfri docs])
- **UPNP/IGD** - All UPNP/IGD sensors are now in one device. You have to remove and re-add the integration to get rid of the previous devices. ([@escoand] - [#27517]) ([upnp docs])
- **PS4** - State `off` is now State `standby`. Affects user defined scripts, automations, etc. ([@ktnrg45] - [#28261]) ([ps4 docs])
- **SSDP** - `ssdp` in manifest.json has changed; it is now a list of dicts, and as we now match using the UPnP device description fields directly, `device_type` has to be renamed to `deviceType`. No included integrations use it at the moment, nor are they broken by this change. If any custom integrations are using it, they need to adjust accordingly. ([@scop] - [#28285]) ([ssdp docs])
- **HomematicIP Cloud** - The attribute naming between Homematic IP `HmIP-BSM` (light) and `HmIP-FSM/HmIP-PSM` (switch) was different and in case of light not correct. The attributes for `HmIP-BSM` have been renamed:
- energy_counter_kwh --> today_energy_kwh
- power_consumption --> current_power_w
Please check your automations, scripts, scenes, etc., if you are using the old attributes in templates, and replace them with the new ones. - ([@SukramJ] - [#28271]) ([homematicip_cloud docs])
- **Plugwise** - Detection of a legacy Anna (firmware 1.8.x) is no longer automatic: owners of a legacy Anna have to provide info in configuration.yaml, the last line. This change was needed to be able to fix issue #26520. - ([@bouwew] - [#28237]) ([plugwise docs])
Example configuration yaml:
```yaml
climate:
- platform: plugwise
name: your_device_name
password: your_password
host: your_anna_ip
legacy_anna: true
```
- **Android TV** - The `source` and `sources_list` attributes for Fire TV devices will use friendly app names instead of app IDs (e.g., "Netflix" instead of "com.netflix.ninja"). If you are using these attributes in automations, sensors, etc., you will need to update them.
- If you are currently checking that the `source` attribute of a Fire TV device is a particular app ID, you have two options:
- Check the `app_id` attribute instead
- Replace that app ID with the friendly name for the app.
- If you are currently checking the `sources_list` attribute, then you will need to check for friendly app names instead of app IDs.
You can still use app IDs for the media_player.select_source service. - ([@JeffLIrion] - [#28417]) ([androidtv docs])
- **Homekit** - Thermostats supported by the Homekit Controller component were reporting "off" for the running status when the HVAC was powered on but not actively heating or cooling. This `hvac_action` attribute will now properly return "idle" instead of off. Any logic that tests for the `hvac_action` condition of `off` will need to change to `idle`. There is no change to any other states. - ([@GaryOkie] - [#28625]) ([homekit_controller docs])
- **OpenALPR local** - The "alp_bin" option has been corrected to "alpr_bin" as is outlined in the documentation. Users should check their config and update if necessary. ([@HexF] - [#28746]) ([openalpr_local docs])
## Beta Fixes
- Bump ZHA quirks to 0.0.28 ([@dmulcahey] - [#28750]) ([zha docs]) (beta fix)
- Updated frontend to 20191114.0 ([@bramkragten] - [#28768]) ([frontend docs]) (beta fix)
- Fix account link version check ([@balloob] - [#28770]) ([cloud docs]) (beta fix)
- Fix amazon dependency conflicts ([@bbrendon] - [#28217]) ([amazon_polly docs]) ([aws docs]) (beta fix)
- Change unique id for SAJ sensor based on device SN ([@fredericvl] - [#28663]) ([saj docs]) (breaking change) (beta fix)
- Fix changing venstar operation_mode ([@iamtpage] - [#28754]) ([venstar docs]) (beta fix)
- Fix Repetier integration entity indexing ([@MTrab] - [#28766]) ([repetier docs]) (beta fix)
- Fix HomematicIP Cloud Alarm Control Panel support for basic mode ([@SukramJ] - [#28778]) ([homematicip_cloud docs]) (beta fix)
- Fix Swisscom empty response received ([@LeoCal] - [#28782]) ([swisscom docs]) (beta fix)
- Fix broken postnl sensor ([@peternijssen] - [#28794]) ([postnl docs]) (beta fix)
- Updated frontend to 20191115.0 ([@bramkragten] - [#28797]) ([frontend docs]) (beta fix)
- Fix Comfoconnect errors during startup ([@michaelarnauts] - [#28802]) ([comfoconnect docs]) (beta fix)
- Fix miio air quality sensor ([@valkjsaaa] - [#28828]) ([xiaomi_miio docs]) (beta fix)
- Update pyatmo to 3.0.1 ([@cgtobi] - [#28829]) ([netatmo docs]) (beta fix)
- Updated frontend to 20191118.0 ([@bramkragten] - [#28852]) ([frontend docs]) (beta fix)
- Fix documentation URL in failed platform config check ([@frenck] - [#28814]) (beta fix)
- Fix Synology camera whitelist ([@h4de5] - [#28822]) ([synology docs]) (beta fix)
- Fix setting colors while reproducing a lights state ([@Santobert] - [#28871]) ([light docs]) (beta fix)
- Updated frontend to 20191119.0 ([@bramkragten] - [#28875]) ([frontend docs]) (beta fix)
- Updated frontend to 20191119.1 ([@bramkragten] - [#28881]) ([frontend docs]) (beta fix)
- Updated frontend to 20191119.2 ([@bramkragten] - [#28896]) ([frontend docs]) (beta fix)
- Fix Almond onboarding url when using cloud ([@bramkragten] - [#28908]) ([almond docs]) (beta fix)
## All changes
- Cover all possible values for venstar operation_mode ([@iamtpage] - [#27949]) ([venstar docs])
- Add onvif local datetime support ([@djpremier] - [#26656]) ([onvif docs])
- Fix Venstar formatting to restore clean CI ([@kennedyshead] - [#28171]) ([venstar docs])
- Add Unifi Led ([@florisvdk] - [#27475]) ([unifiled docs]) (new-integration)
- Modernize Huawei LTE ([@scop] - [#26675]) ([huawei_lte docs]) (breaking change)
- Use latest withings_api module ([@vangorra] - [#27817]) ([withings docs])
- Tradfri config flow enhancements ([@ludeeus] - [#28179]) ([tradfri docs])
- Add stop feature to tradfri covers ([@ludeeus] - [#28180]) ([tradfri docs])
- Fix tzinfo type for onvif component ([@djpremier] - [#28178]) ([onvif docs])
- Adding device_class to samsungtv ([@kennedyshead] - [#28168]) ([samsungtv docs])
- Bump python-slugify to 4.0.0 ([@BKPepe] - [#28186])
- Removes unwanted tradfri battery sensor ([@ludeeus] - [#28181]) ([tradfri docs]) (breaking change)
- Huawei LTE sensor metadata update ([@scop] - [#28187]) ([huawei_lte docs])
- Add Samsung TV automatic protocol detection ([@escoand] - [#27492]) ([samsungtv docs])
- [homematic]Pass channel to light color functions ([@guillempages] - [#27306]) ([homematic docs])
- [homematic]Add support for HmIP-BSL LEDs ([@guillempages] - [#27307]) ([homematic docs])
- move hass-frontend import back down ([@gngj] - [#28203]) ([frontend docs])
- Address post-merge coolmaster config flow code review ([@OnFreund] - [#28163]) ([coolmaster docs])
- Add presentation URL to SSDP discovery info ([@scop] - [#28196]) ([ssdp docs])
- Change Alexa default display category based on media_player device_class ([@ochlocracy] - [#28191]) ([alexa docs])
- Add device condition support for media_player ([@shmooey] - [#28161]) ([media_player docs])
- Add device condition support for device_tracker ([@shmooey] - [#28190]) ([device_tracker docs])
- Increased python-eq3bt version to latest (0.1.11) ([@Poeschl] - [#28175]) ([eq3btsmart docs])
- Add support for supportedOperations to Alexa.PlaybackController ([@ochlocracy] - [#28212]) ([alexa docs])
- Improved Alexa ThermostatController thermostatMode handling ([@ochlocracy] - [#28176]) ([alexa docs])
- Add additional device conditions to cover ([@emontnemery] - [#27830]) ([cover docs])
- Implement Alexa.PlaybackStateReporter Interface for alexa ([@ochlocracy] - [#28215]) ([alexa docs])
- Add cloud account linking support ([@balloob] - [#28210]) ([cloud docs]) ([somfy docs])
- Add Huawei LTE mobile data switch support ([@scop] - [#28188]) ([huawei_lte docs]) (new-platform)
- Upgrade speedtest-cli to 2.1.2 ([@fabaff] - [#28216])
- Add available state to unifiled integration ([@florisvdk] - [#28189]) ([unifiled docs]) (new-integration)
- Update praw to 6.4.0 ([@fabaff] - [#27324]) ([reddit docs])
- Suppress traceback (fixes #28243) ([@fabaff] - [#28262]) ([iss docs])
- Add charset to imap component. ([@ZiroNL] - [#28258]) ([imap docs])
- Reorg and test attributes for HomematicIP Cloud ([@SukramJ] - [#28234]) ([homematicip_cloud docs])
- Add support for Xiaomi Air Quality Monitor (cgllc.airmonitor.b1) ([@fwestenberg] - [#27735]) ([xiaomi_miio docs]) (new-platform)
- Add transmission info about torrents that is accessible with templating ([@JPHutchins] - [#27111]) ([transmission docs])
- More header cleanup for websocket proxy ([@pvizeli] - [#28288]) ([hassio docs])
- Bump avea to 1.4 ([@pattyland] - [#28287]) ([avea docs])
- Remove GTT component ([@eliseomartelli] - [#28286])
- Hue: Create new config flow when auth is lost ([@bramkragten] - [#28204]) ([hue docs])
- Revert "More header cleanup for websocket proxy (#28288)" ([@pvizeli] - [#28293]) ([hassio docs])
- Add support for Somfy Garage door Rollixo IO DiscreteGarageOpenerIOComponent in Tahoma component ([@yjajkiew] - [#28291]) ([tahoma docs])
- Type hint improvements ([@scop] - [#28260])
- Add more iaqualink entity properties, fix timeout issues ([@flz] - [#28236]) ([iaqualink docs])
- Add keyboard_remote trigger on multiple event types and emulate key hold events ([@bendavid] - [#27761]) ([keyboard_remote docs])
- Remove blocking I/O from the event loop ([@syssi] - [#28305]) ([xiaomi_miio docs])
- Use dict[key] for required config keys ([@syssi] - [#28304]) ([xiaomi_miio docs])
- Bump black to 19.10b0 ([@frenck] - [#28310]) ([androidtv docs]) ([envirophat docs]) ([hangouts docs]) ([here_travel_time docs])
- Add source constants for all config entry discovery sources ([@frenck] - [#28311])
- Almond integration ([@balloob] - [#28282]) ([almond docs]) (new-integration)
- Bump pre-commit to 1.20.0 ([@frenck] - [#28313])
- Bump youtube_dl to 2019.10.29 ([@frenck] - [#28312]) ([media_extractor docs])
- Add description for arlo.update service ([@PixelJonas] - [#28270])
- Bump pytest to 5.2.2 ([@cgtobi] - [#28230])
- Add services description for sabnzbd component ([@karouf] - [#28252])
- Clean up Xiaomi Air Quality Monitor support (cgllc.airmonitor.b1) ([@syssi] - [#28301]) ([xiaomi_miio docs])
- allow multiple heaters per incomfort gateway ([@zxdavb] - [#28324]) ([incomfort docs])
- Add OAuth2 config flow scaffold ([@balloob] - [#28220])
- Add services.yaml to local_file component. ([@ZiroNL] - [#28330])
- Add device triggers to cover ([@emontnemery] - [#28063]) ([automation docs]) ([cover docs])
- Flux log with debug instead of info ([@Santobert] - [#28352]) ([flux docs])
- Add modelnumber for ecobee4 ([@marthoc] - [#28278]) ([ecobee docs])
- Fill services.yaml for duckdns ([@gngj] - [#28248])
- Implement Alexa.SeekController Interface for media_player in Alexa ([@ochlocracy] - [#28299]) ([alexa docs])
- Don't set entity_id in ZHA entities ([@Adminiuga] - [#28362]) ([zha docs])
- Update withings-api to avoid data parsing bugs. ([@vangorra] - [#28382]) ([withings docs])
- Add services.yaml to onvif component ([@ZiroNL] - [#28349])
- Fix Telegram Bot ([@Anonym-tsk] - [#28369])
- Fill services.yaml for squeezebox ([@gngj] - [#28247])
- Add file list to attributes of folder sensor ([@thoscut] - [#28338]) ([folder docs])
- Show all UPNP/IGD sensors in one device ([@escoand] - [#27517]) ([upnp docs]) (breaking change)
- fix feedreader handling unrecognized published date ([@exxamalte] - [#28225]) ([feedreader docs])
- Introduce SUPPORT_COLOR_TEMP for flux_led component ([@yeralin] - [#26692]) ([flux_led docs])
- Upgrade thingspeak to 1.0.0 ([@fabaff] - [#28424]) ([thingspeak docs])
- Upgrade attrs to 19.3.0 ([@fabaff] - [#28421])
- Add a Services YAML for the Dominos integration (#27289) ([@Schoonology] - [#28339])
- Upgrade pysnmp to 4.4.12 ([@fabaff] - [#28428]) ([snmp docs])
- Bump pyEight library to 0.1.2 to update API URL ([@mezz64] - [#28413]) ([eight_sleep docs])
- Use defined device class constants for Homematic ([@SukramJ] - [#28438]) ([homematic docs])
- Add improved scene support to the alarm_control_panel integration ([@Santobert] - [#28269]) ([alarm_control_panel docs])
- Add improved scene support to the water_heater integration ([@Santobert] - [#28277]) ([demo docs]) ([water_heater docs])
- deCONZ - Add Xiaomi Aqara Cube device trigger support ([@Kane610] - [#27548]) ([deconz docs])
- deCONZ - Support creating battery sensor when reported ([@Kane610] - [#27538]) ([deconz docs])
- deCONZ - Improve discovery logging ([@Kane610] - [#28452]) ([deconz docs])
- Add scene.create service ([@Santobert] - [#28300]) ([homeassistant docs])
- Update MQTT sensor test ([@fabaff] - [#28449])
- Change ps4 state off to state standby ([@ktnrg45] - [#28261]) ([ps4 docs]) (breaking change)
- Fix inability to transition between specific presets in Venstar component ([@nkaminski] - [#28238]) ([venstar docs])
- pre-commit: ship default and full configs ([@scop] - [#28463])
- SSDP matching improvements ([@scop] - [#28285]) ([ssdp docs]) (breaking change)
- Bump env_canada to 0.0.30 ([@michaeldavie] - [#28487]) ([environment_canada docs])
- Fixing #27722 Watson TTS platform (sdk upgrade) ([@rutkai] - [#28468]) ([watson_tts docs])
- Use integration name in docstring ([@fabaff] - [#28445])
- Handle Huawei LTE timeouts ([@scop] - [#28465]) ([huawei_lte docs])
- Fix flaky Samsung TV tests ([@escoand] - [#28503])
- Always provide brightness value ([@elupus] - [#28228]) ([google_assistant docs])
- Fix flaky YesssSMS tests on debug messages ([@escoand] - [#28506])
- Import CancelledError from asyncio, not .futures ([@scop] - [#28511]) ([bluesound docs])
- Don't use deprecated encoding to json.loads ([@scop] - [#28509])
- Update Vivotek component stream source ([@HarlemSquirrel] - [#27941]) ([vivotek docs])
- Don't fail tox pylint if PYLINT_ARGS is not set ([@scop] - [#28403])
- Upgrade pillow to 6.2.1 ([@fabaff] - [#28442]) ([image_processing docs]) ([proxy docs]) ([qrcode docs])
- Add dump config service to HomematicIP Cloud ([@SukramJ] - [#28231]) ([homematicip_cloud docs])
- Upgrade TwitterAPI to 2.5.10 ([@fabaff] - [#28401]) ([twitter docs])
- Replace Netatmo CO2 sensor icon ([@tlrobinson] - [#28520]) ([netatmo docs])
- Imports twitch ([@fabaff] - [#28517]) ([twitch docs])
- Upgrade paho-mqtt to 1.5.0 ([@fabaff] - [#28423]) ([mqtt docs]) ([shiftr docs])
- Upgrade jinja2 to >=2.10.3 ([@fabaff] - [#28422])
- iaqualink: better handling of failures ([@flz] - [#28514]) ([iaqualink docs])
- Add services description for ness alarm ([@tefinger] - [#28250])
- Add information to IFTTT services.yaml ([@PixelJonas] - [#28385])
- Expose set auto mode for all Dyson fans ([@soraxas] - [#28488]) ([dyson docs])
- Add compatibility for other STBY Codes ([@soundstorm] - [#28478]) ([pioneer docs])
- Remove legacy reproduce state ([@balloob] - [#28458])
- Align attribute naming between light and switch for HomematicIP Cloud ([@SukramJ] - [#28271]) ([homematicip_cloud docs]) (breaking change)
- Enable transition time for HmIP-BSL - HomematicIP Cloud ([@SukramJ] - [#28201]) ([homematicip_cloud docs])
- Speech to Text component ([@pvizeli] - [#28434]) ([demo docs]) ([stt docs]) (new-integration)
- Add switches (on/off zones) to geniushub ([@castaway] - [#28182]) ([geniushub docs]) (new-platform)
- Cleanup Device Registry on Z-Wave Node Removal ([@cgarwood] - [#28240]) ([zwave docs])
- Support Huawei LTE SSDP discovery ([@scop] - [#28214]) ([huawei_lte docs])
- Fire an event when nzbget download completes ([@chriscla] - [#27763]) ([nzbget docs])
- Add heating_type for ViCare integration ([@crazyfx1] - [#27296]) ([vicare docs])
- Bump version for asuswrt to 1.1.22 ([@kennedyshead] - [#28322]) ([asuswrt docs])
- Add config endpoint for scene ([@bramkragten] - [#28429]) ([config docs]) ([homeassistant docs]) (new-platform)
- Update ephember library version ([@ttroy50] - [#28507]) ([ephember docs])
- Checking state before actually sending a new state change. Some projectors return ERR if you try to turn off a projector that's already off. ([@mflage] - [#28529]) ([pjlink docs])
- rate is a separate word ([@balloob] - [#28535]) ([demo docs]) ([stt docs])
- Update Plugwise ([@bouwew] - [#28237]) ([plugwise docs]) (breaking change)
- Improve scene.create service ([@Santobert] - [#28533]) ([homeassistant docs])
- Reduce test requirements duplication, sync flake8 and related ([@scop] - [#28538])
- Avoid drawing image_processing font text inside the bow line ([@snowzach] - [#27796]) ([image_processing docs])
- Add override switch for juicenet ([@jesserockz] - [#28049]) ([juicenet docs]) (new-platform)
- Move imports in samsungtv component ([@Quentame] - [#27775]) ([samsungtv docs])
- Try fix tests ([@pvizeli] - [#28470])
- Add additional support over NC ([@pvizeli] - [#28527]) ([cloud docs]) ([stt docs]) (new-platform)
- Bump pytile and re-order imports ([@bachya] - [#28570]) ([tile docs])
- Update nextbus stop tag to accept strings ([@Grodesh] - [#27765]) ([nextbus docs])
- Bump adb-shell to 0.0.8 ([@JeffLIrion] - [#28582])
- Fix Doods error when detection labels are specified in list form ([@snowzach] - [#28574]) ([doods docs])
- Upgrade youtube_dl to 2019.11.05 ([@BKPepe] - [#28578]) ([media_extractor docs])
- Reset states when connection to MPC-HC is lost ([@temeteke] - [#27541]) ([mpchc docs])
- Add mqtt temp_low/high_template in SCHEMA_BASE ([@kevinkk525] - [#28257]) ([mqtt docs])
- Add Netatmo camera services ([@ssenart] - [#27970]) ([netatmo docs])
- Fix token sent to Almond Web ([@balloob] - [#28584]) ([almond docs])
- Update to latest Somfy changes ([@balloob] - [#28207]) ([somfy docs])
- Always run flake8 through pre-commit, and with doctests ([@scop] - [#28490])
- Handle exceptions from PyViCare library ([@oischinger] - [#28536]) ([vicare docs])
- Add WLED integration ([@frenck] - [#28542]) ([wled docs]) (new-integration)
- update to latest integration library version ([@exxamalte] - [#28597]) ([geonetnz_quakes docs])
- Upgrade greeneye_monitor to 1.0.1 ([@jkeljo] - [#28600]) ([greeneye_monitor docs])
- Add device actions to vacuum ([@balloob] - [#28554]) ([device_automation docs]) ([vacuum docs])
- Add device action to fan ([@balloob] - [#28550]) ([device_automation docs]) ([fan docs])
- Add lock device triggers ([@balloob] - [#28547]) ([device_automation docs]) ([lock docs])
- Add fan device trigger ([@balloob] - [#28545]) ([device_automation docs]) ([fan docs])
- Fix simple typo: unhasable -> unhashable ([@timgates42] - [#28605])
- Add device triggers to vacuum ([@balloob] - [#28548]) ([automation docs]) ([device_automation docs]) ([vacuum docs])
- Fix demo TTS ([@bramkragten] - [#28608]) ([demo docs])
- Add climate device actions ([@balloob] - [#28552]) ([climate docs]) ([device_automation docs])
- Add azure servicebus notify service ([@hfurubotten] - [#27566]) ([azure_service_bus docs]) (new-integration)
- Add climate device triggers ([@balloob] - [#28544]) ([automation docs]) ([climate docs]) ([device_automation docs]) ([homekit docs])
- Add fan device condition ([@balloob] - [#28549]) ([device_automation docs]) ([fan docs])
- Add vacuum device conditions ([@balloob] - [#28551]) ([device_automation docs]) ([vacuum docs])
- Add cool mode to HomematicIP climate ([@SukramJ] - [#28525]) ([homematicip_cloud docs])
- Add device conditions to climate ([@balloob] - [#28553]) ([device_automation docs])
- Add support for conversation ID ([@balloob] - [#28620]) ([almond docs]) ([conversation docs])
- Match ALARM in NUT UPS status message ([@bwarden] - [#28591]) ([nut docs])
- Use friendly app names for Fire TV sources ([@JeffLIrion] - [#28417]) ([androidtv docs]) (breaking change)
- Add Huawei LTE device registry support ([@scop] - [#28594]) ([huawei_lte docs])
- Fix generic_thermostat too_hot/too_cold ([@akasma74] - [#27860]) ([generic_thermostat docs])
- Add switch platform to WLED integration ([@frenck] - [#28606]) ([wled docs]) (new-platform)
- Add TT WS API ([@balloob] - [#28599]) ([cloud docs]) ([websocket_api docs])
- Add turn_on/off to tfiac ([@fredrike] - [#27712]) ([tfiac docs])
- Fix issue with multiple Netatmo home coach devices ([@cgtobi] - [#28407]) ([netatmo docs])
- Add attribution and onboarding commands to conversation and Almond ([@bramkragten] - [#28621]) ([almond docs]) ([conversation docs])
- Updated frontend to 20191108.0 ([@bramkragten] - [#28638]) ([frontend docs])
- Bump ZHA quirks version ([@dmulcahey] - [#28636]) ([zha docs])
- Move imports in xiaomi_miio ([@Misiu] - [#27773]) ([xiaomi_miio docs])
- Added support for multiple SAJ solar inverters ([@fredericvl] - [#28612]) ([saj docs])
- Add support for Heat Mode detection for ecobee Heat Pumps ([@arigit] - [#28273]) ([ecobee docs])
- Fix unhandled exception when Swisscom Internet Box is not responsive ([@LeoCal] - [#28618]) ([swisscom docs])
- Add pcal9535a integration ([@Shulyaka] - [#26563]) ([pcal9535a docs]) (new-integration)
- Add bluesound speaker group attribute ([@bluestripe] - [#28142]) ([bluesound docs])
- Fix xiaomi vacuum tests ([@MartinHjelmare] - [#28658])
- Add sensor platform to WLED integration ([@frenck] - [#28632]) ([wled docs]) (new-platform)
- Upgrade bimmer_connected to 0.6.2 ([@gerard33] - [#28651]) ([bmw_connected_drive docs])
- verisure autolock service ([@persandstrom] - [#27366]) ([verisure docs])
- Skip updating idle Plex clients ([@jjlawren] - [#28664]) ([plex docs])
- Hue: store current sensor entities by bridge ([@bramkragten] - [#28679]) ([hue docs])
- #28645: Bump up zm-py to 0.4.0 ([@rohankapoorcom] - [#28681]) ([zoneminder docs])
- Add codeowner for lutron integration ([@JonGilmore] - [#28682]) ([lutron docs])
- Add xiaomi_miio chuangmi.plug.hmi206 ([@rytilahti] - [#28688]) ([xiaomi_miio docs])
- Add Lutron hybrid keypad raise/lower buttons ([@kevineriklee] - [#28674]) ([lutron docs])
- Allow icons to be masked ([@bramkragten] - [#28692]) ([frontend docs])
- fix typo in comments ([@basnijholt] - [#28694])
- Add config flow tests for OwnTracks ([@Quentame] - [#28644]) ([owntracks docs])
- Update Homekit climate.py to remap current mode ([@GaryOkie] - [#28625]) ([homekit_controller docs]) (breaking change)
- Bump up ZHA dependencies. ([@Adminiuga] - [#28711]) ([zha docs])
- Ensure SimpliSafe alarm control panels can return from being offline ([@bachya] - [#28710]) ([simplisafe docs])
- Bump plexapi to 3.3.0 ([@jjlawren] - [#28709]) ([plex docs])
- Update binary_sensor.py ([@effelle] - [#28707]) ([mqtt docs])
- Allow preset boost for Homematic IP Cloud power switches ([@SukramJ] - [#28713]) ([homematicip_cloud docs])
- Upgrade discogs_client to 2.2.2 ([@fabaff] - [#28723]) ([discogs docs])
- Fix Here Travel Time unable to find entity on startup ([@eifinger] - [#27237]) ([here_travel_time docs])
- Use library method for season number ([@jjlawren] - [#28708]) ([plex docs])
- Remove choice word when Almond has choices ([@balloob] - [#28725]) ([almond docs])
- ESPHome fix missing state in certain circumstances ([@OttoWinter] - [#28729]) ([esphome docs])
- Set up Almond Web to connect to HA ([@balloob] - [#28603]) ([almond docs])
- version bump pypoint ([@fredrike] - [#28737]) ([point docs])
- Upgrade async_upnp_client==0.14.12 ([@StevenLooman] - [#28733]) ([dlna_dmr docs]) ([upnp docs])
- Add device classes to weather sensors. ([@davet2001] - [#28512]) ([yr docs])
- Upgrade psutil to 5.6.5 ([@fabaff] - [#28717]) ([systemmonitor docs])
- Travis and tox config improvements ([@scop] - [#28667])
- Correct openalpr_local config option name ([@HexF] - [#28746]) ([openalpr_local docs]) (breaking change)
- Bump ZHA quirks to 0.0.28 ([@dmulcahey] - [#28750]) ([zha docs]) (beta fix)
- Updated frontend to 20191114.0 ([@bramkragten] - [#28768]) ([frontend docs]) (beta fix)
- Fix account link version check ([@balloob] - [#28770]) ([cloud docs]) (beta fix)
- Fix amazon dependency conflicts ([@bbrendon] - [#28217]) ([amazon_polly docs]) ([aws docs]) (beta fix)
- Change unique id for SAJ sensor based on device SN ([@fredericvl] - [#28663]) ([saj docs]) (breaking change) (beta fix)
- Fix changing venstar operation_mode ([@iamtpage] - [#28754]) ([venstar docs]) (beta fix)
- Fix Repetier integration entity indexing ([@MTrab] - [#28766]) ([repetier docs]) (beta fix)
- Fix HomematicIP Cloud Alarm Control Panel support for basic mode ([@SukramJ] - [#28778]) ([homematicip_cloud docs]) (beta fix)
- Fix Swisscom empty response received ([@LeoCal] - [#28782]) ([swisscom docs]) (beta fix)
- Fix broken postnl sensor ([@peternijssen] - [#28794]) ([postnl docs]) (beta fix)
- Updated frontend to 20191115.0 ([@bramkragten] - [#28797]) ([frontend docs]) (beta fix)
- Fix Comfoconnect errors during startup ([@michaelarnauts] - [#28802]) ([comfoconnect docs]) (beta fix)
- Fix miio air quality sensor ([@valkjsaaa] - [#28828]) ([xiaomi_miio docs]) (beta fix)
- Update pyatmo to 3.0.1 ([@cgtobi] - [#28829]) ([netatmo docs]) (beta fix)
- Updated frontend to 20191118.0 ([@bramkragten] - [#28852]) ([frontend docs]) (beta fix)
- Fix documentation URL in failed platform config check ([@frenck] - [#28814]) (beta fix)
- Fix Synology camera whitelist ([@h4de5] - [#28822]) ([synology docs]) (beta fix)
- Fix setting colors while reproducing a lights state ([@Santobert] - [#28871]) ([light docs]) (beta fix)
- Updated frontend to 20191119.0 ([@bramkragten] - [#28875]) ([frontend docs]) (beta fix)
- Updated frontend to 20191119.1 ([@bramkragten] - [#28881]) ([frontend docs]) (beta fix)
- Updated frontend to 20191119.2 ([@bramkragten] - [#28896]) ([frontend docs]) (beta fix)
- Fix Almond onboarding url when using cloud ([@bramkragten] - [#28908]) ([almond docs]) (beta fix)
[#26563]: https://github.com/home-assistant/home-assistant/pull/26563
[#26656]: https://github.com/home-assistant/home-assistant/pull/26656
[#26675]: https://github.com/home-assistant/home-assistant/pull/26675
[#26692]: https://github.com/home-assistant/home-assistant/pull/26692
[#27111]: https://github.com/home-assistant/home-assistant/pull/27111
[#27237]: https://github.com/home-assistant/home-assistant/pull/27237
[#27296]: https://github.com/home-assistant/home-assistant/pull/27296
[#27306]: https://github.com/home-assistant/home-assistant/pull/27306
[#27307]: https://github.com/home-assistant/home-assistant/pull/27307
[#27324]: https://github.com/home-assistant/home-assistant/pull/27324
[#27366]: https://github.com/home-assistant/home-assistant/pull/27366
[#27475]: https://github.com/home-assistant/home-assistant/pull/27475
[#27492]: https://github.com/home-assistant/home-assistant/pull/27492
[#27517]: https://github.com/home-assistant/home-assistant/pull/27517
[#27538]: https://github.com/home-assistant/home-assistant/pull/27538
[#27541]: https://github.com/home-assistant/home-assistant/pull/27541
[#27548]: https://github.com/home-assistant/home-assistant/pull/27548
[#27566]: https://github.com/home-assistant/home-assistant/pull/27566
[#27712]: https://github.com/home-assistant/home-assistant/pull/27712
[#27735]: https://github.com/home-assistant/home-assistant/pull/27735
[#27761]: https://github.com/home-assistant/home-assistant/pull/27761
[#27763]: https://github.com/home-assistant/home-assistant/pull/27763
[#27765]: https://github.com/home-assistant/home-assistant/pull/27765
[#27773]: https://github.com/home-assistant/home-assistant/pull/27773
[#27775]: https://github.com/home-assistant/home-assistant/pull/27775
[#27796]: https://github.com/home-assistant/home-assistant/pull/27796
[#27817]: https://github.com/home-assistant/home-assistant/pull/27817
[#27830]: https://github.com/home-assistant/home-assistant/pull/27830
[#27860]: https://github.com/home-assistant/home-assistant/pull/27860
[#27941]: https://github.com/home-assistant/home-assistant/pull/27941
[#27949]: https://github.com/home-assistant/home-assistant/pull/27949
[#27970]: https://github.com/home-assistant/home-assistant/pull/27970
[#28049]: https://github.com/home-assistant/home-assistant/pull/28049
[#28063]: https://github.com/home-assistant/home-assistant/pull/28063
[#28142]: https://github.com/home-assistant/home-assistant/pull/28142
[#28161]: https://github.com/home-assistant/home-assistant/pull/28161
[#28163]: https://github.com/home-assistant/home-assistant/pull/28163
[#28168]: https://github.com/home-assistant/home-assistant/pull/28168
[#28171]: https://github.com/home-assistant/home-assistant/pull/28171
[#28175]: https://github.com/home-assistant/home-assistant/pull/28175
[#28176]: https://github.com/home-assistant/home-assistant/pull/28176
[#28178]: https://github.com/home-assistant/home-assistant/pull/28178
[#28179]: https://github.com/home-assistant/home-assistant/pull/28179
[#28180]: https://github.com/home-assistant/home-assistant/pull/28180
[#28181]: https://github.com/home-assistant/home-assistant/pull/28181
[#28182]: https://github.com/home-assistant/home-assistant/pull/28182
[#28186]: https://github.com/home-assistant/home-assistant/pull/28186
[#28187]: https://github.com/home-assistant/home-assistant/pull/28187
[#28188]: https://github.com/home-assistant/home-assistant/pull/28188
[#28189]: https://github.com/home-assistant/home-assistant/pull/28189
[#28190]: https://github.com/home-assistant/home-assistant/pull/28190
[#28191]: https://github.com/home-assistant/home-assistant/pull/28191
[#28196]: https://github.com/home-assistant/home-assistant/pull/28196
[#28201]: https://github.com/home-assistant/home-assistant/pull/28201
[#28203]: https://github.com/home-assistant/home-assistant/pull/28203
[#28204]: https://github.com/home-assistant/home-assistant/pull/28204
[#28207]: https://github.com/home-assistant/home-assistant/pull/28207
[#28210]: https://github.com/home-assistant/home-assistant/pull/28210
[#28212]: https://github.com/home-assistant/home-assistant/pull/28212
[#28214]: https://github.com/home-assistant/home-assistant/pull/28214
[#28215]: https://github.com/home-assistant/home-assistant/pull/28215
[#28216]: https://github.com/home-assistant/home-assistant/pull/28216
[#28217]: https://github.com/home-assistant/home-assistant/pull/28217
[#28220]: https://github.com/home-assistant/home-assistant/pull/28220
[#28225]: https://github.com/home-assistant/home-assistant/pull/28225
[#28228]: https://github.com/home-assistant/home-assistant/pull/28228
[#28230]: https://github.com/home-assistant/home-assistant/pull/28230
[#28231]: https://github.com/home-assistant/home-assistant/pull/28231
[#28234]: https://github.com/home-assistant/home-assistant/pull/28234
[#28236]: https://github.com/home-assistant/home-assistant/pull/28236
[#28237]: https://github.com/home-assistant/home-assistant/pull/28237
[#28238]: https://github.com/home-assistant/home-assistant/pull/28238
[#28240]: https://github.com/home-assistant/home-assistant/pull/28240
[#28247]: https://github.com/home-assistant/home-assistant/pull/28247
[#28248]: https://github.com/home-assistant/home-assistant/pull/28248
[#28250]: https://github.com/home-assistant/home-assistant/pull/28250
[#28252]: https://github.com/home-assistant/home-assistant/pull/28252
[#28257]: https://github.com/home-assistant/home-assistant/pull/28257
[#28258]: https://github.com/home-assistant/home-assistant/pull/28258
[#28260]: https://github.com/home-assistant/home-assistant/pull/28260
[#28261]: https://github.com/home-assistant/home-assistant/pull/28261
[#28262]: https://github.com/home-assistant/home-assistant/pull/28262
[#28269]: https://github.com/home-assistant/home-assistant/pull/28269
[#28270]: https://github.com/home-assistant/home-assistant/pull/28270
[#28271]: https://github.com/home-assistant/home-assistant/pull/28271
[#28273]: https://github.com/home-assistant/home-assistant/pull/28273
[#28277]: https://github.com/home-assistant/home-assistant/pull/28277
[#28278]: https://github.com/home-assistant/home-assistant/pull/28278
[#28282]: https://github.com/home-assistant/home-assistant/pull/28282
[#28285]: https://github.com/home-assistant/home-assistant/pull/28285
[#28286]: https://github.com/home-assistant/home-assistant/pull/28286
[#28287]: https://github.com/home-assistant/home-assistant/pull/28287
[#28288]: https://github.com/home-assistant/home-assistant/pull/28288
[#28291]: https://github.com/home-assistant/home-assistant/pull/28291
[#28293]: https://github.com/home-assistant/home-assistant/pull/28293
[#28299]: https://github.com/home-assistant/home-assistant/pull/28299
[#28300]: https://github.com/home-assistant/home-assistant/pull/28300
[#28301]: https://github.com/home-assistant/home-assistant/pull/28301
[#28304]: https://github.com/home-assistant/home-assistant/pull/28304
[#28305]: https://github.com/home-assistant/home-assistant/pull/28305
[#28310]: https://github.com/home-assistant/home-assistant/pull/28310
[#28311]: https://github.com/home-assistant/home-assistant/pull/28311
[#28312]: https://github.com/home-assistant/home-assistant/pull/28312
[#28313]: https://github.com/home-assistant/home-assistant/pull/28313
[#28322]: https://github.com/home-assistant/home-assistant/pull/28322
[#28324]: https://github.com/home-assistant/home-assistant/pull/28324
[#28330]: https://github.com/home-assistant/home-assistant/pull/28330
[#28338]: https://github.com/home-assistant/home-assistant/pull/28338
[#28339]: https://github.com/home-assistant/home-assistant/pull/28339
[#28349]: https://github.com/home-assistant/home-assistant/pull/28349
[#28352]: https://github.com/home-assistant/home-assistant/pull/28352
[#28362]: https://github.com/home-assistant/home-assistant/pull/28362
[#28369]: https://github.com/home-assistant/home-assistant/pull/28369
[#28382]: https://github.com/home-assistant/home-assistant/pull/28382
[#28385]: https://github.com/home-assistant/home-assistant/pull/28385
[#28401]: https://github.com/home-assistant/home-assistant/pull/28401
[#28403]: https://github.com/home-assistant/home-assistant/pull/28403
[#28407]: https://github.com/home-assistant/home-assistant/pull/28407
[#28413]: https://github.com/home-assistant/home-assistant/pull/28413
[#28417]: https://github.com/home-assistant/home-assistant/pull/28417
[#28421]: https://github.com/home-assistant/home-assistant/pull/28421
[#28422]: https://github.com/home-assistant/home-assistant/pull/28422
[#28423]: https://github.com/home-assistant/home-assistant/pull/28423
[#28424]: https://github.com/home-assistant/home-assistant/pull/28424
[#28428]: https://github.com/home-assistant/home-assistant/pull/28428
[#28429]: https://github.com/home-assistant/home-assistant/pull/28429
[#28434]: https://github.com/home-assistant/home-assistant/pull/28434
[#28438]: https://github.com/home-assistant/home-assistant/pull/28438
[#28442]: https://github.com/home-assistant/home-assistant/pull/28442
[#28445]: https://github.com/home-assistant/home-assistant/pull/28445
[#28449]: https://github.com/home-assistant/home-assistant/pull/28449
[#28452]: https://github.com/home-assistant/home-assistant/pull/28452
[#28458]: https://github.com/home-assistant/home-assistant/pull/28458
[#28463]: https://github.com/home-assistant/home-assistant/pull/28463
[#28465]: https://github.com/home-assistant/home-assistant/pull/28465
[#28468]: https://github.com/home-assistant/home-assistant/pull/28468
[#28470]: https://github.com/home-assistant/home-assistant/pull/28470
[#28478]: https://github.com/home-assistant/home-assistant/pull/28478
[#28487]: https://github.com/home-assistant/home-assistant/pull/28487
[#28488]: https://github.com/home-assistant/home-assistant/pull/28488
[#28490]: https://github.com/home-assistant/home-assistant/pull/28490
[#28503]: https://github.com/home-assistant/home-assistant/pull/28503
[#28506]: https://github.com/home-assistant/home-assistant/pull/28506
[#28507]: https://github.com/home-assistant/home-assistant/pull/28507
[#28509]: https://github.com/home-assistant/home-assistant/pull/28509
[#28511]: https://github.com/home-assistant/home-assistant/pull/28511
[#28512]: https://github.com/home-assistant/home-assistant/pull/28512
[#28514]: https://github.com/home-assistant/home-assistant/pull/28514
[#28517]: https://github.com/home-assistant/home-assistant/pull/28517
[#28520]: https://github.com/home-assistant/home-assistant/pull/28520
[#28525]: https://github.com/home-assistant/home-assistant/pull/28525
[#28527]: https://github.com/home-assistant/home-assistant/pull/28527
[#28529]: https://github.com/home-assistant/home-assistant/pull/28529
[#28533]: https://github.com/home-assistant/home-assistant/pull/28533
[#28535]: https://github.com/home-assistant/home-assistant/pull/28535
[#28536]: https://github.com/home-assistant/home-assistant/pull/28536
[#28538]: https://github.com/home-assistant/home-assistant/pull/28538
[#28542]: https://github.com/home-assistant/home-assistant/pull/28542
[#28544]: https://github.com/home-assistant/home-assistant/pull/28544
[#28545]: https://github.com/home-assistant/home-assistant/pull/28545
[#28547]: https://github.com/home-assistant/home-assistant/pull/28547
[#28548]: https://github.com/home-assistant/home-assistant/pull/28548
[#28549]: https://github.com/home-assistant/home-assistant/pull/28549
[#28550]: https://github.com/home-assistant/home-assistant/pull/28550
[#28551]: https://github.com/home-assistant/home-assistant/pull/28551
[#28552]: https://github.com/home-assistant/home-assistant/pull/28552
[#28553]: https://github.com/home-assistant/home-assistant/pull/28553
[#28554]: https://github.com/home-assistant/home-assistant/pull/28554
[#28570]: https://github.com/home-assistant/home-assistant/pull/28570
[#28574]: https://github.com/home-assistant/home-assistant/pull/28574
[#28578]: https://github.com/home-assistant/home-assistant/pull/28578
[#28582]: https://github.com/home-assistant/home-assistant/pull/28582
[#28584]: https://github.com/home-assistant/home-assistant/pull/28584
[#28591]: https://github.com/home-assistant/home-assistant/pull/28591
[#28594]: https://github.com/home-assistant/home-assistant/pull/28594
[#28597]: https://github.com/home-assistant/home-assistant/pull/28597
[#28599]: https://github.com/home-assistant/home-assistant/pull/28599
[#28600]: https://github.com/home-assistant/home-assistant/pull/28600
[#28603]: https://github.com/home-assistant/home-assistant/pull/28603
[#28605]: https://github.com/home-assistant/home-assistant/pull/28605
[#28606]: https://github.com/home-assistant/home-assistant/pull/28606
[#28608]: https://github.com/home-assistant/home-assistant/pull/28608
[#28612]: https://github.com/home-assistant/home-assistant/pull/28612
[#28618]: https://github.com/home-assistant/home-assistant/pull/28618
[#28620]: https://github.com/home-assistant/home-assistant/pull/28620
[#28621]: https://github.com/home-assistant/home-assistant/pull/28621
[#28625]: https://github.com/home-assistant/home-assistant/pull/28625
[#28632]: https://github.com/home-assistant/home-assistant/pull/28632
[#28636]: https://github.com/home-assistant/home-assistant/pull/28636
[#28638]: https://github.com/home-assistant/home-assistant/pull/28638
[#28644]: https://github.com/home-assistant/home-assistant/pull/28644
[#28651]: https://github.com/home-assistant/home-assistant/pull/28651
[#28658]: https://github.com/home-assistant/home-assistant/pull/28658
[#28663]: https://github.com/home-assistant/home-assistant/pull/28663
[#28664]: https://github.com/home-assistant/home-assistant/pull/28664
[#28667]: https://github.com/home-assistant/home-assistant/pull/28667
[#28674]: https://github.com/home-assistant/home-assistant/pull/28674
[#28679]: https://github.com/home-assistant/home-assistant/pull/28679
[#28681]: https://github.com/home-assistant/home-assistant/pull/28681
[#28682]: https://github.com/home-assistant/home-assistant/pull/28682
[#28688]: https://github.com/home-assistant/home-assistant/pull/28688
[#28692]: https://github.com/home-assistant/home-assistant/pull/28692
[#28694]: https://github.com/home-assistant/home-assistant/pull/28694
[#28707]: https://github.com/home-assistant/home-assistant/pull/28707
[#28708]: https://github.com/home-assistant/home-assistant/pull/28708
[#28709]: https://github.com/home-assistant/home-assistant/pull/28709
[#28710]: https://github.com/home-assistant/home-assistant/pull/28710
[#28711]: https://github.com/home-assistant/home-assistant/pull/28711
[#28713]: https://github.com/home-assistant/home-assistant/pull/28713
[#28717]: https://github.com/home-assistant/home-assistant/pull/28717
[#28723]: https://github.com/home-assistant/home-assistant/pull/28723
[#28725]: https://github.com/home-assistant/home-assistant/pull/28725
[#28729]: https://github.com/home-assistant/home-assistant/pull/28729
[#28733]: https://github.com/home-assistant/home-assistant/pull/28733
[#28737]: https://github.com/home-assistant/home-assistant/pull/28737
[#28746]: https://github.com/home-assistant/home-assistant/pull/28746
[#28750]: https://github.com/home-assistant/home-assistant/pull/28750
[#28754]: https://github.com/home-assistant/home-assistant/pull/28754
[#28766]: https://github.com/home-assistant/home-assistant/pull/28766
[#28768]: https://github.com/home-assistant/home-assistant/pull/28768
[#28770]: https://github.com/home-assistant/home-assistant/pull/28770
[#28778]: https://github.com/home-assistant/home-assistant/pull/28778
[#28782]: https://github.com/home-assistant/home-assistant/pull/28782
[#28794]: https://github.com/home-assistant/home-assistant/pull/28794
[#28797]: https://github.com/home-assistant/home-assistant/pull/28797
[#28802]: https://github.com/home-assistant/home-assistant/pull/28802
[#28814]: https://github.com/home-assistant/home-assistant/pull/28814
[#28822]: https://github.com/home-assistant/home-assistant/pull/28822
[#28828]: https://github.com/home-assistant/home-assistant/pull/28828
[#28829]: https://github.com/home-assistant/home-assistant/pull/28829
[#28852]: https://github.com/home-assistant/home-assistant/pull/28852
[#28871]: https://github.com/home-assistant/home-assistant/pull/28871
[#28875]: https://github.com/home-assistant/home-assistant/pull/28875
[#28881]: https://github.com/home-assistant/home-assistant/pull/28881
[#28896]: https://github.com/home-assistant/home-assistant/pull/28896
[#28908]: https://github.com/home-assistant/home-assistant/pull/28908
[@adminiuga]: https://github.com/Adminiuga
[@anonym-tsk]: https://github.com/Anonym-tsk
[@bkpepe]: https://github.com/BKPepe
[@garyokie]: https://github.com/GaryOkie
[@grodesh]: https://github.com/Grodesh
[@harlemsquirrel]: https://github.com/HarlemSquirrel
[@hexf]: https://github.com/HexF
[@jphutchins]: https://github.com/JPHutchins
[@jefflirion]: https://github.com/JeffLIrion
[@jongilmore]: https://github.com/JonGilmore
[@kane610]: https://github.com/Kane610
[@leocal]: https://github.com/LeoCal
[@mtrab]: https://github.com/MTrab
[@martinhjelmare]: https://github.com/MartinHjelmare
[@misiu]: https://github.com/Misiu
[@onfreund]: https://github.com/OnFreund
[@ottowinter]: https://github.com/OttoWinter
[@pixeljonas]: https://github.com/PixelJonas
[@poeschl]: https://github.com/Poeschl
[@quentame]: https://github.com/Quentame
[@santobert]: https://github.com/Santobert
[@schoonology]: https://github.com/Schoonology
[@shulyaka]: https://github.com/Shulyaka
[@stevenlooman]: https://github.com/StevenLooman
[@sukramj]: https://github.com/SukramJ
[@zironl]: https://github.com/ZiroNL
[@akasma74]: https://github.com/akasma74
[@arigit]: https://github.com/arigit
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
[@basnijholt]: https://github.com/basnijholt
[@bbrendon]: https://github.com/bbrendon
[@bendavid]: https://github.com/bendavid
[@bluestripe]: https://github.com/bluestripe
[@bouwew]: https://github.com/bouwew
[@bramkragten]: https://github.com/bramkragten
[@bwarden]: https://github.com/bwarden
[@castaway]: https://github.com/castaway
[@cgarwood]: https://github.com/cgarwood
[@cgtobi]: https://github.com/cgtobi
[@chriscla]: https://github.com/chriscla
[@crazyfx1]: https://github.com/crazyfx1
[@davet2001]: https://github.com/davet2001
[@djpremier]: https://github.com/djpremier
[@dmulcahey]: https://github.com/dmulcahey
[@effelle]: https://github.com/effelle
[@eifinger]: https://github.com/eifinger
[@eliseomartelli]: https://github.com/eliseomartelli
[@elupus]: https://github.com/elupus
[@emontnemery]: https://github.com/emontnemery
[@escoand]: https://github.com/escoand
[@exxamalte]: https://github.com/exxamalte
[@fabaff]: https://github.com/fabaff
[@florisvdk]: https://github.com/florisvdk
[@flz]: https://github.com/flz
[@fredericvl]: https://github.com/fredericvl
[@fredrike]: https://github.com/fredrike
[@frenck]: https://github.com/frenck
[@fwestenberg]: https://github.com/fwestenberg
[@gerard33]: https://github.com/gerard33
[@gngj]: https://github.com/gngj
[@guillempages]: https://github.com/guillempages
[@h4de5]: https://github.com/h4de5
[@hfurubotten]: https://github.com/hfurubotten
[@iamtpage]: https://github.com/iamtpage
[@jesserockz]: https://github.com/jesserockz
[@jjlawren]: https://github.com/jjlawren
[@jkeljo]: https://github.com/jkeljo
[@karouf]: https://github.com/karouf
[@kennedyshead]: https://github.com/kennedyshead
[@kevineriklee]: https://github.com/kevineriklee
[@kevinkk525]: https://github.com/kevinkk525
[@ktnrg45]: https://github.com/ktnrg45
[@ludeeus]: https://github.com/ludeeus
[@marthoc]: https://github.com/marthoc
[@mezz64]: https://github.com/mezz64
[@mflage]: https://github.com/mflage
[@michaelarnauts]: https://github.com/michaelarnauts
[@michaeldavie]: https://github.com/michaeldavie
[@nkaminski]: https://github.com/nkaminski
[@ochlocracy]: https://github.com/ochlocracy
[@oischinger]: https://github.com/oischinger
[@pattyland]: https://github.com/pattyland
[@persandstrom]: https://github.com/persandstrom
[@peternijssen]: https://github.com/peternijssen
[@pvizeli]: https://github.com/pvizeli
[@rohankapoorcom]: https://github.com/rohankapoorcom
[@rutkai]: https://github.com/rutkai
[@rytilahti]: https://github.com/rytilahti
[@scop]: https://github.com/scop
[@shmooey]: https://github.com/shmooey
[@snowzach]: https://github.com/snowzach
[@soraxas]: https://github.com/soraxas
[@soundstorm]: https://github.com/soundstorm
[@ssenart]: https://github.com/ssenart
[@syssi]: https://github.com/syssi
[@tefinger]: https://github.com/tefinger
[@temeteke]: https://github.com/temeteke
[@thoscut]: https://github.com/thoscut
[@timgates42]: https://github.com/timgates42
[@tlrobinson]: https://github.com/tlrobinson
[@ttroy50]: https://github.com/ttroy50
[@valkjsaaa]: https://github.com/valkjsaaa
[@vangorra]: https://github.com/vangorra
[@yeralin]: https://github.com/yeralin
[@yjajkiew]: https://github.com/yjajkiew
[@zxdavb]: https://github.com/zxdavb
[alarm_control_panel docs]: /integrations/alarm_control_panel/
[alexa docs]: /integrations/alexa/
[almond docs]: /integrations/almond/
[amazon_polly docs]: /integrations/amazon_polly/
[androidtv docs]: /integrations/androidtv/
[asuswrt docs]: /integrations/asuswrt/
[automation docs]: /integrations/automation/
[avea docs]: /integrations/avea/
[aws docs]: /integrations/aws/
[azure_service_bus docs]: /integrations/azure_service_bus/
[bluesound docs]: /integrations/bluesound/
[bmw_connected_drive docs]: /integrations/bmw_connected_drive/
[climate docs]: /integrations/climate/
[cloud docs]: /integrations/cloud/
[comfoconnect docs]: /integrations/comfoconnect/
[config docs]: /integrations/config/
[conversation docs]: /integrations/conversation/
[coolmaster docs]: /integrations/coolmaster/
[cover docs]: /integrations/cover/
[deconz docs]: /integrations/deconz/
[demo docs]: /integrations/demo/
[device_automation docs]: /integrations/device_automation/
[device_tracker docs]: /integrations/device_tracker/
[discogs docs]: /integrations/discogs/
[dlna_dmr docs]: /integrations/dlna_dmr/
[doods docs]: /integrations/doods/
[dyson docs]: /integrations/dyson/
[ecobee docs]: /integrations/ecobee/
[eight_sleep docs]: /integrations/eight_sleep/
[environment_canada docs]: /integrations/environment_canada/
[envirophat docs]: /integrations/envirophat/
[ephember docs]: /integrations/ephember/
[eq3btsmart docs]: /integrations/eq3btsmart/
[esphome docs]: /integrations/esphome/
[fan docs]: /integrations/fan/
[feedreader docs]: /integrations/feedreader/
[flux docs]: /integrations/flux/
[flux_led docs]: /integrations/flux_led/
[folder docs]: /integrations/folder/
[frontend docs]: /integrations/frontend/
[generic_thermostat docs]: /integrations/generic_thermostat/
[geniushub docs]: /integrations/geniushub/
[geonetnz_quakes docs]: /integrations/geonetnz_quakes/
[google_assistant docs]: /integrations/google_assistant/
[greeneye_monitor docs]: /integrations/greeneye_monitor/
[gtt docs]: /integrations/gtt/
[hangouts docs]: /integrations/hangouts/
[hassio docs]: /integrations/hassio/
[here_travel_time docs]: /integrations/here_travel_time/
[homeassistant docs]: /integrations/homeassistant/
[homekit docs]: /integrations/homekit/
[homekit_controller docs]: /integrations/homekit_controller/
[homematic docs]: /integrations/homematic/
[homematicip_cloud docs]: /integrations/homematicip_cloud/
[huawei_lte docs]: /integrations/huawei_lte/
[hue docs]: /integrations/hue/
[iaqualink docs]: /integrations/iaqualink/
[image_processing docs]: /integrations/image_processing/
[imap docs]: /integrations/imap/
[incomfort docs]: /integrations/incomfort/
[iss docs]: /integrations/iss/
[juicenet docs]: /integrations/juicenet/
[keyboard_remote docs]: /integrations/keyboard_remote/
[light docs]: /integrations/light/
[lock docs]: /integrations/lock/
[lutron docs]: /integrations/lutron/
[media_extractor docs]: /integrations/media_extractor/
[media_player docs]: /integrations/media_player/
[mpchc docs]: /integrations/mpchc/
[mqtt docs]: /integrations/mqtt/
[netatmo docs]: /integrations/netatmo/
[nextbus docs]: /integrations/nextbus/
[nut docs]: /integrations/nut/
[nzbget docs]: /integrations/nzbget/
[onvif docs]: /integrations/onvif/
[openalpr_local docs]: /integrations/openalpr_local/
[owntracks docs]: /integrations/owntracks/
[pcal9535a docs]: /integrations/pcal9535a/
[pioneer docs]: /integrations/pioneer/
[pjlink docs]: /integrations/pjlink/
[plex docs]: /integrations/plex/
[plugwise docs]: /integrations/plugwise/
[point docs]: /integrations/point/
[postnl docs]: /integrations/postnl/
[proxy docs]: /integrations/proxy/
[ps4 docs]: /integrations/ps4/
[qrcode docs]: /integrations/qrcode/
[reddit docs]: /integrations/reddit/
[repetier docs]: /integrations/repetier/
[saj docs]: /integrations/saj/
[samsungtv docs]: /integrations/samsungtv/
[shiftr docs]: /integrations/shiftr/
[simplisafe docs]: /integrations/simplisafe/
[snmp docs]: /integrations/snmp/
[somfy docs]: /integrations/somfy/
[ssdp docs]: /integrations/ssdp/
[stt docs]: /integrations/stt/
[swisscom docs]: /integrations/swisscom/
[synology docs]: /integrations/synology/
[systemmonitor docs]: /integrations/systemmonitor/
[tahoma docs]: /integrations/tahoma/
[telegram_bot docs]: /integrations/telegram_bot/
[tfiac docs]: /integrations/tfiac/
[thingspeak docs]: /integrations/thingspeak/
[tile docs]: /integrations/tile/
[tradfri docs]: /integrations/tradfri/
[transmission docs]: /integrations/transmission/
[twitch docs]: /integrations/twitch/
[twitter docs]: /integrations/twitter/
[unifiled docs]: /integrations/unifiled/
[upnp docs]: /integrations/upnp/
[vacuum docs]: /integrations/vacuum/
[venstar docs]: /integrations/venstar/
[verisure docs]: /integrations/verisure/
[vicare docs]: /integrations/vicare/
[vivotek docs]: /integrations/vivotek/
[water_heater docs]: /integrations/water_heater/
[watson_tts docs]: /integrations/watson_tts/
[websocket_api docs]: /integrations/websocket_api/
[withings docs]: /integrations/withings/
[wled docs]: /integrations/wled/
[xiaomi_miio docs]: /integrations/xiaomi_miio/
[yr docs]: /integrations/yr/
[zha docs]: /integrations/zha/
[zoneminder docs]: /integrations/zoneminder/
[zwave docs]: /integrations/zwave/

View File

@ -736,7 +736,6 @@
/components/sensor.gpsd /integrations/gpsd
/components/sensor.greeneye_monitor /integrations/greeneye_monitor
/components/sensor.gtfs /integrations/gtfs
/components/sensor.gtt /integrations/gtt
/components/sensor.habitica /integrations/habitica
/components/sensor.haveibeenpwned /integrations/haveibeenpwned
/components/sensor.hddtemp /integrations/hddtemp
@ -1418,7 +1417,6 @@
/components/growatt_server /integrations/growatt_server
/components/gstreamer /integrations/gstreamer
/components/gtfs /integrations/gtfs
/components/gtt /integrations/gtt
/components/habitica /integrations/habitica
/components/hangouts /integrations/hangouts
/components/harman_kardon_avr /integrations/harman_kardon_avr

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 293 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
<path fill="#0072C6" d="M0.833,0C0.333,0,0,0.333,0,0.833v10c0,0.5,0.333,0.833,0.833,0.833h5c0.5,0,0.833-0.333,0.833-0.833V6.667
h36.667v4.167c0,0.5,0.333,0.833,1,0.833h4.833c0.5,0,0.833-0.333,0.833-0.833v-5v-5C50,0.333,49.667,0,49.167,0l0,0H0.833z"/>
<path fill="#0072C6" d="M49.167,50c0.5,0,0.833-0.333,0.833-0.833v-9.833c0-0.5-0.333-0.833-0.833-0.833h-4.833
c-0.5,0-0.833,0.333-0.833,0.833v4H6.667v-4.167c0-0.5-0.333-0.833-1-0.833H0.833c-0.5,0-0.833,0.333-0.833,1v9.833
C0,49.667,0.333,50,0.833,50H49.167z"/>
<path fill="#59B4D9" d="M29.857,26.098C28.56,27.395,26.835,28.11,25,28.11s-3.56-0.714-4.858-2.012l-9.309-9.309v18.923h28.333
V16.788L29.857,26.098z"/>
<path fill="#59B4D9" d="M25,26.728c1.466,0,2.844-0.571,3.88-1.607l10.286-10.286V14.29H10.833v0.546L21.119,25.12
C22.156,26.157,23.534,26.728,25,26.728z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB