Merge branch 'current' into next

This commit is contained in:
Paulus Schoutsen 2017-05-13 17:52:27 -07:00
commit 79fad1c875
57 changed files with 957 additions and 263 deletions

View file

@ -16,6 +16,8 @@ The `eight_sleep` component allows Home Assistant to fetch data from your [Eight
It's setup utilizing 'Sensor' components to convey the current state of your bed and results of your sleep sessions and a 'Binary Sensor' component to indicate your presence in the bed. A service is also provided to set the heating level and duration of the bed.
You must have at least two sleep sessions recorded in the Eight Sleep app prior to setting up the Home Assistant component.
To get started add the following information to your `configuration.yaml` file:
```yaml
@ -38,6 +40,9 @@ Sensors:
- eight_left/right_bed_state
- eight_left/right_sleep_session
- eight_left/right_previous_sleep_session
- eight_left/right_bed_temperature
- eight_left/right_sleep_stage
- eight_room_temperature
Binary Sensors:

View file

@ -20,6 +20,7 @@ There is currently support for the following device types within Home Assistant:
- [Binary Sensor](/components/binary_sensor.knx)
- [Sensor](/components/sensor.knx)
- [Switch](/components/switch.knx)
- [Light](/components/light.knx)
- [Thermostat](/components/climate.knx)
A `knx` section must be present in the `configuration.yaml` file and contain the following options as required:

View file

@ -10,6 +10,7 @@ footer: true
logo: raspberry-pi.png
ha_category: Light
ha_iot_class: "Local Push"
ha_release: 0.44
---
The `blinkt` light platform lets you control the [Blinkt!](https://shop.pimoroni.com/products/blinkt) board, featuring eight super-bright RGB LEDs.

View file

@ -9,7 +9,7 @@ sharing: true
footer: true
logo: lifx.png
ha_category: Light
ha_iot_class: "Local Push"
ha_iot_class: "Local Polling"
ha_release: 0.12
---
@ -112,9 +112,10 @@ Run an effect with colors looping around the color wheel. All participating ligh
| ---------------------- | ----------- |
| `entity_id` | String or list of strings that point at `entity_id`s of lights. Else targets all.
| `brightness` | Number between 0 and 255 indicating brightness of the effect. Leave this out to maintain the current brightness of each participating light.
| `period` | Duration (in seconds) between the start of a new color change.
| `period` | Duration (in seconds) between starting a new color change.
| `transition` | Duration (in seconds) where lights are actively changing color.
| `change` | Hue movement per period, in degrees on a color wheel (ranges from 0 to 359).
| `spread` | Total hue covered by participating lights, in degrees on a color wheel (ranges from 0 to 359).
| `spread` | Maximum color difference between participating lights, in degrees on a color wheel (ranges from 0 to 359).
| `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_stop` %}

View file

@ -60,6 +60,7 @@ Configuration variables:
- **name** (*Optional*): The name of the light. Default is "MQTT JSON Light."
- **optimistic** (*Optional*): Flag that defines if the light works in optimistic mode. Default is true if no state topic defined, else false.
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
- **retain** (*Optional*): If the published message should have the retain flag on or not.
- **rgb** (*Optional*): Flag that defines if the light supports RGB colors. Default is false.
- **state_topic** (*Optional*): The MQTT topic subscribed to receive state updates.
- **white_value** (*Optional*): Flag that defines if the light supports white values. Default is false.

View file

@ -64,3 +64,11 @@ Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`,
| ---------------------- | -------- | ---------------------------------------------------- |
| `entity_id` | yes | Target a specific media player. Defaults to all. |
| `source` | no | Name of the source to switch to. Platform dependent. |
#### {% linkable_title Service `media_player/shuffle_set` %}
Currently only supports Spotify.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------- |
| `entity_id` | no | Target a specific media player. For example `media_player.spotify`|
| `source` | no | `true`/`false` for enabling/disabling shuffle |

View file

@ -21,17 +21,19 @@ The `spotify` media player platform allows you to control [Spotify](https://www.
- Spotify Premium account.
- Spotify Application, properly configured.
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, and select **Create An App**. Enter any name and description. Once your application is created, you can view it and discover your **Client ID** and **Client Secret**, which are placed in the Home Assistant configuration file. Finally, add a **Redirect URI** in the following form:
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.
- Add a **Redirect URI** in the following forms:
`http://<your_home_assistant_url_or_local_ip>/api/spotify`
No SSL: `http://<your_home_assistant_url_or_local_ip>:<port>/api/spotify`
If you've set up Home Assistant to use SSL encryption, use:
If using SSL: `https://<your_home_assistant_url_or_local_ip>:<port>/api/spotify`
`https://<your_home_assistant_url_or_local_ip>/api/spotify`
The URL is whatever you use to access Home Assistant from outside your network (including port if applicable).
The first part of the URL will be whatever you use to access Home Assistant from outside your network (including port if applicable).
Remember to select **Save** after adding the URI. You may also need to set the `base_url` attribute of the [HTTP Component](https://home-assistant.io/components/http/).
- Click **Save** after adding the URI. You may also need to set the `base_url` attribute of the [HTTP Component](https://home-assistant.io/components/http/).
## {% linkable_title Configuration %}

View file

@ -56,7 +56,7 @@ The icon can be overridden for individual notifications by providing a path to a
```yaml
automation:
- alias: Front door motion
trigger:
trigger:
platform: state
entity_id: binary_sensor.front_door_motion
state: 'on'
@ -66,4 +66,4 @@ automation:
message: "Movement detected: Front Door"
data:
icon: "/home/homeassistant/images/doorbell.png"
```
```

View file

@ -13,7 +13,7 @@ ha_release: 0.44
ha_iot_class: "Local Push"
---
[OpenCV](https://www.opencv.org) is an open source computer vision image and video processing library.
[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

View file

@ -1,8 +1,8 @@
---
layout: page
title: "Plant Observer"
description: "Automation component to observe the status of your plants."
date: 2017-05-06 08:00
title: "Plant monitor"
description: "Instructions on how to setup plant monitoring with Home Assistant."
date: 2016-05-7 23:00
sidebar: true
comments: false
sharing: true
@ -11,7 +11,57 @@ ha_category: Other
ha_release: 0.44
---
This`plant`component lets you merge moisture, conductivity, light intensity, temperature and battery level for a plant into a single UI element. It also supports setting minimum and maximum values for each measurement and will change its state to "problem" if it is not within those limits.
To use your `plant` sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
plant:
name_of_your_plant:
sensors:
moisture: sensor.my_sensor_moisture
battery: sensor.my_sensor_moisture_battery
temperature: sensor.my_sensor_moisture_temperature
conductivity: sensor.my_sensor_moisture_conductivity
brightness: sensor.my_sensor_moisture_brightness
min_moisture: 20
```
Configuration variables:
- **entity_id** (*Required*): Set by you and is used by the component as the `entity_id`.
- **sensors** (*Required*):
- **moisture** (*Optional*): Moisture of the plant. Meassured in %. Can have a min and max value set optionally.
- **battery** (*Optional*): Battery level of the plant sensor. Meassured in %. Can only have a min level set optionally.
- **temperature:** (*Optional*): Temperaure of the plant. Meassured in degrees Celcius. Can have a min and max value set optionally.
- **conductivity:** (*Optional*): Conductivity of the plant. Meassured in µS/cm. Can have a min and max value set optionally.
- **brightness:** (*Optional*): Light exposure of the plant. Meassured in Lux. Can have a min and max value set optionally.
- **min_moisture** (*Optional*): Minimum moisture level before triggering a problem. Typical value: 20
- **max_moisture** (*Optional*): Maximum moisture level before triggering a problem. Typical value: 60
- **min_battery** (*Optional*): Minimum battery level before triggering a problem. Typical value: 20
- **min_conductivity** (*Optional*): Minimum conductivity level before triggering a problem. Typical value: 500
- **max_conductivity** (*Optional*): Maximum conductivity level before triggering a problem. Typical value: 3000
- **min_temperature** (*Optional*): Minimum temperature before triggering a problem.
- **max_temperature** (*Optional*): Maximum temperature before triggering a problem.
- **min_brightness** (*Optional*): Minimum brightness before triggering a problem.
- **max_brightness** (*Optional*): Maximum brightness before triggering a problem.
## {% linkable_title Examples %}
### Using plain MQTT sensor to get the data
This is a practial example that uses a multiple of `MQTT sensors` to supply the readings used by the `plant` sensor.
Another good source of this data would be the [Mi Flora](https://home-assistant.io/components/sensor.miflora/) component.
If the sensor data within the the min/max values the status will be `ok`, if not the status will be `problem`. You can use this to trigger a notification, if there is a problem with your plant. Of course you can only monitor attributes of your plant, where the sensor is configured and is providing the data.
## Data Source
The main sources of the data will usually be a [MiFlora sensor](sensor.miflora) or a [MQTT sensor](sensor.mqtt) receiving the data from a [PlantGateway](https://github.com/ChristianKuehnel/plantgateway).
If you want to get the date via a PlantGateway, this is a typical configuration for the MQTT sensors:
```yaml
# Example configuration.yaml entry
plant:
simulated_plant:
sensors:
@ -25,30 +75,28 @@ plant:
min_battery: 17
min_conductivity: 500
min_temperature: 15
```
## Using plain MQTT sensor to get the data
```yaml
sensor:
- platform: mqtt
name: mqtt_plant_moisture
state_topic: test/simulated_plant
name: my_plant_moisture
state_topic: my_plant_topic
value_template: '{{ value_json.moisture }}'
- platform: mqtt
name: mqtt_plant_battery
state_topic: test/simulated_plant
name: my_plant_battery
state_topic: my_plant_topic
value_template: '{{ value_json.battery }}'
- platform: mqtt
name: mqtt_plant_temperature
state_topic: test/simulated_plant
name: my_plant_temperature
state_topic: my_plant_topic
value_template: '{{ value_json.temperature }}'
- platform: mqtt
name: mqtt_plant_conductivity
state_topic: test/simulated_plant
name: my_plant_conductivity
state_topic: my_plant_topic
value_template: '{{ value_json.conductivity }}'
- platform: mqtt
name: mqtt_plant_brightness
state_topic: test/simulated_plant
name: my_plant_brightness
state_topic: my_plant_topic
value_template: '{{ value_json.brightness }}'
```
You have to replace the `state_topic` with the value that you configured in the PlantGateway. It also depends on the global configuration of your MQTT server.

View file

@ -8,7 +8,7 @@ comments: false
sharing: true
footer: true
ha_category: Front end
ha_release: 0.43
ha_release: 0.44
---
The `rss_feed_template` component can export any information from Home Assistant as static RSS feed. This can be used to display those information on several devices using RSS readers. While native apps for Home Assistant are not widely available, native RSS readers exists for almost any platform.

View file

@ -19,20 +19,32 @@ To use Dweet.io in your installation, add the following to your `configuration.y
```yaml
# Example configuration.yaml entry
sensor:
platform: dweet
name: Dweet.io Temperature
device: THING_NAME
value_template: '{% raw %}{{ value_json.VARIABLE }}{% endraw %}'
unit_of_measurement: "°C"
- platform: dweet
device: THING_NAME
value_template: '{% raw %}{{ value_json.VARIABLE }}{% endraw %}'
```
Configuration variables:
- **device** (*Required*): Identification of the device (also known as `thing`).
- **name** (*Optional*): Let you overwrite the the name of the device in the frontend.
- **value_template** (*Required*): The variable to extract a value from the content.
- **name** (*Optional*): Let you overwrite the the name of the device in the frontend.
- **unit_of_measurement** (*Optional*): Defines the unit of measurement of the sensor, if any.
### {% linkable_title Full configuration sample %}
A ful configuration entry could look like the sample below.
```yaml
# Example configuration.yaml entry
sensor:
- platform: dweet
name: Temperature
device: THING_NAME
value_template: '{% raw %}{{ value_json.VARIABLE }}{% endraw %}'
unit_of_measurement: "°C"
```
### {% linkable_title Interacting with Dweet.io %}
You can easily send dweets from the commandline to test your sensor with `curl`.

View file

@ -91,6 +91,9 @@ Configuration variables:
- **precip_today_in**: Total precipitation in inches
- **precip_today_metric**: Total precipitation in metric units
- **precip_today_string**: Text summary of precipitation today
- **precip_1d_mm** [<sup>[1d]</sup>](#1d): Forecasted precipitation intensity in milimeters
- **precip_1d_in** [<sup>[1d]</sup>](#1d): Forecasted precipitation intensity in inches
- **precip_1d** [<sup>[1d]</sup>](#1d): Forecasted precipitation probability in %
- **pressure_in**: Atmospheric air pressure in inches
- **pressure_mb**: Atmospheric air pressure in millibars
- **pressure_trend**: Atmospheric air presure trend signal (+/-)
@ -100,19 +103,137 @@ Configuration variables:
- **temperature_string**: Temperature text combinding Fahrenheit and Celsius
- **temp_c**: Current temperature in Celsius
- **temp_f**: Current temperature in Fahrenheit
- **temp_high_record_c**: Maximum temperature meassured in Celsius
- **temp_high_record_f**: Maximum temperature meassured in Fahrenheit
- **temp_low_record_c**: Minimal temperature meassured in Celsius
- **temp_low_record_f**: Minimal temperature meassured in Fahrenheit
- **temp_high_avg_c**: Average high for today in Celsius
- **temp_high_avg_f**: Average high for today in Fahrenheit
- **temp_low_avg_c**: Average low for today in Celsius
- **temp_low_avg_f**: Average low for today in Fahrenheit
- **temp_high_1d_c** [<sup>[1d]</sup>](#1d): Forecasted high temperature in Celsius
- **temp_high_1d_f** [<sup>[1d]</sup>](#1d): Forecasted high temperature in Fahrenheit
- **temp_low_1d_c** [<sup>[1d]</sup>](#1d): Forecasted low temperature in Celsius
- **temp_low_1d_f** [<sup>[1d]</sup>](#1d): Forecasted low temperature in Fahrenheit
- **UV**: Current levels of UV radiation. See [here](https://www.wunderground.com/resources/health/uvindex.asp) for explanation.
- **visibility_km**: Average visibility in km
- **visibility_mi**: Average visibility in miles
- **weather**: A human-readable text summary with picture from Wunderground.
- **weather_1d** [<sup>[12h]</sup>](#12h): A human-readable weather forecast using imperial units.
- **weather_1d_metric** [<sup>[12h]</sup>](#12h): A human-readable weather forecast using metric units.
- **weather_1h** [<sup>[1h]</sup>](#1h): Weather conditions in 1 hour. (e.g. "Thunderstorm" etc.)
- **wind_degrees**: Wind degrees
- **wind_dir**: Wind direction
- **wind_gust_kph**: Wind gusts speed in kph
- **wind_gust_mph**: Wind gusts speed in mph
- **wind_gust_1d_kph** [<sup>[1d]</sup>](#1d): Max. forecasted Wind in kph
- **wind_gust_1d_mph** [<sup>[1d]</sup>](#1d): Max. forecasted Wind in mph
- **wind_kph**: Current wind speed in kph
- **wind_mph**: Current wind speed in mph
- **wind_1d_kph** [<sup>[1d]</sup>](#1d): Forecasted wind speed in kph
- **wind_1d_mph** [<sup>[1d]</sup>](#1d): Forecasted wind speed in mph
- **wind_string**: Text summary of current wind conditions
All the conditions listed above will be updated each 5 minutes with exception of `alerts` that will be updated each 15 minutes by default.
All the conditions listed above will be updated every 5 minutes.
### Forecasts
_12 hour forecasts_
Monitored conditions marked above with <a name="12h">[12h]</a> are 12 hour
forecasts. To get a forecast for different period/daytime replace the
`_1d_` part of the sensor name. e.g. `weather_2n` will give you forecast for
tomorrow night. Valid values for day are `1` to `4` and
valid values for daytime are `d` or `n`.
_Daily forecasts_
Conditions above marked with <a name="1d">[1d]</a> are daily forecasts.
To get forecast for different day, replace the number
in `_1d_` part of the sensor name. Valid values are from
`1` to `4`.
_Hourly forecasts_
Conditions marked with <a name="1h">[1h]</a> are hourly forecasts.
To get forecast for different hour, replace the number
in the `_1h_` part of the sensor name with `1` to `36`.
E.g. `weather_24h` will give you weather in 24 hours.
Additional examples:
====================
Daily forecast
--------------
```yaml
sensor:
- platform: wunderground
- api_key: your_api_key
monitored_conditions:
- weather_1d_metric
- weather_1n_metric
- weather_2d_metric
- weather_2n_metric
- weather_3d_metric
- weather_3n_metric
- weather_4d_metric
- weather_4n_metric
group:
dialy_forecast:
name: Daily Forecast
entities:
- sensor.pws_weather_1d_metric
- sensor.pws_weather_1n_metric
- sensor.pws_weather_2d_metric
- sensor.pws_weather_2n_metric
- sensor.pws_weather_3d_metric
- sensor.pws_weather_3n_metric
- sensor.pws_weather_4d_metric
- sensor.pws_weather_4n_metric
```
![Daily Forecast](/images/screenshots/wunderground_daily_forecast.png)
Weather overview
----------------
```yaml
sensor:
- platform: wunderground
- api_key: your_api_key
monitored_conditions:
- temp_high_record_c
- temp_high_1d_c
- temp_c
- temp_low_1d_c
- temp_low_record_c
- precip_1d
- precip_1d_mm
- wind_kph
- wind_1d_kph
- alerts
group:
weather_overview:
name: Weather overview
entities:
- sensor.pws_weather_1d_metric
- sensor.pws_temp_high_record_c
- sensor.pws_temp_high_1d_c
- sensor.pws_temp_c
- sensor.pws_temp_low_1d_c
- sensor.pws_temp_low_record_c
- sensor.pws_precip_1d
- sensor.pws_precip_1d_mm
- sensor.pws_wind_kph
- sensor.pws_wind_1d_kph
- sensor.pws_alerts
```
![Weather overview](/images/screenshots/wunderground_weather_overview.png)
<p class='note warning'>
Note: While the platform is called “wunderground” the sensors will show up in Home Assistant as “PWS” (eg: sensor.pws_weather).

View file

@ -1,7 +1,7 @@
---
layout: page
title: "Vera"
description: "Instructions how to setup Vera hubs within Home Assistant."
description: "Instructions how to setup Vera Z-Wave hubs and configure devices within Home Assistant."
date: 2015-03-23 20:04
sidebar: true
comments: false
@ -16,7 +16,7 @@ The [Vera](http://getvera.com) hub is a controller mainly connecting to Z-Wave d
Switches, Lights (inc Dimmers), Locks, Sensors and Binary sensors are supported - and will be automatically added when HA connects to your Vera controller.
To use Vera devices in your installation, add the following to your configuration.yaml file using the IP and port number of your Vera controller:
To use Vera devices in your installation, add the following to your configuration.yaml file using the IP and port number of your Vera controller:
```yaml
vera:
@ -31,11 +31,13 @@ Configuration variables:
It is recommended to assign a static IP address to your Vera Controller. This ensures that it won't change IP addresses, so you won't have to change the `vera_controller_url` if it reboots and comes up with a different IP address. See your router's manual for details on how to set this up. If you need the MAC address of your Vera, check the label on the bottom.
</p>
### {% linkable_title Configure devices %}
By default your switches will be added to Home Assistant as switches, however if some of them are light switches, you can tell Home Assistant this using the optional `lights` parameter as shown below.
Vera imports detailed zwave devices into Home Assistant. This can include system devices and other devices that you don't use, you can tell Home Assistant not to load these devices using the `exclude:` parameter as shown below.
Vera imports detailed Z-Wave devices into Home Assistant. This can include system devices and other devices that you don't use, you can tell Home Assistant not to load these devices using the `exclude:` parameter as shown below.
You can find the vera device id either by looking at your vera controller or by checking the `Vera Device Id` attribute on each device imported into Home Assistant.
You can find the Vera device id either via the advanced properties of the device in the Vera UI or by checking the `Vera Device Id` attribute on each device imported into Home Assistant (under the developer tools).
```yaml
vera:
@ -46,3 +48,6 @@ vera:
lights: [15, 17, 19, 21, 22, 24, 26, 43, 64, 70, 87]
```
### {% linkable_title Using Z-Wave devices in automation %}
If you want to use a Z-Wave device from the Vera controller in Home Assistant automation, you'll need the entity id. In the Home Assistant UI you'll find all entities listed under the <img src='/images/screenshots/developer-tool-states-icon.png' alt='service developer tool icon' class="no-shadow" height="38" /> icon of the Developer Tools section. Look for entities that contain 'Vera Device Id' in their attributes, you'll find the entity id on the left.

View file

@ -75,6 +75,16 @@ Configuration variables:
This will connect to the Wink API and automatically set up any switches, lights, locks, fans, climate devices, covers, and sensors.
### {% linkable_title Service `refresh_state_from_wink` %}
The Wink component only obtains the device states from the Wink API once, during startup. All updates after that are pushed via a third party called PubNub. On rare occasions were an update isn't pushed device states can be out of sync.
You can use the service wink/refresh_state_from_wink to pull the most recent state from the Wink API for all devices.
### {% linkable_title Service `add_new_devices` %}
You can use the service wink/add_new_devices to pull any newly paired Wink devices to an already running instance of Home-Assistant. Any new devices will also be added if Home-Assistant is restarted.
<p class='note'>
The Wink hub can only be accessed via the cloud. This means it requires an active internet connection and you will experience delays when controlling and updating devices (~3s).
</p>

View file

@ -9,7 +9,7 @@ sharing: true
footer: true
logo: zigbee.png
ha_category: Hub
ha_release: 0.39
ha_release: 0.44
---
[ZigBee Home Automation](http://www.zigbee.org/zigbee-for-developers/applicationstandards/zigbeehomeautomation/)
@ -40,7 +40,7 @@ zha:
Configuration variables:
- **usb_path** (*Required*): Path to the serial device for the radio.
- **database_path** (*Required*): Path to the database which will keep persisten newtork data.
- **database_path** (*Required*): Path to the database which will keep persistent network data.