Merge pull request #4616 from home-assistant/release-0-63

0.63
This commit is contained in:
Paulus Schoutsen 2018-02-10 14:01:53 -08:00 committed by GitHub
commit 364dbf7208
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
52 changed files with 1642 additions and 151 deletions

View file

@ -25,6 +25,7 @@ binary_sensor:
address: '6/0/2'
device_class: 'motion'
#significant_bit: 2
#reset_after: 100
```
Configuration variables:
@ -33,6 +34,7 @@ Configuration variables:
- **address**: KNX group address of the binary sensor.
- **device_class** (Optional): HASS device class e.g. "motion".
- **significant_bit** (Optional): Specify which significant bit of the KNX value should be used. Default is 1.
- **reset_after** (Optional): Reset back to OFF state after specified milliseconds.
You can also attach actions to binary sensors (e.g., to switch on a light when a switch was pressed). In this example, one light is switched on when the button was pressed once and two others when the button was pressed a second time.

View file

@ -0,0 +1,20 @@
---
layout: page
title: "Mercedes me Binary Sensor"
description: "Instructions on how to integrate Mercedes me binary sensors into Home Assistant."
date: 2018-01-27 17:00
sidebar: true
comments: false
sharing: true
footer: true
logo: mercedesme.png
ha_category: Binary Sensor
ha_iot_class: "Cloud polling"
ha_release: 0.63
---
The `Mercedes me` platform allows you to get data from your [Mercedes me connected car](https://www.mercedes-benz.com/en/mercedes-me/) sensors like windows, doors, lock, tire warnings from within Home Assistant.
They will be automatically discovered if the Mercedes me component is loaded.
For more configuration information see the [Mercedes me component](/components/mercedes me/) documentation.

View file

@ -75,6 +75,11 @@ value_template:
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload."
required: false
type: string
force_update:
description: Sends update events even if the value hasn't changed. Useful if you want to have meaningful value graphs in history.
reqired: false
type: boolean
default: False
{% endconfiguration %}

View file

@ -48,6 +48,10 @@ binary_sensor:
description: Name to use in the frontend.
required: false
type: string
entity_id:
description: A list of entity IDs so the sensor only reacts to state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities.
required: false
type: string, list
device_class:
description: The type/class of the sensor to set the icon in the frontend.
required: false
@ -57,6 +61,14 @@ binary_sensor:
description: Defines a template to set the state of the sensor.
required: true
type: template
icon_template:
description: Defines a template for the icon of the sensor.
required: false
type: template
entity_picture_template:
description: Defines a template for the entity picture of the sensor.
required: false
type: template
delay_on:
description: The amount of time the template state must be ***met*** before this sensor will switch to `on`.
required: false

View file

@ -13,6 +13,20 @@ ha_release: "0.60"
ha_iot_class: "Cloud Polling"
---
The `canary` camera platform allows you to view the latest camera image (triggered by motion) by your [Canary](https://canary.is) device in Home Assistant.
The `canary` camera platform allows you to watch the live stream of your [Canary](https://canary.is) camera in Home Assistant. This requires the [`ffmpeg` component](/components/ffmpeg/) to be already configured.
To add `canary` camera to your installation, follow instructions in [Canary component](/components/canary/).
To add `canary` camera to your installation, follow instructions in [Canary component](/components/canary/). Once you have [Canary component](/components/canary/) setup, your [Canary](https://canary.is) camera(s) should show up automatically.
You can add the following to your `configuration.yaml` file to configure `canary` camera with optional settings:
```yaml
camera:
- platform: canary
```
{% configuration %}
ffmpeg_arguments:
description: Extra options to pass to `ffmpeg`, e.g. image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg).
required: false
type: string
{% endconfiguration %}

View file

@ -0,0 +1,20 @@
---
layout: page
title: "Melissa Climate"
description: "Instructions on how to integrate Melissa climate system (HVAC) into Home Assistant."
date: 2018-01-08 20:21
sidebar: true
comments: false
sharing: true
footer: true
logo: mclimate.png
ha_category: Climate
ha_iot_class: "Cloud Polling"
ha_release: 0.63
---
The `Melissa` climate platform allows you to control your [Melissa Climate](http://seemelissa.com/) from within Home Assistant.
The climate platform will be automatically configured if Melissa component is configured.
For more configuration information see the [Melissa component](/components/melissa/) documentation.

View file

@ -48,6 +48,10 @@ cover:
description: Name to use in the frontend.
required: false
type: string
entity_id:
description: A list of entity IDs so the cover only reacts to state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities.
required: false
type: [string, list]
value_template:
description: Defines a template to get the state of the cover. Valid values are `open`/`true` or `closed`/`false`. [`value_template`](#value_template) and [`position_template`](#position_template) cannot be specified concurrently.
required: exclusive
@ -197,6 +201,9 @@ cover:
{% else %}
mdi:window-closed
{% endif %}
entity_id:
- cover.bedroom
- cover.livingroom
sensor:
- platform: template

View file

@ -0,0 +1,19 @@
---
layout: page
title: "Mercedes me"
description: "Instructions on for how to integrate Mercedes me into Home Assistant."
date: 2018-01-27 10:00
sidebar: true
comments: false
sharing: true
footer: true
logo: mercedesme.png
ha_category: Presence Detection
ha_release: 0.63
---
The `Mercedes me` platform allows you to get data about the location of your [Mercedes me connected car](https://www.mercedes-benz.com/en/mercedes-me/) car within Home Assistant.
The device tracker platform will be automatically configured if Mercedes me component is configured.
For more configuration information see the [Mercedes me component](/components/mercedesme/) documentation.

View file

@ -17,9 +17,9 @@ ha_iot_class: "Local Push"
Be aware that `emulated_hue` doesn't work for new **Google Home** users. If you're a new user of Google Home, use the [Google Assistant component](https://home-assistant.io/components/google_assistant/).
</p>
The `emulated_hue` component provides a virtual Philips Hue bridge, written entirely in software, that allows services that work with the Hue API to interact with Home Assistant
entities. The driving use case behind this functionality is to allow Home Assistant to work with an Amazon Echo or Google Home with no set up cost outside of configuration changes.
The virtual bridge has the ability to turn entities on or off, or change the brightness of dimmable lights. The volume level of media players can be controlled as brightness.
The `emulated_hue` component provides a virtual Philips Hue bridge, written entirely in software, which allows services that work with the Hue API to interact with Home Assistant
entities. The driving use case behind for functionality is to allow Home Assistant to work with an Amazon Echo or Google Home with no setup cost outside of configuration changes.
The virtual bridge can turn entities on/off or change the brightness of dimmable lights. The volume level of media players can be controlled as brightness.
<p class='note'>
A physical Hue Bridge is required for Philips Hue lights to function - this virtual bridge will not replace a physical bridge. Instead, it allows Home Assistant to represent non-Philips Hue devices to Amazon Echo as Philips Hue devices, which Amazon Echo can control with built-in support.
@ -47,14 +47,14 @@ emulated_hue:
Configuration variables:
- **type** (*Optional*): The type of assistant who we are emulated for. Either `alexa` or `google_home`, defaults to `google_home`. **This configuration option is deprecated and will be removed in a future release. It is no longer necessary to define type.**
- **type** (*Optional*): The type of assistant which we are emulating. Either `alexa` or `google_home`, defaults to `google_home`. **This configuration option is deprecated and will be removed in a future release. It is no longer necessary to define type.**
- **host_ip** (*Optional*): The IP address that your Home Assistant installation is running on. If you do not specify this option, the component will attempt to determine the IP address on its own.
- **listen_port** (*Optional*): The port the Hue bridge API web server will run on. If not specified, this defaults to 8300. This can be any free port on your system.
- **advertise_ip** (*Optional*): If you need to override the IP address used for UPNP discovery. (For example, using network isolation in Docker)
- **advertise_port** (*Optional*): If you need to specifically override the advertised UPNP port.
- **advertise_ip** (*Optional*): If you need to override the IP address used for UPnP discovery. (For example, using network isolation in Docker)
- **advertise_port** (*Optional*): If you need to specifically override the advertised UPnP port.
- **upnp_bind_multicast** (*Optional*): Whether or not to bind the UPNP (SSDP) listener to the multicast address (239.255.255.250) or instead to the (unicast) host_ip address specified above (or automatically determined). The default is true, which will work for most situations. In special circumstances, like running in a FreeBSD or FreeNAS jail, you may need to disable this.
- **upnp_bind_multicast** (*Optional*): Whether or not to bind the UPnP (SSDP) listener to the multicast address (239.255.255.250) or instead to the (unicast) host_ip address specified above (or automatically determined). The default is true, which will work for most situations. In special circumstances, like running in a FreeBSD or FreeNAS jail, you may need to disable this.
- **off_maps_to_on_domains** (*Optional*): The domains that maps an "off" command to an "on" command.
@ -75,6 +75,8 @@ Configuration variables:
- `media_player`
- `fan`
- **entities** (*Optional*): Customization for entities.
A full configuration sample looks like the one below.
```yaml
@ -90,26 +92,21 @@ emulated_hue:
expose_by_default: true
exposed_domains:
- light
```
With additional customization you will be able to specify the behavior of the existing entities.
```yaml
# Example customization
homeassistant:
customize:
entities:
light.bedroom_light:
# Don't allow light.bedroom_light to be controlled by the emulated Hue bridge
emulated_hue_hidden: true
light.office_light:
# Address light.office_light as "back office light"
emulated_hue_name: "back office light"
name: "Bedside Lamp"
light.ceiling_lights:
hidden: true
```
The following are attributes that can be applied in the `customize` section:
The following are attributes that can be applied in the `entities` section:
- **emulated_hue_hidden** (*Optional*): Whether or not the entity should be exposed by the emulated Hue bridge. Adding `emulated_hue_hidden: false` will expose the entity to Alexa. The default value for this attribute is controlled by the `expose_by_default` option.
- **emulated_hue_name** (*Optional*): The name that the emulated Hue will use. The default for this is the entity's friendly name.
- **name** (*Optional*): The name that the emulated Hue will use. The default for this is the entity's friendly name.
- **hidden** (*Optional*): Whether or not the emulated Hue bridge should expose the entity. Adding `hidden: false` will expose the entity to Alexa. The default value for this attribute is controlled by the `expose_by_default` option.
<p class='note'>
These attributes used to be found under the `customize` section of `homeassistant`, however, they have now been moved to `entities`. Emulated Hue configuration under `homeassistant.customize` will be deprecated in the near future.
</p>
### {% linkable_title Troubleshooting %}
@ -118,9 +115,9 @@ You can verify that the `emulated_hue` component has been loaded and is respondi
- `http://<HA IP Address>:8300/description.xml` - This URL should return a descriptor file in the form of an XML file.
- `http://<HA IP Address>:8300/api/pi/lights` - This will return a list of devices, lights, scenes, groups, etc.. that `emulated_hue` is exposing to Alexa.
For Google Home, verify that the URLs above are using port 80, rather than port 8300 (i.e. `http://<HA IP Address>:80/description.xml`).
For Google Home, verify that the URLs above are using port 80, rather than port 8300 (i.e. `http://<HA IP Address>:80/description.xml`).
An additional step is required to run Home Assistant as non-root user and use port 80 when using the AiO script. Execute the following command to allow `emulated_hue` to use port 80 as non-root user.
An additional step is required to run Home Assistant as a non-root user and use port 80 when using the AiO script. Execute the following command to allow `emulated_hue` to use port 80 as a non-root user.
```bash
sudo setcap 'cap_net_bind_service=+ep' /srv/homeassistant/homeassistant_venv/bin/python3

View file

@ -0,0 +1,54 @@
---
layout: page
title: "Goalfeed"
description: "Instructions on how to setup Goalfeed events within Home Assistant."
date: 2017-12-13 17:30
sidebar: true
comments: false
sharing: true
footer: true
logo: goalfeed.png
ha_category: Other
ha_version: 0.63
---
The `goalfeed` component lets you use your Goalfeed account to trigger events in Home Assistant whenever a NHL or MLB team scores.
To use this component, enter your email address and password from your goalfeed.ca account in your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
goalfeed:
username: your_email@gmail.com
password: goalfeed_password
```
{% configuration %}
username:
required: true
description: The email address on your goalfeed.ca account.
type: string
password:
required: true
description: The password on your goalfeed.ca account.
type: string
{% endconfiguration %}
Now you can use the goal event type in your automations:
```yaml
- alias: 'Jets Goal'
trigger:
platform: event
event_type: goal
event_data:
team_name: "Winnipeg Jets"
```
Goal events have the following event data:
- **team**: Three letter code representing the team. This is unique within the leagues, but not unique across the leagues (i.e. 'WPG' or 'TOR').
- **team_name**: The team that scored (i.e. 'Winnipeg Jets' or 'Toronto Blue Jays').
- **team_hash**: A unique hash for the team (you can find these values on https://goalfeed.ca/get-teams).
- **league_id**: A unique number for the league.
- **league_name**: A the short name of the league (i.e. 'NHL' or 'MLB').

View file

@ -35,7 +35,6 @@ Configuration variables:
- **ssl** (*Optional*): Use https instead of http to connect. Defaults to false.
- **verify_ssl** (*Optional*): Verify SSL certificate for https request. Defaults to false.
- **max_retries** (*Optional*): Allow the component to retry if there was a network error when transmitting data
- **retry_queue_limit** (*Optional*): If retry enabled, specify how much calls are allowed to be queued for retry.
- **default_measurement** (*Optional*): Measurement name to use when an entity doesn't have a unit. Defaults to entity id.
- **override_measurement** (*Optional*): Measurement name to use instead of unit or default measurement. This will store all data points in a single measurement.
- **component_config**, **component_config_domain**, **component_config_glob** (*Optional*): These attributes contains component-specific override values. See [Customizing devices and services](https://home-assistant.io/getting-started/customizing-devices/) for format.

View file

@ -31,6 +31,7 @@ There is currently support for the following device types within Home Assistant:
- [Light](/components/light.knx)
- [Thermostat](/components/climate.knx)
- [Notify](/components/notify.knx)
- [Scene](/components/scene.knx)
### {% linkable_title Configuration %}
@ -83,7 +84,6 @@ knx:
- **fire_event** (*Optional*): If set to True, platform will write all received KNX messages to event bus
- **fire_event_filter** (*Optional*): If `fire_event` is set `fire_event_filter` has to be specified. `fire_event_filter` defines a list of patterns for filtering KNX addresses. Only telegrams which match this pattern are sent to the HOme Assistant event bus.
- **state_updater** (*Optional*): The component will collect the current state of each configured device from the KNX bus to display it correctly within Home-Assistant. Set this option to False to prevent this behavior.
- **time_address** (*Optional*): Broadcast current local time to KNX bus with configured group address.
### {% linkable_title Services %}
@ -98,6 +98,27 @@ Service Data: {"address": "1/0/15", "payload": 0}
* **address**: KNX group address
* **payload**: Payload, either an integer or an array of integers
### {% linkable_title Exposing sensor values or time to knx bus %}
KNX component is able to expose time or sensor values to KNX bus. The component will broadcast any change of the exposed value to the KNX bus and answer read requests to the specified group address:
```yaml
# Example configuration.yaml entry
knx:
expose::
- type: 'temperature'
entity_id: 'sensor.owm_temperature'
address: '0/0/2'
- type: 'time'
address: '0/0/1'
- type: 'datetime'
address: '0/0/23'
```
* **type**: Type of the exposed value. Either time or datetime or any supported type of [KNX Sensor](/components/sensor.knx/) (e.g. "temperature" or "humidity").
* **entity_id**: Entity id of the HASS component to be exposed. Not necessarry for types time and datetime.
* **address**: KNX group address.
### {% linkable_title Known issues %}

View file

@ -51,6 +51,10 @@ light:
description: Name to use in the frontend.
required: false
type: string
entity_id:
description: A list of entity IDs so the light only reacts to state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities.
required: false
type: [string, list]
value_template:
description: Defines a template to get the state of the light.
required: false

View file

@ -0,0 +1,52 @@
---
layout: page
title: "Mediaroom"
description: "Instructions how to integrate Mediaroom Set-Top Boxes into Home Assistant."
date: 2018-01-22 22:00
sidebar: true
comments: false
sharing: true
footer: true
logo: mediaroom.png
ha_category: Media Player
ha_iot_class: "Local Polling"
ha_release: "0.63"
---
The `mediaroom` component allows you to control a [Mediaroom](https://en.wikipedia.org/wiki/Ericsson_Mediaroom) Set-Top Box (STB) from Home Assistant.
To add a Mediaroom STB to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
media_player:
- platform: mediaroom
```
{% configuration %}
host:
description: The hostname or IP address of the device.
required: false
type: string
default: Tries to discovery your device.
name:
description: The name of the device used in the frontend.
required: false
type: string
default: Mediaroom STB
optimistic:
description: In case the component cannot determine the status of the box, consider the box always ON.
required: false
type: boolean
default: false
{% endconfiguration %}
Notice that all parameters are optional, and discovery should configure everything for you.
#### {% linkable_title Using the Mediaroom component %}
The component has been developed for Portuguese TV operators currently using the Mediaroom platform, but should also work in other deployments in which the STB can be controlled remotely through a socket on port 8082.
In most cases (single STB) you just need to setup the *name* and discovery will do the rest. In case you have more than one STB you are required to set the *host* in each one of the entries.
If the STB is on the same network segment as Home Assistant, it can determine whether the device is turned on or off. Without this, the component will fail to determine the Set-top box status, and you are required to add the *optimistic* configuration variable.

View file

@ -48,3 +48,29 @@ Configuration variables:
- **port** (*Optional*): The port number of your Panasonic Viera TV. Defaults to `55000`.
- **mac** (*Optional*): The MAC address of your Panasonic Viera TV, e.g. `AA:BB:CC:DD:99:1A`.
- **name** (*Optional*): The name you would like to give to the Panasonic Viera TV.
### {% linkable_title Example `play_media` script %}
The `play_media` function can be used to open web pages and other media types (images, movies) in the TV web browser.
```yaml
# Example play_media script that can be triggered when someone is detected at the door
#
script:
front_door_camera:
alias: "Show who's at the door"
sequence:
- service: media_player.turn_on
data:
entity_id: media_player.living_room_tv
- service: media_player.play_media
data:
entity_id: media_player.living_room_tv
media_content_type: "url"
media_content_id: "http://google.com"
- delay:
seconds: 5
- service: media_player.media_stop
data:
entity_id: media_player.living_room_tv
```

View file

@ -29,3 +29,4 @@ Configuration variables:
- **host** (*Required*): IP address of TV.
- **name** (*Optional*): The name you would like to give to the Philips TV.
- **turn_on_action** (*Optional*): A script that will be executed to turn on the TV (can be used with wol).

View file

@ -0,0 +1,37 @@
---
layout: page
title: "Melissa Climate"
description: "Instructions how to integrate Melissa Climate into Home Assistant."
date: 2017-01-05 17:30
sidebar: true
comments: false
sharing: true
footer: true
logo: mclimate.png
ha_category: Hub
featured: false
ha_release: 0.63
ha_iot_class: "Cloud Polling"
---
The `Melissa` component is the main component to connect to a [Melissa Climate](http://seemelissa.com/) A/C control.
To set the Melissa component up, add the following information to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
melissa:
username: <email adress>
password: ********
```
{% configuration %}
username:
description: The username for accessing your Melissa account.
required: true
type: string
password:
description: The password for accessing your Melissa account.
required: true
type: string
{% endconfiguration %}

View file

@ -0,0 +1,51 @@
---
layout: page
title: "Mercedes me"
description: "Instructions on how to integrate Mercedes car with Mercedes me into Home Assistant."
date: 2018-01-27 17:00
sidebar: true
comments: false
sharing: true
footer: true
logo: mercedesme.png
ha_category: Hub
ha_release: 0.63
ha_iot_class: "Cloud Polling"
---
The `Mercedes me` component offers integration with the [Mercedes me](https://www.mercedes-benz.com/de/mercedes-me/) cloud service and provides presence detection as well as sensors such as doors, tires, windows, and service interval.
This component provides the following platforms:
- Binary Sensors - such as windows, tires, doors, lock
- Sensors - such as fuel status, service interval, remaining km...
- Device tracker - to track location of your car
<p class='note warning'>
The component can integrate cars from European and African markets only.
</p>
To use Mercedes me in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
mercedesme:
username: email
password: password
```
{% configuration %}
username:
description: The email address associated with your Mercedes me account.
required: true
type: string
password:
description: The password for your given Mercedes me account.
required: true
type: string
scan_interval:
description: API polling interval. The minimal value can't be less then 30 seconds.
required: true
default: 30
type: int
{% endconfiguration %}

View file

@ -28,12 +28,34 @@ panel_iframe:
fridge:
title: 'Fridge'
url: 'http://192.168.1.5'
otherapp:
title: 'Other App'
url: '/otherapp'
```
Configuration variables:
- **[panel_name]** (*Required*): Name of the panel.
- **title** (*Required*): Friendly title for the panel. Will be used in the sidebar.
- **icon** (*Optional*): Icon for entry. Pick an icon that you can find on [materialdesignicons.com](https://materialdesignicons.com/) to use for your input and prefix the name with `mdi:`. For example `mdi:car`, `mdi:ambulance`, or `mdi:motorbike`.
- **url** (*Required*): The URL to open.
{% configuration %}
panel_iframe:
description: Enables the panel_iframe component. Only allowed once.
required: true
type: map
keys:
panel_name:
description: Name of the panel. Only allowed once.
required: true
type: map
keys:
title:
description: Friendly title for the panel. Will be used in the sidebar.
required: true
type: string
url:
description: The absolute URL or relative URL with an absolute path to open.
required: true
type: string
icon:
description: Icon for entry. Pick an icon that you can find on [materialdesignicons.com](https://materialdesignicons.com/) to use for your input and prefix the name with `mdi:`. For example `mdi:car`, `mdi:ambulance`, or `mdi:motorbike`.
required: false
type: string
{% endconfiguration %}

View file

@ -35,13 +35,14 @@ recorder:
description: The URL which points to your database.
required: false
type: URL
purge_interval:
description: Enable scheduled purge of older events and states. The purge task runs every `purge_interval` days from when the `recorder component` is first enabled. If a scheduled purge is missed (e.g if Home Assistant was not running), the schedule will resume soon after Home Assistant restarts. You can use the [service](#service-purge) call `purge` when required without impacting the purge schedule. If `purge_interval` is set, `purge_keep_days` needs to be set as well.
required: Inclusive
type: int
purge_keep_days:
description: Specify the number of history days to keep in recorder database after purge. If `purge_interval` is set, `purge_keep_days` needs to be set as well.
required: Inclusive
description: Specify the number of history days to keep in recorder database after a purge.
required: false
type: int
purge_interval:
description: How often (in days) the purge task runs. If a scheduled purge is missed (e.g., if Home Assistant was not running), the schedule will resume soon after Home Assistant restarts. You can use the [service](#service-purge) call `purge` when required without impacting the purge schedule.
required: false
default: 1
type: int
exclude:
description: Configure which components should be excluded
@ -76,7 +77,6 @@ Define domains and entities to `exclude` (aka. blacklist). This is convenient wh
```yaml
# Example configuration.yaml entry with exclude
recorder:
purge_interval: 2
purge_keep_days: 5
db_url: sqlite:///home/user/.homeassistant/test
exclude:

View file

@ -0,0 +1,148 @@
---
layout: page
title: "Xiaomi IR Remote"
description: "Instructions for how to integrate the Xiaomi IR Remote within Home Assistant."
date: 2017-01-25 17:08
sidebar: true
comments: false
sharing: true
footer: true
logo: xiaomi.png
ha_category: Remote
ha_release: 0.63
ha_iot_class: "Local Polling"
---
The `xiaomi miio` remote platform allows you to send IR commands from your Xiaomi IR Remote (ChuangmiIr).
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.
## {% linkable_title Configuring the Platform %}
To add a Xiaomi IR Remote to your installation, add the following to your configuration.yaml file:
```yaml
remote:
- platform: xiaomi_miio
host: 192.168.42.42
token: YOUR_TOKEN
```
{% configuration %}
host:
description: The IP of your remote.
required: true
type: string
token:
description: The API token of your remote.
required: true
type: string
name:
description: The name of your remote.
required: false
type: string
slot:
description: The slot used to save learned command.
required: false
type: int
default: 1
timeout:
description: Timeout for learning a new command.
required: false
type: int
default: 30
hidden:
description: Hide the entity from UI. There is currently no reason to show the entity in UI as turning it off or on does nothing.
required: false
type: boolean
default: True
commands:
required: false
type: map
keys:
command:
description: A list of commands as [raw (learned command)](/components/remote.xiaomi_miio/#raw) or [pronto hex code](/components/remote.xiaomi_miio/#pronto-hex-code).
required: true
type: list
{% endconfiguration %}
## {% linkable_title Full Configuration %}
```yaml
remote:
- platform: xiaomi_miio
name: "bathroom remote"
host: 192.168.42.42
token: YOUR_TOKEN
slot: 1
timeout: 30
hidden: false
commands:
activate_towel_heater:
command:
- raw:base64:[optional_frequency]
read_bad_poem:
command:
- raw:base64:[optional_frequency]
- pronto:pronto_hex:[optional_repeat]
```
## {% linkable_title Use named commands to create UI buttons %}
```yaml
script:
towel_heater:
sequence:
- service: remote.send_command
entity_id: 'remote.bathroom_remote'
data:
command:
- 'activate_towel_heater'
please_cover_your_ears:
sequence:
- service: remote.send_command
entity_id: 'remote.bathroom_remote'
data:
command:
- 'read_bad_poem'
```
## {% linkable_title Command Types %}
The Xiaomi IR Remote Platform currently supports two different formats for IR codes.
### {% linkable_title Raw %}
A raw command is a command learned from [`remote.xiaomi_miio_learn_command`](/components/remote.xiaomi_miio/#remotexiaomi_miio_learn_command).
A raw command is defined as in the following example:
`raw:Z6UFANEAAAAjAQAAAwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIAE=`
with an optional last parameter of frequency:
`raw:Z6UFANEAAAAjAQAAAwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIAE=:38400`
### {% linkable_title Pronto Hex Code %}
A pronto hex code is a hex code often supplied by the device manufacturer.
A pronto hex code is defined as in the following example:
`pronto:0000 006C 0022 0002 015B 00AD 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0623 015B 0057 0016 0E6E`
with an optional last parameter of repeats (required by some devices):
`pronto:0000 006C 0022 0002 015B 00AD 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0623 015B 0057 0016 0E6E:2`
## {% linkable_title Platform Services %}
The Xiaomi IR Remote Platform registers two services.
### {% linkable_title `remote.send_command` %}
Allows sending either named commands using an identifier or sending commands as one of the two types defined in [Command Types](/components/remote.xiaomi_miio/#command-types).
### {% linkable_title `remote.xiaomi_miio_learn_command` %}
Used to learn new commands.
Use the entity_id of the Xiaomi IR Remote to start a learning process.
`slot` and `timeout` can be specified, but multiple commands learned to the same slot can still be sent using [`remote.send_command`](/components/remote.xiaomi_miio/#remotesend_command) even if they are overwritten.
After learning the command the base64 string can be found as a notification in Overview, the string can be copied by left clicking on the string and choose the copy option.

View file

@ -0,0 +1,34 @@
---
layout: page
title: "KNX Scene"
description: "Instructions on how to integrate KNX Scenes into Home Assistant."
date: 2018-02-03 20:00
sidebar: true
comments: false
sharing: true
footer: true
logo: knx.png
ha_category: Scene
ha_release: "0.63"
---
The `knx` scenes platform allows you to trigger [KNX](http://www.knx.org) scenes.
The `knx` component must be configured correctly, see [KNX Component](/components/knx).
```yaml
# Example configuration.yaml entry
scene:
- name: Romantic
platform: knx
address: 8/8/8
scene_number: 23
```
Configuration variables:
- **name** (*Optional*): A name for this device used within Home Assistant.
- **address**: KNX group address of the binary sensor.
- **scene_number** KNX scene number to be activated.

View file

@ -11,7 +11,7 @@ logo: home-assistant.png
ha_category: Organization
---
You can create scenes that capture the states you want certain entities to be. For example a scene can specify that light A should be turned on and light B should be bright red.
You can create scenes that capture the states you want certain entities to be. For example, a scene can specify that light A should be turned on and light B should be bright red.
```yaml
# Example configuration.yaml entry
@ -38,6 +38,13 @@ Configuration variables:
- **name** (*Required*): Friendly name of scene.
- **entities** (*Required*): Entities to control.
As you can see, there are two ways to define the states of each `entity_id`:
- Define the `state` directly with the entity.
- Define a complex state with its attributes.
The mapping from states to services is done with the [state helper](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/helpers/state.py#L74). So, please have a look there for available states for your scenes.
Scenes can be activated using the service `scene.turn_on` (there is no 'scene.turn_off' service).
```yaml
@ -55,5 +62,5 @@ automation:
```
<p class='note'>
Please note that the scene component currently only supports one service call per entity to achieve the state. Due to this limitation you cannot set states belonging to different services.
Please note that the scene component currently only supports one service call per entity to achieve the state. Due to this limitation, you cannot set states belonging to different services. A workaround for this limitation is to write a script, which you then turn on in your scene.
</p>

View file

@ -1,6 +1,6 @@
---
layout: page
title: "Buienradar"
title: "Buienradar Sensor"
description: "Instructions how to integrate buienradar.nl sensor within Home Assistant."
date: 2017-05-15 14:00
sidebar: true

View file

@ -48,6 +48,7 @@ Configuration variables:
- **precip_type**: The type of precipitation occurring.
- **precip_intensity**: The average expected intensity of precipitation occurring.
- **precip_probability**: A value between 0 and 1 which is representing the probability of precipitation.
- **precip_accumulation**: Daily snow accumulation. Returns unknown if no snow accumulation available.
- **temperature**: The current temperature.
- **apparent_temperature**: A numerical value representing the apparent (or "feels like") temperature.
- **dew_point**: The dew point.

View file

@ -25,11 +25,21 @@ sensor:
from: NAME_OF_START_STATION
to: NAME_OF_FINAL_STATION
```
Configuration variables:
- **from** (*Required*): The name of the start station.
- **to** (*Required*): The name of the end/destination station.
{% configuration %}
from:
description: The name of the start station.
required: true
type: string
to:
description: The name of the end/destination station.
required: true
type: string
only_direct:
description: Only show direct connections.
required: false
type: boolean
default: false
{% endconfiguration %}
This sensor stores a lot of attributes which can be accessed by other sensors eg. a [template sensor](/components/sensor.template/).

View file

@ -34,5 +34,5 @@ sensor:
- **name** (*Optional*): A name for this device used within Home Assistant.
- **address**: KNX group address of the sensor.
- **type** (Optional): "percent", "temperature", "illuminance", "speed_ms", "current".
- **type** (Optional): "percent", "temperature", "humidity", "illuminance", "brightness", "speed_ms", "current", "power", "electric_current", "electric_potential", "energy", "frequency", "heatflowrate", "phaseanglerad", "phaseangledeg", "powerfactor" or "speed".

View file

@ -0,0 +1,20 @@
---
layout: page
title: "Melissa Sensor"
description: "Instructions on how to integrate Melissa sensors into Home Assistant."
date: 2017-08-30 12:21
sidebar: true
comments: false
sharing: true
footer: true
logo: mclimate.png
ha_category: Sensor
ha_iot_class: "Cloud Polling"
ha_release: 0.63
---
The `Melissa` platform allows you to get data from your [Melissa](http://seemelissa.com/) sensors from within Home Assistant.
The sensor platform will be automatically configured if Melissa component is configured.
For more configuration information see the [Melissa component](/components/melissa/) documentation.

View file

@ -0,0 +1,20 @@
---
layout: page
title: "Mercedes me Sensor"
description: "Instructions on how to integrate Mercedes me sensors into Home Assistant."
date: 2018-01-27 17:00
sidebar: true
comments: false
sharing: true
footer: true
logo: mercedesme.png
ha_category: Sensor
ha_iot_class: "Cloud Push"
ha_release: 0.63
---
The `Mercedes me` platform allows you to get data from your [Mercedes me connected car](https://www.mercedes-benz.com/en/mercedes-me/) sensors from within Home Assistant.
The sensor platform will be automatically configured if Mercedes me component is configured.
For more configuration information see the [Mercedes me component](/components/mercedesme/) documentation.

View file

@ -0,0 +1,81 @@
---
layout: page
title: "Pollen.com"
description: "Instructions on how to use Pollen.com data within Home Assistant"
date: 2018-01-10 19:20:00
sidebar: true
comments: false
sharing: true
footer: true
logo: pollen.jpg
ha_category: Health
ha_release: 0.63
ha_iot_class: "Cloud Polling"
---
The `pollen` sensor platform collects and displays allergy and disease
information (based on a U.S. ZIP code) from [Pollen.com](https://www.pollen.com/). Data measured includes:
* Indicies for allergies and cold/flu measurements
* Trends
* Current outlook
* more!
## {% linkable_title Configuring the Platform %}
To integrate `pollen` into Home Assistant, add the following section to your
`configuration.yaml` file (adjusting the `monitored_conditions` list to your
liking):
```yaml
sensor:
platform: pollen
zip_code: ZIP_CODE
monitored_conditions:
- allergy_average_forecasted
- allergy_average_historical
- allergy_index_today
- allergy_index_tomorrow
- allergy_index_yesterday
- disease_average_forecasted
```
{% configuration %}
zip_code:
description: the U.S. ZIP code to gather data for
required: true
type: int
monitored_conditions:
description: the metric types to monitor; valid values are specified below
required: true
type: list
{% endconfiguration %}
## {% linkable_title Available Metrics %}
The following metrics can be monitored:
* Allergy Index: Forecasted Average (`allergy_average_forecasted`): the average
forecasted allergy index over the next 5 days
* Allergy Index: Historical Average (`allergy_average_historical`): the average
historical allergy index over the past 30 days
* Allergy Index: Today (`allergy_index_today`): the allergy index for today
* Allergy Index: Tomorrow (`allergy_index_tomorrow`): the allergy index for
tomorrow
* Allergy Index: Yesterday (`allergy_index_yesterday`): the allergy index for
yesterday
* Cold & Flu: Forecasted Average (`disease_average_forecasted`): the average
forecasted cold/flu index over the next 5 days
## {% linkable_title Understanding the Indices %}
Any index-related sensor will have a value between 0.0 and 12.0. The values
map to the following human-friendly ratings:
Range | Rating
--------- | -----------
0.0 - 2.4 | Low
2.5 - 4.8 | Low/Medium
4.9 - 7.2 | Medium
7.3 - 9.6 | Medium/High
9.7 - 12.0 | High

View file

@ -0,0 +1,95 @@
---
layout: page
title: "SQL Sensor"
description: "Instructions how to integrate SQL sensors into Home Assistant."
date: 2018-02-03 00:22
sidebar: true
comments: false
sharing: true
footer: true
logo: sql.png
ha_category: Sensor
ha_release: 0.63
---
The `SQL` sensor platform enables you to use values from an [SQL](https://en.wikipedia.org/wiki/SQL) database supported by the [sqlalchemy](https://www.sqlalchemy.org) library, to populate a sensor state (and attributes).
This can be used to present statistics about Home Assistant sensors if used with the recorder component database. It can also be used with an external data source.
To configure this sensor, you need to define the sensor connection variables and a list of queries to your `configuration.yaml` file. A sensor will be created for each query:
To enable it, add the following lines to your `configuration.yaml`:
{% raw %}
```yaml
# Example configuration.yaml entry to monitor hass database size in MySQL
sensor:
- platform: sql
db_url: mysql://user:password@localhost/hass
queries:
- name: HASS DB size
query: 'SELECT table_schema "database", Round(Sum(data_length + index_length) / 1024, 1) "value" FROM information_schema.tables WHERE table_schema="hass" GROUP BY table_schema;'
column: 'value'
unit_of_measurement: kB
```
{% endraw %}
{% configuration %}
db_url:
description: The URL which points to your database. See [supported engines](/components/recorder/#custom-database-engines).
required: false
default: Defaults to the recorder db_url.
type: string
queries:
description: List of your queries.
required: true
type: map
keys:
name:
description: The name of the sensor.
required: true
type: string
query:
description: An SQL QUERY string, should return 1 result at most.
required: true
type: string
column:
description: The field name to select.
required: true
type: string
unit_of_measurement:
description: Defines the units of measurement of the sensor, if any.
required: false
type: string
value_template:
description: Defines a template to extract a value from the payload.
required: false
type: template
{% endconfiguration %}
## {% linkable_title Examples %}
In this section you find some real life examples of how to use this sensor.
### {% linkable_title Current state of an entity %}
This example shows the previously *recorded* state of sensor *abc123*.
```sql
SELECT * FROM states WHERE entity_id = 'sensor.abc123' ORDER BY id DESC LIMIT 2
```
Note that the SQL sensor state corresponds to the last row of the SQL resultset.
### {% linkable_title Previous state of an entity %}
This example only works with *binary_sensors*:
```sql
SELECT * FROM states WHERE entity_id='binary_sensor.xyz789' GROUP BY state ORDER BY last_changed DESC LIMIT 1
```
### {% linkable_title Database size in Postgres %}
```sql
SELECT pg_size_pretty(pg_database_size('Database Name'));
```

View file

@ -45,6 +45,10 @@ sensor:
description: Name to use in the frontend.
required: false
type: string
entity_id:
description: A list of entity IDs so the sensor only reacts to state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities.
required: false
type: string, list
unit_of_measurement:
description: Defines the units of measurement of the sensor, if any.
required: false

View file

@ -36,7 +36,7 @@ Configuration variables:
- **lights** (*Required*) array: List of light entities.
- **name** (*Optional*): The name to use when displaying this switch.
- **start_time** (*Optional*): The start time. Default to sunrise.
- **stop_time** (*Optional*): The stop time. Defaults to 22:00.
- **stop_time** (*Optional*): The stop time. Defaults to dusk.
- **start_colortemp** (*Optional*): The color temperature at the start. Defaults to `4000`.
- **sunset_colortemp** (*Optional*): The sun set color temperature. Defaults to `3000`.
- **stop_colortemp** (*Optional*): The color temperature at the end. Defaults to `1900`.

View file

@ -32,6 +32,7 @@ Configuration variables:
- **ports** array (*Required*): Array of used ports.
- **port: name** (*Required*): Port numbers and corresponding names (GPIO #).
- **invert_logic** (*Optional*): If true, inverts the output logic to ACTIVE LOW. Default is false (ACTIVE HIGH).
- **shared_gpio** (*Optional*): If true, forces a GPIO.setup() before each write. Default is false.
For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi.
@ -46,4 +47,14 @@ switch:
17: Speaker Relay
```
In case you have any other python scripts running that use RPi.GPIO no values will be written after the initial HASS-start.
Setting **shared_gpio** to true will reinit the pin before each write, working around this issue.
```yaml
# Example configuration.yaml entry
switch:
- platform: rpi_gpio
shared_gpio: true
ports:
19: LED-Red
```

View file

@ -55,6 +55,10 @@ switch:
description: Name to use in the frontend.
required: false
type: string
entity_id:
description: A list of entity IDs so the switch only reacts to state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities.
required: false
type: [string, list]
value_template:
description: Defines a template to set the state of the switch.
required: true

View file

@ -12,7 +12,7 @@ ha_category: Other
ha_release: 0.58
---
The `system_log` component stores information about all logged errors and warnings in Home Assistant. All collected information is accessible directly in the frontend, just navigate to the `Info` section under `Developer Tools`. In order to not overload Home Assistant with log data, only the 50 last errors and warnings will be stored. Older entries are automatically discarded from the log. It is possible to change the amount of stored log entries using the parameter `max_entries`.
The `system_log` component stores information about all logged errors and warnings in Home Assistant. All collected information is accessible directly in the frontend, just navigate to the `Info` section under `Developer Tools`. In order to not overload Home Assistant with log data, only the 50 last errors and warnings will be stored. Older entries are automatically discarded from the log. It is possible to change the number of stored log entries using the parameter `max_entries`.
This component is automatically loaded by the `frontend` (so no need to do anything if you are using the frontend). If you are not doing so, or if you wish to change a parameter, add the following section to your `configuration.yaml` file:
@ -35,3 +35,66 @@ max_entries:
To manually clear the system log, call this service.
## {% linkable_title Events %}
Errors and warnings are posted as the event `system_log_event`, so it is possible to write automations that trigger whenever a warning or error occurs. The following information is included in each event:
| Field | Description |
|------------------------------------------------------------------------------------------|
| `level` | Either `WARNING` or `ERROR` depending on severity. |
| `source` | File that triggered the error, e.g., `core.py` or `media_player/yamaha.py`. |
| `exception` | Full stack trace if available, otherwise empty string. |
| `message` | Descriptive message of the error, e.g., "Error handling request". |
| `timestamp` | Unix timestamp with as a double, e.g., 1517241010.237416. |
Live examples of these events can be found in the Home Assistant log file or by just looking in the system log. An example could, for instance, look like this:
<img src='/images/components/system_log/system_log_entry.png' />
The message ("Unable to find service..."), source (`core.py`) and level (`WARNING`) can easily be extracted from the image. Exact timestamp and stack trace is shown if the entry is selected.
## {% linkable_title Examples %}
Here are some examples using the events posted by `system_log`.
### {% linkable_title Counting Number of Warnings %}
This will create a `counter` that increases every time a warning is logged:
```yaml
counter:
warning_counter:
name: Warnings
icon: mdi:alert
automation:
- alias: Count warnings
trigger:
platform: event
event_type: system_log_event
event_data:
level: WARNING
action:
service: counter.increment
entity_id: counter.warning_counter
```
### {% linkable_title Conditional Messages %}
This automation will create a persistent notification whenever an error or warning is logged that has the word "service" in the message:
```yaml
automation:
- alias: Create notifications for "service" errors
trigger:
platform: event
event_type: system_log_event
condition:
condition: template
value_template: {% raw %}'{{ "service" in trigger.event.data.message }}'{% endraw %}
action:
service: persistent_notification.create
data_template:
title: Something bad happened
message: {% raw %}'{{ trigger.event.data.message }}'{% endraw %}
```

View file

@ -134,7 +134,7 @@ The following table shows the units of measurement for each attribute:
<p class='note'>
This token (32 hexadecimal characters) is required for the Xiaomi Mi Robot
Vacuum and Xiaomi Philips Lights. The Xiaomi Gateway uses another security
Vacuum, Xiaomi Philips Lights and Xiaomi IR Remote. The Xiaomi Gateway uses another security
method and requires a `key` (16 alphanumeric chars), which can be obtained
easily via a hidden menu item at the Mi-Home app.
</p>

View file

@ -1,6 +1,6 @@
---
layout: page
title: "Buienradar Weather"
title: "Buienradar"
description: "Instructions how to integrate buienradar.nl weather within Home Assistant."
date: 2017-05-15 14:00
sidebar: true

View file

@ -24,11 +24,23 @@ weblink:
url: http://192.168.1.1/
- name: Home Assistant
url: https://home-assistant.io
- name: Grafana
url: /grafana
```
Configuration variables:
- **name** (*Required*): Text for the link.
- **url** (*Required*): The URL for the link.
- **icon** (*Optional*): Icon for entry.
{% configuration %}
name:
description: Text for the link.
required: true
type: string
url:
description: The URL (absolute URL or absolute path) for the link.
required: true
type: string
icon:
description: Icon for entry.
required: false
type: string
{% endconfiguration %}
Pick an icon that you can find on [materialdesignicons.com](https://materialdesignicons.com/) to use for your input and prefix the name with `mdi:`. For example `mdi:car`, `mdi:ambulance`, or `mdi:motorbike`.

View file

@ -26,6 +26,7 @@ There is currently support for the following device types within Home Assistant:
Known working ZigBee radios:
- Nortek/GoControl Z-Wave & Zigbee USB Adaptor - Model HUSBZB-1
- XBee Series 2C
To configure the component, a `zha` section must be present in the `configuration.yaml`,
and the path to the serial device for the radio and path to the database which will persist your network data is required.
@ -39,7 +40,9 @@ zha:
Configuration variables:
- **radio_type** (*Optional*): One of `ezsp` (default) or `xbee`
- **usb_path** (*Required*): Path to the serial device for the radio.
- **baud_rate** (*Optional*): Baud rate of the serial device.
- **database_path** (*Required*): Path to the database which will keep persistent network data.
To add new devices to the network, call the `permit` service on the `zha` domain, and then follow the device instructions for doing a scan or factory reset. In case you want to add Philips Hue bulbs that have previously been added to another bridge, have a look at: [https://github.com/vanviegen/hue-thief/](https://github.com/vanviegen/hue-thief/)