diff --git a/_config.yml b/_config.yml index 6fbceb62596..bfabc39b356 100644 --- a/_config.yml +++ b/_config.yml @@ -138,9 +138,9 @@ social: # Home Assistant release details current_major_version: 0 -current_minor_version: 89 -current_patch_version: 2 -date_released: 2019-03-12 +current_minor_version: 90 +current_patch_version: 0 +date_released: 2019-03-20 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. diff --git a/source/_components/alarm_control_panel.mqtt.markdown b/source/_components/alarm_control_panel.mqtt.markdown index 9ce161d56ef..5985f6e04c4 100644 --- a/source/_components/alarm_control_panel.mqtt.markdown +++ b/source/_components/alarm_control_panel.mqtt.markdown @@ -85,6 +85,11 @@ code: description: If defined, specifies a code to enable or disable the alarm in the frontend. required: false type: string +code_arm_required: + description: If true the code is required to arm the alarm. + required: false + type: boolean + default: true availability_topic: description: The MQTT topic subscribed to receive availability (online/offline) updates. required: false diff --git a/source/_components/androidtv.markdown b/source/_components/androidtv.markdown new file mode 100644 index 00000000000..691948a810b --- /dev/null +++ b/source/_components/androidtv.markdown @@ -0,0 +1,226 @@ +--- +layout: page +title: "Android TV" +description: "Instructions on how to integrate Android TV and Fire TV devices into Home Assistant." +date: 2015-10-23 18:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: androidtv.png +ha_category: Media Player +ha_release: 0.7.6 +ha_iot_class: Local Polling +redirect_from: + - /components/media_player.firetv/ +--- + +The `androidtv` platform allows you to control an Android TV device or [Amazon Fire TV](https://www.amazon.com/b/?node=8521791011) device. + +## {% linkable_title Device preparation %} + +To set up your device, you will need to find its IP address and enable ADB debugging. For Android TV devices, please consult the documentation for your device. + +For Fire TV devices, the instructions are as follows: + +- Turn on ADB Debugging on your Amazon Fire TV: + - From the main (Launcher) screen, select Settings. + - Select System > Developer Options. + - Select ADB Debugging. +- Find Amazon Fire TV device IP address: + - From the main (Launcher) screen, select Settings. + - Select System > About > Network. + +## {% linkable_title Configuration %} + +```yaml +# Example configuration.yaml entry +media_player: + # Use the Python ADB implementation without authentication + - platform: androidtv + name: Android TV 1 + host: 192.168.0.111 + + # Use the Python ADB implementation with authentication + - platform: androidtv + name: Android TV 2 + host: 192.168.0.222 + adbkey: "/config/android/adbkey" + + # Use an ADB server for sending ADB commands + - platform: androidtv + name: Android TV 3 + host: 192.168.0.123 + adb_server_ip: 127.0.0.1 +``` + +{% configuration %} +host: + description: The IP address for your Android TV / Fire TV device. + required: true + type: string +name: + description: The friendly name of the device. + required: false + default: Android TV + type: string +port: + description: The port for your Android TV / Fire TV device. + required: false + default: 5555 + type: integer +adbkey: + description: The path to your `adbkey` file. Note that the file `adbkey.pub` must be in the same directory. + required: false + type: string +adb_server_ip: + description: The IP address of the ADB server. + required: false + type: string +adb_server_port: + description: The port for the ADB server. + required: false + default: 5037 + type: port +get_sources: + description: Whether or not to retrieve the running apps as the list of sources for Fire TV devices; not used for Android TV devices. + required: false + default: true + type: boolean +apps: + description: A dictionary where the keys are app IDs and the values are app names that will be displayed in the UI; see example below. + required: false + default: {} + type: dict +device_class: + description: "The type of device: `auto` (detect whether it is an Android TV or Fire TV device), `androidtv`, or `firetv`." + required: false + default: auto + type: string +{% endconfiguration %} + +### {% linkable_title Full Configuration %} + +```yaml +# Example configuration.yaml entry +media_player: + # Use an ADB server to setup an Android TV device + # and provide an app name + - platform: androidtv + name: Android TV + device_class: androidtv + host: 192.168.0.222 + adb_server_ip: 127.0.0.1 + apps: + com.amazon.tv.launcher: "Fire TV" + + # Use the Python ADB implementation with authentication + # to setup a Fire TV device and don't get the running apps + - platform: androidtv + name: Fire TV + device_class: firetv + host: 192.168.0.222 + adbkey: "/config/android/adbkey" + get_sources: false +``` + +## {% linkable_title ADB Setup %} + +This component works by sending ADB commands to your Android TV / Fire TV device. There are two ways to accomplish this: + +### {% linkable_title 1. ADB Server %} + +You can use an ADB server to connect to your Android TV and Fire TV devices. + +For Hass.io users, you can install the [Android Debug Bridge](https://github.com/hassio-addons/addon-adb/blob/master/README.md) addon. Using this approach, Home Assistant will send the ADB commands to the server, which will then send them to the Android TV / Fire TV device and report back to Home Assistant. To use this option, add the `adb_server_ip` option to your configuration. If you are running the server on the same machine as Home Assistant, you can use `127.0.0.1` for this value. + +### {% linkable_title 2. Python ADB Implementation %} + +The second option is to connect to your device using the `adb` Python package. + +If your device requires ADB authentication, you will need to follow the instructions in the [ADB Authentication](#adb-authentication) section below. Once you have an authenticated key, this approach does not require any additional setup or addons. However, users with newer devices may find that the ADB connection is unstable. For a Fire TV device, you can try setting the `get_sources` configuration option to `false`. If the problem cannot be resolved, you should use the ADB server option. + +### {% linkable_title ADB Authentication %} + +If you get a "Device authentication required, no keys available" error when trying to set up your Android TV or Fire TV, then you'll need to create an adbkey and add its path to your configuration. Follow the instructions on this page to connect to your device from your computer: [Connecting to Fire TV Through adb](https://developer.amazon.com/zh/docs/fire-tv/connecting-adb-to-device.html). + +
+In the dialog appearing on your Android TV / Fire TV, you must check the box that says "always allow connections from this device." ADB authentication in Home Assistant will only work using a trusted key. +
+ +Once you've successfully connected to your Android TV / Fire TV via the command `adb connectIf you use the sensor for Norway (`NO`) you need to wrap `NO` in quotes or write the name in full. @@ -76,6 +78,22 @@ If you use the sensor for Canada (`CA`) with Ontario (`ON`) as `province:` then Otherwise the value is evaluated as `true` (check the YAML documentation for further details) and the sensor will not work.
+## {% linkable_title Full example %} + +This examples excludes Saturdays, Sundays and holiday. Two custom holidays are added. + +```yaml +# Example configuration.yaml entry +binary_sensor: + - platform: workday + country: DE + workdays: [mon, wed, fri] + excludes: [sat, sun, holiday] + add_holidays: + - '2018-12-26' + - '2018-12-31' +``` + ## {% linkable_title Automation example %} Example usage for automation: @@ -98,4 +116,3 @@ automation:Please remember that [as explained here](/docs/configuration/devices/) you can only have a single `automation:` entry. Add the automation to your existing automations.
- diff --git a/source/_components/blink.markdown b/source/_components/blink.markdown index 236cf5f30f8..741f82d4519 100644 --- a/source/_components/blink.markdown +++ b/source/_components/blink.markdown @@ -23,8 +23,6 @@ redirect_from: - /components/sensor.blink/ --- -Blink has started blocking Home Assistant users. More info in the forums.
- The `blink` component lets you view camera images and motion events from [Blink](http://blinkforhome.com) camera and security systems. ## {% linkable_title Setup %} @@ -109,6 +107,8 @@ blink: ## {% linkable_title Services %} +Any sequential calls to services relating to blink should have a minimum of a 5 second delay in between them to prevent the calls fro being throttled and ignored. + ### {% linkable_title `blink.blink_update` %} Force a refresh of the Blink system. diff --git a/source/_components/camera.markdown b/source/_components/camera.markdown index 1034589ef9c..0aee4c4e8dc 100644 --- a/source/_components/camera.markdown +++ b/source/_components/camera.markdown @@ -16,7 +16,7 @@ The camera component allows you to use IP cameras with Home Assistant. With a li Once loaded, the `camera` platform will expose services that can be called to perform various actions. -Available services: `turn_on`, `turn_off`, `enable_motion_detection`, `disable_motion_detection`, and `snapshot`. +Available services: `turn_on`, `turn_off`, `enable_motion_detection`, `disable_motion_detection`, `snapshot`, and `play_stream`. #### {% linkable_title Service `turn_on` %} @@ -73,6 +73,26 @@ action: ``` {% endraw %} +#### {% linkable_title Service `play_stream` %} + +Play a live stream from a camera to selected media player(s). Requires `stream` component to be set up. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | no | Name of entity to fetch stream from, e.g., `camera.living_room_camera`. | +| `media_player` | no | Name of media player to play stream on, e.g., `media_player.living_room_tv`. | +| `format` | yes | Stream format supported by `stream` component and selected `media_player`. Default: `hls` | + +For example, the following action in an automation would send an `hls` live stream to your chromecast. + +```yaml +action: + service: camera.play_stream + data: + entity_id: camera.yourcamera + media_player: media_player.chromecast +``` + ### {% linkable_title Test if it works %} A simple way to test if you have set up your `camera` platform correctly, is to use+You must first creat an API client from here: https://clearpass.server.com/guest/api_clients.php +
+ +To use this device tracker in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +device_tracker: + - platform: cppm_tracker + host: clearpass.server.org + client_id: clearpassapi + api_key: 00000004qyO513hTdCfjIO2ZWWnmex8QZ5000000000 +``` + +{% configuration %} +host: + description: "The IP address or hostname of the ClearPass server, e.g., `clearpass.server.com`." + required: true + type: string +client_id: + description: "The client ID from here: `https://clearpass.server.com/guest/api_clients.php`" + required: true + type: string +api_key: + description: "Secret from here: `https://clearpass.server.com/guest/api_clients.php`" + required: true + type: string +{% endconfiguration %} + +See the [device tracker component page](/components/device_tracker/) for instructions on how to configure the people to be tracked. diff --git a/source/_components/device_tracker.quantum_gateway.markdown b/source/_components/device_tracker.quantum_gateway.markdown index 05ff8524740..3949b2e663c 100644 --- a/source/_components/device_tracker.quantum_gateway.markdown +++ b/source/_components/device_tracker.quantum_gateway.markdown @@ -38,6 +38,11 @@ password: description: The password for the `admin` user. The default password may be printed on the gateway itself. required: true type: string +ssl: + description: Use HTTPS when connecting to gateway. New firmware may require HTTPS while older may require this to be False. + required: false + type: boolean + default: True {% endconfiguration %} See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/device_tracker.xfinity.markdown b/source/_components/device_tracker.xfinity.markdown new file mode 100644 index 00000000000..45bf58fb5ce --- /dev/null +++ b/source/_components/device_tracker.xfinity.markdown @@ -0,0 +1,39 @@ +--- +layout: page +title: "Xfinity Gateway" +description: "Instructions on how to integrate Xfinity Gateways into Home Assistant." +date: 2019-02-12 19:44 +sidebar: true +comments: false +sharing: true +footer: true +ha_category: Presence Detection +logo: xfinity.svg +ha_release: 0.90 +ha_iot_class: "Local Polling" + +--- + +The `xfinity` device tracker platform offers presence detection by looking at connected devices to an Xfinity gateway. + +It was tested with an Xfinity Gateway model TG1682G. + +## {% linkable_title Configuration %} + +To use an Xfinity Gateway in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +device_tracker: + - platform: xfinity +``` + +{% configuration %} +host: + description: The IP address of your router, e.g., `192.168.1.1`. + required: false + type: string + default: 10.0.0.1 +{% endconfiguration %} + +See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked. diff --git a/source/_components/discovery.markdown b/source/_components/discovery.markdown index 00f2fee4cb6..eeb782a8b9c 100644 --- a/source/_components/discovery.markdown +++ b/source/_components/discovery.markdown @@ -23,6 +23,7 @@ Home Assistant can discover and automatically configure [zeroconf](https://en.wi * [Denon network receivers](/components/media_player.denonavr/) * [DirecTV receivers](/components/media_player.directv/) * [DLNA DMR enabled devices](/components/media_player.dlna_dmr/) + * [Enigma2 media player](/components/media_player.enigma2/) * [Frontier Silicon internet radios](/components/media_player.frontier_silicon/) * [Google Cast](/components/media_player.cast/) * [HomeKit](/components/homekit_controller/) @@ -80,6 +81,7 @@ Valid values for ignore are: * `bose_soundtouch`: Bose Soundtouch speakers * `denonavr`: Denon network receivers * `directv`: DirecTV receivers + * `enigma2`: Enigma2 media players * `frontier_silicon`: Frontier Silicon internet radios * `google_cast`: Google Cast * `harmony`: Logitech Harmony Hub diff --git a/source/_components/enigma2.markdown b/source/_components/enigma2.markdown new file mode 100644 index 00000000000..11aaf3b7050 --- /dev/null +++ b/source/_components/enigma2.markdown @@ -0,0 +1,69 @@ +--- +layout: page +title: "Enigma2 (OpenWebif)" +description: "Instructions on how to integrate an Enigma2 based box running OpenWebif into Home Assistant." +date: 2019-02-21 12:02 +sidebar: true +comments: false +sharing: true +footer: true +logo: openwebif.png +ha_category: Media Player +featured: false +ha_release: "0.90" +ha_iot_class: "Local Polling" +redirect_from: + - /components/media_player.enigma2/ +--- + +The `enigma2` platform allows you to control a Linux based set-top box which is running [Enigma2](https://github.com/oe-alliance/oe-alliance-enigma2) with the OpenWebif plugin installed. + +[OpenWebif](https://github.com/E2OpenPlugins/e2openplugin-OpenWebif) is an open source web interface for Enigma2 based set-top boxes. + +Enigma2 devices should be discovered automatically by using the [the discovery component](/components/discovery/). + +To manually add a set-top box to your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +media_player: + - platform: enigma2 + host: IP_ADDRESS +``` + +{% configuration %} + host: + description: The IP/hostname of the Enigma2 set-top box on your home network. + required: true + type: string + use_channel_icon: + description: By default, a screen grab of the current channel is shown. If you prefer the channel icon to be shown instead, set this to true. + required: false + type: boolean + default: false + port: + description: Port which OpenWebif is listening on. + required: false + type: integer + default: 80 + username: + description: The username of a user with privileges to access the box. This is only required if you have enabled the setting "Enable HTTP Authentication" in OpenWebif settings. _(e.g., on the remote by pressing `Menu`>`Plugins`>`OpenWebif`)_. + required: false + type: string + default: root + password: + description: The password for your given account. Again, this is only required if you have enabled the setting "Enable HTTP Authentication" in OpenWebif settings. _(e.g., on the remote by pressing `Menu`>`Plugins`>`OpenWebif`)_. + required: false + type: string + default: dreambox + ssl: + description: Use HTTPS instead of HTTP to connect. This is only required if you have enabled the setting "Enable HTTPS" in OpenWebif settings. _(e.g., on the remote by pressing `Menu`>`Plugins`>`OpenWebif`)_. You will need to ensure you have a valid CA certificate in place or SSL verification will fail with this component. + required: false + type: boolean + default: false + name: + description: A name for easy identification of the device. + required: false + type: string + default: Enigma2 Media Player +{% endconfiguration %} diff --git a/source/_components/google_assistant.markdown b/source/_components/google_assistant.markdown index 23f0cbcbe8f..3da070904ba 100644 --- a/source/_components/google_assistant.markdown +++ b/source/_components/google_assistant.markdown @@ -206,6 +206,10 @@ https://developers.google.com/actions/reference/smarthome/traits/modes "Hey Google, change input source to TV on Living Room Receiver" +### {% linkable_title Room/Area support %} + +Entities that have not got rooms explicitly set and that have been placed in Home Assistant areas will return room hints to Google with the devices in those areas. + ### {% linkable_title Climate Operation Modes %} There is not an exact 1-1 match between Home Assistant and Google Assistant for the available operation modes. diff --git a/source/_components/harmony.markdown b/source/_components/harmony.markdown index 51f5de2fb58..764291714cd 100644 --- a/source/_components/harmony.markdown +++ b/source/_components/harmony.markdown @@ -67,6 +67,11 @@ delay_secs: description: Default duration in seconds between sending commands to a device. required: false type: float + default: 0.4 +hold_secs: + description: Default duration in seconds between sending the "press" command and sending the "release" command. + required: false + default: 0 {% endconfiguration %} ### {% linkable_title Configuration file %} @@ -77,7 +82,7 @@ Upon startup one file will be written to your Home Assistant configuration direc - List of all programmed device names and ID numbers - List of all available commands per programmed device -This file will be overwritten whenever the Harmony HUB has a new configuration, there is no need to restart HASS. +This file will be overwritten whenever the Harmony HUB has a new configuration, there is no need to restart Home Assistant. ### {% linkable_title Service `remote.turn_off` %} @@ -85,7 +90,7 @@ Turn off all devices that were switched on from the start of the current activit | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | yes | Only act on a specific remote, else target all. +| `entity_id` | no | Entity ID to target. ### {% linkable_title Service `remote.turn_on` %} @@ -93,7 +98,7 @@ Start an activity. Will start the default `activity` from configuration.yaml if | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | yes | Only act on a specific remote, else target all. +| `entity_id` | no | Entity ID to target. | `activity` | yes | Activity ID or Activity Name to start. ##### {% linkable_title Example %} @@ -127,7 +132,7 @@ Send a single command or a set of commands to one device, device ID and availabl | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | yes | Only act on a specific remote, else target all. +| `entity_id` | no | Entity ID to target. | `device` | no | Device ID or Device Name to send the command to. | `command` | no | A single command or a list of commands to send. | `num_repeats` | yes | The number of times to repeat the command(s). @@ -159,7 +164,6 @@ In the file 'harmony_REMOTENAME.conf' you can find the available devices and com } ``` - A typical service call for sending several button presses looks like this: ```yaml @@ -190,7 +194,7 @@ Sends the change channel command to the Harmony HUB | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | no | Only act on a specific remote, else target all. +| `entity_id` | no | Entity ID to target. | `channel` | no | Channel number to change to A typical service call for changing the channel would be:: @@ -208,7 +212,7 @@ Force synchronization between the Harmony device and the Harmony cloud. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `entity_id` | yes | Only act on a specific remote, else target all. +| `entity_id` | no | Entity ID to target. ### {% linkable_title Examples %} diff --git a/source/_components/homekit_controller.markdown b/source/_components/homekit_controller.markdown index dfd2fb8199d..74d42d423ea 100644 --- a/source/_components/homekit_controller.markdown +++ b/source/_components/homekit_controller.markdown @@ -17,6 +17,7 @@ ha_category: - Lock - Switch - Binary Sensor + - Sensor ha_release: 0.68 ha_iot_class: Local Polling redirect_from: @@ -26,6 +27,7 @@ redirect_from: - /components/light.homekit_controller/ - /components/lock.homekit_controller/ - /components/switch.homekit_controller/ + - /components/sensor.homekit_controller/ --- [HomeKit](https://developer.apple.com/homekit/) controller integration for Home Assistant allows you to connect HomeKit accessories to Home Assistant. This component should not be confused with the [HomeKit](/components/homekit/) component, which allows you to control Home Assistant devices via HomeKit. @@ -39,6 +41,7 @@ There is currently support for the following device types within Home Assistant: - Lock (HomeKit lock) - Switch (HomeKit switches) - Binary Sensor (HomeKit motion sensors) +- Sensor (HomeKit humidity, temperature, and light level sensors) The component will be automatically configured if the [`discovery:`](/components/discovery/) component is enabled and an enable entry added for HomeKit: diff --git a/source/_components/homematicip_cloud.markdown b/source/_components/homematicip_cloud.markdown index c11fc1aeb1b..e4032edc68a 100644 --- a/source/_components/homematicip_cloud.markdown +++ b/source/_components/homematicip_cloud.markdown @@ -40,6 +40,7 @@ There is currently support for the following device types within Home Assistant: * Light * Sensor * Switch +* Weather ## {% linkable_title Setup the component via the frontend %} @@ -97,29 +98,44 @@ authtoken: * Water detector (*HmIP-SWD*) * homematicip_cloud.climate - * Radiator thermostat (*HmIP-eTRV,-2*) - should also work with (*HmIP-eTRV-2-UK, -B, -B1, -C*) * Climate group (*HmIP-HeatingGroup*) + * This includes temperature/humidity measures for climate devices of a room delivered by: + * Wall-mounted thermostat (*HmIP-WTH, -2*) + * Brand Wall-mounted thermostat (*HmIP-BWTH, -24*) + * Radiator thermostat (*HmIP-eTRV, -2, -C*) + * Temperature and humidity sensor (*HmIP-STH*) + * Temperature and humidity Sensor with display (*HmIP-STHD*) * homematicip_cloud.light * Switch actuator and meter for brand switches (*HmIP-BSM*) * Dimming actuator for brand switches (*HmIP-BDT*) * Dimming actuator flush-mount (*HmIP-FDT*) * Switch Actuator and Meter – flush-mount (*HmIP-FSM*) + * Switch Actuator for brand switches – with signal lamp (*HmIP-BSL*) * homematicip_cloud.sensor * Accesspoint duty-cycle (*HmIP-HAP, -B1*) * Wall-mounted thermostat (*HmIP-WTH, -2*) + * Brand Wall-mounted thermostat (*HmIP-BWTH, -24*) + * Radiator thermostat (valve position only) (*HmIP-eTRV,-2*, -C) - should also work with (*HmIP-eTRV-2-UK, -B, -B1*) * Temperature and humidity sensor (*HmIP-STH*) * Temperature and humidity Sensor with display (*HmIP-STHD*) * Outdoor temperature and humidity sensor (*HmIP-STHO, -A*) * Illuminance sensor (*HmIP-SMI*) + * Light Sensor outdoor (*HmIP-SLO*) * homematicip_cloud.switch * Pluggable Switch (*HmIP-PS*) * Pluggable Switch and Meter (*HmIP-PSM*) - should also work with (*HmIP-PSM-CH, -IT, -UK, -PE*) + * Switch actuator with open collector output (*HmIP-MOD-OC8*) * homematicip_cloud.shutter * Blind actuator for brand switches (*HmIP-BBL*) * Shutter actuator brand-mount (*HmIP-BROLL*) * Shutter actuator flush-mount (*HmIP-FROLL*) +* homematicip_cloud.weather + * Weather Sensor – basic (*HmIP-SWO-B*) + * Weather Sensor – plus (*HmIP-SWO-PL*) + * Weather Sensor – pro (*HmIP-SWO-PR*) + diff --git a/source/_components/http.markdown b/source/_components/http.markdown index fad79bf13da..8cab4fa7ed9 100644 --- a/source/_components/http.markdown +++ b/source/_components/http.markdown @@ -27,7 +27,7 @@ http: {% configuration %} api_password: - description: Deprecated. Do not use. Protect the Home Assistant API with a password - this password can also be used to log in to the frontend. Use [long lasting access token](/docs/authentication/#your-account-profile) instead, as [shown in the REST API](https://developers.home-assistant.io/docs/en/external_api_rest.html) and [websocket API](https://developers.home-assistant.io/docs/en/external_api_websocket.html) documentation. + description: "**Deprecated since 0.90 release. Configuration moved to [Legacy API password auth provider](/docs/authentication/providers/#legacy-api-password).** Protect the Home Assistant API with a password - this password can also be used to log in to the frontend. Where your client or other software supports it, you should use [long lasting access token](/docs/authentication/#your-account-profile) instead, as [shown in the REST API](https://developers.home-assistant.io/docs/en/external_api_rest.html) and [websocket API](https://developers.home-assistant.io/docs/en/external_api_websocket.html) documentation." required: false type: string server_host: @@ -71,7 +71,7 @@ trusted_proxies: required: false type: string, list trusted_networks: - description: "List of trusted networks, consisting of IP addresses or networks, that are allowed to bypass password protection when accessing Home Assistant. If using a reverse proxy with the `use_x_forwarded_for` and `trusted_proxies` options enabled, requests proxied to Home Assistant with a trusted `X-Forwarded-For` header will appear to come from the IP given in that header instead of the proxy IP." + description: "**Deprecated since 0.89 release. Configuration moved to [Trusted Networks auth provider](/docs/authentication/providers/#trusted-networks).** List of trusted networks, consisting of IP addresses or networks, that are allowed to bypass password protection when accessing Home Assistant. If using a reverse proxy with the `use_x_forwarded_for` and `trusted_proxies` options enabled, requests proxied to Home Assistant with a trusted `X-Forwarded-For` header will appear to come from the IP given in that header instead of the proxy IP." required: false type: string, list ip_ban_enabled: @@ -100,7 +100,6 @@ The sample below shows a configuration entry with possible values: ```yaml # Example configuration.yaml entry http: - api_password: YOUR_PASSWORD server_port: 12345 ssl_certificate: /etc/letsencrypt/live/hass.example.com/fullchain.pem ssl_key: /etc/letsencrypt/live/hass.example.com/privkey.pem @@ -111,9 +110,6 @@ http: trusted_proxies: - 127.0.0.1 - ::1 - trusted_networks: - - 192.168.0.0/24 - - fd00::/8 ip_ban_enabled: true login_attempts_threshold: 5 ``` diff --git a/source/_components/ifttt.markdown b/source/_components/ifttt.markdown index fed57a881e9..a440d36053e 100644 --- a/source/_components/ifttt.markdown +++ b/source/_components/ifttt.markdown @@ -71,6 +71,19 @@ Once you have added your key to your `configuration.yaml` file, restart your Hom After restarting the server, be sure to watch the console for any logging errors that show up in red, white or yellow. +### {% linkable_title Multiple IFTTT keys %} + +If you have multiple IFTTT users you can specify multiple IFTTT keys with: + +```yaml +# Example configuration.yaml entry +ifttt: + key: + YOUR_KEY_NAME1: YOUR_API_KEY1 + YOUR_KEY_NAME2: YOUR_API_KEY2 +``` + + ### {% linkable_title Testing your trigger %} You can use the **Developer tools** to test your [Webhooks](https://ifttt.com/maker_webhooks) trigger. To do this, open the Home Assistant frontend, open the sidebar, click on the first icon in the developer tools. This should get you to the **Call Service** screen. Fill in the following values: @@ -86,6 +99,17 @@ Service Data | `{"event": "EventName", "value1": "Hello World"}` When your screen looks like this, click the 'call service' button. +By default the trigger is sent to all the api keys from `configuration.yaml`. If you +want to send the trigger to a specific key use the `target` field: + +Field | Value +----- | ----- +domain | `ifttt` +service | `trigger` +Service Data | `{"event": "EventName", "value1": "Hello World", "target": "YOUR_KEY_NAME1"}` + +The `target` field can contain a single key name or a list of key names. + ### {% linkable_title Setting up a recipe %} Press the *New applet* button and search for *Webhooks*. diff --git a/source/_components/knx.markdown b/source/_components/knx.markdown index dae35cdb225..1cdf375dbd3 100644 --- a/source/_components/knx.markdown +++ b/source/_components/knx.markdown @@ -52,6 +52,11 @@ config_file: description: The path for XKNX configuration file. required: false type: string +rate_limit: + description: Defines the maximum number of telegrams to be sent to the bus per second (range 1-100). + required: false + default: 20 + type: integer {% endconfiguration %} If the auto detection of the KNX/IP device does not work you can specify ip/port of the tunneling device: diff --git a/source/_components/konnected.markdown b/source/_components/konnected.markdown index d6b35102fd3..e49c2096d20 100644 --- a/source/_components/konnected.markdown +++ b/source/_components/konnected.markdown @@ -12,6 +12,7 @@ ha_category: - Alarm - Binary Sensor - Switch + - Sensor ha_release: "0.70" redirect_from: - /components/binary_sensor.konnected/ @@ -26,8 +27,13 @@ The component currently supports the following device types in Home Assistant: - Binary Sensor: Wired door and window sensors, motion detectors, glass-break detectors, leak sensors, smoke & CO detectors or any open/close switch. - Switch: Actuate a siren, strobe, buzzer or relay module. +- Sensor: Periodic measurements from DHT temperature/humidity sensors and DS18B20 temperature sensors. -This component requires the [`discovery`](/components/discovery) component to be enabled. +This component uses the [`discovery`](/components/discovery) component, which must be enabled for device discovery to work. If you don't want to use discovery, set the _host_ and _port_ for each device in the description. + ++Konnected devices communicate with Home Assistant over your local LAN -- there is no cloud component! For best performance we recommend allowing unsecured HTTP API traffic between Konnected devices and Home Assistant on your LAN. This means that you should not use the `http` component to serve SSL/TLS certificates. Instead, use a proxy like Nginx or Caddy to serve SSL/TLS. [Read more.](https://help.konnected.io/support/solutions/articles/32000023964-set-up-hass-io-with-secure-remote-access-using-duckdns-and-nginx-proxy) +
### {% linkable_title Configuration %} @@ -77,7 +83,7 @@ devices: type: list keys: pin: - description: The number corresponding to the _IO index_ of the labeled pin on the NodeMCU dev board. See the [NodeMCU GPIO documentation](https://nodemcu.readthedocs.io/en/master/en/modules/gpio/) for more details. Valid values are 1, 2, 5, 6, 7 and 9. + description: The number corresponding to the _IO index_ of the labeled pin on the NodeMCU dev board. See the [NodeMCU GPIO documentation](https://nodemcu.readthedocs.io/en/master/en/modules/gpio/) for more details. Valid values are `1`, `2`, `5`, `6`, `7` and `9`. required: exclusive zone: description: The number corresponding to the labeled zone on the [Konnected Alarm Panel](https://konnected.io) board. Valid values are `1`, `2`, `3`, `4`, `5` and `6`. @@ -94,6 +100,29 @@ devices: description: Inverts the open/closed meaning of a binary sensor circuit. Commonly needed for normally open wired smoke alarm circuits. required: false default: false + sensors: + description: A list of digital sensors (currently supports DHT and DS18B20 sensors) connected to the device + required: false + type: list + keys: + pin: + description: The number corresponding to the _IO index_ of the labeled pin on the NodeMCU dev board. See the [NodeMCU GPIO documentation](https://nodemcu.readthedocs.io/en/master/en/modules/gpio/) for more details. Valid values for sensors are `1`, `2`, `5`, `6`, `7` and `9`. + required: exclusive + zone: + description: The number corresponding to the labeled zone on the [Konnected Alarm Panel](https://konnected.io) board. Valid values for sensors are `1`, `2`, `3`, `4`, `5` and `6`. + required: exclusive + name: + description: The name of the device used in the front end. + required: false + default: automatically generated + type: + description: The type of sensor. Valid values are `dht` or `ds18b20` + required: true + poll_interval: + type: integer + description: The frequency (in minutes) that the Konnected device will report sensor data. Minimum `1` minute. _Note:_ this is only implemented for `dht` sensors. + required: false + default: not set (device default is 3 minutes) switches: description: A list of actuators (on/off switches) connected to the device. See [Konnected Switch](/components/switch.konnected/) for configuration variables. required: false @@ -184,17 +213,22 @@ konnected: binary_sensors: - pin: 1 type: motion - name: 'Office Motion' + name: Office Motion - pin: 2 type: door - name: 'Office Door' + name: Office Door switches: - pin: 5 - name: 'Garage Door' + name: Garage Door activation: low momentary: 500 - pin: 8 name: LED Light + sensors: + - pin: 6 + name: Kitchen + type: dht + ``` ### {% linkable_title Pin Mapping %} @@ -213,6 +247,10 @@ Konnected runs on an ESP8266 board with the NodeMCU firmware. It is commonly use ### {% linkable_title Revision History %} +#### 0.89 + +- Added support for `dht` and `ds18b20` temperature sensors + #### 0.80 - Added ability to specify `host` and `port` to set up devices without relying on discovery. diff --git a/source/_components/light.ihc.markdown b/source/_components/light.ihc.markdown index 36e3d483f61..b5963e6c7dc 100644 --- a/source/_components/light.ihc.markdown +++ b/source/_components/light.ihc.markdown @@ -57,6 +57,14 @@ light: description: The IHC resource id. required: true type: integer + on_id: + description: Optional IHC resource id that will be pulsed to turn ON this light. + required: false + type: integer + off_id: + description: Optional IHC resource id that will be pulsed to turn OFF this light. + required: false + type: integer name: description: The name of the component required: false diff --git a/source/_components/light.markdown b/source/_components/light.markdown index 6cf65ed9b8a..191109246b0 100644 --- a/source/_components/light.markdown +++ b/source/_components/light.markdown @@ -77,11 +77,8 @@ Turns one or multiple lights off. ### {% linkable_title Service `light.toggle` %} -Toggles the state of one or multiple lights using [groups]({{site_root}}/components/group/). +Toggles the state of one or multiple lights using [groups]({{site_root}}/components/group/). +Takes the same arguments as [`turn_on`](#service-lightturn_on) service. *Note*: If `light.toggle` is used for a group of lights, it will toggle the individual state of each light. -| Service data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `entity_id` | no | String or list of strings that point at `entity_id`s of lights. Else targets all. -| `transition` | yes | Integer that represents the time the light should take to transition to the new state in seconds. diff --git a/source/_components/light.nanoleaf_aurora.markdown b/source/_components/light.nanoleaf.markdown similarity index 70% rename from source/_components/light.nanoleaf_aurora.markdown rename to source/_components/light.nanoleaf.markdown index 11469f158fd..88902b8e48d 100644 --- a/source/_components/light.nanoleaf_aurora.markdown +++ b/source/_components/light.nanoleaf.markdown @@ -1,13 +1,13 @@ --- layout: page -title: "Nanoleaf Aurora Light Panel" -description: "Instructions how to integrate Nanoleaf Aurora Light Panels into Home Assistant." +title: "Nanoleaf Light Panel" +description: "Instructions how to integrate Nanoleaf Light Panels into Home Assistant." date: 2018-01-04 20:00 sidebar: true comments: false sharing: true footer: true -logo: nanoleaf_aurora_light.png +logo: nanoleaf_light.png ha_category: Light ha_iot_class: Local Polling ha_release: 0.67 @@ -15,16 +15,16 @@ ha_release: 0.67 ### {% linkable_title Configuration Sample %} -The `nanoleaf_aurora` platform allows you to control [Nanoleaf Aurora Light Panels](https://nanoleaf.me) from Home Assistant. +The `nanoleaf` platform allows you to control [Nanoleaf Light Panels](https://nanoleaf.me) from Home Assistant. -The preferred way to set up this platform is by enabling the [discovery component](/components/discovery/). Make sure to press and hold the *ON* button for 5 seconds (the LED will start flashing) on your Nanoleaf Aurora Panel while Home Assistant is starting. +The preferred way to set up this platform is by enabling the [discovery component](/components/discovery/). Make sure to press and hold the *ON* button for 5 seconds (the LED will start flashing) on your Nanoleaf Lights while Home Assistant is starting. -To configure the Aurora lights manually, add the following lines to your `configuration.yaml` file: +To configure the Nanoleaf lights manually, add the following lines to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry light: - - platform: nanoleaf_aurora + - platform: nanoleaf host: 192.168.1.10 token: xxxxxxxxxxxxxxxxxxxxx ``` @@ -42,12 +42,12 @@ name: description: Name of the component, make this unique if you have multiple Light Panels required: false type: string - default: Aurora + default: Nanoleaf {% endconfiguration %} ### {% linkable_title Getting The Auth Token %} -1. Make sure that your Nanoleaf Aurora Panel is fully patched (as of the time of writing the latest version was 2.2.0) +1. Make sure that your Nanoleaf Light Panel is fully patched (as of the time of writing the latest version was 3.0.8 for Aurora and 1.2.0 for Canvas) 2. Hold down the *ON* button on the Panel for 5 seconds; the LED will start flashing 3. Issue a *POST* request to the API endpoint, e.g., via `$ curl -i -X POST http://192.168.1.155:16021/api/v1/new` 4. The output should include the auth token like *{"auth_token":"xxxxxxxxxxxxxxxxxxxxx"}*, copy the resulting token into your configuration diff --git a/source/_components/light.tplink.markdown b/source/_components/light.tplink.markdown deleted file mode 100644 index e567458a377..00000000000 --- a/source/_components/light.tplink.markdown +++ /dev/null @@ -1,61 +0,0 @@ ---- -layout: page -title: "TP-Link Bulb" -description: "Instructions on how to integrate TP-Link bulbs into Home Assistant." -date: 2017-07-25 08:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: tp-link.png -ha_category: Light -ha_iot_class: Local Polling -ha_release: "0.50" ---- - -The `tplink` light platform allows you to control the state of your [TP-Link smart bulb](http://www.tp-link.com/en/products/list-5609.html). - -Supported units: - -- LB100 -- LB110 -- LB120 -- LB130 -- LB230 -- KL110 -- KL120 -- KL130 - -To use your TP-Link light in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -light: - - platform: tplink - host: IP_ADDRESS -``` - -{% configuration %} -name: - description: The name to use when displaying this bulb. - required: false - type: string - default: TP-Link Light -host: - description: "The IP address of your TP-Link bulb, e.g., `192.168.1.32`." - required: true - type: string -{% endconfiguration %} - -## {% linkable_title Adding multiple lights %} - -You may need to add [multiple lights](https://community.home-assistant.io/t/multiple-tp-link-switches/6935) and the config would need to include multiple lights separately. - -```yaml -# Example configuration.yaml entry -light: - - platform: tplink - host: FIRST_IP_ADDRESS - - platform: tplink - host: SECOND_IP_ADDRESS -``` diff --git a/source/_components/media_player.dlna_dmr.markdown b/source/_components/media_player.dlna_dmr.markdown index 4b50ae491d3..2b7227dc6ba 100644 --- a/source/_components/media_player.dlna_dmr.markdown +++ b/source/_components/media_player.dlna_dmr.markdown @@ -46,4 +46,8 @@ name: description: The name you would like to give to the device, e.g., `TV living room`. required: false type: string +callback_url_override: + description: Override the advertised callback URL. In case the home assistant instance is not directly reachable (e.g., running in a docker container without bridged-networking), advertise this callback URL for events. + required: false + type: string {% endconfiguration %} diff --git a/source/_components/media_player.firetv.markdown b/source/_components/media_player.firetv.markdown deleted file mode 100644 index 73f6664359d..00000000000 --- a/source/_components/media_player.firetv.markdown +++ /dev/null @@ -1,119 +0,0 @@ ---- -layout: page -title: "FireTV" -description: "Instructions on how to integrate Fire-TV into Home Assistant." -date: 2015-10-23 18:00 -sidebar: true -comments: false -sharing: true -footer: true -logo: firetv.png -ha_category: Media Player -ha_release: 0.7.6 -ha_iot_class: Local Polling ---- - - -The `firetv` platform allows you to control an [Amazon Fire TV/stick](https://www.amazon.com/b/?node=8521791011). - -Steps to configure your Amazon Fire TV stick with Home Assistant: - -- Turn on ADB Debugging on your Amazon Fire TV: - - From the main (Launcher) screen, select Settings. - - Select System > Developer Options. - - Select ADB Debugging. -- Find Amazon Fire TV device IP: - - From the main (Launcher) screen, select Settings. - - Select System > About > Network. - -To add FireTV to your installation, Note your device name, and add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -media_player: - # a device that does not require ADB authentication - - platform: firetv - name: Fire TV 1 - host: 192.168.0.111 - - # a device that does require ADB authentication - - platform: firetv - name: Fire TV 2 - host: 192.168.0.222 - adbkey: "/config/android/adbkey" - - # use an ADB server for sending ADB commands instead of the Python ADB implementation - - platform: firetv - name: Fire TV 3 - host: 192.168.0.123 - adb_server_ip: 127.0.0.1 -``` - -{% configuration %} -host: - description: The IP address for your Fire TV device. - required: true - type: string -name: - description: The friendly name of the device. - required: false - default: Amazon Fire TV - type: string -port: - description: The port for your Fire TV device. - required: false - default: 5555 - type: integer -adbkey: - description: The path to your `adbkey` file. Note that the file `adbkey.pub` must be in the same directory. - required: false - type: string -adb_server_ip: - description: The IP address of the ADB server. - required: false - type: string -adb_server_port: - description: The port for the ADB server. - required: false - default: 5037 - type: port -get_sources: - description: Whether or not to retrieve the running apps as the list of sources. - required: false - default: true - type: boolean -{% endconfiguration %} - -## {% linkable_title ADB Setup %} - -This component works by sending ADB commands to your Fire TV device. There are two ways to accomplish this: - -1. Using the `adb` Python package. If your device requires ADB authentication, you will need to follow the instructions in the "ADB Authentication (for Fire TV devices with recent software)" section below. Once you have an authenticated key, this approach does not require any additional setup or addons. However, users with newer devices may find that the ADB connection is unstable. If setting the `get_sources` configuration option to `false` does not help, they should use the next option. -2. Using an ADB server. For Hass.io users, you can install the [Android Debug Bridge](https://github.com/hassio-addons/addon-adb/blob/v0.1.0/README.md) addon. With this approach, Home Assistant will send the ADB commands to the server, which will then send them to the Fire TV device and report back to Home Assistant. To use this option, add the `adb_server_ip` option to your configuration. If you are running the server on the same machine as Home Assistant, you can use `127.0.0.1` for this value. - -### {% linkable_title ADB Authentication (for Fire TV devices with recent software) %} - -If you get a "Device authentication required, no keys available" error when trying to set up Fire TV, then you'll need to create an adbkey and add its path to your configuration. Follow the instructions on this page to connect to your Fire TV from your computer: [Connecting to Fire TV Through adb](https://developer.amazon.com/zh/docs/fire-tv/connecting-adb-to-device.html). - -- In the dialog appearing on your Fire TV, you must check the box that says "always allow connections from this device." ADB authentication in Home Assistant will only work using a trusted key. -
- -Once you've successfully connected to your Fire TV via the command `adb connect
+
+Screenshot of the Remote UI preference.
+
+ +## {% linkable_title User Groups %} + +This has been a long time in the making, and has been worked on for a long time: you can now put users in groups to prevent them from being able to configure things from the UI. Users in the new "users" group will not see links to the configuration panel or to the developer tools. This is currently a UI feature, not a security feature. [We're working](https://developers.home-assistant.io/blog/2019/03/11/user-permissions.html) on making this a security feature by limiting access at API level too. + +## {% linkable_title Smarter SmartThings %} + +If you use Home Assistant Cloud, setting up SmartThings will now automatically leverage Cloudhooks. This means that you will not need to expose your instance to the internet to start using SmartThings. Yay for easy set up and thanks [@andrewsayre]! SmartThings support has also been added for 3 axis sensors and air conditioners. + +## {% linkable_title Area love %} + +This release also adds some more love to areas. Thanks to [@Swamp-Ig], areas will now be included as room hints when you sync Home Assistant with Google Assistant. This should make setting up a breeze. + +Areas can now also be used as targets in services. Just specify `area_id` instead of `entity_id` in your scripts or automations. + +We've also made areas a part of the set up flow for integrations. When you add an integration, we will check which devices are added and ask you to configure them right away. That way you won't forget. + +Stream any camera on any device.
— Paulus Schoutsen (@balloob) February 28, 2019 +
New feature by @hunterjm coming soon to a @home_assistant near you. pic.twitter.com/At9wUkcZZJ
+ +## {% linkable_title New Platforms %} + +- Live Streams Component ([@hunterjm] - [#21473]) ([camera docs]) ([stream docs]) (new-platform) +- Add support for homekit controller sensors ([@cpopp] - [#21535]) ([homekit_controller docs]) (new-platform) +- Add SmartThingsAccelCluster to ZHA binary_sensor ([@roblandry] - [#21609]) ([zha docs]) (new-platform) +- Xfinity Gateway device_tracker platform ([@cisasteelersfan] - [#21026]) ([device_tracker docs]) (new-platform) +- Add Time of Flight Sensor using VL53L1X ([@josemotta] - [#21230]) ([tof docs]) (new-platform) +- Adding enigma2 media player ([@fbradyirl] - [#21271]) ([media_player.enigma2 docs]) (new-platform) +- Add support for Cisco Mobility Express ([@fbradyirl] - [#21531]) ([cisco_mobility_express docs]) (new-platform) +- Add ClearPass Policy Manger device tracker ([@zemerick1] - [#21673]) ([device_tracker docs]) (new-platform) +- Add Weather Sensors to Homematic IP ([@SukramJ] - [#21887]) ([homematicip_cloud docs]) (new-platform) + +## {% 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. + + + +## {% linkable_title Breaking Changes %} + +- __http.api_password__ - __Deprecated__ - Users who are still using api_password for authentication will need to move its configuration under auth_providers. Please see the [updated documentation](https://www.home-assistant.io/docs/authentication/providers/#legacy-api-password) for further details. Those who don't make this change will see an INFO level reminder in the Home Assistant logs until the fix is made for a time, but please note, __api_password authentication will eventually be removed completely__ and we advise users to change to use one of the [other authentication methods](https://www.home-assistant.io/docs/authentication/providers/#available-auth-providers). If you manually specify auth providers in your `configuration.yaml`, you will need to migrate your API Password from the http section to the auth provider section to continue using it. ([@awarecan] - [#21884]) ([api docs]) ([frontend docs]) ([hassio docs]) ([http docs]) ([mqtt docs]) ([websocket_api docs]) ([zeroconf docs]) ([camera.proxy docs]) +- __Default Config__ - Default config no longer contains the discovery component. That is now part of the initial written configuration.yaml. If you rely on default config and want to use discovery, add `discovery:` back to your configuration.yaml. +- __Netatmo__ + * Added support for multiple Netatmo thermostats/valves allowing the user to specify different homes or rooms! Please check the [updated documentation](https://www.home-assistant.io/components/climate.netatmo/) for configuration details. ([@shanbs] - [#19407]) ([netatmo docs]) ([climate.netatmo docs]) + * `current_operation` will no longer return the the boiler status, but the operation_mode. For example, heat, cool, or idle. Please check the [updated documentation](https://www.home-assistant.io/components/climate.netatmo/) for more details. ([@shanbs] - [#21633]) ([netatmo docs]) +- __Utility Meter__ - Currently the offset configuration parameter is an integer that limits daily cycles to have offsets in days, monthly cycles to have offsets in months, etc. +This change increases the flexibility of offset by making it a more flexible time period that can be described in a combination of hours, days, months, etc. This makes it possible for a yearly cycle to start at a given day of a given month. Please see the [updated documentation](https://www.home-assistant.io/components/utility_meter/) for the new configuration options. ([@dgomes] - [#20926]) ([utility_meter docs]) +- __KNX__ - An update for xknx to version 0.10.0 requires users to update their configuration by changing `target_temperature_address` to `target_temperature_state_address`. Other fixes and features: + * Connection config can now be configured in xknx.yml. + * Introduce a configurable rate limit which limits the number of KNX telegrams sent to the bus per second. + * Users who configured their lights via xknx.yml no longer need to manually set min_kelvin and max_kelvin (fixes #21251) ([@marvin-w] - [#21541]) ([knx docs]) +- __Nanoleaf__ - The Nanoleaf component now supports _both_ nanoleaf lights, Aurora and Canvas. As a result of this change the user needs to change the platform from `nanoleaf_aurora` to `nanoleaf` ([@Oro] - [#21913]) ([light.nanoleaf docs]) +- __FireTV__- is now androidtv. Instead of having near-duplicate integrations for androidtv and firetv, the decision was made to combine them into one. +Users will need to change `- platform: firetv` to `- platform: androidtv` in their configuration. ([@JeffLIrion] - [#21944]) +- __Tellstick__ - Some configuration cleanup. The way Tellsick sensor configuration was set up using dynamic values for named sensors will not be supported in future versions of Home Assistant. Users that have configured the optional named sensors initiated with only_named will have to update their configuration. Make sure to check the updated documentation for further details. ([@endor-force] - [#21402]) ([tellstick docs]) +- __MQTT__ - Pass `Message` object to MQTT message callbacks instead of `topic`, `message` and `qos`. Users of custom components please take note, these values are now available on the passed in message object: `msg.topic`, `msg.message`, `msg.qos`. The old method will continue to work for now but will print warnings. ([@emontnemery] - [#21959]) ([mqtt docs]) + +## {% linkable_title Beta Fixes %} + +- mobile_app component ([@robbiet480] - [#21475]) ([mobile_app docs]) (beta fix) (new-platform) +- Remove UTF8 decoding for Waze ([@philhawthorne] - [#22020]) ([sensor.waze_travel_time docs]) (beta fix) +- Bring back the boiler status ([@cgtobi] - [#22021]) ([netatmo docs]) (beta fix) +- Update additional platforms to use new MQTT message callback ([@emontnemery] - [#22030]) ([device_tracker docs]) ([mqtt_eventstream docs]) ([owntracks docs]) ([snips docs]) ([alarm_control_panel.manual_mqtt docs]) ([automation.mqtt docs]) ([sensor.arwn docs]) ([sensor.mqtt_room docs]) (beta fix) +- Fix lifx light async error ([@awarecan] - [#22031]) ([lifx docs]) (beta fix) +- Fix Google Assistant User with Cloud ([@pvizeli] - [#22042]) ([cloud docs]) (beta fix) +- Mobile App: Require encryption for registrations that support it ([@robbiet480] - [#21852]) ([mobile_app docs]) (beta fix) +- Mobile App: Support rendering multiple templates at once ([@robbiet480] - [#21851]) ([mobile_app docs]) (beta fix) +- Mobile App: Update Location schema updates & device ID generation ([@robbiet480] - [#21849]) ([mobile_app docs]) (beta fix) +- Mobile App: Register devices into the registry ([@robbiet480] - [#21856]) ([mobile_app docs]) (beta fix) +- Mobile App: Sensors ([@robbiet480] - [#21854]) ([mobile_app docs]) (beta fix) (new-platform) +- Bump androidtv to 0.0.11 ([@JeffLIrion] - [#22025]) ([androidtv docs]) (beta fix) +- Mobile App: Enable loading via discovery (surprise inside!) ([@robbiet480] - [#22027]) ([mobile_app docs]) (beta fix) +- Mobile App: Discovery to default configuration.yaml, zeroconf to default_config ([@robbiet480] - [#22028]) ([default_config docs]) ([mobile_app docs]) (beta fix) +- Mobile App: Expose Cloud Remote UI FQDN in registration response ([@robbiet480] - [#22055]) ([cloud docs]) ([mobile_app docs]) (beta fix) +- Return config entry ID after creation ([@balloob] - [#22060]) ([config docs]) (beta fix) +- Correct context ([@awarecan] - [#22061]) ([alexa docs]) (beta fix) +- Binary Sensor for Remote UI & Fix timezone ([@pvizeli] - [#22076]) (beta fix) +- Bump androidtv to 0.0.12 ([@JeffLIrion] - [#22072]) ([androidtv docs]) (beta fix) +- Prevent cloud remote UI when using 127.0.0.1 as trusted network ([@balloob] - [#22093]) ([cloud docs]) (beta fix) +- Beta Fix: FFMPEG and Stream component ([@hunterjm] - [#22091]) ([camera.ffmpeg docs]) ([camera.generic docs]) ([camera.onvif docs]) (beta fix) +- delete previously removed service option from services yaml ([@hunterjm] - [#22123]) (beta fix) +- Remove hass.config from aws_lambda notify payload ([@awarecan] - [#22125]) (breaking change) (beta fix) +- Allow non-admins to listen to certain events ([@balloob] - [#22137]) ([websocket_api docs]) (beta fix) +- Bump tado version ([@WebSpider] - [#22145]) ([tado docs]) (beta fix) +- Fix resetting access token on streams with keepalive ([@hunterjm] - [#22148]) ([stream docs]) (beta fix) +- Remove config check over supervisor ([@pvizeli] - [#22156]) ([hassio docs]) (beta fix) +- Upgrade toonapilib to 3.2.2 + lower interval ([@frenck] - [#22160]) ([toon docs]) (beta fix) +- bump total_connect_client to 0.24 ([@uchagani] - [#22166]) ([totalconnect docs]) (beta fix) +- Update Hass-NabuCasa 0.8 ([@pvizeli] - [#22177]) ([cloud docs]) (beta fix) +- Always load Hass.io component on Hass.io ([@balloob] - [#22185]) (beta fix) +- Fixed typing errors ([@Swamp-Ig] - [#22207]) (beta fix) + +## {% linkable_title All changes %} + +- Upgrade pyopenuv to 1.0.9 ([@bachya] - [#21513]) ([openuv docs]) +- Upgrade pypollencom to 2.2.3 ([@bachya] - [#21517]) ([sensor.pollen docs]) +- Upgrade pytile to 2.0.6 ([@bachya] - [#21516]) ([device_tracker docs]) +- Upgraded py17track to 2.2.2 ([@bachya] - [#21515]) ([sensor.seventeentrack docs]) +- Upgrade pyflunearyou to 1.0.2 ([@bachya] - [#21514]) ([sensor.flunearyou docs]) +- Bump starlingbank version to 3.1 ([@Dullage] - [#21501]) ([sensor.starlingbank docs]) +- Upgrade opensensemap-api to 0.1.5 ([@fabaff] - [#21524]) ([air_quality docs]) +- Register 'firetv.adb_command' service ([@JeffLIrion] - [#21419]) ([media_player.firetv docs]) +- Add arm night for alarm decoder ([@koolsb] - [#21488]) ([alarmdecoder docs]) +- Upgrade numpy to 1.16.2 ([@fabaff] - [#21525]) ([binary_sensor.trend docs]) ([image_processing.opencv docs]) ([image_processing.tensorflow docs]) ([sensor.pollen docs]) +- Upgrade python-mystrom to 0.5.0 ([@fabaff] - [#21523]) ([light.mystrom docs]) ([switch.mystrom docs]) +- Mqtt alarm added value_template and code_arm_required ([@ToRvaLDz] - [#19558]) ([alarm_control_panel.mqtt docs]) +- Add direct binding for remotes and lights for ZHA ([@dmulcahey] - [#21498]) ([zha docs]) +- Add support for homekit controller sensors ([@cpopp] - [#21535]) ([homekit_controller docs]) (new-platform) +- Update CODEOWNERS ([@dgomes] - [#21545]) +- Clean up gpslogger tests ([@MartinHjelmare] - [#21543]) +- new websocket api way ([@dmulcahey] - [#21533]) ([zha docs]) +- Add pause/unpause services to RainMachine ([@bachya] - [#21548]) ([rainmachine docs]) +- prevent duplicate event channel registration ([@dmulcahey] - [#21534]) ([zha docs]) +- Allow config entry reloading ([@balloob] - [#21502]) +- Add separate on/off ids on manual configured IHC lights ([@msvinth] - [#20253]) ([ihc docs]) ([light.ihc docs]) (new-platform) +- add friendly name to devices in the device registry ([@dmulcahey] - [#21499]) ([zha docs]) +- Allow chaining contexts ([@balloob] - [#21028]) ([automation docs]) +- bump pyxeoma to 1.4.1 to fix and close #19306 ([@trunet] - [#21568]) ([camera.xeoma docs]) +- fix exception ([@dmulcahey] - [#21571]) ([zha docs]) +- Add config entry remove callback ([@andrewsayre] - [#21576]) +- mobile_app component ([@robbiet480] - [#21475]) ([mobile_app docs]) (beta fix) (new-platform) +- Memory optimization for logbook ([@amelchio] - [#21549]) ([logbook docs]) +- Get room hints from areas ([@Swamp-Ig] - [#21519]) ([google_assistant docs]) +- Centrally define Watt ([@dgomes] - [#21570]) +- Add network throughput statistics to systemmonitor sensor ([@dgomes] - [#21575]) ([sensor.systemmonitor docs]) +- Update for new pyvesyncv_v2 library and vesync switch support ([@webdjoe] - [#21449]) ([switch.vesync docs]) +- ZHA fixes ([@dmulcahey] - [#21592]) ([zha docs]) +- Update pyhomematic ([@danielperna84] - [#21600]) ([homematic docs]) +- Add parameter hold_secs for Harmony remote send command ([@ehendrix23] - [#19650]) ([remote docs]) ([remote.harmony docs]) +- Upgrade motorparts to 1.1.0 ([@rohankapoorcom] - [#21602]) ([sensor.mopar docs]) +- Further Yale ZWave lock device mapping cleanup ([@mw-white] - [#21128]) ([zwave docs]) +- Added support for multiple Netatmo thermostats/valves ([@shanbs] - [#19407]) ([netatmo docs]) ([climate.netatmo docs]) (breaking change) +- Add the velbus sync clock service ([@Cereal2nd] - [#21308]) ([velbus docs]) +- SmartThings remove SmartApp/Automation on integration removal ([@andrewsayre] - [#21594]) ([smartthings docs]) (new-feature) +- Bumping aioasuswrt ([@kennedyshead] - [#21627]) ([asuswrt docs]) +- Add device HMIP-eTRV-C to HomematicIP ([@SukramJ] - [#21612]) +- Add 'app_name' property and 'apps' config entry to Fire TV ([@JeffLIrion] - [#21601]) ([androidtv docs]) +- Add optional sender name for SendGrid ([@srirams] - [#21610]) ([notify.sendgrid docs]) +- fix derived rate, fixes #20097 ([@wburgers] - [#21620]) ([sensor.dsmr docs]) +- Bump pyflunearyou to 1.0.3 ([@bachya] - [#21634]) ([sensor.flunearyou docs]) +- Return Netatmo climate operation_mode instead of boiler status ([@shanbs] - [#21633]) ([netatmo docs]) (breaking change) +- Expose create/delete cloudhook ([@balloob] - [#21606]) ([cloud docs]) +- Add storage helper to ZHA and use it for the device node descriptor ([@dmulcahey] - [#21500]) ([zha docs]) (new-platform) +- Allow configuration of update interval for ness_alarm ([@nickw444] - [#21415]) ([ness_alarm docs]) +- Replace travis ([@pvizeli] - [#21641]) +- Fix actions with tox ([@pvizeli] - [#21642]) +- GitHub Workflow ([@pvizeli] - [#21643]) +- Upgrade youtube_dl to 2019.03.01 ([@fabaff] - [#21647]) ([media_extractor docs]) +- Add support for DHT and DS18B20 sensors via Konnected firmware ([@heythisisnate] - [#21189]) ([konnected docs]) +- Allow targeting areas in service calls ([@balloob] - [#21472]) ([alert docs]) ([automation docs]) ([group docs]) ([image_processing docs]) ([light docs]) ([scene docs]) ([script docs]) +- Add camera name to logs ([@arsaboo] - [#21653]) ([camera.generic docs]) +- Netatmo, handle missing thermostat devices ([@Danielhiversen] - [#21651]) ([netatmo docs]) +- Add SmartThingsAccelCluster to ZHA binary_sensor ([@roblandry] - [#21609]) ([zha docs]) (new-platform) +- Add support for multiple devices for PS4 component ([@ktnrg45] - [#21302]) ([ps4 docs]) +- Xfinity Gateway device_tracker platform ([@cisasteelersfan] - [#21026]) ([device_tracker docs]) (new-platform) +- Adds option in UPnP component to override callback url ([@StevenLooman] - [#21583]) ([media_player.dlna_dmr docs]) +- Serialize amcrest snapshot commands and bump PyPI package to 1.2.4 ([@pnbruckner] - [#21664]) ([amcrest docs]) +- Bump nessclient version to 0.9.14 ([@nickw444] - [#21679]) ([ness_alarm docs]) +- Allow 202 status code as a successful REST notify response ([@u1f35c] - [#21678]) ([notify docs]) +- Bump teslajsonpy to 0.0.24 ([@alandtse] - [#21675]) ([tesla docs]) +- Fix Z-Wave relative imports ([@balloob] - [#21693]) ([zwave docs]) +- Use new style for built-in ws commmands ([@balloob] - [#21694]) ([websocket_api docs]) +- Google Assistant: Create and pass context to service calls ([@Swamp-Ig] - [#21551]) ([google_assistant docs]) +- Update to teslajsonpy v0.0.25 ([@alandtse] - [#21702]) ([tesla docs]) +- Utility Meter offset defined by a time_period ([@dgomes] - [#20926]) ([utility_meter docs]) (breaking change) +- Change amcrest camera_image to async ([@pnbruckner] - [#21720]) ([amcrest docs]) +- Start preparing for homekit_controller config entries ([@Jc2k] - [#21564]) ([homekit_controller docs]) +- Support multiple keys in ifttt triggers ([@zeehio] - [#21454]) ([ifttt docs]) +- Fix initialization and add "pending" status of Satel integra ([@c-soft] - [#21194]) ([satel_integra docs]) +- Fix pylint warning on python 3.7 ([@awarecan] - [#21714]) ([climate.eq3btsmart docs]) +- Make pytest in tox quite ([@awarecan] - [#21727]) +- tplink - catch SmartDeviceException on is_dimmable call ([@ljmerza] - [#21726]) ([tplink docs]) +- Remove pytest warning message ([@awarecan] - [#21713]) +- Update .travis.yml ([@pvizeli] - [#21736]) +- Revert Travis until github actions work better for PR ([@pvizeli] - [#21746]) +- Allow light toggle service to accept all turn on params ([@zewelor] - [#20912]) ([light docs]) +- Introduce target_temperature_state_address for climate device ([@marvin-w] - [#21541]) ([knx docs]) (breaking change) +- Upgrade pylint to 2.3.1 ([@scop] - [#21789]) +- Add Time of Flight Sensor using VL53L1X ([@josemotta] - [#21230]) ([tof docs]) (new-platform) +- Upgrade huawei-lte-api to 1.1.5 ([@scop] - [#21791]) ([huawei_lte docs]) +- Adding enigma2 media player ([@fbradyirl] - [#21271]) ([media_player.enigma2 docs]) (new-platform) +- Bump loopenergy to 0.1.0. Loop updated their socket.io server from 0.9 to 2.0 - which required a library update. ([@pavoni] - [#21809]) ([sensor.loopenergy docs]) +- remove occupancy, as it is not available at this level in the iRail api ([@nudded] - [#21810]) ([sensor.nmbs docs]) +- Onboarding to generate auth code ([@balloob] - [#21777]) ([auth docs]) ([onboarding docs]) +- Remove stub from config component ([@balloob] - [#21822]) ([config docs]) +- change paths to be relative ([@uchagani] - [#21827]) ([zwave docs]) +- Change how we import config modules ([@balloob] - [#21824]) ([config docs]) +- Load logger and system_log components as soon as possible ([@awarecan] - [#21799]) +- Resolve auth_store loading race condition ([@awarecan] - [#21794]) +- Log if aiohttp hits error during IndieAuth ([@robbiet480] - [#21780]) ([auth docs]) +- Add support for Cisco Mobility Express ([@fbradyirl] - [#21531]) ([cisco_mobility_express docs]) (new-platform) +- Synology sensor quick return if attr is null ([@cmsimike] - [#21709]) ([sensor.synologydsm docs]) +- fix empty TOPIC_BASE issue ([@engrbm87] - [#21740]) ([mqtt docs]) +- Updated to pyeconet 0.0.10 ([@w1ll1am23] - [#21837]) ([water_heater docs]) +- Fix config entry exception in Ambient PWS ([@bachya] - [#21836]) ([ambient_station docs]) +- Fixed a misspelling in a docstring ([@bachya] - [#21846]) ([ambient_station docs]) +- mobile_app improvements ([@robbiet480] - [#21607]) ([mobile_app docs]) +- Update honeywell.py to read current humidity for US Thermostats ([@Hackashaq666] - [#21728]) ([climate.honeywell docs]) +- Fix TypeError ([@wburgers] - [#21734]) ([sensor.dsmr docs]) +- Introduce Entity.async_write_ha_state() to not miss state transition ([@emontnemery] - [#21590]) +- Fix authorization header in cors ([@piitaya] - [#21662]) ([http docs]) +- Only commit if need. ([@awarecan] - [#21848]) +- Bump quirks for ZHA and handle resulting battery % change ([@dmulcahey] - [#21869]) ([zha docs]) +- Better cloud check ([@balloob] - [#21875]) ([cloud docs]) ([mobile_app docs]) +- Add ClearPass Policy Manger device tracker ([@zemerick1] - [#21673]) ([device_tracker docs]) (new-platform) +- Add SmartThings climate support for Air Conditioners ([@andrewsayre] - [#21840]) ([smartthings docs]) (new-feature) +- Add SmartThings sensor support for Three Axis ([@andrewsayre] - [#21841]) ([smartthings docs]) (new-feature) +- Add user group ([@balloob] - [#21832]) +- Update ZHA state handling ([@dmulcahey] - [#21866]) ([zha docs]) +- Change lib for whois sensor ([@ludeeus] - [#21878]) ([sensor.whois docs]) +- Don't wait until final position of Velux cover is reached ([@Julius2342] - [#21558]) ([velux docs]) +- Fix missing code_required check in async_alarm_arm_night ([@ToRvaLDz] - [#21858]) ([mqtt docs]) +- Fix icon for sensor.discogs_random_record ([@thibmaek] - [#21891]) ([sensor.discogs docs]) +- Add myself to CODEOWNERS for NMBS code ([@thibmaek] - [#21892]) +- Modbus write_register accept single value and array ([@gertdb] - [#21621]) ([modbus docs]) +- Add custom holidays to workday sensor ([@epleypa] - [#21718]) ([binary_sensor.workday docs]) +- Return time based attributes as datetime in Unifi module ([@ndonegan] - [#21146]) ([device_tracker docs]) +- Allow emulated hue to set climate component temperature ([@chilicheech] - [#19034]) ([emulated_hue docs]) +- bump netdisco to 2.4.0 ([@fbradyirl] - [#21914]) +- Deprecate http.api_password ([@awarecan] - [#21884]) ([api docs]) ([frontend docs]) ([hassio docs]) ([http docs]) ([mqtt docs]) ([websocket_api docs]) ([zeroconf docs]) ([camera.proxy docs]) (breaking change) +- Don't hang forever if manually added cast is down ([@emontnemery] - [#21565]) ([cast docs]) +- Add WS subscription command for MQTT ([@balloob] - [#21696]) ([mqtt docs]) ([websocket_api docs]) +- Add 'ssl' parameter for FiOS Quantum Gateway and upgrade Pypi ([@cisasteelersfan] - [#21669]) ([device_tracker docs]) +- Add as_timestamp() to Jinja filters. ([@rbdixon] - [#21910]) +- HomeKit controller config flow fixes ([@Jc2k] - [#21898]) ([homekit_controller docs]) +- Update enigma2 based on review comments ([@fbradyirl] - [#21890]) ([enigma2 docs]) +- Remove confusing warning for TTS without entity_id ([@amelchio] - [#21927]) ([tts docs]) +- Fixes Modbus service.yaml validity ([@gertdb] - [#21923]) +- Add cloudhook support to SmartThings component ([@andrewsayre] - [#21905]) ([smartthings docs]) +- If registration supports encryption then return encrypted payloads ([@robbiet480] - [#21853]) ([mobile_app docs]) +- Allow inverting netdata sensor values ([@michaelarnauts] - [#21711]) ([sensor.netdata docs]) +- Changed from nanoleaf_aurora to nanoleaf ([@Oro] - [#21913]) ([light.nanoleaf docs]) (breaking change) +- Minor version bump for anthemav package ([@nugget] - [#21932]) ([media_player.anthemav docs]) +- Add area permission check ([@balloob] - [#21835]) +- Add an asyncio Lock around pairing, which cant be used concurrently ([@Jc2k] - [#21933]) ([homekit_controller docs]) +- Add update user command ([@balloob] - [#21922]) ([config docs]) +- Offload Cloud component ([@pvizeli] - [#21937]) ([cloud docs]) +- Upgrade schiene to 0.23 ([@fabaff] - [#21940]) ([sensor.deutsche_bahn docs]) +- Live Streams Component ([@hunterjm] - [#21473]) ([camera docs]) ([stream docs]) (new-platform) +- Update lametric icon to be HA logo ([@robbiet480] - [#21957]) ([lametric docs]) +- Avoid playing queue pollution when restoring Sonos snapshots ([@amelchio] - [#21963]) ([sonos docs]) +- Update to sense component to fully be async ([@kbickar] - [#21698]) ([sense docs]) +- fix ephember doing http call from property ([@ttroy50] - [#21855]) ([climate.ephember docs]) +- Add Weather Sensors to Homematic IP ([@SukramJ] - [#21887]) ([homematicip_cloud docs]) (new-platform) +- Add cloud status ([@balloob] - [#21960]) ([cloud docs]) +- Fix MagicHome LEDs with flux_led component ([@autinerd] - [#20733]) ([light.flux_led docs]) +- Stream: Only add base url when needed ([@balloob] - [#21979]) ([camera docs]) ([stream docs]) +- Allow changing password without being admin ([@balloob] - [#21978]) ([config docs]) +- Fix some cloud things ([@balloob] - [#21977]) +- homekit_controller: Bump homekit to 0.13.0 ([@Jc2k] - [#21965]) ([homekit_controller docs]) +- skip flaky test ([@balloob] - [#21981]) +- Write state directly in all MQTT platforms ([@emontnemery] - [#21971]) ([mqtt docs]) +- Use .get to ensure we dont get KeyError ([@robbiet480] - [#21993]) ([mobile_app docs]) +- Fix error introduced by #21933 ([@Jc2k] - [#21988]) ([homekit_controller docs]) +- Add stream source for amcrest component ([@dshokouhi] - [#21983]) ([amcrest docs]) +- Set homekit controller entity as unavailable if new connections fail ([@Jc2k] - [#21901]) ([homekit_controller docs]) +- Centrally define Energy Units (kWh and Wh) ([@dgomes] - [#21719]) +- Mobile App: Registration schema improvements ([@robbiet480] - [#21850]) ([mobile_app docs]) +- Add a service require_admin wrapper ([@balloob] - [#21953]) +- Update pyhomematic to 0.1.58 ([@danielperna84] - [#21989]) ([homematic docs]) +- Use asyncio lock ([@amelchio] - [#21985]) ([sonos docs]) +- Add breaking change section to PR template ([@awarecan] - [#21994]) +- Rename 'firetv' to 'androidtv' and add Android TV functionality ([@JeffLIrion] - [#21944]) (breaking change) +- Tellstick sensor configuration cleanup ([@endor-force] - [#21402]) ([tellstick docs]) (breaking change) +- Add availability and next run datetime to RainMachine switches ([@bachya] - [#21786]) ([rainmachine docs]) +- Add program/zone enable/disable services to RainMachine ([@bachya] - [#21785]) ([rainmachine docs]) +- Bump NabuCasa library to 0.5 ([@pvizeli] - [#22010]) ([cloud docs]) +- Avoid playing queue pollution with Sonos unjoin ([@amelchio] - [#22004]) ([sonos docs]) +- Wait for Sonos regrouping in service calls ([@amelchio] - [#22006]) ([sonos docs]) +- fix error in LutronButton init if Button doesn't have a type ([@beavis9k] - [#21921]) ([lutron docs]) +- HomeKit controller light - remove code that can never execute ([@Jc2k] - [#21951]) ([homekit_controller docs]) +- Nanoleaf availability check ([@Oro] - [#21945]) ([light.nanoleaf docs]) +- Pass Message object to MQTT message callbacks ([@emontnemery] - [#21959]) ([mqtt docs]) (breaking change) +- Remove default temp unit ([@andrewsayre] - [#22012]) ([smartthings docs]) +- Allow all success status codes in REST notify response ([@isabellaalstrom] - [#22011]) ([notify docs]) +- Check updated_date for list and pick first ([@GGeezes] - [#22008]) +- Remove UTF8 decoding for Waze ([@philhawthorne] - [#22020]) ([sensor.waze_travel_time docs]) (beta fix) +- Bring back the boiler status ([@cgtobi] - [#22021]) ([netatmo docs]) (beta fix) +- Update additional platforms to use new MQTT message callback ([@emontnemery] - [#22030]) ([device_tracker docs]) ([mqtt_eventstream docs]) ([owntracks docs]) ([snips docs]) ([alarm_control_panel.manual_mqtt docs]) ([automation.mqtt docs]) ([sensor.arwn docs]) ([sensor.mqtt_room docs]) (beta fix) +- Fix lifx light async error ([@awarecan] - [#22031]) ([lifx docs]) (beta fix) +- Fix Google Assistant User with Cloud ([@pvizeli] - [#22042]) ([cloud docs]) (beta fix) +- Mobile App: Require encryption for registrations that support it ([@robbiet480] - [#21852]) ([mobile_app docs]) (beta fix) +- Mobile App: Support rendering multiple templates at once ([@robbiet480] - [#21851]) ([mobile_app docs]) (beta fix) +- Mobile App: Update Location schema updates & device ID generation ([@robbiet480] - [#21849]) ([mobile_app docs]) (beta fix) +- Mobile App: Register devices into the registry ([@robbiet480] - [#21856]) ([mobile_app docs]) (beta fix) +- Mobile App: Sensors ([@robbiet480] - [#21854]) ([mobile_app docs]) (beta fix) (new-platform) +- Bump androidtv to 0.0.11 ([@JeffLIrion] - [#22025]) ([androidtv docs]) (beta fix) +- Mobile App: Enable loading via discovery (surprise inside!) ([@robbiet480] - [#22027]) ([mobile_app docs]) (beta fix) +- Mobile App: Discovery to default configuration.yaml, zeroconf to default_config ([@robbiet480] - [#22028]) ([default_config docs]) ([mobile_app docs]) (beta fix) +- Mobile App: Expose Cloud Remote UI FQDN in registration response ([@robbiet480] - [#22055]) ([cloud docs]) ([mobile_app docs]) (beta fix) +- Return config entry ID after creation ([@balloob] - [#22060]) ([config docs]) (beta fix) +- Correct context ([@awarecan] - [#22061]) ([alexa docs]) (beta fix) +- Binary Sensor for Remote UI & Fix timezone ([@pvizeli] - [#22076]) (beta fix) +- Bump androidtv to 0.0.12 ([@JeffLIrion] - [#22072]) ([androidtv docs]) (beta fix) +- Prevent cloud remote UI when using 127.0.0.1 as trusted network ([@balloob] - [#22093]) ([cloud docs]) (beta fix) +- Beta Fix: FFMPEG and Stream component ([@hunterjm] - [#22091]) ([camera.ffmpeg docs]) ([camera.generic docs]) ([camera.onvif docs]) (beta fix) +- delete previously removed service option from services yaml ([@hunterjm] - [#22123]) (beta fix) +- Remove hass.config from aws_lambda notify payload ([@awarecan] - [#22125]) (breaking change) (beta fix) +- Allow non-admins to listen to certain events ([@balloob] - [#22137]) ([websocket_api docs]) (beta fix) +- Bump tado version ([@WebSpider] - [#22145]) ([tado docs]) (beta fix) +- Fix resetting access token on streams with keepalive ([@hunterjm] - [#22148]) ([stream docs]) (beta fix) +- Remove config check over supervisor ([@pvizeli] - [#22156]) ([hassio docs]) (beta fix) +- Upgrade toonapilib to 3.2.2 + lower interval ([@frenck] - [#22160]) ([toon docs]) (beta fix) +- bump total_connect_client to 0.24 ([@uchagani] - [#22166]) ([totalconnect docs]) (beta fix) +- Update Hass-NabuCasa 0.8 ([@pvizeli] - [#22177]) ([cloud docs]) (beta fix) +- Always load Hass.io component on Hass.io ([@balloob] - [#22185]) (beta fix) +- Fixed typing errors ([@Swamp-Ig] - [#22207]) (beta fix) + +[#19034]: https://github.com/home-assistant/home-assistant/pull/19034 +[#19407]: https://github.com/home-assistant/home-assistant/pull/19407 +[#19558]: https://github.com/home-assistant/home-assistant/pull/19558 +[#19650]: https://github.com/home-assistant/home-assistant/pull/19650 +[#20253]: https://github.com/home-assistant/home-assistant/pull/20253 +[#20733]: https://github.com/home-assistant/home-assistant/pull/20733 +[#20912]: https://github.com/home-assistant/home-assistant/pull/20912 +[#20926]: https://github.com/home-assistant/home-assistant/pull/20926 +[#21026]: https://github.com/home-assistant/home-assistant/pull/21026 +[#21028]: https://github.com/home-assistant/home-assistant/pull/21028 +[#21128]: https://github.com/home-assistant/home-assistant/pull/21128 +[#21146]: https://github.com/home-assistant/home-assistant/pull/21146 +[#21189]: https://github.com/home-assistant/home-assistant/pull/21189 +[#21194]: https://github.com/home-assistant/home-assistant/pull/21194 +[#21230]: https://github.com/home-assistant/home-assistant/pull/21230 +[#21271]: https://github.com/home-assistant/home-assistant/pull/21271 +[#21302]: https://github.com/home-assistant/home-assistant/pull/21302 +[#21308]: https://github.com/home-assistant/home-assistant/pull/21308 +[#21402]: https://github.com/home-assistant/home-assistant/pull/21402 +[#21415]: https://github.com/home-assistant/home-assistant/pull/21415 +[#21419]: https://github.com/home-assistant/home-assistant/pull/21419 +[#21449]: https://github.com/home-assistant/home-assistant/pull/21449 +[#21454]: https://github.com/home-assistant/home-assistant/pull/21454 +[#21472]: https://github.com/home-assistant/home-assistant/pull/21472 +[#21473]: https://github.com/home-assistant/home-assistant/pull/21473 +[#21475]: https://github.com/home-assistant/home-assistant/pull/21475 +[#21488]: https://github.com/home-assistant/home-assistant/pull/21488 +[#21498]: https://github.com/home-assistant/home-assistant/pull/21498 +[#21499]: https://github.com/home-assistant/home-assistant/pull/21499 +[#21500]: https://github.com/home-assistant/home-assistant/pull/21500 +[#21501]: https://github.com/home-assistant/home-assistant/pull/21501 +[#21502]: https://github.com/home-assistant/home-assistant/pull/21502 +[#21513]: https://github.com/home-assistant/home-assistant/pull/21513 +[#21514]: https://github.com/home-assistant/home-assistant/pull/21514 +[#21515]: https://github.com/home-assistant/home-assistant/pull/21515 +[#21516]: https://github.com/home-assistant/home-assistant/pull/21516 +[#21517]: https://github.com/home-assistant/home-assistant/pull/21517 +[#21519]: https://github.com/home-assistant/home-assistant/pull/21519 +[#21523]: https://github.com/home-assistant/home-assistant/pull/21523 +[#21524]: https://github.com/home-assistant/home-assistant/pull/21524 +[#21525]: https://github.com/home-assistant/home-assistant/pull/21525 +[#21531]: https://github.com/home-assistant/home-assistant/pull/21531 +[#21533]: https://github.com/home-assistant/home-assistant/pull/21533 +[#21534]: https://github.com/home-assistant/home-assistant/pull/21534 +[#21535]: https://github.com/home-assistant/home-assistant/pull/21535 +[#21541]: https://github.com/home-assistant/home-assistant/pull/21541 +[#21543]: https://github.com/home-assistant/home-assistant/pull/21543 +[#21545]: https://github.com/home-assistant/home-assistant/pull/21545 +[#21548]: https://github.com/home-assistant/home-assistant/pull/21548 +[#21549]: https://github.com/home-assistant/home-assistant/pull/21549 +[#21551]: https://github.com/home-assistant/home-assistant/pull/21551 +[#21558]: https://github.com/home-assistant/home-assistant/pull/21558 +[#21564]: https://github.com/home-assistant/home-assistant/pull/21564 +[#21565]: https://github.com/home-assistant/home-assistant/pull/21565 +[#21568]: https://github.com/home-assistant/home-assistant/pull/21568 +[#21570]: https://github.com/home-assistant/home-assistant/pull/21570 +[#21571]: https://github.com/home-assistant/home-assistant/pull/21571 +[#21575]: https://github.com/home-assistant/home-assistant/pull/21575 +[#21576]: https://github.com/home-assistant/home-assistant/pull/21576 +[#21583]: https://github.com/home-assistant/home-assistant/pull/21583 +[#21590]: https://github.com/home-assistant/home-assistant/pull/21590 +[#21592]: https://github.com/home-assistant/home-assistant/pull/21592 +[#21594]: https://github.com/home-assistant/home-assistant/pull/21594 +[#21600]: https://github.com/home-assistant/home-assistant/pull/21600 +[#21601]: https://github.com/home-assistant/home-assistant/pull/21601 +[#21602]: https://github.com/home-assistant/home-assistant/pull/21602 +[#21606]: https://github.com/home-assistant/home-assistant/pull/21606 +[#21607]: https://github.com/home-assistant/home-assistant/pull/21607 +[#21609]: https://github.com/home-assistant/home-assistant/pull/21609 +[#21610]: https://github.com/home-assistant/home-assistant/pull/21610 +[#21612]: https://github.com/home-assistant/home-assistant/pull/21612 +[#21620]: https://github.com/home-assistant/home-assistant/pull/21620 +[#21621]: https://github.com/home-assistant/home-assistant/pull/21621 +[#21627]: https://github.com/home-assistant/home-assistant/pull/21627 +[#21633]: https://github.com/home-assistant/home-assistant/pull/21633 +[#21634]: https://github.com/home-assistant/home-assistant/pull/21634 +[#21641]: https://github.com/home-assistant/home-assistant/pull/21641 +[#21642]: https://github.com/home-assistant/home-assistant/pull/21642 +[#21643]: https://github.com/home-assistant/home-assistant/pull/21643 +[#21647]: https://github.com/home-assistant/home-assistant/pull/21647 +[#21651]: https://github.com/home-assistant/home-assistant/pull/21651 +[#21653]: https://github.com/home-assistant/home-assistant/pull/21653 +[#21662]: https://github.com/home-assistant/home-assistant/pull/21662 +[#21664]: https://github.com/home-assistant/home-assistant/pull/21664 +[#21669]: https://github.com/home-assistant/home-assistant/pull/21669 +[#21673]: https://github.com/home-assistant/home-assistant/pull/21673 +[#21675]: https://github.com/home-assistant/home-assistant/pull/21675 +[#21678]: https://github.com/home-assistant/home-assistant/pull/21678 +[#21679]: https://github.com/home-assistant/home-assistant/pull/21679 +[#21693]: https://github.com/home-assistant/home-assistant/pull/21693 +[#21694]: https://github.com/home-assistant/home-assistant/pull/21694 +[#21696]: https://github.com/home-assistant/home-assistant/pull/21696 +[#21698]: https://github.com/home-assistant/home-assistant/pull/21698 +[#21702]: https://github.com/home-assistant/home-assistant/pull/21702 +[#21709]: https://github.com/home-assistant/home-assistant/pull/21709 +[#21711]: https://github.com/home-assistant/home-assistant/pull/21711 +[#21713]: https://github.com/home-assistant/home-assistant/pull/21713 +[#21714]: https://github.com/home-assistant/home-assistant/pull/21714 +[#21718]: https://github.com/home-assistant/home-assistant/pull/21718 +[#21719]: https://github.com/home-assistant/home-assistant/pull/21719 +[#21720]: https://github.com/home-assistant/home-assistant/pull/21720 +[#21726]: https://github.com/home-assistant/home-assistant/pull/21726 +[#21727]: https://github.com/home-assistant/home-assistant/pull/21727 +[#21728]: https://github.com/home-assistant/home-assistant/pull/21728 +[#21734]: https://github.com/home-assistant/home-assistant/pull/21734 +[#21736]: https://github.com/home-assistant/home-assistant/pull/21736 +[#21740]: https://github.com/home-assistant/home-assistant/pull/21740 +[#21746]: https://github.com/home-assistant/home-assistant/pull/21746 +[#21777]: https://github.com/home-assistant/home-assistant/pull/21777 +[#21780]: https://github.com/home-assistant/home-assistant/pull/21780 +[#21785]: https://github.com/home-assistant/home-assistant/pull/21785 +[#21786]: https://github.com/home-assistant/home-assistant/pull/21786 +[#21789]: https://github.com/home-assistant/home-assistant/pull/21789 +[#21791]: https://github.com/home-assistant/home-assistant/pull/21791 +[#21794]: https://github.com/home-assistant/home-assistant/pull/21794 +[#21799]: https://github.com/home-assistant/home-assistant/pull/21799 +[#21809]: https://github.com/home-assistant/home-assistant/pull/21809 +[#21810]: https://github.com/home-assistant/home-assistant/pull/21810 +[#21822]: https://github.com/home-assistant/home-assistant/pull/21822 +[#21824]: https://github.com/home-assistant/home-assistant/pull/21824 +[#21827]: https://github.com/home-assistant/home-assistant/pull/21827 +[#21832]: https://github.com/home-assistant/home-assistant/pull/21832 +[#21835]: https://github.com/home-assistant/home-assistant/pull/21835 +[#21836]: https://github.com/home-assistant/home-assistant/pull/21836 +[#21837]: https://github.com/home-assistant/home-assistant/pull/21837 +[#21840]: https://github.com/home-assistant/home-assistant/pull/21840 +[#21841]: https://github.com/home-assistant/home-assistant/pull/21841 +[#21846]: https://github.com/home-assistant/home-assistant/pull/21846 +[#21848]: https://github.com/home-assistant/home-assistant/pull/21848 +[#21849]: https://github.com/home-assistant/home-assistant/pull/21849 +[#21850]: https://github.com/home-assistant/home-assistant/pull/21850 +[#21851]: https://github.com/home-assistant/home-assistant/pull/21851 +[#21852]: https://github.com/home-assistant/home-assistant/pull/21852 +[#21853]: https://github.com/home-assistant/home-assistant/pull/21853 +[#21854]: https://github.com/home-assistant/home-assistant/pull/21854 +[#21855]: https://github.com/home-assistant/home-assistant/pull/21855 +[#21856]: https://github.com/home-assistant/home-assistant/pull/21856 +[#21858]: https://github.com/home-assistant/home-assistant/pull/21858 +[#21866]: https://github.com/home-assistant/home-assistant/pull/21866 +[#21869]: https://github.com/home-assistant/home-assistant/pull/21869 +[#21875]: https://github.com/home-assistant/home-assistant/pull/21875 +[#21878]: https://github.com/home-assistant/home-assistant/pull/21878 +[#21884]: https://github.com/home-assistant/home-assistant/pull/21884 +[#21887]: https://github.com/home-assistant/home-assistant/pull/21887 +[#21890]: https://github.com/home-assistant/home-assistant/pull/21890 +[#21891]: https://github.com/home-assistant/home-assistant/pull/21891 +[#21892]: https://github.com/home-assistant/home-assistant/pull/21892 +[#21898]: https://github.com/home-assistant/home-assistant/pull/21898 +[#21901]: https://github.com/home-assistant/home-assistant/pull/21901 +[#21905]: https://github.com/home-assistant/home-assistant/pull/21905 +[#21910]: https://github.com/home-assistant/home-assistant/pull/21910 +[#21913]: https://github.com/home-assistant/home-assistant/pull/21913 +[#21914]: https://github.com/home-assistant/home-assistant/pull/21914 +[#21921]: https://github.com/home-assistant/home-assistant/pull/21921 +[#21922]: https://github.com/home-assistant/home-assistant/pull/21922 +[#21923]: https://github.com/home-assistant/home-assistant/pull/21923 +[#21927]: https://github.com/home-assistant/home-assistant/pull/21927 +[#21932]: https://github.com/home-assistant/home-assistant/pull/21932 +[#21933]: https://github.com/home-assistant/home-assistant/pull/21933 +[#21937]: https://github.com/home-assistant/home-assistant/pull/21937 +[#21940]: https://github.com/home-assistant/home-assistant/pull/21940 +[#21944]: https://github.com/home-assistant/home-assistant/pull/21944 +[#21945]: https://github.com/home-assistant/home-assistant/pull/21945 +[#21951]: https://github.com/home-assistant/home-assistant/pull/21951 +[#21953]: https://github.com/home-assistant/home-assistant/pull/21953 +[#21957]: https://github.com/home-assistant/home-assistant/pull/21957 +[#21959]: https://github.com/home-assistant/home-assistant/pull/21959 +[#21960]: https://github.com/home-assistant/home-assistant/pull/21960 +[#21963]: https://github.com/home-assistant/home-assistant/pull/21963 +[#21965]: https://github.com/home-assistant/home-assistant/pull/21965 +[#21971]: https://github.com/home-assistant/home-assistant/pull/21971 +[#21977]: https://github.com/home-assistant/home-assistant/pull/21977 +[#21978]: https://github.com/home-assistant/home-assistant/pull/21978 +[#21979]: https://github.com/home-assistant/home-assistant/pull/21979 +[#21981]: https://github.com/home-assistant/home-assistant/pull/21981 +[#21983]: https://github.com/home-assistant/home-assistant/pull/21983 +[#21985]: https://github.com/home-assistant/home-assistant/pull/21985 +[#21988]: https://github.com/home-assistant/home-assistant/pull/21988 +[#21989]: https://github.com/home-assistant/home-assistant/pull/21989 +[#21993]: https://github.com/home-assistant/home-assistant/pull/21993 +[#21994]: https://github.com/home-assistant/home-assistant/pull/21994 +[#22004]: https://github.com/home-assistant/home-assistant/pull/22004 +[#22006]: https://github.com/home-assistant/home-assistant/pull/22006 +[#22008]: https://github.com/home-assistant/home-assistant/pull/22008 +[#22010]: https://github.com/home-assistant/home-assistant/pull/22010 +[#22011]: https://github.com/home-assistant/home-assistant/pull/22011 +[#22012]: https://github.com/home-assistant/home-assistant/pull/22012 +[#22020]: https://github.com/home-assistant/home-assistant/pull/22020 +[#22021]: https://github.com/home-assistant/home-assistant/pull/22021 +[#22025]: https://github.com/home-assistant/home-assistant/pull/22025 +[#22027]: https://github.com/home-assistant/home-assistant/pull/22027 +[#22028]: https://github.com/home-assistant/home-assistant/pull/22028 +[#22030]: https://github.com/home-assistant/home-assistant/pull/22030 +[#22031]: https://github.com/home-assistant/home-assistant/pull/22031 +[#22042]: https://github.com/home-assistant/home-assistant/pull/22042 +[#22055]: https://github.com/home-assistant/home-assistant/pull/22055 +[#22060]: https://github.com/home-assistant/home-assistant/pull/22060 +[#22061]: https://github.com/home-assistant/home-assistant/pull/22061 +[#22072]: https://github.com/home-assistant/home-assistant/pull/22072 +[#22076]: https://github.com/home-assistant/home-assistant/pull/22076 +[#22091]: https://github.com/home-assistant/home-assistant/pull/22091 +[#22093]: https://github.com/home-assistant/home-assistant/pull/22093 +[#22123]: https://github.com/home-assistant/home-assistant/pull/22123 +[#22125]: https://github.com/home-assistant/home-assistant/pull/22125 +[#22137]: https://github.com/home-assistant/home-assistant/pull/22137 +[#22145]: https://github.com/home-assistant/home-assistant/pull/22145 +[#22148]: https://github.com/home-assistant/home-assistant/pull/22148 +[#22156]: https://github.com/home-assistant/home-assistant/pull/22156 +[#22160]: https://github.com/home-assistant/home-assistant/pull/22160 +[#22166]: https://github.com/home-assistant/home-assistant/pull/22166 +[#22177]: https://github.com/home-assistant/home-assistant/pull/22177 +[#22185]: https://github.com/home-assistant/home-assistant/pull/22185 +[#22207]: https://github.com/home-assistant/home-assistant/pull/22207 +[@Cereal2nd]: https://github.com/Cereal2nd +[@Danielhiversen]: https://github.com/Danielhiversen +[@Dullage]: https://github.com/Dullage +[@GGeezes]: https://github.com/GGeezes +[@Hackashaq666]: https://github.com/Hackashaq666 +[@Jc2k]: https://github.com/Jc2k +[@JeffLIrion]: https://github.com/JeffLIrion +[@Julius2342]: https://github.com/Julius2342 +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@Oro]: https://github.com/Oro +[@StevenLooman]: https://github.com/StevenLooman +[@SukramJ]: https://github.com/SukramJ +[@Swamp-Ig]: https://github.com/Swamp-Ig +[@ToRvaLDz]: https://github.com/ToRvaLDz +[@WebSpider]: https://github.com/WebSpider +[@alandtse]: https://github.com/alandtse +[@amelchio]: https://github.com/amelchio +[@andrewsayre]: https://github.com/andrewsayre +[@arsaboo]: https://github.com/arsaboo +[@autinerd]: https://github.com/autinerd +[@awarecan]: https://github.com/awarecan +[@bachya]: https://github.com/bachya +[@balloob]: https://github.com/balloob +[@beavis9k]: https://github.com/beavis9k +[@c-soft]: https://github.com/c-soft +[@cgtobi]: https://github.com/cgtobi +[@chilicheech]: https://github.com/chilicheech +[@cisasteelersfan]: https://github.com/cisasteelersfan +[@cmsimike]: https://github.com/cmsimike +[@cpopp]: https://github.com/cpopp +[@danielperna84]: https://github.com/danielperna84 +[@dgomes]: https://github.com/dgomes +[@dmulcahey]: https://github.com/dmulcahey +[@dshokouhi]: https://github.com/dshokouhi +[@ehendrix23]: https://github.com/ehendrix23 +[@emontnemery]: https://github.com/emontnemery +[@endor-force]: https://github.com/endor-force +[@engrbm87]: https://github.com/engrbm87 +[@epleypa]: https://github.com/epleypa +[@fabaff]: https://github.com/fabaff +[@fbradyirl]: https://github.com/fbradyirl +[@frenck]: https://github.com/frenck +[@gertdb]: https://github.com/gertdb +[@heythisisnate]: https://github.com/heythisisnate +[@hunterjm]: https://github.com/hunterjm +[@isabellaalstrom]: https://github.com/isabellaalstrom +[@josemotta]: https://github.com/josemotta +[@kbickar]: https://github.com/kbickar +[@kennedyshead]: https://github.com/kennedyshead +[@koolsb]: https://github.com/koolsb +[@ktnrg45]: https://github.com/ktnrg45 +[@ljmerza]: https://github.com/ljmerza +[@ludeeus]: https://github.com/ludeeus +[@marvin-w]: https://github.com/marvin-w +[@michaelarnauts]: https://github.com/michaelarnauts +[@msvinth]: https://github.com/msvinth +[@mw-white]: https://github.com/mw-white +[@ndonegan]: https://github.com/ndonegan +[@nickw444]: https://github.com/nickw444 +[@nudded]: https://github.com/nudded +[@nugget]: https://github.com/nugget +[@pavoni]: https://github.com/pavoni +[@philhawthorne]: https://github.com/philhawthorne +[@piitaya]: https://github.com/piitaya +[@pnbruckner]: https://github.com/pnbruckner +[@pvizeli]: https://github.com/pvizeli +[@rbdixon]: https://github.com/rbdixon +[@robbiet480]: https://github.com/robbiet480 +[@roblandry]: https://github.com/roblandry +[@rohankapoorcom]: https://github.com/rohankapoorcom +[@scop]: https://github.com/scop +[@shanbs]: https://github.com/shanbs +[@srirams]: https://github.com/srirams +[@thibmaek]: https://github.com/thibmaek +[@trunet]: https://github.com/trunet +[@ttroy50]: https://github.com/ttroy50 +[@u1f35c]: https://github.com/u1f35c +[@uchagani]: https://github.com/uchagani +[@w1ll1am23]: https://github.com/w1ll1am23 +[@wburgers]: https://github.com/wburgers +[@webdjoe]: https://github.com/webdjoe +[@zeehio]: https://github.com/zeehio +[@zemerick1]: https://github.com/zemerick1 +[@zewelor]: https://github.com/zewelor +[air_quality docs]: /components/air_quality/ +[alarm_control_panel.manual_mqtt docs]: /components/alarm_control_panel.manual_mqtt/ +[alarm_control_panel.mqtt docs]: /components/alarm_control_panel.mqtt/ +[alarmdecoder docs]: /components/alarmdecoder/ +[alert docs]: /components/alert/ +[alexa docs]: /components/alexa/ +[ambient_station docs]: /components/ambient_station/ +[amcrest docs]: /components/amcrest/ +[androidtv docs]: /components/androidtv/ +[api docs]: /components/api/ +[asuswrt docs]: /components/asuswrt/ +[auth docs]: /components/auth/ +[automation docs]: /components/automation/ +[automation.mqtt docs]: /docs/automation/trigger/#mqtt-trigger +[binary_sensor.trend docs]: /components/binary_sensor.trend/ +[binary_sensor.workday docs]: /components/binary_sensor.workday/ +[camera docs]: /components/camera/ +[camera.ffmpeg docs]: /components/camera.ffmpeg/ +[camera.generic docs]: /components/camera.generic/ +[camera.onvif docs]: /components/camera.onvif/ +[camera.proxy docs]: /components/camera.proxy/ +[camera.xeoma docs]: /components/camera.xeoma/ +[cast docs]: /components/cast/ +[cisco_mobility_express docs]: /components/cisco_mobility_express/ +[climate.ephember docs]: /components/climate.ephember/ +[climate.eq3btsmart docs]: /components/climate.eq3btsmart/ +[climate.honeywell docs]: /components/climate.honeywell/ +[climate.netatmo docs]: /components/climate.netatmo/ +[cloud docs]: /components/cloud/ +[config docs]: /components/config/ +[default_config docs]: /components/default_config/ +[device_tracker docs]: /components/device_tracker/ +[emulated_hue docs]: /components/emulated_hue/ +[enigma2 docs]: /components/enigma2/ +[frontend docs]: /components/frontend/ +[google_assistant docs]: /components/google_assistant/ +[group docs]: /components/group/ +[hassio docs]: /components/hassio/ +[homekit_controller docs]: /components/homekit_controller/ +[homematic docs]: /components/homematic/ +[homematicip_cloud docs]: /components/homematicip_cloud/ +[http docs]: /components/http/ +[huawei_lte docs]: /components/huawei_lte/ +[ifttt docs]: /components/ifttt/ +[ihc docs]: /components/ihc/ +[image_processing docs]: /components/image_processing/ +[image_processing.opencv docs]: /components/image_processing.opencv/ +[image_processing.tensorflow docs]: /components/image_processing.tensorflow/ +[knx docs]: /components/knx/ +[konnected docs]: /components/konnected/ +[lametric docs]: /components/lametric/ +[lifx docs]: /components/lifx/ +[light docs]: /components/light/ +[light.flux_led docs]: /components/light.flux_led/ +[light.ihc docs]: /components/light.ihc/ +[light.mystrom docs]: /components/light.mystrom/ +[light.nanoleaf docs]: /components/light.nanoleaf/ +[logbook docs]: /components/logbook/ +[lutron docs]: /components/lutron/ +[media_extractor docs]: /components/media_extractor/ +[media_player.anthemav docs]: /components/media_player.anthemav/ +[media_player.dlna_dmr docs]: /components/media_player.dlna_dmr/ +[media_player.enigma2 docs]: /components/media_player.enigma2/ +[media_player.firetv docs]: /components/media_player.firetv/ +[mobile_app docs]: /components/mobile_app/ +[modbus docs]: /components/modbus/ +[mqtt docs]: /components/mqtt/ +[mqtt_eventstream docs]: /components/mqtt_eventstream/ +[ness_alarm docs]: /components/ness_alarm/ +[netatmo docs]: /components/netatmo/ +[notify docs]: /components/notify/ +[notify.sendgrid docs]: /components/notify.sendgrid/ +[onboarding docs]: /components/onboarding/ +[openuv docs]: /components/openuv/ +[owntracks docs]: /components/owntracks/ +[ps4 docs]: /components/ps4/ +[rainmachine docs]: /components/rainmachine/ +[remote docs]: /components/remote/ +[remote.harmony docs]: /components/remote.harmony/ +[satel_integra docs]: /components/satel_integra/ +[scene docs]: /components/scene/ +[script docs]: /components/script/ +[sense docs]: /components/sense/ +[sensor.arwn docs]: /components/sensor.arwn/ +[sensor.deutsche_bahn docs]: /components/sensor.deutsche_bahn/ +[sensor.discogs docs]: /components/sensor.discogs/ +[sensor.dsmr docs]: /components/sensor.dsmr/ +[sensor.flunearyou docs]: /components/sensor.flunearyou/ +[sensor.loopenergy docs]: /components/sensor.loopenergy/ +[sensor.mopar docs]: /components/sensor.mopar/ +[sensor.mqtt_room docs]: /components/sensor.mqtt_room/ +[sensor.netdata docs]: /components/sensor.netdata/ +[sensor.nmbs docs]: /components/sensor.nmbs/ +[sensor.pollen docs]: /components/sensor.pollen/ +[sensor.seventeentrack docs]: /components/sensor.seventeentrack/ +[sensor.starlingbank docs]: /components/sensor.starlingbank/ +[sensor.synologydsm docs]: /components/sensor.synologydsm/ +[sensor.systemmonitor docs]: /components/sensor.systemmonitor/ +[sensor.waze_travel_time docs]: /components/sensor.waze_travel_time/ +[sensor.whois docs]: /components/sensor.whois/ +[smartthings docs]: /components/smartthings/ +[snips docs]: /components/snips/ +[sonos docs]: /components/sonos/ +[stream docs]: /components/stream/ +[switch.mystrom docs]: /components/switch.mystrom/ +[switch.vesync docs]: /components/switch.vesync/ +[tado docs]: /components/tado/ +[tellstick docs]: /components/tellstick/ +[tesla docs]: /components/tesla/ +[tof docs]: /components/tof/ +[toon docs]: /components/toon/ +[totalconnect docs]: /components/totalconnect/ +[tplink docs]: /components/tplink/ +[tts docs]: /components/tts/ +[utility_meter docs]: /components/utility_meter/ +[velbus docs]: /components/velbus/ +[velux docs]: /components/velux/ +[water_heater docs]: /components/water_heater/ +[websocket_api docs]: /components/websocket_api/ +[zeroconf docs]: /components/zeroconf/ +[zha docs]: /components/zha/ +[zwave docs]: /components/zwave/ diff --git a/source/images/blog/2019-03-release-90/remote.png b/source/images/blog/2019-03-release-90/remote.png new file mode 100644 index 00000000000..d8845668696 Binary files /dev/null and b/source/images/blog/2019-03-release-90/remote.png differ diff --git a/source/images/supported_brands/androidtv.png b/source/images/supported_brands/androidtv.png new file mode 100644 index 00000000000..b98653066da Binary files /dev/null and b/source/images/supported_brands/androidtv.png differ diff --git a/source/images/supported_brands/nanoleaf_aurora_light.png b/source/images/supported_brands/nanoleaf_light.png similarity index 100% rename from source/images/supported_brands/nanoleaf_aurora_light.png rename to source/images/supported_brands/nanoleaf_light.png diff --git a/source/images/supported_brands/openwebif.png b/source/images/supported_brands/openwebif.png new file mode 100644 index 00000000000..dcf13e70de7 Binary files /dev/null and b/source/images/supported_brands/openwebif.png differ diff --git a/source/images/supported_brands/xfinity.svg b/source/images/supported_brands/xfinity.svg new file mode 100644 index 00000000000..8a9ec171c8a --- /dev/null +++ b/source/images/supported_brands/xfinity.svg @@ -0,0 +1,102 @@ + + + + diff --git a/source/lovelace/changelog.markdown b/source/lovelace/changelog.markdown index 28256d46317..fada8fe4830 100644 --- a/source/lovelace/changelog.markdown +++ b/source/lovelace/changelog.markdown @@ -8,6 +8,13 @@ comments: false sharing: true footer: true --- +## {% linkable_title Changes in 0.88.0 %} +- 📣 Disable toast notifications for successful operations ([#2700](https://github.com/home-assistant/home-assistant-polymer/pull/2822)) +- 📣 Color Picker: Toggleable between segmented and continuous ([#2806](https://github.com/home-assistant/home-assistant-polymer/pull/2806)) +- 📣 Theming: New CSS card style `ha-card-box-shadow` ([#2855](https://github.com/home-assistant/home-assistant-polymer/pull/2855)) +- 🔧 Fix login issue on Firefox ([#2860](https://github.com/home-assistant/home-assistant-polymer/pull/2860)) +- 🔧 [light card]: Fix click events ([#2850](https://github.com/home-assistant/home-assistant-polymer/pull/2850)) + ## {% linkable_title Changes in 0.87.0 %} - 📣 MDI icons updated to [3.3.92](https://cdn.materialdesignicons.com/3.3.92/) - 📣 Theming: New CSS card style `ha-card-border-radius`This weekend I built a @code extension for @home_assistant! It connects with your Home Assistant host and will provide auto-completion for your entity_id's! Check it out in the Marketplace: https://t.co/21PxCqWrlQ Ideas/feedback more than welcome! Thanks for helping @balloob! pic.twitter.com/la9SPr5Rjw
— Kees Schollaart (@keesschollaart) March 17, 2019 +