Merge branch 'rc' into current

This commit is contained in:
Paulus Schoutsen 2018-06-08 18:07:18 -04:00
commit 64a3ac89b4
42 changed files with 1295 additions and 162 deletions

View File

@ -139,14 +139,14 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 70
current_patch_version: 1
date_released: 2018-05-31
current_minor_version: 71
current_patch_version: 0
date_released: 2018-06-08
# 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-0701---may-31"
patch_version_notes: "#"
# Minor release (Example #release-0431---april-25):
# Date we moved to Discourse for comments

View File

@ -0,0 +1,41 @@
---
layout: page
title: "Hunter Hydrawise Binary Sensor"
description: "Instructions on how to integrate your Hunter Hydrawise Wi-Fi irrigation control system within Home Assistant."
date: 2018-04-11 08:02
sidebar: true
comments: false
sharing: true
footer: true
logo: hydrawise_logo.png
ha_category: Binary Sensor
ha_release: 0.71
ha_iot_class: Cloud Polling
---
Before setting up the [Hunter Hydrawise](https://hydrawise.com) binary sensors please follow the instructions for setting up the [Hydrawise hub](/components/hydrawise) component.
Once you have enabled the `hydrawise` component, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
binary_sensor:
- platform: hydrawise
```
{% configuration %}
monitored_conditions:
description: The binary sensors that should be displayed on the frontend.
required: false
type: list
default: All binary sensors are enabled.
keys:
is_watering:
description: The binary sensor is `on` when the zone is actively watering.
rain_sensor:
description: Is `on` when the rain_sensor (if installed on the controller) is active (wet).
status:
description: This will indicate `on` when there is a connection to the Hydrawise cloud. It is not an indication of whether the irrigation controller hardware is online.
{% endconfiguration %}
Finish the configuration by visiting the [Hydrawise sensor](/components/sensor.hydrawise/) and [Hydrawise switch](/components/switch.hydrawise/) documentation.

View File

@ -39,6 +39,8 @@ Configuration variables:
The following conditions are available by device:
- Nest Home:
- away
- Nest Thermostat:
- online
- fan

View File

@ -0,0 +1,23 @@
---
layout: page
title: "RainMachine Binary Sensor"
description: "Instructions on how to use RainMachine binary sensors with Home Assistant."
date: 2018-05-06 21:26
sidebar: true
comments: false
sharing: true
footer: true
logo: rainmachine.png
ha_category: Binary Sensor
ha_iot_class: "Cloud Polling"
ha_release: 0.71
---
The `rainmachine` binary sensor platform allows you to view crucial sensor data
within a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.com/).
<p class='note'>
You must have the [RainMachine component](https://www.home-assistant.io/components/rainmachine/)
configured to use this platform. After configuring that component, binary
sensors automatically appear.
</p>

View File

@ -0,0 +1,21 @@
---
layout: page
title: "HomematicIP Cloud Climate"
description: "Instructions on how to integrate HomematicIP climate within Home Assistant."
date: 2018-05-18 22:40
sidebar: true
comments: false
sharing: true
footer: true
logo: homematicip_cloud.png
ha_category: Sensor
ha_release: 0.71
ha_iot_class: "Cloud Push"
---
The `homematicip_cloud` climate platform allows you to control
[HomematicIP](https://www.homematic-ip.com) climate through Home Assistant.
Devices will be configured automatically. Please refer to the
[component](/components/homematicip_cloud/) configuration on how to setup
HomematicIP Cloud.

View File

@ -0,0 +1,59 @@
---
layout: page
title: "Ryobi GDO Cover"
description: "Instructions on how to integrate Ryobi Garage Door Opener (RyobiGDO) within Home Assistant."
date: 2018-04-22 09:00
sidebar: true
comments: false
sharing: true
footer: true
logo: ryobi.png
ha_category: Cover
ha_release: 0.71
ha_iot_class: "Cloud Polling"
---
The `ryobi_gdo` cover platform lets you control [Ryobi](https://www.ryobitools.com/gdo/) garage door opener through Home Assistant.
## {% linkable_title Setup %}
In order to be able to use your Ryobi garage door opener, you will have to get the DEVICE_ID_OF_YOUR_COVER (one for each garage door).
The DEVICE_ID_OF_YOUR_COVER can be retrieved using `curl`, simply use your username and password using the following example. Your `DEVICE_ID_OF_YOUR_COVER` will be `varName`:
```bash
$ curl -H "Content-Type: application/json" -X GET \
-d '{"username":"RYOBIGDO_USERNAME","password":"RYOBIGDO_PASSWORD"}' \
https://tti.tiwiconnect.com/api/devices
```
## {% linkable_title Configuration %}
To enable Ryobi covers in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
cover:
- platform: ryobi_gdo
username: RYOBIGDO_USERNAME
password: RYOBIGDO_PASSWORD
device_id:
- DEVICE_ID_OF_YOUR_COVER#1
- DEVICE_ID_OF_YOUR_COVER#2
```
{% configuration %}
username:
description: Your RyobiGDO account username.
required: true
type: string
password:
description: Your RyobiGDO account password.
required: true
type: string
device_id:
description: List of your doors.
required: true
type: list
{% endconfiguration %}

View File

@ -42,6 +42,7 @@ Configuration variables:
- **host** (*Required*): The IP address of your router, e.g., `192.168.1.1`.
- **username** (*Required*): The username of an user with administrative privileges, usually `admin`.
- **password** (*Required*): The password for your given admin account.
- **ssl** (*Optional*): If your router enforces SSL connections, set to `true`. Defaults to `false`.
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -30,9 +30,18 @@ homekit:
include_domains:
- alarm_control_panel
- light
- media_player
entity_config:
alarm_control_panel.home:
code: 1234
media_player.living_room:
feature_list:
- feature: on_off
- feature: play_pause
- feature: play_stop
- feature: toggle_mute
switch.bedroom_outlet:
type: outlet
```
{% configuration %}
@ -95,6 +104,20 @@ homekit:
required: false
type: string
default: '`<No code>`'
feature_list:
description: Only for `media_player` entities. List of feature dictionaries to add for a given entity. Comparable to the platform schema.
required: false
type: list
keys:
feature:
description: Name of the feature to add to the entity representation. Valid features are `on_off`, `play_pause`, `play_stop` and `toogle_mute`. The media_player entity must support the feature to be valid.
required: true
type: string
type:
description: Only for `switch` entities. Type of accessory to be created within HomeKit. Valid types are `switch` and `outlet`.
required: false
type: string
default: switch
{% endconfiguration %}
<p class='note'>
@ -221,6 +244,7 @@ The following components are currently supported:
| Component | Type Name | Description |
| --------- | --------- | ----------- |
| alarm_control_panel | SecuritySystem | All security systems. |
| automation / input_boolean / remote / script | Switch | All represented as switches. |
| binary_sensor | Sensor | Support for `co2`, `door`, `garage_door`, `gas`, `moisture`, `motion`, `occupancy`, `opening`, `smoke` and `window` device classes. Defaults to the `occupancy` device class for everything else. |
| climate | Thermostat | All climate devices. |
| cover | GarageDoorOpener | All covers that support `open` and `close` and have `garage` as their `device_class`. |
@ -228,15 +252,16 @@ The following components are currently supported:
| cover | WindowCovering | All covers that support `open_cover` and `close_cover` through value mapping. (`open` -> `>=50`; `close` -> `<50`) |
| cover | WindowCovering | All covers that support `open_cover`, `stop_cover` and `close_cover` through value mapping. (`open` -> `>70`; `close` -> `<30`; `stop` -> every value in between) |
| device_tracker | Sensor | Support for `occupancy` device class. |
| fan | Fan | Support for `on / off`, `direction` and `oscillating`. |
| fan | Fan | Support for `on / off`, `direction` and `oscillating`. |
| light | Light | Support for `on / off`, `brightness` and `rgb_color`. |
| lock | DoorLock | Support for `lock / unlock`. |
| media_player | MediaPlayer | Represented as a series of switches which control `on / off`, `play / pause`, `play / stop`, or `mute` depending on `supported_features` of entity and the `mode` list specified in `entity_config`. |
| sensor | TemperatureSensor | All sensors that have `Celsius` or `Fahrenheit` as their `unit_of_measurement` or `temperature` as their `device_class`. |
| sensor | HumiditySensor | All sensors that have `%` as their `unit_of_measurement` and `humidity` as their `device_class`. |
| sensor | AirQualitySensor | All sensors that have `pm25` as part of their `entity_id` or `pm25` as their `device_class` |
| sensor | CarbonDioxideSensor | All sensors that have `co2` as part of their `entity_id` or `co2` as their `device_class` |
| sensor | LightSensor | All sensors that have `lm` or `lx` as their `unit_of_measurement` or `illuminance` as their `device_class` |
| switch / remote / input_boolean / script | Switch | All represented as switches. |
| switch | Switch | Represented as a switch by default but can be changed by using `type` within `entity_config`. |
## {% linkable_title Error reporting %}

View File

@ -0,0 +1,40 @@
---
layout: page
title: "Hunter Hydrawise"
description: "Instructions on how to integrate your Hunter Hydrawise Wi-Fi irrigation control system within Home Assistant."
date: 2018-04-11 08:02
sidebar: true
comments: false
sharing: true
footer: true
logo: hydrawise_logo.png
ha_category: Hub
ha_release: 0.71
ha_iot_class: Cloud Polling
---
The `hydrawise` component allows you to integrate your [Hunter Hydrawise](https://hydrawise.com) Wi-Fi irrigation controller system in Home Assistant.
To enable it, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
hydrawise:
access_token: YOUR_API_KEY
```
{% configuration %}
access_token:
description: The API KEY assigned to your Hydrawise account.
required: true
type: string
scan_interval:
description: The time interval, in seconds, to poll the Hydrawise cloud.
required: false
type: int
default: 30
{% endconfiguration %}
To get your API access token log into your [Hydrawise account](https://app.hydrawise.com/config/account) and in the 'My Account Details' section under Account Settings click 'Generate API Key'. Enter that key in your configuration file as the `API_KEY`.
Finish the configuration by visiting the [Hydrawise binary sensor](/components/binary_sensor.hydrawise/), [Hydrawise sensor](/components/sensor.hydrawise/) and [Hydrawise switch](/components/switch.hydrawise/) documentation.

View File

@ -15,7 +15,7 @@ ha_iot_class: "Local Push"
Receive signals from a keyboard and use it as a remote control.
This component allows you to use a keyboard as remote control. It will fire `keyboard_remote_command_received` events which can then be used in automation rules.
This component allows you to use one or more keyboards as remote controls. It will fire `keyboard_remote_command_received` events which can then be used in automation rules.
The `evdev` package is used to interface with the keyboard and thus this is Linux only. It also means you can't use your normal keyboard for this because `evdev` will block it.
@ -37,15 +37,17 @@ In case of presence of multiple devices of the same model, `device_descriptor` m
A list of possible device descriptors and names is reported in the debug log at startup when the device indicated in the configuration entry could not be found.
A full configuration for Keyboard Remote could look like the one below:
A full configuration for two Keyboard Remotes could look like the one below:
```yaml
keyboard_remote:
device_descriptor: '/dev/input/by-id/bluetooth-keyboard'
- device_descriptor: '/dev/input/by-id/bluetooth-keyboard'
type: 'key_up'
- device_descriptor: '/dev/input/event0'
type: 'key_up'
```
or like the following:
or like the following for one keyboard:
```yaml
keyboard_remote:
@ -62,11 +64,13 @@ automation:
platform: event
event_type: keyboard_remote_command_received
event_data:
device_descriptor: "/dev/input/event0"
key_code: 107 # inspect log to obtain desired keycode
action:
service: light.turn_on
entity_id: light.all
```
`device_descriptor` or `device_name` may be specificed in the trigger so the automation will be fired only for that keyboard. This is especially useful if you wish to use several bluetooth remotes to control different devices. Omit them to ensure the same key triggers the automation for all keyboards/remotes.
## {% linkable_title Disconnections %}
This component manages disconnections and re-connections of the keyboard, for example in the case of a Bluetooth device that turns off automatically to preserve battery.

View File

@ -0,0 +1,45 @@
---
layout: page
title: "Lagute LW-12"
description: "Instructions on how to setup Lagute LW-12 Wifi LED controller within Home Assistant."
date: 2018-04-28 08:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Light
ha_iot_class: "Local Polling"
logo: lagute.png
ha_release: 0.71
---
The `lw12wifi` light platform supports Lagute LW-12 Wifi LED controller.
## {% linkable_title Configuration %}
To enable these lights, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
light:
- platform: lw12wifi
host: IP_ADDRESS_CONTROLLER
```
{% configuration %}
host:
description: Host name or IP of LW-12 LED stripe to control.
required: true
type: string
port:
description: Some firmware versions of the LW-12 controller listen on different ports.
required: false
type: int
default: 5000
name:
description: Name to use in the frontend.
required: false
type: string
default: LW-12 FC
{% endconfiguration %}

View File

@ -16,7 +16,11 @@ ha_release: 0.67
### {% linkable_title Configuration Sample %}
To enable the Aurora lights, add the following lines to your `configuration.yaml` file:
The `nanoleaf_aurora` platform allows you to control [Nanoleaf Aurora Light Panels](https://nanoleaf.me) from Home Assistant.
The preferred way to set up this platform is by enabling the [discovery component](https://www.home-assistant.io/components/discovery/). Make sure to press and hold the *ON* button for 5 seconds (the LED will start flashing) on your Nanoleaf Aurora Panel while Home Assistant is starting.
To configure the Aurora lights manually, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry

View File

@ -23,5 +23,5 @@ light:
Configuration variables:
- **host** (*Required*): IP address of the Osram Lightify bridge, eg. `192.168.1.50`.
- **allow_lightify_nodes** (*Optional*): (true/false) Edit this to stop homeassistant from importing the lightify lights.
- **allow_lightify_groups** (*Optional*): (true/false) Edit this to stop homeassistant from importing the lightify groups.

View File

@ -0,0 +1,24 @@
---
layout: page
title: "Xiaomi Aqara Lock"
description: "Instructions on how to setup the Xiaomi Aqara Lock within Home Assistant."
date: 2018-05-17 20:24
sidebar: true
comments: false
sharing: true
footer: true
logo: xiaomi.png
ha_category: Lock
ha_release: "0.71"
ha_iot_class: "Local Push"
---
The `xiaomi aqara` lock platform allows you to get data (`changed_by` property, `verified_wrong_times` attribute) from your [Xiaomi](http://www.mi.com/en/) Aqara locks.
A Aqara lock cannot be controlled by Home Assistant. The property `changed_by` provides the user/key ID of the last successful unlock.
If someone tries to unlock the device but fails more than 3 times the `verified_wrong_times` attribute will be incremented. The counter resets on a successful unlock.
The requirement to use this platform is that you have set up the [Xiaomi Aqara](/components/xiaomi_aqara/) component.

View File

@ -30,4 +30,8 @@ Configuration variables:
- **host** (*Required*): IP address of TV.
- **name** (*Optional*): The name you would like to give to the Philips TV.
- **turn_on_action** (*Optional*): A script that will be executed to turn on the TV (can be used with wol).
- **api_version** (*Optional*): The JointSpace API version of your Philips TV, defaults to `1`. This is an experimental option and not all the functionalities are guaranteed to work with API versions different from `1`.
- **api_version** (*Optional*): The JointSpace API version of your Philips TV, defaults to `1`. This is an experimental option and not all the functionalities are guaranteed to work with API versions different from `1` and `5`.
<p class='note'>
When using api_version: 5 changing sources switches tv channels. Additionally this allows setting the volume level.
</p>

View File

@ -0,0 +1,56 @@
---
layout: page
title: "Flock"
description: "Instructions on how to add Flock notifications to Home Assistant."
date: 2017-08-17 18:00
sidebar: true
comments: false
sharing: true
footer: true
logo: flock.png
ha_category: Notifications
ha_release: 0.71
---
The `flock` platform uses [Flock.com](https://flock.com) to deliver notifications from Home Assistant.
## {% linkable_title Setup %}
Go to the [Flock.com Admin website](https://admin.flock.com/#!/webhooks) and create a new "Incoming Webhooks". Choose a channel to send the notifications from Home Assistant to, specifiy a name and press *Save and Generate URL*.
<p class='img'>
<img src='{{site_root}}/images/components/flock/flock-webhook.png' />
</p>
You will need the last part of the URL which is the `access_token` for your room.
<p class='img'>
<img src='{{site_root}}/images/components/flock/new-webhook.png' />
</p>
## {% linkable_title Configuration %}
To add Flock notifications to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
platform: flock
access_token: YOUR_ROOM_TOKEN
```
{% configuration %}
name:
description: "The optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`."
required: false
type: string
default: notify
access_token:
description: The last part of the webhook URL.
required: true
type: string
{% endconfiguration %}
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -1,40 +0,0 @@
---
layout: page
title: "Notify My Android"
description: "Instructions on how to add NMA notifications to Home Assistant."
date: 2015-05-01 18:00
sidebar: true
comments: false
sharing: true
footer: true
logo: nma.png
ha_category: Notifications
ha_release: pre 0.7
---
<p class='note warning'>
As of May 24th 2018 [NMA has shut down](https://notifymyandroid.com/), this was due to the new GDPR european regulations.
</p>
The `nma` platform uses [Notify My Android (NMA)](http://www.notifymyandroid.com/) to delivery notifications from Home Assistant to your Android device.
Go to the [NMA website](https://www.notifymyandroid.com) and create a new API key. If you are using the trial offer then keep in mind that your limit is five messages per day.
To add NMA to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
platform: nma
api_key: ABCDEFGHJKLMNOPQRSTUVXYZ
```
Configuration variables:
- **name** (*Optional*): Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
- **api_key** (*Required*): The API key for NMA.
Details for the [API](https://www.notifymyandroid.com/api.jsp).
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -27,14 +27,18 @@ rainmachine:
password: YOUR_PASSWORD
```
To configure switch-related functionality, add configuration options beneath
a `switches` key within the `rainmachine` sections of `configuration.yaml`
as below:
To configure additional functionality, add configuration options beneath
a `binary_sensor`, `sensor`, and/or `switches` key within the `rainmachine`
sections of `configuration.yaml` as below:
```yaml
rainmachine:
ip_address: 192.168.1.100
password: YOUR_PASSWORD
binary_sensors:
# binary sensor configuration options...
sensors:
# sensor configuration options...
switches:
# switch configuration options...
```
@ -58,6 +62,26 @@ ssl:
required: false
type: boolean
default: true
binary_sensors:
description: binary sensor-related configuration options
required: false
type: map
keys:
monitored_conditions:
description: the conditions to create sensors from
required: false
type: list
default: all (`extra_water_on_hot_days`, `freeze`, `freeze_protection`, `hourly`, `month`, `raindelay`, `rainsensor`, `weekday`)
sensors:
description: sensor-related configuration options
required: false
type: map
keys:
monitored_conditions:
description: the conditions to create sensors from
required: false
type: list
default: all (`freeze_protect_temp`)
switches:
description: switch-related configuration options
required: false
@ -69,3 +93,43 @@ switches:
type: int
default: 600
{% endconfiguration %}
## {% linkable_title Services %}
### {% linkable_title `rainmachine.start_program` %}
Start a RainMachine program.
| Service Data Attribute | Optional | Description |
|---------------------------|----------|----------------------|
| `program_id` | no | The program to start |
### {% linkable_title `rainmachine.start_zone` %}
Start a RainMachine zone for a set number of seconds.
| Service Data Attribute | Optional | Description |
|---------------------------|----------|------------------------------------------------------|
| `zone_id` | no | The zone to start |
| `zone_run_time` | yes | The number of seconds to run; defaults to 60 seconds |
### {% linkable_title `rainmachine.stop_all` %}
Stop all watering activities.
### {% linkable_title `rainmachine.stop_program` %}
Stop a RainMachine program.
| Service Data Attribute | Optional | Description |
|---------------------------|----------|----------------------|
| `program_id` | no | The program to stop |
### {% linkable_title `rainmachine.stop_zone` %}
Stop a RainMachine zone.
| Service Data Attribute | Optional | Description |
|---------------------------|----------|----------------------|
| `zone_id` | no | The zone to stop |

View File

@ -127,7 +127,7 @@ Wildcards only work at the end of the ID, not in the middle or front!
### {% linkable_title Device support %}
Even though a lot of devices are supported by RFLink, not all have been tested/implemented. If you have a device supported by RFLink but not by this component please consider testing and adding support yourself or [create an issue](https://github.com/home-assistant/home-assistant/issues/new) and mention `@aequitas` in the description.
Even though a lot of devices are supported by RFLink, not all have been tested/implemented. If you have a device supported by RFLink but not by this component please consider testing and adding support yourself.
### {% linkable_title Device Incorrectly Identified %}

View File

@ -25,17 +25,22 @@ sensor:
```
{% configuration %}
currency:
description: The cryptocurrency to use.
currency_id:
description: The ID of the cryptocurrency to use, default is the ID of Bitcoin.
required: false
type: string
default: Bitcoin
type: int
default: 1
display_currency:
description: The currency to display.
required: false
type: string
default: USD
display_currency_decimals:
description: The amount of decimals to round to.
required: false
type: int
default: 2
{% endconfiguration %}
All supported currencies can be found [here](https://coinmarketcap.com/api/).
All supported currencies can be found [here](https://coinmarketcap.com/api/), a list of currency IDs can be found [here](https://api.coinmarketcap.com/v2/ticker/).

View File

@ -0,0 +1,40 @@
---
layout: page
title: "Hunter Hydrawise Sensor"
description: "Instructions on how to integrate your Hunter Hydrawise Wi-Fi irrigation control system within Home Assistant."
date: 2018-04-11 08:02
sidebar: true
comments: false
sharing: true
footer: true
logo: hydrawise_logo.png
ha_category: Sensor
ha_release: 0.71
ha_iot_class: Cloud Polling
---
Before setting up the [Hunter Hydrawise](https://hydrawise.com) sensors please follow the instructions for setting up the [Hydrawise hub](/components/hydrawise) component.
Once you have enabled the `hydrawise` component, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: hydrawise
```
{% configuration %}
monitored_conditions:
description: The sensors that should be displayed on the frontend.
required: false
type: list
default: All sensors are enabled.
keys:
watering_time:
description: The amount of time left if the zone is actively watering. Otherwise the time is 0.
next_cycle:
description: The day and time when the next scheduled automatic watering cycle will start. If the zone is suspended then the value will be `NS` to indicate Not Scheduled.
{% endconfiguration %}
Finish the configuration by visiting the [Hydrawise binary sensor](/components/binary_sensor.hydrawise/) and [Hydrawise switch](/components/switch.hydrawise/) documentation.

View File

@ -0,0 +1,89 @@
---
layout: page
title: "Iperf3 Sensor"
description: "How to use Iperf3 within Home Assistant to measure your network bandwith."
date: 2018-05-01 02:00
sidebar: true
comments: false
sharing: true
footer: true
logo: iperf3.png
ha_category: System Monitor
featured: false
ha_release: 0.71
ha_iot_class: "Local Polling"
---
The `iperf3` sensor component allows you to measure network bandwidth performance against a private or public Iperf3 server.
## {% linkable_title Configuration %}
By default, it will run every hour. The user can change the update frequency in the config by defining the minute, hour, and day for a iperf3 test to run.
To add the `iperf3` sensor to your installation, add the following to your `configuration.yaml` file:
Once per hour, on the hour (default):
```yaml
# Example configuration.yaml entry
sensor:
- platform: iperf3
host: iperf.he.net
monitored_conditions:
- download
- upload
```
{% configuration %}
monitored_conditions:
description: Sensors to display in the frontend.
required: true
type: list
keys:
download:
description: Download speed (Mbit/s)
upload:
description: Upload speed (Mbit/s)
host:
description: Specify the Iperf3 test to perform the test against.
required: true
type: string
duration:
description: Specify the test duration in seconds. Default is 10 and the valid range is from 5 to 10.
required: false
default: 3
type: int
parallel:
description: Specify the number of concurrent streams to connect to the server. Default is 1 and the valid range is from 1 to 20.
default: 1
type: int
protocol:
description: Specify the protocol to be used on the test. Default is TCP and the valid values are TCP or UDP. If your Iperf3 server is located in the Internet, consider to use TCP instead of UDP. If the protocol is set to use UDP, the sensor may not get updated due to package retransmission issues due to its nature.
required: false
default: tcp
type: string
scan_interval:
description: Specify the frequency in seconds which the test will be perfomed. Default value is 1 hour.
required: false
default: 3600
type: int
{% endconfiguration %}
You can find a list of public Iperf3 servers [here](https://iperf.fr/iperf-servers.php). You can also start your own Iperf3 server using the [mlabbe/iperf3's](https://hub.docker.com/r/mlabbe/iperf3/) docker image or just refer to your `iperf3` command's man page.
The frequency when the test will be automatically triggered can be adjusted by setting the value `scan_interval` in seconds.
Parallel streams can help in some situations. As TCP attempts to be fair and conservative, you may consider increasing the `parallel` attribute. Use this value with careful and refer to Iperf3 man page for more information.
You can use the service `sensor.iperf3_update` to trigger a manual speed test for all sensors. Iperf3 has its own service call that allow to perform a speed test on a particular entity.
### {% linkable_title Service `sensor.iperf3_update` %}
| Service data attribute | Description |
| `entity_id` | String that point at `entity_id`s of the Iperf3 sensor. Else targets all.
## {% linkable_title Notes %}
- When running on Raspberry Pi, just note that the maximum speed is limited by its 100 Mbit/s LAN adapter.
- This component requires the `iperf3` command to be installed on your OS. Please, refer to the [official Iperf3 documentation](http://software.es.net/iperf/obtaining.html) for installation instructions.

View File

@ -38,6 +38,8 @@ Configuration variables:
The following conditions are available by device:
- Nest Home:
- eta: Estimated time of arrival.
- Nest Thermostat:
- humidity
- operation\_mode

View File

@ -16,40 +16,61 @@ ha_iot_class: "Local Polling"
The `netdata` sensor platform allows you to display information collected by [Netdata](http://my-netdata.io/).
## {% linkable_title Configuration %}
To add this platform to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: netdata
resources:
system.load:
element: load15
system.cpu:
element: system
```
Configuration variables:
{% configuration %}
host:
description: The IP address or hostname of your Netdata instance.
required: false
type: string
default: localhost
port:
description: The port that the Netdata instance is running on.
required: false
type: int
default: 19999
name:
description: Name of the monitored Netdata instance.
required: false
type: number
default: Netdata
resources:
description: List of details to monitor.
required: true
type: map
keys:
data_group:
description: "Name of the data group to monitor, e.g., `system.cpu`."
required: true
keys:
element:
description: The element of the group to monitor.
required: true
type: string
name:
description: Name to use for the sensor in the frontend.
required: false
type: string
default: element name
icon:
description: Icon to use for the sensor.
required: false
type: string
default: "mdi:desktop-classic"
{% endconfiguration %}
- **host** (*Optional*): The IP address or hostname of your Netdata instance. Defaults to `localhost`.
- **port** (*Optional*): The port that the Netdata instance is running on. Defaults to `19999`.
- **name** (*Optional*): Name of the sensor. Defaults to "Netdata".
- **resources** (*Optional*) array: List of details to monitor. Defaults is `memory_free`.
- 'memory_free': Free memory
- 'memory_used': Used memory
- 'memory_cached': Cached memory
- 'memory_buffers': Buffered memory
- 'swap_free': Free swap
- 'swap_used': Used swap
- 'processes_running': Processes Running
- 'processes_blocked': Processes Blocked
- 'system_load': System Load 15 min
- 'system_io_in': System I/O In
- 'system_io_out': System I/O Out
- 'ipv4_in': Amount of inbound IPv4 packets per second
- 'ipv4_out': Amount of outbound IPv4 packets per second
- 'disk_free': Free disk space
- 'cpu_iowait': CPU spent spent waiting for IO operations
- 'cpu_user': CPU time spent executing user tasks
- 'cpu_system': CPU time spent executing system tasks
- 'cpu_softirq': CPU time spent servicing soft interrupts
- 'cpu_guest': CPU time spent on guest tasks (such as VMs)
- 'uptime': Time (in seconds) since last boot
- 'packets_received': Amount of packets received
- 'packets_sent': Amount of packets sent
- 'connections': Total active connections

View File

@ -28,56 +28,83 @@ sensor:
- battery.runtime
```
Configuration variables:
- **name** (*Optional*): Name prefix for defined sensors. Defaults to 'NUT UPS'.
- **host** (*Optional*): The host name or address of the device that is running NUT. Defaults to localhost.
- **port** (*Optional*): The port number. Defaults to 3493.
- **alias** (*Optional*): Name of the ups on the NUT server. Will default to the first UPS name listed.
- **username** (*Optional*): Username to login to the NUT server. Default is none.
- **password** (*Optional*): Password to login to the NUT server. Default is none.
- **resources** array (*Required*): Contains all entries to display.
{% configuration %}
name:
description: Name prefix for defined sensors.
required: false
default: 'NUT UPS'
type: string
host:
description: The host name or IP address of the device that is running NUT.
required: false
default: localhost
type: string
port:
description: The port number.
required: false
default: 3493
type: int
alias:
description: Name of the ups on the NUT server.
required: false
default: Will default to the first UPS name listed.
type: string
username:
description: Username to login to the NUT server.
required: false
default: none
type: string
password:
description: Password to login to the NUT server.
required: false
default: none
type: string
resources:
description: Contains all entries to display.
required: true
type: list
{% endconfiguration %}
### {% linkable_title Example %}
Given the following example output from NUT (Your variables may differ):
Given the following example output from NUT (your variables may differ):
```yaml
'ups.timer.reboot': '0',
'battery.voltage': '27.0',
'ups.firmware.aux': 'L3 -P ',
'ups.mfr': 'American Power Conversion',
'battery.runtime.low': '120',
'ups.delay.shutdown': '20',
'ups.load': '19',
'ups.realpower.nominal': '600',
'battery.charge.warning': '50',
'battery.charge.low': '10',
'ups.vendorid': '051d',
'ups.timer.shutdown': '-1',
'ups.test.result': 'No test initiated',
'ups.firmware': '868.L3 -P.D',
'battery.mfr.date': '2015/05/08',
'ups.serial': '3B1519X19994 ',
'ups.productid': '0002',
'battery.runtime': '2552',
'battery.date': '2001/09/25',
'battery.voltage.nominal': '24.0',
'battery.type': 'PbAc',
'ups.mfr.date': '2015/05/08',
'ups.status': 'OL',
'ups.model': 'Back-UPS RS1000G',
'ups.beeper.status': 'disabled',
'battery.charge': '100',
'input.sensitivity': 'medium',
'ups.timer.reboot': '0'
'battery.voltage': '27.0'
'ups.firmware.aux': 'L3 -P '
'ups.mfr': 'American Power Conversion'
'battery.runtime.low': '120'
'ups.delay.shutdown': '20'
'ups.load': '19'
'ups.realpower.nominal': '600'
'battery.charge.warning': '50'
'battery.charge.low': '10'
'ups.vendorid': '051d'
'ups.timer.shutdown': '-1'
'ups.test.result': 'No test initiated'
'ups.firmware': '868.L3 -P.D'
'battery.mfr.date': '2015/05/08'
'ups.serial': '3B1519X19994 '
'ups.productid': '0002'
'battery.runtime': '2552'
'battery.date': '2001/09/25'
'battery.voltage.nominal': '24.0'
'battery.type': 'PbAc'
'ups.mfr.date': '2015/05/08'
'ups.status': 'OL'
'ups.model': 'Back-UPS RS1000G'
'ups.beeper.status': 'disabled'
'battery.charge': '100'
'input.sensitivity': 'medium'
'input.transfer.low': '88'
'input.transfer.high': '147',
'input.voltage': '121.0',
'input.voltage.nominal': '120',
'input.transfer.reason': 'input voltage out of range',
'input.transfer.high': '147'
'input.voltage': '121.0'
'input.voltage.nominal': '120'
'input.transfer.reason': 'input voltage out of range'
```
Use the values from the left hand column. Support is included for most values with 'ups', 'battery', and 'input' prefixes.
Use the values from the left hand column. Support is included for most values with 'ups', 'battery', and 'input' prefixes.
```yaml
sensor:
@ -94,3 +121,14 @@ sensor:
- input.voltage
- battery.runtime
```
### {% linkable_title UPS Status - human-readable version %}
An additional virtual sensor type `ups.status.display` is available translating the UPS status value retrieved from `ups.status` into a human-readable version.
```yaml
sensor:
- platform: nut
resources:
- ups.status.display
```

View File

@ -0,0 +1,23 @@
---
layout: page
title: "RainMachine Sensor"
description: "Instructions on how to use RainMachine sensors with Home Assistant."
date: 2018-05-06 21:26
sidebar: true
comments: false
sharing: true
footer: true
logo: rainmachine.png
ha_category: Sensor
ha_iot_class: "Cloud Polling"
ha_release: 0.71
---
The `rainmachine` sensor platform allows you to view crucial sensor data within
a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.com/).
<p class='note'>
You must have the [RainMachine component](https://www.home-assistant.io/components/rainmachine/)
configured to use this platform. After configuring that component, sensors
automatically appear.
</p>

View File

@ -16,33 +16,7 @@ ha_iot_class: "Local Polling"
The `transmission` platform allows you to monitor your downloads with [Transmission](http://www.transmissionbt.com/) from within Home Assistant and setup automation based on the information.
To enable this sensor, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
sensor:
- platform: transmission
host: IP_ADDRESS
monitored_variables:
- 'current_status'
- 'download_speed'
- 'upload_speed'
- 'active_torrents'
```
Configuration variables:
- **host** (*Required*): This is the IP address of your Transmission daemon, eg. 192.168.1.32.
- **port** (*Optional*): The port your Transmission daemon uses, defaults to 9091.
- **name** (*Optional*): The name to use when displaying this Transmission instance.
- **username** (*Optional*): Your Transmission username, if you use authentication.
- **password** (*Optional*): Your Transmission password, if you use authentication.
- **monitored_variables** array (*Required*): Conditions to display in the frontend.
- **current_status**: The status of your Transmission daemon.
- **download_speed**: The current download speed.
- **upload_speed**: The current upload speed.
- **active_torrents**: The current number of active torrents.
## {% linkable_title Setup %}
To use the monitoring, your transmission client needs to allow remote access. If you are running the graphical transmission client (transmission-gtk) go to **Edit** -> **Preferences** and choose the tab **Remote**. Check **Allow remote access**, enter your username and your password, and uncheck the network restriction as needed.
@ -56,3 +30,62 @@ If everything is setup correctly, the details will show up in the frontend.
<img src='{{site_root}}/images/components/transmission/transmission.png' />
</p>
## {% linkable_title Configuration %}
To enable this sensor, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
sensor:
- platform: transmission
host: IP_ADDRESS
monitored_variables:
- 'current_status'
- 'download_speed'
- 'upload_speed'
- 'active_torrents'
- 'paused_torrents'
- 'total_torrents'
```
{% configuration %}
host:
description: This is the IP address of your Transmission daemon, e.g., 192.168.1.32.
required: true
type: string
port:
description: The port your Transmission daemon uses.
required: false
type: int
default: 9091
name:
description: The name to use when displaying this Transmission instance in the frontend.
required: false
type: string
username:
description: Your Transmission username, if you use authentication.
required: false
type: string
password:
description: Your Transmission password, if you use authentication.
required: false
type: string
monitored_variables:
description: Conditions to display in the frontend.
required: false
type: map
keys:
current_status:
description: The status of your Transmission daemon.
download_speed:
description: The current download speed.
upload_speed:
description: The current upload speed.
active_torrents:
description: The current number of active torrents.
paused_torrents:
description: The current number of paused torrents.
total_torrents:
description: The total number of torrents present in the client.
{% endconfiguration %}

View File

@ -18,3 +18,18 @@ The `shopping_list` component allows you to keep track of shopping list items. I
# Example configuration.yaml entry
shopping_list:
```
### Services
You can add or remove items on your shopping list by using the following services.
#### {% linkable_title Service `shopping_list.add_item` %}
| Service data attribute | Optional | Description |
|------------------------|----------|--------------------------------------------------------|
| `name` | no | Name of the item to add. Example: "Beer" |
#### {% linkable_title Service `shopping_list.complete_item` %}
| Service data attribute | Optional | Description |
|------------------------|----------|--------------------------------------------------------|
| `name` | no | Name of the item to mark as completed. Example: "Beer" |

View File

@ -0,0 +1,65 @@
---
layout: page
title: "Hunter Hydrawise Switch"
description: "Instructions on how to integrate your Hunter Hydrawise Wi-Fi irrigation control system within Home Assistant."
date: 2018-04-11 08:02
sidebar: true
comments: false
sharing: true
footer: true
logo: hydrawise_logo.png
ha_category: Switch
ha_release: 0.71
ha_iot_class: Cloud Polling
---
Before setting up the [Hunter Hydrawise](https://hydrawise.com) switches please follow the instructions for setting up the [Hydrawise hub](/components/hydrawise) component.
Once you have enabled the `hydrawise` component, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
switch:
- platform: hydrawise
```
{% configuration %}
watering_minutes:
description: When manual watering is enabled this will determine the length of time in minutes that irrigation zone will run. The allowed values are 5, 10, 15, 30, 45, or 60.
required: false
type: int
default: 15
monitored_conditions:
description: Selects the set of switches that should be enabled on the frontend. Also sets the length of time a zone will run under manual control.
required: false
type: list
default: All switches are enabled.
keys:
auto_watering:
description: Enables the Smart Watering features for this zone.
manual_watering:
description: Enables the manual watering control for this zone.
{% endconfiguration %}
### {% linkable_title Switch Operation %}
When `auto_watering` is `on` the irrigation zone will follow the Smart Watering schedule set through the Hydrawise [mobile or web app](https://www.hydrawise.com). When the `auto_watering` switch is `off` the zone's Smart Watering schedule is suspended for 1 year.
When `manual_watering` is `on` the zone will run for the amount of time set by `watering_minutes`.
```yaml
# An example that enables all the switches, and sets the manual watering time to 20 minutes.
switch:
- platform: hydrawise
watering_minutes: 20
```
```yaml
# An example that enables only the manual control switches.
switch:
- platform: hydrawise
monitored_conditions: manual_watering
```
Finish the configuration by visiting the [Hydrawise binary sensor](/components/binary_sensor.hydrawise) and [Hydrawise sensor](/components/sensor.hydrawise/) documentation.

View File

@ -1,7 +1,7 @@
---
layout: page
title: "RainMachine Switch"
description: "Instructions on how to use RainMachine units with Home Assistant."
description: "Instructions on how to use RainMachine switches with Home Assistant."
date: 2017-08-14 13:30
sidebar: true
comments: false
@ -18,7 +18,7 @@ within a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.c
<p class='note'>
You must have the [RainMachine component](https://www.home-assistant.io/components/rainmachine/)
configured to use this switch. After configuring that component, switches will
configured to use this platform. After configuring that component, switches will
automatically appear.
</p>

View File

@ -36,3 +36,14 @@ Any WeMo devices that are not statically configured but reachable via discovery
Note that if you use this, you may want to set up your router (or whatever runs your DHCP server) to force your WeMo devices to use a static IP address. Check the DHCP section of your router configuration for this ability.
If the device doesn't seem to work and all you see is the state "unavailable" on your dashboard, check that your firewall doesn't block incoming request on port 8989 since this is the address to which the WeMo devices send their update.
## {% linkable_title Emulated devices %}
Various software that emulates WeMo devices often uses alternative ports. Static configuration should include the port value:
```yaml
wemo:
static:
- 192.168.1.23:52001
- 192.168.52.172:52002
```

View File

@ -73,7 +73,7 @@ There are some rules for packages that will be merged:
input_boolean:
my_input:
```
4. Any component that is not a platform [2], or dictionaries with Entity ID keys [3] cannot be merged and can only occur once between all packages and the main configuration.
4. Any component that is not a platform [2], or dictionaries with Entity ID keys [3] can only be merged if its keys, except those for lists, are solely defined once.
<p class='note tip'>
Components inside packages can only specify platform entries using configuration style 1, where all the platforms are grouped under the component name.

View File

@ -0,0 +1,418 @@
---
layout: post
title: "0.71: Lagute LW-12, Iperf3, Hydrawise, Ryobi Garage Doors"
description: "Enjoy the weekend with this shiny new release."
date: 2018-06-08 00:01:00
date_formatted: "June 8, 2018"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Release-Notes
og_image: /images/blog/2018-06-0.71/components.png
---
<a href='/components/#version/0.71'><img src='/images/blog/2018-06-0.71/components.png' style='border: 0;box-shadow: none;'></a>
0.71 has arrived. My favorite feature in this release is the conversion of the Nest component from cloud poll to cloud push. Sure, it's still through the cloud but changes are now made available in Home Assistnat as soon as they happen. Thanks [@awarecan]!
We've continued the frontend tweaks after the major overhaul in the last release. We've had some issues with the Hass.io panel on both Firefox and Safari. They have been addressed and all browsers should hopefully work again.
On the frontend side, custom panels have gotten some new tricks, including support for building panels using React. So if you're a developer, [check it out](https://developers.home-assistant.io/blog/2018/06/01/071-custom-panels.html). And thanks to [@c727] a lot more strings can now be translated. More info on how to help with translating the frontend can be found [here](https://developers.home-assistant.io/docs/en/internationalization_translation.html).
HomeKit support also keeps growing. This release includes support for media players, automations and outlets thanks to [@schmittx].
And in case you missed it, [@OttoWinter] has created [esphomeyaml], which allows you to program and deploy ESP chips throughout your house by using a Home Assistant inspired `configuration.yaml`. [Check it out](/blog/2018/06/05/esphomelib/).
Have a good weekend everyone!
## {% linkable_title New Platforms %}
- Lagute LW-12 Wifi LED control ([@jaypikay] - [#13307]) ([light.lw12wifi docs]) (new-platform)
- Add Xiaomi Aqara Lock support ([@SchumyHao] - [#14419]) ([xiaomi_aqara docs]) ([lock.xiaomi_aqara docs]) (new-platform)
- Add Iperf3 client sensor ([@tchellomello] - [#14213]) ([sensor.iperf3 docs]) (new-platform)
- Add homematicip cloud climate platform ([@mxworm] - [#14388]) ([homematicip_cloud docs]) ([climate.homematicip_cloud docs]) (new-platform)
- Add Hydrawise component ([@ptcryan] - [#14055]) ([hydrawise docs]) ([binary_sensor.hydrawise docs]) ([sensor.hydrawise docs]) ([switch.hydrawise docs]) (new-platform)
- Adding ryobi garage door opener ([@guillaume1410] - [#14618]) ([cover.ryobi_gdo docs]) (new-platform)
- Add sensors and services to RainMachine ([@bachya] - [#14326]) ([rainmachine docs]) ([binary_sensor.rainmachine docs]) ([sensor.rainmachine docs]) ([switch.rainmachine docs]) (new-platform)
- Add Flock notification platform ([@fabaff] - [#14533]) ([notify docs]) (new-platform)
## {% linkable_title New Features %}
- Add HomeKit support for media players ([@schmittx] - [#14446]) ([homekit docs]) (new-feature)
- Add HomeKit support for automations ([@schmittx] - [#14595]) ([homekit docs]) (new-feature)
- Extend package support ([@cdce8p] - [#14611]) (new-feature)
- Change nest to cloud push ([@awarecan] - [#14656]) ([nest docs]) ([binary_sensor.nest docs]) ([climate.nest docs]) ([sensor.nest docs]) (new-feature)
- Add support for outlets in HomeKit ([@schmittx] - [#14628]) ([homekit docs]) (new-feature)
## {% linkable_title If you need help... %}
...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). 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](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template.
<!--more-->
## {% linkable_title Breaking Changes %}
- BOM sensor: `'Wind Direction kt'` to `'Wind Speed kt'` (fixes #14535) ([@fabaff] - [#14541]) ([sensor.bom docs]) (breaking change)
- Removed attribute current_time from Raincloudy sensors to avoid being triggered by recorder component ([@tchellomello] - [#14584]) ([raincloud docs]) ([switch.raincloud docs]) (breaking change)
- Remove Notify My Android component as it shut down on May 24 ([@cgarwood] - [#14594]) ([notify docs]) (breaking change)
- CoinMarketCap sensor: It is no longer possible to query a ticker by the name of the currency (i.e. bitcoin). The API instead uses IDs (integers) for these tickers (i.e. bitcoin -> 1). Rounding of decimals is now configurable, because it made no sense to round to 2 decimals if display_currency was set to BTC, some values showed up as 0.00. (#14437) ([@kotlarz] - [#14604]) ([sensor.coinmarketcap docs]) (breaking change)
- Give unknown zwave nodes a better name and don't add them to entity registry ([@andrey-git] - [#14353]) ([zwave docs]) (breaking change)
- The `netdata` sensor was re-worked to support all available details from [Netdata](https://my-netdata.io/). This requires you to adjust the your existing configuration if you use the `netdata` sensor.
([@fabaff] - [#14613]) ([sensor.netdata docs]) (breaking change)
- Disallow automation.trigger without entity_id. Triggering all automations at once is most likely a user mistake but if it is really needed, one can use `entity_id: group.all_automations`. ([@amelchio] - [#14724]) ([automation docs]) (breaking change)
## {% linkable_title Beta Fixes %}
- Use hass iconset ([@balloob] - [#14185]) ([config docs]) ([frontend docs]) ([hassio docs]) ([history docs]) ([logbook docs]) (beta fix)
- Zone - Hass configuration name is optional ([@Kane610] - [#14449]) ([zone docs]) (beta fix)
## {% linkable_title All changes %}
- Upgrade aiohttp to 3.2.1 ([@fabaff] - [#14517])
- Upgrade youtube_dl to 2018.05.18 ([@fabaff] - [#14519]) ([media_extractor docs])
- Upgrade keyring to 12.2.1 ([@fabaff] - [#14521])
- Upgrade restrictedpython to 4.0b4 ([@fabaff] - [#14537]) ([python_script docs])
- Bump pyvera version (improve stability of poll loop). ([@pavoni] - [#14540]) ([vera docs])
- Fix sensor name (fixes #14535) ([@fabaff] - [#14541]) ([sensor.bom docs]) (breaking change)
- Add support to ignore a xiaomi aqara gateway ([@ileler] - [#14428]) ([xiaomi_aqara docs])
- Pushed to version 0.7.2 of denonavr ([@scarface-4711] - [#14551]) ([media_player.denonavr docs])
- Add auto discovery for nanoleaf aurora lights ([@Oro] - [#14301]) ([light.nanoleaf_aurora docs])
- zha: Don't poll switch devices ([@dmulcahey] - [#14560]) ([binary_sensor.zha docs])
- zha: Add metering sensor ([@dmulcahey] - [#14562]) ([zha docs]) ([sensor.zha docs])
- zha: Set default binary_sensor state to false ([@damarco] - [#14553]) ([binary_sensor.zha docs])
- Add IlluminanceMeasurementSensor to ZHA ([@dmulcahey] - [#14563]) ([zha docs]) ([sensor.zha docs])
- zha: Bump to zigpy-xbee 0.1.1 ([@rcloran] - [#14566]) ([zha docs])
- Update pyhomematic to 0.1.43 ([@danielperna84] - [#14583]) ([homematic docs])
- Removed attribute current_time from Raincloudy sensors to avoid being triggered by recorder component ([@tchellomello] - [#14584]) ([raincloud docs]) ([switch.raincloud docs]) (breaking change)
- Lagute LW-12 Wifi LED control ([@jaypikay] - [#13307]) ([light.lw12wifi docs]) (new-platform)
- Add new transmission sensor types ([@fabaff] - [#14530]) ([sensor.transmission docs])
- Add Xiaomi Aqara Lock support ([@SchumyHao] - [#14419]) ([xiaomi_aqara docs]) ([lock.xiaomi_aqara docs]) (new-platform)
- Upgrade TwitterAPI to 2.5.3 ([@fabaff] - [#14596]) ([notify docs])
- Remove nma component ([@cgarwood] - [#14594]) ([notify docs]) (breaking change)
- Add Nest away binary sensor and eta sensor ([@awarecan] - [#14406])
- Adds a device class of 'garage' to MyQ covers ([@bachya] - [#14602]) ([cover.myq docs])
- Add Iperf3 client sensor ([@tchellomello] - [#14213]) ([sensor.iperf3 docs]) (new-platform)
- Upgrade linode-api to 4.1.9b1 (#13863) ([@robertbeal] - [#14610]) ([linode docs])
- Update pyrainbird ([@Klathmon] - [#14617]) ([rainbird docs])
- Add support container status for Glances on RPi3 ([@bastshoes] - [#14529]) ([sensor.glances docs])
- Adding illumination sensor ([@nklever] - [#14615]) ([sensor.onewire docs])
- Add HomeKit support for media players ([@schmittx] - [#14446]) ([homekit docs]) (new-feature)
- Add HomeKit support for automations ([@schmittx] - [#14595]) ([homekit docs]) (new-feature)
- Add configurable decimal rounding of display value for CoinMarketCap sensor and upgrade to 5.0.3 (#14437) ([@kotlarz] - [#14604]) ([sensor.coinmarketcap docs]) (breaking change)
- Extend package support ([@cdce8p] - [#14611]) (new-feature)
- Added option to connect via SSL for OpenWRT(luci) device tracker ([@lorenzschmid] - [#14627]) ([device_tracker docs])
- Added UDP and parallel streams support to Iperf3 ([@tchellomello] - [#14629]) ([sensor.iperf3 docs])
- Add services for adding and removing items to shopping list ([@mammuth] - [#14574]) ([shopping_list docs])
- Add homematicip cloud climate platform ([@mxworm] - [#14388]) ([homematicip_cloud docs]) ([climate.homematicip_cloud docs]) (new-platform)
- Upgrade speedtest-cli to 2.0.2 ([@fabaff] - [#14633]) ([sensor.speedtest docs])
- Add Hydrawise component ([@ptcryan] - [#14055]) ([hydrawise docs]) ([binary_sensor.hydrawise docs]) ([sensor.hydrawise docs]) ([switch.hydrawise docs]) (new-platform)
- Adding ryobi garage door opener ([@guillaume1410] - [#14618]) ([cover.ryobi_gdo docs]) (new-platform)
- Add electrical measurement sensor to ZHA ([@dmulcahey] - [#14561]) ([zha docs]) ([sensor.zha docs])
- Upgrade luftdaten to 0.2.0 ([@fabaff] - [#14620]) ([sensor.luftdaten docs])
- Upgrade python-nest to 4.0.0 ([@awarecan] - [#14638]) ([nest docs])
- Upgrade gitterpy to 0.1.7 ([@fabaff] - [#14643]) ([sensor.gitter docs])
- Upgrade TwitterAPI to 2.5.4 ([@fabaff] - [#14639]) ([notify docs])
- Use constants ([@fabaff] - [#14647]) ([api docs])
- Upgrade locationsharinglib to 2.0.7 ([@fabaff] - [#14640]) ([device_tracker docs])
- Upgrade youtube_dl to 2018.05.26 ([@fabaff] - [#14654]) ([media_extractor docs])
- Upgrade python_opendata_transport to 0.1.0 ([@fabaff] - [#14652]) ([sensor.swiss_public_transport docs])
- Remove docker prereqs scripts that only install a package. Add informational message for this. ([@michaelarnauts] - [#14661])
- Reduce log churn from Envisalink binary sensors ([@koreth] - [#14659]) ([binary_sensor.envisalink docs])
- Force update ZHA electrical sensor ([@dmulcahey] - [#14649]) ([sensor.zha docs])
- Improve Homekit media_player options ([@cdce8p] - [#14637]) ([homekit docs])
- zha/light: Properly parse currentX and currentY on async_update() ([@Adminiuga] - [#14605]) ([light.zha docs])
- Add tv channel and volume level for philips js API 5 ([@treehoof] - [#14276]) ([media_player.philips_js docs])
- Give unknown zwave nodes a better name ([@andrey-git] - [#14353]) ([zwave docs]) (breaking change)
- Add pin pad to alarm panel ([@raccettura] - [#14178]) ([alarm_control_panel.manual docs])
- Update mfi.py ([@Bakkoda] - [#14667]) ([sensor.mfi docs])
- Increase Eufy's requirement on lakeside ([@mjg59] - [#14671]) ([eufy docs])
- Allow hassio frontend development ([@balloob] - [#14675]) ([hassio docs])
- zha: fix temperature rounding for ZHA temperature sensors. ([@Adminiuga] - [#14669]) ([sensor.zha docs])
- Allow user-defined sensors ([@fabaff] - [#14613]) ([sensor.netdata docs]) (breaking change)
- deCONZ - Option to load or not to load clip sensors on start ([@Kane610] - [#14480]) ([binary_sensor.deconz docs]) ([sensor.deconz docs])
- Add asyncio support for Ebox ([@titilambert] - [#14183])
- Add sensors and services to RainMachine ([@bachya] - [#14326]) ([rainmachine docs]) ([binary_sensor.rainmachine docs]) ([sensor.rainmachine docs]) ([switch.rainmachine docs]) (new-platform)
- Update HAP-python to 2.2.2 ([@cdce8p] - [#14674]) ([homekit docs])
- Fix deprecated code ([@balloob] - [#14681]) ([cloud docs])
- Homekit Bugfixes ([@cdce8p] - [#14689]) ([homekit docs])
- Netatmo Sensor: Implement device_class ([@heinemml] - [#14634]) ([sensor.netatmo docs])
- Change ACP code_format to None|"Number"|"Any" ([@c727] - [#14686])
- Fixes (and stabilizes) some incorrect zone codes in RainMachine ([@bachya] - [#14719]) ([switch.rainmachine docs])
- Add Flock notification platform ([@fabaff] - [#14533]) ([notify docs]) (new-platform)
- Revert "Remove simplepush.io ([@balloob] - [#14358]) ([notify docs]) (breaking change)
- Add device_descriptor and device_name to keyboard event ([@glenn20] - [#14642]) ([keyboard_remote docs])
- Upgrade shodan to 1.8.0 ([@fabaff] - [#14717]) ([sensor.shodan docs])
- Homekit Thermostat: Better support for temperature ranges ([@roiff] - [#14679]) ([homekit docs])
- Custom panel ([@balloob] - [#14708]) ([panel_custom docs])
- Disallow automation.trigger without entity_id ([@amelchio] - [#14724]) ([automation docs]) (breaking change)
- Change nest to cloud push ([@awarecan] - [#14656]) ([nest docs]) ([binary_sensor.nest docs]) ([climate.nest docs]) ([sensor.nest docs]) (new-feature)
- Add support for outlets in HomeKit ([@schmittx] - [#14628]) ([homekit docs]) (new-feature)
- Add battery attribute to Sensibo ([@michaeldavie] - [#14735]) ([climate.sensibo docs])
- Update syntax ([@fabaff] - [#14742]) ([counter docs])
- Upgrade blockchain to 1.4.4 ([@fabaff] - [#14738]) ([sensor.bitcoin docs])
- Added option to block Osram Lightify individual lights in the same way that groups can be ([@austinlg96] - [#14470]) ([light.osramlightify docs])
- Upgrade directpy to 0.5 ([@Bahnburner] - [#14750]) ([media_player.directv docs])
- Update syntax of platform random ([@fabaff] - [#14767]) ([binary_sensor.random docs]) ([sensor.random docs])
- Update postnl api to 1.0.2 ([@iMicknl] - [#14769]) ([sensor.postnl docs])
- Remove swagger file ([@fabaff] - [#14762])
- Update syntax ([@fabaff] - [#14771]) ([sensor.version docs])
- Update syntax ([@fabaff] - [#14768]) ([sensor.worldclock docs])
- Update syntax ([@fabaff] - [#14770]) ([sensor.uptime docs])
- Upgrade Sphinx to 1.7.5 ([@fabaff] - [#14764])
- Upgrade youtube_dl to 2018.06.02 ([@fabaff] - [#14763]) ([media_extractor docs])
- Upgrade sqlalchemy to 1.2.8 ([@fabaff] - [#14765])
- Upgrade shodan to 1.8.1 ([@fabaff] - [#14760]) ([sensor.shodan docs])
- Update syntax ([@fabaff] - [#14772]) ([sensor.simulated docs])
- Assign device class to nest sensors ([@awarecan] - [#14746]) ([nest docs]) ([binary_sensor.nest docs]) ([sensor.nest docs])
- Ignore the mistaken long_click event of the 86sw (Closes: #14694) ([@syssi] - [#14785]) ([binary_sensor.xiaomi_aqara docs])
- Update total-connect-client to 0.18 for Honeywell Lynx Touch-Wifi support ([@jwood55812] - [#14778]) ([alarm_control_panel.totalconnect docs])
- Add Kodi OnResume event ([@quthla] - [#14790]) ([media_player.kodi docs])
- Fix media_title empty when title is empty but label is set ([@quthla] - [#14791]) ([media_player.kodi docs])
- Add homematicip_cloud illuminance sensor ([@mxworm] - [#14720]) ([sensor.homematicip_cloud docs])
- Use hass iconset ([@balloob] - [#14185]) ([config docs]) ([frontend docs]) ([hassio docs]) ([history docs]) ([logbook docs]) (beta fix)
- Zone - Hass configuration name is optional ([@Kane610] - [#14449]) ([zone docs]) (beta fix)
[#13307]: https://github.com/home-assistant/home-assistant/pull/13307
[#14055]: https://github.com/home-assistant/home-assistant/pull/14055
[#14178]: https://github.com/home-assistant/home-assistant/pull/14178
[#14183]: https://github.com/home-assistant/home-assistant/pull/14183
[#14185]: https://github.com/home-assistant/home-assistant/pull/14185
[#14213]: https://github.com/home-assistant/home-assistant/pull/14213
[#14276]: https://github.com/home-assistant/home-assistant/pull/14276
[#14301]: https://github.com/home-assistant/home-assistant/pull/14301
[#14326]: https://github.com/home-assistant/home-assistant/pull/14326
[#14353]: https://github.com/home-assistant/home-assistant/pull/14353
[#14358]: https://github.com/home-assistant/home-assistant/pull/14358
[#14388]: https://github.com/home-assistant/home-assistant/pull/14388
[#14406]: https://github.com/home-assistant/home-assistant/pull/14406
[#14419]: https://github.com/home-assistant/home-assistant/pull/14419
[#14428]: https://github.com/home-assistant/home-assistant/pull/14428
[#14446]: https://github.com/home-assistant/home-assistant/pull/14446
[#14449]: https://github.com/home-assistant/home-assistant/pull/14449
[#14470]: https://github.com/home-assistant/home-assistant/pull/14470
[#14480]: https://github.com/home-assistant/home-assistant/pull/14480
[#14517]: https://github.com/home-assistant/home-assistant/pull/14517
[#14519]: https://github.com/home-assistant/home-assistant/pull/14519
[#14521]: https://github.com/home-assistant/home-assistant/pull/14521
[#14529]: https://github.com/home-assistant/home-assistant/pull/14529
[#14530]: https://github.com/home-assistant/home-assistant/pull/14530
[#14533]: https://github.com/home-assistant/home-assistant/pull/14533
[#14537]: https://github.com/home-assistant/home-assistant/pull/14537
[#14540]: https://github.com/home-assistant/home-assistant/pull/14540
[#14541]: https://github.com/home-assistant/home-assistant/pull/14541
[#14551]: https://github.com/home-assistant/home-assistant/pull/14551
[#14553]: https://github.com/home-assistant/home-assistant/pull/14553
[#14560]: https://github.com/home-assistant/home-assistant/pull/14560
[#14561]: https://github.com/home-assistant/home-assistant/pull/14561
[#14562]: https://github.com/home-assistant/home-assistant/pull/14562
[#14563]: https://github.com/home-assistant/home-assistant/pull/14563
[#14566]: https://github.com/home-assistant/home-assistant/pull/14566
[#14574]: https://github.com/home-assistant/home-assistant/pull/14574
[#14583]: https://github.com/home-assistant/home-assistant/pull/14583
[#14584]: https://github.com/home-assistant/home-assistant/pull/14584
[#14594]: https://github.com/home-assistant/home-assistant/pull/14594
[#14595]: https://github.com/home-assistant/home-assistant/pull/14595
[#14596]: https://github.com/home-assistant/home-assistant/pull/14596
[#14602]: https://github.com/home-assistant/home-assistant/pull/14602
[#14604]: https://github.com/home-assistant/home-assistant/pull/14604
[#14605]: https://github.com/home-assistant/home-assistant/pull/14605
[#14610]: https://github.com/home-assistant/home-assistant/pull/14610
[#14611]: https://github.com/home-assistant/home-assistant/pull/14611
[#14613]: https://github.com/home-assistant/home-assistant/pull/14613
[#14615]: https://github.com/home-assistant/home-assistant/pull/14615
[#14617]: https://github.com/home-assistant/home-assistant/pull/14617
[#14618]: https://github.com/home-assistant/home-assistant/pull/14618
[#14620]: https://github.com/home-assistant/home-assistant/pull/14620
[#14627]: https://github.com/home-assistant/home-assistant/pull/14627
[#14628]: https://github.com/home-assistant/home-assistant/pull/14628
[#14629]: https://github.com/home-assistant/home-assistant/pull/14629
[#14633]: https://github.com/home-assistant/home-assistant/pull/14633
[#14634]: https://github.com/home-assistant/home-assistant/pull/14634
[#14637]: https://github.com/home-assistant/home-assistant/pull/14637
[#14638]: https://github.com/home-assistant/home-assistant/pull/14638
[#14639]: https://github.com/home-assistant/home-assistant/pull/14639
[#14640]: https://github.com/home-assistant/home-assistant/pull/14640
[#14642]: https://github.com/home-assistant/home-assistant/pull/14642
[#14643]: https://github.com/home-assistant/home-assistant/pull/14643
[#14647]: https://github.com/home-assistant/home-assistant/pull/14647
[#14649]: https://github.com/home-assistant/home-assistant/pull/14649
[#14652]: https://github.com/home-assistant/home-assistant/pull/14652
[#14654]: https://github.com/home-assistant/home-assistant/pull/14654
[#14656]: https://github.com/home-assistant/home-assistant/pull/14656
[#14659]: https://github.com/home-assistant/home-assistant/pull/14659
[#14661]: https://github.com/home-assistant/home-assistant/pull/14661
[#14667]: https://github.com/home-assistant/home-assistant/pull/14667
[#14669]: https://github.com/home-assistant/home-assistant/pull/14669
[#14671]: https://github.com/home-assistant/home-assistant/pull/14671
[#14674]: https://github.com/home-assistant/home-assistant/pull/14674
[#14675]: https://github.com/home-assistant/home-assistant/pull/14675
[#14679]: https://github.com/home-assistant/home-assistant/pull/14679
[#14681]: https://github.com/home-assistant/home-assistant/pull/14681
[#14686]: https://github.com/home-assistant/home-assistant/pull/14686
[#14689]: https://github.com/home-assistant/home-assistant/pull/14689
[#14708]: https://github.com/home-assistant/home-assistant/pull/14708
[#14717]: https://github.com/home-assistant/home-assistant/pull/14717
[#14719]: https://github.com/home-assistant/home-assistant/pull/14719
[#14720]: https://github.com/home-assistant/home-assistant/pull/14720
[#14724]: https://github.com/home-assistant/home-assistant/pull/14724
[#14735]: https://github.com/home-assistant/home-assistant/pull/14735
[#14738]: https://github.com/home-assistant/home-assistant/pull/14738
[#14742]: https://github.com/home-assistant/home-assistant/pull/14742
[#14746]: https://github.com/home-assistant/home-assistant/pull/14746
[#14750]: https://github.com/home-assistant/home-assistant/pull/14750
[#14760]: https://github.com/home-assistant/home-assistant/pull/14760
[#14762]: https://github.com/home-assistant/home-assistant/pull/14762
[#14763]: https://github.com/home-assistant/home-assistant/pull/14763
[#14764]: https://github.com/home-assistant/home-assistant/pull/14764
[#14765]: https://github.com/home-assistant/home-assistant/pull/14765
[#14767]: https://github.com/home-assistant/home-assistant/pull/14767
[#14768]: https://github.com/home-assistant/home-assistant/pull/14768
[#14769]: https://github.com/home-assistant/home-assistant/pull/14769
[#14770]: https://github.com/home-assistant/home-assistant/pull/14770
[#14771]: https://github.com/home-assistant/home-assistant/pull/14771
[#14772]: https://github.com/home-assistant/home-assistant/pull/14772
[#14778]: https://github.com/home-assistant/home-assistant/pull/14778
[#14785]: https://github.com/home-assistant/home-assistant/pull/14785
[#14790]: https://github.com/home-assistant/home-assistant/pull/14790
[#14791]: https://github.com/home-assistant/home-assistant/pull/14791
[@Adminiuga]: https://github.com/Adminiuga
[@Bahnburner]: https://github.com/Bahnburner
[@Bakkoda]: https://github.com/Bakkoda
[@Kane610]: https://github.com/Kane610
[@Klathmon]: https://github.com/Klathmon
[@Oro]: https://github.com/Oro
[@SchumyHao]: https://github.com/SchumyHao
[@amelchio]: https://github.com/amelchio
[@andrey-git]: https://github.com/andrey-git
[@austinlg96]: https://github.com/austinlg96
[@awarecan]: https://github.com/awarecan
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
[@bastshoes]: https://github.com/bastshoes
[@c727]: https://github.com/c727
[@cdce8p]: https://github.com/cdce8p
[@cgarwood]: https://github.com/cgarwood
[@damarco]: https://github.com/damarco
[@danielperna84]: https://github.com/danielperna84
[@dmulcahey]: https://github.com/dmulcahey
[@fabaff]: https://github.com/fabaff
[@glenn20]: https://github.com/glenn20
[@guillaume1410]: https://github.com/guillaume1410
[@heinemml]: https://github.com/heinemml
[@iMicknl]: https://github.com/iMicknl
[@ileler]: https://github.com/ileler
[@jaypikay]: https://github.com/jaypikay
[@jwood55812]: https://github.com/jwood55812
[@koreth]: https://github.com/koreth
[@kotlarz]: https://github.com/kotlarz
[@lorenzschmid]: https://github.com/lorenzschmid
[@mammuth]: https://github.com/mammuth
[@michaelarnauts]: https://github.com/michaelarnauts
[@michaeldavie]: https://github.com/michaeldavie
[@mjg59]: https://github.com/mjg59
[@mxworm]: https://github.com/mxworm
[@nklever]: https://github.com/nklever
[@pavoni]: https://github.com/pavoni
[@ptcryan]: https://github.com/ptcryan
[@quthla]: https://github.com/quthla
[@raccettura]: https://github.com/raccettura
[@rcloran]: https://github.com/rcloran
[@robertbeal]: https://github.com/robertbeal
[@roiff]: https://github.com/roiff
[@scarface-4711]: https://github.com/scarface-4711
[@schmittx]: https://github.com/schmittx
[@syssi]: https://github.com/syssi
[@tchellomello]: https://github.com/tchellomello
[@titilambert]: https://github.com/titilambert
[@treehoof]: https://github.com/treehoof
[alarm_control_panel.manual docs]: /components/alarm_control_panel.manual/
[alarm_control_panel.totalconnect docs]: /components/alarm_control_panel.totalconnect/
[api docs]: /components/api/
[automation docs]: /components/automation/
[binary_sensor.deconz docs]: /components/binary_sensor.deconz/
[binary_sensor.envisalink docs]: /components/binary_sensor.envisalink/
[binary_sensor.hydrawise docs]: /components/binary_sensor.hydrawise/
[binary_sensor.nest docs]: /components/binary_sensor.nest/
[binary_sensor.rainmachine docs]: /components/binary_sensor.rainmachine/
[binary_sensor.random docs]: /components/binary_sensor.random/
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
[binary_sensor.zha docs]: /components/binary_sensor.zha/
[climate.homematicip_cloud docs]: /components/climate.homematicip_cloud/
[climate.nest docs]: /components/climate.nest/
[climate.sensibo docs]: /components/climate.sensibo/
[cloud docs]: /components/cloud/
[config docs]: /components/config/
[counter docs]: /components/counter/
[cover.myq docs]: /components/cover.myq/
[cover.ryobi_gdo docs]: /components/cover.ryobi_gdo/
[device_tracker docs]: /components/device_tracker/
[eufy docs]: /components/eufy/
[frontend docs]: /components/frontend/
[hassio docs]: /components/hassio/
[history docs]: /components/history/
[homekit docs]: /components/homekit/
[homematic docs]: /components/homematic/
[homematicip_cloud docs]: /components/homematicip_cloud/
[hydrawise docs]: /components/hydrawise/
[keyboard_remote docs]: /components/keyboard_remote/
[light.lw12wifi docs]: /components/light.lw12wifi/
[light.nanoleaf_aurora docs]: /components/light.nanoleaf_aurora/
[light.osramlightify docs]: /components/light.osramlightify/
[light.zha docs]: /components/light.zha/
[linode docs]: /components/linode/
[lock.xiaomi_aqara docs]: /components/lock.xiaomi_aqara/
[logbook docs]: /components/logbook/
[media_extractor docs]: /components/media_extractor/
[media_player.denonavr docs]: /components/media_player.denonavr/
[media_player.directv docs]: /components/media_player.directv/
[media_player.kodi docs]: /components/media_player.kodi/
[media_player.philips_js docs]: /components/media_player.philips_js/
[nest docs]: /components/nest/
[notify docs]: /components/notify/
[panel_custom docs]: /components/panel_custom/
[python_script docs]: /components/python_script/
[rainbird docs]: /components/rainbird/
[raincloud docs]: /components/raincloud/
[rainmachine docs]: /components/rainmachine/
[sensor.bitcoin docs]: /components/sensor.bitcoin/
[sensor.bom docs]: /components/sensor.bom/
[sensor.coinmarketcap docs]: /components/sensor.coinmarketcap/
[sensor.deconz docs]: /components/sensor.deconz/
[sensor.gitter docs]: /components/sensor.gitter/
[sensor.glances docs]: /components/sensor.glances/
[sensor.homematicip_cloud docs]: /components/sensor.homematicip_cloud/
[sensor.hydrawise docs]: /components/sensor.hydrawise/
[sensor.iperf3 docs]: /components/sensor.iperf3/
[sensor.luftdaten docs]: /components/sensor.luftdaten/
[sensor.mfi docs]: /components/sensor.mfi/
[sensor.nest docs]: /components/sensor.nest/
[sensor.netatmo docs]: /components/sensor.netatmo/
[sensor.netdata docs]: /components/sensor.netdata/
[sensor.onewire docs]: /components/sensor.onewire/
[sensor.postnl docs]: /components/sensor.postnl/
[sensor.rainmachine docs]: /components/sensor.rainmachine/
[sensor.random docs]: /components/sensor.random/
[sensor.shodan docs]: /components/sensor.shodan/
[sensor.simulated docs]: /components/sensor.simulated/
[sensor.speedtest docs]: /components/sensor.speedtest/
[sensor.swiss_public_transport docs]: /components/sensor.swiss_public_transport/
[sensor.transmission docs]: /components/sensor.transmission/
[sensor.uptime docs]: /components/sensor.uptime/
[sensor.version docs]: /components/sensor.version/
[sensor.worldclock docs]: /components/sensor.worldclock/
[sensor.zha docs]: /components/sensor.zha/
[shopping_list docs]: /components/shopping_list/
[switch.hydrawise docs]: /components/switch.hydrawise/
[switch.raincloud docs]: /components/switch.raincloud/
[switch.rainmachine docs]: /components/switch.rainmachine/
[vera docs]: /components/vera/
[xiaomi_aqara docs]: /components/xiaomi_aqara/
[zha docs]: /components/zha/
[zone docs]: /components/zone/
[zwave docs]: /components/zwave/
[@OttoWinter]: https://github.com/OttoWinter
[esphomeyaml]: https://esphomelib.com/esphomeyaml/index.html
[@c727]: https://github.com/c727

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB