Merge branch 'current' into next

This commit is contained in:
Paulus Schoutsen 2018-06-29 18:05:18 -04:00
commit d734a4ab3a
62 changed files with 1052 additions and 244 deletions

1
.gitignore vendored
View File

@ -19,3 +19,4 @@ source/.jekyll-metadata
/.vs/config/applicationhost.config
/.vs/slnx.sqlite-journal
/.vs/VSWorkspaceState.json
.vscode

View File

@ -139,14 +139,14 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 71
current_patch_version: 0
date_released: 2018-06-08
current_minor_version: 72
current_patch_version: 1
date_released: 2018-06-25
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
# Major release:
patch_version_notes: "#"
patch_version_notes: "#release-0721---june-25"
# Minor release (Example #release-0431---april-25):
# Date we moved to Discourse for comments

View File

@ -1,13 +1,14 @@
{
"name": "credits_generator",
"version": "1.0.0",
"private": true,
"description": "A tool to generate the Home Assistant credits page",
"main": "update_credits.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Home Assistant Community",
"license": "Apache 2.0",
"license": "Apache-2.0",
"dependencies": {
"async": "^2.1.4",
"github": "^8.1.0",

View File

@ -16,7 +16,9 @@ The `alert` component is designed to notify you when problematic issues arise. F
Alerts will add an entity to the front end only when they are firing. This entity allows you to silence an alert until it is resolved.
<p class='note warning'>
When using the `alert` component, it is important that the time zone used for Home Assistant and the underlying operating system match. Failing to do so may result in multiple alerts being sent at the same time (such as when Home Assistant is set to the `America/Detroit` time zone but the operating system uses `UTC`).
</P>
### {% linkable_title Basic Example %}

View File

@ -13,4 +13,4 @@ ha_release: 0.62
ha_iot_class: "Cloud Polling"
---
For configuration instructions, see [main component config](/components/mychecvy/).
For configuration instructions, see [main component config](/components/mychevy/).

View File

@ -33,9 +33,9 @@ Configuration variables:
- **attribute** (*Optional*): The attribute of the entity that this sensor tracks. If no attribute is specified then the sensor will track the state.
- **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
- **friendly_name** (*Optional*): Name to use in the Frontend.
- **invert** (*Optional*): Invert the result (so `true` means descending rather than ascending). Defaults to `False`
- **invert** (*Optional*): Invert the result. A `true` value would mean descending rather than ascending. Defaults to `False`
- **max_samples** (*Optional*): Limit the maximum number of stored samples. Defaults to `2`.
- **min_gradient** (*Optional*): The minimum rate at which the observed value must be changing for this sensor to switch on. Defaults to `0.0`
- **min_gradient** (*Optional*): The minimum rate at which the observed value must be changing for this sensor to switch on. The gradient is measured in sensor units per second. Defaults to `0.0`
- **sample_duration** (*Optional*): The duration **in seconds** to store samples for. Samples older than this value will be discarded. Defaults to `0`
## {% linkable_title Using Multiple Samples %}
@ -63,6 +63,7 @@ binary_sensor:
attribute: elevation
```
This example creates two sensors to indicate whether the temperature is rising or falling at a rate of at least 3 degrees an hour, and collects samples over a two hour period:
```yaml

View File

@ -13,7 +13,6 @@ ha_release: 0.13
ha_iot_class: "Local Polling"
---
The `uvc` camera platform allows you to integrate [UniFi Video Camera (UVC)](https://www.ubnt.com/products/#unifivideo) into Home Assistant.
The platform connects to the Unifi NVR software and automatically discovers/adds any camera connected to the NVR.
@ -42,16 +41,16 @@ nvr:
description: The IP or hostname of the NVR (Network Video Recorder) server.
required: true
type: string
key:
description: The API key available from the NVR web interface.
required: true
type: string
port:
description: The port number to use for accessing the NVR.
required: false
type: int
default: 7080
name:
key:
description: The API key available from the NVR web interface.
required: true
type: string
password:
description: The camera password.
required: false
type: string

View File

@ -0,0 +1,86 @@
---
layout: page
title: "Xiaomi Cameras"
description: "Instructions on how to integrate a video feed (via FFmpeg) as a camera within Home Assistant."
date: 2018-06-20 13:00
sidebar: true
comments: false
sharing: true
footer: true
logo: xiaomi.png
ha_category: Camera
ha_release: 0.72
ha_iot_class: "Local Polling"
---
The `Xiaomi` camera platform allows you to utilize Xiaomi Cameras within Home Assistant.
To successfully implement this platform, the Home Assistant host should be capable of multiple simultaneous reads. For every concurrent Home Assistant user, a connection will be made to the camera every 10 seconds. This should normally not be a problem.
## {% linkable_title Preparing the Device %}
### {% linkable_title Installing Alternative Firmware %}
In order to integrate the camera with Home Assistant, it is necessary to install a custom firmware on the device. Instructions for doing so can be found for each models.
* [Yi 720p](https://github.com/fritz-smh/yi-hack)
* [Yi Home 17CN / 27US / 47US / 1080p Home / Dome / 1080p Dome](https://github.com/shadow-1/yi-hack-v3)
* [Xiaofang 1080p Camera](https://github.com/samtap/fang-hacks)
Once installed, please ensure that you have enabled FTP.
<p class='note warning'>
Currently, version 0.1.4-beta2 of the custom firmware is the highest supported. Firmwares higher than this version use [Pure-FTPd](https://www.pureftpd.org/project/pure-ftpd), which has a bug that prevents FFmpeg from correctly rendering video files.
</p>
<p class='note warning'>
Hassbian users: don't forget to install ffmpeg support on your platform, otherwise, you'll not see video.
</p>
<p class='note warning'>
The live stream writing by the camera is not an supported format when the hass reads through FTP for Yi 720p and Xiaofang Cameras, so this component retrives the video which was saved 1 minute earlier.
</p>
<p class='note warning'>
If you enabled RTSP server, you can connect to your camera via other Home Assistant camera platforms. However, this RTSP server disables the ability to use the supremely-useful Mi Home app. In order to maintain both Home Assistant compatibility _and_ the native app, this platform retrieves videos via FTP.
</p>
## {% linkable_title Configuring the Platform %}
To enable the platform, add the following lines to your`configuration.yaml` file:
```yaml
camera:
- platform: xiaomi
name: Camera
host: '192.168.1.100'
model: 'yi'
password: my_password_123
```
Configuration variables:
- **name** (*Required*): A human-friendly name for the camera.
- **host** (*Required*): The IP address or hostname of the camera.
- **model** (*Required*): The model of Xiaomi Camera, currently supporting yi and xiaofang.
- **password** (*Required*): The password to the FTP server on the camera (from above), can be any string as the current firmware doesn't allow setting ftp passwords.
- **path** (*Optional*): The path to the raw MP4 files. Defaults to `/tmp/sd/record`.
- **username** (*Optional*): The user that can access the FTP server. Defaults to `root`.
- **ffmpeg_arguments** (*Optional*): Extra options to pass to `ffmpeg` (e.g., image quality or video filter options).
## {% linkable_title Image quality %}
Any option supported by [`ffmpeg` camera](/components/camera.ffmpeg/) can be utilized via the `ffmpeg_arguments` configuration parameter.
One particularly useful adjustment deals with video size. Since Yi videos are fairly large (especially on the 1080p cameras), the following configuration will bring them down to a manageable size:
```yaml
camera:
- platform: xiaomi
name: My Camera
host: '192.168.1.100'
model: 'xiaofang'
password: my_password_123
path: /home/camera/feed
ffmpeg_arguments: '-vf scale=800:450'
```

View File

@ -12,31 +12,27 @@ ha_category: Media Player
featured: true
ha_release: pre 0.7
ha_iot_class: "Local Polling"
redirect_from: /components/media_player.cast/
---
Google Cast devices like Android TVs and Chromecasts will be automatically discovered if you enable [the discovery component]({{site_root}}/components/discovery/). There is an issue where Chromecasts can only be discovered if your device is connected to the same subnet as your Chromecast.
Google Cast devices like Android TVs and Chromecasts will be automatically discovered if you enable [the discovery component]({{site_root}}/components/discovery/). If you don't have the discovery component enabled, you can enable the Cast component by going to the Integrations page inside the config panel.
## {% linkable_title Advanced use %}
The Cast component has some extra configuration options available for advanced users. You will still need to create a config entry to initialize the Cast component.
For example, Cast devices can only be discovered if they are on the same subnet as Home Assistant. If this is not the case, you want to configure the IP address of the Cast device directly:
The Chromecast platform can also be forced to load by adding the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
media_player:
- platform: cast
cast:
media_player:
- host: 192.168.1.10
```
Configuration variables:
- **host** (*Optional*): Use only if you don't want to scan for devices.
- **ignore_cec** (*Optional*) A list of Chromecasts that should ignore CEC data for determining the active input. [See the upstream documentation for more information.](https://github.com/balloob/pychromecast#ignoring-cec-data)
## {% linkable_title Example %}
By setting `host:` you can specify the Chromecast to use.
```yaml
# Example configuration.yaml entry
media_player:
- platform: cast
host: 192.168.1.10
```

View File

@ -90,6 +90,10 @@ report_server_codes:
Note that this basic configuration will only enable you to read the armed/armed away/disarmed status of your alarm and will **not** update the status if the alarm is triggered. This is because of how Egardia built their system. The alarm triggers normally go through their servers.
You can change this, however, using the following procedure. This is a more advanced (and more useful) configuration.
<p class='note'>
There seem to be multiple versions of software running on GATE-02 devices; we have received reports from GATE-02 users who successfully run this package in GATE-02 mode. Others have reported they needed to specify GATE-03 as their version to integrate their GATE-02.
</p>
## {% linkable_title Advanced configuration %}
1. Log in to your alarm system's control panel. You will need to access http://[IP of your control panel]. You know this already since you need it in the basic configuration from above. Log in to the control panel with your Egardia/Woonveilig username and password.

View File

@ -34,6 +34,10 @@ homekit:
entity_config:
alarm_control_panel.home:
code: 1234
light.kitchen_table:
name: Kitchen Table Light
lock.front_door:
code: 1234
media_player.living_room:
feature_list:
- feature: on_off
@ -114,10 +118,10 @@ homekit:
required: true
type: string
type:
description: Only for `switch` entities. Type of accessory to be created within HomeKit. Valid types are `switch` and `outlet`.
description: Only for `switch` entities. Type of accessory to be created within HomeKit. Valid types are `switch` and `outlet`. HomeKit will cache the type on the first run so a device must be removed and then re-added for any change to take effect.
required: false
type: string
default: switch
default: '`switch`'
{% endconfiguration %}
<p class='note'>
@ -151,6 +155,10 @@ After the setup is completed you should be able to control your Home Assistant c
Currently this component uses the `entity_id` to generate a unique `accessory id (aid)` for `HomeKit`. The `aid` is used to identify a device and save all configurations made for it. This however means that if you decide to change an `entity_id` all configurations for this accessory made in the `Home` app will be lost.
### {% linkable_title Device Limit %}
The HomeKit guidelines only allow a maximum of 100 unique accessories (`aid`) per bridge. Be mindful of this when configuring the filter(s).
### {% linkable_title Persistence Storage %}
Unfortunately `HomeKit` doesn't support any kind of persistent storage - only the configuration for accessories that are added to the `Home Assistant Bridge` are kept. To avoid problems it is recommended to use an automation to always start `HomeKit` with at least the same entities setup. If for some reason some entities are not setup, their config will be deleted. (State unknown or similar will not cause any issues.)
@ -283,3 +291,17 @@ logger:
- The configuration entries for `homekit` and the `component` that is causing the issue.
- The log / traceback you have generated before.
- Screenshots of the failing entity in the `states` panel.
## {% linkable_title Troubleshooting PIN not appearing %}
In some instances, the PIN will not appear as a persistent status or in the log files despite deleting `.homekit.state`, enabling logging, and reboot. The log files will include the error ```Duplicate AID found when attempting to add accessory```.
In such cases, modifying your configuration.yaml to add a filter limiting the included entities similar to the following:
```yaml
filter:
include_domains:
- light
```
Restart Home-Assistant and re-attempt pairing - a persistent status should now correctly appear.

View File

@ -54,12 +54,12 @@ http:
cors_allowed_origins:
- https://google.com
- https://www.home-assistant.io
use_x_forwarded_for: True
use_x_forwarded_for: False
trusted_networks:
- 127.0.0.1
- ::1
- 192.168.0.0/24
- 2001:DB8:ABCD::/48
- fd00::/8
ip_ban_enabled: True
login_attempts_threshold: 5
```

View File

@ -47,7 +47,7 @@ input_boolean:
### {% linkable_title Restore State %}
This component supports the `restore_state` function which restores the state after Home Assistant has started to the value it has been before Home Assistant stopped. To use this feature please make sure that the [`recorder`](/components/recorder/) component is enabled and your entity does not have a value set for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation.
This component will automatically restore the state it had prior to Home Assistant stopping as long as you have the `recorder` component enabled and your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation.
## {% linkable_title Automation Examples %}

View File

@ -74,7 +74,7 @@ A datetime input entity's state exports several attributes that can be useful in
### {% linkable_title Restore State %}
This component supports the `restore_state` function which restores the state after Home Assistant has started to the value it has been before Home Assistant stopped. To use this feature please make sure that the [`recorder`](/components/recorder/) component is enabled and your entity does not have a value set for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation.
This component will automatically restore the state it had prior to Home Assistant stopping as long as you have the `recorder` component enabled and your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation.
### {% linkable_title Services %}

View File

@ -84,7 +84,7 @@ input_number:
### {% linkable_title Restore State %}
This component supports the `restore_state` function which restores the state after Home Assistant has started to the value it has been before Home Assistant stopped. To use this feature please make sure that the [`recorder`](/components/recorder/) component is enabled and your entity does not have a value set for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation.
This component will automatically restore the state it had prior to Home Assistant stopping as long as you have the `recorder` component enabled and your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation.
## {% linkable_title Automation Examples %}

View File

@ -64,7 +64,7 @@ Because YAML defines [booleans](http://yaml.org/type/bool.html) as equivalent, a
### {% linkable_title Restore State %}
This component supports the `restore_state` function which restores the state after Home Assistant has started to the value it has been before Home Assistant stopped. To use this feature please make sure that the [`recorder`](/components/recorder/) component is enabled and your entity does not have a value set for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation.
This component will automatically restore the state it had prior to Home Assistant stopping as long as you have the `recorder` component enabled and your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation.
### {% linkable_title Services %}

View File

@ -71,4 +71,4 @@ input_text:
### {% linkable_title Restore State %}
This component supports the `restore_state` function which restores the state after Home Assistant has started to the value it has been before Home Assistant stopped. To use this feature please make sure that the [`recorder`](/components/recorder/) component is enabled and your entity does not have a value set for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation.
This component will automatically restore the state it had prior to Home Assistant stopping as long as you have the `recorder` component enabled and your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation.

View File

@ -1,6 +1,6 @@
---
layout: page
title: "deCONZ lights"
title: "deCONZ Lights"
description: "Instructions on how to integrate Zigbee lights from deCONZ into Home Assistant."
date: 2017-11-12 16:30
sidebar: true
@ -15,9 +15,9 @@ ha_iot_class: "Local Push"
See the [deCONZ main component](/components/deconz/) for configuration instructions.
Entity Ids names will be light.device_name, where device_name is defined in deCONZ. Light groups created in deCONZ will be created in Home Assistant as lights named light.group_name_in_deconz, allowing the user to control groups of lights with only a single API call to deCONZ.
The `Entity Id` names will be `light.device_name`, where `device_name` is defined in deCONZ. Light groups created in deCONZ will be created in Home Assistant as lights named `light.group_name_in_deconz`, allowing the user to control groups of lights with only a single API call to deCONZ.
#### {% linkable_title Verified to be supported sensors %}
#### {% linkable_title Verified supported lights %}
- IKEA Trådfri bulb E14 WS opal 400lm
- IKEA Trådfri Bulb E27 WS Opal 980lm

View File

@ -14,11 +14,17 @@ ha_iot_class: "Assumed State"
ha_release: pre 0.7
---
`limitlessled` can control your [LimitlessLED](http://www.limitlessled.com/) lights from within Home Assistant. The lights are also known as EasyBulb, AppLight, AppLamp, MiLight, LEDme, dekolight, or iLight.
`limitlessled` can control your LimitlessLED lights from within Home Assistant. The lights are also known as EasyBulb, AppLight, AppLamp, [MiLight](http://www.milight.com/), LEDme, dekolight, or iLight.
LimitlessLED bulbs are controlled via groups, so you can only control an individual bulb via the bridge if it is in a group by itself.
Note: you can assign an `rgbw`, `rgbww`, `white` and `dimmer` group to the same group number, effectively allowing up to 16 groups (4 `rgbww`, 4 `rgbw`, 4 `white` and 4 `dimmer`) per bridge.
An archive of the extensive API can be found [here](https://github.com/Fantasmos/LimitlessLED-DevAPI).
### {% linkable_title Setup %}
Before configuring Home Assistant, make sure you can control your bulbs or LEDs with the MiLight mobile application. Discover your bridge(s) IP address. You can do this via your router or a mobile application like Fing ([android](https://play.google.com/store/apps/details?id=com.overlook.android.fing&hl=en) or [iTunes](https://itunes.apple.com/us/app/fing-network-scanner/id430921107?mt=8)). Keep in mind that LimitlessLED bulbs are controlled via groups. You can not control an individual bulb via the bridge, unless it is in a group by itself. Note that you can assign an `rgbw`, `rgbww`, `white` and `dimmer` group to the same group number, effectively allowing 16 groups (4 `rgbww`, 4 `rgbw`, 4 `white` and 4 `dimmer`) per bridge.
Before configuring Home Assistant, make sure you can control your bulbs or LEDs with the MiLight mobile application. Next, discover your bridge(s) IP address. You can do this via your router or a mobile application like Fing ([android](https://play.google.com/store/apps/details?id=com.overlook.android.fing&hl=en) or [iTunes](https://itunes.apple.com/us/app/fing-network-scanner/id430921107?mt=8)).
To add `limitlessled` to your installation, add the following to your `configuration.yaml` file:
@ -60,18 +66,36 @@ Configuration variables:
- **number** (*Required*): Group number (`1`-`4`). Corresponds to the group number on the remote. These numbers may overlap only if the type is different.
- **name** (*Required*): Any name you'd like. Must be unique among all configured groups.
- **type** (*Optional*): Type of group. Choose either `rgbww`, `rgbw`, `white`, `bridge-led` or `dimmer`. `rgbw` is the default if you don't specify this entry. Use `bridge-led` to control the built-in LED of newer WiFi bridges.
- **fade** (*Optional*): Fade behavior. Defaults to `off`. If turned on, the group is faded out before being turned off. This makes for a more pleasing transition at the expense of wall switch usability, since the light will turn back on at the lowest brightness if it is power cycled.
- **fade** (*Optional*): Fade behavior. Defaults to `off`. If turned on, the group is faded out before being turned off. This makes for a more pleasing transition at the expense of wall switch usability since the light will turn back on at the lowest brightness if it is power cycled.
### {% linkable_title Night Effect %}
LimitlessLED has a `night` effect that can be used to dim the lights below `brightness: 1`. This night mode is meant to temporarily turn the lights into a nightlight. This mode can be especially helpful when wall switches are also being used. For example, when a light is using the `night` effect one way to return it to its previous brightness level (other than using Home Assistant) is to switch the lights off and then back on from the wall switch.
Note that the `brightness`, `color` and `temperature` attributes cannot be used when using the `night` effect. You can turn on `night` effect by using the `effect` attribute of the normal `light.turn_on` service. Here is an example:
```yaml
automation:
- alias: ...
trigger:
# ...
action:
- service: light.turn_on
data:
entity_id: light.office, light.kitchen
effect: night
```
### {% linkable_title Properties %}
Refer to the [light]({{site_root}}/components/light/) documentation for general property usage, but keep in mind the following notes specific to LimitlessLED.
- **RGBWW** (Only supported on v6 bridges)
- *Color*: There are 25,856 color possibilities along the LimitlessLED color spectrum. For colors, hue and saturation can be used, but not lightness. If you select a color with lightness, Home Assistant will calculate the nearest valid LimitlessLED color. In white mode the temperature can be set.
- *Color*: There are 25,856 color possibilities along the LimitlessLED color spectrum. For colors, hue and saturation can be used, but not lightness. If you select a color with lightness, Home Assistant will calculate the nearest valid LimitlessLED color. In white mode, the temperature can be set.
- *Temperature*: There are 101 temperature steps.
- *Brightness*: There are 101 brightness steps.
- **RGBW**
- *Color*: There are 256 color possibilities along the LimitlessLED color spectrum. Color properties like saturation and lightness can not be used - only Hue can. The only exception is white (which may be warm or cold depending on the type of RGBW bulb). If you select a color with saturation or lightness, Home Assistant will calculate the nearest valid LimitlessLED color.
- *Color*: There are 256 color possibilities along the LimitlessLED color spectrum. Color properties like saturation and lightness cannot be used - only Hue can. The only exception is white (which may be warm or cold depending on the type of RGBW bulb). If you select a color with saturation or lightness, Home Assistant will calculate the nearest valid LimitlessLED color.
- *Brightness*: Wifi bridge v6 supports 101 brightness steps; older versions only 25.
- **White**
- When using a legacy WiFi bridge (before v6), you can observe on the MiLight mobile application, you can not select a specific brightness or temperature - you can only step each property up or down. There is no indication of which step you are on. This restriction, combined with the unreliable nature of LimitlessLED transmissions, means that setting white bulb properties is done on a best-effort basis. The only very reliable settings are the minimum and maximum of each property.
@ -87,7 +111,7 @@ Refer to the [light]({{site_root}}/components/light/) documentation for general
When starting Home Assistant, the last recorded state will be shown. This might no longer match the actual state of the bulbs.
If you control your LimitlessLED lights via the MiLight mobile application or other means while Home Assistant is running, Home Assistant can not track those changes and you may observe obsolete information.
If you control your LimitlessLED lights via the MiLight mobile application or other means while Home Assistant is running, Home Assistant cannot track those changes and you may observe obsolete information.
This lack of synchronization is due to a LimitlessLED limitation.

View File

@ -31,7 +31,7 @@ Configuration variables:
{% configuration %}
username:
description: "The matrix username that home assistant should use to log in. *Note*: You must specify a full matrix ID here, including the homeserver domain, e.g. '@my_matrix_bot:matrix.org'. Please note also that the '@' character has a special meaning in YAML, so this must always be given in quotes."
description: "The matrix username that Home Assistant should use to log in. *Note*: You must specify a full matrix ID here, including the homeserver domain, e.g. '@my_matrix_bot:matrix.org'. Please note also that the '@' character has a special meaning in YAML, so this must always be given in quotes."
required: true
type: string
password:
@ -79,7 +79,7 @@ commands:
### {% linkable_title Event Data %}
If a command is triggered, a `matrix_command` event is fired. The event contains the name of the command in the `name` field. If the command is a word command that has no name set, the `name` field contains the word instead.
If a command is triggered, a `matrix_command` event is fired. The event contains the name of the command in the `name` field.
If the command is a word command, the `data` field contains a list of the command's arguments, i.e., everything that stood behind the word, split at spaces. If the command is an expression command, the `data` field contains the [group dictionary](https://docs.python.org/3.6/library/re.html?highlight=re#re.match.groupdict) of the regular expression that matched the message.

View File

@ -30,6 +30,7 @@ Supported devices:
- Marantz M-RC610
- Marantz SR5008
- Marantz SR6007 - SR6010
- Marantz NR1506
- Marantz NR1604
- Other Denon AVR receivers (untested)
- Marantz receivers (experimental)

View File

@ -35,3 +35,15 @@ Configuration variables:
<p class='note'>
When using api_version: 5 changing sources switches tv channels. Additionally this allows setting the volume level.
</p>
```yaml
# Example configuration.yaml with turn_on_action
media_player:
- platform: philips_js
host: 192.168.1.99
turn_on_action:
service: wake_on_lan.send_magic_packet
data:
mac: aa:bb:cc:dd:ee:ff
```

View File

@ -57,6 +57,7 @@ Currently known supported models:
- U6300 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- K5579 (port must be set to 8001, On/Off, Forward/Backward, Volume control, but no Play button)
- K6500AF (port must be set to 8001)
- KS8000 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- KS8005 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- KU6020 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- KU6290 (port must be set to 8001)

View File

@ -90,7 +90,7 @@ media_player:
turn_on_action:
service: wake_on_lan.send_magic_packet
data:
mac: B4:E6:2A:1E:11:0F
mac: "B4-E6-2A-1E-11-0F"
```
Any other [actions](/docs/automation/action/) to power on the device can be configured.
@ -128,4 +128,4 @@ data:
The behaviour of the next and previsous buttons is different depending on the active source:
- if the source is 'LiveTV' (television): next/previous buttons act as channel up/down
- otherwise: next/previsous buttons act as next/previous track
- otherwise: next/previous buttons act as next/previous track

View File

@ -62,6 +62,11 @@ ssl:
required: false
type: boolean
default: true
scan_interval:
description: the frequency (in seconds) between data updates
required: false
type: int
default: 60
binary_sensors:
description: binary sensor-related configuration options
required: false

View File

@ -13,21 +13,24 @@ ha_release: 0.53
ha_iot_class: "Cloud Polling"
---
The `airvisual` sensor platform queries the [AirVisual](https://airvisual.com/) API for air quality
data. Data can be collected via latitude/longitude or by city/state/country.
The resulting information creates sensors for the Air Quality Index (AQI), the
human-friendly air quality level, and the main pollutant of that area. Sensors
that conform to either/both the [U.S. and Chinese air quality standards](http://www.clm.com/publication.cfm?ID=366) can be
created.
The `airvisual` sensor platform queries the [AirVisual](https://airvisual.com/)
API for air quality data. Data can be collected via latitude/longitude or by
city/state/country. The resulting information creates sensors for the Air
Quality Index (AQI), the human-friendly air quality level, and the main
pollutant of that area. Sensors that conform to either/both the
[U.S. and Chinese air quality standards](http://www.clm.com/publication.cfm?ID=366)
can be created.
This platform requires an AirVisual API key, which can be obtained [here](https://airvisual.com/api). Note
that the platform was designed using the "Community" package; the "Startup"
and "Enterprise" package keys should continue to function, but actual results
may vary (or not work at all).
This platform requires an AirVisual API key, which can be obtained
[here](https://airvisual.com/api). Note that the platform was designed using
the "Community" package; the "Startup" and "Enterprise" package keys should
continue to function, but actual results may vary (or not work at all).
<p class='note warning'>
The "Community" API key is limited to 10,000 calls per month. In order to leave
a buffer, the `airvisual` platform queries the API every 10 minutes.
a buffer, the `airvisual` platform queries the API every 10 minutes by default.
Modification of this (via the `scan_interval` key) to a too-low value may
result in your API key being deactivated.
</p>
## {% linkable_title Configuring the Platform via Latitude/Longitude %}
@ -42,59 +45,67 @@ sensor:
monitored_conditions:
- us
- cn
show_on_map: false
scan_interval: 30
# Configure by latitude/longitude:
latitude: 42.81212
longitude: 108.12422
radius: 500
show_on_map: false
# Or configure by location:
city: Los Angeles
state: California
country: USA
```
Configuration variables:
{% configuration %}
api_key:
description: your AirVisual API key
required: required
type: string
monitored_conditions:
description: the air quality standard(s) to use (`us` for U.S., `cn` for Chinese)
required: required
type: list
default: ['us', 'cn']
show_on_map:
description: whether to show a marker on the map at the specified location
required: optional
type: boolean
default: true
scan_interval:
description: the rate at which AirVisual should be polled for new data
required: optional
type: int
default: 600
latitude:
description: the latitude of the location to monitor
required: optional
type: str
default: the latitude defined under the `homeassistant` key in `configuration.yaml`
longitude:
description: the longitude of the location to monitor
required: optional
type: str
default: the longitude defined under the `homeassistant` key in `configuration.yaml`
city:
description: the city to monitor
required: optional
type: str
state:
description: the state the city belongs to
required: optional
type: str
country:
description: the country the state belongs to
required: optional
type: str
{% endconfiguration %}
- **api_key** (*Required*): your AirVisual API key
- **monitored_conditions** (*Required*): the air quality standard(s) to use
(`us` for U.S., `cn` for Chinese)
- **latitude** (*Optional*): the latitude to monitor; if excluded, the latitude
defined under the `homeassistant` key in `configuration.yaml` will be used
- **longitude** (*Optional*): the longitude to monitor; if excluded, the longitude
defined under the `homeassistant` key in `configuration.yaml` will be used
- **radius** (*Optional*): the radius (in meters) around the latitude/longitude to
search for the nearest city; defaults to `1000`
- **show_on_map** (*Optional*): whether to show a marker on the map at the specified
location; defaults to `true`
## {% linkable_title Configuring the Platform via City/State/Country %}
To enable the platform and gather data via city/state/country, add the
following lines to your `configuration.yaml` file:
```yaml
sensor:
- platform: airvisual
api_key: abc123
monitored_conditions:
- us
- cn
city: southend-on-sea
state: essex
country: uk
show_on_map: false
```
Configuration variables:
- **api_key** (*Required*): your AirVisual API key
- **monitored_conditions** (*Required*): the air quality standard(s) to use
(`us` for U.S., `cn` for Chinese)
- **city** (*Optional*): the city to monitor
- **state** (*Optional*): the state/region to monitor
- **country** (*Optional*): the country to monitor
- **show_on_map** (*Optional*): whether to show a marker on the map at the specified
location; defaults to `true`
## {% linkable_title Determining the City/State/Country %}
To easily determine the proper values for a particular location, use the
[AirVisual region directory](https://airvisual.com/world). Once you browse to the particular city you want,
take note of the breadcrumb title, which is of the form
`country > state/region > city`. Use this information to fill out
[AirVisual region directory](https://airvisual.com/world). Once you browse to
the particular city you want, take note of the breadcrumb title, which is of
the form `country > state/region > city`. Use this information to fill out
`configuration.yaml`.
For example, Sao Paulo, Brazil shows a breadcrumb title of
@ -120,8 +131,8 @@ air quality standard:
### Air Quality Index
**Description:** This sensor displays a numeric air quality index (AQI), a metric
for the overall "health" of the air.
**Description:** This sensor displays a numeric air quality index (AQI), a
metric for the overall "health" of the air.
**Example Sensor Name:** `sensor.chinese_air_quality_index`

View File

@ -11,6 +11,7 @@ logo: loop.png
ha_category: Energy
ha_release: 0.17
ha_iot_class: "Cloud Push"
redirect_from: /components/sensor.loop_energy/
---

View File

@ -13,20 +13,20 @@ ha_release: 0.29
ha_iot_class: "Local Polling"
---
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.
The `miflora` sensor platform allows one to monitor plant soil and air conditions. 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 the moisture and conductivity of the soil as well as ambient light and temperature. Since only one BLE device can be polled at a time, the library implements locking to prevent polling more than one device at a time.
# Installation
Depending on the operating system you're running, you have to configure the proper Bluetooth backend on your system:
# Install Bluetooth Backend
Before configuring Home Assistant you need a Bluetooth backend and the MAC address of your sensor. Depending on your operating system, you may have to configure the proper Bluetooth backend for your system:
- On [Hass.io](/hassio/installation/): Miflora will work out of the box.
- On a [generic Docker installation](/docs/installation/docker/): Works out of the box with `--net=host` and properly configured Bluetooth on the host.
- On other Linux systems:
- Preferred 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/).
- On Windows and MacOS there is currently no support for the [miflora library](https://github.com/open-homeautomation/miflora/).
# Configuration
Start a scan to determine the MAC addresses of the sensor:
# Scan for MAC address
Start a scan to determine the MAC addresses of the sensor (you can identify your sensor by looking for `Flower care` or `Flower mate` entries) using this command:
```bash
$ sudo hcitool lescan
@ -36,7 +36,7 @@ C4:D3:8C:12:4C:57 Flower mate
[...]
```
Or if your distribution is using bluetoothctl:
Or, if your distribution is using bluetoothctl use the following commands:
```bash
$ bluetoothctl
@ -46,9 +46,7 @@ $ bluetoothctl
[NEW] C4:D3:8C:12:4C:57 Flower mate
```
Check for `Flower care` or `Flower mate` entries, those are your sensor.
# Configure
To use your Mi Flora plant sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
@ -57,7 +55,7 @@ sensor:
- platform: miflora
mac: 'xx:xx:xx:xx:xx:xx'
monitored_conditions:
- temperature
- moisture
```
- **mac** (*Required*): The MAC address of your sensor.
@ -75,8 +73,9 @@ sensor:
- **cache_value** (*Optional*): Define cache expiration value in seconds (defaults to 1200 if not defined)
- **adapter** (*Optional*): Define the Bluetooth adapter to use (defaults to hci0). Run `hciconfig` to get a list of available adapters.
Note that by default the sensor is only polled once every 20 minutes. This means with the `median: 3` setting will take as least 40 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.
<p class='note warning'>
By default the sensor is only polled once every 20 minutes. So, if you set `median: 3` it will take _at least_ 40 minutes before the sensor will report a value after a Home Assistant restart. Since the values usually change very slowly, this usually isn't a big problem. Keep in mind though that reducing polling intervals will have a negative effect on the battery life.
</p>
A full configuration example could look like the one below:

View File

@ -13,4 +13,4 @@ ha_release: 0.62
ha_iot_class: "Cloud Polling"
---
For configuration instructions, see [main component config](/components/mychecvy/).
For configuration instructions, see [main component config](/components/mychevy/).

View File

@ -42,3 +42,19 @@ Both events have two attributes:
- **sensor**: Name of `opensky` sensor that fired the event
- **callsign**: Callsign of the flight
To receive notifications of the entering flights, add the following lines to your `configuration.yaml`.
{% raw %}
```yaml
automation:
- alias: 'Flight entry notification'
trigger:
platform: event
event_type: opensky_entry
action:
service: notify.ios_YOURIPHONENAME
data_template:
message : 'Flight entry of {{ trigger.event.data.callsign }} '
```
{% endraw %}

View File

@ -15,6 +15,8 @@ ha_iot_class: "Cloud Polling"
The `postnl` platform allows one to track deliveries by [PostNL](https://www.postnl.nl) (Dutch Postal Services). To use this sensor, you need a [PostNL Account](https://jouw.postnl.nl). It is possible to add multiple accounts to your Home Assistant configuration.
The sensor value shows the number of packages to be delivered. Each of the packages is available as an attribute.
## {% linkable_title Configuration %}
To enable this sensor, add the following lines to your `configuration.yaml`:

View File

@ -237,7 +237,7 @@ sensor:
sensors:
owm_weather:
value_template: '{{ states.sensor.owm_report.attributes.weather[0]["description"].title() }}'
icon_template: '{{ "http://openweathermap.org/img/w/"+states.sensor.owm_report.attributes.weather[0]["icon"]+".png" }}'
entity_picture_template: '{{ "http://openweathermap.org/img/w/"+states.sensor.owm_report.attributes.weather[0]["icon"].lower()+".png" }}'
entity_id: sensor.owm_report
owm_temp:
friendly_name: 'Outside temp'

View File

@ -195,4 +195,8 @@ group:
Note: While the platform is called “wunderground” the sensors will show up in Home Assistant as “PWS” (eg: sensor.pws_weather).
</p>
Note that the Weather Underground sensor is added to the entity_registry, so second and subsequent Personal Weather Station ID (pws_id) will have their monitored conditions suffixed with an index number e.g.
- sensor.pws_weather_1d_metric_2
Additional details about the API are available [here](https://www.wunderground.com/weather/api/d/docs).

View File

@ -46,10 +46,6 @@ sudo apt-key adv --keyserver pgp.surfnet.nl --recv-keys D4F50CDCA10A2849
### {% linkable_title Creating an assistant %}
<div class='videoWrapper'>
<iframe src="https://player.vimeo.com/video/223255884" width="700" height="380" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
</div>
Head over to the [Snips Console](https://console.snips.ai) to create your assistant. Launch the training and download by clicking on the "Download Assistant" button.
The next step is to get the assistant to work on your device. Unzip and copy the assistant folder that you downloaded from the web console to the path. Assuming your downloaded assistant folder is on your desktop, just run:
@ -145,6 +141,8 @@ Alternatively, MQTT can be configured to bridge messages between servers if usin
In Home Assistant, we trigger actions based on intents produced by Snips using the [`intent_script`](/components/intent_script) component. For instance, the following block handles a `ActivateLightColor` intent to change light colors:
Note: If your Snips action is prefixed with a username (e.g. `john:playmusic` or `john__playmusic`), the Snips component in Home Assistant [will try and strip off the username](https://github.com/home-assistant/home-assistant/blob/c664c20165ebeb248b98716cf61e865f274a2dac/homeassistant/components/snips.py#L126-L129). Bear this in mind if you get the error `Received unknown intent` even when what you see on the MQTT bus looks correct. Internally the Snips component is trying to match the non-username version of the intent (i.e., just `playmusic`).
{% raw %}
```yaml
snips:

View File

@ -12,48 +12,16 @@ ha_category: Media Player
featured: true
ha_release: 0.7.3
ha_iot_class: "Local Polling"
redirect_from: /components/media_player.sonos/
---
The `sonos` platform allows you to control your [Sonos](http://www.sonos.com) HiFi wireless speakers and audio components from Home Assistant. By default it supports auto-discovery provided by Home Assistant, and you don't need to add anything to your `configuration.yaml`. Alternatively, there are some manual configuration options, listed as follows:
The `sonos` component allows you to control your [Sonos](https://www.sonos.com) HiFi wireless speakers and audio components from Home Assistant. By default it supports auto-discovery provided by Home Assistant, and you don't need to add anything to your `configuration.yaml`.
To add your Sonos components to your installation, add the following to your `configuration.yaml` file. It will perform Sonos auto-discovery of your connected speakers.
If you don't have the discovery component enabled, you can configure the Sonos component by going to the integrations page inside the config panel.
```yaml
# Example configuration.yaml entry using Sonos discovery
media_player:
- platform: sonos
```
## {% linkable_title Services %}
If you have multiple network devices, you can provide the IP address of the device that should be used for Sonos auto-discovery.
```yaml
# Example configuration.yaml entry using Sonos discovery on a specific interface
media_player:
- platform: sonos
interface_addr: 192.0.2.1
```
You can also specify one or more hosts to connect to if they cannot be found with Sonos auto-discovery.
```yaml
# Example configuration.yaml entry with manually specified addresses
media_player:
- platform: sonos
hosts: 192.0.2.25
```
or, for multiple hosts:
```yaml
# Example configuration.yaml entry with manually specified addresses
media_player:
- platform: sonos
hosts:
- 192.0.2.25
- 192.0.2.26
- 192.0.2.27
```
Sonos makes various services available to allow configuring groups. They are currently registered under the media player component.
### {% linkable_title Service `sonos_snapshot` %}
@ -93,7 +61,7 @@ Remove one or more speakers from a group of speakers. If no `entity_id` is provi
### {% linkable_title Service `sonos_set_sleep_timer` %}
Sets a timer that will turn off a speaker by tapering the volume down to 0 after a certain amount of time. Protip: If you set the sleep_time value to 0, then the speaker will immediately start tapering the volume down.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String or list of `entity_id`s that will have their timers set. Must be a coordinator speaker.
@ -102,7 +70,7 @@ Sets a timer that will turn off a speaker by tapering the volume down to 0 after
### {% linkable_title Service `sonos_clear_sleep_timer` %}
Clear the sleep timer on a speaker, if one is set.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String or list of `entity_id`s that will have their timers cleared. Must be a coordinator speaker.
@ -110,7 +78,7 @@ Clear the sleep timer on a speaker, if one is set.
### {% linkable_title Service `sonos_update_alarm` %}
Update an existing Sonos alarm.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String or list of `entity_id`s that will have their timers cleared. Must be a coordinator speaker.
@ -118,16 +86,51 @@ Update an existing Sonos alarm.
| `time` | yes | Time to set the alarm.
| `volume` | yes | Float for volume level.
| `enabled` | yes | Boolean for whether or not to enable this alarm.
| `include_linked_zones` | yes | Boolean that defines if the alarm also plays on grouped players.
| `include_linked_zones` | yes | Boolean that defines if the alarm also plays on grouped players.
### {% linkable_title Service `sonos_set_option` %}
Set Sonos speaker options.
Night Sound and Speech Enhancement modes are only supported on Sonos PLAYBAR and PLAYBASE speakers when playing from the TV source. Other speaker types will ignore these options.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String or list of `entity_id`s that will have their options set.
| `night_sound` | yes | Boolean to control Night Sound mode.
| `speech_enhance` | yes | Boolean to control Speech Enhancement mode.
## {% linkable_title Advanced use %}
For advanced uses, there are some manual configuration options available.
If you have multiple network devices, you can provide the IP address of the device that should be used for Sonos auto-discovery.
```yaml
# Example configuration.yaml entry using Sonos discovery on a specific interface
sonos:
media_player:
interface_addr: 192.0.2.1
```
You can also specify one or more hosts to connect to if they cannot be found with Sonos auto-discovery.
```yaml
# Example configuration.yaml entry with manually specified addresses
sonos:
media_player:
hosts: 192.0.2.25
```
or, for multiple hosts:
```yaml
# Example configuration.yaml entry with manually specified addresses
sonos:
media_player:
hosts:
- 192.0.2.25
- 192.0.2.26
- 192.0.2.27
```

View File

@ -12,11 +12,11 @@ footer: true
Keeps track which switches are in your environment, their state and allows you to control them.
* Maintains a state per switch and a combined state `all_switches`.
* Registers services `switch/turn_on`, `switch/turn_off`, and `switch/toggle` to control switches.
* Registers services `switch.turn_on`, `switch.turn_off`, and `switch.toggle` to control switches.
### {% linkable_title Use the services %}
Go the **Developer Tools**, then to **Call Service** in the frontend, and choose `switch/turn_on` or `switch/turn_off` from the list of available services (**Available services:** on the left). Enter something like the sample below into the **Service Data** field and hit **CALL SERVICE**.
In the frontend open the sidebar. At the bottom, under **Developer Tools**, click **Services**. From the Service dropdown menu choose `switch.turn_on` or `switch.turn_off` from the list of available services. In the Entity dropdown menu choose or enter the entity ID you want to work with. This will enter something like the sample below into the **Service Data** field. Now hit **CALL SERVICE**.
```json
{"entity_id":"livingroom_pin2"}
@ -24,4 +24,4 @@ Go the **Developer Tools**, then to **Call Service** in the frontend, and choose
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | Only act on specific switch. Else targets all.
| `entity_id` | yes | Only act on a specific switch. Otherwise it targets all switches.

View File

@ -32,7 +32,7 @@ vacuum:
Configuration variables:
- **host** (*Required*): Hostname or IP address of the Roomba.
- **username** (*Required*): The username (BLID) fro your device.
- **username** (*Required*): The username (BLID) for your device.
- **password** (*Required*): The password for your device.
- **name** (*Optional*): The name of the vacuum.
- **certificate** (*Optional*): Path to your certificate store. Defaults to `/etc/ssl/certs/ca-certificates.crt`.

View File

@ -90,14 +90,28 @@ xiaomi_aqara:
```
{% configuration %}
mac:
description: The MAC address of your gateway. *Optional if only using one gateway.*
required: false
type: string
key:
description: The key of your gateway. *Optional if only using sensors and/or binary sensors.*
required: false
type: string
gateways:
description: A list of gateways to set up.
required: true
type: map
keys:
mac:
description: The MAC address of your gateway. *Optional if only using one gateway.*
required: false
type: string
key:
description: The key of your gateway. *Optional if only using sensors and/or binary sensors.*
required: false
type: string
host:
description: The host/IP address of the gateway. If this parameter is used the multicast discovery of the gateway is skipped.
required: false
type: string
disable:
description: Disable the gateway. This is only useful if you don't want to integrate a specific gateway.
required: false
type: boolean
default: false
discovery_retry:
description: Number of times that Home Assistant should try to reconnect to the gateway.
required: false
@ -108,10 +122,6 @@ xiaomi_aqara:
required: false
type: string
default: any
host:
description: The host/IP address of the gateway. If this parameter is used the multicast discovery of the gateway is skipped.
required: false
type: string
{% endconfiguration %}
### {% linkable_title Services %}

View File

@ -38,7 +38,7 @@ and the path to the serial device for the radio and path to the database which w
# Example configuration.yaml entry
zha:
usb_path: /dev/ttyUSB2
database_path: zigbee.db
database_path: /home/homeassistant/.homeassistant/zigbee.db
```
Configuration variables:
@ -46,6 +46,6 @@ Configuration variables:
- **radio_type** (*Optional*): One of `ezsp` (default) or `xbee`
- **usb_path** (*Required*): Path to the serial device for the radio.
- **baudrate** (*Optional*): Baud rate of the serial device.
- **database_path** (*Required*): Path to the database which will keep persistent network data.
- **database_path** (*Required*): _Full_ 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/)

View File

@ -1,6 +1,6 @@
---
layout: page
title: "Track your battery level"
title: "Track your phone battery level"
description: "Basic example how to track the battery level of your mobile devices."
date: 2016-01-29 09:00
sidebar: true

View File

@ -9,28 +9,30 @@ sharing: true
footer: true
---
Asterisk Voicemail integration allows Home Assistant to view, listen-to, and delete voicemails from a Asterisk voicemail mailbox.
Asterisk Voicemail integration allows Home Assistant to view, listen to and delete voicemails from a Asterisk voicemail mailbox.
There are two components to the integration:
- A server that runs on the Asterisk PBX host and communicates over an open port.
- A client which can request inormation from the server.
Both parts are necessary for Asterisk voicemail integration.
The server installation is documented below. The client is [integrated inside Home Assistant](/components/asterisk_mbox)
The server installation is documented below. The client is [integrated inside Home Assistant](/components/asterisk_mbox)
<p class='note'>
Currently this module can only monitor a single Asterisk PBX mailbox. Multiple mailbox support is planned for the future
Currently this module can only monitor a single Asterisk PBX mailbox.
</p>
### {% linkable_title Prerequisites %}
Before beginning make sure that you have the following:
- A functional Asterisk PBX setup which is using the default `voicemail` application
- Both Home Assistant and Asterisk PBX running on the same LAN (or the same server)
- The Asterisk PBX server has python 3.4 or newer installed
- Administrator access on the Asterisk PBX (for python module installation)
- Account Access to the `asterisk` user that runs the Asterisk PBX software
- A functional Asterisk PBX setup which is using the default `voicemail` application.
- Both Home Assistant and Asterisk PBX running on the same LAN (or the same server).
- The Asterisk PBX server has Python 3.5 or newer installed.
- Administrator access on the Asterisk PBX (for python module installation).
- Account access to the `asterisk` user that runs the Asterisk PBX software.
### {% linkable_title Installation %}
@ -44,7 +46,7 @@ Before beginning make sure that you have the following:
3. Create a configuration file for the server
As the `asterisk` user create an `asterisk_mbox.ini` file (You can place this in any directory you choose, but the rommended location is `/etc/asterisk/asterisk_mbox.ini`)
As the `asterisk` user create an `asterisk_mbox.ini` file. You can place this in any directory you choose, but the recommended location is `/etc/asterisk/asterisk_mbox.ini`.
```ini
[default]
@ -56,14 +58,14 @@ Before beginning make sure that you have the following:
google_key = GOOGLE_API_KEY
```
- **host** (*Optional*): The IP address to listen on for client requests. This defaults to all IP addresses on the server. To listen only locally, choose `127.0.0.1`
- **port** (*Optional*): The port to listen on for client requests. (default: 12345)
- **password** (*Required*): A password shared between client and server. Use only alpha-numeric characters and spaces
- **mbox\_path** (*Required*): The path to the storage location of mailbox files. This is typically `/var/spool/asterisk/voicemail/default/<mailbox>/`
- **cache\_file** (*Required*): A fully-qualified path to a file thht can be written by the server containing transcriptions of voicemails. Example: `/var/spool/asterisk/transcription.cache`
- **google\_key** (*Required*): Your 40 character Google API key
- **host** (*Optional*): The IP address to listen on for client requests. This defaults to all IP addresses on the server. To listen only locally, choose `127.0.0.1`
- **port** (*Optional*): The port to listen on for client requests. Defaults to 12345.
- **password** (*Required*): A password shared between client and server. Use only alpha-numeric characters and spaces
- **mbox\_path** (*Required*): The path to the storage location of mailbox files. This is typically `/var/spool/asterisk/voicemail/default/<mailbox>/`
- **cache\_file** (*Required*): A fully-qualified path to a file thht can be written by the server containing transcriptions of voicemails. Example: `/var/spool/asterisk/transcription.cache`
- **google\_key** (*Required*): Your 40 characters Google API key.
Once complete, ensure this file is only accessible by the asterisk user:
Once complete, ensure this file is only accessible by the Asterisk user:
```bash
$ sudo chown asterisk:asterisk /etc/asterisk/asterisk_mbox.ini
@ -77,7 +79,7 @@ Before beginning make sure that you have the following:
Now complete the [Home Assistant configuration](/components/asterisk_mbox) and verify that Home Assistant can communicate with the server
You can use `Ctrl-C` to terminate the server when done testing
You can use `Ctrl-c` to terminate the server when done testing
5. Configure the server to start automatically
@ -100,5 +102,5 @@ Before beginning make sure that you have the following:
```
<p class='note'>
This assumes that your Asterisk PBX server is using `systemd` for init handling. If not, you will need to create the appropriate configuration files yourself.
This assumes that your Asterisk PBX server is using `systemd` for init handling. If not, you will need to create the appropriate configuration files yourself.
</p>

View File

@ -61,7 +61,7 @@ homeassistant:
| `homebridge_name` | Name of the entity in `HomeBridge`.
| `hidden` | Set to `true` to hide the entity.
| `homebridge_hidden` | Set to `true` to hide the entity from `HomeBridge`.
| `emulated_hue_hidden` | Set to `true` to hide the entity from `emulated_hue`.
| `emulated_hue_hidden` | Set to `true` to hide the entity from `emulated_hue` (this will be deprecated in the near future and should be configured in [`emulated_hue`](/components/emulated_hue)).
| `entity_picture` | Url to use as picture for entity.
| `icon` | Any icon from [MaterialDesignIcons.com](http://MaterialDesignIcons.com) ([Cheatsheet](https://materialdesignicons.com/cheatsheet)). Prefix name with `mdi:`, ie `mdi:home`.
| `assumed_state` | For switches with an assumed state two buttons are shown (turn off, turn on) instead of a switch. By setting `assumed_state` to `false` you will get the default switch icon.

View File

@ -55,4 +55,5 @@ value to each entry.
{% linkable_title Supported Components %}
At the moment, only the following components are supported: Z-Wave, Hue, Nest, LIFX, Sonos, Apple TV
At the moment, only the following components are supported: Z-Wave, Hue, Nest, LIFX, Sonos, Apple TV, Weather Underground
Note that for Weather Underground, second and subsequent Personal Weather Station ID (pws_id) will have their monitored conditions suffixed with an index number.

View File

@ -104,7 +104,7 @@ sensor:
command: "python3 occasion.py"
```
<p class='note'>
If you are using docker to run Home Assistant then the occasion.py script will be placed under /config. Your command should instead be: command: "python3 /command/occasion.py"
If you are using docker to run Home Assistant then the occasion.py script will be placed under /config. Your command should instead be: command: "python3 /config/occasion.py"
</p>

View File

@ -17,3 +17,10 @@ Hassbian is our customized operating system for the Raspberry Pi Zero, 2,3 and 3
- [Pi specific integrations](/docs/hassbian/common-tasks/)
- [Learn how to perform common tasks](/docs/hassbian/integrations/)
### {% linkable_title Activating the virtual environment %}
When instructions tell you to activate the virtual environment to install a Python library, or perform some tasks, the following commands will do this:
```bash
$ sudo -u homeassistant -H -s
$ source /srv/homeassistant/bin/activate```

View File

@ -64,7 +64,7 @@ Soft blocked: yes
Hard blocked: no
```
To unblock it, exceute `$ sudo rfkill unblock wifi`.
To unblock it, execute `$ sudo rfkill unblock wifi`.
### {% linkable_title Technical Details %}

View File

@ -26,7 +26,7 @@ Connect to the Raspberry Pi over SSH. Default password is `raspberry`.
You will need to enable SSH access. The Raspberry Pi website has instructions [here](https://www.raspberrypi.org/documentation/remote-access/ssh/).
```bash
$ ssh pi@ipadress
$ ssh pi@ipaddress
```
Changing the default password is encouraged.
@ -107,3 +107,11 @@ $ pip3 install --upgrade homeassistant
```
Once the last command executes restart the Home Assistant service to apply the latest updates. Please keep in mind that some updates may take longer to boot up than others. If Home Assistant fails to start make sure you check the **Breaking Changes** from the [Release Notes](https://github.com/home-assistant/home-assistant/releases).
### {% linkable_title Activating the virtual environment %}
When instructions tell you to activate the virtual environment, the following commands will do this:
```bash
$ sudo -u homeassistant -H -s
$ source /srv/homeassistant/bin/activate```

View File

@ -144,17 +144,43 @@ Some models of the Zooz Toggle switches ship with an instruction manual with inc
To provide Central Scene support you need to shut Home Assistant down and modify your `zwcfg_*.xml` file according to the following guides.
### {% linkable_title Inovelli Scene Capable On/Off and Dimmer Wall Switches %}
For Inovelli switches, you'll need to update (or possibly add) the `COMMAND_CLASS_CENTRAL_SCENE` for each node in your `zwcfg` file with the following:
```xml
<CommandClass id="91" name="COMMAND_CLASS_CENTRAL_SCENE" version="1" request_flags="4" innif="true" scenecount="0">
<Instance index="1" />
<Value type="int" genre="system" instance="1" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="2" />
<Value type="int" genre="user" instance="1" index="1" label="Bottom Button Scene" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="3" />
<Value type="int" genre="user" instance="1" index="2" label="Top Button Scene" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="3" />
</CommandClass>
```
Once this is complete, you should see the follow `zwave.scene_activated` events:
**Action**|**scene\_id**|**scene\_data**
:-----:|:-----:|:-----:
Double tap off|1|3
Double tap on|2|3
Triple tap off|1|4
Triple tap on|2|4
4x tap off|1|5
4x tap on|2|5
5x tap off|1|6
5x tap on|2|6
### {% linkable_title HomeSeer Switches %}
For the HomeSeer devices specifically, you may need to update the `COMMAND_CLASS_CENTRAL_SCENE` for each node in your `zwcfg` file with the following:
```xml
<CommandClass id="91" name="COMMAND_CLASS_CENTRAL_SCENE" version="1" request_flags="4" innif="true" scenecount="0">
<Instance index="1" />
<Value type="int" genre="system" instance="1" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="2" />
<Value type="int" genre="user" instance="1" index="1" label="Top Button Scene" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
<Value type="int" genre="user" instance="1" index="2" label="Bottom Button Scene" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
</CommandClass>
<CommandClass id="91" name="COMMAND_CLASS_CENTRAL_SCENE" version="1" request_flags="4" innif="true" scenecount="0">
<Instance index="1" />
<Value type="int" genre="system" instance="1" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="2" />
<Value type="int" genre="user" instance="1" index="1" label="Top Button Scene" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
<Value type="int" genre="user" instance="1" index="2" label="Bottom Button Scene" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
</CommandClass>
```
Below is a table of the action/scenes for the HomeSeer devices (as a reference for other similar devices):

View File

@ -10,7 +10,7 @@ footer: true
---
<p class='note'>
This is a work in progress, based upon reports in the forum, the author's own devices, and reading of various documentation. It will be incomplete, so if you have a device that isn't reported here, or have a device that reports a different value, please provide a report in the [Z-Wave section](https://community.home-assistant.io/c/configuration/zwave) of the forum or the #zwave channel on [Discord](https://discord.gg/RkajcgS).
This is a work in progress, based upon reports in the forum, the author's own devices and reading of various documentation. It will be incomplete, so if you have a device that isn't reported here or have a device that reports a different value, please provide a report in the [Z-Wave section](https://community.home-assistant.io/c/configuration/zwave) of the forum or the #zwave channel on [Discord](https://discord.gg/RkajcgS).
</p>
## {% linkable_title Binary Sensor %}
@ -54,7 +54,7 @@ Devices (usually sensors) that support the Alarm command class will create entit
### {% linkable_title Alarm Level Entity %}
The meaning of the `alarm_level` entity depends on the nature of the alarm sensor
The meaning of the `alarm_level` entity depends on the nature of the alarm sensor.
#### {% linkable_title Smoke, CO, and CO2 %}
@ -135,21 +135,19 @@ The meaning of the `alarm_level` entity depends on the nature of the alarm senso
- **254**: Deep sleep
- **255**: Case open
If your device has an `access_control` entity, but not a `binary_sensor` equivalent, you can use a [template binary sensor](/components/binary_sensor.template/) to create one:
If your device has an `access_control` entity, but not a `binary_sensor` equivalent, you can use a [template binary sensor](/components/binary_sensor.template/) to create one (here we've defined it as a door, but you can use [any relevant device class](/components/binary_sensor/#device-class):
```
{% raw %}
```yaml
binary_sensor:
- platform: template
sensors:
YOUR_SENSOR:
friendly_name: "Friendly name here"
value_template: >-
{% raw %}{%- if is_state('sensor.YOUR_ORIGINAL_SENSOR_access_control', '22') -%}
true
{%- else -%}
false
{%- endif -%}{% endraw %}
device_class: door
value_template: {{ is_state('sensor.YOUR_ORIGINAL_SENSOR_access_control', '22') }}
```
{% endraw %}
### {% linkable_title Burglar Entity %}
@ -163,21 +161,19 @@ binary_sensor:
- **254**: Deep sleep
- **255**: Case open
If your device has a `burglar` entity, but not a `binary_sensor` equivalent, you can use a [template binary sensor](/components/binary_sensor.template/) to create one:
If your device has a `burglar` entity, but not a `binary_sensor` equivalent, you can use a [template binary sensor](/components/binary_sensor.template/) to create one (here we've defined it as a motion sensor, but you can use [any relevant device class](/components/binary_sensor/#device-class:
```
{% raw %}
```yaml
binary_sensor:
- platform: template
sensors:
YOUR_SENSOR:
friendly_name: "Friendly name here"
value_template: >-
{% raw %}{%- if is_state('sensor.YOUR_SENSOR_burglar', '8') -%}
true
{%- else -%}
false
{%- endif -%}{% endraw %}
device_class: motion
value_template: {{ is_state('sensor.YOUR_SENSOR_burglar', '8') }}
```
{% endraw %}
### {% linkable_title Source Node ID Entity %}

View File

@ -0,0 +1,522 @@
---
layout: post
title: "0.72: Lovelace UI, KIWI Doorlocks, Wireless Tags, Insteon X10."
description: "This release will blow you away. Click with caution."
date: 2018-06-22 00:01:00
date_formatted: "June 22, 2018"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Release-Notes
og_image: /images/blog/2018-06-release-0.72/lovelace.png
---
I am super excited about this release as it brings some great examples of how we are refining the system to become more customizable and, at the same time, user friendly. The first thing that I am really excited about is a new experimental user interface that we call Lovelace. Check [this awesome rundown](https://gist.github.com/ciotlosm/9508388876edf92c4c1f3579e740fbd5) of all the features by [@ciotlosm]. The TL;DR: a faster, more customizable and more extensible UI with the same look and feel as the old one.
Be aware, this _is_ experimental, so things will change. However, we felt like we didn't want to keep this away from you any longer. Check the [Lovelace UI docs](https://developers.home-assistant.io/docs/en/lovelace_index.html) on how to get started. Make sure to share your creations!
Thanks to all the people that have been hanging out in the #beta channel on [Discord](https://discord.gg/c5DvZ4e) helping development, finding and squashing bugs and making suggestions. Especially thanks to [@c727] for all his development work and [@arsaboo] for being the first guinea pig.
<p class='img'>
<img
src='/images/blog/2018-06-release-0.72/lovelace.png'
alt='Example user interface created using Lovelace.'
>
Example user interface created using Lovelace ([source](https://gist.github.com/ciotlosm/9508388876edf92c4c1f3579e740fbd5#file-ui-lovelace-yaml))
</p>
Another change is that Nest, Sonos and Cast will now have to be configured using a config entry. Config entries can be created via the integrations page in the config panel. This is a concept that we have been developing for a couple of months now and it's our goal to eventually use this as the way to configure all components.
<p class='img'>
<img
src='/images/blog/2018-06-release-0.72/config_entry.png'
alt='Screenshot of a browser showing a dialog to link a Nest account to Home Assistant.'
>
Screenshot of the Nest config entry.
</p>
And as if this releases even needs more cool stuff, the Insteon integration now supports X10 thanks to [@teharris1]. It was a frequent requested feature from the Insteon community.
And finally, we'll be extending the open beta for Home Assistant Cloud until the first of September.
Enjoy this release and have a good weekend all!
## {% linkable_title New Platforms %}
- Weather Platform - IPMA ([@dgomes] - [#14716]) ([weather.ipma docs]) (new-platform)
- Add Freebox device tracker ([@stilllman] - [#12727]) ([device_tracker.freebox docs]) (new-platform)
- Add IBM Watson IoT Platform component ([@mtreinish] - [#13664]) ([watson_iot docs]) (new-platform)
- Wireless tags platform ([@sergeymaysak] - [#13495]) ([wirelesstag docs]) ([binary_sensor.wirelesstag docs]) ([sensor.wirelesstag docs]) ([switch.wirelesstag docs]) (new-platform)
- Add netgear_lte component ([@amelchio] - [#14687]) ([netgear_lte docs]) ([notify docs]) ([sensor.netgear_lte docs]) (new-platform)
- Add Uptime Robot sensor ([@ludeeus] - [#14631]) ([binary_sensor.uptimerobot docs]) (new-platform)
- Add support for the Unitymedia Horizon HD Recorder ([@benleb] - [#14275]) ([media_player.horizon docs]) (new-platform)
- Add support for KIWI Door Locks ([@c7h] - [#14485]) ([lock.kiwi docs]) (new-platform)
- Epson projector support ([@pszafer] - [#14841]) ([media_player.epson docs]) (new-platform)
- Add sensor.nsw_fuel_station component ([@nickw444] - [#14757]) ([sensor.nsw_fuel_station docs]) (new-platform)
- Add support for ZhongHong HVAC Controllers ([@crhan] - [#14552]) ([climate.zhong_hong docs]) (new-platform)
- Xiaomi Cameras - multiple models ([@vaidyasr] - [#14244]) ([camera.xiaomi docs]) (new-platform)
## {% linkable_title Release 0.72.1 - June 25 %}
- Prevent Nest component setup crash due insufficient permission. ([@awarecan] - [#14966]) ([nest docs])
- Fix socket bug with Yi in 0.72 ([@bachya] - [#15109]) ([camera.yi docs])
- Skip nest security state sensor if no Nest Cam exists ([@awarecan] - [#15112]) ([sensor.nest docs])
- Fix cast config ([@balloob] - [#15143]) ([media_player.cast docs])
- Bump python-nest to 4.0.3 ([@awarecan] - [#15098]) ([nest docs]) ([sensor.nest docs])
## {% linkable_title If you need help... %}
...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
## {% linkable_title Reporting Issues %}
Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template.
<!--more-->
## {% linkable_title Breaking Changes %}
- For developers of custom panel: Remove ability to register panels directly with the frontend component. Register with custom panel component instead. ([@balloob] - [#14805]) ([frontend docs]) (breaking change)
- Rename Hive hub friendly name to include "Hive" name ([@SteveEdson] - [#14747]) ([sensor.hive docs]) (breaking change)
- Homematic: RotaryHandleSensorIP states will now report open, tilt, closed ([@hanzoh] - [#14885]) ([sensor.homematic docs]) (breaking change)
- Add support for multiple Doorbird stations ([@oblogic7] - [#13994]) ([doorbird docs]) ([camera.doorbird docs]) ([switch.doorbird docs]) (breaking change)
- AirVisual: The radius configuration parameter no longer does anything and has been removed. This won't negatively impact any existing integrations. Second, this PR will modify the unique IDs for each sensor to correctly include the locale. New unique IDs will now include _us_ and _cn_ ([@bachya] - [#14943]) ([sensor.airvisual docs]) (breaking change)
- Sonos and Cast are now configured via config entries. Go to the integrations tab in config panel to set it up. ([@balloob] - [#14955]) ([media_player docs]) ([sonos docs]) ([media_player.sonos docs]) (breaking change)
- Eight Sleep add REM type, Update async syntax, Catch API quirks ([@mezz64] - [#14937]) ([eight_sleep docs]) ([binary_sensor.eight_sleep docs]) ([sensor.eight_sleep docs]) (breaking change)
- Fix energy meter for HS110 v2 users. Not a breaking change unless you are using a custom component ([@rytilahti] - [#15001]) ([light.tplink docs]) ([switch.tplink docs]) (breaking change) (beta fix)
## {% linkable_title Beta Fixes %}
- Remove load power attribute for channel USB ([@syssi] - [#14996]) ([switch.xiaomi_miio docs]) (beta fix)
- Switch to own packaged version of spotipy ([@andrey-git] - [#14997]) ([media_player.spotify docs]) (beta fix)
- Bump pyhs100 version ([@rytilahti] - [#15001]) ([light.tplink docs]) ([switch.tplink docs]) (breaking change) (beta fix)
- Add experimental UI backend ([@balloob] - [#15002]) ([frontend docs]) (beta fix)
- Fix panel URL authentication for Hass.io ([@pvizeli] - [#15024]) ([hassio docs]) (beta fix)
- Fix linode I/O in state property ([@MartinHjelmare] - [#15010]) ([binary_sensor.linode docs]) ([switch.linode docs]) (beta fix)
- Upgrade aiohttp to 3.3.2 ([@fabaff] - [#15025]) (beta fix)
- Make zone entries work without radius ([@balloob] - [#15032]) ([zone docs]) (beta fix)
- Bugfix empty entity lists ([@pvizeli] - [#15035]) (beta fix)
- Rename experimental UI to lovelace ([@balloob] - [#15065]) ([frontend docs]) (beta fix)
- X10 ([@teharris1] - [#14741]) ([insteon_plm docs]) ([switch.insteon_plm docs]) (beta fix)
- Fix MQTT Light with RGB and Brightness ([@thinkl33t] - [#15053]) ([light.mqtt docs]) (beta fix)
- Update Neato Library And Reduce Cloud Calls ([@dshokouhi] - [#15072]) ([neato docs]) ([camera.neato docs]) ([switch.neato docs]) ([vacuum.neato docs]) (beta fix)
## {% linkable_title All changes %}
- Weather Platform - IPMA ([@dgomes] - [#14716]) ([weather.ipma docs]) (new-platform)
- Add additional 86sw model identifier of the LAN protocol V2 ([@syssi] - [#14799]) ([xiaomi_aqara docs]) ([binary_sensor.xiaomi_aqara docs])
- Allow Kodi live streams to be recognized as paused ([@quthla] - [#14623]) ([media_player.kodi docs])
- Update syntax ([@fabaff] - [#14812]) ([sensor.moon docs])
- Use pihole module to get data ([@fabaff] - [#14809]) ([sensor.pi_hole docs])
- Bump python-miio version (Closes: #13749) ([@syssi] - [#14796]) ([device_tracker docs]) ([fan.xiaomi_miio docs]) ([light.xiaomi_miio docs]) ([remote.xiaomi_miio docs]) ([sensor.xiaomi_miio docs]) ([switch.xiaomi_miio docs]) ([vacuum.xiaomi_miio docs])
- Further cleanup frontend ([@balloob] - [#14805]) ([frontend docs]) (breaking change)
- netatmo api is now in pip as pyatmo ([@jabesq] - [#14824]) ([netatmo docs]) ([binary_sensor.netatmo docs]) ([camera.netatmo docs]) ([climate.netatmo docs]) ([sensor.netatmo docs])
- Action parameter doesn't longer have to be the first parameter ([@GruberMischa] - [#14815]) ([binary_sensor.mystrom docs])
- Fixes an issue in Xiaomi TV platform that would some TVs not sleep correctly ([@simse] - [#14829]) ([media_player.xiaomi_tv docs])
- Improved Fritz!Box thermostat support ([@thomaskr] - [#14789]) ([climate.fritzbox docs])
- Add Freebox device tracker ([@stilllman] - [#12727]) ([device_tracker.freebox docs]) (new-platform)
- Migrate entity registry to using websocket ([@balloob] - [#14830]) ([config docs])
- Route themes and translations over websocket ([@balloob] - [#14828]) ([frontend docs]) ([websocket_api docs])
- Feature/gearbest library update (Closes: #14813) ([@HerrHofrat] - [#14833]) ([sensor.gearbest docs])
- Ignore the mistaken long_both_click event of the 86sw (Closes: #14802) ([@syssi] - [#14808]) ([binary_sensor.xiaomi_aqara docs])
- Fix non awaited test ([@balloob] - [#14854])
- Update Hue flow title ([@balloob] - [#14852]) ([hue docs])
- Upgrade Mastodon.py to 1.3.0 ([@fabaff] - [#14858])
- Improvements to LIFX reliability ([@amelchio] - [#14848]) ([light.lifx docs])
- Add general sound mode support ([@starkillerOG] - [#14729]) ([media_player docs])
- Add IBM Watson IoT Platform component ([@mtreinish] - [#13664]) ([watson_iot docs]) (new-platform)
- Upgrade aiohttp to 3.3.0 ([@fabaff] - [#14766])
- Add min_temp and max_temp to MQTT climate device ([@PhilRW] - [#14690]) ([climate.mqtt docs])
- Store config entry id in entity registry ([@balloob] - [#14851])
- Catch ConnectionError (fixes #14241) ([@fabaff] - [#14748]) ([media_player.yamaha docs])
- Don't run unnecessary methods in executor pool ([@balloob] - [#14853])
- Wireless tags platform ([@sergeymaysak] - [#13495]) ([wirelesstag docs]) ([binary_sensor.wirelesstag docs]) ([sensor.wirelesstag docs]) ([switch.wirelesstag docs]) (new-platform)
- Fix door/window sensor support of the Xiaomi Aqara LAN protocol V2 (Closes: #14775) ([@syssi] - [#14777]) ([binary_sensor.xiaomi_aqara docs])
- zha: handle "step_with_on_off" cluster command in LevelListener. ([@Adminiuga] - [#14756]) ([binary_sensor.zha docs])
- Rename Hive hub friendly name ([@SteveEdson] - [#14747]) ([sensor.hive docs]) (breaking change)
- Add set_default_level to logger ([@dale3h] - [#14703]) ([logger docs])
- Fix unit conversion ([@dgomes] - [#14730]) ([climate.generic_thermostat docs]) ([climate.sensibo docs]) ([climate.tado docs])
- Disable volume control for Onkyo when unavailable (Closes: #14774) ([@snikch] - [#14863]) ([media_player.onkyo docs])
- Add netgear_lte component ([@amelchio] - [#14687]) ([netgear_lte docs]) ([notify docs]) ([sensor.netgear_lte docs]) (new-platform)
- Add support for new hass.io panel ([@balloob] - [#14873]) ([hassio docs]) ([panel_custom docs])
- Add color_status sensor for Nest Protect ([@awarecan] - [#14868]) ([sensor.nest docs])
- UVC camera platform handling unavailable NVR or cameras better ([@exxamalte] - [#14864]) ([camera.uvc docs])
- Samsung TV can't turn off after idle period ([@ejel] - [#14587]) ([media_player.samsungtv docs])
- Discover Qubino ZMHTDx smart meter switches ([@turbokongen] - [#14884]) ([zwave docs])
- Add missing mapping of RotaryHandleSensorIP states ([@hanzoh] - [#14885]) ([sensor.homematic docs]) (breaking change)
- Add entity registry support to media_player.snapcast ([@jedi7] - [#14895]) ([media_player.snapcast docs])
- Allow different identifiers for the CPU temperature (fixes #10104) ([@fabaff] - [#14898]) ([sensor.glances docs])
- Make RainMachine async ([@bachya] - [#14879]) ([rainmachine docs]) ([binary_sensor.rainmachine docs]) ([sensor.rainmachine docs]) ([switch.rainmachine docs])
- Add Uptime Robot sensor ([@ludeeus] - [#14631]) ([binary_sensor.uptimerobot docs]) (new-platform)
- Upgrade python_opendata_transport to 0.1.3 ([@fabaff] - [#14905]) ([sensor.swiss_public_transport docs])
- Upgrade psutil to 5.4.6 ([@fabaff] - [#14892]) ([sensor.systemmonitor docs])
- Upgrade sendgrid to 5.4.0 ([@fabaff] - [#14891]) ([notify docs])
- Upgrade python-mystrom to 0.4.4 ([@fabaff] - [#14889]) ([light.mystrom docs]) ([switch.mystrom docs])
- Upgrade pylast to 2.3.0 ([@fabaff] - [#14888]) ([sensor.lastfm docs])
- Added daily and hourly modes to Openweathermap ([@sgttrs] - [#14875]) ([weather.openweathermap docs])
- Bump to denonavr 0.7.3 ([@klada] - [#14907]) ([media_player.denonavr docs])
- Add api_host option to Konnected config ([@heythisisnate] - [#14896]) ([konnected docs])
- Add support for the Unitymedia Horizon HD Recorder ([@benleb] - [#14275]) ([media_player.horizon docs]) (new-platform)
- Add support for multiple Doorbird stations ([@oblogic7] - [#13994]) ([doorbird docs]) ([camera.doorbird docs]) ([switch.doorbird docs]) (breaking change)
- Update mqtt_eventstream.py ([@molobrakos] - [#14923]) ([mqtt_eventstream docs])
- Upgrade python-nest, add security_state sensor, nest.set_mode service set ETA as well ([@awarecan] - [#14901]) ([nest docs]) ([sensor.nest docs])
- Add more test cases for samsungtv ([@ejel] - [#14900])
- Refactored Arlo component and enhanced Arlo API queries and times ([@tchellomello] - [#14823]) ([arlo docs]) ([alarm_control_panel.arlo docs]) ([camera.arlo docs]) ([sensor.arlo docs])
- Use cv.time_period instead of cv.time_period_str ([@awarecan] - [#14938]) ([nest docs])
- Add support for KIWI Door Locks ([@c7h] - [#14485]) ([lock.kiwi docs]) (new-platform)
- Fix snapcast uuid to be more unique ([@jedi7] - [#14925]) ([media_player.snapcast docs])
- pytradfri 5.5.1: Improved 3rd party bulb support ([@Hate-Usernames] - [#14887]) ([tradfri docs]) ([light.tradfri docs])
- Epson projector support ([@pszafer] - [#14841]) ([media_player.epson docs]) (new-platform)
- Add scan_interval to RainMachine ([@bachya] - [#14945]) ([rainmachine docs])
- Myq update from 0.0.8 to 0.0.11 ([@arraylabs] - [#14947]) ([cover.myq docs])
- Upgrade pylint to 1.9.2 ([@scop] - [#14916])
- Update python-wink to 1.8.0 ([@vickyg3] - [#14894]) ([wink docs])
- Add unique_id for mqtt binary sensor ([@ciotlosm] - [#14929]) ([binary_sensor.mqtt docs])
- Make Yi platform async ([@bachya] - [#14944]) ([camera.yi docs])
- Nest config flow ([@balloob] - [#14921]) ([nest docs])
- Fix Facebox face data parsing ([@robmarkcole] - [#14951]) ([image_processing.facebox docs])
- Add sensor.nsw_fuel_station component ([@nickw444] - [#14757]) ([sensor.nsw_fuel_station docs]) (new-platform)
- Make AirVisual platform async + other adjustments ([@bachya] - [#14943]) ([sensor.airvisual docs]) (breaking change)
- Add support for ZhongHong HVAC Controllers ([@crhan] - [#14552]) ([climate.zhong_hong docs]) (new-platform)
- Fix tests ([@balloob] - [#14959])
- add relative time option to simulated sensors ([@Shou] - [#14038]) ([sensor.simulated docs])
- Add config entry for Sonos + Cast ([@balloob] - [#14955]) ([media_player docs]) ([sonos docs]) ([media_player.sonos docs]) (breaking change)
- Fix smappee component - "Error on device update" ([@bachya] - [#14883]) ([sensor.smappee docs])
- Adhere to scan_interval in platforms when setup via config entry ([@balloob] - [#14969])
- Add Calendar API endpoint to get events ([@titilambert] - [#14702]) ([calendar docs]) ([calendar.caldav docs])
- Add calendar panel, add tests ([@balloob] - [#14973]) ([calendar docs])
- Xiaomi Cameras - multiple models ([@vaidyasr] - [#14244]) ([camera.xiaomi docs]) (new-platform)
- Fix binary_sensor.skybell state update when there are no events ([@trisk] - [#14927]) ([binary_sensor.skybell docs]) ([sensor.skybell docs])
- Deconz make groups configurable ([@Kane610] - [#14704]) ([deconz docs]) ([light.deconz docs])
- Show notification when user configures Nest client_id/secret ([@balloob] - [#14970]) ([hue docs]) ([nest docs])
- Eight Sleep add REM type, Update async syntax, Catch API quirks ([@mezz64] - [#14937]) ([eight_sleep docs]) ([binary_sensor.eight_sleep docs]) ([sensor.eight_sleep docs]) (breaking change)
- Return ISO formated datetime in forecast ([@c727] - [#14975]) ([weather.ecobee docs])
- Remove inline pylint disables for messages disabled in pylintrc ([@scop] - [#14978])
- Add availability to Rflink entities. ([@aequitas] - [#14977]) ([rflink docs])
- Upgrade ring_doorbell to 0.2.1 to fix oauth issues ([@tchellomello] - [#14984]) ([ring docs])
- Fix extended package support ([@cdce8p] - [#14980])
- Upgraded PyArlo to 0.1.7 ([@tchellomello] - [#14987]) ([arlo docs])
- Upgraded python-amcrest to 1.2.3 ([@tchellomello] - [#14988]) ([amcrest docs])
- Upgraded RainCloudy to version 0.0.5 ([@tchellomello] - [#14986]) ([raincloud docs])
- Do not mount deps folder when running in virtual env ([@balloob] - [#14993])
- Refactoring camera component to use async/await syntax. ([@awarecan] - [#14990]) ([camera docs])
- Remove load power attribute for channel USB ([@syssi] - [#14996]) ([switch.xiaomi_miio docs]) (beta fix)
- Switch to own packaged version of spotipy ([@andrey-git] - [#14997]) ([media_player.spotify docs]) (beta fix)
- Bump pyhs100 version ([@rytilahti] - [#15001]) ([light.tplink docs]) ([switch.tplink docs]) (breaking change) (beta fix)
- Add experimental UI backend ([@balloob] - [#15002]) ([frontend docs]) (beta fix)
- Fix panel URL authentication for Hass.io ([@pvizeli] - [#15024]) ([hassio docs]) (beta fix)
- Fix linode I/O in state property ([@MartinHjelmare] - [#15010]) ([binary_sensor.linode docs]) ([switch.linode docs]) (beta fix)
- Upgrade aiohttp to 3.3.2 ([@fabaff] - [#15025]) (beta fix)
- Make zone entries work without radius ([@balloob] - [#15032]) ([zone docs]) (beta fix)
- Bugfix empty entity lists ([@pvizeli] - [#15035]) (beta fix)
- Rename experimental UI to lovelace ([@balloob] - [#15065]) ([frontend docs]) (beta fix)
- X10 ([@teharris1] - [#14741]) ([insteon_plm docs]) ([switch.insteon_plm docs]) (beta fix)
- Fix MQTT Light with RGB and Brightness ([@thinkl33t] - [#15053]) ([light.mqtt docs]) (beta fix)
- Update Neato Library And Reduce Cloud Calls ([@dshokouhi] - [#15072]) ([neato docs]) ([camera.neato docs]) ([switch.neato docs]) ([vacuum.neato docs]) (beta fix)
[#12727]: https://github.com/home-assistant/home-assistant/pull/12727
[#13495]: https://github.com/home-assistant/home-assistant/pull/13495
[#13664]: https://github.com/home-assistant/home-assistant/pull/13664
[#13994]: https://github.com/home-assistant/home-assistant/pull/13994
[#14038]: https://github.com/home-assistant/home-assistant/pull/14038
[#14244]: https://github.com/home-assistant/home-assistant/pull/14244
[#14275]: https://github.com/home-assistant/home-assistant/pull/14275
[#14485]: https://github.com/home-assistant/home-assistant/pull/14485
[#14552]: https://github.com/home-assistant/home-assistant/pull/14552
[#14587]: https://github.com/home-assistant/home-assistant/pull/14587
[#14623]: https://github.com/home-assistant/home-assistant/pull/14623
[#14631]: https://github.com/home-assistant/home-assistant/pull/14631
[#14687]: https://github.com/home-assistant/home-assistant/pull/14687
[#14690]: https://github.com/home-assistant/home-assistant/pull/14690
[#14702]: https://github.com/home-assistant/home-assistant/pull/14702
[#14703]: https://github.com/home-assistant/home-assistant/pull/14703
[#14704]: https://github.com/home-assistant/home-assistant/pull/14704
[#14716]: https://github.com/home-assistant/home-assistant/pull/14716
[#14729]: https://github.com/home-assistant/home-assistant/pull/14729
[#14730]: https://github.com/home-assistant/home-assistant/pull/14730
[#14741]: https://github.com/home-assistant/home-assistant/pull/14741
[#14747]: https://github.com/home-assistant/home-assistant/pull/14747
[#14748]: https://github.com/home-assistant/home-assistant/pull/14748
[#14756]: https://github.com/home-assistant/home-assistant/pull/14756
[#14757]: https://github.com/home-assistant/home-assistant/pull/14757
[#14766]: https://github.com/home-assistant/home-assistant/pull/14766
[#14777]: https://github.com/home-assistant/home-assistant/pull/14777
[#14789]: https://github.com/home-assistant/home-assistant/pull/14789
[#14796]: https://github.com/home-assistant/home-assistant/pull/14796
[#14799]: https://github.com/home-assistant/home-assistant/pull/14799
[#14805]: https://github.com/home-assistant/home-assistant/pull/14805
[#14808]: https://github.com/home-assistant/home-assistant/pull/14808
[#14809]: https://github.com/home-assistant/home-assistant/pull/14809
[#14812]: https://github.com/home-assistant/home-assistant/pull/14812
[#14815]: https://github.com/home-assistant/home-assistant/pull/14815
[#14823]: https://github.com/home-assistant/home-assistant/pull/14823
[#14824]: https://github.com/home-assistant/home-assistant/pull/14824
[#14828]: https://github.com/home-assistant/home-assistant/pull/14828
[#14829]: https://github.com/home-assistant/home-assistant/pull/14829
[#14830]: https://github.com/home-assistant/home-assistant/pull/14830
[#14833]: https://github.com/home-assistant/home-assistant/pull/14833
[#14841]: https://github.com/home-assistant/home-assistant/pull/14841
[#14848]: https://github.com/home-assistant/home-assistant/pull/14848
[#14851]: https://github.com/home-assistant/home-assistant/pull/14851
[#14852]: https://github.com/home-assistant/home-assistant/pull/14852
[#14853]: https://github.com/home-assistant/home-assistant/pull/14853
[#14854]: https://github.com/home-assistant/home-assistant/pull/14854
[#14858]: https://github.com/home-assistant/home-assistant/pull/14858
[#14863]: https://github.com/home-assistant/home-assistant/pull/14863
[#14864]: https://github.com/home-assistant/home-assistant/pull/14864
[#14868]: https://github.com/home-assistant/home-assistant/pull/14868
[#14873]: https://github.com/home-assistant/home-assistant/pull/14873
[#14875]: https://github.com/home-assistant/home-assistant/pull/14875
[#14879]: https://github.com/home-assistant/home-assistant/pull/14879
[#14883]: https://github.com/home-assistant/home-assistant/pull/14883
[#14884]: https://github.com/home-assistant/home-assistant/pull/14884
[#14885]: https://github.com/home-assistant/home-assistant/pull/14885
[#14887]: https://github.com/home-assistant/home-assistant/pull/14887
[#14888]: https://github.com/home-assistant/home-assistant/pull/14888
[#14889]: https://github.com/home-assistant/home-assistant/pull/14889
[#14891]: https://github.com/home-assistant/home-assistant/pull/14891
[#14892]: https://github.com/home-assistant/home-assistant/pull/14892
[#14894]: https://github.com/home-assistant/home-assistant/pull/14894
[#14895]: https://github.com/home-assistant/home-assistant/pull/14895
[#14896]: https://github.com/home-assistant/home-assistant/pull/14896
[#14898]: https://github.com/home-assistant/home-assistant/pull/14898
[#14900]: https://github.com/home-assistant/home-assistant/pull/14900
[#14901]: https://github.com/home-assistant/home-assistant/pull/14901
[#14905]: https://github.com/home-assistant/home-assistant/pull/14905
[#14907]: https://github.com/home-assistant/home-assistant/pull/14907
[#14916]: https://github.com/home-assistant/home-assistant/pull/14916
[#14921]: https://github.com/home-assistant/home-assistant/pull/14921
[#14923]: https://github.com/home-assistant/home-assistant/pull/14923
[#14925]: https://github.com/home-assistant/home-assistant/pull/14925
[#14927]: https://github.com/home-assistant/home-assistant/pull/14927
[#14929]: https://github.com/home-assistant/home-assistant/pull/14929
[#14937]: https://github.com/home-assistant/home-assistant/pull/14937
[#14938]: https://github.com/home-assistant/home-assistant/pull/14938
[#14943]: https://github.com/home-assistant/home-assistant/pull/14943
[#14944]: https://github.com/home-assistant/home-assistant/pull/14944
[#14945]: https://github.com/home-assistant/home-assistant/pull/14945
[#14947]: https://github.com/home-assistant/home-assistant/pull/14947
[#14951]: https://github.com/home-assistant/home-assistant/pull/14951
[#14955]: https://github.com/home-assistant/home-assistant/pull/14955
[#14959]: https://github.com/home-assistant/home-assistant/pull/14959
[#14969]: https://github.com/home-assistant/home-assistant/pull/14969
[#14970]: https://github.com/home-assistant/home-assistant/pull/14970
[#14973]: https://github.com/home-assistant/home-assistant/pull/14973
[#14975]: https://github.com/home-assistant/home-assistant/pull/14975
[#14977]: https://github.com/home-assistant/home-assistant/pull/14977
[#14978]: https://github.com/home-assistant/home-assistant/pull/14978
[#14980]: https://github.com/home-assistant/home-assistant/pull/14980
[#14984]: https://github.com/home-assistant/home-assistant/pull/14984
[#14986]: https://github.com/home-assistant/home-assistant/pull/14986
[#14987]: https://github.com/home-assistant/home-assistant/pull/14987
[#14988]: https://github.com/home-assistant/home-assistant/pull/14988
[#14990]: https://github.com/home-assistant/home-assistant/pull/14990
[#14993]: https://github.com/home-assistant/home-assistant/pull/14993
[#14996]: https://github.com/home-assistant/home-assistant/pull/14996
[#14997]: https://github.com/home-assistant/home-assistant/pull/14997
[#15001]: https://github.com/home-assistant/home-assistant/pull/15001
[#15002]: https://github.com/home-assistant/home-assistant/pull/15002
[#15010]: https://github.com/home-assistant/home-assistant/pull/15010
[#15024]: https://github.com/home-assistant/home-assistant/pull/15024
[#15025]: https://github.com/home-assistant/home-assistant/pull/15025
[#15032]: https://github.com/home-assistant/home-assistant/pull/15032
[#15035]: https://github.com/home-assistant/home-assistant/pull/15035
[#15053]: https://github.com/home-assistant/home-assistant/pull/15053
[#15065]: https://github.com/home-assistant/home-assistant/pull/15065
[#15072]: https://github.com/home-assistant/home-assistant/pull/15072
[@Adminiuga]: https://github.com/Adminiuga
[@GruberMischa]: https://github.com/GruberMischa
[@Hate-Usernames]: https://github.com/Hate-Usernames
[@HerrHofrat]: https://github.com/HerrHofrat
[@Kane610]: https://github.com/Kane610
[@MartinHjelmare]: https://github.com/MartinHjelmare
[@PhilRW]: https://github.com/PhilRW
[@Shou]: https://github.com/Shou
[@SteveEdson]: https://github.com/SteveEdson
[@aequitas]: https://github.com/aequitas
[@amelchio]: https://github.com/amelchio
[@arsaboo]: https://github.com/arsaboo
[@andrey-git]: https://github.com/andrey-git
[@arraylabs]: https://github.com/arraylabs
[@awarecan]: https://github.com/awarecan
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
[@benleb]: https://github.com/benleb
[@c727]: https://github.com/c727
[@c7h]: https://github.com/c7h
[@cdce8p]: https://github.com/cdce8p
[@ciotlosm]: https://github.com/ciotlosm
[@crhan]: https://github.com/crhan
[@dale3h]: https://github.com/dale3h
[@dgomes]: https://github.com/dgomes
[@dshokouhi]: https://github.com/dshokouhi
[@ejel]: https://github.com/ejel
[@exxamalte]: https://github.com/exxamalte
[@fabaff]: https://github.com/fabaff
[@hanzoh]: https://github.com/hanzoh
[@heythisisnate]: https://github.com/heythisisnate
[@jabesq]: https://github.com/jabesq
[@jedi7]: https://github.com/jedi7
[@klada]: https://github.com/klada
[@ludeeus]: https://github.com/ludeeus
[@mezz64]: https://github.com/mezz64
[@molobrakos]: https://github.com/molobrakos
[@mtreinish]: https://github.com/mtreinish
[@nickw444]: https://github.com/nickw444
[@oblogic7]: https://github.com/oblogic7
[@pszafer]: https://github.com/pszafer
[@pvizeli]: https://github.com/pvizeli
[@quthla]: https://github.com/quthla
[@robmarkcole]: https://github.com/robmarkcole
[@rytilahti]: https://github.com/rytilahti
[@scop]: https://github.com/scop
[@sergeymaysak]: https://github.com/sergeymaysak
[@sgttrs]: https://github.com/sgttrs
[@simse]: https://github.com/simse
[@snikch]: https://github.com/snikch
[@starkillerOG]: https://github.com/starkillerOG
[@stilllman]: https://github.com/stilllman
[@syssi]: https://github.com/syssi
[@tchellomello]: https://github.com/tchellomello
[@teharris1]: https://github.com/teharris1
[@thinkl33t]: https://github.com/thinkl33t
[@thomaskr]: https://github.com/thomaskr
[@titilambert]: https://github.com/titilambert
[@trisk]: https://github.com/trisk
[@turbokongen]: https://github.com/turbokongen
[@vaidyasr]: https://github.com/vaidyasr
[@vickyg3]: https://github.com/vickyg3
[alarm_control_panel.arlo docs]: /components/alarm_control_panel.arlo/
[amcrest docs]: /components/amcrest/
[arlo docs]: /components/arlo/
[binary_sensor.eight_sleep docs]: /components/binary_sensor.eight_sleep/
[binary_sensor.linode docs]: /components/binary_sensor.linode/
[binary_sensor.mqtt docs]: /components/binary_sensor.mqtt/
[binary_sensor.mystrom docs]: /components/binary_sensor.mystrom/
[binary_sensor.netatmo docs]: /components/binary_sensor.netatmo/
[binary_sensor.rainmachine docs]: /components/binary_sensor.rainmachine/
[binary_sensor.skybell docs]: /components/binary_sensor.skybell/
[binary_sensor.uptimerobot docs]: /components/binary_sensor.uptimerobot/
[binary_sensor.wirelesstag docs]: /components/binary_sensor.wirelesstag/
[binary_sensor.xiaomi_aqara docs]: /components/binary_sensor.xiaomi_aqara/
[binary_sensor.zha docs]: /components/binary_sensor.zha/
[calendar docs]: /components/calendar/
[calendar.caldav docs]: /components/calendar.caldav/
[camera docs]: /components/camera/
[camera.arlo docs]: /components/camera.arlo/
[camera.doorbird docs]: /components/camera.doorbird/
[camera.neato docs]: /components/camera.neato/
[camera.netatmo docs]: /components/camera.netatmo/
[camera.uvc docs]: /components/camera.uvc/
[camera.xiaomi docs]: /components/camera.xiaomi/
[camera.yi docs]: /components/camera.yi/
[climate.fritzbox docs]: /components/climate.fritzbox/
[climate.generic_thermostat docs]: /components/climate.generic_thermostat/
[climate.mqtt docs]: /components/climate.mqtt/
[climate.netatmo docs]: /components/climate.netatmo/
[climate.sensibo docs]: /components/climate.sensibo/
[climate.tado docs]: /components/climate.tado/
[climate.zhong_hong docs]: /components/climate.zhong_hong/
[config docs]: /components/config/
[cover.myq docs]: /components/cover.myq/
[deconz docs]: /components/deconz/
[device_tracker docs]: /components/device_tracker/
[device_tracker.freebox docs]: /components/device_tracker.freebox/
[doorbird docs]: /components/doorbird/
[eight_sleep docs]: /components/eight_sleep/
[fan.xiaomi_miio docs]: /components/fan.xiaomi_miio/
[frontend docs]: /components/frontend/
[hassio docs]: /components/hassio/
[hue docs]: /components/hue/
[image_processing.facebox docs]: /components/image_processing.facebox/
[insteon_plm docs]: /components/insteon_plm/
[konnected docs]: /components/konnected/
[light.deconz docs]: /components/light.deconz/
[light.lifx docs]: /components/light.lifx/
[light.mqtt docs]: /components/light.mqtt/
[light.mystrom docs]: /components/light.mystrom/
[light.tplink docs]: /components/light.tplink/
[light.tradfri docs]: /components/light.tradfri/
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
[lock.kiwi docs]: /components/lock.kiwi/
[logger docs]: /components/logger/
[media_player docs]: /components/media_player/
[media_player.denonavr docs]: /components/media_player.denonavr/
[media_player.epson docs]: /components/media_player.epson/
[media_player.horizon docs]: /components/media_player.horizon/
[media_player.kodi docs]: /components/media_player.kodi/
[media_player.onkyo docs]: /components/media_player.onkyo/
[media_player.samsungtv docs]: /components/media_player.samsungtv/
[media_player.snapcast docs]: /components/media_player.snapcast/
[media_player.sonos docs]: /components/media_player.sonos/
[media_player.spotify docs]: /components/media_player.spotify/
[media_player.xiaomi_tv docs]: /components/media_player.xiaomi_tv/
[media_player.yamaha docs]: /components/media_player.yamaha/
[mqtt_eventstream docs]: /components/mqtt_eventstream/
[neato docs]: /components/neato/
[nest docs]: /components/nest/
[netatmo docs]: /components/netatmo/
[netgear_lte docs]: /components/netgear_lte/
[notify docs]: /components/notify/
[panel_custom docs]: /components/panel_custom/
[raincloud docs]: /components/raincloud/
[rainmachine docs]: /components/rainmachine/
[remote.xiaomi_miio docs]: /components/remote.xiaomi_miio/
[rflink docs]: /components/rflink/
[ring docs]: /components/ring/
[sensor.airvisual docs]: /components/sensor.airvisual/
[sensor.arlo docs]: /components/sensor.arlo/
[sensor.eight_sleep docs]: /components/sensor.eight_sleep/
[sensor.gearbest docs]: /components/sensor.gearbest/
[sensor.glances docs]: /components/sensor.glances/
[sensor.hive docs]: /components/sensor.hive/
[sensor.homematic docs]: /components/sensor.homematic/
[sensor.lastfm docs]: /components/sensor.lastfm/
[sensor.moon docs]: /components/sensor.moon/
[sensor.nest docs]: /components/sensor.nest/
[sensor.netatmo docs]: /components/sensor.netatmo/
[sensor.netgear_lte docs]: /components/sensor.netgear_lte/
[sensor.nsw_fuel_station docs]: /components/sensor.nsw_fuel_station/
[sensor.pi_hole docs]: /components/sensor.pi_hole/
[sensor.rainmachine docs]: /components/sensor.rainmachine/
[sensor.simulated docs]: /components/sensor.simulated/
[sensor.skybell docs]: /components/sensor.skybell/
[sensor.smappee docs]: /components/sensor.smappee/
[sensor.swiss_public_transport docs]: /components/sensor.swiss_public_transport/
[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
[sensor.wirelesstag docs]: /components/sensor.wirelesstag/
[sensor.xiaomi_miio docs]: /components/sensor.xiaomi_miio/
[sonos docs]: /components/sonos/
[switch.doorbird docs]: /components/switch.doorbird/
[switch.insteon_plm docs]: /components/switch.insteon_plm/
[switch.linode docs]: /components/switch.linode/
[switch.mystrom docs]: /components/switch.mystrom/
[switch.neato docs]: /components/switch.neato/
[switch.rainmachine docs]: /components/switch.rainmachine/
[switch.tplink docs]: /components/switch.tplink/
[switch.wirelesstag docs]: /components/switch.wirelesstag/
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
[tradfri docs]: /components/tradfri/
[vacuum.neato docs]: /components/vacuum.neato/
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
[watson_iot docs]: /components/watson_iot/
[weather.ecobee docs]: /components/weather.ecobee/
[weather.ipma docs]: /components/weather.ipma/
[weather.openweathermap docs]: /components/weather.openweathermap/
[websocket_api docs]: /components/websocket_api/
[wink docs]: /components/wink/
[wirelesstag docs]: /components/wirelesstag/
[xiaomi_aqara docs]: /components/xiaomi_aqara/
[zone docs]: /components/zone/
[zwave docs]: /components/zwave/
[#14966]: https://github.com/home-assistant/home-assistant/pull/14966
[#15098]: https://github.com/home-assistant/home-assistant/pull/15098
[#15109]: https://github.com/home-assistant/home-assistant/pull/15109
[#15112]: https://github.com/home-assistant/home-assistant/pull/15112
[#15143]: https://github.com/home-assistant/home-assistant/pull/15143
[@awarecan]: https://github.com/awarecan
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
[camera.yi docs]: /components/camera.yi/
[media_player.cast docs]: /components/media_player.cast/
[nest docs]: /components/nest/
[sensor.nest docs]: /components/sensor.nest/

View File

@ -95,3 +95,7 @@ google_actions:
required: false
type: string
{% endconfiguration %}
<p class='note'>
After setting up the cloud, if you make any device changes such as changing the name or adding a new device simply say "Ok Google, sync my devices" to get the changes to show up.
</p>

View File

@ -0,0 +1,34 @@
---
layout: page
title: "Linode Switch"
description: "Instructions on how to set up Linode switch within Home Assistant."
date: 2017-10-20 08:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: System Monitor
logo: linode.png
ha_release: 0.57
ha_iot_class: "Cloud Polling"
---
The `linode` switch platform allows you to turn your Linode nodes on and off.
Add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
switch:
- platform: linode
nodes:
- 'myvpsname'
```
{% configuration linode %}
nodes:
description: List of VPSs you want to control.
required: true
type: string
{% endconfiguration %}

View File

@ -66,7 +66,7 @@ Go to the add-on store (see previous step), click on Configurator and click on "
- Click on "SAVE" to save your new password
- "START" the add-on
- You will be able to click the "OPEN WEB UI" link to open the Web UI on a new window
- Type your username and password that you recently save
- Type your username and password that you recently saved
Time for the first practice with the configurator. Add the following to `configuration.yaml` file to add a link to the Configurator in the sidebar:

View File

@ -26,7 +26,7 @@ We will need a few things to get started with installing Home Assistant. Links b
- SD Card reader. Part of most laptops, and also available as [standalone USB sticks](http://a.co/5FCyb0N) (the brand doesn't matter, just pick the cheapest)
- Ethernet cable (optional, Hass.io can work with WiFi too)
<p class='note warning'>
<p class='note'>
Support for the Raspberry Pi 3 model B+ is available in the alternative installation method [Hassbian](/docs/hassbian/installation/).
The recently released Raspberry Pi 3 model B+ is not yet supported by Hass.io.
@ -54,7 +54,7 @@ We will need a few things to get started with installing Home Assistant. Links b
[local]: http://hassio.local:8123
<p class='note warning'>
<p class='note'>
When you're done, remember to set up regular backups of your configuration. This will protect you from hardware failure and mistakes. On Hass.io you have snapshots, but you can back up to [GitHub](/docs/ecosystem/backup/backup_github/), [DropBox](/docs/ecosystem/backup/backup_usb/) and many other ways. All that matters is that you set them up and test them regularly.
</p>

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 240 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -11,8 +11,6 @@ hide_github_edit: true
description: Open-source home automation platform running on Python 3. Track and control all devices at home and automate control. Installation in less than a minute.
---
{% assign recent_release_post = site.categories['Release-Notes'].first %}
<div class="frontpage">
<div class="grid">
<div class="grid__item one-third lap-one-third palm-one-whole">
@ -21,7 +19,7 @@ description: Open-source home automation platform running on Python 3. Track and
Released: <span class='release-date'>{{ site.date_released | date: '%B %d, %Y' }}</span>
<div class='links'>
<a href='{{ root_url }}{{ recent_release_post.url }}{{ site.patch_version_notes }}'>Release notes</a>
<a href='/latest-release-notes/'>Release notes</a>
</div>
</div>
<div class='join-community material-card text'>
@ -30,7 +28,7 @@ description: Open-source home automation platform running on Python 3. Track and
<div class='links'>
<a href='https://community.home-assistant.io'>Forums</a>
<a href='https://discord.gg/c5DvZ4e'>Chat</a>
<a href='/join-chat/'>Chat</a>
</div>
</div>
<div class='material-card text'>

View File

@ -0,0 +1,3 @@
<script>
document.location = 'https://discord.gg/c5DvZ4e';
</script>

View File

@ -0,0 +1,8 @@
---
---
{% assign recent_release_post = site.categories['Release-Notes'].first %}
<script>
document.location = '{{ recent_release_post.url }}{{ site.patch_version_notes }}';
</script>