Merge pull request #2823 from home-assistant/release-0-47

0.47
This commit is contained in:
Paulus Schoutsen 2017-06-17 12:09:24 -07:00 committed by GitHub
commit abfd390dc8
104 changed files with 1650 additions and 166 deletions

View File

@ -140,13 +140,13 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 46
current_patch_version: 1
date_released: 2017-06-09
current_minor_version: 47
current_patch_version: 0
date_released: 2017-06-17
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
# Major release:
patch_version_notes: "#release-0461---june-9"
patch_version_notes: "#"
# Minor release (Example #release-0431---april-25):

View File

@ -0,0 +1,20 @@
---
layout: page
title: "Vanderbilt SPC Alarm"
description: "Instructions how to setup the Vanderbilt SPC Alarm control panel within Home Assistant."
date: 2017-05-18 22:01
sidebar: true
comments: false
sharing: true
footer: true
logo: vanderbilt_spc.png
ha_category: Alarm
ha_release: 0.47
ha_iot_class: "Local Push"
---
The `spc` alarm control panel platform allows you to control your [Vanderbilt SPC](http://www.spc-intruder-detection.com/ssp-spc/) alarms.
The requirement is that you have setup your [SPC hub](/components/spc/).

View File

@ -0,0 +1,20 @@
---
layout: page
title: "SPC Binary Sensor"
description: "Instructions how to integrate Vanderbilt SPC binary sensors into Home Assistant."
date: 2017-05-18 22:05
sidebar: true
comments: false
sharing: true
footer: true
logo: vanderbilt_spc.png
ha_release: 0.47
ha_category: Binary Sensor
ha_iot_class: "Local Push"
---
The `spc` platform allows you to get data from your [Vanderbilt SPC](http://www.spc-intruder-detection.com/ssp-spc/) binary sensors from within Home Assistant.
Check the [type/class](/components/binary_sensor/) list for a possible visualization of your zone. Currently motion, smoke and door sensors are supported.
The requirement is that you have setup your [SPC hub](/components/spc/).

View File

@ -0,0 +1,32 @@
---
layout: page
title: "Taps Aff"
description: "Instructions how to use the Taps Aff binary sensor in Home Assistant."
date: 2017-05-28 18:00
sidebar: true
comments: false
sharing: true
footer: true
logo: tapsaff.png
ha_category: Weather
featured: false
ha_release: 0.47
ha_iot_class: "Local Polling"
---
The `tapsaff` binary sensor provides the 'Taps Aff' status for a given location within the UK using [Taps Aff](http://www.taps-aff.co.uk).
To enable this sensor, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: tapsaff
location: glasgow
```
Configuration variables:
- **location** (*Required*): The location for the Taps Aff. It must be configured with a UK postcode or city to work.
- **name** (*Optional*): The name to use when displaying this sensor.

View File

@ -0,0 +1,36 @@
---
layout: page
title: "ONVIF Camera"
description: "Instructions on how to integrate a ONVIF camera within Home Assistant."
date: 2017-06-09 21:00
sidebar: true
comments: false
sharing: true
footer: true
logo: onvif.png
ha_category: Camera
ha_release: 0.47
---
The `ONVIF` platform allows you to use an ONVIF camera in Home Assistant. This requires FFmpeg component to be already configured.
To enable your ONVIF in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
camera:
- platform: onvif
host: 192.168.1.111
```
Configuration variables:
- **host** (*Required*): An IP or hostname of the camera.
- **name** (*Optional*): Override the name of your camera.
- **username** (*Optional*): The username for the camera.
- **password** (*Optional*): The password for the camera.
- **port** (*Optional*): The port for the camera. This defaults to 5000
If you are running into trouble with this sensor, please refer to the [Troubleshooting section](/components/ffmpeg/#troubleshooting).

View File

@ -0,0 +1,58 @@
---
layout: page
title: "Flexit A/C controller"
description: "Instructions how to integrate Flexit A/C unit into Home Assistant."
date: 2017-06-02 16:30 +0200
sidebar: true
comments: false
sharing: true
footer: true
logo: flexit.png
ha_category: Climate
ha_release: 0.47
ha_iot_class: "Local Polling"
---
Integrates [Flexit](https://www.flexit.no/en/) Air Conditioning unit into Home Assistant.
Requires an CI66 Modbus Adapter [CI66](https://www.flexit.no/en/products/air_handling_unit/accessories_ahu/modul/modbusadapter_ci66/modbus_adapter_ci66_k2-c2-uni/)
To enable this platform, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
climate:
- platform: flexit
slave: 21
```
Configuration variables:
- **slave** (*Required*): The slave ID of the modbus adapter, set using DIP-switches.
- **name** (*Optional*): Displayed name of the A/C unit
<p class='note'>
This component requires the [Modbus](/components/modbus/) component to be set up to work
</p>
Full configuration example including modbus setup shown below:
DIP-switch settings on the CI66:
1=ON, 2=ON, 3=OFF, 4=ON, 5=OFF, 6=ON, 7=ON, 8=ON
```yaml
# Full example configuration.yaml entry
modbus:
type: serial
method: rtu
port: /dev/ttyUSB0
baudrate: 56000
stopbits: 1
bytesize: 8
parity: E
climate:
- platform: flexit
name: Main A/C
slave: 21
```

View File

@ -7,7 +7,7 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: garadget_logo.jpg
logo: garadget.png
ha_category: Cover
ha_release: 0.32
ha_iot_class: "Cloud Polling"

View File

@ -47,6 +47,8 @@ Configuration variables:
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is `0`. Will also be used when publishing messages.
- **retain** (*Optional*): If the published message should have the retain flag on or not. Default is `false`.
- **value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload.
- **set_position_topic** (*Optional*): The MQTT topic to publish position commands to.
- **set_position_template** (*Optional*): Defines a [template](/topics/templating/) to define the position to be sent to the `set_position_topic` topic. Incoming position value is available for use in the template `{{position}}`. If no template is defined, the numeric position (0-100) will be written directly to the topic.
- **tilt_command_topic** (*Optional*): The MQTT topic to publish commands to control the cover tilt.
- **tilt_status_topic** (*Optional*): The MQTT topic subscribed to receive tilt status update values.
- **tilt_min** (*Optional*): The minimum tilt value. Default is `0`

View File

@ -0,0 +1,60 @@
---
layout: page
title: "Dyson"
description: "Instructions how to integrate Dyson into Home Assistant."
date: 2017-05-27 10:00
sidebar: true
comments: false
sharing: true
footer: true
logo: dyson.png
ha_category: Hub
ha_iot_class: "Cloud Polling"
ha_release: 0.47
---
The `dyson` component is the main component to integrate all [Dyson](https://dyson.com) related platforms.
Currently limited to Cool Link Purifier.
To enable this component, add the following lines to your `configuration.yaml`:
```yaml
dyson:
username: <dyson_account_user_email>
password: <dyson_acount_password>
language: <dyson_account_language>
devices:
- device_id: <device_id_1>
device_ip: <device_ip_1>
- device_id: <device_id_2>
device_ip: <device_ip_2>
...
```
Configuration variables:
- **username** (*Required*): Dyson account username (email address)
- **password** (*Required*): Dyson account password
- **language** (*Required*): Dyson account language country code. Known working codes: `FR`, `NL`, `UK`, `AU`. But others codes should work.
- **devices** (*Optional*): List of devices
- **device_id** (*Required*): Device ID. Available in the mobiles applications (*Settings* page)
- **device_ip** (*Required*): Device IP address
`devices` list is optional but you'll have to provide them if discovery is not working (warnings in the logs and the devices are not available in Home Assistant web interface).
To find devices IP address, you can use your router or `nmap`:
```bash
$ nmap -p 1883 XXX.XXX.XXX.XXX/YY -- open
```
Where:
- **XXX.XXX.XXX.XXX** is your network address
- **YY** is your network mask
For example:
```bash
$ nmap -p 1883 192.168.0.0/24 -- open
```

View File

@ -0,0 +1,24 @@
---
layout: page
title: "Dyson Purifier Fan"
description: "Instructions how to setup the Dyson Purifier fans within Home Assistant."
date: 2017-05-27 10:00
sidebar: true
comments: false
sharing: true
footer: true
logo: dyson.png
ha_category: Fan
ha_iot_class: "Cloud Polling"
ha_release: 0.47
---
The `dyson` fan platform allows you to control your Dyson Purifier fans.
You have first to setup the [Dyson component](/components/dyson/)
### {% linkable_title Supported fan devices %}
- Pure Cool link (desk and tower)
- Pure Hot+cool link (but heating is not yet supported)

View File

@ -1,6 +1,6 @@
---
layout: page
title: "Home Assistant 0.46"
title: "Home Assistant 0.47"
description: ""
date: 2016-12-16 17:00
sidebar: true
@ -9,7 +9,7 @@ sharing: true
footer: true
logo: home-assistant.png
ha_category: Other
ha_release: 0.46
ha_release: 0.47
---
Details about the latest release can always be found at:

View File

@ -10,9 +10,44 @@ footer: true
logo: opencv.png
ha_category: Image Processing
featured: false
ha_release: 0.44
ha_release: 0.47
---
The `opencv` image processing platform allows you to create a standalone image processor without the linked camera entity as mentioned in the [OpenCV page](https://home-assistant.io/components/opencv).
[OpenCV](http://www.opencv.org) is an open source computer vision image and video processing library.
Please refer to the [component](/components/opencv/) configuration on how to setup the image processor.
Some pre-defined classifiers can be found here: https://github.com/opencv/opencv/tree/master/data
### {% linkable_title Configuration %}
To setup OpenCV with Home Assistant, add the following section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
image_processing:
- platform: opencv
name: Front Door Faces
source:
- entity_id: camera.front_door
classifier:
mom: /path/to/classifier.xml
```
- **name** (*Required*): The name of the OpenCV image processor.
- **source** array (*Required*): List of image sources.
- **entity_id** (*Required*): A camera entity id to get picture from.
- **name** (*Optional*): This parameter allows you to override the name of your `image_processing` entity.
- **classifier** (*Optional*): Dictionary of name to path to the classifier xml file. If this field is not provided, a face classifier will be downloaded from OpenCV's github repo.
**classifier** may also be defined as a dictionary of names to classifier configurations:
```yaml
mom:
file: /path/to/classifier/xml
neighbors: 4
min_size: (40, 40)
scale: 1.1f
```
- **file** (*Required*): The path to the classifier xml file.
- **scale** (*Optional*): The scale to perform when processing, this is a `float` value that must be greater than or equal to `1.0`, default is `1.1`.
- **neighbors** (*Optional*): The minimum number of neighbors required for a match, default is `4`. The higher this number, the more picky the matching will be; lower the number, the more false positives you may experience.

View File

@ -42,8 +42,10 @@ Configuration variables:
- **y_position** (*Optional*): Y coordinate of the upper left corner of the area to crop. Defaults to `0`.
- **height** (*Optional*): Height of the area to crop. Defaults to `0`.
- **width** (*Optional*): Width of the area to crop. Defaults to `0`.
- **rotate** (*Optional*): Rotation of the image. Defaults to `0`.
- **threshold** (*Optional*): Threshold for the difference between the digits and the background. Defaults to `0`.
- **digits** (*Optional*): Number of digits in the display. Defaults to `-1`.
- **extra_arguments** (*Optional*): Other arguments to use. Like `-D`, `dilation`, `erosion`, `greyscale`, `make_mono`, etc.
- **source** array (*Required*): List of image sources.
- **entity_id** (*Required*): A camera entity id to get picture from.
- **name** (*Optional*): This parameter allows you to override the name of your `image_processing` entity.
@ -54,7 +56,7 @@ Configuration variables:
It's suggested that the first attempt to determine the needed parameters is using `ssocr` directly. This may require a couple of iterations to get the result
```bash
$ ssocr -D erosion crop 390 250 490 280 -t 20 -d 4 ss-test.jpg
$ ssocr -D erosion crop 390 250 490 280 -t 20 -d 4 seven-seg.png
```
This would lead to the following entry for the `configuration.yaml` file:
@ -62,7 +64,7 @@ This would lead to the following entry for the `configuration.yaml` file:
```yaml
camera:
- platform: local_file
file_path: /home/fab/.homeassistant/seven-seg.png
file_path: /home/homeassistant/.homeassistant/seven-seg.png
name: seven_segments
image_processing:
- platform: seven_segments

View File

@ -23,13 +23,13 @@ The default InfluxDB configuration doesn't enforce authentication. If you have i
influxdb:
```
You will still need to create a database named `home_assistant` via InfluxDB's web interface or command line. For instructions how to create a database check the [InfluxDB documentation](https://docs.influxdata.com/influxdb/v1.0/introduction/getting_started/#creating-a-database) relevant to the version you have installed.
You will still need to create a database named `home_assistant` via InfluxDB's web interface or command line. For instructions how to create a database check the [InfluxDB documentation](https://docs.influxdata.com/influxdb/latest/introduction/getting_started/#creating-a-database) relevant to the version you have installed.
Configuration variables:
- **host** (*Optional*): IP address of your database host, e.g. 192.168.1.10. Defaults to `localhost`.
- **port** (*Optional*): Port to use. Defaults to 8086.
- **username** (*Optional*): The username of the database user.
- **username** (*Optional*): The username of the database user. The user needs read/write privileges on the database.
- **password** (*Optional*): The password for the database user account.
- **database** (*Optional*): Name of the database to use. Defaults to `home_assistant`. The database must already exist.
- **ssl** (*Optional*): Use https instead of http to connect. Defaults to false.

View File

@ -0,0 +1,28 @@
---
layout: page
title: "Juicenet"
description: "Instructions how to setup WiFi-equipped Juicenet charging stations with Home Assistant."
date: 2017-05-20 22:00
sidebar: true
comments: false
sharing: true
footer: true
logo: juicenet.png
ha_category: Hub
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.
To enable the platform in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
juicenet:
access_token: ACCESS_TOKEN
```
Configuration variables:
- **access_token** (*Required*): Your eMotorWerks API Token can be found in the [dashboard](https://dashboard.emotorwerks.com/Manage).

View File

@ -41,6 +41,7 @@ Change the light to a new state.
| ---------------------- | ----------- |
| `entity_id` | String or list of strings that point at `entity_id`s of lights. Else targets all.
| `transition` | Duration (in seconds) for the light to fade to the new state.
| `infrared` | Automatic infrared level (0..255) when light brightness is low (for compatible bulbs).
| `power` | Turn the light on (`True`) or off (`False`). Leave out to keep the power as it is.
| `...` | Use `color_name`, `brightness` etc. from [`light.turn_on`]({{site_root}}/components/light/#service-lightturn_on) to specify the new state.
@ -56,7 +57,7 @@ automation:
- service: light.turn_on
data:
entity_id: light.office, light.kitchen
effect: lifx_effect_breathe
effect: lifx_effect_pulse
```
However, if you want to fully control a light effect, you have to use its dedicated service call, like this:
@ -76,23 +77,9 @@ script:
The available light effects and their options are listed below.
### {% linkable_title Service `light.lifx_effect_breathe` %}
Run a breathe effect by fading to a color and back.
| Service data attribute | Description |
| ---------------------- | ----------- |
| `entity_id` | String or list of strings that point at `entity_id`s of lights. Else targets all.
| `color_name` | A color name such as `red` or `green`.
| `rgb_color` | A list containing three integers representing the RGB color you want the light to be.
| `brightness` | Integer between 0 and 255 for how bright the color should be.
| `period` | The duration of a single breathe.
| `cycles` | The total number of breathes.
| `power_on` | Set this to False to skip the effect on lights that are turned off (defaults to True).
### {% linkable_title Service `light.lifx_effect_pulse` %}
Run a flash effect by quickly changing to a color and then back.
Run a flash effect by changing to a color and then back.
| Service data attribute | Description |
| ---------------------- | ----------- |
@ -100,8 +87,9 @@ Run a flash effect by quickly changing to a color and then back.
| `color_name` | A color name such as `red` or `green`.
| `rgb_color` | A list containing three integers representing the RGB color you want the light to be.
| `brightness` | Integer between 0 and 255 for how bright the color should be.
| `period` | The duration of a single pulse.
| `period` | The duration of a single pulse (in seconds).
| `cycles` | The total number of pulses.
| `mode` | The way to change between colors. Valid modes: `blink` (default), `breathe`, `ping`, `strobe`, `solid`.
| `power_on` | Set this to False to skip the effect on lights that are turned off (defaults to True).
### {% linkable_title Service `light.lifx_effect_colorloop` %}

View File

@ -0,0 +1,32 @@
---
layout: page
title: "Sesame Smart Lock"
description: "Instructions on how to integrate Sesame by CANDY HOUSE into Home Assistant."
date: 2017-05-02 12:00
sidebar: true
comments: false
sharing: true
footer: true
logo: sesame.png
ha_category: Lock
ha_iot_class: "Cloud Polling"
ha_release: "0.47"
---
The `sesame` platform allows you to control your [Sesame](https://candyhouse.co/) smart locks made by CANDY HOUSE, Inc.
Your Sesame needs to be paired with a mobile device running the app in *virtual station* mode, or a standalone [Wi-Fi Access Point](https://candyhouse.co/collections/frontpage/products/wi-fi-access-point).
Once you have remote access enabled, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
lock:
- platform: sesame
email: abc@i-lovecandyhouse.co
password: super-strong-password
```
Configuration variables:
- **email** (*Required*): The email address for your Sesame account.
- **password** (*Required*): The password for your Sesame account.

View File

@ -20,22 +20,22 @@ Presently, there's only support for communicating with the [RadioRA 2](http://ww
When configured, the `lutron` component will automatically discover the rooms and their associated switches/dimmers as configured by the RadioRA 2 software from Lutron. Each room will be treated as a separate group.
To use Lutron RadioRA 2 devices in your installation, add the following to your `configuration.yaml` file using the IP of your RadioRA 2 Main Repeater:
To use Lutron RadioRA 2 devices in your installation, add the following to your `configuration.yaml` file using the IP address of your RadioRA 2 main repeater:
``` yaml
# Example configuration.yaml entry
lutron:
lutron_host:IP_ADDRESS
lutron_user: lutron
lutron_password: integration
host: IP_ADDRESS
username: lutron
password: integration
```
Configuration variables:
- **lutron_ip** (*Required*): The IP address of the Main Repeater.
- **lutron_user** (*Required*): The login name of the user. The user `lutron` always exists, but other users can be added via RadioRA 2 software.
- **lutron_password** (*Required*): The password for the user specified above. `integration` is the password for the always-present `lutron` user.
- **host** (*Required*): The IP address of the Main Repeater.
- **username** (*Required*): The login name of the user. The user `lutron` always exists, but other users can be added via RadioRA 2 software.
- **password** (*Required*): The password for the user specified above. `integration` is the password for the always-present `lutron` user.
<p class='note'>
It is recommended to assign a static IP address to your Main Repeater. This ensures that it won't change IP addresses, so you won't have to change the `lutron_ip` if it reboots and comes up with a different IP address.
It is recommended to assign a static IP address to your main repeater. This ensures that it won't change IP addresses, so you won't have to change the `host` if it reboots and comes up with a different IP address.
</p>

View File

@ -0,0 +1,35 @@
---
layout: page
title: "Mailgun"
description: "Instructions how to add Mailgun mail notifications to Home Assistant."
date: 2017-02-06 16:52
sidebar: true
comments: false
sharing: true
footer: true
logo: mailgun.png
ha_category: Notifications
ha_release: 0.38
---
The component supports push messages and generates events based on inbound data. To use, add a Route set to Store and Notify with a URL of the following form: `https://<domain>/api/mailgun?api_password=<password>`
To send messages, use the [Mailgun notify platform][notify].
[notify]: /components/notify.mailgun/
## {% linkable_title Sample configuration %}
```yaml
# Example configuration.yaml entry
mailgun:
domain: mg.example.com
api_key: token-XXXXXXXXX
sandbox: False
```
Configuration variables:
- **domain** (*Optional*): This is the domain name to be used when sending out mail. Defaults to the first custom domain you have set up.
- **sandbox** (*Optional*): Whether to use the sandboxed domain for outgoing mail. The `domain` item takes precedence over this. Defaults to `False`.
- **api_key** (*Required*): This is the API token that has been generated in your Mailgun account.

View File

@ -7,7 +7,7 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: sharp_aquos.jpg
logo: sharp_aquos.png
ha_category: Media Player
featured: false
ha_release: 0.35

View File

@ -22,9 +22,17 @@ Supported devices:
- Denon RCD-N8 (untested)
- Denon RCD-N9 (partial support)
- Denon AVR receivers with integrated Network support (partial support)
- Denon AVR-X2000 (via denonavr platform)
- Denon AVR-X2100W (via denonavr platform)
- Denon AVR-X4100W (via denonavr platform)
- Denon AVR receivers (via denonavr platform (untested))
- Denon AVR-1912 (via denonavr platform)
- Denon AVR-2312CI (via denonavr platform)
- Denon AVR-3311CI (via denonavr platform)
- Marantz M-CR603 (via denonavr platform)
- Marantz M-RC610 (via denonavr platform)
- Marantz SR5008 (via denonavr platform)
- Marantz NR1604 (via denonavr platform)
- Other Denon AVR receivers (via denonavr platform (untested))
- Marantz receivers (experimental via denonavr platform)
<pre class='note'>
@ -60,12 +68,21 @@ A few notes for platform: denon
media_player:
- platform: denonavr
host: IP_ADDRESS
name: NAME
show_all_sources: True / False
zones:
- zone: Zone2 / Zone3
name: NAME
```
Configuration variables:
- **host** (*Optional*): IP address of the device. Example: 192.168.1.32. If not set, auto discovery is used.
- **name** (*Optional*): Name of the device. If not set, friendlyName of receiver is used.
- **show_all_sources** (*Optional*): If True all sources are displayed in sources list even if they are marked as deleted in the receiver. If False deleted sources are not displayed (default). Some receivers have a bug that marks all sources as deleted in the interface. In this case this option could help.
- **zones** (*Optional*): List of additional zones to be activated. They are displayed as additional media players with the same functionality Main Zone of the device supports
- **zone**: Zone which should be activated. Valid options are Zone2 and Zone3
- **name** (*Optional*): Name of the zone. If not set the name of the main device + zone as suffix is taken.
A few notes for platform: denonavr
- Additional option the control Denon AVR receivers with a builtin web server is using the HTTP interface with denonavr platform.

View File

@ -0,0 +1,38 @@
---
layout: page
title: "NAD tcp"
description: "Instructions how to integrate the NAD D 7050 or C338 digital amplifiers into Home Assistant."
date: 2017-06-07 20:00
sidebar: true
comments: false
sharing: true
footer: true
logo: nad.png
ha_category: Media Player
ha_release: 0.47
ha_iot_class: "Local Polling"
---
The `nadtcp` platform allows you to control the D7050 and C338 from Home Assistant via WiFi. Note that it has only been tested with the D 7050.
To add a NAD amplifier to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
media_player:
platform: nadtcp
host: 192.168.0.112
```
Configuration variables:
- **host** (*Required*): The IP address of your amplifier.
- **name** (*Optional*): Name of the device. Default is NAD amplifier.
- **min_volume** (*optional*): Minimum volume in dB to use with the slider. Default is `-60`
- **max_volume** (*optional*): Maximum volume in dB to use with the slider. Default is `-10`
- **volume_step** (*Optional*): The amount in dB you want to increase the volume with when pressing volume up/down. Default is 4 dB.
The maximum volume level of the D 7050 amplifier is +10 db, minimum is -90.

View File

@ -7,7 +7,7 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: soundtouch.jpg
logo: soundtouch.png
ha_category: Media Player
ha_release: 0.34.0
ha_iot_class: "Local Polling"

View File

@ -18,10 +18,15 @@ The `spotify` media player platform allows you to control [Spotify](https://www.
## {% linkable_title Prerequisites %}
- Spotify Premium account.
- Spotify Application, properly configured.
- Spotify account.
- Spotify Application, properly configured
<p class='note'>
Controlling the Spotify component (pause, play, next, etc) requires a Premium account. If you do not have a Premium account, the component in the frontend will not show the controls.
</p>
To create the required Spotify Application:
- Login to [Spotify Developer](https://developer.spotify.com)
- Visit the [My Applications](https://developer.spotify.com/my-applications/#!/applications) page
- Select **Create An App**. Enter any name and description. Once your application is created, view it and copy your **Client ID** and **Client Secret**, which are used in the Home Assistant configuration file.
@ -46,6 +51,9 @@ media_player:
- platform: spotify
client_id: <your client id>
client_secret: <your client secret>
aliases:
abc123def456: 'Living Room'
9183abas000: 'Bed Room'
```
Configuration variables:
@ -53,6 +61,7 @@ Configuration variables:
- **client_id** (*Required*): Client ID from your Spotify Application.
- **client_secret** (*Required*): Client Secret from your Spotify Application.
- **cache_path** (*Optional*): Path to cache authentication token (defaults to configuration directory).
- **aliases** (*Optional*): Dictionary of device ids to be aliased, handy for devices that Spotify cannot properly determine the device name of. New devices will be logged to the `info` channel for ease of aliasing.
## {% linkable_title Setup %}

View File

@ -1,6 +1,6 @@
---
layout: page
title: "Mailgun"
title: "Mailgun Notify"
description: "Instructions how to add Mailgun mail notifications to Home Assistant."
date: 2017-02-06 16:52
sidebar: true
@ -12,18 +12,23 @@ ha_category: Notifications
ha_release: 0.38
---
The Mailgun notification service allows you to send emails via Mailgun's REST API.
The Mailgun notification service allows you to send emails via Mailgun's REST API. It requires the [Mailgun component] to be set up.
[Mailgun component]: /components/mailgun/
## {% linkable_title Sample configuration %}
```yaml
# Example configuration.yaml entry
mailgun:
domain: mg.example.com
api_key: token-XXXXXXXXX
sandbox: False
notify:
- name: NOTIFIER_NAME
- name: mailgun
platform: mailgun
domain: YOUR_MAILGUN_DOMAIN
token: TOKEN
recipient: RECIPIENT_EMAIL
recipient: me@example.com
```
Configuration variables:
@ -34,21 +39,6 @@ Configuration variables:
- **recipient** (*Required*): The email address of the recipient.
- **sender** (*Optional*): The sender's email address. Defaults to `hass@DOMAIN`, where `DOMAIN` is outgoint mail domain, as defined by the `domain` and `sanbox` configuration entries.
## {% linkable_title Full configuration %}
A full configuration example for the Mailgun notifier system can look like this:
```yaml
# Example configuration.yaml entry
notify:
- name: mailgun
platform: mailgun
domain: mg.example.com
sanbox: False
token: 'token-XXXXXXXXX'
recipient: me@example.com
```
## {% linkable_title Example automation %}
The following automation reacts to an event by sending out an email with two attachments.

View File

@ -23,7 +23,7 @@ The requirements are:
To retrieve your `chat_id`, contact any of the Telegram bots created for this purpose (@myidbot, @get_id_bot)
The quickest way to retrieve your `chat_id` is visiting [https://api.telegram.org/botYOUR_API_TOKEN/getUpdates](https://api.telegram.org/botYOUR_API_TOKEN/getUpdates) or to use `$ curl -X GET https:/api.telegram.org/botYOUR_API_TOKEN/getUpdates`. Replace `YOUR_API_TOKEN` with your actual token.
The quickest way to retrieve your `chat_id` is visiting [https://api.telegram.org/botYOUR_API_TOKEN/getUpdates](https://api.telegram.org/botYOUR_API_TOKEN/getUpdates) or to use `$ curl -X GET https://api.telegram.org/botYOUR_API_TOKEN/getUpdates`. Replace `YOUR_API_TOKEN` with your actual token.
The result set will include your chat ID as `id` in the `from` section:

View File

@ -1,75 +0,0 @@
---
layout: page
title: "OpenCV"
description: "Instructions how to setup OpenCV within Home Assistant."
date: 2017-04-01 22:36
sidebar: true
comments: false
sharing: true
footer: true
logo: opencv.png
ha_category: Hub
ha_release: 0.44
ha_iot_class: "Local Push"
---
[OpenCV](http://www.opencv.org) is an open source computer vision image and video processing library.
Some pre-defined classifiers can be found here: https://github.com/opencv/opencv/tree/master/data
### {% linkable_title Configuration %}
To setup OpenCV with Home Assistant, add the following section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
opencv:
classifier_group:
- name: Family
add_camera: True
entity_id:
- camera.front_door
- camera.living_room
classifier:
- file_path: /path/to/classifier/face.xml
name: Bob
- file_path: /path/to/classifier/face_profile.xml
name: Jill
min_size: (20, 20)
color: (255, 0, 0)
scale: 1.6
neighbors: 5
- file_path: /path/to/classifier/kid_face.xml
name: Little Jimmy
```
Configuration variables:
- **name** (*Required*): The name of the OpenCV image processor.
- **entity_id** (*Required*): The camera entity or list of camera entities that this classification group will be applied to.
- **classifier** (*Required*): The classification configuration for to be applied:
- **file_path** (*Required*): The path to the HAARS or LBP classification file (xml).
- **name** (*Optional*): The classification name, the default is `Face`.
- **min_size** (*Optional*): The minimum size for detection as a tuple `(width, height)`, the default is `(30, 30)`.
- **color** (*Optional*): The color, as a tuple `(Blue, Green, Red)` to draw the rectangle when linked to a dispatcher camera, the default is `(255, 255, 0)`.
- **scale** (*Optional*): The scale to perform when processing, this is a `float` value that must be greater than or equal to `1.0`, default is `1.1`.
- **neighbors** (*Optional*): The minimum number of neighbors required for a match, default is `4`. The higher this number, the more picky the matching will be; lower the number, the more false positives you may experience.
Once OpenCV is configured, it will create an `image_processing` entity for each classification group/camera entity combination as well as a camera so you can see what Home Assistant sees.
The attributes on the `image_processing` entity will be:
```json
'matches': {
'Bob': [
(x, y, w, h)
],
'Jill': [
(x, y, w, h)
],
'Little Jimmy': [
(x, y, w, h)
]
}
```

View File

@ -0,0 +1,45 @@
---
layout: page
title: "Python Scripts"
description: "Instructions how to setup Python scripts within Home Assistant."
date: 2017-06-15 19:59
sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category: Automation
ha_release: 0.47
---
This component allows you to write Python scripts that are exposed as services in Home Assistant. Each Python file created in the `<config>/python_scripts/` folder will be exposed as a service. The content is not cached so you can easily develop: edit file, save changes, call service. The scripts are run in a sandboxed environment. The following variables are available in the sandbox:
| Name | Description |
| ---- | ----------- |
| `hass` | The Home Assistant object. Access is only allowed to call services, set/remove states and fire events. [API reference][hass-api]
| `data` | The data passed to the Python Script service call.
| `logger` | A logger to allow you to log messages: `logger.info()`, `logger.warning()`, `logger.error()`. [API reference][logger-api]
[hass-api]: https://home-assistant.io/developers/development_hass_object/
[logger-api]: https://docs.python.org/3.4/library/logging.html#logger-objects
## {% linkable_title Writing your first script %}
- Add to `configuration.yaml`: `python_script:`
- Create folder `<config>/python_scripts`
- Create a file `hello_world.py` in the folder and give it this content:
```python
name = data.get('name', 'world')
logger.info("Hello {}".format(name))
hass.bus.fire(name, { "wow": "from a Python script!" })
```
- Start Home Assistant
- Call service `python_script/hello_world` with parameters
```json
{
"name": "you"
}
```

View File

@ -31,7 +31,7 @@ Configuration variables:
- **[service_name]** (*Required*): The name used to expose the service. E.g. in the above example would it be ` rest_command.example_request`.
- **url** (*Required*): The URL (support template) for sending request.
- **method** (*Optional*): HTTP method (get, post, put, delete). Default is get.
- **method** (*Optional*): HTTP method to use (`get`, `post`, `put`, or `delete`). Defaults to `get`.
- **payload** (*Optional*): A string/template to send with request.
- **username** (*Optional*): The username for HTTP authentication.
- **password** (*Optional*): The password for HTTP authentication.

View File

@ -0,0 +1,33 @@
---
layout: page
title: "Blockchain.info"
description: "Instructions how to integrate Blockchain.info data within Home Assistant."
date: 2017-06-01 16:20
sidebar: true
comments: false
sharing: true
footer: true
logo: blockchain.png
ha_category: Finance
ha_release: 0.47
ha_iot_class: "Cloud Polling"
---
The `Blockchain` sensor platform displays Bitcoin wallet balances from [blockchain.info](https://blockchain.info).
To add the Blockchain sensor to your installation, specify a list of bitcoin addresses to watch in the `configuration.yaml` file. The sensor state will be the sum of the balances of all addresses listed.
```yaml
# Example configuration.yaml entry
sensor:
- platform: blockchain
addresses:
- '1BMsHFczb2vY1BMDvFGWgGU8mkWVm5fupp'
- '183J5pXWqYYsxZ7inTVw9tEpejDXyMFroe'
```
Configuration variables:
- **addresses** (*Required*): List of bitcoin wallet addresses to watch.

View File

@ -0,0 +1,78 @@
---
layout: page
title: "Buienradar"
description: "Instructions how to integrate buienradar.nl sensor within Home Assistant."
date: 2017-05-15 14:00
sidebar: true
comments: false
sharing: true
footer: true
logo:
ha_category: Weather
ha_release: 0.44
---
The `buienradar` platform uses [buienradar.nl](http://buienradar.nl/) as an source for current meteorological data for your location. The
weather forecast is delivered by Buienradar, who provides a webservice that provides detailed weather information for users in The Netherlands.
The relevant weatherstation used will be automatically selected based on the location specified in the Home Assistant configuration (or in the buienradar weather/sensor component).
To integrate `buienradar` with Home Assistant, add the following section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: buienradar
monitored_conditions:
- symbol
- humidity
- temperature
- windspeed
- pressure
```
Configuration variables:
- **platform** (*Required*): buienradar.
- **latitude** (*Optional*): latitude to use for selection of data source location. Longitude & latitude will be taken from Home Assistant configuration, but can be overridden/changed in this component to select a different location for buienradar.
- **longitude** (*Optional*): longitude to use for selection of data source location. Longitude & latitude will be taken from Home Assistant configuration, but can be overridden/changed in this component to select a different location for buienradar.
- **monitored_conditions** array (*Required*): one or more conditions to display in the frontend.
- **stationname**: the name of the selected meteo-station.
- **symbol**: A symbol for the current weather.
- **humidity**: The relative humidity (%).
- **temperature**: The current temperature (in C).
- **groundtemperature**: The current ground temperature (in C).
- **windspeed**: The wind speed in m/s.
- **windforce**: The wind speed/force in Bft.
- **winddirection**: Where the wind is coming from in degrees, with true north at 0° and progressing clockwise.
- **windazimuth**: Where the wind is coming from: N (North),Z (south), NO (Noth-East), etc..
- **pressure**: The sea-level air pressure in hPa.
- **visibility**: Visibility in meters (m).
- **windgust**: The windspeed of wind gusts (m/s).
- **precipitation**: the amount of precipitation/rain in mm/h.
- **irradiance**: Sun intensity in Watt per square meter (W/m2).
Full configuration example where location is manually specified:
```yaml
# Example configuration.yaml entry
- platform: buienradar
latitude: 51.65
longitude: 5.70
monitored_conditions:
- stationname
- symbol
- humidity
- temperature
- groundtemperature
- windspeed
- windforce
- winddirection
- windazimuth
- pressure
- visibility
- windgust
- precipitation
- irradiance
```

View File

@ -7,7 +7,7 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: comed.jpg
logo: comed.png
ha_category: Energy
ha_release: "0.40"
ha_iot_class: "Cloud Polling"

View File

@ -0,0 +1,24 @@
---
layout: page
title: "Dyson Purifier Sensor"
description: "Instructions how to setup the Dyson Purifier fans within Home Assistant."
date: 2017-05-27 10:00
sidebar: true
comments: false
sharing: true
footer: true
logo: dyson.png
ha_category: Sensor
ha_iot_class: "Cloud Polling"
ha_release: 0.47
---
The `dyson` sensor platform allows you to control your Dyson Purifier's filter life time.
You have first to setup the [Dyson component](/components/dyson/)
### {% linkable_title Supported fan devices %}
- Pure Cool link (desk and tower)
- Pure Hot+cool link (but heating is not yet supported)

View File

@ -7,7 +7,7 @@ sidebar: true
comments: false
sharing: true
footer: true
logo: ebox.jpg
logo: ebox.png
ha_category: Sensor
ha_release: 0.39
ha_iot_class: "Cloud Polling"

View File

@ -0,0 +1,16 @@
---
layout: page
title: "Ecobee Sensor"
description: "Instructions how to setup the Ecobee sensors within Home Assistant."
date: 2015-11-30 18:00
sidebar: true
comments: false
sharing: true
footer: true
logo: ecobee.png
ha_category: Binary Sensor
ha_release: 0.9
ha_iot_class: "Local Push"
---
To get your Ecobee sensors working with Home Assistant, follow the instructions for the general [Ecobee component](/components/ecobee/).

View File

@ -0,0 +1,31 @@
---
layout: page
title: "Etherscan"
description: "Instructions how to integrate Etherscan.io data within Home Assistant."
date: 2017-06-01 16:20
sidebar: true
comments: false
sharing: true
footer: true
logo: etherscan.png
ha_category: Finance
ha_release: 0.47
ha_iot_class: "Cloud Polling"
---
The `Etherscan` sensor platform displays Ethereum wallet balances from [Etherscan.io](https://etherscan.io).
To add the Etherscan sensor to your installation, specify an ethereum address to watch in the `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: etherscan
address: '0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359'
```
Configuration variables:
- **address** (*Required*): Ethereum wallet address to watch.
- **name** (*Optional*): The name of the sensor used in the frontend.

View File

@ -0,0 +1,31 @@
---
layout: page
title: "Gitter Sensor"
description: "Instructions how to integrate a Gitter room sensor with Home Assistant"
date: 2017-06-11 09:00
sidebar: true
comments: false
sharing: true
footer: true
logo: gitter.png
ha_category: Sensor
ha_release: 0.47
---
This `gitter` sensor allows one to monitor a [Gitter.im](https://gitter.im) chatroom for unread messages.
To use a Gitter sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
sensor:
- platform: gitter
api_key: YOUR_API_TOKEN
```
Configuration variables:
- **api_key** (*Required*): Your Gitter.im API token.
- **room** (*Optional*): Gitter room to monitor. Defaults to `home-assistant/home-assistant`

View File

@ -147,6 +147,5 @@ Here, last Monday is _today_ as a timestamp, minus 86400 times the current weekd
```
<p class='note'>
The `/dev-template` page of your home-assistant UI can help you check if the values for `start`, `end` or `duration` are correct.
If you want to check if your period is right, just click on your component, the `from` and `to` attributes will show the start and end of the period, nicely formatted.
The `/dev-template` page of your home-assistant UI can help you check if the values for `start`, `end` or `duration` are correct. If you want to check if your period is right, just click on your component, the `from` and `to` attributes will show the start and end of the period, nicely formatted.
</p>

View File

@ -0,0 +1,30 @@
---
layout: page
title: "Juicenet Sensor"
description: "Instructions how to setup WiFi-equipped Juicenet charging stations with Home Assistant."
date: 2015-01-20 22:36
sidebar: true
comments: false
sharing: true
footer: true
logo: juicenet.png
ha_category: Sensor
ha_release: 0.47
---
The `juicenet` sensor platform allows you to get data from your [JuiceNet](https://emotorwerks.com/products/juicenet/) sensors.
The requirement is that you have setup [Juicenet](/components/juicenet/).
### {% linkable_title Added sensors %}
These sensors will be added for each juicenet device in your account:
- Status
- Temperature (inside the device)
- Voltage
- Amps
- Watts
- Charge time of session
- Energy added this session

View File

@ -0,0 +1,123 @@
---
layout: page
title: "Radarr Sensor"
description: "Instructions how to integrate Radarr sensors with Home Assistant"
date: 2017-05-04 00:00
sidebar: true
comments: false
sharing: true
footer: true
logo: radarr.png
ha_category: Sensor
ha_release: 0.47
---
This `radarr` sensor platform pulls data from a given Radarr instance.
To use your [Radarr](https://radarr.tv/) sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yml entry
sensor:
- platform: radarr
api_key: YOUR_API_KEY
host: IP_ADDRESS
port: PORT
```
Configuration variables:
- **api_key** (*Required*): Your Radarr API key, found in Settings > General in the Radarr Web UI.
- **monitored_conditions** array (*Required*): Conditions to display on the frontend.
- **movies**: The number of movies in Radarr.
- **upcoming**: The number of upcoming movie releases (physical and in cinemas).
- **commands**: The number of commands being run.
- **diskspace**: Available disk space.
- **status**: System status information
- **host** (*Optional*): The host Radarr is running on (Default: localhost).
- **port** (*Optional*): The port Radarr is running on (Default: 7878).
- **urlbase** (*Optional*): The base URL Radarr is running under (Default: /).
- **days** (*Optional*): How many days to look ahead for the upcoming sensor, 1 means today only (Default: 1).
- **include_paths** (*Optional*): Array of filepaths to include when calculating diskspace. Leave blank to include all.
- **unit**: (*Optional*): The unit to display disk space in (Default: GB).
- **ssl**: boolean (*Optional*): Whether or not to use SSL for Radarr.
## {% linkable_title Examples %}
In this section you find some real life examples of how to use this sensor.
### {% linkable_title Get Episodes airing in next 2 days %}
```yaml
# Example configuration.yml entry
sensor:
- platform: radarr
api_key: YOUR_API_KEY
host: 192.168.1.8
monitored_conditions:
- upcoming
days: 2
```
### {% linkable_title Enable SSL %}
SSL may run on a different port than the default (7878). The SSL port can be bound to any port in Radarr, so it should be set in the config here (unless it is changed to 7878).
```yaml
# Example configuration.yml entry
sensor:
- platform: radarr
api_key: YOUR_API_KEY
host: 192.168.1.8
port: 9898
monitored_conditions:
- upcoming
days: 2
ssl: true
```
### {% linkable_title Get disk space for all storage locations %}
```yaml
# Example configuration.yml entry
sensor:
- platform: radarr
api_key: YOUR_API_KEY
host: 192.168.1.8
monitored_conditions:
- diskspace
```
### {% linkable_title Get disk space for listed storage locations %}
The storage locations Radarr returns are in the system page and in some cases this can list duplicates if sub paths are mounted separately. By listing paths to include, you can choose what data is reported by the sensor.
```yaml
# Example configuration.yml entry
sensor:
- platform: radarr
api_key: YOUR_API_KEY
host: 192.168.1.8
monitored_conditions:
- diskspace
include_paths:
- /tank/plex
```
### {% linkable_title Get disk space in different unit %}
The Radarr API returns available space in bytes, but this sensor will default to reporting it in GB to make the number more manageable. This can be overridden if your storage needs require a different unit. All units from bytes (B) to yottabytes (YB) are supported.
*This calculation is done using base 2 math, and may differ from systems calculating using base 10 math.*
```yaml
# Example configuration.yml entry
sensor:
- platform: radarr
api_key: YOUR_API_KEY
host: 192.168.1.8
monitored_conditions:
- diskspace
unit: TB
```

View File

@ -0,0 +1,31 @@
---
layout: page
title: "Ripple"
description: "Instructions how to integrate ripple.com data within Home Assistant."
date: 2017-06-06 16:20
sidebar: true
comments: false
sharing: true
footer: true
logo: ripple.png
ha_category: Finance
ha_release: 0.47
ha_iot_class: "Cloud Polling"
---
The `ripple` sensor platform displays Ripple wallet balances from [Ripple.com](https://ripple.com).
To add the Ripple sensor to your installation, specify a ripple address to watch in the `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: ripple
address: 'r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV'
```
Configuration variables:
- **address** (*Required*): Ripple wallet address to watch
- **name** (*Optional*): Name for the sensor to use in the frontend.

View File

@ -1,6 +1,6 @@
---
layout: page
title: "Yahoo Weather"
title: "Yahoo Weather Sensor"
description: "Instructions how to integrate Yahoo Weather within Home Assistant."
date: 2016-07-06 9:06
sidebar: true
@ -17,10 +17,10 @@ ha_iot_class: "Cloud Polling"
The `yweather` platform uses [Yahoo Weather](https://www.yahoo.com/news/weather/) as an source for current meteorological data. The `forecast` will show you the condition for 5 days, 0 is the current day. You can use only `weather`, `temp_min`, and `temp_max` with forecast. It's important to note that a yweather sensor will only show ONE days forecast at a time so to show multiple days forecasts, you will need to use the 'name:' option and give each sensor a unique name.
<p class='note warning'>
Use of the Yahoo Weather API should not exceed reasonable request volume. Access is limited to 2,000 signed calls per day.
Use of the Yahoo Weather API should not exceed reasonable request volume. Access is limited to 2000 signed calls per day.
</p>
The `woeid` (Where On Earth ID) for your location, as shown in the example below. You can find your woeid by copying the numeric digits at the end of the URL for your location at [Yahoo Weather](https://www.yahoo.com/news/weather/). If you don't add a woeid it generate it from Home Assistant's latitude and longitude.
The `woeid` (Where On Earth ID) for your location, as shown in the example below. You can find your WOEID by copying the numeric digits at the end of the URL for your location at [Yahoo Weather](https://www.yahoo.com/news/weather/). If you don't add a WOEID it generate it from Home Assistant's latitude and longitude.
To add Yahoo Weather to your installation, add the following to your `configuration.yaml` file:
@ -68,7 +68,6 @@ sensor:
- weather
- temp_min
- temp_max
- platform: yweather
forecast: 2
name: yw_day2
@ -76,7 +75,6 @@ sensor:
- weather
- temp_min
- temp_max
- platform: yweather
forecast: 3
name: yw_day3
@ -84,9 +82,7 @@ sensor:
- weather
- temp_min
- temp_max
```
Details about the API are available in the [Yahoo! Developer Network](https://developer.yahoo.com/weather/).

View File

@ -0,0 +1,34 @@
---
layout: page
title: "SPC"
description: "Instructions how to setup Vanderbilt SPC devices within Home Assistant."
date: 2017-05-18 08:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Hub
ha_release: 0.47
logo: vanderbilt_spc.png
---
Home Assistant has support to integrate your [Vanderbilt SPC](http://www.spc-intruder-detection.com/ssp-spc/) alarm panel and any connected motion, door and smoke sensors.
Integration with SPC is done through a third-party API gateway called [SPC Web Gateway](http://www.lundix.se/smarta-losningar/) which must be installed and configured somewhere on your network.
Home Assistant needs to know where to find the SPC Web Gateway API endpoints, to configure this add the following section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
spc:
api_url: API_URL
ws_url: WS_URL
```
Configuration variables:
- **api_url** (*Required*): URL of the SPC Web Gateway command REST API, e.g. `http://<ip>:8088`.
- **ws_url** (*Required*): URL of the SPC Web Gateway websocket, e.g. `ws://<ip>:8088`.
Supported sensors will be automatically discovered and added, however they will be hidden by default.

View File

@ -12,7 +12,7 @@ ha_category: "History"
ha_release: 0.13
---
The `splunk` component makes it possible to log all state changes to an external [Splunk](http://splunk.com/) database using Splunk's HTTP Event Collector feature. You can either use this alone, or with the Home Assistant for Splunk [app](https://github.com/miniconfig/splunk-homeassistant). Since the HEC feature is new to Splunk, you will need to use at least version 6.3.
The `splunk` component makes it possible to log all state changes to an external [Splunk](http://splunk.com/) database using Splunk's HTTP Event Collector (HEC) feature. You can either use this alone, or with the Home Assistant for Splunk [app](https://github.com/miniconfig/splunk-homeassistant). Since the HEC feature is new to Splunk, you will need to use at least version 6.3.
To use the `splunk` component in your installation, add the following to your `configuration.yaml` file:
@ -28,3 +28,4 @@ Configuration variables:
- **host** (*Optional*): IP address or host name of your Splunk host, eg. 192.168.1.10. Will default to `localhost` if not supplied.
- **port** (*Optional*): Port to use. Defaults to 8088.
- **ssl** (*Optional*): Use https instead of http to connect. Defaults to False.
- **name** (*Optional*): This parameter allows you to specify a friendly to send to Splunk as the host, instead of using the name of the HEC. Defaults to HASS

View File

@ -29,6 +29,7 @@ Configuration variables:
- **resource** (*Required*): The resource or endpoint that contains the value.
- **name** (*Optional*): Name of the REST switch.
- **method** (*Optional*): HTTP method to use (`post` or `put`). Defaults to `post`.
- **body_on** (*Optional*): The body of the POST request that commands the switch to become enabled. Default is "ON". This value can be a [template](/topics/templating/).
- **body_off** (*Optional*): The body of the POST request that commands the switch to become disabled. Default is "OFF". This value can also be a [template](/topics/templating/).
- **is_on_template** (*Optional*): A [template](/docs/configuration/templating/#processing-incoming-data) that determines the state of the switch from the value returned by the GET request on the resource URL. This template should compute to a boolean (True or False). If the value is valid JSON, it will be available in the template as the variable `value_json`. Default is equivalent to `'{% raw %}{{ value_json == body_on }}{% endraw %}'`. This means that by default, the state of the switch is on if and only if the response to the GET request matches .

View File

@ -115,13 +115,17 @@ switch:
This example shows how to change the icon based on the day/night cycle.
```yaml
sensor:
switch:
- platform: template
sensors:
day_night:
friendly_name: 'Day/Night'
value_template: {% raw %}'{% if is_state("sun.sun", "above_horizon") %}Day{% else %}Night{% endif %}'{% endraw %}
icon_template: {% raw %}'{% if is_state("sun.sun", "above_horizon") %}mdi:weather-sunny{% else %}mdi:weather-night{% endif %}'{% endraw %}
switches:
garage:
value_template: {% raw %}"{{ is_state(cover.garage_door', 'on') }}"{% endraw %}
turn_on:
service: cover.open_cover
entity_id: cover.garage_door
turn_off:
service: cover.close_cover
entity_id: cover.garage_door
icon_template: {% raw %}"{% if is_state('cover.garage_door', 'open') %}mdi:garage-open{% else %}mdi:garage{% endif %}"{% endraw %}
```

View File

@ -23,6 +23,23 @@ updater:
If you choose not to share any information when checking for updates, you can add `reporting: False`.
It is possible to report the components that you are using to the Home Assistant developers. This will help them focus on improving the popular ones. To enable this option, you have to add `include_used_components: True`.
```json
"components": [
"apcupsd",
"api",
"automation",
"binary_sensor",
"binary_sensor.zwave",
"camera",
"camera.uvc",
"config",
"config.core",
...
]
```
### {% linkable_title Notification %}
For an added bonus, an automation component can be created to send a message with a notifier when that state of this component's entity changes.

View File

@ -25,6 +25,23 @@ volvooncall:
password: password
```
Users registered with Volvo in North America or China will need to specify a service url:
```yaml
# North America
volvooncall:
username: username
password: password
service_url: 'https://vocapi-na.wirelesscar.net/customerapi/rest/v3.0/'
```
```yaml
# China
volvooncall:
username: username
password: password
service_url: 'https://vocapi-cn.wirelesscar.net/customerapi/rest/v3.0/'
```
A more advanced example for setting the vehicle name and selecting what resources to display:
```yaml
@ -44,6 +61,7 @@ Configuration variables:
- **username** (*Required*): The username associated with your Volvo On Call account.
- **password** (*Required*): The password for your given Volvo On Call account.
- **service_url** (*Optional*): The service URL to use for Volvo On Call (defaults to https://vocapi.wirelesscar.net/customerapi/rest/v3.0/).
- **name** (*Optional*): Make it possible to provide a name for the vehicles.
- **resources** (*Optional*): A list of resources to display (defaults to all available).

View File

@ -0,0 +1,48 @@
---
layout: page
title: "Buienradar Weather"
description: "Instructions how to integrate buienradar.nl weather within Home Assistant."
date: 2017-05-15 14:00
sidebar: true
comments: false
sharing: true
footer: true
logo:
ha_category: Weather
ha_release: 0.44
---
The `buienradar` platform uses [buienradar.nl](http://buienradar.nl/) as an source for current meteorological data for your location. The
weather forecast is delivered by Buienradar, who provides a webservice that provides detailed weather information for users in The Netherlands.
The relevant weatherstation used will be automatically selected based on the location specified in the Home Assistant configuration (or in the buienradar weather/sensor component).
To add the buienradar weather to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
weather:
- platform: buienradar
```
Configuration variables:
- **platform** (*Required*): buienradar
- **latitude** (*Optional*): latitude to use for selection of data source location. Longitude & latitude will be taken from Home Assistant configuration, but can be overridden/changed in this component to select a different location for buienradar.
- **longitude** (*Optional*): longitude to use for selection of data source location. Longitude & latitude will be taken from Home Assistant configuration, but can be overridden/changed in this component to select a different location for buienradar.
- **forecast** (*Optional*): 'True' to add a temperature forecast, 'False' to suppress it
A full configuration example:
```yaml
weather:
- platform: buienradar
name: buienradar
latitude: 51.65
longitude: 5.70
forecast: True
```
<p class='note'>
This platform is an alternative to the [`buienradar`](/components/sensor.buienradar/) sensor.
The weather platform is easier to configure but less customisable.
</p>

View File

@ -0,0 +1,44 @@
---
layout: page
title: "Yahoo Weather"
description: "Instructions how to integrate Yahoo Weather within Home Assistant."
date: 2016-07-06 9:06
sidebar: true
comments: false
sharing: true
footer: true
logo: yahooweather.png
ha_category: Weather
ha_release: 0.47
---
The `yweather` platform uses [Yahoo Weather](https://www.yahoo.com/news/weather/) as an source for current meteorological data. The `forecast` will show you the condition for 5 days, 0 is the current day.
<p class='note warning'>
Use of the Yahoo Weather API should not exceed reasonable request volume. Access is limited to 2000 signed calls per day.
</p>
The `woeid` (Where On Earth ID) for your location, as shown in the example below. You can find your WOEID by copying the numeric digits at the end of the URL for your location at [Yahoo Weather](https://www.yahoo.com/news/weather/). If you don't add a WOEID it generate it from Home Assistant's latitude and longitude.
To add Yahoo Weather to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
weather:
- platform: yweather
```
Configuration variables:
- **woeid** (*Optional*): See above.
- **forecast** (*Optional*): Day of forecast. The default is the current day to display conditions.
- **name** (*Optional*): The name of the sensor. To easily recognize each sensor when adding more than one Yahoo weather sensor, it is recommended to use the name option. Defaults to `Yweather`.
<p class='note'>
This platform is an alternative to the [`yweather`](/components/sensor.yweather/) sensor.
</p>
Details about the API are available in the [Yahoo! Developer Network](https://developer.yahoo.com/weather/).

View File

@ -12,6 +12,13 @@ redirect_from: /details/updater/
Starting with 0.31 the [updater component](/components/updater/) sends an optional report about Home Assistant instance.
If you want to opt-in to include component information, add `include_used_components` to your config. This will allow the Home Assistant developers to focus development efforts on the most popular components.
```yaml
updater:
include_used_components: true
```
We are only collecting this information to better understand our user base to provide better long term support and feature development.
| Name | Description | Example | Data Source |
@ -49,4 +56,4 @@ The server also adds two timestamps to the data:
- the original date your instance UUID was first seen
- the timestamp of the last time we have seen your instance
There are currently no plans to publicly expose any of this information. If we did do such a thing in the future we would of course notify you in advance. It must also be stated that we will never sell or allow the use of this information for non-Home Assistant purposes.
We will never publicly expose individual gathered data. We might however publish aggregated stats about our user base (example: 70% of all users use Linux). We will never sell or allow the use of this information for non-Home Assistant development purposes.

View File

@ -179,7 +179,7 @@
<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/ Databsase %}</li>
<li>{% active_link /docs/ecosystem/notebooks/database/ Database %}</li>
<li>{% active_link /docs/ecosystem/notebooks/stats/ Statistics %}</li>
</ul>
</li>

View File

@ -11,7 +11,7 @@ categories: Release-Notes
og_image: /images/blog/2017-05-0.44/components.png
---
<a href='/components/#added_in_current_version'><img src='/images/blog/2017-05-0.44/components.png' style='border: 0;box-shadow: none;'></a>
<a href='/components/#version/0.44'><img src='/images/blog/2017-05-0.44/components.png' style='border: 0;box-shadow: none;'></a>
This release brings some great new integrations. The biggest one is the [native ZigBee integration][zha docs] by [Russell Cloran][@rcloran]. This will allow Home Assistant to natively control Philips Hue lights without the need for a hub! (IKEA Tradfri lights not yet due to implementing a different profile)

View File

@ -11,7 +11,7 @@ categories: Release-Notes
og_image: /images/blog/2017-05-0.45/components.png
---
<a href='/components/#added_in_current_version'><img src='/images/blog/2017-05-0.45/components.png' style='border: 0;box-shadow: none;'></a>
<a href='/components/#version/0.45'><img src='/images/blog/2017-05-0.45/components.png' style='border: 0;box-shadow: none;'></a>
Welcome to another great release of Home Assistant! While some of contributors and users are gathering at PyCon US 2017, we still managed to get a great release together!

View File

@ -11,7 +11,7 @@ categories: Release-Notes
og_image: /images/blog/2017-06-0.46/components.png
---
<a href='/components/#added_in_current_version'><img src='/images/blog/2017-06-0.46/components.png' style='border: 0;box-shadow: none;'></a>
<a href='/components/#version/0.46'><img src='/images/blog/2017-06-0.46/components.png' style='border: 0;box-shadow: none;'></a>
It's time for 0.46! This release does not have too many new integrations, instead it focussed on bug fixes.

View File

@ -0,0 +1,522 @@
---
layout: post
title: "0.47: Python Scripts, Sesame Smart Lock, Gitter, Onvif cameras"
description: "Use Python to script Hass and enjoy a ton of new integrations. We now passed the 700 integrations!"
date: 2017-06-17 01:04:05 +0000
date_formatted: "June 17, 2017"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Release-Notes
og_image: /images/blog/2017-06-0.47/components.png
---
<a href='/components/#version/0.47'><img src='/images/blog/2017-06-0.47/components.png' style='border: 0;box-shadow: none;'></a>
In this release a ton of new stuff! And who doesn't like new stuff? This release we're passing the 700 integrations for Home Assistant. As of today [we're 1369 days old][first-commit], which means that roughly every two days a new integration gets added!
## {% linkable_title Python Scripts %}
The biggest change is a new type of script component: [Python scripts][python_script docs]. This new component will allow you to write scripts to manipulate Home Assistant: call services, set states and fire events. Each Python script is made available as a service. Head over to [the docs][python_script docs] to see how to get started.
## {% linkable_title Updater %}
The updater has received a new opt-in option to let us know which components you use. This will allow us to focus development efforts on the components that are popular.
```yaml
updater:
include_used_components: true
```
And as a reminder. We will never share gathered data in a manner that can be used to identify anyone. We do plan on making aggregate data public soon. This will include total number of users and which hardware/software platform people use to run Home Assistant.
## {% linkable_title Z-Wave %}
Z-Wave is also getting a big update in this release. The confusing entity_ids will be on their way out. There is a [zwave blog post] that gives more detail, but the upgrade steps will be as follows:
1. Run Home Assistant as normal and the old IDs will still be used.
2. The new entity IDs will be shown in the more-info dialog for each entity. Check to make sure none of them will have conflicts once the new names are applied.
3. Rename entities using the ui card as described in the blog post to avoid conflicts. Restart Home Assistant to observe the changes.
4. Update all places mentioning IDs (groups, automation, customization, etc.) in configuration.yaml.
5. Add `new_entity_ids: true` to your zwave config.
6. Restart Home Assistant to run with new IDs.
7. The old entity IDs will be available in the more info dialog to trace down any remaining errors.
## {% linkable_title New platforms %}
- Added a Taps Aff binary sensor ([@bazwilliams] - [#7880]) ([binary_sensor.tapsaff docs]) (new-platform)
- lock.sesame: New lock platform for Sesame smart locks ([@trisk] - [#7873]) ([lock.sesame docs]) (new-platform)
- Etherscan.io sensor ([@nkgilley] - [#7855]) ([sensor.etherscan docs]) (new-platform)
- blockchain.info sensor ([@nkgilley] - [#7856]) ([sensor.blockchain docs]) (new-platform)
- Add Radarr sensor ([@tboyce021] - [#7318]) ([sensor.radarr docs]) (new-platform)
- Added buienradar sensor and weather ([@mjj4791] - [#7592]) ([sensor.buienradar docs]) ([weather.buienradar docs]) (new-platform)
- Add support for Vanderbilt SPC alarm panels and attached sensors ([@mbrrg] - [#7663]) ([spc docs]) ([alarm_control_panel.spc docs]) ([binary_sensor.spc docs]) (new-platform)
- Add raspihats switch ([@florincosta] - [#7665]) ([switch.raspihats docs]) (new-platform)
- Add juicenet platform ([@jesserockz] - [#7668]) ([juicenet docs]) ([sensor.juicenet docs]) (new-platform)
- add ripple sensor ([@nkgilley] - [#7935]) ([sensor.ripple docs]) (new-platform)
- New component: Python Script ([@balloob] - [#7950]) ([python_script docs]) (new-platform)
- Nadtcp component ([@mwsluis] - [#7955]) ([media_player.nadtcp docs]) (new-platform)
- Add Gitter.im sensor ([@fabaff] - [#7998]) ([sensor.gitter docs]) (new-platform)
- Update mailgun ([@happyleavesaoc] - [#7984]) ([mailgun docs]) ([notify.mailgun docs]) (breaking change) (new-platform)
- Add Flexit AC climate platform ([@Sabesto] - [#7871]) ([climate.flexit docs]) (new-platform)
## {% linkable_title If you need help... %}
...don't hesitate to use our very active [forums][forum] or join us for a little [chat][gitter]. The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
## {% linkable_title Reporting Issues %}
Experiencing issues introduced by this release? Please report them in our [issue tracker][issue]. Make sure to fill in all fields of the issue template.
<!--more-->
## {% linkable_title Breaking changes %}
- Update opencv config to match other image processors ([@Teagan42] - [#7864]) ([image_processing.opencv docs]) (breaking change)
```yaml
image_processing:
- platform: opencv
name: OpenCV
source:
- entity_id: camera.front_door
classifier:
faces:
file: /path/to/classifier
name: Husband
neighbors: 4
min_size: (40, 40)
scale: 1.1
```
- Lutron: Add configuration check and use default var names ([@fabaff] - [#7963]) ([lutron docs]) ([light.lutron docs]) (breaking change)
```yaml
lutron:
host: IP_ADDRESS
username: lutron
password: integration
```
- Convert mailgun to component ([@happyleavesaoc] - [#7984]) ([mailgun docs]) ([notify.mailgun docs]) (breaking change) (new-platform)
```yaml
mailgun:
domain: !secret mailgun_domain
api_key: !secret mailgun_api_key
sandbox: False
notify:
- name: mailgun
platform: mailgun
recipient: !secret mailgun_recipient
```
- LIFX: add multiple modes to pulse effect. The `lifx_effect_breathe` call has been deprecated. Use `lifx_effect_pulse` with the new `mode: breathe` attribute instead. ([@amelchio] - [#8016]) ([light.lifx docs]) (breaking change)
- Use standard entity_ids for zwave entities. This also introduces a small API breakage, where `EVENT_SCENE_ACTIVATED` and `EVENT_NODE_EVENT` will no longer supply an `object_id`. They will now be tied to the node entity_id. ([@armills] - [#7786]) ([zwave docs]) ([light.zwave docs]) (breaking change)
- Fix attribute entities. Home Assistant will no longer filter out entities that are 'falsey'. So you might see more entity attributes show up. ([@pvizeli] - [#8066]) (breaking change)
## {% linkable_title All changes %}
- Update squeezebox.py ([@molobrakos] - [#7617]) ([media_player.squeezebox docs])
- Fix html5 unsub ([@balloob] - [#7874]) ([notify.html5 docs])
- Added effects to Yeelight bulbs ([@Mister-Espria] - [#7152]) ([light.yeelight docs])
- Enocean Binary Sensor: Handle click of both rockers ([@twendt] - [#7770]) ([binary_sensor.enocean docs])
- Support for renaming ZWave values ([@armills] - [#7780]) ([zwave docs])
- Fix telegram_bot ([@balloob] - [#7877]) ([telegram_bot.polling docs]) ([telegram_bot.webhooks docs])
- [light.lifx] Update aiolifx ([@amelchio] - [#7882]) ([light.lifx docs])
- Change nad_receiver to pypi ([@joopert] - [#7852]) ([media_player.nad docs])
- Switch pymyq to pypi ([@andrey-git] - [#7884]) ([cover.myq docs])
- Use constants ([@fabaff] - [#7888]) ([notify.xmpp docs])
- Upgrade pyasn1-modules to 0.0.9 ([@fabaff] - [#7887]) ([notify.xmpp docs])
- Upgrade sendgrid to 4.2.0 ([@fabaff] - [#7886]) ([notify.sendgrid docs])
- Upgrade python-telegram-bot to 6.0.3 ([@fabaff] - [#7885])
- Fix MQTT camera test ([@balloob] - [#7878])
- Added a Taps Aff binary sensor ([@bazwilliams] - [#7880]) ([binary_sensor.tapsaff docs]) (new-platform)
- lock.sesame: New lock platform for Sesame smart locks ([@trisk] - [#7873]) ([lock.sesame docs]) (new-platform)
- Dsmr5 revert ([@aequitas] - [#7900]) ([sensor.dsmr docs])
- Fix typos in Wunderground component (Percipitation -> Precipitation) ([@mje-nz] - [#7901]) ([sensor.wunderground docs])
- Add support for the expirationTime parameter. ([@perosb] - [#7895]) ([notify.html5 docs])
- Etherscan.io sensor ([@nkgilley] - [#7855]) ([sensor.etherscan docs]) (new-platform)
- blockchain.info sensor ([@nkgilley] - [#7856]) ([sensor.blockchain docs]) (new-platform)
- Mqtt cover modifications ([@cribbstechnologies] - [#7841]) ([cover.mqtt docs])
- Add Radarr sensor ([@tboyce021] - [#7318]) ([sensor.radarr docs]) (new-platform)
- Add service to set nest away/home modes ([@mattsch] - [#7619]) ([nest docs])
- Added buienradar sensor and weather ([@mjj4791] - [#7592]) ([sensor.buienradar docs]) ([weather.buienradar docs]) (new-platform)
- Add support for Vanderbilt SPC alarm panels and attached sensors ([@mbrrg] - [#7663]) ([spc docs]) ([alarm_control_panel.spc docs]) ([binary_sensor.spc docs]) (new-platform)
- Add raspihats switch ([@florincosta] - [#7665]) ([switch.raspihats docs]) (new-platform)
- Add 'icon_template' to switch templates (similar to sensor template) ([@PhracturedBlue] - [#7862]) ([switch.template docs])
- Fix docstring ([@fabaff] - [#7907])
- Sync crypto-currency platforms ([@fabaff] - [#7906]) ([sensor.bitcoin docs]) ([sensor.blockchain docs]) ([sensor.coinmarketcap docs]) ([sensor.etherscan docs])
- Move consts to 'const.py' ([@fabaff] - [#7909]) ([media_player.sonos docs]) ([sensor.imap_email_content docs]) ([sensor.pvoutput docs]) ([sensor.waqi docs])
- Minor cleanup - Define 'CONF_ICON_TEMPLATE' constant centrally ([@PhracturedBlue] - [#7910]) ([sensor.template docs]) ([switch.template docs])
- Do not call update() in constructor ([@fabaff] - [#7912]) ([sensor.cpuspeed docs]) ([sensor.cups docs]) ([sensor.currencylayer docs]) ([sensor.fixer docs])
- Add juicenet platform ([@jesserockz] - [#7668]) ([juicenet docs]) ([sensor.juicenet docs]) (new-platform)
- Bump pyEight version to fix 0hr session errors ([@mezz64] - [#7916]) ([eight_sleep docs])
- update to pywebpush 1.0.4 which allows install on system with openssl-1.1.0 (cryptography dep) ([@perosb] - [#7915]) ([notify.html5 docs])
- Do not call update() in constructor ([@fabaff] - [#7917]) ([sensor.dte_energy_bridge docs]) ([sensor.dublin_bus_transport docs]) ([sensor.dweet docs]) ([sensor.ebox docs]) ([sensor.ecobee docs]) ([sensor.hddtemp docs]) ([sensor.mold_indicator docs]) ([sensor.pi_hole docs]) ([sensor.yahoo_finance docs])
- Fix changes introduced with #7917 ([@fabaff] - [#7930]) ([sensor.waqi docs])
- Do not call update() in constructor ([@fabaff] - [#7931]) ([sensor.yweather docs])
- Add service_url config option to volvooncall ([@palp] - [#7919]) ([volvooncall docs])
- Added 'change' field to statistics sensor ([@jminn] - [#7820]) ([sensor.statistics docs])
- add ripple sensor ([@nkgilley] - [#7935]) ([sensor.ripple docs]) (new-platform)
- Add Yahoo! weather platform ([@fabaff] - [#7939])
- [media_player.sonos] Send media_stop on turn_off ([@Juggels] - [#7940]) ([media_player.sonos docs])
- update to 006 ([@joopert] - [#7945]) ([media_player.nad docs])
- Update ping.py ([@vrs01] - [#7944]) ([device_tracker.ping docs])
- Add option to display all input sources / Add support for favourite channels / Treat Marantz SR5008 as Denon AVR-X device ([@scarface-4711] - [#7949]) ([media_player.denonavr docs])
- [WIP] Fix opencv ([@Teagan42] - [#7864]) ([image_processing.opencv docs]) (breaking change)
- Upgrade coinmarketcap to 3.0.1 ([@fabaff] - [#7951]) ([sensor.coinmarketcap docs])
- test connection without needing admin rights ([@heinemml] - [#7947])
- Fix the negative values bug in history_stats ([@bokub] - [#7934])
- Vera colored light support ([@alanfischer] - [#7942]) ([vera docs]) ([light.vera docs])
- Fix typos ([@fabaff] - [#7957]) ([http docs]) ([fan.zwave docs])
- Osram lightify, removed double set to the lightify bridge in case of brightness changes ([@commento] - [#7662]) ([light.osramlightify docs])
- Add configuration check and use default var names ([@fabaff] - [#7963]) ([lutron docs]) ([light.lutron docs]) (breaking change)
- lock.sesame: Update pysesame, add state attributes ([@trisk] - [#7953]) ([lock.sesame docs])
- Fixed metadata issue ([@bazwilliams] - [#7932]) ([media_player.openhome docs])
- Create metoffice.py ([@cyberjacob] - [#7965]) ([sensor.metoffice docs])
- Prevent Roku doing I/O in event loop ([@balloob] - [#7969]) ([media_player.roku docs])
- Fix platforms being able to block startup ([@balloob] - [#7970])
- New component: Python Script ([@balloob] - [#7950]) ([python_script docs]) (new-platform)
- Nadtcp component ([@mwsluis] - [#7955]) ([media_player.nadtcp docs]) (new-platform)
- HomeMatic optimizations and code cleanup ([@danielperna84] - [#7986]) ([homematic docs]) ([binary_sensor.homematic docs]) ([cover.homematic docs]) ([sensor.homematic docs]) ([switch.homematic docs])
- Update eliqonline.py ([@molobrakos] - [#7977]) ([sensor.eliqonline docs])
- test that all lights turn off when no entity id is given ([@chilicheech] - [#7981])
- make `last_name` field optional ([@azogue] - [#7988])
- Bugfixing with version 0.4.4 of denonavr ([@scarface-4711] - [#7995]) ([media_player.denonavr docs])
- Upgrade py-cpuinfo to 3.3.0 ([@fabaff] - [#7992]) ([sensor.cpuspeed docs])
- LIFX: clean up internal color conversions ([@amelchio] - [#7964]) ([light.lifx docs])
- LIFX: add support for setting infrared level ([@amelchio] - [#8000]) ([light.lifx docs])
- dismiss service for persistent notifications ([@tedstriker] - [#7996]) ([persistent_notification docs])
- Add Gitter.im sensor ([@fabaff] - [#7998]) ([sensor.gitter docs]) (new-platform)
- Fixing Client connection error ([@sander76] - [#7991]) ([telegram_bot.polling docs])
- Additional demo fan with only speed support ([@armills] - [#7985])
- Update mailgun ([@happyleavesaoc] - [#7984]) ([mailgun docs]) ([notify.mailgun docs]) (breaking change) (new-platform)
- Fixed bug in spotify component. ([@soldag] - [#7976]) ([media_player.spotify docs])
- fixing potential null issue with optional param being parsed as a script ([@cribbstechnologies] - [#7928]) ([light.template docs])
- Make it more flexible (fixes #7954) ([@fabaff] - [#8001]) ([image_processing.seven_segments docs])
- Add Flexit AC climate platform ([@Sabesto] - [#7871]) ([climate.flexit docs]) (new-platform)
- update pyripple ([@nkgilley] - [#8015]) ([sensor.ripple docs])
- Allow put as method ([@fabaff] - [#8004]) ([switch.rest docs])
- Configure conversation for custom actions with keywords ([@mjsir911] - [#7734]) ([conversation docs])
- Remove globally disabled pylint issues ([@fabaff] - [#8005]) ([vera docs]) ([calendar.google docs]) ([climate.wink docs]) ([device_tracker.owntracks docs]) ([media_player.aquostv docs]) ([media_player.plex docs]) ([sensor.openevse docs])
- entity_id for service fan.turn_off is optional ([@chilicheech] - [#7982])
- Make percentage string values as floats/ints in InfluxDB ([@philhawthorne] - [#7879]) ([influxdb docs])
- Take in account Spotify account permissions ([@Tommatheussen] - [#8012]) ([media_player.spotify docs])
- Add Dyson Pure Cool Link support ([@CharlesBlonde] - [#7795])
- Allow device_tracker platforms to specify picture and icon upon discovery ([@andrey-git] - [#8018])
- Discover Z-Wave values by index ([@armills] - [#7853]) ([zwave docs])
- LIFX: add multiple modes to pulse effect ([@amelchio] - [#8016]) ([light.lifx docs]) (breaking change)
- Do not call update() in constructor ([@fabaff] - [#8048]) ([sensor.snmp docs])
- Upgrade pysnmp to 4.3.8 ([@fabaff] - [#8044]) ([device_tracker.snmp docs]) ([sensor.snmp docs])
- Upgrade zeroconf to 0.19.1 ([@fabaff] - [#8043]) ([zeroconf docs])
- Vera fix for dimmable vs rgb lights ([@alanfischer] - [#8007]) ([vera docs]) ([light.vera docs])
- Group service / dynamic handling ([@pvizeli] - [#7971]) ([group docs])
- Adding ssocr to docker to support Seven Segments Display ([@MartyTremblay] - [#8028])
- Added host variable to Splunk.py and updated tox tests ([@boojew] - [#8052]) ([splunk docs])
- Restrict Python Script ([@balloob] - [#8053]) ([python_script docs])
- Fixed the Wind sensor following new release of netatmo-api-python ([@glpatcern] - [#8030]) ([netatmo docs]) ([sensor.netatmo docs])
- media_player.firetv - Adding support for https. ([@coolcow] - [#8022]) ([media_player.firetv docs])
- Added ONVIF camera component ([@matt2005] - [#7979])
- Provide entity_id to avoid sensor mixup (fixes #7636). Use async_dispatcher. Provide icon. ([@molobrakos] - [#7946]) ([volvooncall docs])
- Updater improvements to send option component information ([@infamy] - [#7720]) ([updater docs])
- Use standard entity_ids for zwave entities ([@armills] - [#7786]) ([zwave docs]) ([light.zwave docs]) (breaking change)
- Update numpy 1.13.0 ([@pvizeli] - [#8059]) ([image_processing.opencv docs])
- No update in MQTT Binary Sensor #7478 ([@pezinek] - [#8057])
- Always enable monkey patch ([@balloob] - [#8054])
- Add to zwave services descriptions ([@andrey-git] - [#8072])
- Fix attribute entity ([@pvizeli] - [#8066]) (breaking change)
- Added 'all_plants' group and support for plant groups state. ([@aronsky] - [#8063]) ([group docs]) ([plant docs])
- Fix EntityComponent handle entities without a name ([@balloob] - [#8065])
- Update pyunifi component to use APIError passed from pyunifi 2.13. Better accommodate login failures with wrapper in pyunifi 2.13. ([@finish06] - [#7899]) ([device_tracker.unifi docs])
- bump usps version ([@happyleavesaoc] - [#8074]) ([sensor.usps docs])
- bump ups ([@happyleavesaoc] - [#8075]) ([sensor.ups docs])
[#7152]: https://github.com/home-assistant/home-assistant/pull/7152
[#7318]: https://github.com/home-assistant/home-assistant/pull/7318
[#7592]: https://github.com/home-assistant/home-assistant/pull/7592
[#7617]: https://github.com/home-assistant/home-assistant/pull/7617
[#7619]: https://github.com/home-assistant/home-assistant/pull/7619
[#7662]: https://github.com/home-assistant/home-assistant/pull/7662
[#7663]: https://github.com/home-assistant/home-assistant/pull/7663
[#7665]: https://github.com/home-assistant/home-assistant/pull/7665
[#7668]: https://github.com/home-assistant/home-assistant/pull/7668
[#7720]: https://github.com/home-assistant/home-assistant/pull/7720
[#7734]: https://github.com/home-assistant/home-assistant/pull/7734
[#7770]: https://github.com/home-assistant/home-assistant/pull/7770
[#7780]: https://github.com/home-assistant/home-assistant/pull/7780
[#7786]: https://github.com/home-assistant/home-assistant/pull/7786
[#7795]: https://github.com/home-assistant/home-assistant/pull/7795
[#7820]: https://github.com/home-assistant/home-assistant/pull/7820
[#7841]: https://github.com/home-assistant/home-assistant/pull/7841
[#7852]: https://github.com/home-assistant/home-assistant/pull/7852
[#7853]: https://github.com/home-assistant/home-assistant/pull/7853
[#7855]: https://github.com/home-assistant/home-assistant/pull/7855
[#7856]: https://github.com/home-assistant/home-assistant/pull/7856
[#7862]: https://github.com/home-assistant/home-assistant/pull/7862
[#7864]: https://github.com/home-assistant/home-assistant/pull/7864
[#7871]: https://github.com/home-assistant/home-assistant/pull/7871
[#7873]: https://github.com/home-assistant/home-assistant/pull/7873
[#7874]: https://github.com/home-assistant/home-assistant/pull/7874
[#7877]: https://github.com/home-assistant/home-assistant/pull/7877
[#7878]: https://github.com/home-assistant/home-assistant/pull/7878
[#7879]: https://github.com/home-assistant/home-assistant/pull/7879
[#7880]: https://github.com/home-assistant/home-assistant/pull/7880
[#7882]: https://github.com/home-assistant/home-assistant/pull/7882
[#7884]: https://github.com/home-assistant/home-assistant/pull/7884
[#7885]: https://github.com/home-assistant/home-assistant/pull/7885
[#7886]: https://github.com/home-assistant/home-assistant/pull/7886
[#7887]: https://github.com/home-assistant/home-assistant/pull/7887
[#7888]: https://github.com/home-assistant/home-assistant/pull/7888
[#7895]: https://github.com/home-assistant/home-assistant/pull/7895
[#7899]: https://github.com/home-assistant/home-assistant/pull/7899
[#7900]: https://github.com/home-assistant/home-assistant/pull/7900
[#7901]: https://github.com/home-assistant/home-assistant/pull/7901
[#7906]: https://github.com/home-assistant/home-assistant/pull/7906
[#7907]: https://github.com/home-assistant/home-assistant/pull/7907
[#7909]: https://github.com/home-assistant/home-assistant/pull/7909
[#7910]: https://github.com/home-assistant/home-assistant/pull/7910
[#7912]: https://github.com/home-assistant/home-assistant/pull/7912
[#7915]: https://github.com/home-assistant/home-assistant/pull/7915
[#7916]: https://github.com/home-assistant/home-assistant/pull/7916
[#7917]: https://github.com/home-assistant/home-assistant/pull/7917
[#7919]: https://github.com/home-assistant/home-assistant/pull/7919
[#7928]: https://github.com/home-assistant/home-assistant/pull/7928
[#7930]: https://github.com/home-assistant/home-assistant/pull/7930
[#7931]: https://github.com/home-assistant/home-assistant/pull/7931
[#7932]: https://github.com/home-assistant/home-assistant/pull/7932
[#7934]: https://github.com/home-assistant/home-assistant/pull/7934
[#7935]: https://github.com/home-assistant/home-assistant/pull/7935
[#7939]: https://github.com/home-assistant/home-assistant/pull/7939
[#7940]: https://github.com/home-assistant/home-assistant/pull/7940
[#7942]: https://github.com/home-assistant/home-assistant/pull/7942
[#7944]: https://github.com/home-assistant/home-assistant/pull/7944
[#7945]: https://github.com/home-assistant/home-assistant/pull/7945
[#7946]: https://github.com/home-assistant/home-assistant/pull/7946
[#7947]: https://github.com/home-assistant/home-assistant/pull/7947
[#7949]: https://github.com/home-assistant/home-assistant/pull/7949
[#7950]: https://github.com/home-assistant/home-assistant/pull/7950
[#7951]: https://github.com/home-assistant/home-assistant/pull/7951
[#7953]: https://github.com/home-assistant/home-assistant/pull/7953
[#7955]: https://github.com/home-assistant/home-assistant/pull/7955
[#7957]: https://github.com/home-assistant/home-assistant/pull/7957
[#7963]: https://github.com/home-assistant/home-assistant/pull/7963
[#7964]: https://github.com/home-assistant/home-assistant/pull/7964
[#7965]: https://github.com/home-assistant/home-assistant/pull/7965
[#7969]: https://github.com/home-assistant/home-assistant/pull/7969
[#7970]: https://github.com/home-assistant/home-assistant/pull/7970
[#7971]: https://github.com/home-assistant/home-assistant/pull/7971
[#7976]: https://github.com/home-assistant/home-assistant/pull/7976
[#7977]: https://github.com/home-assistant/home-assistant/pull/7977
[#7979]: https://github.com/home-assistant/home-assistant/pull/7979
[#7981]: https://github.com/home-assistant/home-assistant/pull/7981
[#7982]: https://github.com/home-assistant/home-assistant/pull/7982
[#7984]: https://github.com/home-assistant/home-assistant/pull/7984
[#7985]: https://github.com/home-assistant/home-assistant/pull/7985
[#7986]: https://github.com/home-assistant/home-assistant/pull/7986
[#7988]: https://github.com/home-assistant/home-assistant/pull/7988
[#7991]: https://github.com/home-assistant/home-assistant/pull/7991
[#7992]: https://github.com/home-assistant/home-assistant/pull/7992
[#7995]: https://github.com/home-assistant/home-assistant/pull/7995
[#7996]: https://github.com/home-assistant/home-assistant/pull/7996
[#7998]: https://github.com/home-assistant/home-assistant/pull/7998
[#8000]: https://github.com/home-assistant/home-assistant/pull/8000
[#8001]: https://github.com/home-assistant/home-assistant/pull/8001
[#8004]: https://github.com/home-assistant/home-assistant/pull/8004
[#8005]: https://github.com/home-assistant/home-assistant/pull/8005
[#8007]: https://github.com/home-assistant/home-assistant/pull/8007
[#8012]: https://github.com/home-assistant/home-assistant/pull/8012
[#8015]: https://github.com/home-assistant/home-assistant/pull/8015
[#8016]: https://github.com/home-assistant/home-assistant/pull/8016
[#8018]: https://github.com/home-assistant/home-assistant/pull/8018
[#8022]: https://github.com/home-assistant/home-assistant/pull/8022
[#8028]: https://github.com/home-assistant/home-assistant/pull/8028
[#8030]: https://github.com/home-assistant/home-assistant/pull/8030
[#8043]: https://github.com/home-assistant/home-assistant/pull/8043
[#8044]: https://github.com/home-assistant/home-assistant/pull/8044
[#8048]: https://github.com/home-assistant/home-assistant/pull/8048
[#8052]: https://github.com/home-assistant/home-assistant/pull/8052
[#8053]: https://github.com/home-assistant/home-assistant/pull/8053
[#8054]: https://github.com/home-assistant/home-assistant/pull/8054
[#8057]: https://github.com/home-assistant/home-assistant/pull/8057
[#8059]: https://github.com/home-assistant/home-assistant/pull/8059
[#8063]: https://github.com/home-assistant/home-assistant/pull/8063
[#8065]: https://github.com/home-assistant/home-assistant/pull/8065
[#8066]: https://github.com/home-assistant/home-assistant/pull/8066
[#8072]: https://github.com/home-assistant/home-assistant/pull/8072
[#8074]: https://github.com/home-assistant/home-assistant/pull/8074
[#8075]: https://github.com/home-assistant/home-assistant/pull/8075
[@CharlesBlonde]: https://github.com/CharlesBlonde
[@Juggels]: https://github.com/Juggels
[@MartyTremblay]: https://github.com/MartyTremblay
[@Mister-Espria]: https://github.com/Mister-Espria
[@PhracturedBlue]: https://github.com/PhracturedBlue
[@Sabesto]: https://github.com/Sabesto
[@Teagan42]: https://github.com/Teagan42
[@Tommatheussen]: https://github.com/Tommatheussen
[@aequitas]: https://github.com/aequitas
[@alanfischer]: https://github.com/alanfischer
[@amelchio]: https://github.com/amelchio
[@andrey-git]: https://github.com/andrey-git
[@armills]: https://github.com/armills
[@aronsky]: https://github.com/aronsky
[@azogue]: https://github.com/azogue
[@balloob]: https://github.com/balloob
[@bazwilliams]: https://github.com/bazwilliams
[@bokub]: https://github.com/bokub
[@boojew]: https://github.com/boojew
[@chilicheech]: https://github.com/chilicheech
[@commento]: https://github.com/commento
[@coolcow]: https://github.com/coolcow
[@cribbstechnologies]: https://github.com/cribbstechnologies
[@cyberjacob]: https://github.com/cyberjacob
[@danielperna84]: https://github.com/danielperna84
[@fabaff]: https://github.com/fabaff
[@finish06]: https://github.com/finish06
[@florincosta]: https://github.com/florincosta
[@glpatcern]: https://github.com/glpatcern
[@happyleavesaoc]: https://github.com/happyleavesaoc
[@heinemml]: https://github.com/heinemml
[@infamy]: https://github.com/infamy
[@jesserockz]: https://github.com/jesserockz
[@jminn]: https://github.com/jminn
[@joopert]: https://github.com/joopert
[@matt2005]: https://github.com/matt2005
[@mattsch]: https://github.com/mattsch
[@mbrrg]: https://github.com/mbrrg
[@mezz64]: https://github.com/mezz64
[@mje-nz]: https://github.com/mje-nz
[@mjj4791]: https://github.com/mjj4791
[@mjsir911]: https://github.com/mjsir911
[@molobrakos]: https://github.com/molobrakos
[@mwsluis]: https://github.com/mwsluis
[@nkgilley]: https://github.com/nkgilley
[@palp]: https://github.com/palp
[@perosb]: https://github.com/perosb
[@pezinek]: https://github.com/pezinek
[@philhawthorne]: https://github.com/philhawthorne
[@pvizeli]: https://github.com/pvizeli
[@sander76]: https://github.com/sander76
[@scarface-4711]: https://github.com/scarface-4711
[@soldag]: https://github.com/soldag
[@tboyce021]: https://github.com/tboyce021
[@tedstriker]: https://github.com/tedstriker
[@trisk]: https://github.com/trisk
[@twendt]: https://github.com/twendt
[@vrs01]: https://github.com/vrs01
[alarm_control_panel.spc docs]: https://home-assistant.io/components/alarm_control_panel.spc/
[binary_sensor.enocean docs]: https://home-assistant.io/components/binary_sensor.enocean/
[binary_sensor.homematic docs]: https://home-assistant.io/components/binary_sensor.homematic/
[binary_sensor.spc docs]: https://home-assistant.io/components/binary_sensor.spc/
[binary_sensor.tapsaff docs]: https://home-assistant.io/components/binary_sensor.tapsaff/
[calendar.google docs]: https://home-assistant.io/components/calendar.google/
[climate.flexit docs]: https://home-assistant.io/components/climate.flexit/
[climate.wink docs]: https://home-assistant.io/components/climate.wink/
[conversation docs]: https://home-assistant.io/components/conversation/
[cover.homematic docs]: https://home-assistant.io/components/cover.homematic/
[cover.mqtt docs]: https://home-assistant.io/components/cover.mqtt/
[cover.myq docs]: https://home-assistant.io/components/cover.myq/
[device_tracker.__init__ docs]: https://home-assistant.io/components/device_tracker.__init__/
[device_tracker.owntracks docs]: https://home-assistant.io/components/device_tracker.owntracks/
[device_tracker.ping docs]: https://home-assistant.io/components/device_tracker.ping/
[device_tracker.snmp docs]: https://home-assistant.io/components/device_tracker.snmp/
[device_tracker.unifi docs]: https://home-assistant.io/components/device_tracker.unifi/
[eight_sleep docs]: https://home-assistant.io/components/eight_sleep/
[fan.__init__ docs]: https://home-assistant.io/components/fan.__init__/
[fan.demo docs]: https://home-assistant.io/components/fan.demo/
[fan.zwave docs]: https://home-assistant.io/components/fan.zwave/
[group docs]: https://home-assistant.io/components/group/
[homematic docs]: https://home-assistant.io/components/homematic/
[http docs]: https://home-assistant.io/components/http/
[image_processing.opencv docs]: https://home-assistant.io/components/image_processing.opencv/
[image_processing.seven_segments docs]: https://home-assistant.io/components/image_processing.seven_segments/
[influxdb docs]: https://home-assistant.io/components/influxdb/
[juicenet docs]: https://home-assistant.io/components/juicenet/
[light.lifx docs]: https://home-assistant.io/components/light.lifx/
[light.lutron docs]: https://home-assistant.io/components/light.lutron/
[light.osramlightify docs]: https://home-assistant.io/components/light.osramlightify/
[light.template docs]: https://home-assistant.io/components/light.template/
[light.vera docs]: https://home-assistant.io/components/light.vera/
[light.yeelight docs]: https://home-assistant.io/components/light.yeelight/
[light.zwave docs]: https://home-assistant.io/components/light.zwave/
[lock.sesame docs]: https://home-assistant.io/components/lock.sesame/
[lutron docs]: https://home-assistant.io/components/lutron/
[mailgun docs]: https://home-assistant.io/components/mailgun/
[media_player.aquostv docs]: https://home-assistant.io/components/media_player.aquostv/
[media_player.denonavr docs]: https://home-assistant.io/components/media_player.denonavr/
[media_player.firetv docs]: https://home-assistant.io/components/media_player.firetv/
[media_player.nad docs]: https://home-assistant.io/components/media_player.nad/
[media_player.nadtcp docs]: https://home-assistant.io/components/media_player.nadtcp/
[media_player.openhome docs]: https://home-assistant.io/components/media_player.openhome/
[media_player.plex docs]: https://home-assistant.io/components/media_player.plex/
[media_player.roku docs]: https://home-assistant.io/components/media_player.roku/
[media_player.sonos docs]: https://home-assistant.io/components/media_player.sonos/
[media_player.spotify docs]: https://home-assistant.io/components/media_player.spotify/
[media_player.squeezebox docs]: https://home-assistant.io/components/media_player.squeezebox/
[mqtt.__init__ docs]: https://home-assistant.io/components/mqtt.__init__/
[nest docs]: https://home-assistant.io/components/nest/
[netatmo docs]: https://home-assistant.io/components/netatmo/
[notify.html5 docs]: https://home-assistant.io/components/notify.html5/
[notify.mailgun docs]: https://home-assistant.io/components/notify.mailgun/
[notify.sendgrid docs]: https://home-assistant.io/components/notify.sendgrid/
[notify.xmpp docs]: https://home-assistant.io/components/notify.xmpp/
[opencv docs]: https://home-assistant.io/components/opencv/
[persistent_notification docs]: https://home-assistant.io/components/persistent_notification/
[plant docs]: https://home-assistant.io/components/plant/
[python_script docs]: https://home-assistant.io/components/python_script/
[sensor.bitcoin docs]: https://home-assistant.io/components/sensor.bitcoin/
[sensor.blockchain docs]: https://home-assistant.io/components/sensor.blockchain/
[sensor.buienradar docs]: https://home-assistant.io/components/sensor.buienradar/
[sensor.coinmarketcap docs]: https://home-assistant.io/components/sensor.coinmarketcap/
[sensor.cpuspeed docs]: https://home-assistant.io/components/sensor.cpuspeed/
[sensor.cups docs]: https://home-assistant.io/components/sensor.cups/
[sensor.currencylayer docs]: https://home-assistant.io/components/sensor.currencylayer/
[sensor.dsmr docs]: https://home-assistant.io/components/sensor.dsmr/
[sensor.dte_energy_bridge docs]: https://home-assistant.io/components/sensor.dte_energy_bridge/
[sensor.dublin_bus_transport docs]: https://home-assistant.io/components/sensor.dublin_bus_transport/
[sensor.dweet docs]: https://home-assistant.io/components/sensor.dweet/
[sensor.ebox docs]: https://home-assistant.io/components/sensor.ebox/
[sensor.ecobee docs]: https://home-assistant.io/components/sensor.ecobee/
[sensor.eliqonline docs]: https://home-assistant.io/components/sensor.eliqonline/
[sensor.etherscan docs]: https://home-assistant.io/components/sensor.etherscan/
[sensor.fixer docs]: https://home-assistant.io/components/sensor.fixer/
[sensor.gitter docs]: https://home-assistant.io/components/sensor.gitter/
[sensor.hddtemp docs]: https://home-assistant.io/components/sensor.hddtemp/
[sensor.homematic docs]: https://home-assistant.io/components/sensor.homematic/
[sensor.imap_email_content docs]: https://home-assistant.io/components/sensor.imap_email_content/
[sensor.juicenet docs]: https://home-assistant.io/components/sensor.juicenet/
[sensor.metoffice docs]: https://home-assistant.io/components/sensor.metoffice/
[sensor.mold_indicator docs]: https://home-assistant.io/components/sensor.mold_indicator/
[sensor.netatmo docs]: https://home-assistant.io/components/sensor.netatmo/
[sensor.openevse docs]: https://home-assistant.io/components/sensor.openevse/
[sensor.pi_hole docs]: https://home-assistant.io/components/sensor.pi_hole/
[sensor.pvoutput docs]: https://home-assistant.io/components/sensor.pvoutput/
[sensor.radarr docs]: https://home-assistant.io/components/sensor.radarr/
[sensor.ripple docs]: https://home-assistant.io/components/sensor.ripple/
[sensor.snmp docs]: https://home-assistant.io/components/sensor.snmp/
[sensor.statistics docs]: https://home-assistant.io/components/sensor.statistics/
[sensor.template docs]: https://home-assistant.io/components/sensor.template/
[sensor.ups docs]: https://home-assistant.io/components/sensor.ups/
[sensor.usps docs]: https://home-assistant.io/components/sensor.usps/
[sensor.waqi docs]: https://home-assistant.io/components/sensor.waqi/
[sensor.wunderground docs]: https://home-assistant.io/components/sensor.wunderground/
[sensor.yahoo_finance docs]: https://home-assistant.io/components/sensor.yahoo_finance/
[sensor.yweather docs]: https://home-assistant.io/components/sensor.yweather/
[spc docs]: https://home-assistant.io/components/spc/
[splunk docs]: https://home-assistant.io/components/splunk/
[switch.homematic docs]: https://home-assistant.io/components/switch.homematic/
[switch.raspihats docs]: https://home-assistant.io/components/switch.raspihats/
[switch.rest docs]: https://home-assistant.io/components/switch.rest/
[switch.template docs]: https://home-assistant.io/components/switch.template/
[telegram_bot.__init__ docs]: https://home-assistant.io/components/telegram_bot.__init__/
[telegram_bot.polling docs]: https://home-assistant.io/components/telegram_bot.polling/
[telegram_bot.webhooks docs]: https://home-assistant.io/components/telegram_bot.webhooks/
[updater docs]: https://home-assistant.io/components/updater/
[vera docs]: https://home-assistant.io/components/vera/
[volvooncall docs]: https://home-assistant.io/components/volvooncall/
[weather.buienradar docs]: https://home-assistant.io/components/weather.buienradar/
[zeroconf docs]: https://home-assistant.io/components/zeroconf/
[zwave docs]: https://home-assistant.io/components/zwave/
[zwave blog post]: https://home-assistant.io/blog/2017/06/15/zwave-entity-ids/
[forum]: https://community.home-assistant.io/
[gitter]: https://gitter.im/home-assistant/home-assistant
[issue]: https://github.com/home-assistant/home-assistant/issues
[first-commit]: https://home-assistant.io/help/trivia/#first-commit

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

BIN
source/images/onvif.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Some files were not shown because too many files have changed in this diff Show More