Merge pull request #4519 from home-assistant/release-0-62

0.62
This commit is contained in:
Paulus Schoutsen 2018-01-26 21:08:19 -08:00 committed by GitHub
commit 3c453c54eb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
62 changed files with 2041 additions and 119 deletions

View file

@ -21,6 +21,7 @@ There are a few ways that you can use Amazon Echo and Home Assistant together.
- [Build custom commands to use](#i-want-to-build-custom-commands-to-use-with-echo)
- [Create a new Flash Briefing source](#flash-briefing-skills)
- [Use the Smart Home API to control lights, etc](#smart-home)
- Alternative: use the [Emulated Hue component][emulated-hue-component] to trick Alexa to thinking Home Assistant is a Philips Hue hub.
Amazon has released [Echosim], a website that simulates the Alexa service in your browser. That way it is easy to test your skills without having access to a physical Amazon Echo.
@ -332,6 +333,50 @@ Please refer to the [Amazon documentation][flash-briefing-api-docs] for more inf
- Having passed all validations to reach this screen, you can now click on "< Back to All Skills" as your flash briefing is now available as in "Development" service.
- To invoke your flash briefing, open the Alexa app on your phone or go to the [Alexa Settings Site][alexa-settings-site], open the "Skills" configuration section, select "Your Skills", scroll to the bottom, tap on the Flash Briefing Skill you just created, enable it, then manage Flash Briefing and adjust ordering as necessary. Finally ask your Echo for your "news","flash briefing", or "briefing".
## {% linkable_title Smart Home %}
While the Skills API described above allows for arbitrary intents, all
utterances must begin with "Alexa, tell $invocation_name ..."
The [Emulated Hue component][emulated-hue-component] provides a simpler
interface such as, "Alexa, turn on the kitchen light". However it has some
limitations since everything looks like a light bulb.
Amazon provides a Smart Home API for richer home automation control. It takes
considerable effort to configure. The easy solution is to use
[Home Assistant Cloud](/components/cloud/).
If you don't want to use Home Assistant Cloud and are willing to do the
integration work yourself, Home Assistant can expose an HTTP API which makes
the integration work easier. Example configuration:
```yaml
alexa:
smart_home:
filter:
include_entities:
- light.kitchen
- light.kitchen_left
include_domains:
- switch
exclude_entities:
- switch.outside
entity_config:
light.kitchen:
name: Custom Name for Alexa
description: The light in the kitchen
switch.stairs:
display_categories: LIGHT
```
This exposes an HTTP POST endpoint at `http://your_hass_ip/api/alexa/smart_home`
which accepts and returns messages conforming to the
[Smart Home v3 payload](https://developer.amazon.com/docs/smarthome/smart-home-skill-api-message-reference.html).
You must then create an Amazon developer account with an Alexa skill and Lambda
function to integrate this endpoint. See
[Haaska](https://github.com/auchter/haaska) for an example.
[amazon-dev-console]: https://developer.amazon.com
[flash-briefing-api]: https://developer.amazon.com/alexa-skills-kit/flash-briefing
[flash-briefing-api-docs]: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/flash-briefing-skill-api-feed-reference

View file

@ -0,0 +1,25 @@
---
layout: page
title: "API"
description: "Instructions how to setup the RESTful API within Home Assistant."
date: 2018-01-21 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category: "Other"
---
The `api` component exposes a RESTful API and allows one to interact with a Home Assistant instance that is running headless. This component depends on the [`http` component](/components/http/).
<p class='note warning'>
It is HIGHLY recommended that you set the `api_password`, especially if you are planning to expose your installation to the internet.
</p>
```yaml
# Example configuration.yaml entry
api:
```
For details to use the API, please refer to the [REST API](/developers/rest_api/) or the [Python REST API documentation](/developers/python_api/) in the "Developer" section.

View file

@ -0,0 +1,69 @@
---
layout: page
title: "IHC Binary Sensor"
description: "Instructions how to integrate IHC Binary Sensors within Home Assistant."
date: 2017-11-27 13:35
sidebar: true
comments: false
sharing: true
footer: true
logo: ihc.png
ha_category: Binary Sensor
ha_release: 0.62
ha_iot_class: "Local Push"
---
Before you can use the IHC Binary Sensor platform, you must setup the [IHC Component](/components/ihc/)
When auto setup is enabled the following products will be found in the IHC project and setup as binary sensors:
* Dataline magnet contacts
* Dataline Pir sensors
* Dataline Pir sensors with twilight detection
* Dataline Pir alarm sensor
* Dataline smoke detector
* Dataline gas detector
* Dataline light sensor
To manually configure IHC Binary Sensors insert this section in your configuration:
```yaml
binary_sensor:
- platform: ihc
binary_sensors:
- id: 12345
name: mysensor
type: opening
inverting: True
- id: 12346
...
```
{% configuration %}
binary_sensors:
description: List of binary sensors to setup manually.
required: false
type: map
keys:
id:
description: The IHC resource id.
required: true
type: int
inverting:
description: If True the sensor will be inverted.
required: false
type: bool
default: false
name:
description: The name of the component
required: false
type: string
type:
description: The binary sensor type. See [Home Assistant binary sensor](/components/binary_sensor/) for available types.
required: false
type: string
{% endconfiguration %}
The resource id should be an id of a boolean IHC resource.
For more information about IHC resource ids see [Manual Setup](/components/ihc/#manual-setup)

View file

@ -28,8 +28,8 @@ binary_sensor:
Configuration variables:
- **name** (*Optional*): A name for this sensor. Defaults to *Workday Sensor*
- **country** (*Required*): Country code according to [holidays](https://pypi.python.org/pypi/holidays/0.8.1) notation.
- **province** (*Optional*): Province code according to [holidays](https://pypi.python.org/pypi/holidays/0.8.1) notation. Defaults to None.
- **country** (*Required*): Country code according to [holidays](https://pypi.python.org/pypi/holidays/0.9.3) notation.
- **province** (*Optional*): Province code according to [holidays](https://pypi.python.org/pypi/holidays/0.9.3) notation. Defaults to None.
- **workdays** (*Optional*): List of workdays. Defaults to `mon`, `tue`, `wed`, `thu`, `fri`.
- **excludes** (*Optional*): List of workday excludes. Defaults to `sat`, `sun`, `holiday`.
- **days_offset** (*Optional*): Set days offset. Defaults to `0`.

View file

@ -31,6 +31,6 @@ Configuration variables:
- **username** (*Optional*): The username for the camera.
- **password** (*Optional*): The password for the camera.
- **port** (*Optional*): The port for the camera. This defaults to 5000
- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g. image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg).
If you are running into trouble with this sensor, please refer to the [Troubleshooting section](/components/ffmpeg/#troubleshooting).

View file

@ -0,0 +1,89 @@
---
layout: page
title: "Xeoma Camera"
description: "Instructions on how to integrate camera video feeds from a Xeoma server in Home Assistant"
date: 2018-01-12 20:05
sidebar: true
comments: false
sharing: true
footer: true
logo: xeoma.png
ha_category: Camera
ha_iot_class: "Local Polling"
ha_release: 0.62
---
The `Xeoma` camera platform allows you to view the video feeds from a [Xeoma](http://felenasoft.com/xeoma) video surveillance server.
To enable Xeoma camera feeds, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
camera:
- platform: xeoma
host: http://localhost:10090
```
{% configuration %}
host:
description: The URL of the Xeoma server's web interface.
required: true
type: string
username:
description: The username used to access the Xeoma server's web interface.
required: false
type: string
password:
description: The password used to access the Xeoma server's web interface.
required: false
type: string
new_version:
description: Set to false if the Xeoma server version is 17.5 or earlier.
required: false
default: true
type: boolean
cameras:
description: List of customizations for individual Xeoma cameras.
required: false
type: list
keys:
image_name:
description: The name of the JPEG image for this camera as configured in Xeoma (without .jpg extension).
required: true
type: string
name:
description: The name to display in the frontend for this camera.
required: false
default: The `image_name` for this camera.
type: string
hide:
description: Don't show this camera in Home Assistant.
required: false
default: false
type: boolean
{% endconfiguration %}
## {% linkable_title Full examples %}
```yaml
# Example configuration.yaml entry
camera:
- platform: xeoma
host: http://localhost:10090
username: user
password: secretpassword
new_version: false
cameras:
- image_name: front_porch
name: Front Porch
- image_name: back_patio
hide: true
```
To use this platform, you must have the Xeoma Web Server module enabled in at least one of your camera chains.
This platform will parse the Xeoma web interface to find all enabled cameras and add them all to Home Assistant. You can
hide individual cameras using the platform configuration.
The `image_name` configuration value for each camera should match the name supplied to the Xeoma Web Server configuration (under _Path to access images_) with the _.jpg_ extension removed.

View file

@ -17,16 +17,18 @@ ha_iot_class: "Local Polling"
The `daikin` climate platform integrates Daikin air conditioning systems into Home Assistant, enabling control of setting the following parameters:
- **mode** (cool, heat, dry, fan only or auto)
- **fan speed**
- **fan speed** (on supported models)
- **target temperature**
- **swing mode** (on supported models)
Current temperature is displayed.
<p class='note warning'>
Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant
Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant. BRP069A42 does not support setting of fan speed or fan swing mode.
</p>
The platform has been integrated with discovery so all your Daikin AC's climate devices can be automatically discovered.
To enable the platform, add the following lines to your `configuration.yaml` file:
```yaml

View file

@ -39,7 +39,7 @@ Configuration variables:
- **hot_tolerance** (*Optional*): Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched off. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will stop when the sensor equals or goes above 25.5.
- **keep_alive** (*Optional*): Set a keep-alive interval. If set, the switch specified in the *heater* option will be triggered every time the interval elapses. Use with heaters and A/C units that shut off if they don't receive a signal from their remote for a while. Use also with switches that might lose state. The keep-alive call is done with the current valid climate component state (either on or off).
- **initial_operation_mode** (*Optional*): Set the initial operation mode. Valid values are `off` or `auto`. Value has to be double quoted. If this parameter is not set, it is preferable to set a *keep_alive* value. This is helpful to align any discrepancies between *generic_thermostat* and *heater* state.
- **away_temp** (*Optional*): Set the temperature used by "away_mode" (default: 16). Please specify when using `ac_mode: True` to a higher value.
- **away_temp** (*Optional*): Set the temperature used by "away_mode". If this is not specified, away_mode feature will not get activated.
A full configuration example looks like the one below. `min_cycle_duration` and `keep_alive` must contain at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:`.

View file

@ -78,6 +78,10 @@ payload_not_available:
required: false
type: string
default: offline
value_template:
description: Default template to render the payloads on *all* `*_state_topic`s with.
type: template
required: false
current_temperature_topic:
description: The MQTT topic on which to listen for the current temperature.
required: false
@ -94,6 +98,10 @@ mode_state_topic:
description: The MQTT topic to subscribe for changes of the HVAC operation mode. If this is not set, the operation mode works in optimistic mode (see below).
required: false
type: string
mode_state_template:
description: A template to render the value received on the `mode_state_topic` with.
required: false
type: template
temperature_command_topic:
description: The MQTT topic to publish commands to change the target temperature.
required: false
@ -102,6 +110,10 @@ temperature_state_topic:
description: The MQTT topic to subscribe for changes in the target temperature. If this is not set, the target temperature works in optimistic mode (see below).
required: false
type: string
temperature_state_template:
description: A template to render the value received on the `temperature_state_topic` with.
required: false
type: template
fan_mode_command_topic:
description: The MQTT topic to publish commands to change the fan mode.
required: false
@ -110,6 +122,10 @@ fan_mode_state_topic:
description: The MQTT topic to subscribe for changes of the HVAC fan mode. If this is not set, the fan mode works in optimistic mode (see below).
required: false
type: string
fan_mode_state_template:
description: A template to render the value received on the `fan_mode_state_topic` with.
required: false
type: template
swing_mode_command_topic:
description: The MQTT topic to publish commands to change the swing mode.
required: false
@ -118,6 +134,10 @@ swing_mode_state_topic:
description: The MQTT topic to subscribe for changes of the HVAC swing mode. If this is not set, the swing mode works in optimistic mode (see below).
required: false
type: string
swing_mode_state_template:
description: A template to render the value received on the `swing_mode_state_topic` with.
required: false
type: template
away_mode_command_topic:
description: The MQTT topic to publish commands to change the away mode.
required: false
@ -126,6 +146,10 @@ away_mode_state_topic:
description: The MQTT topic to subscribe for changes of the HVAC away mode. If this is not set, the away mode works in optimistic mode (see below).
required: false
type: string
away_mode_state_template:
description: A template to render the value received on the `away_mode_state_topic` with.
required: false
type: template
hold_command_topic:
description: The MQTT topic to publish commands to change the hold mode.
required: false
@ -134,6 +158,10 @@ hold_state_topic:
description: The MQTT topic to subscribe for changes of the HVAC hold mode. If this is not set, the hold mode works in optimistic mode (see below).
required: false
type: string
hold_state_template:
description: A template to render the value received on the `hold_state_topic` with.
required: false
type: template
aux_command_topic:
description: The MQTT topic to publish commands to switch auxiliary heat.
required: false
@ -142,12 +170,40 @@ aux_state_topic:
description: The MQTT topic to subscribe for changes of the auxiliary heat mode. If this is not set, the auxiliary heat mode works in optimistic mode (see below).
required: false
type: string
aux_state_template:
description: A template to render the value received on the `aux_state_topic` with.
required: false
type: template
{% endconfiguration %}
#### Optimistic mode
#### {% linkable_title Optimistic mode %}
If a property works in *optimistic mode* (when the corresponding state topic is not set), home assistant will assume that any state changes published to the command topics did work and change the internal state of the entity immediately after publishing to the command topic. If it does not work in optimistic mode, the internal state of the entity is only updated when the requested update is confirmed by the device through the state topic.
#### {% linkable_title Using Templates %}
For all `*_state_topic`s, a template can be specified that will be used to render the incoming payloads on these topics. Also, a default template that applies to all state topis can be specified as `value_template`. This can be useful if you received payloads are e.g. in JSON format. Since in JSON, a quoted string (e.g. `"foo"`) is just a string, this can also be used for unquoting.
Say you receive the operation mode `"auto"` via your `mode_state_topic`, but the mode is actually called just `auto`, here's what you could do:
{% raw %}
```yaml
climate:
- platform: mqtt
name: Study
modes:
- off
- on
- auto
mode_command_topic: "study/ac/mode/set"
mode_state_topic: "study/ac/mode/state"
mode_state_template: "{{ value_json }}"
```
{% endraw %}
This will parse the incoming `"auto"` as JSON, resulting in `auto`. Obvisouly, in this case you could also just set `value_template: {% raw %}"{{ value_json }}"{% endraw %}`.
### {% linkable_title Example %}
A full configuration example looks like the one below.

View file

@ -0,0 +1,77 @@
---
layout: page
title: "Venstar Thermostat"
description: "Instructions for how to integrate Venstar WiFi thermostats within Home Assistant."
date: 2018-01-14 00:04
sidebar: true
comments: false
sharing: true
footer: true
logo: venstar.png
ha_category: Climate
ha_release: 0.62
ha_iot_class: "Local Polling"
---
The `venstar` climate platform allows you to control [Venstar](http://www.venstar.com) thermostats from Home Assistant.
Venstar thermostats feature a local API that allows for automation without the need for a cloud service.
Currently supported and tested thermostats:
- Color Touch T7900
Currently supported functionality:
- Setting heat/cool temperature when the thermostat is in the appropriate mode.
- Changing the operation mode of the thermostat (heat/cool/off/auto)
- Turning the fan on/off
- Setting the humidity level
Note - Please ensure you update your thermostat to the latest firmware. Currently tested on firmware 5.10.
To set it up, add the following information to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
climate:
- platform: venstar
host: IP_OR_HOSTNAME_OF_THERMOSTAT
```
{% configuration %}
host:
description: Address of your thermostat, e.g., 192.168.1.32.
required: true
type: string
username:
description: Username for the thermostat.
required: false
type: string
password:
description: Password for the thermostat.
required: false
type: string
ssl:
description: Whether to use SSL or not when communicating.
required: false
type: boolean
default: False
timeout:
description: Number of seconds for API timeout.
required: false
type: int
default: 5
{% endconfiguration %}
## {% linkable_title Full configuration sample %}
```yaml
# Example configuration.yaml entry
climate:
- platform: venstar
host: IP_OR_HOSTNAME_OF_THERMOSTAT
ssl: True/False
username: OPTIONAL_AUTH_USER_HERE
password: OPTIONAL_AUTH_PASS_HERE
timeout: 5
```

View file

@ -38,7 +38,7 @@ cloud:
- switch.outside
entity_config:
switch.kitchen:
name: Custom Name for Alexa
name: Custom Name for Google Assistant
aliases:
- bright lights
- entry lights
@ -52,7 +52,7 @@ google_actions:
type: map
keys:
filter:
description: Filters for entities to include/exclude from Alexa.
description: Filters for entities to include/exclude from Google Assistant.
required: false
type: map
keys:

View file

@ -0,0 +1,16 @@
---
layout: page
title: "Lutron Cover"
description: "Instructions how to setup the Lutron shades within Home Assistant."
date: 2018-01-11 20:00
sidebar: true
comments: false
sharing: true
footer: true
logo: lutron.png
ha_category: Cover
ha_iot_class: "Local Polling"
ha_release: 0.61
---
To get your Lutron roller shades working with Home Assistant, follow the instructions for the general [Lutron component](/components/lutron/).

View file

@ -16,27 +16,29 @@ ha_iot_class: "Local Polling"
The `daikin` component integrates Daikin air conditioning systems into Home Assistant.
<p class='note warning'>
Please note, the Daikin platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant
</p>
To automatically add all your Daikin devices (ACs and associated sensors) into your Home Assistant installation, add the following to your 'configuration.yaml' file:
<p class='note warning'>
Please note, the Daikin platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant.
</p>
To automatically add all your Daikin devices (ACs and associated sensors) into your Home Assistant installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
# Full manual example configuration.yaml entry
daikin:
hosts:
- 192.168.4.161
monitored_conditions:
- inside_temperature
- outside_temperature
- inside_temperature
- outside_temperature
```
{% configuration %}
hosts:
description: List of IP addresses or hostnames.
required: true
required: false
default: All discovered hosts
type: array
monitored_conditions:
description: List of items you want to monitor for each device.

View file

@ -29,14 +29,47 @@ device_tracker:
http_id: YOUR_HTTP_ID
```
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.
- **http_id** (*Required*): The value can be obtained by logging in to the Tomato admin interface and search for `http_id` in the page source code.
{% configuration %}
host:
description: "The IP address or hostname of your router, e.g. `192.168.1.1` or `rt-ac68u`."
required: false
type: string
port:
description: "The port number of your router, e.g. `443`."
required: false
type: int
default: 80/443 (automatically detected)
ssl:
description: "Whether to connect via `https`."
required: false
type: bool
default: false
verify_ssl:
description: "If SSL verification for https resources needs to be turned off (for self-signed certs, etc.) this can take on boolean values `False` or `True` or you can pass a location on the device where a certificate can be used for verification e.g. `/mnt/NAS/router_cert.pem`."
required: false
type: [string, bool]
default: true
username:
description: "The username of an user with administrative privileges, usually *admin*."
required: true
type: string
password:
description: "The password for your given admin account."
required: true
type: string
http_id:
description: "The value can be obtained by logging in to the Tomato admin interface and search for `http_id` in the page source code."
required: true
type: string
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
A description of the API s available in this [Tomato API](http://paulusschoutsen.nl/blog/2013/10/tomato-api-documentation/) blog post.
SSL Certificate:
Gathering the SSL Certificate of your router can be accomplished with this (or a similar) command:
```bash
openssl s_client -showcerts -connect 172.10.10.1:443 </dev/null 2>/dev/null | openssl x509 -outform PEM > router_cert.pem
```

View file

@ -1,111 +1,139 @@
---
layout: page
title: "Xiaomi Air Purifier 2"
description: "Instructions how to integrate your Xiaomi Air Purifier 2 within Home Assistant."
title: "Xiaomi Air Purifier"
description: "Instructions how to integrate your Xiaomi Air Purifier within Home Assistant."
date: 2017-10-13 12:35
sidebar: true
comments: false
sharing: true
footer: true
logo: xiaomi.png
ha_category: Switch
ha_category: Fan
ha_version: 0.57
ha_iot_class: "Local Polling"
---
The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier 2, Air Purifier 2S and Air Purifier Pro.
Currently, the supported features are
Currently, the supported features are:
* On, Off
* Operation modes (auto, silent, favorite, idle)
* Buzzer (on, off)
* Child lock (on, off)
* LED (on, off), LED brightness (bright, dim, off)
* Favorite Level
* States
* Favorite Level (0...16)
* Attributes
- power
- aqi
- average_aqi
- humidity
- temperature
- mode
- favorite_level
- led
- led_brightness
- buzzer
- child_lock
- brightness
- favorite_level
- filter1_life
- f1_hour_used
- use_time
- motor1_speed
- purify_volume
- filter_life_remaining
- filter_hours_used
- motor_speed
## {% linkable_title Setup %}
Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token to use in the `configuration.yaml` file.
Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token.
To add a Xiaomi Air Purifier to your installation, add the following to your `configuration.yaml` file:
```yaml
fan:
# Example configuration.yaml entry
- platform: xiaomi_miio
name: Xiaomi Air Purifier 2
host: 192.168.130.66
token: YOUR_TOKEN
```
Configuration variables:
- **host** (*Required*): The IP of your plug.
- **token** (*Required*): The API token of your plug.
- **name** (*Optional*): The name of your plug.
{% configuration %}
host:
description: The IP address of your fan.
required: true
type: string
token:
description: The API token of your fan.
required: true
type: string
name:
description: The name of your fan.
required: false
type: string
default: Xiaomi Air Purifier
{% endconfiguration %}
## {% linkable_title Platform Services %}
### Service fan/xiaomi_miio_set_buzzer_on
### {% linkable_title Service fan/xiaomi_miio_set_buzzer_on %}
Turn the buzzer on.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | yes | Only act on specific air purifier. Else targets all. |
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
### Service fan/xiaomi_miio_set_buzzer_off
### {% linkable_title Service fan/xiaomi_miio_set_buzzer_off %}
Turn the buzzer off.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | yes | Only act on specific air purifier. Else targets all. |
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
### Service fan/xiaomi_miio_set_led_on
### {% linkable_title Service fan/xiaomi_miio_set_led_on %}
Turn the led on.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | yes | Only act on specific air purifier. Else targets all. |
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
### Service fan/xiaomi_miio_set_led_off
### {% linkable_title Service fan/xiaomi_miio_set_led_off %}
Turn the led off.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | yes | Only act on specific air purifier. Else targets all. |
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
### Service fan/xiaomi_miio_set_led_brightness
### {% linkable_title Service fan/xiaomi_miio_set_child_lock_on %}
Turn the child lock on.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
### {% linkable_title Service fan/xiaomi_miio_set_child_lock_off %}
Turn the child lock off.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
### {% linkable_title Service fan/xiaomi_miio_set_led_brightness %}
Set the led brightness. Supported values are 0 (Bright), 1 (Dim), 2 (Off).
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | yes | Only act on specific air purifier. Else targets all. |
| `brightness` | no | Brightness, between 0 and 2. |
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
| `brightness` | no | Brightness, between 0 and 2. |
### Service fan/xiaomi_miio_set_favorite_level
### {% linkable_title Service fan/xiaomi_miio_set_favorite_level %}
Set the favorite level of the operation mode "favorite".
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | yes | Only act on specific air purifier. Else targets all. |
| `level` | no | Level, between 0 and 16. |
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
| `level` | no | Level, between 0 and 16. |

View file

@ -37,7 +37,7 @@ google_assistant:
- group
entity_config:
switch.kitchen:
name: Custom Name for Alexa
name: Custom Name for Google Assistant
aliases:
- bright lights
- entry lights

View file

@ -65,9 +65,9 @@ http:
The [Set up encryption using Let's Encrypt](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) blog post gives you details about the encryption of your traffic using free certificates from [Let's Encrypt](https://letsencrypt.org/).
Or use a self signed certificate following the instructions here [Self-signed certificate for SSL/TLS](/docs/ecosystem/certificates/tls_self_signed_certificate/)
Or use a self signed certificate following the instructions here [Self-signed certificate for SSL/TLS](/docs/ecosystem/certificates/tls_self_signed_certificate/).
On top of the `http` component is a [REST API](/developers/rest_api/) and a [Python API](/developers/python_api/) available. There is also support for [Server-sent events](/developers/server_sent_events/).
On top of the `http` component is a [REST API](/developers/rest_api/), [Python API](/developers/python_api/) and [WebSocket API](/developers/websocket_api/) available. There is also support for [Server-sent events](/developers/server_sent_events/).
The `http` platforms are not real platforms within the meaning of the terminology used around Home Assistant. Home Assistant's [REST API](/developers/rest_api/) sends and receives messages over HTTP.

View file

@ -0,0 +1,90 @@
---
layout: page
title: "IHC"
description: "Instructions on how to integrate the IHC components with Home Assistant"
date: 2017-11-11 22:00
sidebar: true
comments: false
sharing: true
footer: true
logo: ihc.png
ha_category: Hub
ha_release: "0.62"
ha_iot_class: "Local Push"
---
IHC Controller integration for Home Assistant allows you to connect the LK IHC controller to Home Assistant.
(The controller is sold under other names in different countries - "ELKO Living system" in Sweden and Norway)
An `ihc` section must be present in the `configuration.yaml` file and contain the following options:
```yaml
# Example configuration.yaml entry
ihc:
host: http://192.168.1.3
username: admin
password: mysecret
auto_setup: True
info: True
```
{% configuration %}
auto_setup:
description: True to have IHC products auto setup.
required: false
type: bool
host:
description: The URL of the IHC Controller.
required: true
type: string
info:
description: If True additional IHC info will be shown on each component.
required: false
type: bool
password:
description: The password for the IHC Controller.
required: true
type: string
username:
description: The username for the IHC Controller.
required: true
type: string
{% endconfiguration %}
The info option will show the IHC "name", "note" and "position" attributes.
This will make it easier to identify the IHC products within Home Assistant
There is currently support for the following device types within Home Assistant:
- [Binary Sensor](/components/binary_sensor.ihc/)
- [Sensor](/components/sensor.ihc/)
- [Light](/components/light.ihc/)
- [Switch](/components/switch.ihc/)
### Auto setup of IHC products
If auto setup is enabled, the `ihc` component will automatically find IHC products and insert these as devices in Home Assistant.
To disable this set auto_setup to False. (Auto setup is on by default)
See the individual device types for a list of IHC products to be recognized automatically.
Components will get a default name that is a combination of the IHC group and IHC resource id.
If you want to change the display names use the [Customizing entities](/docs/configuration/customizing-devices/)
### {% linkable_title Manual setup %}
Each device is associated with an IHC resource id.
To manually setup components you specify resource ids from the IHC project.
(The IHC project is the file you edit/upload to the IHC Controller using LK IHC Visual - or similar program if your controller is not the LK brand).
The project file is an XML file and you can view it with any text/XML editor.
You can rename it to have the XML extension and use a browser like Chrome or Internet Explorer.
The resources are the \<airlink_xxx> or \<dataline_xxx> eleements.
Shown as inputs or outputs of products in the IHC application.
You can also use inputs and outputs from function blocks.
These are the \<resource_input> and \<resource_output> elements from the project file.
The IHC resource id should be specified as an integer value. (In the project file the id will be specified as a hex number)
If you want an easier way to get the IHC resource ids, you can download the [Alternative Service View application](https://www.dingus.dk/updated-ihc-alternative-service-view/).
The application will show the product tree. You can expand it, select inputs and outputs and when selected you can see the resource id.
See each device type for the manual configuration options.

View file

@ -0,0 +1,62 @@
---
layout: page
title: "IOTA"
description: "Instructions on how to integrate IOTA wallets with Home Assistant."
date: 2017-12-31 13:29
sidebar: true
comments: false
sharing: true
footer: true
logo: iota.png
ha_category: Finance
ha_release: 0.62
ha_iot_class: "Cloud Polling"
---
[IOTA](http://iota.org/) is a new blockless distributed ledger which is scalable, lightweight and makes it possible to transfer value without any fees.
The `iota` component displays various details (e.g., the balance, node attributes) of IOTA wallets.
```yaml
# configuration.yaml example
iota:
iri: https://testnet140.tangle.works:4434
wallets:
- name: Default Wallet
seed: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
```
{% configuration %}
iri:
description: URL of the IRI node.
required: true
type: string
testnet:
description: Flag for indicating "testnet".
required: false
default: false
type: bool
wallets:
description: List of IOTA wallets.
required: true
type: list
keys:
name:
description: Name of the wallet.
seed:
description: Seed of the wallet.
{% endconfiguration %}
A full configuration example could look the one below:
```yaml
# Full example
iota:
iri: https://testnet140.tangle.works:4434
testnet: true
wallets:
- name: Default Wallet
seed: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- name: Exchange Wallet
seed: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
```

View file

@ -29,5 +29,7 @@ Configuration variables:
- **host** (*Required*): The IP address of the device the Hyperion service is running on.
- **port** (*Optional*): The port used to communicate with the Hyperion service. Defaults to `19444`.
- **name** (*Optional*): The name of the device used in the frontend.
- **priority** (*Optional*): The priority of the hyperion instance. Defaults to `128`.
- **priority** (*Optional*): The priority of the Hyperion instance. Defaults to `128`.
- **hdmi_priority** (*Optional*): The priority of the HDMI grabber of this Hyperion instance, note that this priority must be higher than all other priorities used for correct behavior. Defaults to `880`.
- **default_color** (*Optional*): The color of the light. Defaults to `[255, 255, 255]`.
- **effect_list** (*Optional*): The list of effects that can be used. Defaults to `['HDMI', 'Cinema brighten lights', 'Cinema dim lights', 'Knight rider', 'Blue mood blobs', 'Cold mood blobs', 'Full color mood blobs', 'Green mood blobs', 'Red mood blobs', 'Warm mood blobs', 'Police Lights Single', 'Police Lights Solid', 'Rainbow mood', 'Rainbow swirl fast', 'Rainbow swirl', 'Random', 'Running dots', 'System Shutdown', 'Snake', 'Sparks Color', 'Sparks', 'Strobe blue', 'Strobe Raspbmc', 'Strobe white', 'Color traces', 'UDP multicast listener', 'UDP listener', 'X-Mas']`.

View file

@ -0,0 +1,65 @@
---
layout: page
title: "IHC Light"
description: "Instructions how to integrate IHC lights within Home Assistant."
date: 2017-11-27 13:35
sidebar: true
comments: false
sharing: true
footer: true
logo: ihc.png
ha_category: Light
ha_release: 0.62
ha_iot_class: "Local Push"
---
Before you can use the IHC Light platform, you must setup the [IHC Component](/components/ihc/)
When auto setup is enabled the following products will be found in the IHC project and setup as light devices:
* Wireless lamp outlet dimmer
* Wireless dimmer
* Wireless combi dimmer 4 buttons
* Wireless lamp outlet relay
* Wireless combi relay 4 buttons
* Wireless mobile dimmer
* Dataline lamp outlet
To manually configure IHC lights insert this section in your configuration:
```yaml
light:
- platform: ihc
lights:
- id: 12345
name: tablelight
dimmable: True
- id: 12346
name: anotherlight
...
```
{% configuration %}
lights:
description: List of lights to setup manually
required: false
type: map
keys:
dimmable:
description: Set to True if the IHC resource is a light level
required: false
type: bool
default: false
id:
description: The IHC resource id.
required: true
type: int
name:
description: The name of the component
required: false
type: string
{% endconfiguration %}
In the example above 12345 is ihc resource id and "tablelight" is the name.
The IHC resource id can be a light level for dimmers or an boolean output of a relay.
For more information about IHC resource ids see [Manual Setup](/components/ihc/#manual-setup)

View file

@ -63,6 +63,11 @@ brightness:
required: false
type: boolean
default: false
brightness_scale:
description: "Defines the maximum brightness value (i.e. 100%) of the MQTT device."
required: false
type: integer
default: 255
color_temp:
description: Flag that defines if the light supports color temperature.
required: false
@ -191,6 +196,29 @@ light:
brightness: true
```
### {% linkable_title Brightness Scaled %}
To enable a light using a brightness scale other than 8bit the `brightness_scale` option may be added to denote the "fully on" value:
```yaml
# Example configuration.yaml entry
light:
- platform: mqtt_json
name: mqtt_json_light_1
state_topic: "home/light"
command_topic: "home/light/set"
brightness: true
brightness_scale: 4095
```
Home Assistant will then convert its 8bit value in the message to and from the device:
```json
{
"brightness": 4095,
"state": "ON",
}
```
### {% linkable_title Implementations %}
- A full example of custom lighting using this platform and an ESP8266 microcontroller can be found [here](https://github.com/corbanmailloux/esp-mqtt-rgb-led). It supports on/off, brightness, transitions, RGB colors, and flashing.

View file

@ -1,7 +1,7 @@
---
layout: page
title: "Belkin WeMo Lights"
description: "Instructions how to integrate Belkin WeMo LED lights into Home Assistant."
description: "Instructions how to integrate Belkin WeMo LED lights and WeMo Dimmer Switch into Home Assistant."
date: 2016-02-20 00:45
sidebar: true
comments: false
@ -14,7 +14,7 @@ ha_release: 0.14
---
The `wemo` platform allows you to control your [Belkin WeMo](http://www.belkin.com/us/p/P-F5Z0489/) LED lights from within Home Assistant.
The `wemo` platform allows you to control your Belkin WeMo [LED lights](http://www.belkin.com/us/p/P-F5Z0489/) and [Smart Dimmer Switch](http://www.belkin.com/us/F7C059-Belkin/p/P-F7C059/) from within Home Assistant.
They will be automatically discovered if the discovery component is enabled.

View file

@ -34,3 +34,14 @@ Configuration variables:
- **host** (*Required*): The IP of your light.
- **token** (*Required*): The API token of your light.
- **name** (*Optional*): The name of your light.
## {% linkable_title Platform Services %}
### Service fan/xiaomi_miio_set_scene
Set one of the 4 available fixed scenes.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | yes | Only act on specific light. Else targets all. |
| `scene` | no | Scene, between 1 and 4. |

View file

@ -14,7 +14,7 @@ Interacts with media players on your network. Please check the sidebar for a ful
## {% linkable_title Services %}
### {% linkable_title Media control services %}
Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`, `media_play_pause`, `media_play`, `media_pause`, `media_stop`, `media_next_track`, `media_previous_track`, `clear_playlist`
Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`, `volume_set`, `media_play_pause`, `media_play`, `media_pause`, `media_stop`, `media_next_track`, `media_previous_track`, `clear_playlist`, `shuffle_set`
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------ |
@ -63,6 +63,6 @@ Currently only supported on [Spotify](/components/media_player.spotify/), [MPD](
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------- |
| `entity_id` | no | Target a specific media player. For example `media_player.spotify`|
| `shuffle` | no | `true`/`false` for enabling/disabling shuffle |
| `shuffle` | no | `true`/`false` for enabling/disabling shuffle |

View file

@ -56,6 +56,7 @@ Currently known supported models:
- U6300 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- K6500AF (port must be set to 8001)
- KS8005 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- KU6290 (port must be set to 8001)
- MU6170UXZG (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- KS7502 (port must be set to 8001, and `pip3 install websocket-client` must be executed, turn on doesn't work, turn off works fine)
- K5600AK (partially supported, turn on works but state is not updated)

View file

@ -113,3 +113,13 @@ script:
media_content_id: "Bookmarks>Internet>Radio Paradise"
```
### {% linkable_title Service `yamaha_enable_output` %}
Enable or disable an output port (HDMI) on the receiver.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`s of Yamaha receivers.
| `port` | no | Port to enable or disable, e.g. `hdmi1`.
| `enabled` | no | To enable set true, otherwise set to false.

View file

@ -0,0 +1,73 @@
---
layout: page
title: "MyChevy"
description: "Instructions on how to integrate Chevy Bolt car into Home Assistant."
date: 2017-08-28 17:00
sidebar: true
comments: false
sharing: true
footer: true
logo: chevy.png
ha_category: Hub
ha_release: 0.62
ha_iot_class: "Cloud Polling"
---
The `MyChevy` component communicates with the
[my.chevrolet](https://my.chevrolet.com) website using selenium to log
in as your user, and screen scrape the data provided. GM does not
make it easy to sign up for any official development program, so this
provides a workaround to get access to your data.
This component provides the following platforms:
- Binary sensors - if the car is plugged in
- Sensors - such as Battery Level, Charge Mode, EST Range, Total
Distance Traveled
To use MyChevy in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
mychevy:
username: email
password: password
```
{% configuration %}
username:
description: The email address associated with your my.chevrolet account
required: true
type: string
password:
description: The password for your given my.chevrolet account
required: true
type: string
{% endconfiguration %}
#### {% linkable_title Installation %}
Because this uses selenium behind the scenes, installation is more
complicated than merely pip install. See the installation instructions
at https://github.com/sdague/mychevy.
#### {% linkable_title Limitations %}
The architecture of the GM automotive networking imposes some
limitations on the functionality of the component.
The OnStar network link is very slow, and takes 1 - 3 minutes to get
information back from the car. As such the mychevy component only
polls every 30 minutes to not overwhelms that connection.
The OnStar network (or more specifically the gateway used by the
my.chevrolet website) appears to suffer more than most networks when
the car is a) in a garage, and b) it's cold outside (like < 15 degrees
F). One of the provided sensors is a status sensor which indicates if
we got connectivity with the car on the last polling cycle or not.
The "API" for this is written by web scraping. As such, it only
currently is known to work if you have a Chevy Bolt EV, and only 1
Chevy car connected to OnStar. Patches for extended support should go
to the https://github.com/sdague/mychevy project first, then
Home Assistant can be extended.

View file

@ -18,10 +18,10 @@ The `clicksend` platform uses [ClickSend](https://clicksend.com) to deliver noti
### Get your ClickSend API Credentials
Go to your [ClickSend Dashboard](https://dashboard.clicksend.com) section and create your new project. After creating your project, you should now be able to obtain your `username` and `api_key`.
### Configuration
To add ClickSend to your installation, add the following to your Home Assistant `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
- platform: clicksend
name: ClickSend
@ -30,12 +30,28 @@ notify:
recipient: PHONE_NO
```
Configuration variables:
* **name** (Optional): Setting the optional parameter name allows multiple notifiers to be created. The default value is `ClickSend`. The notifier will bind to the service notify.NOTIFIER_NAME.
* **username** (Required): Your `Username`.
* **api_key** (Required): Your `API Key`.
* **recipient** (Required): Your phone no. This is where you want to send your notification SMS messages. eg: `09171234567`
{% configuration %}
name:
description: "Setting the optional parameter name allows multiple notifiers to be created. The default value is `ClickSend`. The notifier will bind to the service `notify.NOTIFIER_NAME`."
required: false
type: string
username:
description: Your Clicksend username.
required: true
type: string
api_key:
description: Your Clicksend API Key.
required: true
type: string
recipient:
description: "Your phone number. This is where you want to send your notification SMS messages, e.g., `09171234567`."
required: true
type: string
sender:
description: The name or number of the sender.
required: false
type: string
default: recipient
{% endconfiguration %}
To use notifications, please see the [getting started with automation page](https://home-assistant.io/getting-started/automation/).

View file

@ -45,8 +45,9 @@ Configuration variables:
- **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.
- **min_brightness** (*Optional*): Minimum brightness before triggering a problem. In contrast to the other values, this check is *not* looking at the current situation, but rather at the last days. A problem is only reported if the maximum brightness over the last days was lower than min_brightness. You can use this to check if the plant gets enough light during the course of the day.
- **max_brightness** (*Optional*): Maximum brightness before triggering a problem.
- **check_days** (*Optional*): time interval (in days) used when checking **min_brightness**, if not set, the default value is 3
## {% linkable_title Examples %}
### Using plain MQTT sensor to get the data

View file

@ -0,0 +1,222 @@
---
layout: page
title: "BME680 Sensor"
description: "Instructions on how to integrate a BME680 sensor into Home Assistant."
date: 2018-01-16 00:00
sidebar: true
comments: false
sharing: true
footer: true
logo: raspberry-pi.png
ha_category: Sensor
ha_release: 0.62
ha_iot_class: "Local Push"
---
The `bme680` sensor platform allows you to read temperature, humidity, pressure and gas resistance values of a [Bosch BME680 Environmental sensor](https://cdn-shop.adafruit.com/product-files/3660/BME680.pdf) connected via an [I2C](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins). It allows you to use all the operation modes of the sensor described in its datasheet. In addition, it includes a basic air quality calculation that uses gas resistance and humidity measurements to calculate a percentage based air quality measurement.
Tested devices:
- [Raspberry Pi](https://www.raspberrypi.org/)
To use your BME680 sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: bme680
```
{% configuration %}
name:
description: The name of the sensor
required: false
default: BME680 Sensor
type: string
i2c_bus:
description: I2C bus that the sensor is connected to.
required: false
default: 1
type: int
i2c_address:
description: I2C address of the sensor. It is 0x76 or 0x77.
required: false
default: 0x77
type: int
monitored_conditions:
description: Conditions to monitor.
required: false
default:
- temperature
- humidity
- pressure
- airquality
type: list
keys:
temperature:
description: Monitor temperature.
humidity:
description: Monitor relative humidity.
pressure:
description: Monitor pressure.
gas:
description: Monitor gas resistance values on the VOC sensor.
airquality:
description: Monitor air quality using the values of humidity and gas resistance and calculate a percentage based air quality measurement.
oversampling_temperature:
description: Oversampling multiplier as described in the sensor datasheet. Can be 0 (no sampling), 1, 2, 4, 8, or 16.
required: false
default: 8
type: int
oversampling_pressure:
description: Oversampling multiplier as described in the sensor datasheet. Can be 0 (no sampling), 1, 2, 4, 8, or 16.
required: false
default: 2
type: int
oversampling_humidity:
description: Oversampling multiplier as described in the sensor datasheet. Can be 0 (no sampling), 1, 2, 4, 8, or 16.
required: false
default: 4
type: int
filter_size:
description: IIR filter size as described in the sensor datasheet. Can be 0 (off), 1, 3, 7, 15, 31, 63 or 127.
required: false
default: 3
type: int
gas_heater_temperature:
description: The temperature to heat the hotplate to for gas resistance measurements as described in the sensor datasheet. Can be between 200-400&deg;C.
required: false
default: 320
type: int
gas_heater_duration:
description: The duration to heat the hotplate in milliseconds for gas resistance measurements as described in the sensor datasheet. Can be between 1-4032 ms. In reality, you will likely need between 80-100ms to reach a stable temperature. Using a duration greater than 1000ms is inadvisable as it will essentially result in the heater being continually on due to the 1-second update interval.
required: false
default: 150
type: int
aq_burn_in_time:
description: The duration to perform gas resistance measurements to establish a stable baseline measurements for Air Quality calculations in seconds. The burn in time is only performed when the sensor component is first initialized.
required: false
default: 300
type: int
aq_humidity_baseline:
description: The baseline *ideal* relative humidity value for the air quality calculations.
required: false
default: 40
type: int
aq_humidity_bias:
description: The bias for humidity to the gas resistance measurement in the air quality calculations expressed as a percentage of the total calculation e.g. 25% hudidtity to 75% gas.
required: false
default: 25
type: int
{% endconfiguration %}
## {% linkable_title Full Examples %}
If you want to specify the working mode of the digital sensor or need to change the default I2C address (which is 0x77), add more details to the `configuration.yaml` file:
```yaml
# Example of customized configuration.yaml entry
sensor:
- platform: bme680
name: BME680 Sensor
i2c_bus: 1
i2c_address: 0x77
monitored_conditions:
- temperature
- humidity
- pressure
- gas
- airquality
oversampling_temperature: 8
oversampling_humidity: 2
oversampling_pressure: 4
filter_size: 3
gas_heater_temperature: 320
gas_heater_duration: 150
aq_burn_in_time: 300
aq_humidity_baseline: 40
aq_humidity_bias: 25
```
## {% linkable_title Customizing the sensor data %}
Give the values friendly names and icons, add the following to your `customize:` section.
```yaml
# Example configuration.yaml entry
customize:
sensor.bme680_sensor_temperature:
icon: mdi:thermometer
friendly_name: Temperature
sensor.bme680_sensor_humidity:
icon: mdi:water
friendly_name: Humidity
sensor.bme680_sensor_pressure:
icon: mdi:gauge
friendly_name: Pressure
sensor.bme680_sensor_air_quality:
icon: mdi:blur
friendly_name: Air Quality
```
To create a group, add the following to your `group` section.
```yaml
# Example configuration.yaml entry
group:
climate:
name: Climate
entities:
- sensor.bme680_sensor_temperature
- sensor.bme680_sensor_humidity
- sensor.bme680_sensor_pressure
- sensor.bme680_sensor_air_quality
```
## {% linkable_title Directions for installing SMBus support on Raspberry Pi %}
Enable I2C interface with the Raspberry Pi configuration utility:
```bash
# pi user environment: Enable I2C interface
$ sudo raspi-config
```
Select `Interfacing options->I2C` choose `<Yes>` and hit `Enter`, then go to `Finish` and you'll be prompted to reboot.
Install dependencies to use the `smbus-cffi` module and add your _homeassistant_ user to the _i2c_ group:
```bash
# pi user environment: Install I2C dependencies and utilities
$ sudo apt-get install build-essential libi2c-dev i2c-tools python-dev libffi-dev
# pi user environment: Add homeassistant user to the I2C group
$ sudo addgroup homeassistant i2c
# pi user environment: Reboot Raspberry Pi to apply changes
$ sudo reboot
```
### {% linkable_title Check the I2C address of the sensor %}
After installing `i2c-tools`, a new utility is available to scan the addresses of the connected sensors:
```bash
$ /usr/sbin/i2cdetect -y 1
```
It will output a table like this:
```text
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 76
```
So you can see the sensor address that you are looking for is **0x76** (there is another I2C device on that Raspberry Pi).

View file

@ -20,10 +20,10 @@ The `daikin` sensor platform integrates Daikin air conditioning systems into Hom
- **outside temperature**
<p class='note warning'>
Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant
Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant.
</p>
To enable the platform, add the following lines to your `configuration.yaml` file:
To enable the platform manually, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
@ -31,8 +31,8 @@ sensor:
- platform: daikin
host: 10.0.0.1
monitored_conditions:
- inside_temperature
- outside_temperature
- inside_temperature
- outside_temperature
```
{% configuration %}

View file

@ -0,0 +1,59 @@
---
layout: page
title: "IHC Sensor"
description: "Instructions how to integrate IHC Sensors within Home Assistant."
date: 2017-11-27 13:35
sidebar: true
comments: false
sharing: true
footer: true
logo: ihc.png
ha_category: Sensor
ha_release: 0.62
ha_iot_class: "Local Push"
---
Before you can use the IHC Sensor platform, you must setup the [IHC Component](/components/ihc/)
When auto setup is enabled the following products will be found in the IHC project and setup as sensors:
* Dataline temperature sensor - Will insert 2 temperature sensors
* Dataline Humidity - Will insert 1 humidity and 2 temperature sensors (calculated dewpoint)
* Dataline Lux - will insert 1 light and 1 temperature sensor
To manually configure IHC sensors insert this section:
```yaml
sensor:
- platform: ihc
sensors:
- id: 12345
name: 'mysensor'
unit_of_measurement: '°C'
- id: 12346
...
```
{% configuration %}
sensors:
description: List of sensors to setup manually
required: false
type: map
keys:
id:
description: The IHC resource id.
required: true
type: int
name:
description: The name of the component
required: false
type: string
unit_of_measurement:
description: Defines the unit of measurement of the sensor, if any.
required: false
type: string
{% endconfiguration %}
The resource id should be a IHC float resource.
For more information about IHC resource ids see [Manual Setup](/components/ihc/#manual-setup)

View file

@ -0,0 +1,22 @@
---
layout: page
title: "IOTA sensor"
description: "Instructions on how to integrate IOTA wallets sensors with Home Assistant."
date: 2017-12-31 13:29
sidebar: true
comments: false
sharing: true
footer: true
logo: iota.png
ha_category: Finance
ha_release: 0.62
ha_iot_class: "Cloud Polling"
---
The sensors are automatically created if the [IOTA hub](/components/iota/) is present.
Available sensors:
- Wallet balance
- Node information

View file

@ -13,8 +13,18 @@ ha_release: 0.29
ha_iot_class: "Local Polling"
---
The `miflora` sensor platform allows one to monitor to plants. The [Mi Flora plant sensor](https://xiaomi-mi.com/sockets-and-sensors/xiaomi-huahuacaocao-flower-care-smart-monitor/) is a small Bluetooth Low Energy device that monitors not only the moisture, but also light, temperature and conductivity. As only a single BLE device can be polled at the same time, the library implements locking to make sure this is the case.
The `miflora` sensor platform allows one to monitor plants. The [Mi Flora plant sensor](https://xiaomi-mi.com/sockets-and-sensors/xiaomi-huahuacaocao-flower-care-smart-monitor/) is a small Bluetooth Low Energy device that monitors not only the moisture but also light, temperature, and conductivity. As only a single BLE device can be polled at the same time, the library implements locking to make sure this is the case.
# Installation
Depending on the operating system you're running, you have to configure the proper Bluetooth backend on your system:
- On [Hass.io](https://home-assistant.io/hassio/installation/): Miflora will work out of the box.
- On other Linux systems:
- Prefered solution: Install the `bluepy` library (via pip). When using a virtual environment, make sure to use install the library in the right one.
   - Fallback solution: Install `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth`, `bluez-deprecated`
- Windows and MacOS are currently not supported by the [miflora library](https://github.com/open-homeautomation/miflora/).
# Configuration
Start a scan to determine the MAC addresses of the sensor:
```bash
@ -25,6 +35,17 @@ C4:D3:8C:12:4C:57 Flower mate
[...]
```
Or if your distribution is using bluetoothctl:
```bash
$ bluetoothctl
[bluetooth]# scan on
[NEW] Controller <your Bluetooth adapter> [default]
[NEW] F8:04:33:AF:AB:A2 [TV] UE48JU6580
[NEW] C4:D3:8C:12:4C:57 Flower mate
```
Check for `Flower care` or `Flower mate` entries, those are your sensor.
To use your Mi Flora plant sensor in your installation, add the following to your `configuration.yaml` file:
@ -56,7 +77,7 @@ sensor:
Note that by default the sensor is only polled once every 15 minutes. This means with the `median: 3` setting will take as least 30 minutes before the sensor will report a value after a Home Assistant restart. As the values usually change very slowly, this isn't a big problem.
Reducing polling intervals will have a negative effect on the battery life.
A full configuration example could looks the one below:
A full configuration example could look like the one below:
```yaml
# Example configuration.yaml entry

View file

@ -14,7 +14,7 @@ ha_release: "0.31"
---
The `min_max` sensor platform consumes the state from other sensors to determine the minimum, maximum, and the mean of the collected states. The sensor will always show you the lowest/highest value which was received from all monitored sensors. If you have spikes in your values, it's recommended to filter/equalize your values with a [statistics sensor](/components/sensor.statistics/) first.
The `min_max` sensor platform consumes the state from other sensors to determine the minimum, maximum, latest (last) and the mean of the collected states. The sensor will always show you the lowest/highest/latest value which was received from all monitored sensors. If you have spikes in your values, it's recommended to filter/equalize your values with a [statistics sensor](/components/sensor.statistics/) first.
This sensor is an alternative to the [template sensor](/components/sensor.template/)'s `value_template:` to get the average of multiple sensors.
@ -42,7 +42,7 @@ sensor:
Configuration variables:
- **entity_ids** (*Required*): At least two entities to monitor. The unit of measurement of the first entry will be the one that's used. All entities must use the same unit of measurement.
- **type** (*Optional*): The type of sensor: `min`, `max` or `mean`. Defaults to `max`.
- **type** (*Optional*): The type of sensor: `min`, `max`, `last` or `mean`. Defaults to `max`.
- **name** (*Optional*): Name of the sensor to use in the frontend.
- **round_digits** (*Optional*): Round mean value to specified number of digits. Defaults to 2.

View file

@ -0,0 +1,77 @@
---
layout: page
title: "TekSavvy"
description: "Instructions on how to integrate TekSavvy data usage within Home Assistant."
date: 2017-12-17 00:00
sidebar: true
comments: false
sharing: true
footer: true
logo: teksavvy.png
ha_category: Sensor
ha_release: 0.62
ha_iot_class: "Cloud Polling"
---
Integrate your [TekSavvy](https://myaccount.teksavvy.com/) account information into Home Assistant.
You can get your API key from
https://myaccount.teksavvy.com/ApiKey/ApiKeyManagement
To use your TekSavvy sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: teksavvy
api_key: API_KEY
total_bandwidth: 400
monitored_variables:
- usage
- usage_gb
- limit
- onpeak_download
- onpeak_upload
- onpeak_total
- offpeak_download
- offpeak_upload
- offpeak_total
- onpeak_remaining
```
{% configuration %}
api_key:
description: The TekSavvy API key to access the service.
required: true
type: string
total_bandwidth:
description: Your bandwidth limit in gigabytes.
required: true
type: string
monitored_conditions:
description: Conditions to display in the frontend.
required: true
type: list
keys:
usage:
description: Bandwidth usage (percentage).
usage_gb:
description: Bandwidth usage (gigabytes).
limit:
description: Monthly bandwidth limit (gigabytes).
onpeak_download:
description: Bandwidth used by download outside the unmetered period (gigabytes).
onpeak_upload:
description: Bandwidth used by upload outside the unmetered period (gigabytes).
onpeak_total:
description: Total bandwidth used outside the unmetered period (gigabytes).
offpeak_download:
description: Bandwidth used by download during the unlimited period (gigabytes).
offpeak_upload:
description: Bandwidth used by upload during the unlimited period (gigabytes).
offpeak_total:
description: Total bandwidth used during the unlimited period (gigabytes).
onpeak_remaining:
description: Remaining bandwidth (gigabytes).
{% endconfiguration %}

View file

@ -171,3 +171,61 @@ SetTimer:
```
{% endraw %}
### Sending TTS Notifications
You can send TTS notifications to Snips using the snips.say and snips.say_action services. Say_action starts a session and waits for user response, "Would you like me to close the garage door?", "Yes, close the garage door".
#### {% linkable_title Service `snips/say` %}
| Service data attribute | Optional | Description |
|------------------------|----------|--------------------------------------------------------|
| `text` | no | Text to say. |
| `site_id` | yes | Site to use to start session. |
| `custom_data` | yes | custom data that will be included with all messages in this session. |
#### {% linkable_title Service `snips/say_action` %}
| Service data attribute | Optional | Description |
|------------------------|----------|--------------------------------------------------------|
| `text` | no | Text to say. |
| `site_id` | yes | Site to use to start session. |
| `custom_data` | yes | custom data that will be included with all messages in this session. |
| `can_be_enqueued` | yes | If True, session waits for an open session to end, if False session is dropped if one is running. |
| `intent_filter` | yes | Array of Strings - A list of intents names to restrict the NLU resolution to on the first query. |
#### Configuration Examples
```yaml
script:
turn_on_light:
sequence:
service: script.turn_on_light
service: snips.say
data:
text: 'OK, the light is now on'
automation:
query_garage_door:
trigger:
- platform: state
entity_id: binary_sensor.my_garage_door_sensor
from: 'off'
to: 'on'
for:
minutes: 10
sequence:
service: snips.say_action
data:
text: 'Garage door has been open 10 minutes, would you like me to close it?'
intentFilter:
- closeGarageDoor
# This intent is fired if the user responds with the appropriate intent after the above notification
intent_script:
closeGarageDoor:
speech:
type: plain
text: 'OK, closing the garage door'
action:
- service: script.garage_door_close
```

View file

@ -0,0 +1,56 @@
---
layout: page
title: "IHC Switch"
description: "Instructions how to integrate IHC switches within Home Assistant."
date: 2017-11-27 13:35
sidebar: true
comments: false
sharing: true
footer: true
logo: ihc.png
ha_category: Switch
ha_release: 0.62
ha_iot_class: "Local Push"
---
Before you can use the IHC Switch platform, you must setup the [IHC Component](/components/ihc/)
When auto setup is enabled the following products will be found in the ihc project and setup as switch devices:
* Wireless plug outlet
* Wireless relay
* Mobile wireless relay
* Dataline plug outlet
To manually configure IHC switches insert this section in your configuration:
```yaml
switch:
- platform: ihc
auto_setup: True
switches:
- id: 12345
name: myswitch
- id: 12346
....
```
{% configuration %}
switches:
description: List of switches to setup manually
required: false
type: map
keys:
id:
description: The IHC resource id.
required: true
type: int
name:
description: The name of the component
required: false
type: string
{% endconfiguration %}
The resource id should be a boolean resource. (On/Off)
For more information about IHC resource ids see [Manual Setup](/components/ihc/#manual-setup)

View file

@ -29,13 +29,16 @@ switch:
Configuration variables:
- **baseoid** (*Required*): The SNMP BaseOID which to poll for the state of the switch and which to set in order to turn the switch on and off.
- **baseoid** (*Required*): The SNMP BaseOID which to poll for the state of the switch.
- **command_oid** (*Optional*): The SNMP OID which to set in order to turn the switch on and off, if different from `baseoid`.
- **host** (*Optional*): The IP/host which to control. Defaults to `localhost`.
- **port** (*Optional*): The port on which to communicate. Defaults to `161`.
- **community** (*Optional*): community string to use for authentication. Defaults to `private`.
- **version** (*Optional*): SNMP version to use - either `1` or `2c`. Defaults to `1`.
- **payload_on** (*Optional*): What return value represents an `On` state for the switch. The same value is used in writes to turn on the switch. Defaults to `1`.
- **payload_off** (*Optional*): What return value represents an `Off` state for the switch. The same value is used in writes to turn off the switch. Defaults to `0`.
- **payload_on** (*Optional*): What return value represents an `On` state for the switch. The same value is used in writes to turn on the switch if `command_payload_on` is not set. Defaults to `1`.
- **payload_off** (*Optional*): What return value represents an `Off` state for the switch. The same value is used in writes to turn off the switch if `command_payload_off` is not set. Defaults to `0`.
- **command_payload_on** (*Optional*): The value to write to turn on the switch, if different from `payload_on`.
- **command_payload_off** (*Optional*): The value to write to turn off the switch, if different from `payload_off`.
You should check with your device's vendor to find out the correct BaseOID and what values turn the switch on and off.

View file

@ -0,0 +1,68 @@
---
layout: page
title: "WaterFurnace"
description: "Instructions on how to integrate WaterFurnace Geothermal System into Home Assistant."
date: 2018-01-19 17:00
sidebar: true
comments: false
sharing: true
footer: true
logo: waterfurnace.png
ha_category: Hub
ha_release: 0.62
ha_iot_class: "Cloud Polling"
---
The `waterfurnace` component communicates with the WaterFurnace
Symphony website's WebSocket to show you many of the sensors in your
system. While not an official API, this is the same backend the
Symphony website is based on, and should be reasonably stable.
The sensors provided include:
- Thermostat Setpoint
- Thermostat Current Temp
- Leaving Air Temp
- Entering Water Loop Temp
- Current Humidity
- Current Humidity Setpoint
- Total system power (in Watts)
- Furnace Mode
To use Waterfurnace in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
waterfurnace:
username: you@example.com
password: secr3tpassword
unit: 0123456789AB
```
{% configuration %}
username:
description: The email address for your Symphony WaterFurnace account
required: true
type: string
password:
description: The password for your Symphony WaterFurnace account
required: true
type: string
unit:
description: The unit serial number for your WaterFurnace
required: true
type: string
{% endconfiguration %}
#### {% linkable_title Limitations %}
The WebSocket interface used by this module requires active polling,
otherwise the server side shuts down the connection. By default, this
polling is happening every 10 seconds. All sensors are updated during
every polling cycle.
While this is communicating with a thermostat, geothermal systems
operate most efficiently when setbacks are not used, and the home is
kept at a constant temperature. It remains useful to collect the data
from the system to understand it's performance, but a full climate
interface won't be implemented.

View file

@ -0,0 +1,25 @@
---
layout: page
title: "Websocket API"
description: "Instructions how to setup the WebSocket API within Home Assistant."
date: 2018-01-21 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category: "Other"
---
The `websocket_api` component set up a WebSocket API and allows one to interact with a Home Assistant instance that is running headless. This component depends on the [`http` component](/components/http/).
<p class='note warning'>
It is HIGHLY recommended that you set the `api_password`, especially if you are planning to expose your installation to the internet.
</p>
```yaml
# Example configuration.yaml entry
websocket_api:
```
For details to use the WebSocket API, please refer to the [WebSocket API documentation](/developers/websocket_api/) .