Merge remote-tracking branch 'origin/current' into next

This commit is contained in:
Paulus Schoutsen 2017-09-09 00:50:53 -07:00
commit c0e904b44f
16 changed files with 560 additions and 42 deletions

View File

@ -139,12 +139,12 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 52
current_patch_version: 1
date_released: 2017-08-28
current_minor_version: 53
current_patch_version: 0
date_released: 2017-09-9
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
# Major release:
patch_version_notes: "#release-0521---august-28"
patch_version_notes: "#"
# Minor release (Example #release-0431---april-25):

View File

@ -43,7 +43,7 @@ You can change this, however, using the following procedure. This is a more adva
1. Log in into 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.
2. Once logged in, go to *System Settings*, *Report* and change the Server Address for your primary server to the IP or hostname of your Home Assistant machine. Also, update the port number 85 or to anything you like. The provided software that you will set up in the next steps runs on port 85 by default. **Make sure to change the settings of the primary server otherwise the messages will not come through. Note that this will limit (or fully stop) the number of alarm messages you will get through Egardia's / Woonveilig services.** Maybe, that is just what you want. Make sure to save your settings by selecting 'OK'.
3. On your Home Assistant machine run `$ sudo python3 egardiaserver.py`. This will receive status codes from your alarm control panel and display them. You will need the codes to include in your configuration.yaml. Make sure to change the status of your alarm to all states (disarm, arm, armhome) as well as trigger the alarm in all ways possible to get 100% coverage. **Before triggering the alarm it might be good to disable the siren temporarily (can be done in Panel Settings).**
3. On your Home Assistant machine run `$ sudo python3 egardiaserver.py`. Refer to the [python-egardia repository](https://github.com/jeroenterheerdt/python-egardia) for detailed documentation on parameters. This will receive status codes from your alarm control panel and display them. You will need the codes to include in your configuration.yaml. Make sure to change the status of your alarm to all states (disarm, arm, armhome) as well as trigger the alarm in all ways possible to get 100% coverage. **Before triggering the alarm it might be good to disable the siren temporarily (can be done in Panel Settings).**
4. Once you have the codes, update your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
@ -62,9 +62,24 @@ alarm_control_panel:
standby: XXXXXXXXXXXXXXXX
```
Note that you can have more than one code for triggered since every sensor generates its own code. arm, disarm, armhome and standby will all be one code.
5. Start the `egardiaserver.py` script on boot of your Home Assistant machine, for example by adding the following to your `/etc/rc.local`:
5. Start the `egardiaserver.py` script on boot of your Home Assistant machine, for example by using systemd. To use this method, create a shell script named `egardiaserver.sh` that contains the following:
```bash
python3 [path/to/]egardiaserver.py &
source /srv/homeassistant/homeassistant_venv/bin/activate
python3 /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/pythonegardia/egardiaserver.py -host [YOURHOST] -password '[YOURPASSWORD]' -ssl True > /tmp/egardiaserver.log 2>&1
```
**Do not forget the trailing & here; otherwise you will be having a hard time logging back into the machine.**
Mark it as executable (`$ chmod +x`) and run `sudo nano /lib/systemd/system/egardiaserver.service`. Enter the following into the `egardiaserver.service` file:
```bash
[Unit]
Description=Egardia Server Service
[Service]
ExecStart=/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/pythonegardia/egardiaserver.sh
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Alias=egardiaserver.service
```
Save and then run `sudo systemctl enable egardiaserver.service` and `sudo systemctl start egardiaserver.service`.
6. Test your setup and enjoy. The component will update if the alarm status changes, including triggers. You can use this to build your own automations and send notifications as you wish.

View File

@ -33,7 +33,13 @@ The built-in Alexa component allows you to integrate Home Assistant into Alexa/A
### {% linkable_title Requirements %}
Amazon requires the endpoint of a skill to be hosted via SSL. Self-signed certificates are ok because our skills will only run in development mode. Read more on [our blog][blog-lets-encrypt] about how to set up encryption for Home Assistant. If you are unable to get HTTPS up and running, consider using [this AWS Lambda proxy for Alexa skills](https://community.home-assistant.io/t/aws-lambda-proxy-custom-alexa-skill-when-you-dont-have-https/5230).
Amazon requires the endpoint of a skill to be hosted via SSL. Self-signed certificates are ok because our skills will only run in development mode. Read more on [our blog][blog-lets-encrypt] about how to set up encryption for Home Assistant. When running Hass.io, using the [Let's Encrypt](/addons/lets_encrypt/) the and [Duck DNS](/addons/duckdns/) add-ons is the easiest method. If you are unable to get HTTPS up and running, consider using [this AWS Lambda proxy for Alexa skills](https://community.home-assistant.io/t/aws-lambda-proxy-custom-alexa-skill-when-you-dont-have-https/5230).
Additionally, note that at the time of this writing, your Alexa skill endpoint *must* accept requests over port 443 (Home Assistant default to 8123). There are two ways you can handle this:
1. In your router, forward external 443 to your Home Assistant serving port (defaults to 8123)
OR
2. Change your Home Assistant serving port to 443 this is done in the [`http`](/components/http/) section with the the `server_port` entry in your `configuration.yaml` file
[blog-lets-encrypt]: https://home-assistant.io/blog/2015/12/13/setup-encryption-using-lets-encrypt/
@ -48,7 +54,7 @@ To get started with Alexa skills:
- Version: 1.0
- Endpoint:
- https
- https://YOUR_HOST/api/alexa?api_password=YOUR_API_PASSWORD
- `https://YOUR_HOST/api/alexa?api_password=YOUR_API_PASSWORD`
You can use this [specially sized Home Assistant logo][large-icon] as the large icon and [this one][small-icon] as the small one.
@ -95,6 +101,12 @@ This means that we can now ask Alexa things like:
When activated, the Alexa component will have Home Assistant's native intent support handle the incoming intents. If you want to run actions based on intents, use the [`intent_script`](/components/intent_script) component.
To enable Alex add the following entry to your `configuration.yaml` file:
```yaml
alexa:
```
### {% linkable_title Working With Scenes %}
One of the most useful applications of Alexa integrations is to call scenes directly. This is easily achieved with some simple setup on the Home Assistant side and by letting Alexa know which scenes you want to run.
@ -120,6 +132,7 @@ Then create a custom slot type called `Scenes` listing every scene you want to c
<img src='/images/components/alexa/scene_slot.png' />
Custom slot type for scene support.
</p>
The names must exactly match the scene names (minus underscores - amazon discards them anyway and we later map them back in with the template).
Add a sample utterance:

View File

@ -70,7 +70,7 @@ apiai:
intent_script:
Temperature:
speech:
speech:
text: The temperature at home is {{ states('sensor.home_temp') }} degrees
LocateIntent:
speech:

View File

@ -47,6 +47,7 @@ Configuration variables:
- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON".
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
- **retain** (*Optional*): If the published message should have the retain flag on or not.
- **rgb_command_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to compose message which will be sent to `rgb_command_topic`. Available variables: `red`, `green` and `blue`.
- **rgb_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's RGB state.
- **rgb_state_topic** (*Optional*): The MQTT topic subscribed to receive RGB state updates.
- **rgb_value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the RGB value.

View File

@ -193,6 +193,9 @@ media_player:
command: standby
```
<p class='note'>
This example and the following requires to have the [script.json-cec](https://github.com/joshjowen/script.json-cec) plugin installed on your kodi player. It'll also expose th endpoints standy, toggle and activate without authentication on your kodi player. Use this with caution.
</p>
### {% linkable_title Kodi services samples %}

View File

@ -17,7 +17,7 @@ ha_iot_class: "Local Polling"
The `plex` platform allows you to connect a [Plex Media Server](https://plex.tv) to Home Assistant. It will allow you to control media playback and see the current playing item.
## Setup
## {% linkable_title Setup %}
The preferred way to setup the Plex platform is by enabling the [discovery component](/components/discovery/) which requires GDM enabled on your Plex server.
@ -52,11 +52,13 @@ In case [discovery](/components/discovery/) does not work (GDM disabled or non-l
- **IP_ADDRESS** (*Required*): IP address of the Plex Media Server.
- **PORT** (*Required*): Port where Plex is listening. Default is 32400.
- **TOKEN** (*Optional*): Only if authentication is required. Set to `null` (without quotes) otherwise.
- **ssl** (*Optional*): Whether to use SSL or not. _(Boolean)_
- **verify** (*Optional*): Whether to allow invalid or self-signed SSL certificates or not. _(Boolean)_
- **ssl** (*Optional*): Whether to use SSL/TLS or not. Defaults to `False` if not present.
- **verify** (*Optional*): Perform a verification of the certificate. To allow invalid or self-signed SSL certificates set it to `False`. Defaults to `True` if not present.
## {% linkable_title Customization %}
## Customization
You can customize the Plex component by adding any of the variables below to your configuration:
```yaml
# Example configuration.yaml entry
media_player:
@ -124,7 +126,8 @@ Plays a song, playlist, TV episode, or video on a connected client.
| Plex Web | None |
| Tivo Plex App | Only play, pause, stop/off controls enabled |
### Notes
### {% linkable_title Notes %}
* At this moment, the Plex platform only supports one Plex Media Server.
* It is possible to get errors that look like the following.

View File

@ -0,0 +1,29 @@
---
layout: page
title: "Season Sensor"
description: "Instructions how to add season sensors into Home Assistant."
date: 2017-07-04 07:00:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Sensor
ha_iot_class: "Local Polling"
ha_release: 0.53
---
This sensor will display the current astronomical or meteorological season (Spring, Summer, Autumn, Winter) based on the users setting in the config file.
All information about how the seasons work was taken from Wikipedia:
- [https://en.wikipedia.org/wiki/Season#Astronomical](https://en.wikipedia.org/wiki/Season#Astronomical)
- [https://en.wikipedia.org/wiki/Equinox](https://en.wikipedia.org/wiki/Equinox)
- [https://en.wikipedia.org/wiki/Solstice](https://en.wikipedia.org/wiki/Solstice)
```yaml
# Example configuration.yaml entry
sensor:
- platform: season
type: astronomical (optional, will default to astronomical)
```

View File

@ -14,7 +14,7 @@ ha_iot_class: "Cloud Polling"
---
The `yr` platform uses [YR.no](http://www.yr.no/) as an source for current meteorological data for your location. The
The `yr` platform uses [YR.no](http://www.yr.no/) as an source for current meteorological data for your location. The
weather forecast is delivered by the Norwegian Meteorological Institute and the NRK.
To add YR to your installation, add the following to your `configuration.yaml` file:
@ -28,6 +28,7 @@ sensor:
Configuration variables:
- **name** (*Optional*): Additional name for the sensors. Default to platform name.
- **forecast** integer (*Optional*): If you want to get forecast data instead of the current weather data, set this to the number of hours that you want to look into the future.
- **monitored_conditions** array (*Optional*): Conditions to display in the frontend.
- **symbol**: A symbol for the current weather.
- **temperature**: The current temperature.
@ -50,6 +51,7 @@ A full configuration example can be found below:
sensor:
- platform: yr
name: Weather
forecast: 24
monitored_conditions:
- temperature
- symbol

View File

@ -25,6 +25,7 @@ tts:
aws_secret_access_key: AWS_SECRET_ACCESS_KEY
profile_name: AWS_PROFILE
region_name: 'us-east-1'
voice: Joanna
```
Configuration variables:
@ -33,12 +34,14 @@ Configuration variables:
|---------------------|----------|-------------|
| `aws_access_key_id` | Required | Your AWS Access Key ID. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name` |
| `aws_secret_access_key` | Required | Your AWS Secret Access Key. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`. |
| `profile_name` | Optional | A credentials profile name. For more information, please see the [boto3 |
| `profile_name` | Optional | A credentials profile name. For more information, please see the [boto3 Documentation](http://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file) for more information. |
| `region_name` | Optional | The region identifier to connect to. The default is `us-east-1`. |
| `name` | Optional | Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
|
| `text_type` | text/ssml | text or ssml: Specify wherever to use text (default) or ssml markup |
| `name` | Optional | Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. |
| `text_type` | text/ssml | text or ssml: Specify wherever to use text (default) or ssml markup by default. |
| `voice` | Optional | Voice name to be used. See the [Amazon Documentation](http://docs.aws.amazon.com/polly/latest/dg/voicelist.html) for available voices. |
| `output_format` | mp3/ogg_vorbis/pcm | Override the default output format, defaults to MP3. |
| `sample_rate` | 8000/16000/22050 | Override the default sample rate, defaults to 22050 for MP3 and Ogg Vorbis, 16000 for pcm. |
## Usage
Say to all `media_player` device entities:
```yaml

View File

@ -13,29 +13,27 @@ ha_category: Organization
Zones allow you to specify certain regions on earth (for now). When a device tracker sees a device to be within a zone, the state will take the name from the zone. Zones can also be used as a [trigger](/getting-started/automation-trigger/#zone-trigger) or [condition](/getting-started/automation-condition/#zone-condition) inside automation setups.
Zones support the usual method to specify multiple zones, use keys `zone:`, `zone 2:` etc.
The Zone component uses YAML sequences to configure multiple zones:
```yaml
# Example configuration.yaml entry
zone:
name: School
latitude: 32.8773367
longitude: -117.2494053
radius: 250
icon: mdi:school
- name: School
latitude: 32.8773367
longitude: -117.2494053
radius: 250
icon: mdi:school
zone 2:
name: Work
latitude: 32.8753367
longitude: -117.2474053
- name: Work
latitude: 32.8753367
longitude: -117.2474053
# This will override the default home zone
zone 3:
name: Home
latitude: 32.8793367
longitude: -117.2474053
radius: 100
icon: mdi:account-multiple
# This will override the default home zone
- name: Home
latitude: 32.8793367
longitude: -117.2474053
radius: 100
icon: mdi:account-multiple
```
Configuration variables:
@ -47,7 +45,7 @@ Configuration variables:
- **icon** (*Optional*): Optional icon to show instead of name.
- **passive** (*Optional*): Optional boolean to only use the zone for automation and hide it from the UI and not use the zone for device tracker name. Defaults to false.
To find your latitude/longitude of a certain place you can use for example [Google Maps](https://www.google.nl/maps/) or [Bing Maps](https://www.bing.com/maps). Just right click and copy the coordinates from there (Bing) or click on the "What is here?" (Google)
To find the latitude/longitude of a certain place you can use [Google Maps](https://www.google.com/maps/) or [Bing Maps](https://www.bing.com/maps). Just right click and copy the coordinates from there (Bing) or click on the "What is here?" (Google)
#### {% linkable_title Home zone %}

View File

@ -32,12 +32,12 @@ The `else` part is used to have the sensor keep it's last state if the newest [i
### {% linkable_title Android and iOS Devices %}
While running the [Owntracks](/components/device_tracker.owntracks/) device tracker you can retrieve the battery level with a MQTT sensor.
While running the [Owntracks](/components/device_tracker.owntracks/) device tracker you can retrieve the battery level with a MQTT sensor. Replace username with your MQTT username (for the embedded MQTT it's simply homeassistant), and deviceid with the set Device ID in Owntracks.
```yaml
sensor:
- platform: mqtt
state_topic: "owntracks/tablet/tablet"
state_topic: "owntracks/username/deviceid"
name: "Battery Tablet"
unit_of_measurement: "%"
value_template: {% raw %}'{{ value_json.batt }}'{% endraw %}

View File

@ -0,0 +1,451 @@
---
layout: post
title: "0.53: Tesla, Customize editor, and super fast KNX rewrite"
description: "Also now supports a text input UI component, Mopar and Geofency."
date: 2017-09-09 00:11:05
date_formatted: "September 9, 2017"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Release-Notes
og_image: /images/blog/2017-09-0.53/components.png
---
<a href='/components/#version/0.53'><img src='/images/blog/2017-09-0.53/components.png' style='border: 0;box-shadow: none;'></a>
The Home Assistant community has been super busy in the last two weeks to bring you this amazing release. 60 different contributors have done over a 100 PRs filled with new features, bug fixes and performance improvements.
9 days away from our 4th birthday, we've just accomplished a couple of great milestones that I would love to share with you. We've hit over 8000 stars 🌟 on GitHub and starting this release we now ship over 800 platforms and components!
## Customize editor
Another step in making Home Assistant configurable via the frontend has been contributed by @andrey-git: a customization editor! You are now able to inspect all (possible) customizations of an entity and update them with just a few taps. Want to change the name or icon of an entity? All possible in mere seconds.
<p class='img'>
<img src='/images/blog/2017-09-0.53/customize-editor.png'>
Screenshot of the new customize editor.
</p>
New Home Assistant configurations will be created correctly automatically. If you are an existing user, make sure you have the config screen enabled and that you include customizations from `customize.yaml`.
```yaml
# Example configuration.yaml entry
homeassistant:
# Include the customizations.
customize: !include customize.yaml
# Enable the config screen
config:
```
## Tesla
Thanks to the contribution by @zabuldon, you will now be able to control your Tesla car from Home Assistant. You're able to check the temperature inside and outside your car, control your AC and unlock the car.
## Input text
This release introduces a new input component: `input_text` contributed by @BioSehnsucht. With this component you will be able to set free form from the UI and then let that be used by your automations or templates.
## KNX
This release ships a new KNX implementation thanks to @Julius2342. It will instantly show all changed states of KNX devices within Home Assistant. Additionally it brings support for HVAC devices and notification services. It also adds a service for direct communication with the KNX bus. You can connect to KNX/IP routing and tunnelling devices. In the background it uses asyncio communication. Check the climate integration in action [here](https://www.youtube.com/watch?v=JI0VJzlGpx4) and see the lights in action below:
<div class='videoWrapper'>
<iframe src="https://www.youtube.com/embed/Fe3yaflU2XM" frameborder="0" allowfullscreen></iframe>
</div>
## New Platforms
- Xiaomi Philips Lights integration ([@syssi] - [#9087]) ([light.xiaomi_philipslight docs]) (new-platform)
- Mycroft notify/component ([@btotharye] - [#9173]) ([mycroft docs]) ([notify.mycroft docs]) (new-platform)
- Add counter component ([@fabaff] - [#9146]) ([counter docs]) (new-platform)
- Support for season sensor ([@w1ll1am23] - [#8958]) ([sensor.season docs]) (new-platform)
- Abode push events and lock, cover, and switch components ([@1091741+MisterWil] - [#9095]) ([abode docs]) ([alarm_control_panel.abode docs]) ([binary_sensor.abode docs]) ([cover.abode docs]) ([lock.abode docs]) ([switch.abode docs]) (new-platform)
- Bayesian Binary Sensor ([@jlmcgehee21] - [#8810]) ([binary_sensor.bayesian docs]) (new-platform)
- Add Tank Utility sensor ([@krismolendyke] - [#9132]) ([sensor.tank_utility docs]) (new-platform)
- Tesla platform ([@zabuldon] - [#9211]) ([tesla docs]) ([binary_sensor.tesla docs]) ([climate.tesla docs]) ([device_tracker.tesla docs]) ([lock.tesla docs]) ([sensor.tesla docs]) (new-platform)
- mopar sensor ([@happyleavesaoc] - [#9136]) ([sensor.mopar docs]) (new-platform)
- Add Geofency device tracker ([@gunnarhelgason] - [#9106]) ([device_tracker.geofency docs]) (new-platform)
- Added DWD WarnApp Sensor ([@runningman84] - [#8657]) ([sensor.dwd_warnapp docs]) (new-platform)
- Add input_text component ([@BioSehnsucht] - [#9112]) ([input_text docs]) (new-platform)
- Introducing a media_player component for Yamaha Multicast devices ([@jalmeroth] - [#9258]) ([media_player.yamaha_musiccast docs]) (new-platform)
- Stable and asynchronous KNX library. ([@Julius2342] - [#8725]) ([knx docs]) ([binary_sensor.knx docs]) ([climate.knx docs]) ([cover.knx docs]) ([light.knx docs]) ([sensor.knx docs]) ([switch.knx docs]) (new-platform)
- Adds the AirVisual air quality sensor platform ([@bachya] - [#9320]) ([sensor.airvisual docs]) (new-platform)
## {% linkable_title If you need help... %}
...don't hesitate to use our very active [forums][forum] or join us for a little [chat][discord]. 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][issue]. Make sure to fill in all fields of the issue template.
<!--more-->
## Breaking Changes
- The new customize editor is using the file `customize.yaml` in your config folder. If you are using this file today for other config, make sure to rename it before using the new customize UI editor. ([@andrey-git] - [#9134]) ([config docs]) (breaking change) (new-platform)
- The frontend component now supports loading custom html files when Home Assistant front end starts ([@andrey-git] - [#9150]) (breaking change). It could be Javascript, CSS or custom Web Components. Along there was a breaking change in the way Custom UI is used:
* `custom_ui_state_card` now specifies the exact element name and not a suffix after `state-card`. So if you had `state_card_custom_ui: custom-ui` in your config, you should change it to `state_card_custom_ui: state-card-custom-ui`
* `custom_ui_state_card` no longer makes the html fetch, you should make it separately:
```
frontend:
extra_html_url:
- /local/custom_ui/state-card-custom-ui.html
```
- The Egardia alarm control panel now defaults to port 52010 instead of 85. ([@jeroenterheerdt] - [#9225]) ([alarm_control_panel.egardia docs]) (breaking change)
- The Homematic `delay` option has been dropped because it is no longer necessary ([@pvizeli] - [#9058]) ([homematic docs]) ([binary_sensor.homematic docs]) ([climate.homematic docs]) ([cover.homematic docs]) ([light.homematic docs]) ([sensor.homematic docs]) ([switch.homematic docs]) (breaking change)
- Switch - Dlink: Remove spaces and capital letters from attribute names for consistency ([@emlt] - [#9277]) ([switch.dlink docs]) (breaking change)
## All changes
- Xiaomi Philips Lights integration ([@syssi] - [#9087]) ([light.xiaomi_philipslight docs]) (new-platform)
- Backend changes for customize config panel. ([@andrey-git] - [#9134]) ([config docs]) (breaking change)
- Upgrade async_timeout to 1.3.0 ([@fabaff] - [#9156])
- Remove links to gitter ([@fabaff] - [#9155])
- Upgrade sphinx-autodoc-typehints to 1.2.3 ([@fabaff] - [#9151])
- Upgrade uber_rides to 0.5.2 ([@fabaff] - [#9149]) ([sensor.uber docs])
- Allow specifying custom html urls to load. ([@andrey-git] - [#9150]) (breaking change)
- Allow getting number of available states in template ([@balloob] - [#9158])
- upgrade xiaomi lib to 0.3.1 to supprt water sensor ([@danielhiversen] - [#9168]) ([xiaomi docs])
- Use node_modules gulp in script/build_frontend ([@armills] - [#9170])
- Mysensors nodes can be renamed in config file ([@EmitKiwi] - [#9123]) ([mysensors docs])
- Xiaomi gateway: Device support for the Aqara Water Leak Sensor (sensor_wleak.aq1) ([@syssi] - [#9172]) ([xiaomi docs]) ([binary_sensor.xiaomi docs])
- "TypeError: write_to_hub() takes 2 positional arguments but 4 were given" fixed. ([@syssi] - [#9174]) ([cover.xiaomi docs])
- Mycroft notify/component ([@btotharye] - [#9173]) ([mycroft docs]) ([notify.mycroft docs]) (new-platform)
- Fix dht22 when no data was read initially #8976 ([@maweki] - [#9198]) ([sensor.dht docs])
- Update pushbullet.py ([@bobnwk] - [#9200]) ([notify.pushbullet docs])
- fix worldtidesinfo #9184 ([@aetolus] - [#9201]) ([sensor.worldtidesinfo docs])
- Add "status" to Sonarr sensor ([@tboyce021] - [#9204]) ([sensor.radarr docs]) ([sensor.sonarr docs])
- Prevent error when no forecast data was available ([@mjj4791] - [#9176]) ([sensor.buienradar docs])
- Fix and optimize digitalloggers platform ([@dale3h] - [#9203]) ([switch.digitalloggers docs])
- Add counter component ([@fabaff] - [#9146]) ([counter docs]) (new-platform)
- Support for season sensor ([@w1ll1am23] - [#8958]) ([sensor.season docs]) (new-platform)
- Issue #6893 in rfxtrx ([@danielhiversen] - [#9130]) ([rfxtrx docs])
- Refactor rfxtrx ([@danielhiversen] - [#9117]) ([rfxtrx docs]) ([cover.rfxtrx docs]) ([light.rfxtrx docs]) ([switch.rfxtrx docs])
- Upgrade pymysensors to 0.11.1 ([@MartinHjelmare] - [#9212]) ([mysensors docs])
- Abode push events and lock, cover, and switch components ([@1091741+MisterWil] - [#9095]) ([abode docs]) ([alarm_control_panel.abode docs]) ([binary_sensor.abode docs]) ([cover.abode docs]) ([lock.abode docs]) ([switch.abode docs]) (new-platform)
- Add cloud auth support ([@balloob] - [#9208])
- Bayesian Binary Sensor ([@jlmcgehee21] - [#8810]) ([binary_sensor.bayesian docs]) (new-platform)
- directv: extended discovery via REST api, bug fix ([@sielicki] - [#8800]) ([media_player.directv docs])
- Upgrade pyasn1 to 0.3.3 and pyasn1-modules to 0.1.1 ([@fabaff] - [#9216]) ([notify.xmpp docs])
- Upgrade sendgrid to 5.0.1 ([@fabaff] - [#9215]) ([notify.sendgrid docs])
- Fix fitbit error when trying to access token after upgrade. ([@tchellomello] - [#9183]) ([sensor.fitbit docs])
- Allow sonos to select album as a source ([@commento] - [#9221]) ([media_player.sonos docs])
- Add max_age to statistics sensor ([@tinloaf] - [#8790]) ([sensor.statistics docs])
- Egardia package to .19 and change in port number for egardiaserver ([@jeroenterheerdt] - [#9225]) ([alarm_control_panel.egardia docs]) (breaking change)
- pushbullet, send a file from url ([@danielhiversen] - [#9189]) ([notify.pushbullet docs])
- Add Tank Utility sensor ([@krismolendyke] - [#9132]) ([sensor.tank_utility docs]) (new-platform)
- Upgrade shodan to 1.7.5 ([@fabaff] - [#9228]) ([sensor.shodan docs])
- Tesla platform ([@zabuldon] - [#9211]) ([tesla docs]) ([binary_sensor.tesla docs]) ([climate.tesla docs]) ([device_tracker.tesla docs]) ([lock.tesla docs]) ([sensor.tesla docs]) (new-platform)
- [light.tradfri] Full range of white spectrum lightbulbs support ([@matemaciek] - [#9224]) ([tradfri docs]) ([light.tradfri docs])
- Allow panels with external URL ([@andrey-git] - [#9214])
- Use ZCL mandatory attribute to determine ZHA light capabilities ([@jkl1337] - [#9232]) ([light.zha docs])
- A bugfix for pushbullet ([@danielhiversen] - [#9237]) ([notify.pushbullet docs])
- mopar sensor ([@happyleavesaoc] - [#9136]) ([sensor.mopar docs]) (new-platform)
- Upgrade discord.py to 0.16.11 ([@fabaff] - [#9239]) ([notify.discord docs])
- Skip automatic events older than latest data ([@armills] - [#9230]) ([device_tracker.automatic docs])
- title and message was swapped in pushbullet ([@danielhiversen] - [#9241]) ([notify.pushbullet docs])
- Fix possible KeyError ([@MartinHjelmare] - [#9242]) ([mysensors docs])
- WIP: Homematic improvments with new hass interfaces ([@pvizeli] - [#9058]) ([homematic docs]) ([binary_sensor.homematic docs]) ([climate.homematic docs]) ([cover.homematic docs]) ([light.homematic docs]) ([sensor.homematic docs]) ([switch.homematic docs]) (breaking change)
- Add available to sonos ([@pvizeli] - [#9243]) ([media_player.sonos docs])
- Make sure Ring binary_sensor state will update only if device_id matches ([@tchellomello] - [#9247]) ([binary_sensor.ring docs])
- Added configurable timeout for receiver HTTP requests | Additional AV… ([@scarface-4711] - [#9244]) ([media_player.denonavr docs])
- upgrade xiaomi lib ([@danielhiversen] - [#9250]) ([xiaomi docs])
- Fix nello.io login ([@pschmitt] - [#9251]) ([lock.nello docs])
- This is to fix #6386: Manual Alarm not re-arm after 2nd trigger ([@snjoetw] - [#9249]) ([alarm_control_panel.manual docs])
- Version bump of DLink switch to v0.6.0 ([@LinuxChristian] - [#9252]) ([switch.dlink docs])
- Upgrade sendgrid to 5.2.0 ([@fabaff] - [#9254]) ([notify.sendgrid docs])
- Upgrade psutil to 5.3.0 ([@fabaff] - [#9253]) ([sensor.systemmonitor docs])
- Adding ZWave CentralScene activation handler. ([@sirmalloc] - [#9178]) ([zwave docs])
- Add Geofency device tracker ([@gunnarhelgason] - [#9106]) ([device_tracker.geofency docs]) (new-platform)
- flux: fix for when stop_time is after midnight ([@abmantis] - [#8932])
- Change attribute names ([@emlt] - [#9277]) ([switch.dlink docs]) (breaking change)
- insteon_plm: fix typo in attributes ([@drkp] - [#9284]) ([insteon_plm docs])
- discovery: If unknown NetDisco service discovered, log about it. ([@pfalcon] - [#9280])
- Upgrade youtube_dl to 2017.9.2 ([@fabaff] - [#9279]) ([media_extractor docs])
- Upgrade python-telegram-bot to 8.0.0 ([@fabaff] - [#9282]) ([telegram_bot docs]) ([switch.rest docs])
- rfxtrx lib upgrade ([@danielhiversen] - [#9288]) ([rfxtrx docs])
- Fixing bug when using egardiaserver - package requirement updated to 1.0.20. ([@jeroenterheerdt] - [#9294]) ([alarm_control_panel.egardia docs])
- Added intent_type to exception log ([@andreasjacobsen93] - [#9289]) ([snips docs])
- Handle spotify failing to refresh access_token ([@Tommatheussen] - [#9295]) ([media_player.spotify docs])
- Core track same state for a period / Allow on platforms ([@pvizeli] - [#9273])
- Improved Lutron Caseta shade support ([@30200174+upsert] - [#9302]) ([lutron_caseta docs]) ([cover.lutron_caseta docs]) ([light.lutron_caseta docs]) ([switch.lutron_caseta docs])
- Upgrade mycroftapi to 2.0 ([@btotharye] - [#9309]) ([mycroft docs])
- Fix for Honeywell Round thermostats ([@dansarginson] - [#9308]) ([climate.honeywell docs])
- Update jinja to 2.9.6 ([@pvizeli] - [#9306])
- Ensure display-name does not exceed 12 characters for CecAdapter. ([@gollo] - [#9268]) ([hdmi_cec docs])
- Expose hue group 0 ([@filcole] - [#8663]) ([light.hue docs])
- Added DWD WarnApp Sensor ([@runningman84] - [#8657]) ([sensor.dwd_warnapp docs]) (new-platform)
- Add input_text component ([@BioSehnsucht] - [#9112]) ([input_text docs]) (new-platform)
- Introducing a media_player component for Yamaha Multicast devices ([@jalmeroth] - [#9258]) ([media_player.yamaha_musiccast docs]) (new-platform)
- Handle the case where no registration number is available (instead display VIN (vehicle identification number)). ([@molobrakos] - [#9073]) ([volvooncall docs]) ([device_tracker.volvooncall docs])
- Add post_pending_state attribute to manual alarm_control_panel ([@snjoetw] - [#9291]) ([alarm_control_panel.manual docs])
- Add new config variable to MQTT light ([@belyalov] - [#9304]) ([light.mqtt docs])
- Follow Twitter guidelines for media upload by conforming to the "STATUS" phase, when required, and by providing "media_category" information. These will, for example, allow users to upload videos that exceed the basic 30 second limit. ([@MikeChristianson] - [#9261]) ([notify.twitter docs])
- Optionally disable ssl certificate validity check. ([@1868995+ohmer1] - [#9181]) ([notify.xmpp docs])
- Version bump dlib to 1.0.0 ([@arsaboo] - [#9316]) ([image_processing.dlib_face_detect docs]) ([image_processing.dlib_face_identify docs])
- Fixed bug with devices not being discovered correctly. ([@1091741+MisterWil] - [#9311]) ([abode docs])
- Platform not ready behavior fixed. ([@syssi] - [#9325]) ([light.xiaomi_philipslight docs])
- Stable and asynchronous KNX library. ([@Julius2342] - [#8725]) ([knx docs]) ([binary_sensor.knx docs]) ([climate.knx docs]) ([cover.knx docs]) ([light.knx docs]) ([sensor.knx docs]) ([switch.knx docs]) (new-platform)
- Fix for potential issue with tesla initialization ([@zabuldon] - [#9307]) ([tesla docs])
- Adds the AirVisual air quality sensor platform ([@bachya] - [#9320]) ([sensor.airvisual docs]) (new-platform)
- Cleanup input_text ([@balloob] - [#9326]) ([input_text docs])
- Bump pyHik version to add IO support ([@mezz64] - [#9341]) ([binary_sensor.hikvision docs])
[#8657]: https://github.com/home-assistant/home-assistant/pull/8657
[#8663]: https://github.com/home-assistant/home-assistant/pull/8663
[#8725]: https://github.com/home-assistant/home-assistant/pull/8725
[#8790]: https://github.com/home-assistant/home-assistant/pull/8790
[#8800]: https://github.com/home-assistant/home-assistant/pull/8800
[#8810]: https://github.com/home-assistant/home-assistant/pull/8810
[#8932]: https://github.com/home-assistant/home-assistant/pull/8932
[#8958]: https://github.com/home-assistant/home-assistant/pull/8958
[#9058]: https://github.com/home-assistant/home-assistant/pull/9058
[#9073]: https://github.com/home-assistant/home-assistant/pull/9073
[#9087]: https://github.com/home-assistant/home-assistant/pull/9087
[#9095]: https://github.com/home-assistant/home-assistant/pull/9095
[#9106]: https://github.com/home-assistant/home-assistant/pull/9106
[#9112]: https://github.com/home-assistant/home-assistant/pull/9112
[#9117]: https://github.com/home-assistant/home-assistant/pull/9117
[#9123]: https://github.com/home-assistant/home-assistant/pull/9123
[#9130]: https://github.com/home-assistant/home-assistant/pull/9130
[#9132]: https://github.com/home-assistant/home-assistant/pull/9132
[#9134]: https://github.com/home-assistant/home-assistant/pull/9134
[#9136]: https://github.com/home-assistant/home-assistant/pull/9136
[#9146]: https://github.com/home-assistant/home-assistant/pull/9146
[#9149]: https://github.com/home-assistant/home-assistant/pull/9149
[#9150]: https://github.com/home-assistant/home-assistant/pull/9150
[#9151]: https://github.com/home-assistant/home-assistant/pull/9151
[#9155]: https://github.com/home-assistant/home-assistant/pull/9155
[#9156]: https://github.com/home-assistant/home-assistant/pull/9156
[#9158]: https://github.com/home-assistant/home-assistant/pull/9158
[#9168]: https://github.com/home-assistant/home-assistant/pull/9168
[#9170]: https://github.com/home-assistant/home-assistant/pull/9170
[#9172]: https://github.com/home-assistant/home-assistant/pull/9172
[#9173]: https://github.com/home-assistant/home-assistant/pull/9173
[#9174]: https://github.com/home-assistant/home-assistant/pull/9174
[#9176]: https://github.com/home-assistant/home-assistant/pull/9176
[#9178]: https://github.com/home-assistant/home-assistant/pull/9178
[#9181]: https://github.com/home-assistant/home-assistant/pull/9181
[#9183]: https://github.com/home-assistant/home-assistant/pull/9183
[#9189]: https://github.com/home-assistant/home-assistant/pull/9189
[#9198]: https://github.com/home-assistant/home-assistant/pull/9198
[#9200]: https://github.com/home-assistant/home-assistant/pull/9200
[#9201]: https://github.com/home-assistant/home-assistant/pull/9201
[#9203]: https://github.com/home-assistant/home-assistant/pull/9203
[#9204]: https://github.com/home-assistant/home-assistant/pull/9204
[#9208]: https://github.com/home-assistant/home-assistant/pull/9208
[#9211]: https://github.com/home-assistant/home-assistant/pull/9211
[#9212]: https://github.com/home-assistant/home-assistant/pull/9212
[#9214]: https://github.com/home-assistant/home-assistant/pull/9214
[#9215]: https://github.com/home-assistant/home-assistant/pull/9215
[#9216]: https://github.com/home-assistant/home-assistant/pull/9216
[#9221]: https://github.com/home-assistant/home-assistant/pull/9221
[#9224]: https://github.com/home-assistant/home-assistant/pull/9224
[#9225]: https://github.com/home-assistant/home-assistant/pull/9225
[#9228]: https://github.com/home-assistant/home-assistant/pull/9228
[#9230]: https://github.com/home-assistant/home-assistant/pull/9230
[#9232]: https://github.com/home-assistant/home-assistant/pull/9232
[#9237]: https://github.com/home-assistant/home-assistant/pull/9237
[#9239]: https://github.com/home-assistant/home-assistant/pull/9239
[#9241]: https://github.com/home-assistant/home-assistant/pull/9241
[#9242]: https://github.com/home-assistant/home-assistant/pull/9242
[#9243]: https://github.com/home-assistant/home-assistant/pull/9243
[#9244]: https://github.com/home-assistant/home-assistant/pull/9244
[#9247]: https://github.com/home-assistant/home-assistant/pull/9247
[#9249]: https://github.com/home-assistant/home-assistant/pull/9249
[#9250]: https://github.com/home-assistant/home-assistant/pull/9250
[#9251]: https://github.com/home-assistant/home-assistant/pull/9251
[#9252]: https://github.com/home-assistant/home-assistant/pull/9252
[#9253]: https://github.com/home-assistant/home-assistant/pull/9253
[#9254]: https://github.com/home-assistant/home-assistant/pull/9254
[#9258]: https://github.com/home-assistant/home-assistant/pull/9258
[#9261]: https://github.com/home-assistant/home-assistant/pull/9261
[#9268]: https://github.com/home-assistant/home-assistant/pull/9268
[#9273]: https://github.com/home-assistant/home-assistant/pull/9273
[#9277]: https://github.com/home-assistant/home-assistant/pull/9277
[#9279]: https://github.com/home-assistant/home-assistant/pull/9279
[#9280]: https://github.com/home-assistant/home-assistant/pull/9280
[#9282]: https://github.com/home-assistant/home-assistant/pull/9282
[#9284]: https://github.com/home-assistant/home-assistant/pull/9284
[#9288]: https://github.com/home-assistant/home-assistant/pull/9288
[#9289]: https://github.com/home-assistant/home-assistant/pull/9289
[#9291]: https://github.com/home-assistant/home-assistant/pull/9291
[#9294]: https://github.com/home-assistant/home-assistant/pull/9294
[#9295]: https://github.com/home-assistant/home-assistant/pull/9295
[#9302]: https://github.com/home-assistant/home-assistant/pull/9302
[#9304]: https://github.com/home-assistant/home-assistant/pull/9304
[#9306]: https://github.com/home-assistant/home-assistant/pull/9306
[#9307]: https://github.com/home-assistant/home-assistant/pull/9307
[#9308]: https://github.com/home-assistant/home-assistant/pull/9308
[#9309]: https://github.com/home-assistant/home-assistant/pull/9309
[#9311]: https://github.com/home-assistant/home-assistant/pull/9311
[#9316]: https://github.com/home-assistant/home-assistant/pull/9316
[#9320]: https://github.com/home-assistant/home-assistant/pull/9320
[#9325]: https://github.com/home-assistant/home-assistant/pull/9325
[#9326]: https://github.com/home-assistant/home-assistant/pull/9326
[#9341]: https://github.com/home-assistant/home-assistant/pull/9341
[@1091741+MisterWil]: https://github.com/1091741+MisterWil
[@1868995+ohmer1]: https://github.com/1868995+ohmer1
[@30200174+upsert]: https://github.com/30200174+upsert
[@BioSehnsucht]: https://github.com/BioSehnsucht
[@EmitKiwi]: https://github.com/EmitKiwi
[@Julius2342]: https://github.com/Julius2342
[@LinuxChristian]: https://github.com/LinuxChristian
[@MartinHjelmare]: https://github.com/MartinHjelmare
[@MikeChristianson]: https://github.com/MikeChristianson
[@Tommatheussen]: https://github.com/Tommatheussen
[@abmantis]: https://github.com/abmantis
[@aetolus]: https://github.com/aetolus
[@andreasjacobsen93]: https://github.com/andreasjacobsen93
[@andrey-git]: https://github.com/andrey-git
[@armills]: https://github.com/armills
[@arsaboo]: https://github.com/arsaboo
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
[@belyalov]: https://github.com/belyalov
[@bobnwk]: https://github.com/bobnwk
[@btotharye]: https://github.com/btotharye
[@commento]: https://github.com/commento
[@dale3h]: https://github.com/dale3h
[@danielhiversen]: https://github.com/danielhiversen
[@dansarginson]: https://github.com/dansarginson
[@drkp]: https://github.com/drkp
[@emlt]: https://github.com/emlt
[@fabaff]: https://github.com/fabaff
[@filcole]: https://github.com/filcole
[@gollo]: https://github.com/gollo
[@gunnarhelgason]: https://github.com/gunnarhelgason
[@happyleavesaoc]: https://github.com/happyleavesaoc
[@jalmeroth]: https://github.com/jalmeroth
[@jeroenterheerdt]: https://github.com/jeroenterheerdt
[@jkl1337]: https://github.com/jkl1337
[@jlmcgehee21]: https://github.com/jlmcgehee21
[@krismolendyke]: https://github.com/krismolendyke
[@matemaciek]: https://github.com/matemaciek
[@maweki]: https://github.com/maweki
[@mezz64]: https://github.com/mezz64
[@mjj4791]: https://github.com/mjj4791
[@molobrakos]: https://github.com/molobrakos
[@pfalcon]: https://github.com/pfalcon
[@pschmitt]: https://github.com/pschmitt
[@pvizeli]: https://github.com/pvizeli
[@runningman84]: https://github.com/runningman84
[@scarface-4711]: https://github.com/scarface-4711
[@sielicki]: https://github.com/sielicki
[@sirmalloc]: https://github.com/sirmalloc
[@snjoetw]: https://github.com/snjoetw
[@syssi]: https://github.com/syssi
[@tboyce021]: https://github.com/tboyce021
[@tchellomello]: https://github.com/tchellomello
[@tinloaf]: https://github.com/tinloaf
[@w1ll1am23]: https://github.com/w1ll1am23
[@zabuldon]: https://github.com/zabuldon
[abode docs]: https://home-assistant.io/components/abode/
[alarm_control_panel.abode docs]: https://home-assistant.io/components/alarm_control_panel.abode/
[alarm_control_panel.egardia docs]: https://home-assistant.io/components/alarm_control_panel.egardia/
[alarm_control_panel.manual docs]: https://home-assistant.io/components/alarm_control_panel.manual/
[binary_sensor.abode docs]: https://home-assistant.io/components/binary_sensor.abode/
[binary_sensor.bayesian docs]: https://home-assistant.io/components/binary_sensor.bayesian/
[binary_sensor.hikvision docs]: https://home-assistant.io/components/binary_sensor.hikvision/
[binary_sensor.homematic docs]: https://home-assistant.io/components/binary_sensor.homematic/
[binary_sensor.ring docs]: https://home-assistant.io/components/binary_sensor.ring/
[binary_sensor.tesla docs]: https://home-assistant.io/components/binary_sensor.tesla/
[binary_sensor.xiaomi docs]: https://home-assistant.io/components/binary_sensor.xiaomi/
[binary_sensor.knx docs]: https://home-assistant.io/components/binary_sensor.knx/
[climate.homematic docs]: https://home-assistant.io/components/climate.homematic/
[climate.honeywell docs]: https://home-assistant.io/components/climate.honeywell/
[climate.tesla docs]: https://home-assistant.io/components/climate.tesla/
[climate.knx docs]: https://home-assistant.io/components/climate.knx/
[cloud docs]: https://home-assistant.io/components/cloud/
[cloud.cloud_api docs]: https://home-assistant.io/components/cloud.cloud_api/
[cloud.const docs]: https://home-assistant.io/components/cloud.const/
[cloud.http_api docs]: https://home-assistant.io/components/cloud.http_api/
[cloud.util docs]: https://home-assistant.io/components/cloud.util/
[config docs]: https://home-assistant.io/components/config/
[config.customize docs]: https://home-assistant.io/components/config.customize/
[counter docs]: https://home-assistant.io/components/counter/
[cover.abode docs]: https://home-assistant.io/components/cover.abode/
[cover.homematic docs]: https://home-assistant.io/components/cover.homematic/
[cover.lutron_caseta docs]: https://home-assistant.io/components/cover.lutron_caseta/
[cover.rfxtrx docs]: https://home-assistant.io/components/cover.rfxtrx/
[cover.xiaomi docs]: https://home-assistant.io/components/cover.xiaomi/
[cover.knx docs]: https://home-assistant.io/components/cover.knx/
[device_tracker.automatic docs]: https://home-assistant.io/components/device_tracker.automatic/
[device_tracker.geofency docs]: https://home-assistant.io/components/device_tracker.geofency/
[device_tracker.tesla docs]: https://home-assistant.io/components/device_tracker.tesla/
[device_tracker.volvooncall docs]: https://home-assistant.io/components/device_tracker.volvooncall/
[hdmi_cec docs]: https://home-assistant.io/components/hdmi_cec/
[homematic docs]: https://home-assistant.io/components/homematic/
[image_processing.dlib_face_detect docs]: https://home-assistant.io/components/image_processing.dlib_face_detect/
[image_processing.dlib_face_identify docs]: https://home-assistant.io/components/image_processing.dlib_face_identify/
[input_text docs]: https://home-assistant.io/components/input_text/
[input_text docs]: https://home-assistant.io/components/input_text/
[insteon_plm docs]: https://home-assistant.io/components/insteon_plm/
[light.homematic docs]: https://home-assistant.io/components/light.homematic/
[light.hue docs]: https://home-assistant.io/components/light.hue/
[light.lutron_caseta docs]: https://home-assistant.io/components/light.lutron_caseta/
[light.mqtt docs]: https://home-assistant.io/components/light.mqtt/
[light.xiaomi_philipslight docs]: https://home-assistant.io/components/light.xiaomi_philipslight/
[light.rfxtrx docs]: https://home-assistant.io/components/light.rfxtrx/
[light.tradfri docs]: https://home-assistant.io/components/light.tradfri/
[light.xiaomi_philipslight docs]: https://home-assistant.io/components/light.xiaomi_philipslight/
[light.knx docs]: https://home-assistant.io/components/light.knx/
[light.zha docs]: https://home-assistant.io/components/light.zha/
[lock.abode docs]: https://home-assistant.io/components/lock.abode/
[lock.nello docs]: https://home-assistant.io/components/lock.nello/
[lock.tesla docs]: https://home-assistant.io/components/lock.tesla/
[lutron_caseta docs]: https://home-assistant.io/components/lutron_caseta/
[media_extractor docs]: https://home-assistant.io/components/media_extractor/
[media_player.denonavr docs]: https://home-assistant.io/components/media_player.denonavr/
[media_player.directv docs]: https://home-assistant.io/components/media_player.directv/
[media_player.sonos docs]: https://home-assistant.io/components/media_player.sonos/
[media_player.spotify docs]: https://home-assistant.io/components/media_player.spotify/
[media_player.yamaha_musiccast docs]: https://home-assistant.io/components/media_player.yamaha_musiccast/
[mycroft docs]: https://home-assistant.io/components/mycroft/
[mysensors docs]: https://home-assistant.io/components/mysensors/
[notify.discord docs]: https://home-assistant.io/components/notify.discord/
[notify.mycroft docs]: https://home-assistant.io/components/notify.mycroft/
[notify.pushbullet docs]: https://home-assistant.io/components/notify.pushbullet/
[notify.sendgrid docs]: https://home-assistant.io/components/notify.sendgrid/
[notify.twitter docs]: https://home-assistant.io/components/notify.twitter/
[notify.xmpp docs]: https://home-assistant.io/components/notify.xmpp/
[rfxtrx docs]: https://home-assistant.io/components/rfxtrx/
[sensor.airvisual docs]: https://home-assistant.io/components/sensor.airvisual/
[sensor.buienradar docs]: https://home-assistant.io/components/sensor.buienradar/
[sensor.dht docs]: https://home-assistant.io/components/sensor.dht/
[sensor.dwd_warnapp docs]: https://home-assistant.io/components/sensor.dwd_warnapp/
[sensor.fitbit docs]: https://home-assistant.io/components/sensor.fitbit/
[sensor.homematic docs]: https://home-assistant.io/components/sensor.homematic/
[sensor.mopar docs]: https://home-assistant.io/components/sensor.mopar/
[sensor.radarr docs]: https://home-assistant.io/components/sensor.radarr/
[sensor.season docs]: https://home-assistant.io/components/sensor.season/
[sensor.shodan docs]: https://home-assistant.io/components/sensor.shodan/
[sensor.sonarr docs]: https://home-assistant.io/components/sensor.sonarr/
[sensor.statistics docs]: https://home-assistant.io/components/sensor.statistics/
[sensor.systemmonitor docs]: https://home-assistant.io/components/sensor.systemmonitor/
[sensor.tank_utility docs]: https://home-assistant.io/components/sensor.tank_utility/
[sensor.tesla docs]: https://home-assistant.io/components/sensor.tesla/
[sensor.uber docs]: https://home-assistant.io/components/sensor.uber/
[sensor.worldtidesinfo docs]: https://home-assistant.io/components/sensor.worldtidesinfo/
[sensor.knx docs]: https://home-assistant.io/components/sensor.knx/
[snips docs]: https://home-assistant.io/components/snips/
[switch.abode docs]: https://home-assistant.io/components/switch.abode/
[switch.digitalloggers docs]: https://home-assistant.io/components/switch.digitalloggers/
[switch.dlink docs]: https://home-assistant.io/components/switch.dlink/
[switch.homematic docs]: https://home-assistant.io/components/switch.homematic/
[switch.lutron_caseta docs]: https://home-assistant.io/components/switch.lutron_caseta/
[switch.rest docs]: https://home-assistant.io/components/switch.rest/
[switch.rfxtrx docs]: https://home-assistant.io/components/switch.rfxtrx/
[switch.knx docs]: https://home-assistant.io/components/switch.knx/
[telegram_bot docs]: https://home-assistant.io/components/telegram_bot/
[tesla docs]: https://home-assistant.io/components/tesla/
[tradfri docs]: https://home-assistant.io/components/tradfri/
[volvooncall docs]: https://home-assistant.io/components/volvooncall/
[xiaomi docs]: https://home-assistant.io/components/xiaomi/
[knx docs]: https://home-assistant.io/components/knx/
[zwave docs]: https://home-assistant.io/components/zwave/
[forum]: https://community.home-assistant.io/
[issue]: https://github.com/home-assistant/home-assistant/issues
[discord]: https://discord.gg/c5DvZ4e

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB