---
title: "0.86: New Lovelace UI and Zigbee Management Panel!"
description: "Lovelace is in, Zigbee Control Panel is in. New demo is in."
date: 2019-01-23 00:01:03
date_formatted: "January 23, 2019"
author: Paulus Schoutsen
author_twitter: balloob
categories: Release-Notes
og_image: /images/blog/2019-01-release-86/zha.png
---

Today we're releasing Home Assistant 0.86. And oh wow, this is an amazing release. First awesome thing: the Lovelace user interface, which we've been working on for the last 8 months, is now the default in Home Assistant. We have a lot to talk about, so we created a separate blog post just for the Lovelace release [here](/blog/2019/01/23/lovelace-released/).

Next up, we've updated the [Home Assistant demo](https://demo.home-assistant.io). It's snappier, it's snazzier, and best of all: it contains four fully functional Lovelace user interfaces that you can play with! Change the states or go in config mode and add, edit or re-organize the cards. We've set it up in such a way now that the demo will be automatically updated with the latest release of Home Assistant, so it will always feature the latest things.

<p class='img'>
  <a href="https://demo.home-assistant.io"><img src='/images/blog/2019-01-release-86/demo.png' alt='Screenshot of the new demo.'></a>
  Screenshot of Lovelace in the new demo.
</p>

## Zigbee management panel

This release includes a brand new Zigbee management panel to manage your Zigbee network thanks to the hard work by [@dmulcahey] with the help of [@Adminiuga] and [@damarco]. The new panel makes it easy to:

 - Issue Permit and Remove operations
 - Reconfigure Node, which will rebind and reconfigure the reporting for a device. Which can help solve issues.
 - Reading and setting cluster attributes. This is useful for viewing and setting things such as device sensitivity levels.
 - View and issue cluster commands. Note on this feature: support for commands with arguments is coming soon.

The Zigbee team is also planning a bunch of cool things for 2019. Direct device binding (directly pairing remotes to lights) is already in development and they are planning support for group management as well. Targeted and broadcast joins are also right around the corner (we’re waiting for a new Zigpy release). Exciting times for Zigbee users!

<p class='img'>
  <img src='/images/blog/2019-01-release-86/zha.png' alt='Screenshot of the Zigbee management panel.'>
  Screenshot of the Zigbee management panel.
</p>

## Noteworthy breaking changes

Update: the entity ID one was too harsh, it's now a warning.

This release also includes two noteworthy breaking changes. One is a follow-up on the slugify breaking change from last release. We did not update the validation check for config options that need to be valid slugs. This means that some of your config values might be invalid. Keep an eye at the console as we have a new message to tell you which ones are wrong.

The following things are not allowed in entity IDs:

 - No capital letters
 - No leading or ending underscores
 - No double underscores

This issue also impacts the entity registry, which could contain in some cases invalid entity IDs. Expect entity IDs to change if they contained a double underscore (which becomes 1) or if they started/ended in an underscore (which will be removed).

Another noteworthy breaking change (sorry!), is that the automation `time` trigger has been split into two: `time` and `time_pattern`. If you had a time trigger containing the keys `hours`, `minutes` or `seconds`, update the platform from `time` to `time_pattern`.

## New Platforms

- Support for Homekit controller/alarm control panel ([@adrum] - [#19612]) ([homekit_controller docs]) ([alarm_control_panel.homekit_controller docs]) (new-platform)
- Add support for HomeKit Controller Locks ([@adrum] - [#19867]) ([homekit_controller docs]) ([lock.homekit_controller docs]) (new-platform)
- Add support for HomeKit Controller covers ([@adrum] - [#19866]) ([homekit_controller docs]) ([cover.homekit_controller docs]) (new-platform)
- Add Roku hub and remote ([@soberstadt] - [#17548]) ([roku docs]) ([media_player.roku docs]) ([remote.roku docs]) (breaking change) (new-platform)
- Add emulated_roku component ([@mindigmarton] - [#17596]) ([emulated_roku docs])

## Release 0.86.1 - January 23

- Hotfix for blink initialization failure. Fixes #20335 ([@fronzbot] - [#20351]) ([blink docs])
- [FIX] Time reporting incorrect in sensor.gtt ([@eliseomartelli] - [#20362]) ([sensor.gtt docs])
- Fix error when API doesn't return a forecast. ([@dgomes] - [#20365])
- Fix restore state crashing invalid entity ID ([@balloob] - [#20367])
- Calling save before load would crash Lovelace storage ([@balloob] - [#20368])

[#20351]: https://github.com/home-assistant/home-assistant/pull/20351
[#20362]: https://github.com/home-assistant/home-assistant/pull/20362
[#20365]: https://github.com/home-assistant/home-assistant/pull/20365
[#20367]: https://github.com/home-assistant/home-assistant/pull/20367
[#20368]: https://github.com/home-assistant/home-assistant/pull/20368
[@balloob]: https://github.com/balloob
[@dgomes]: https://github.com/dgomes
[@eliseomartelli]: https://github.com/eliseomartelli
[@fronzbot]: https://github.com/fronzbot
[blink docs]: /integrations/blink/
[sensor.gtt docs]: /integrations/gtt

## Release 0.86.2 - January 24

- Philips Hue - Remove unnessesary warning ([@starkillerOG] - [#20394]) ([hue docs])
- history allowed to load states with invalid entity IDs ([@balloob] - [#20399])

[#20394]: https://github.com/home-assistant/home-assistant/pull/20394
[#20399]: https://github.com/home-assistant/home-assistant/pull/20399
[@balloob]: https://github.com/balloob
[@starkillerOG]: https://github.com/starkillerOG
[hue docs]: /integrations/hue/

## Release 0.86.3 - January 26

- Philips Hue, include debug message for color gamut ([@starkillerOG] - [#20455]) ([hue docs])
- Warn instead of break for old slugs/entity ids ([@balloob] - [#20478])

[#20455]: https://github.com/home-assistant/home-assistant/pull/20455
[#20478]: https://github.com/home-assistant/home-assistant/pull/20478
[@balloob]: https://github.com/balloob
[@starkillerOG]: https://github.com/starkillerOG
[hue docs]: /integrations/hue/

## Release 0.86.4 - January 28

- Bumps aioasuswrt ([@kennedyshead] - [#20432]) ([asuswrt docs])
- Add check to validate gamut ([@starkillerOG] - [#20518])
- fix #20387 devices without model/protocol ([@fredrike] - [#20530]) ([tellduslive docs])

[#20432]: https://github.com/home-assistant/home-assistant/pull/20432
[#20518]: https://github.com/home-assistant/home-assistant/pull/20518
[#20530]: https://github.com/home-assistant/home-assistant/pull/20530
[@fredrike]: https://github.com/fredrike
[@kennedyshead]: https://github.com/kennedyshead
[@starkillerOG]: https://github.com/starkillerOG
[asuswrt docs]: /integrations/asuswrt/
[tellduslive docs]: /integrations/tellduslive/

## 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.

## Reporting Issues

Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template.

<!--more-->

## Breaking Changes

- Automation: Split time_pattern triggers from time trigger ([@armills] - [#19825]) ([automation.interval docs]) ([automation.time docs]) (breaking change)
- Each instance of Home Assistant will now generate it's own unique webhook url for Geofencyto use. One will need to be generated and provided to the iOS app to replace the existing url: `https://myhome.duckdns.org/api/geofency?api_password=HA_PASSWORD` ([@rohankapoorcom] - [#18951]) ([geofency docs]) (breaking change)
- Nest sensor: Correctly map hvac_state to Home Assistant states. Heating -> heat, Cooling -> cool. ([@mitchellrj] - [#19895]) ([sensor.nest docs]) (breaking change)
- Add nad telnet media player and merge nadtcp into media_player.nad ([@rymsha] - [#19704]) ([media_player.nad docs]) (breaking change)
- Prezzi Benzina: Added the service type to the name of the sensor to better differentiate between different service tiers. ([@eliseomartelli] - [#19980]) ([sensor.prezzibenzina docs]) (breaking change)
- PostNL attributes are updated, contain now more information ([@basbl] - [#18334]) (breaking change)
- Support for multiple Fibaro gateways. A list of gateways is expected instead of a single config. ([@pbalogh77] - [#19705]) ([fibaro docs]) ([binary_sensor.fibaro docs]) ([cover.fibaro docs]) ([light.fibaro docs]) ([scene.fibaro docs]) ([sensor.fibaro docs]) ([switch.fibaro docs]) (breaking change)
- Upgrade greeneye_monitor to 1.0. It now requires the full 8 digit serial number. ([@jkeljo] - [#19631]) ([greeneye_monitor docs]) (breaking change)
- Previous "manual" registration of roku devices will need to be updated or removed (discovery should discover all rokus on your network). ([@soberstadt] - [#17548]) ([roku docs]) ([media_player.roku docs]) ([remote.roku docs]) (breaking change) (new-platform)
- Alarm control panel entities will now use `number` as their code_format instead of `Number` ([@balloob] - [#20077]) ([alarm_control_panel docs]) (breaking change)
- OpenUV: users will now need to use the openuv.update_data service to request new data from the API. ([@bachya] - [#19949]) ([openuv docs]) (breaking change)
- Add support for connecting to multiple zoneminder instances ([@rohankapoorcom] - [#19955]) ([zoneminder docs]) ([camera.zoneminder docs]) ([sensor.zoneminder docs]) ([switch.zoneminder docs]) (breaking change)
- The gpslogger device_tracker platform no longer takes any configuration. The configuration needs to be applied to the component gpslogger instead. The platform will be automatically loaded with the component and should not be specified in configuration.yaml. Each instance of Home Assistant will now generate it's own unique webhook for GPSLogger to use. One will need to be generated and provided to the mobile app to the replace the existing url: `https://myhome.duckdns.org/api/gpslogger?api_password=HA_PASSWORD`. Home Assistant only supports using POST (no longer GET) for GPSLogger. The long lived access token is also no longer needed. ([@rohankapoorcom] - [#20044] - [#20079]) ([device_tracker docs]) ([gpslogger docs]) (breaking change)
- The locative device_tracker platform no longer takes any configuration. The configuration needs to be applied to the component locative instead. The platform will be automatically loaded with the component and should not be specified in configuration.yaml. Each instance of Home Assistant will now generate it's own unique webhook url for Locative to use. One will need to be generated and provided to the mobile app to replace the existing url: https://myhome.duckdns.org/api/locative?api_password=HA_PASSWORD. Home Assistant only supports using POST (no longer GET) for Locative. ([@rohankapoorcom] - [#19964] - [#20043]) ([device_tracker docs]) ([locative docs]) (breaking change)
- Sensibo to adhere to the operation mode states in HA climate component. ([@balloob] - [#20180]) ([climate.sensibo docs]) (breaking change) (beta fix)
- Any registered entity that started/ended with an underscore (will be removed) or had 2 subsequent underscores (1 will be removed) will be updated. ([@balloob] - [#20328]) (breaking change) (beta fix)
- The SMA sensor can monitor several new sensors. Unfortunately some of the existing sensors were renamed:
`current_power` is now `grid_power` and `grid_voltage` is now `voltage_l1` (the voltage from all three phases are available). The sensors also support the entity registry, making editing their names a breeze from the frontend. ([@kellerza] - [#19753]) ([sensor.sma docs])

## Beta Fixes

- Sensibo to use HA operation modes ([@balloob] - [#20180]) ([climate.sensibo docs]) (breaking change) (beta fix)
- Distribute reconnect ([@balloob] - [#20181]) ([cloud docs]) (beta fix)
- Add command to refresh auth ([@balloob] - [#20183]) ([cloud docs]) (beta fix)
- Improve Sonos discovery ([@amelchio] - [#20196]) ([sonos docs]) (beta fix)
- Handle non-string values in JSON renderer ([@pnbruckner] - [#20233]) (beta fix)
- Bump aioesphomeapi to 1.4.2 ([@OttoWinter] - [#20247]) ([esphome docs]) (beta fix)
- Remove double logging of automation action ([@amelchio] - [#20264]) (beta fix)
- Allow 'all' entity_id in service schema ([@amelchio] - [#20278]) (beta fix)
- Fix 'all' entity_id in service call extraction ([@amelchio] - [#20281]) (beta fix)
- Align valid_entity_id with new slugify ([@kellerza] - [#20231]) (beta fix)
- Config Validator: schema_with_slug_keys ([@kellerza] - [#20298]) (beta fix)
- Bugfix: prevent error notification when octoprint server auto detected but no configuration present. ([@reefab] - [#20303]) ([octoprint docs]) (beta fix)
- Should require the 'GATTOOL' setup extras which includes pexpect. ([@mitchellrj] - [#20263]) ([device_tracker docs]) (beta fix)
- Fix xiaomi speed attribute name clash ([@syssi] - [#20312]) ([fan.xiaomi_miio docs]) (beta fix)
- Update locationsharinglib to version 3.0.11 ([@rolfberkenbosch] - [#20322]) ([device_tracker docs]) (beta fix)
- Fix invalid entity ID in entity registry ([@balloob] - [#20328]) (breaking change) (beta fix)

## All changes

- Support for Homekit controller/alarm control panel ([@adrum] - [#19612]) ([homekit_controller docs]) ([alarm_control_panel.homekit_controller docs]) (new-platform)
- update powerview scene component to latest api. ([@sander76] - [#19717]) ([scene.hunterdouglas_powerview docs])
- Add support for Kwikset 914 Convert - lock.zwave id0446 (#19710) ([@cdkonecny] - [#19722]) ([lock.zwave docs])
- Added zwave lock state from alarm type workaround ([@adrum] - [#18996]) ([lock.zwave docs])
- Upgrade pwmled to 1.4.0 ([@soldag] - [#19783]) ([light.rpi_gpio_pwm docs])
- HomematicIP update version to 0.10.1 ([@mxworm] - [#19788]) ([homematicip_cloud docs])
- Remove duplicated MQTT switch test case ([@emontnemery] - [#19799])
- [1/3] Refactor mqtt-vacuum in preparation for discovery and device registry ([@quazzie] - [#19462]) ([vacuum.mqtt docs])
- [2/3] vacuum mqtt-discovery ([@quazzie] - [#19478]) ([mqtt docs]) ([vacuum docs]) ([vacuum.mqtt docs])
- SMA sensor - updated library ([@kellerza] - [#19753]) ([sensor.sma docs])
- [3/3] mqtt-vacuum device-registry ([@quazzie] - [#19479]) ([mqtt docs]) ([vacuum docs]) ([vacuum.mqtt docs])
- Remove temperature from the list of available forecast sensors ([@ReneNulschDE] - [#19818]) ([sensor.darksky docs])
- This makes the vasttrafik platform stop spamming the logs with warnings ([@kennedyshead] - [#19792]) ([sensor.vasttrafik docs])
- Bump pybotvac ([@dshokouhi] - [#19831]) ([neato docs])
- Cleanup if discovered mqtt switch can't be added ([@emontnemery] - [#19721]) ([switch.mqtt docs])
- adding more dimmer components ([@sander76] - [#19843]) ([light.homematicip_cloud docs])
- bump watefurnace version to 1.1.0 ([@sdague] - [#19847]) ([waterfurnace docs])
- Fix 2 ResourceWarning: unclosed file in test_ruamel_yaml.py ([@BoboTiG] - [#19780])
- Upgrade tahoma-api to 0.0.14 ([@koomik] - [#19840]) ([tahoma docs])
- Fix french Amazon Polly voice 'Léa'. ([@vincent-k] - [#19852]) ([tts docs])
- Upgrade holidays to 0.9.9 ([@fabaff] - [#19851]) ([binary_sensor.workday docs])
- Small cleanup of MQTT light ([@emontnemery] - [#19816]) ([light.mqtt docs])
- Fix state and attribute fetching in vasttrafik ([@kennedyshead] - [#19856])
- Geo Location -> Geolocation (comments and default group name) ([@exxamalte] - [#19865]) ([geo_location docs]) ([automation.geo_location docs])
- Replace MyChevy persistant_notification with error log entry ([@ReneNulschDE] - [#19804]) ([sensor.mychevy docs])
- Upgrade bcrypt to 3.1.5 ([@fabaff] - [#19854])
- Cleanup if discovered mqtt lock can't be added ([@emontnemery] - [#19746]) ([lock.mqtt docs])
- Cleanup if discovered mqtt sensor can't be added ([@emontnemery] - [#19745]) ([sensor.mqtt docs])
- Cleanup if discovered mqtt cover can't be added ([@emontnemery] - [#19743]) ([cover.mqtt docs])
- Cleanup if discovered mqtt alarm can't be added ([@emontnemery] - [#19742]) ([alarm_control_panel.mqtt docs])
- Cleanup if discovered mqtt fan can't be added ([@emontnemery] - [#19741]) ([fan.mqtt docs])
- Cleanup if discovered mqtt climate can't be added ([@emontnemery] - [#19739]) ([climate.mqtt docs])
- Relay events for onoff and levelcontrol output clusters in ZHA ([@dmulcahey] - [#19863]) ([zha docs])
- Replace influxdb query by another query that is more lightweight ([@BaQs] - [#19880]) ([sensor.influxdb docs])
- Allow other icon prefixes than mdi: ([@thomasloven] - [#19872])
- Geo Location -> Geolocation (class names and unit test comments) ([@exxamalte] - [#19877]) ([geo_location docs])
- add entity support to hive ([@Rendili] - [#19879]) ([binary_sensor.hive docs]) ([climate.hive docs]) ([light.hive docs]) ([sensor.hive docs]) ([switch.hive docs])
- Migrate geofency over to the Webhook component ([@rohankapoorcom] - [#18951]) ([geofency docs]) (breaking change)
- Refactor motion sensor of the xiaomi_aqara platform ([@syssi] - [#19805]) ([binary_sensor.xiaomi_aqara docs])
- Fix deprecation warning ([@balloob] - [#19882])
- Bug fix with getting a device battery level when API unavailable for Hive ([@Rendili] - [#19841]) ([hive docs]) ([binary_sensor.hive docs]) ([climate.hive docs]) ([light.hive docs]) ([sensor.hive docs]) ([switch.hive docs])
- Bump pyflunearyou to 1.0.1 ([@bachya] - [#19899]) ([sensor.flunearyou docs])
- Removed mkdir, If the WORKDIR doesn’t exist, it will be created. ([@RealArtemiy] - [#19892])
- Plant monitor defaults ([@royduin] - [#19891]) ([plant docs])
- Correctly map Nest hvac_state to Home Assistant states. ([@mitchellrj] - [#19895]) ([sensor.nest docs]) (breaking change)
- Add btle_name attribute to devices ([@cliffordwhansen] - [#19915]) ([device_tracker docs])
- Add Alexa's EndpointHealth reporting ([@abmantis] - [#19784]) ([alexa docs])
- Remove Discovery dependency from konnected.py ([@so3n] - [#19910]) ([konnected docs])
- Add sensors to jewish_calendar for upcoming Shabbat times ([@arigilder] - [#19278]) ([sensor.jewish_calendar docs])
- add_entities -> async_add_entities ([@SNoof85] - [#19943]) ([sensor.freebox docs])
- Add nad telnet ([@rymsha] - [#19704]) ([media_player.nad docs]) (breaking change)
- Upgrade blinkpy and use calibrated temperature for sensor ([@fronzbot] - [#19723]) ([blink docs]) ([sensor.blink docs])
- Small refactoring for the alexa component ([@abmantis] - [#19782]) ([alexa docs])
- Upgrade pylast to 3.0.0 ([@fabaff] - [#19938]) ([sensor.lastfm docs])
- Remove spurious libzwave error ([@therve] - [#19928]) ([zwave docs])
- Add emulated_roku component ([@mindigmarton] - [#17596]) ([emulated_roku docs])
- Change state() to try/except to catch KeyError ([@iamtpage] - [#19935]) ([sensor.tautulli docs])
- Upgrade mutagen to 1.42.0 ([@fabaff] - [#19956]) ([tts docs])
- Upgrade pillow to 5.4.1 ([@fabaff] - [#19958]) ([camera.proxy docs]) ([image_processing.tensorflow docs])
- Upgrade ruamel.yaml to 0.15.85 ([@fabaff] - [#19960])
- Upgrade pysnmp to 4.4.8 ([@fabaff] - [#19961]) ([device_tracker docs]) ([sensor.snmp docs]) ([switch.snmp docs])
- Upgrade keyring to 17.1.1 ([@fabaff] - [#19962])
- Add support for restoring state to rpi_gpio_pwm ([@soldag] - [#19944])
- min_max sensor support for STATE_UNAVAILABLE ([@RomRider] - [#19914]) ([sensor.min_max docs])
- add service type in name ([@eliseomartelli] - [#19980]) ([sensor.prezzibenzina docs]) (breaking change)
- Add support for spot cleaning that was introduced in pybotvac 0.12 ([@larsvinc] - [#19857]) ([vacuum.neato docs])
- Support next generation of the Xiaomi Mi Smart Plug (chuangmi.plug.m3) ([@syssi] - [#19972]) ([switch.xiaomi_miio docs])
- When tradfri experience communication errors make the lights/devices unavailable. ([@jarlebh] - [#19288]) ([light.tradfri docs]) ([switch.tradfri docs])
- Allow embedded platforms ([@balloob] - [#19948])
- Add services and helper functions to support a config panel for ZHA ([@dmulcahey] - [#19664]) ([zha docs])
- Adding IPv6 to fail2ban sensor ([@grea09] - [#19457]) ([sensor.fail2ban docs])
- Always use datetime and timedelta in camera.proxy instead of int/float ([@mikeage] - [#19571]) ([camera.proxy docs])
- Include Scripts/ directory to .gitignore - this is created by virtualenv on Windows ([@scarface-4711] - [#18918])
- Add mysensors state update delay ([@MartinHjelmare] - [#18891]) ([device_tracker docs]) ([mysensors docs])
- Add ability to monitor relay events ([@oblogic7] - [#18730]) ([doorbird docs])
- Add support for 'via_hub' for device_info ([@fredrike] - [#19454]) ([mqtt docs])
- Fix the anthemav component by removing a debugging line. ([@achatham] - [#19979]) ([media_player.anthemav docs])
- Expose more information about shipments by PostNL ([@basbl] - [#18334]) (breaking change)
- Split locative to a separate component ([@rohankapoorcom] - [#19964]) ([device_tracker docs]) ([locative docs]) (breaking change)
- Support for multiple Fibaro gateways ([@pbalogh77] - [#19705]) ([fibaro docs]) ([binary_sensor.fibaro docs]) ([cover.fibaro docs]) ([light.fibaro docs]) ([scene.fibaro docs]) ([sensor.fibaro docs]) ([switch.fibaro docs]) (breaking change)
- Add Hass.io user headers to supervisor proxy ([@balloob] - [#19395]) ([hassio docs])
- Upgrade huawei-lte-api to 1.1.3 ([@scop] - [#19987])
- Upgrade pytest-cov to 2.6.1 ([@scop] - [#19988])
- Wink: Update pubnubsub-handler version to make it compatible with python 3.7 ([@ledor473] - [#19625]) ([wink docs])
- Don't set friendly_name in Zha entity. ([@Adminiuga] - [#19991]) ([zha docs])
- Add support for HomeKit Controller Locks ([@adrum] - [#19867]) ([homekit_controller docs]) ([lock.homekit_controller docs]) (new-platform)
- Repackage ZHA component ([@dmulcahey] - [#19989]) ([zha docs])
- 'latest_dir' referenced before assignment ([@vaidyasr] - [#19952]) ([camera.xiaomi docs])
- catch TypeError's in addition to ValueError's for unifi direct device tracker ([@thomasdelaet] - [#19994])
- Support for html5 notifications to suggest their names ([@quazzie] - [#19965]) ([notify docs])
- Update doorbird events to include URLs on event_data ([@oblogic7] - [#19262]) ([doorbird docs])
- Upgrade greeneye_monitor to 1.0 ([@jkeljo] - [#19631]) ([greeneye_monitor docs]) (breaking change)
- version bump for zha-quirks ([@dmulcahey] - [#20019]) ([zha docs])
- Enable bool type for ADS service ([@carstenschroeder] - [#20011]) ([ads docs])
- UniFi - Fix issue with POE switch reset switch config ([@Kane610] - [#20021]) ([unifi docs])
- Add service change_channel to Harmony component ([@ehendrix23] - [#19649]) ([remote.harmony docs])
- mychevy: Fix wrong attribute on battery level selector ([@sdague] - [#20016]) ([sensor.mychevy docs])
- Add harmony service to remote services.yaml ([@ehendrix23] - [#20031])
- update to pyunifi 2.16 ([@finish06] - [#20042]) ([device_tracker docs])
- Upgrade pytest to 4.1.0 ([@scop] - [#20013])
- Change alarm panel code format ([@arsaboo] - [#20037]) ([alarm_control_panel.elkm1 docs])
- ADS service: Enable use of templates for value ([@carstenschroeder] - [#20024]) ([ads docs])
- Fix remote.harmony_change_channel services.yaml indentation ([@amelchio] - [#20051])
- Show persistent notification on Doorbird schedule failure ([@oblogic7] - [#20033]) ([doorbird docs])
- Add support for HomeKit Controller covers ([@adrum] - [#19866]) ([homekit_controller docs]) ([cover.homekit_controller docs]) (new-platform)
- warning -> debug, this should not have been visible to users ([@rytilahti] - [#20061]) ([media_player.songpal docs])
- Split out gpslogger into a separate component and platform ([@rohankapoorcom] - [#20044]) ([device_tracker docs]) ([gpslogger docs]) (breaking change)
- Add Roku hub and remote ([@soberstadt] - [#17548]) ([roku docs]) ([media_player.roku docs]) ([remote.roku docs]) (breaking change) (new-platform)
- Upgrade pytest to 4.1.1 ([@scop] - [#20088])
- Lowercase code format ([@balloob] - [#20077]) ([alarm_control_panel docs]) (breaking change)
- fix logic error in dubln bus ([@ttroy50] - [#20075]) ([sensor.dublin_bus_transport docs])
- Bump abode to 0.15.0 ([@shred86] - [#20064]) ([abode docs])
- Change return text code for alarm control panels ([@arsaboo] - [#20055])
- Adjust OpenUV integration for upcoming API limit changes ([@bachya] - [#19949]) ([openuv docs]) (breaking change)
- Fix ihc issues caused by update to defusedxml ([@mopolus] - [#20091]) ([ihc docs])
- Move ESPHome Source Files ([@OttoWinter] - [#20092]) ([esphome docs])
- Embed RainMachine platforms into the component ([@bachya] - [#20066]) ([rainmachine docs])
- Embed SimpliSafe platforms into the component ([@bachya] - [#20069]) ([simplisafe docs])
- Embed OpenUV platforms into the component ([@bachya] - [#20072]) ([openuv docs])
- Reconfigure MQTT lock component if discovery info is changed ([@emontnemery] - [#19468]) ([lock.mqtt docs])
- Added partial detection to async_add_job ([@andrewsayre] - [#20119])
- Fix tellduslive discovery and auth issues ([@fredrike] - [#20023]) ([tellduslive docs])
- Use voluptuous to perform validation for the geofency webhook ([@rohankapoorcom] - [#20067]) ([geofency docs])
- fixed gtt to report isotime ([@eliseomartelli] - [#20128]) ([sensor.gtt docs])
- Move MQTT platforms under the component ([@emontnemery] - [#20050]) ([mqtt docs])
- Split time_pattern triggers from time trigger ([@armills] - [#19825]) ([automation.interval docs]) ([automation.time docs]) (breaking change)
- Change deCONZ to embedded platforms ([@Kane610] - [#20113]) ([deconz docs])
- Improve Philips Hue color conversion 2 ([@starkillerOG] - [#20118])
- Minor refactoring of MQTT availability ([@emontnemery] - [#20136]) ([mqtt docs])
- Add notify.html5_dismiss service ([@quazzie] - [#19912]) ([notify docs])
- Fix loading translations for embedded platforms ([@balloob] - [#20122])
- Switch geofency tests to using an unauthenticated HTTP client ([@rohankapoorcom] - [#20080])
- Zha light.turn_on service fixes. ([@Adminiuga] - [#20085]) ([zha docs])
- Switch to ipapi.co (fixes #19846) ([@fabaff] - [#19886])
- Accept both domains and entities in influxdb include ([@amelchio] - [#19927]) ([influxdb docs])
- Make all deCONZ platforms use a common base ([@Kane610] - [#20137])
- Reconnect and device name fix for harmony platform ([@ehendrix23] - [#20108]) ([remote.harmony docs])
- Fix TTS say config validation ([@balloob] - [#20145]) ([tts docs])
- Use the correct Unicode degree symbol ([@tgerla] - [#20058]) ([sensor.ambient_station docs])
- Add support for connecting to multiple zoneminder instances ([@rohankapoorcom] - [#19955]) ([zoneminder docs]) ([camera.zoneminder docs]) ([sensor.zoneminder docs]) ([switch.zoneminder docs]) (breaking change)
- Embed geofency platform into component ([@rohankapoorcom] - [#20083]) ([geofency docs])
- Remove .isort because we use the config from setup.cfg ([@pvizeli] - [#20158])
- Fix link to documentation link, select read-only ([@cvwillegen] - [#20155]) ([sensor.imap_email_content docs])
- Embed mailgun platform into component ([@rohankapoorcom] - [#20147]) ([mailgun docs])
- Enable setting alarm mode night for arlo platform ([@keslerm] - [#20143]) ([alarm_control_panel.arlo docs])
- Support device_class for rest sensor ([@Anonym-tsk] - [#20132]) ([sensor.rest docs])
- Migrate gpslogger to the automatically generated webhook ([@rohankapoorcom] - [#20079]) ([gpslogger docs]) (breaking change)
- imap_email_content: allow configuring folder to read. ([@cvwillegen] - [#20160])
- Make imports relative in ZHA component ([@dmulcahey] - [#20020]) ([zha docs])
- Switch locative to use the webhook component ([@rohankapoorcom] - [#20043]) ([locative docs]) (breaking change)
- Log exceptions thrown by MQTT message callbacks ([@emontnemery] - [#19977]) ([mqtt docs])
- Upgrade aiohttp to 3.5.3 ([@fabaff] - [#19957])
- Strip login username in backend ([@balloob] - [#20150])
- Bump pynuki to 1.3.2 ([@damarco] - [#20173]) ([lock.nuki docs])
- Add Xiaomi Airpurifier Pro V7 support ([@syssi] - [#20093]) ([fan.xiaomi_miio docs])
- Add support for deconz radios to zha component ([@damarco] - [#20167]) ([zha docs])
- Sensibo to use HA operation modes ([@balloob] - [#20180]) ([climate.sensibo docs]) (breaking change) (beta fix)
- Distribute reconnect ([@balloob] - [#20181]) ([cloud docs]) (beta fix)
- Add command to refresh auth ([@balloob] - [#20183]) ([cloud docs]) (beta fix)
- Improve Sonos discovery ([@amelchio] - [#20196]) ([sonos docs]) (beta fix)
- Handle non-string values in JSON renderer ([@pnbruckner] - [#20233]) (beta fix)
- Bump aioesphomeapi to 1.4.2 ([@OttoWinter] - [#20247]) ([esphome docs]) (beta fix)
- Remove double logging of automation action ([@amelchio] - [#20264]) (beta fix)
- Allow 'all' entity_id in service schema ([@amelchio] - [#20278]) (beta fix)
- Fix 'all' entity_id in service call extraction ([@amelchio] - [#20281]) (beta fix)
- Align valid_entity_id with new slugify ([@kellerza] - [#20231]) (beta fix)
- Config Validator: schema_with_slug_keys ([@kellerza] - [#20298]) (beta fix)
- Bugfix: prevent error notification when octoprint server auto detected but no configuration present. ([@reefab] - [#20303]) ([octoprint docs]) (beta fix)
- Should require the 'GATTOOL' setup extras which includes pexpect. ([@mitchellrj] - [#20263]) ([device_tracker docs]) (beta fix)
- Fix xiaomi speed attribute name clash ([@syssi] - [#20312]) ([fan.xiaomi_miio docs]) (beta fix)
- Update locationsharinglib to version 3.0.11 ([@rolfberkenbosch] - [#20322]) ([device_tracker docs]) (beta fix)
- Fix invalid entity ID in entity registry ([@balloob] - [#20328]) (breaking change) (beta fix)

[#17548]: https://github.com/home-assistant/home-assistant/pull/17548
[#17596]: https://github.com/home-assistant/home-assistant/pull/17596
[#18334]: https://github.com/home-assistant/home-assistant/pull/18334
[#18730]: https://github.com/home-assistant/home-assistant/pull/18730
[#18891]: https://github.com/home-assistant/home-assistant/pull/18891
[#18918]: https://github.com/home-assistant/home-assistant/pull/18918
[#18951]: https://github.com/home-assistant/home-assistant/pull/18951
[#18996]: https://github.com/home-assistant/home-assistant/pull/18996
[#19262]: https://github.com/home-assistant/home-assistant/pull/19262
[#19278]: https://github.com/home-assistant/home-assistant/pull/19278
[#19288]: https://github.com/home-assistant/home-assistant/pull/19288
[#19395]: https://github.com/home-assistant/home-assistant/pull/19395
[#19454]: https://github.com/home-assistant/home-assistant/pull/19454
[#19457]: https://github.com/home-assistant/home-assistant/pull/19457
[#19462]: https://github.com/home-assistant/home-assistant/pull/19462
[#19468]: https://github.com/home-assistant/home-assistant/pull/19468
[#19478]: https://github.com/home-assistant/home-assistant/pull/19478
[#19479]: https://github.com/home-assistant/home-assistant/pull/19479
[#19571]: https://github.com/home-assistant/home-assistant/pull/19571
[#19612]: https://github.com/home-assistant/home-assistant/pull/19612
[#19625]: https://github.com/home-assistant/home-assistant/pull/19625
[#19631]: https://github.com/home-assistant/home-assistant/pull/19631
[#19649]: https://github.com/home-assistant/home-assistant/pull/19649
[#19664]: https://github.com/home-assistant/home-assistant/pull/19664
[#19704]: https://github.com/home-assistant/home-assistant/pull/19704
[#19705]: https://github.com/home-assistant/home-assistant/pull/19705
[#19717]: https://github.com/home-assistant/home-assistant/pull/19717
[#19721]: https://github.com/home-assistant/home-assistant/pull/19721
[#19722]: https://github.com/home-assistant/home-assistant/pull/19722
[#19723]: https://github.com/home-assistant/home-assistant/pull/19723
[#19739]: https://github.com/home-assistant/home-assistant/pull/19739
[#19741]: https://github.com/home-assistant/home-assistant/pull/19741
[#19742]: https://github.com/home-assistant/home-assistant/pull/19742
[#19743]: https://github.com/home-assistant/home-assistant/pull/19743
[#19745]: https://github.com/home-assistant/home-assistant/pull/19745
[#19746]: https://github.com/home-assistant/home-assistant/pull/19746
[#19753]: https://github.com/home-assistant/home-assistant/pull/19753
[#19780]: https://github.com/home-assistant/home-assistant/pull/19780
[#19782]: https://github.com/home-assistant/home-assistant/pull/19782
[#19783]: https://github.com/home-assistant/home-assistant/pull/19783
[#19784]: https://github.com/home-assistant/home-assistant/pull/19784
[#19788]: https://github.com/home-assistant/home-assistant/pull/19788
[#19792]: https://github.com/home-assistant/home-assistant/pull/19792
[#19799]: https://github.com/home-assistant/home-assistant/pull/19799
[#19804]: https://github.com/home-assistant/home-assistant/pull/19804
[#19805]: https://github.com/home-assistant/home-assistant/pull/19805
[#19816]: https://github.com/home-assistant/home-assistant/pull/19816
[#19818]: https://github.com/home-assistant/home-assistant/pull/19818
[#19825]: https://github.com/home-assistant/home-assistant/pull/19825
[#19831]: https://github.com/home-assistant/home-assistant/pull/19831
[#19840]: https://github.com/home-assistant/home-assistant/pull/19840
[#19841]: https://github.com/home-assistant/home-assistant/pull/19841
[#19843]: https://github.com/home-assistant/home-assistant/pull/19843
[#19847]: https://github.com/home-assistant/home-assistant/pull/19847
[#19851]: https://github.com/home-assistant/home-assistant/pull/19851
[#19852]: https://github.com/home-assistant/home-assistant/pull/19852
[#19854]: https://github.com/home-assistant/home-assistant/pull/19854
[#19856]: https://github.com/home-assistant/home-assistant/pull/19856
[#19857]: https://github.com/home-assistant/home-assistant/pull/19857
[#19863]: https://github.com/home-assistant/home-assistant/pull/19863
[#19865]: https://github.com/home-assistant/home-assistant/pull/19865
[#19866]: https://github.com/home-assistant/home-assistant/pull/19866
[#19867]: https://github.com/home-assistant/home-assistant/pull/19867
[#19872]: https://github.com/home-assistant/home-assistant/pull/19872
[#19877]: https://github.com/home-assistant/home-assistant/pull/19877
[#19879]: https://github.com/home-assistant/home-assistant/pull/19879
[#19880]: https://github.com/home-assistant/home-assistant/pull/19880
[#19882]: https://github.com/home-assistant/home-assistant/pull/19882
[#19886]: https://github.com/home-assistant/home-assistant/pull/19886
[#19891]: https://github.com/home-assistant/home-assistant/pull/19891
[#19892]: https://github.com/home-assistant/home-assistant/pull/19892
[#19895]: https://github.com/home-assistant/home-assistant/pull/19895
[#19899]: https://github.com/home-assistant/home-assistant/pull/19899
[#19910]: https://github.com/home-assistant/home-assistant/pull/19910
[#19912]: https://github.com/home-assistant/home-assistant/pull/19912
[#19914]: https://github.com/home-assistant/home-assistant/pull/19914
[#19915]: https://github.com/home-assistant/home-assistant/pull/19915
[#19927]: https://github.com/home-assistant/home-assistant/pull/19927
[#19928]: https://github.com/home-assistant/home-assistant/pull/19928
[#19935]: https://github.com/home-assistant/home-assistant/pull/19935
[#19938]: https://github.com/home-assistant/home-assistant/pull/19938
[#19943]: https://github.com/home-assistant/home-assistant/pull/19943
[#19944]: https://github.com/home-assistant/home-assistant/pull/19944
[#19948]: https://github.com/home-assistant/home-assistant/pull/19948
[#19949]: https://github.com/home-assistant/home-assistant/pull/19949
[#19952]: https://github.com/home-assistant/home-assistant/pull/19952
[#19955]: https://github.com/home-assistant/home-assistant/pull/19955
[#19956]: https://github.com/home-assistant/home-assistant/pull/19956
[#19957]: https://github.com/home-assistant/home-assistant/pull/19957
[#19958]: https://github.com/home-assistant/home-assistant/pull/19958
[#19960]: https://github.com/home-assistant/home-assistant/pull/19960
[#19961]: https://github.com/home-assistant/home-assistant/pull/19961
[#19962]: https://github.com/home-assistant/home-assistant/pull/19962
[#19964]: https://github.com/home-assistant/home-assistant/pull/19964
[#19965]: https://github.com/home-assistant/home-assistant/pull/19965
[#19972]: https://github.com/home-assistant/home-assistant/pull/19972
[#19977]: https://github.com/home-assistant/home-assistant/pull/19977
[#19979]: https://github.com/home-assistant/home-assistant/pull/19979
[#19980]: https://github.com/home-assistant/home-assistant/pull/19980
[#19987]: https://github.com/home-assistant/home-assistant/pull/19987
[#19988]: https://github.com/home-assistant/home-assistant/pull/19988
[#19989]: https://github.com/home-assistant/home-assistant/pull/19989
[#19991]: https://github.com/home-assistant/home-assistant/pull/19991
[#19994]: https://github.com/home-assistant/home-assistant/pull/19994
[#20011]: https://github.com/home-assistant/home-assistant/pull/20011
[#20013]: https://github.com/home-assistant/home-assistant/pull/20013
[#20016]: https://github.com/home-assistant/home-assistant/pull/20016
[#20019]: https://github.com/home-assistant/home-assistant/pull/20019
[#20020]: https://github.com/home-assistant/home-assistant/pull/20020
[#20021]: https://github.com/home-assistant/home-assistant/pull/20021
[#20023]: https://github.com/home-assistant/home-assistant/pull/20023
[#20024]: https://github.com/home-assistant/home-assistant/pull/20024
[#20031]: https://github.com/home-assistant/home-assistant/pull/20031
[#20033]: https://github.com/home-assistant/home-assistant/pull/20033
[#20037]: https://github.com/home-assistant/home-assistant/pull/20037
[#20042]: https://github.com/home-assistant/home-assistant/pull/20042
[#20043]: https://github.com/home-assistant/home-assistant/pull/20043
[#20044]: https://github.com/home-assistant/home-assistant/pull/20044
[#20050]: https://github.com/home-assistant/home-assistant/pull/20050
[#20051]: https://github.com/home-assistant/home-assistant/pull/20051
[#20055]: https://github.com/home-assistant/home-assistant/pull/20055
[#20058]: https://github.com/home-assistant/home-assistant/pull/20058
[#20061]: https://github.com/home-assistant/home-assistant/pull/20061
[#20064]: https://github.com/home-assistant/home-assistant/pull/20064
[#20066]: https://github.com/home-assistant/home-assistant/pull/20066
[#20067]: https://github.com/home-assistant/home-assistant/pull/20067
[#20069]: https://github.com/home-assistant/home-assistant/pull/20069
[#20072]: https://github.com/home-assistant/home-assistant/pull/20072
[#20075]: https://github.com/home-assistant/home-assistant/pull/20075
[#20077]: https://github.com/home-assistant/home-assistant/pull/20077
[#20079]: https://github.com/home-assistant/home-assistant/pull/20079
[#20080]: https://github.com/home-assistant/home-assistant/pull/20080
[#20083]: https://github.com/home-assistant/home-assistant/pull/20083
[#20085]: https://github.com/home-assistant/home-assistant/pull/20085
[#20088]: https://github.com/home-assistant/home-assistant/pull/20088
[#20091]: https://github.com/home-assistant/home-assistant/pull/20091
[#20092]: https://github.com/home-assistant/home-assistant/pull/20092
[#20093]: https://github.com/home-assistant/home-assistant/pull/20093
[#20108]: https://github.com/home-assistant/home-assistant/pull/20108
[#20113]: https://github.com/home-assistant/home-assistant/pull/20113
[#20118]: https://github.com/home-assistant/home-assistant/pull/20118
[#20119]: https://github.com/home-assistant/home-assistant/pull/20119
[#20122]: https://github.com/home-assistant/home-assistant/pull/20122
[#20128]: https://github.com/home-assistant/home-assistant/pull/20128
[#20132]: https://github.com/home-assistant/home-assistant/pull/20132
[#20136]: https://github.com/home-assistant/home-assistant/pull/20136
[#20137]: https://github.com/home-assistant/home-assistant/pull/20137
[#20143]: https://github.com/home-assistant/home-assistant/pull/20143
[#20145]: https://github.com/home-assistant/home-assistant/pull/20145
[#20147]: https://github.com/home-assistant/home-assistant/pull/20147
[#20150]: https://github.com/home-assistant/home-assistant/pull/20150
[#20155]: https://github.com/home-assistant/home-assistant/pull/20155
[#20158]: https://github.com/home-assistant/home-assistant/pull/20158
[#20160]: https://github.com/home-assistant/home-assistant/pull/20160
[#20167]: https://github.com/home-assistant/home-assistant/pull/20167
[#20173]: https://github.com/home-assistant/home-assistant/pull/20173
[#20180]: https://github.com/home-assistant/home-assistant/pull/20180
[#20181]: https://github.com/home-assistant/home-assistant/pull/20181
[#20183]: https://github.com/home-assistant/home-assistant/pull/20183
[#20196]: https://github.com/home-assistant/home-assistant/pull/20196
[#20231]: https://github.com/home-assistant/home-assistant/pull/20231
[#20233]: https://github.com/home-assistant/home-assistant/pull/20233
[#20247]: https://github.com/home-assistant/home-assistant/pull/20247
[#20263]: https://github.com/home-assistant/home-assistant/pull/20263
[#20264]: https://github.com/home-assistant/home-assistant/pull/20264
[#20278]: https://github.com/home-assistant/home-assistant/pull/20278
[#20281]: https://github.com/home-assistant/home-assistant/pull/20281
[#20298]: https://github.com/home-assistant/home-assistant/pull/20298
[#20303]: https://github.com/home-assistant/home-assistant/pull/20303
[#20312]: https://github.com/home-assistant/home-assistant/pull/20312
[#20322]: https://github.com/home-assistant/home-assistant/pull/20322
[#20328]: https://github.com/home-assistant/home-assistant/pull/20328
[@Adminiuga]: https://github.com/Adminiuga
[@Anonym-tsk]: https://github.com/Anonym-tsk
[@BaQs]: https://github.com/BaQs
[@BoboTiG]: https://github.com/BoboTiG
[@Kane610]: https://github.com/Kane610
[@MartinHjelmare]: https://github.com/MartinHjelmare
[@OttoWinter]: https://github.com/OttoWinter
[@RealArtemiy]: https://github.com/RealArtemiy
[@Rendili]: https://github.com/Rendili
[@ReneNulschDE]: https://github.com/ReneNulschDE
[@RomRider]: https://github.com/RomRider
[@SNoof85]: https://github.com/SNoof85
[@abmantis]: https://github.com/abmantis
[@achatham]: https://github.com/achatham
[@adrum]: https://github.com/adrum
[@amelchio]: https://github.com/amelchio
[@andrewsayre]: https://github.com/andrewsayre
[@arigilder]: https://github.com/arigilder
[@armills]: https://github.com/armills
[@arsaboo]: https://github.com/arsaboo
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
[@basbl]: https://github.com/basbl
[@carstenschroeder]: https://github.com/carstenschroeder
[@cdkonecny]: https://github.com/cdkonecny
[@cliffordwhansen]: https://github.com/cliffordwhansen
[@cvwillegen]: https://github.com/cvwillegen
[@damarco]: https://github.com/damarco
[@dmulcahey]: https://github.com/dmulcahey
[@dshokouhi]: https://github.com/dshokouhi
[@ehendrix23]: https://github.com/ehendrix23
[@eliseomartelli]: https://github.com/eliseomartelli
[@emontnemery]: https://github.com/emontnemery
[@exxamalte]: https://github.com/exxamalte
[@fabaff]: https://github.com/fabaff
[@finish06]: https://github.com/finish06
[@fredrike]: https://github.com/fredrike
[@fronzbot]: https://github.com/fronzbot
[@grea09]: https://github.com/grea09
[@iamtpage]: https://github.com/iamtpage
[@jarlebh]: https://github.com/jarlebh
[@jkeljo]: https://github.com/jkeljo
[@kellerza]: https://github.com/kellerza
[@kennedyshead]: https://github.com/kennedyshead
[@keslerm]: https://github.com/keslerm
[@koomik]: https://github.com/koomik
[@larsvinc]: https://github.com/larsvinc
[@ledor473]: https://github.com/ledor473
[@mikeage]: https://github.com/mikeage
[@mindigmarton]: https://github.com/mindigmarton
[@mitchellrj]: https://github.com/mitchellrj
[@mopolus]: https://github.com/mopolus
[@mxworm]: https://github.com/mxworm
[@oblogic7]: https://github.com/oblogic7
[@pbalogh77]: https://github.com/pbalogh77
[@pnbruckner]: https://github.com/pnbruckner
[@pvizeli]: https://github.com/pvizeli
[@quazzie]: https://github.com/quazzie
[@reefab]: https://github.com/reefab
[@rohankapoorcom]: https://github.com/rohankapoorcom
[@rolfberkenbosch]: https://github.com/rolfberkenbosch
[@royduin]: https://github.com/royduin
[@rymsha]: https://github.com/rymsha
[@rytilahti]: https://github.com/rytilahti
[@sander76]: https://github.com/sander76
[@scarface-4711]: https://github.com/scarface-4711
[@scop]: https://github.com/scop
[@sdague]: https://github.com/sdague
[@shred86]: https://github.com/shred86
[@so3n]: https://github.com/so3n
[@soberstadt]: https://github.com/soberstadt
[@soldag]: https://github.com/soldag
[@starkillerOG]: https://github.com/starkillerOG
[@syssi]: https://github.com/syssi
[@tgerla]: https://github.com/tgerla
[@therve]: https://github.com/therve
[@thomasdelaet]: https://github.com/thomasdelaet
[@thomasloven]: https://github.com/thomasloven
[@ttroy50]: https://github.com/ttroy50
[@vaidyasr]: https://github.com/vaidyasr
[@vincent-k]: https://github.com/vincent-k
[abode docs]: /integrations/abode/
[ads docs]: /integrations/ads/
[alarm_control_panel docs]: /integrations/alarm_control_panel/
[alarm_control_panel.arlo docs]: /integrations/arlo
[alarm_control_panel.elkm1 docs]: /integrations/elkm1
[alarm_control_panel.homekit_controller docs]: /integrations/homekit_controller
[alarm_control_panel.mqtt docs]: /integrations/alarm_control_panel.mqtt/
[alexa docs]: /integrations/alexa/
[automation.geo_location docs]: /docs/automation/trigger/#geo_location-trigger
[automation.interval docs]: /docs/automation/trigger/#interval-trigger
[automation.time docs]: /docs/automation/trigger/#time-trigger
[binary_sensor.fibaro docs]: /integrations/fibaro
[binary_sensor.hive docs]: /integrations/hive#binary-sensor
[binary_sensor.workday docs]: /integrations/workday
[binary_sensor.xiaomi_aqara docs]: /integrations/binary_sensor.xiaomi_aqara/
[blink docs]: /integrations/blink/
[camera.proxy docs]: /integrations/proxy
[camera.xiaomi docs]: /integrations/xiaomi_aqara
[camera.zoneminder docs]: /integrations/zoneminder#camera
[climate.hive docs]: /integrations/hive#climate
[climate.mqtt docs]: /integrations/climate.mqtt/
[climate.sensibo docs]: /integrations/sensibo
[cloud docs]: /integrations/cloud/
[cover.fibaro docs]: /integrations/fibaro
[cover.homekit_controller docs]: /integrations/homekit_controller
[cover.mqtt docs]: /integrations/cover.mqtt/
[deconz docs]: /integrations/deconz/
[device_tracker docs]: /integrations/device_tracker/
[doorbird docs]: /integrations/doorbird/
[emulated_roku docs]: /integrations/emulated_roku/
[esphome docs]: /integrations/esphome/
[fan.mqtt docs]: /integrations/fan.mqtt/
[fan.xiaomi_miio docs]: /integrations/fan.xiaomi_miio/
[fibaro docs]: /integrations/fibaro/
[geo_location docs]: /integrations/geo_location/
[geofency docs]: /integrations/geofency/
[gpslogger docs]: /integrations/gpslogger/
[greeneye_monitor docs]: /integrations/greeneye_monitor/
[hassio docs]: /integrations/hassio/
[hive docs]: /integrations/hive/
[homekit_controller docs]: /integrations/homekit_controller/
[homematicip_cloud docs]: /integrations/homematicip_cloud/
[ihc docs]: /integrations/ihc/
[image_processing.tensorflow docs]: /integrations/tensorflow
[influxdb docs]: /integrations/influxdb/
[konnected docs]: /integrations/konnected/
[light.fibaro docs]: /integrations/fibaro
[light.hive docs]: /integrations/hive#light
[light.homematicip_cloud docs]: /integrations/homematicip_cloud/
[light.mqtt docs]: /integrations/light.mqtt/
[light.rpi_gpio_pwm docs]: /integrations/rpi_gpio_pwm
[light.tradfri docs]: /integrations/tradfri
[locative docs]: /integrations/locative/
[lock.homekit_controller docs]: /integrations/homekit_controller
[lock.mqtt docs]: /integrations/lock.mqtt/
[lock.nuki docs]: /integrations/nuki
[lock.zwave docs]: /integrations/zwave#lock
[mailgun docs]: /integrations/mailgun/
[media_player.anthemav docs]: /integrations/anthemav
[media_player.nad docs]: /integrations/nad
[media_player.roku docs]: /integrations/roku#media-player
[media_player.songpal docs]: /integrations/songpal
[mqtt docs]: /integrations/mqtt/
[mysensors docs]: /integrations/mysensors/
[neato docs]: /integrations/neato/
[notify docs]: /integrations/notify/
[octoprint docs]: /integrations/octoprint/
[openuv docs]: /integrations/openuv/
[plant docs]: /integrations/plant/
[rainmachine docs]: /integrations/rainmachine/
[remote.harmony docs]: /integrations/harmony
[remote.roku docs]: /integrations/roku#remote
[roku docs]: /integrations/roku/
[scene.fibaro docs]: /integrations/fibaro
[scene.hunterdouglas_powerview docs]: /integrations/hunterdouglas_powerview
[sensor.ambient_station docs]: /integrations/ambient_station
[sensor.blink docs]: /integrations/blink
[sensor.darksky docs]: /integrations/darksky
[sensor.dublin_bus_transport docs]: /integrations/dublin_bus_transport
[sensor.fail2ban docs]: /integrations/fail2ban
[sensor.fibaro docs]: /integrations/fibaro
[sensor.flunearyou docs]: /integrations/flunearyou
[sensor.freebox docs]: /integrations/freebox#sensor
[sensor.gtt docs]: /integrations/gtt
[sensor.hive docs]: /integrations/hive#sensor
[sensor.imap_email_content docs]: /integrations/imap_email_content/
[sensor.influxdb docs]: /integrations/influxdb#sensor
[sensor.jewish_calendar docs]: /integrations/jewish_calendar
[sensor.lastfm docs]: /integrations/lastfm
[sensor.min_max docs]: /integrations/min_max
[sensor.mqtt docs]: /integrations/sensor.mqtt/
[sensor.mychevy docs]: /integrations/mychevy
[sensor.nest docs]: /integrations/nest#sensor
[sensor.prezzibenzina docs]: /integrations/prezzibenzina
[sensor.rest docs]: /integrations/rest
[sensor.sma docs]: /integrations/sma#sensors
[sensor.snmp docs]: /integrations/snmp#sensor
[sensor.tautulli docs]: /integrations/tautulli
[sensor.vasttrafik docs]: /integrations/vasttrafik
[sensor.zoneminder docs]: /integrations/zoneminder#sensor
[simplisafe docs]: /integrations/simplisafe/
[sonos docs]: /integrations/sonos/
[switch.fibaro docs]: /integrations/fibaro
[switch.hive docs]: /integrations/hive#switch
[switch.mqtt docs]: /integrations/switch.mqtt/
[switch.snmp docs]: /integrations/snmp#switch
[switch.tradfri docs]: /integrations/tradfri
[switch.xiaomi_miio docs]: /integrations/switch.xiaomi_miio/
[switch.zoneminder docs]: /integrations/zoneminder#switch
[tahoma docs]: /integrations/tahoma/
[tellduslive docs]: /integrations/tellduslive/
[tts docs]: /integrations/tts/
[unifi docs]: /integrations/unifi/
[vacuum docs]: /integrations/vacuum/
[vacuum.mqtt docs]: /integrations/vacuum.mqtt/
[vacuum.neato docs]: /integrations/neato#vacuum
[waterfurnace docs]: /integrations/waterfurnace/
[wink docs]: /integrations/wink/
[zha docs]: /integrations/zha/
[zoneminder docs]: /integrations/zoneminder/
[zwave docs]: /integrations/zwave/
