diff --git a/CODEOWNERS b/CODEOWNERS index 6afb998172d..6874fe61da4 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -72,6 +72,7 @@ source/_integrations/cisco_mobility_express.markdown @fbradyirl source/_integrations/cisco_webex_teams.markdown @fbradyirl source/_integrations/cloud.markdown @home-assistant/cloud source/_integrations/cloudflare.markdown @ludeeus @ctalkington +source/_integrations/color_extractor.markdown @GenericStudent source/_integrations/comfoconnect.markdown @michaelarnauts source/_integrations/config.markdown @home-assistant/core source/_integrations/configurator.markdown @home-assistant/core @@ -121,6 +122,7 @@ source/_integrations/enocean.markdown @bdurrer source/_integrations/entur_public_transport.markdown @hfurubotten source/_integrations/environment_canada.markdown @michaeldavie source/_integrations/ephember.markdown @ttroy50 +source/_integrations/epson.markdown @pszafer source/_integrations/epsonworkforce.markdown @ThaStealth source/_integrations/eq3btsmart.markdown @rytilahti source/_integrations/esphome.markdown @OttoWinter @@ -180,7 +182,6 @@ source/_integrations/homekit.markdown @bdraco source/_integrations/homekit_controller.markdown @Jc2k source/_integrations/homematic.markdown @pvizeli @danielperna84 source/_integrations/homematicip_cloud.markdown @SukramJ -source/_integrations/honeywell.markdown @zxdavb source/_integrations/http.markdown @home-assistant/core source/_integrations/huawei_lte.markdown @scop @fphammerle source/_integrations/huawei_router.markdown @abmantis @@ -248,7 +249,7 @@ source/_integrations/met.markdown @danielhiversen @thimic source/_integrations/meteo_france.markdown @hacf-fr @oncleben31 @Quentame source/_integrations/meteoalarm.markdown @rolfberkenbosch source/_integrations/metoffice.markdown @MrHarcombe -source/_integrations/miflora.markdown @danielhiversen @ChristianKuehnel @basnijholt +source/_integrations/miflora.markdown @danielhiversen @basnijholt source/_integrations/mikrotik.markdown @engrbm87 source/_integrations/mill.markdown @danielhiversen source/_integrations/min_max.markdown @fabaff @@ -302,7 +303,7 @@ source/_integrations/openerz.markdown @misialq source/_integrations/opengarage.markdown @danielhiversen source/_integrations/opentherm_gw.markdown @mvn23 source/_integrations/openuv.markdown @bachya -source/_integrations/openweathermap.markdown @fabaff @freekode +source/_integrations/openweathermap.markdown @fabaff @freekode @nzapponi source/_integrations/opnsense.markdown @mtreinish source/_integrations/orangepi_gpio.markdown @pascallj source/_integrations/oru.markdown @bvlaicu @@ -317,7 +318,6 @@ source/_integrations/pi4ioe5v9xxxx.markdown @antonverburg source/_integrations/pi_hole.markdown @fabaff @johnluetke @shenxn source/_integrations/pilight.markdown @trekky12 source/_integrations/plaato.markdown @JohNan -source/_integrations/plant.markdown @ChristianKuehnel source/_integrations/plex.markdown @jjlawren source/_integrations/plugwise.markdown @CoMPaTech @bouwew source/_integrations/plum_lightpad.markdown @ColinHarrington @prystupa @@ -353,6 +353,7 @@ source/_integrations/rmvtransport.markdown @cgtobi source/_integrations/roku.markdown @ctalkington source/_integrations/roomba.markdown @pschmitt @cyr-ius @shenxn source/_integrations/roon.markdown @pavoni +source/_integrations/rpi_gpio_pwm.markdown @soldag source/_integrations/rpi_power.markdown @shenxn @swetoast source/_integrations/ruckus_unleashed.markdown @gabe565 source/_integrations/safe_mode.markdown @home-assistant/core @@ -372,7 +373,7 @@ source/_integrations/seven_segments.markdown @fabaff source/_integrations/seventeentrack.markdown @bachya source/_integrations/sharkiq.markdown @ajmarks source/_integrations/shell_command.markdown @home-assistant/core -source/_integrations/shelly.markdown @balloob @bieniu +source/_integrations/shelly.markdown @balloob @bieniu @thecode source/_integrations/shiftr.markdown @fabaff source/_integrations/shodan.markdown @fabaff source/_integrations/sighthound.markdown @robmarkcole @@ -421,7 +422,7 @@ source/_integrations/switchbot.markdown @danielhiversen source/_integrations/switcher_kis.markdown @tomerfi source/_integrations/switchmate.markdown @danielhiversen source/_integrations/syncthru.markdown @nielstron -source/_integrations/synology_dsm.markdown @hacf-fr @Quentame +source/_integrations/synology_dsm.markdown @hacf-fr @Quentame @mib1185 source/_integrations/synology_srm.markdown @aerialls source/_integrations/syslog.markdown @fabaff source/_integrations/tado.markdown @michaelarnauts @bdraco diff --git a/_config.yml b/_config.yml index de098641bb9..7a255a1f45a 100644 --- a/_config.yml +++ b/_config.yml @@ -100,9 +100,9 @@ social: # Home Assistant release details current_major_version: 0 -current_minor_version: 117 -current_patch_version: 6 -date_released: 2020-11-11 +current_minor_version: 118 +current_patch_version: 0 +date_released: 2020-11-18 # 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/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index c910225550f..0535c07d01b 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -382,7 +382,7 @@ automation: The `for` template(s) will be evaluated when the `value_template` becomes `true`.
- + Rendering templates with time (`now()`) is dangerous as trigger templates are only updated based on entity state changes.
@@ -404,7 +404,7 @@ which will evaluate to `True` if `YOUR.ENTITY` changed more than 300 seconds ago ### Time trigger -The time trigger is configured to fire once a day at a specific time, or at a specific time on a specific date. There are two allowed formats: +The time trigger is configured to fire once a day at a specific time, or at a specific time on a specific date. There are three allowed formats: #### Time String @@ -456,6 +456,20 @@ automation: {% endraw %} +#### Sensors of datetime device class + +The Entity ID of a [sensor](/integrations/sensor/) with the "datetime" device class. + +```yaml +automation: + - trigger: + platform: time + at: sensor.phone_next_alarm + action: + service: light.turn_on + entity_id: light.bedroom +``` + #### Multiple Times Multiple times can be provided in a list. Both formats can be intermixed. @@ -502,7 +516,7 @@ Do not prefix numbers with a zero - using `'00'` instead of '0' for example will ### Webhook trigger -Webhook trigger fires when a web request is made to the webhook endpoint: `/api/webhook/`. The webhook endpoint is created automatically when you set it as the `webhook_id` in an automation trigger. +Webhook trigger fires when a web request is made to the webhook endpoint: `/api/webhook/`. The webhook endpoint is created automatically when you set it as the `webhook_id` in an automation trigger. ```yaml automation: @@ -517,7 +531,7 @@ You can run this automation by sending an HTTP POST request to `http://your-home curl -X POST https://your-home-assistant:8123/api/webhook/some_hook_id ``` -Webhook endpoints don't require authentication, other than knowing a valid webhook ID. You can send a data payload, either as encoded form data or JSON data. The payload is available in an automation template as either `trigger.json` or `trigger.data`. URL query parameters are available in the template as `trigger.query`. Remember to use an HTTPS URL if you've secured your Home Assistant installation with SSL/TLS. +Webhook endpoints don't require authentication, other than knowing a valid webhook ID. You can send a data payload, either as encoded form data or JSON data. The payload is available in an automation template as either `trigger.json` or `trigger.data`. URL query parameters are available in the template as `trigger.query`. Remember to use an HTTPS URL if you've secured your Home Assistant installation with SSL/TLS. Note that a given webhook can only be used in one automation at a time. That is, only one automation trigger can use a specific webhook ID. @@ -582,7 +596,7 @@ It is possible to specify multiple entities for the same trigger. To do so add m automation: trigger: - platform: state - entity_id: + entity_id: - sensor.one - sensor.two - sensor.three diff --git a/source/_integrations/airvisual.markdown b/source/_integrations/airvisual.markdown index b3dd73d38fe..e6f23b9d183 100644 --- a/source/_integrations/airvisual.markdown +++ b/source/_integrations/airvisual.markdown @@ -37,49 +37,8 @@ The integration can communicate to Node/Pro units over the local network. You wi ## Configuration -Home Assistant offers AirVisual Node/Pro Unit integration through **Configuration -> Integrations -> AirVisual**. Choose "Integration Type: AirVisual Node/Pro" and follow the instructions to get it set up. - -The Cloud API integration can be done via the Integrations UI at **Configuration -> Integrations -> AirVisual** (Choose "Integration Type: Geographical Location") or via YAML. To enable the integration and gather data via latitude/longitude using YAML, add the following lines to your `configuration.yaml` file: - -```yaml -airvisual: - api_key: YOUR_AIRVISUAL_API_KEY -``` - -Note that an API key-based entry can be mixed with one or more Node/Pro-based entries -(examples below). - -{% configuration %} -api_key: - description: Your AirVisual API key. - required: false - type: string -geographies: - description: A list of geographical locations to monitor - required: false - type: [list, map] - keys: - latitude: - description: The latitude of the location to monitor. - required: inclusive - type: float - longitude: - description: The longitude of the location to monitor. - required: inclusive - type: float - city: - description: The city to monitor. - required: inclusive - type: string - state: - description: The state the city belongs to. - required: inclusive - type: string - country: - description: The country the state belongs to. - required: inclusive - type: string -{% endconfiguration %} +This integration can be configured via the Home Assistant UI by navigating to +**Configuration** -> **Integrations**. ## Example Configurations diff --git a/source/_integrations/broadlink.markdown b/source/_integrations/broadlink.markdown index 27bc13847f8..2cb535982a6 100644 --- a/source/_integrations/broadlink.markdown +++ b/source/_integrations/broadlink.markdown @@ -18,7 +18,7 @@ The Broadlink integration allows you to control and monitor Broadlink universal - Power Strips: `MP1-1K3S2U` and `MP1-1K4S` - Sensors: `e-Sensor` -- Smart Plugs: `SP mini`, `SP mini+`, `SP mini 3`, `SP1`, `SP2`, `SP2-CL`, `SP2-UK/BR/IN`, `SP3`, `SP3-EU`, `SP3S-EU` and `SP3S-US` +- Smart Plugs: `SP mini`, `SP mini+`, `SP mini 3`, `SP1`, `SP2`, `SP2-CL`, `SP2-UK/BR/IN`, `SP3`, `SP3-EU`, `SP3S-EU`, `SP3S-US`, `SP4L-EU` and `SP4M-US` - Universal Remotes: `RM mini`, `RM mini 3`, `RM pro`, `RM pro+`, `RM plus`, `RM4 mini`, `RM4 pro` and `RM4C mini` - Wi-Fi Controlled Switches: `SC1` diff --git a/source/_integrations/color_extractor.markdown b/source/_integrations/color_extractor.markdown new file mode 100644 index 00000000000..c4998926dd5 --- /dev/null +++ b/source/_integrations/color_extractor.markdown @@ -0,0 +1,94 @@ +--- +title: ColorExtractor +description: Instructions how to integrate the Color Extractor into Home Assistant. +ha_release: 0.118 +ha_category: + - Image Processing +ha_domain: color_extractor +ha_codeowners: + - '@GenericStudent' +--- + +The `color_extractor` integration will extract the predominant color from a given image and apply that color to a target light. +Useful as part of an automation. + +## Configuration + +To enable the `color_extractor` service in your installation, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +color_extractor: +``` + +## Services + +Because `color_extractor.turn_on` will then call `light.turn_on`, you can pass any valid [`light.turn_on`](/integrations/light#service-lightturn_on) parameters (`rgb_color` will be set for you though) as those will be passed along. + +Passing the key `color_extract_url` to the service call will download the linked image and extract the predominant color from it. Passing the key `color_extract_path` to the service call will process the image file from local storage instead. `color_extract_url` and `color_extract_path` are exclusive and cannot be used together. + +|Key | Example | Description | +|---------------------|---------------------------------------|-------------------------------------------------------------------------------| +|`color_extract_url` | `https://example.com/images/logo.png` | The full URL (including schema, `http://`, `https://`) of the image to process| +|`color_extract_path` | `/tmp/album.png` | The full path to the image file on local storage we'll process | +|`entity_id` | `light.shelf_leds` | The RGB capable light we'll set the color of | + +
+ + Please ensure any [external URLs](/docs/configuration/basic/#allowlist_external_urls) or [external files](/docs/configuration/basic/#allowlist_external_dirs) are authorized for use, you will receive error messages if this component is not allowed access to these external resources. + +
+ +### URL Service Call + +Add the parameter key `color_extract_url` to the service call. + +This service allows you to pass in the URL of an image, have it downloaded, get the predominant color from it, and then set a light's RGB value to it. + +### File Service Call + +Add the parameter key `color_extract_path` to the service call. + +This service is very similar to the URL service above, except it processes a file from the local file storage. + +## Example Automations + +Example usage in an automation, taking the album art present on a Chromecast and supplying it to `light.shelf_leds` whenever it changes: + +{% raw %} + +```yaml +#automation.yaml +- alias: Chromecast to Shelf Lights + + trigger: + - platform: state + entity_id: media_player.chromecast + + action: + - service: color_extractor.turn_on + data_template: + color_extract_url: '{{ states.media_player.chromecast.attributes.entity_picture }}' + entity_id: light.shelf_leds +``` + +With a nicer transition period of 5 seconds and setting brightness to 100% each time (part of the [`light.turn_on`](/integrations/light#service-lightturn_on) service parameters): + +```yaml +#automation.yaml +- alias: Nicer Chromecast to Shelf Lights + + trigger: + - platform: state + entity_id: media_player.chromecast + + action: + - service: color_extractor.turn_on + data_template: + color_extract_url: '{{ states.media_player.chromecast.attributes.entity_picture }}' + entity_id: light.shelf_leds + brightness_pct: 100 + transition: 5 +``` + +{% endraw %} diff --git a/source/_integrations/dsmr.markdown b/source/_integrations/dsmr.markdown index f1b89b1b40d..854d0f086b4 100644 --- a/source/_integrations/dsmr.markdown +++ b/source/_integrations/dsmr.markdown @@ -137,6 +137,18 @@ Docker users have to allow Docker access to the device by adding `--device /dev/ $ docker run --device /dev/ttyUSB0:/dev/ttyUSB0 -d --name="home-assistant" -v /home/USERNAME/hass:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/home-assistant ``` +### Options + +To configure options for DSMR integration go to **Configuration** >> **Integrations** and press **Options** on the DSMR card. + +#### Time between updates + +Typically the smart meter sends new data every 5-10 seconds. This value defines the minimum time between entity updates in seconds. Setting this value to 0 will update entities each time data is received from the smart meter. + +
+Reducing the default time between updates will increase the amount of events generated and can potentially flood the system with events. +
+ ### Technical overview DSMR is a standard to which Dutch smartmeters must comply. It specifies that the smartmeter must send out a 'telegram' every 10 seconds (every second for DSMR 5.0 devices) over a serial port. diff --git a/source/_integrations/dyson.markdown b/source/_integrations/dyson.markdown index e1790a04af7..f614f2ed779 100644 --- a/source/_integrations/dyson.markdown +++ b/source/_integrations/dyson.markdown @@ -134,6 +134,8 @@ The `dyson` fan platform allows you to control your Dyson Purifier fans. - Pure Cool link (desk and tower) - Pure Hot+cool link (see climate part) for thermal control - Pure Cool 2018 (DP04 and TP04) +- Pure Cool Cryptomic (TP06) +- Pure Humidify+Cool (PH01) ### Attributes @@ -145,31 +147,23 @@ There are several attributes which can be used for automations and templates. | `auto_mode` | A boolean that indicates if the auto mode of the fan device is on.| | `angle_low` | Int (between 5 and 355) that indicates the low angle of oscillation (only for DP04 and TP04).| | `angle_high` | Int (between 5 and 355) that indicates the high angle of oscillation (only for DP04 and TP04).| -| `flow_direction_front` | Boolean that indicates if the frontal flow direction is enabled (only for DP04 and TP04).| +| `flow_direction_front` | Boolean that indicates if the frontal flow direction is enabled (only for DP04, TP04 and PH01).| | `timer` | Attribute that indicates the status of the auto power off timer, can be either 'OFF' or an integer representing the time remaining until shutdown in minutes (only for DP04 and TP04).| -| `hepa filter` | State of the fan's HEPA filter in % (only for DP04 and TP04).| -| `carbon filter` | State of the fan's carbon filter in % (only for DP04 and TP04).| +| `hepa filter` | Remaining life of the fan's HEPA filter in % (only for DP04 and TP04 — Combi filter for PH01).| +| `carbon filter` | Remaining life of the fan's carbon filter in % (only for DP04 and TP04).| ## Sensor The `dyson` sensor platform provides temperature and humidity sensors. +For compatible models (i.e. DP04, TP04, PH01), remaining life percentage for the filters (HEPA and Carbon, or Combi) is provided as sensors. + ## Air Quality -The `dyson` air quality platform provides the following levels: +The `dyson` air quality platform provides the following levels (only for DP04, TP04, PH01): - Particulate matter 2.5 (<= 2.5 μm) level. - Particulate matter 10 (<= 10 μm) level. - Air Quality Index (AQI). - NO2 (nitrogen dioxide) level. - VOC (Volatile organic compounds) level. - -Note: currently only the 2018 dyson fans are supported(TP04 and DP04). - -### Supported fan devices - -- Pure Cool link (desk and tower) -- Pure Hot+cool link (see climate part) for thermal control -- Pure Hot+cool 2019 model (HP04) -- Pure Cool 2018 Models (TP04 and DP04) -- Pure Cool Cryptomic (TP06) diff --git a/source/_integrations/epson.markdown b/source/_integrations/epson.markdown index 6b0165fd32e..fea9839eb27 100644 --- a/source/_integrations/epson.markdown +++ b/source/_integrations/epson.markdown @@ -6,13 +6,18 @@ ha_category: ha_release: 0.72 ha_iot_class: Local Polling ha_domain: epson +ha_codeowners: + - '@pszafer' +ha_config_flow: true --- -The `epson` platform allows you to control a Epson projector from Home -Assistant. +The `epson` platform allows you to control a Epson projector from Home Assistant. -To add Epson to your installation, -add the following to your `configuration.yaml` file: +To add Epson to your installation go to Integration page and add Epson Projector or configure via `configuration.yaml`. + +### Configuration + +Add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -36,14 +41,10 @@ name: required: false type: string default: 'EPSON Projector' -ssl: - description: "Enable SSL. **Feature not tested.**" - required: false - type: boolean - default: false {% endconfiguration %} -Supported features of Epson projector: +### Supported features + - turn on/off - set input - set/get color mode @@ -51,10 +52,12 @@ Supported features of Epson projector: - mute/unmute audio - send next/previous track -Supported devices: +### Supported devices + - Epson projectors supporting ESC/VP21 protocol. -Tested devices: +### Tested devices + - Epson EH-TW5350 - Epson EH-TW7000 diff --git a/source/_integrations/flunearyou.markdown b/source/_integrations/flunearyou.markdown index 5eb463c9a2a..65733a673e0 100644 --- a/source/_integrations/flunearyou.markdown +++ b/source/_integrations/flunearyou.markdown @@ -18,31 +18,8 @@ Center for Disease Control (CDC). ## Configuration -To enable the platform, add the following lines to your `configuration.yaml` -file: - -```yaml -sensor: - - platform: flunearyou -``` - -{% configuration %} -monitored_conditions: - description: The sensor categories to display. - required: false - type: list - default: ['cdc_report', 'user_report'] -latitude: - description: The latitude of the location to monitor. - required: false - type: float - default: The latitude defined under the `homeassistant` key in `configuration.yaml`. -longitude: - description: The longitude of the location to monitor. - required: false - type: float - default: The longitude defined under the `homeassistant` key in `configuration.yaml`. -{% endconfiguration %} +This integration can be configured via the Home Assistant UI by navigating to +**Configuration** -> **Integrations**. ## Sensor Types diff --git a/source/_integrations/fritz.markdown b/source/_integrations/fritz.markdown index e38f2e955da..ca963b61421 100644 --- a/source/_integrations/fritz.markdown +++ b/source/_integrations/fritz.markdown @@ -25,10 +25,12 @@ host: description: The IP address of your router, e.g., `192.168.1.1`. It is optional since every FRITZ!Box is also reachable by using the IP address 169.254.1.1. required: false type: string + default: 169.254.1.1 username: description: The username of an user with administrative privileges, usually `admin`. required: false type: string + default: admin password: description: The password for your given admin account. required: false diff --git a/source/_integrations/fritzbox.markdown b/source/_integrations/fritzbox.markdown index 8825cae4ef8..7f68c294667 100644 --- a/source/_integrations/fritzbox.markdown +++ b/source/_integrations/fritzbox.markdown @@ -1,6 +1,6 @@ --- -title: AVM FRITZ!Box -description: Instructions on how to integrate the AVM Fritzbox Smart Home components. +title: AVM FRITZ!SmartHome +description: Instructions on how to integrate AVM Fritz!DECT components into Home Assistant. ha_category: - Binary Sensor - Climate @@ -12,13 +12,13 @@ ha_domain: fritzbox ha_config_flow: true --- -The [AVM](https://en.avm.de) FRITZ!Box integration for Home Assistant allows you to integrate the switch and climate devices. +The AVM FRITZ!SmartHome integration for Home Assistant allows you to integrate [FRITZ!DECT](https://en.avm.de/products/fritzdect/) devices like switches, sensors and thermostats. There is currently support for the following device types within Home Assistant: - Binary Sensor - Climate -- [Sensor](#sensor) +- Sensor - Switch #### Tested Devices @@ -33,7 +33,7 @@ There is currently support for the following device types within Home Assistant: ## Configuration -To add the AVM FRITZ!Box integration to your installation, go to **Configuration** -> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **AVM FRITZ!Box**. +To add the AVM FRITZ!SmartHome integration to your installation, go to **Configuration** -> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **AVM FRITZ! SmartHome**. If you have enabled SSDP discovery, it’s likely that you just have to confirm the detected device with username and password. @@ -48,18 +48,19 @@ fritzbox: - password: YOUR_PASSWORD ``` + {% configuration %} devices: - description: A list of FRITZ!Box devices. + description: A list of FRITZ! devices. type: map keys: host: - description: The hostname or IP address of the FRITZ!Box. + description: The hostname or IP address of the FRITZ!Box. (e.g. fritz.box or 192.168.178.1) required: false type: string default: fritz.box username: - description: The username for Smart Home access. + description: The username for Smart Home access. **(User needs "Smart Home" persmission!)** required: false type: string default: admin @@ -69,9 +70,10 @@ devices: type: string {% endconfiguration %} -## Switch & Thermostat -To get AVM FRITZ!Box switch and thermostat follow the instructions above. +## Switches & Thermostats + +To get AVM FRITZ!DECT switches (e.g. FRITZ!DECT 400/440) or thermostats (e.g. FRITZ!DECT 301) follow the [configuration instructions](#configuration) above. ### Attributes @@ -91,9 +93,9 @@ There are several attributes that can be useful for automations and templates. | `total_consumption` | The total power consumption since the beginning of operation (only available if the device supports power meter function). | `total_consumption_unit` | The unit of the total_consumption (only available if the device supports power meter function). -## Sensor +## Sensors -To get AVM FRITZ!Box temperature sensor (e.g., FRITZ!DECT Repeater 100) follow the instructions for the [FRITZ!Box integration](#setup). +To get AVM FRITZ!DECT sensors (e.g., FRITZ!DECT Repeater 100) follow the [configuration instructions](#configuration) above. ### Attributes diff --git a/source/_integrations/fritzbox_callmonitor.markdown b/source/_integrations/fritzbox_callmonitor.markdown index 1d9f3896521..fd029e77e01 100644 --- a/source/_integrations/fritzbox_callmonitor.markdown +++ b/source/_integrations/fritzbox_callmonitor.markdown @@ -44,6 +44,7 @@ port: username: description: FRITZ!Box user's user name. This is required to use the phone book lookup feature. The user needs to have the "voice message, fax message, Fritz!App Fon and call list" permission. required: false + default: admin type: string password: description: FRITZ!Box user's user password. This is required to use the phone book lookup feature. diff --git a/source/_integrations/generic.markdown b/source/_integrations/generic.markdown index a2f2a8b7c4a..77b930b2b7a 100644 --- a/source/_integrations/generic.markdown +++ b/source/_integrations/generic.markdown @@ -1,12 +1,12 @@ --- -title: "Generic IP Camera" -description: "Instructions on how to integrate IP cameras within Home Assistant." +title: Generic +description: Instructions on how to integrate IP cameras within Home Assistant. ha_category: - Camera logo: home-assistant.png ha_release: pre 0.7 ha_iot_class: Configurable -ha_domain: camera +ha_domain: generic --- The `generic` camera platform allows you to integrate any IP camera or other URL into Home Assistant. Templates can be used to generate the URLs on the fly. diff --git a/source/_integrations/homekit.markdown b/source/_integrations/homekit.markdown index 3e6a28cc0da..35e72004bb5 100644 --- a/source/_integrations/homekit.markdown +++ b/source/_integrations/homekit.markdown @@ -156,6 +156,10 @@ homekit: description: The `entity_id` of a `binary_sensor` entity to use as the motion sensor of the camera accessory to enable motion notifications. HomeKit will cache an accessory's feature set on the first run so a device must be [reset](#resetting-accessories) for any change to take effect. required: false type: string + linked_obstruction_sensor: + description: The `entity_id` of a `binary_sensor` entity to use as the obstruction sensor of the garage door (cover) accessory to enable obstruction state tracking. HomeKit will cache an accessory's feature set on the first run so a device must be [reset](#resetting-accessories) for any change to take effect. + required: false + type: string low_battery_threshold: description: Minimum battery level before the accessory starts reporting a low battery. required: false diff --git a/source/_integrations/homematicip_cloud.markdown b/source/_integrations/homematicip_cloud.markdown index 75d10fffaed..0f4425353f9 100644 --- a/source/_integrations/homematicip_cloud.markdown +++ b/source/_integrations/homematicip_cloud.markdown @@ -109,6 +109,7 @@ Within this delay the device registration should be completed in the App, otherw * Alarm Siren (*HmIP-ASIR, -B1*) (battery only) * Remote Control for brand switches – 2-button (*HmIP-BRC2*) (battery only) * Pluggable Power Supply Monitoring (*HmIP-PMFS*) + * Wired Inbound module – 32x channels (*HMIPW-DRI32*) * homematicip_cloud.climate * Climate group (*HmIP-HeatingGroup*) @@ -168,6 +169,7 @@ Within this delay the device registration should be completed in the App, otherw * Switch Circuit Board - 2x channels (*HmIP-PCBS2*) * Printed Circuit Board Switch Battery (*HmIP-PCBS-BAT*) * Switch Actuator for heating systems – 2 channels (*HmIP-WHS2*) + * Wired Switch Actuator – 8x channels (*HMIPW-DRS8*) * homematicip_cloud.weather * Weather Sensor – basic (*HmIP-SWO-B*) diff --git a/source/_integrations/honeywell.markdown b/source/_integrations/honeywell.markdown index 5832940612e..ec4919cf17f 100644 --- a/source/_integrations/honeywell.markdown +++ b/source/_integrations/honeywell.markdown @@ -5,8 +5,6 @@ ha_category: - Climate ha_release: pre 0.7 ha_iot_class: Cloud Polling -ha_codeowners: - - '@zxdavb' ha_domain: honeywell --- diff --git a/source/_integrations/ialarm.markdown b/source/_integrations/ialarm.markdown deleted file mode 100644 index c79b39f264a..00000000000 --- a/source/_integrations/ialarm.markdown +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Antifurto365 iAlarm -description: Instructions on how to integrate iAlarms alarms into Home Assistant. -logo: antifurto365-ialarm.png -ha_category: - - Alarm -ha_iot_class: Local Polling -ha_release: '0.60' -ha_domain: ialarm ---- - -The `ialarm` platform provides connectivity with the [Antifurto365](https://www.antifurtocasa365.it/) iAlarm alarm systems. - -This platform supports the following services: `alarm_arm_away`, `alarm_arm_home` and `alarm_disarm`. - -## Configuration - -To enable this, add the following lines to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -alarm_control_panel: - - platform: ialarm - host: ALARM_SYSTEM_IP - username: YOUR_USERNAME - password: YOUR_PASSWORD -``` - -{% configuration %} -host: - description: The IP address of the iAlarm device on your home network. - required: true - type: string -username: - description: Username used to sign into the iAlarm web client (should be admin by default). - required: true - type: string -password: - description: Password used to sign into the iAlarm web client. If it has a leading zero you need to put the password within quotes. - required: true - type: string -name: - description: Name of device in Home Assistant. - required: false - type: string -code: - description: Specifies a code to enable or disable the alarm in the frontend. - required: false - type: integer -{% endconfiguration %} - -This platform has also been confirmed to work with the alarm system brands Meian and Emooluxr. diff --git a/source/_integrations/image.markdown b/source/_integrations/image.markdown index c1512248380..78f3689b996 100644 --- a/source/_integrations/image.markdown +++ b/source/_integrations/image.markdown @@ -8,7 +8,7 @@ ha_codeowners: - '@home-assistant/core' ha_domain: image ha_quality_scale: internal -ha_iot_class: ~ +ha_iot_class: --- The Image integration allows Home Assistant to handle image assets in Home Assistant, for example, diff --git a/source/_integrations/image_processing.markdown b/source/_integrations/image_processing.markdown index ef1583000f6..3733c3fee47 100644 --- a/source/_integrations/image_processing.markdown +++ b/source/_integrations/image_processing.markdown @@ -5,7 +5,7 @@ ha_category: - Image Processing ha_release: 0.36 ha_domain: image_processing -ha_iot_class: ~ +ha_iot_class: --- Image processing enables Home Assistant to process images from [cameras](/integrations/#camera). Only camera entities are supported as sources. diff --git a/source/_integrations/jewish_calendar.markdown b/source/_integrations/jewish_calendar.markdown index 28a121a3499..c28f8c3c8df 100644 --- a/source/_integrations/jewish_calendar.markdown +++ b/source/_integrations/jewish_calendar.markdown @@ -69,7 +69,6 @@ havdalah_minutes_after_sunset: *Note: Due to the variety of rabbinic opinions on how to calculate the different times, we do not take any responsibility on your religious reliance upon these calculations.* Time sensor states are represented as ISO8601 formatted *UTC time*. -For easier use in automations, all time sensors have a `timestamp` attribute, which returns the UNIX timestamp. - `first_light`: First light of dawn (Alot Hashachar - עלות השחר) - `talit`: Earliest time for tallit and tefillin (Misheyakir - משיכיר) diff --git a/source/_integrations/light.mqtt.markdown b/source/_integrations/light.mqtt.markdown index 2d1431c3bb9..c57dd58d5e9 100644 --- a/source/_integrations/light.mqtt.markdown +++ b/source/_integrations/light.mqtt.markdown @@ -37,6 +37,9 @@ When a state topic is not available, the light will work in optimistic mode. In Optimistic mode can be forced, even if the `state_topic` is available. Try to enable it, if experiencing incorrect light operation. +Home Assistant internally assumes that a light either has a color or a color temperature. +The state of MQTT lights with default schema and support for both color and color temperature will include a color if `white_value` is 0 or None and a `color_temp` is white_value > 0. + ```yaml # Example configuration.yaml entry light: @@ -94,7 +97,7 @@ color_temp_command_topic: required: false type: string color_temp_state_topic: - description: The MQTT topic subscribed to receive color temperature state updates. + description: "The MQTT topic subscribed to receive color temperature state updates. If the light also supports setting colors, also define a `white_value_state_topic`. " required: false type: string color_temp_value_template: diff --git a/source/_integrations/miflora.markdown b/source/_integrations/miflora.markdown index 42ff35f8888..bd716919686 100644 --- a/source/_integrations/miflora.markdown +++ b/source/_integrations/miflora.markdown @@ -7,7 +7,6 @@ ha_release: 0.29 ha_iot_class: Local Polling ha_codeowners: - '@danielhiversen' - - '@ChristianKuehnel' - '@basnijholt' ha_domain: miflora --- diff --git a/source/_integrations/nest.markdown b/source/_integrations/nest.markdown index 89a077e0cb5..6d98818f240 100644 --- a/source/_integrations/nest.markdown +++ b/source/_integrations/nest.markdown @@ -16,23 +16,36 @@ ha_codeowners: ha_domain: nest --- -The `nest` integration allows you to access all supported [Google Nest](https://store.google.com/us/category/connected_home?) devices. There are two APIs: - -1. New [Device Access](https://developers.google.com/nest/device-access) program and [Smart Device Management](https://developers.google.com/nest/device-access/api) (SDM) API. -1. Legacy [Works With Nest](https://developers.nest.com/) API. This API does not accept new users, but existing users can keep using it. - -
-The two APIs support different features and devices. The SDM API integration is currently under development and does not yet support everything in the API either. -
+The `nest` integration allows you to integrate your [Google Nest](https://store.google.com/us/category/connected_home?) devices in Home Assistant. This integration uses the [Smart Device Management](https://developers.google.com/nest/device-access/api) API and Google's Cloud Pubsub to efficiently listen for changes in device state or other events. There is currently support for the following device types within Home Assistant: -- [Binary Sensor](#binary-sensor-legacy-api-only) (Legacy API Only) -- [Camera](#camera-legacy-api-only) (Legacy API Only) -- [Climate](#climate-legacy-api-only) (Legacy API Only) -- [Sensor](#sensor) (Both APIs) +- [Camera](#camera) +- [Climate](#climate) +- [Sensor](#sensor) -## Device Access: Developer Account Setup +
+Note that this integration continues to support the Legacy Works With Nest API which is not accepting new users. The documentation for this API is at the bottom of this page so existing users can keep using it. +
+ +## Overview: Supported Devices + +Home Assistant is integrated with the following devices through the SDM API: + +- Thermostat Devices + - Every thermostat is exposed as a `climate` entity + - Temperature and Humidity sensors each have a `sensor` entity + - Example devices: All Google Nest Thermostat models +- Display, Camera, and Doorbell Devices + - The camera live stream is available as a `camera` entity + - Example devices: All Google Nest Cam models, Google Nest Hello Video Doorbell, Google Nest Hub Max + +You are in control of the information and capabilities exposed to Home Assistant. You can authorize a single device, multiple devices, or different levels of functionality such as motion events, live streams, for any particular device. The integration is flexible enough to adapt based on what you allow. + +Others devices like Smoke and CO Alarms or Security systems are not currently +supported by the SDM API. + +## Account Setup You will need to follow the instructions in [Device Access Registration](https://developers.google.com/nest/device-access/registration), which includes the following steps in the Quick Start Guide: @@ -54,53 +67,19 @@ Follow all of the instructions in [Device Access: Quick Start Guide](https://dev It may be easiest to create a [Pub/Sub subscription](https://console.cloud.google.com/cloudpubsub/subscription/list) from the Google Cloud console. Make sure to use the *topic name* from the device access console and a unique subscription ID. Note the message retention is how long messages will queue while offline, so keep that short (e.g., under an hour) to avoid a potentially large backlog of updates. -## Works With Nest: Developer Account Setup (Legacy) - -
-New users cannot set up a "Works With Nest Developer" account and instead should use the Device Access program. The instructions below only apply if you already have an account. -
- -1. Visit [Nest Developers](https://developers.nest.com/), and sign in. Create an account if you don't have one already. -2. Fill in account details: - * The "Company Information" can be anything. We recommend using your name. -3. Submit changes -4. Click "[Products](https://developers.nest.com/products)" at the top of page. -5. Click "[Create New Product](https://developers.nest.com/products/new)" -6. Fill in details: - * Product name must be unique. We recommend [email] - Home Assistant. - * The description, users, URLs can all be anything you want. - * Leave the "Redirect URI" Field blank -7. For permissions, check every box and if it's an option, select the read/write option. Note: there are important permissions under the "Other Permissions" category. If you are only adding a thermostat, do not just select the permissions under "Thermostat". You still need to check the boxes under "Other Permissions" to give you access to features like away mode, ETA, structure read/write, and postal code. - * The description requires a specific format to be accepted. - * Use "[Home Assistant] [Edit] [For Home Automation]" as the description as it is not super important. -8. Click "Create Product" -9. Once the new product page opens the "Product ID" and "Product Secret" are located on the right side. These will be used as `client_id` and `client_secret` below. -10. Add the Nest integration to your `configuration.yaml` and restart Home Assistant. Then, go to `Configuration > Integrations` and select `CONFIGURE` next to `Nest`. Click the link in the configurator pop up to log into your Nest account and complete the OAuth. Copy the resulting PIN code into the pop up. - -Connecting to the Nest Developer API requires outbound port 9553 on your firewall. The configuration will fail if this is not accessible. - ## Configuration +```yaml + ```yaml # Example configuration.yaml entry nest: client_id: CLIENT_ID client_secret: CLIENT_SECRET - # Fields required by Device Access (SDM) API. Otherwise, use legacy API. - project_id: PROJECT_ID + project_id: PROJECT_ID # ("Project ID" in the Device Access Console) subscriber_id: SUBSCRIBER_ID # ("Subscription ID" in Google Cloud Console) ``` -```yaml -# Example configuration.yaml entry to show only devices at your vacation and primary homes -nest: - client_id: CLIENT_ID - client_secret: CLIENT_SECRET - structure: - - Vacation - - Primary -``` - {% configuration %} client_id: description: Your Device Access or Nest developer client ID. @@ -118,28 +97,123 @@ subscriber_id: description: Your Pub/sub Subscription ID used to receive events. This is required to use the SDM API. type: string required: false +{% endconfiguration %} + +## Device Setup + +Once your developer account is set up and you have a valid `nest` entry in `configuration.yaml` , you need to connect devices with the following steps: + +1. From the Home Assistant front-end, navigate to **Configuration** then **Integrations**. Under **Set up a new integration** locate 'Nest'. +1. You should get redirected to Google to choose an account. This should be the same developer account you configured above. +1. The *Google Nest permissions* screen will allow you to choose which devices to configure. You can leave out any device that you do not wish to use with Home Assistant. +1. You will get redirected back to another account selection page. +1. Confirm you want to allow persistent access to Home Assistant. + +## Troubleshooting + +- See [No URL Available](/more-info/no-url-available) for guidance on setup issues related to URLs. + +- For trouble with the SDM API OAuth authorization flow with Google, see [Troubleshooting](https://developers.google.com/nest/device-access/authorize#troubleshooting) which includes guidance for errors like `redirect_uri_mismatch` where Google needs to know about your external URL + +## Camera + +All Google Nest Cam models, Google Nest Hello Video Doorbell, Google Nest Hub Max expose a [CameraLiveStream](https://developers.google.com/nest/device-access/traits/device/camera-live-stream) via the SDM API, which returns a RTSP live stream which can be viewed from Home Assistant. + +Given a camera named `Front Yard` then the camera is created with a name such as `camera.front_yard`. + +## Climate + +All Google Nest Thermostat models are exposed as a `climate` entity that use the [Thermostat Traits](https://developers.google.com/nest/device-access/traits/device/thermostat-hvac) in the SDM API. State changes to the thermostat are reported to Home Assistant through the Cloud Pubsub subscriber. + +Given a thermostat named `Upstairs` then the climate entity is created with a name such as `climate.upstairs` + +## Sensor + +All Google Nest Thermostat models have traits exposed from the SDM API. The initial values of the sensors are fetched on startup, then updated regularly using the Cloud Pubsub subscriber. The following traits are supported with sensors: + +- [Temperature](https://developers.google.com/nest/device-access/traits/device/temperature) +- [Humidity](https://developers.google.com/nest/device-access/traits/device/humidity) + +Given a thermostat named `Upstairs` then sensors are created with names such as `sensor.upstairs_temperature` or `sensor.upstairs_humidity`. + +# Legacy Works With Nest API + +This section contains instructions for the Legacy [Works with Nest](https://developers.nest.com/) API. + +
+New users are not currently able to set up a Works With Nest Developer account. The documentation is preserved here for existing users of the API. +
+ +
+Click here for documentation for the Legacy Works with Nest API + +The Nest integration is the main integration to integrate all [Nest](https://nest.com/) related platforms. To connect Nest, you will have to [sign up for a developer account](https://developers.nest.com/products) and get a `client_id` and `client_secret`. + + +There is currently support for the following device types within Home Assistant: + +- [Binary Sensor](#binary-sensor) +- [Camera](#camera) +- [Climate](#climate) +- [Sensor](#sensor) + +### Setting up developer account + + +1. Visit [Nest Developers](https://developers.nest.com/), and sign in. Create an account if you don't have one already. +2. Fill in account details: + * The "Company Information" can be anything. We recommend using your name. +3. Submit changes +4. Click "[Products](https://developers.nest.com/products)" at top of page. +5. Click "[Create New Product](https://developers.nest.com/products/new)" +6. Fill in details: + * Product name must be unique. We recommend [email] - Home Assistant. + * The description, users, URLs can all be anything you want. + * Leave the "Redirect URI" Field blank +7. For permissions check every box and if it's an option select the read/write option. Note: there are important permissions under the "Other Permissions" category. If you are only adding a thermostat, do not just select the permissions under "Thermostat". You still need to check the boxes under "Other Permissions" in order to give you access to features like away mode, ETA, structure read/write, and postal code. + * The description requires a specific format to be accepted. + * Use "[Home Assistant] [Edit] [For Home Automation]" as the description as it is not super important. +8. Click "Create Product" +9. Once the new product page opens the "Product ID" and "Product Secret" are located on the right side. These will be used as `client_id` and `client_secret` below. +10. Add the Nest integration to your `configuration.yaml` and restart Home Assistant. Then, go to `Configuration > Integrations` and select `CONFIGURE` next to `Nest`. Click the link in the configurator pop up to log into your Nest account and complete the OAuth. Copy the resulting PIN code into the pop up. + +Connecting to the Nest Developer API requires outbound port 9553 on your firewall. The configuration will fail if this is not accessible. + +## Configuration + +```yaml +# Example configuration.yaml entry +nest: + client_id: CLIENT_ID + client_secret: CLIENT_SECRET +``` + +```yaml +# Example configuration.yaml entry to show only devices at your vacation and primary homes +nest: + client_id: CLIENT_ID + client_secret: CLIENT_SECRET + structure: + - Vacation + - Primary +``` + +{% configuration %} +client_id: + description: Your Nest developer client ID. + required: true + type: string +client_secret: + description: Your Nest developer client secret. + required: true + type: string structure: - description: The structure or structures you would like to include devices from. If not specified, this will include all structures in your Nest account. Not currently supported by the SDM API. + description: The structure or structures you would like to include devices from. If not specified, this will include all structures in your Nest account. required: false type: list {% endconfiguration %} -## Device Setup (SDM API) - -Once your developer account is set up and `nest` has been configured, you need to connect devices with the following steps: - -1. From the Home Assistant front-end, navigate to **Configuration** then **Integrations**. Under **Set up a new integration** locate 'Nest'. -1. You should get redirected to Google to choose an account. This should be the same developer account you configured above. -1. The *Google Nest permissions* screen will allow you to choose which devices to configure. -1. You will get redirected back to another account selection page. -1. Confirm you want to allow persistent access to Home Assistant. - -## Services (Legacy API Only) - -They Legacy API supports additional services for home/away/eta that are not -supported by the SDM API. - -### Service `set_away_mode` (Legacy API Only) +### Service `set_away_mode` You can use the service `nest/set_away_mode` to set the structure(s) to "Home" or "Away". @@ -172,7 +246,7 @@ script: - Apartment ``` -### Service `set_eta` (Legacy API Only) +### Service `set_eta` You can use the service `nest/set_eta` to set or update the estimated time of arrival window. Calling this service will automatically set the structure(s) to "Away". Structures must have an associated Nest thermostat in order to use ETA function. @@ -210,7 +284,7 @@ script: - Apartment ``` -### Service `cancel_eta` (Legacy API Only) +### Service `cancel_eta` You can use the service `nest/cancel_eta` to cancel an existing estimated time of arrival window. Structures must have an associated Nest thermostat in order to use ETA function. @@ -243,7 +317,7 @@ script: - Apartment ``` -## Troubleshooting (Legacy API Only) +### Troubleshooting - For trouble with the SDM API OAuth authorization flow with Google, see [Troubleshooting](https://developers.google.com/nest/device-access/authorize#troubleshooting) which includes guidance for errors like `redirect_uri_mismatch` where Google needs to know about your external URL. @@ -257,13 +331,13 @@ You must have the [Nest component](/integrations/nest/) configured to use the pl -### Binary Sensor (Legacy API Only) +### Binary Sensor The `nest` binary sensor platform lets you monitor various states of your [Nest](https://nest.com) devices.
-You must have the [Nest component](/integrations/nest/) configured to use these sensors. The binary sensors will be set up if the `nest` integration is configured and the required configuration for the `nest binary sensor` is set. +You must have the [Nest component](/integrations/nest/) configured to use these sensors. The binary sensors will be setup if the `nest` integration is configured and the required configuration for the `nest binary sensor` is set.
@@ -280,7 +354,7 @@ nest: - 'target' ``` -By default, all binary sensors for your available Nest devices will be monitored. Leave `monitored_conditions` blank to disable all binary sensors for the [Nest component](/integrations/nest/). +By default all binary sensors for your available Nest devices will be monitored. Leave `monitored_conditions` blank to disable all binary sensors for the [Nest component](/integrations/nest/). {% configuration %} monitored_conditions: @@ -307,19 +381,19 @@ The following conditions are available by device: - person\_detected - sound\_detected -### Camera (Legacy API Only) +### Camera The `nest` platform allows you to watch still frames from a video stream (not live stream) of your [Nest](https://nest.com/camera/meet-nest-cam/) camera in Home Assistant.
-The `nest` camera will automatically be set up when you do. +The Legacy API integration allows you to watch still frames from a video stream (not live stream). The Legacy API also supports the `camera.turn_on` and `camera.turn_off` services.
Nest Camera supports the `camera.turn_on` and `camera.turn_off` services since the 0.75 release. -### Climate (Legacy API Only) +### Climate The `nest` climate platform lets you control a thermostat from [Nest](https://nest.com). @@ -333,13 +407,12 @@ Please note due to limitations with the European Nest Thermostat E, integration ### Sensor -The `nest` sensor platform lets you monitor sensors connected to your [Nest](https://nest.com) devices. The SDM API supports these sensor traits: - -- [Temperature](https://developers.google.com/nest/device-access/traits/device/temperature) -- [Humidity](https://developers.google.com/nest/device-access/traits/device/humidity) +The `nest` sensor platform lets you monitor sensors connected to your [Nest](https://nest.com) devices.
-The SDM API will monitor all devices automatically once configured. The Legacy API has additional configuration for `nest sensor`. + +The sensors will be setup if the `nest` integration is configured and the required configuration for the `nest sensor` is set. +
#### Configuration @@ -355,7 +428,7 @@ nest: - 'target' ``` -By default all, sensors for your available Nest devices will be monitored. Leave `monitored_conditions` blank to disable all sensors for the [Nest component](/integrations/nest/). +By default all sensors for your available Nest devices will be monitored. Leave `monitored_conditions` blank to disable all sensors for the [Nest component](/integrations/nest/). {% configuration %} monitored_conditions: @@ -382,7 +455,7 @@ The following conditions are available by device: - `color_status`: `gray`, `green`, `yellow` or `red`. Indicates device status by color in the Nest app UI. It is an aggregate condition for battery+smoke+CO states, and reflects the actual color indicators displayed in the Nest app. - Nest Camera: none -### Security State (Legacy Only) +### Security State
@@ -407,3 +480,5 @@ If a Nest Cam detects the presence of a person (see `person_detected` in [binary A `deter` state is re-evaluated after several minutes and relaxed to `ok` if no further `person_detected` events have occurred. The `security_state` automatically switches to `ok` when the structure state is `home`. + +
diff --git a/source/_integrations/neurio_energy.markdown b/source/_integrations/neurio_energy.markdown index cb08b5cf867..2ffcfd7ea87 100644 --- a/source/_integrations/neurio_energy.markdown +++ b/source/_integrations/neurio_energy.markdown @@ -19,6 +19,7 @@ sensor: platform: neurio_energy api_key: CLIENT_ID api_secret: CLIENT_SECRET + sensor_id: SENSOR_ID ``` Two sensors will be created with the following names: @@ -36,7 +37,7 @@ api_secret: required: true type: string sensor_id: - description: The sensor ID will be auto-detected but can be set if you have more then one sensor. - required: false + description: "The sensor ID, a hex number as shown on the [PWRView webpage](https://mypwrview.generac.com/#settings/sensors), e.g., `0x0000XXXXXXXXXXXX`." + required: true type: string {% endconfiguration %} diff --git a/source/_integrations/notion.markdown b/source/_integrations/notion.markdown index 561446e4745..c71540bbdbd 100644 --- a/source/_integrations/notion.markdown +++ b/source/_integrations/notion.markdown @@ -18,23 +18,5 @@ home monitoring sensor kits. ## Configuration -To add your Notion kits to your Home Assistant installation, add the following to your -`configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -notion: - username: YOUR_EMAIL_ADDRESS - password: YOUR_PASSWORD -``` - -{% configuration %} -username: - description: An email address for an active Notion account. - required: true - type: string -password: - description: The password for the account. - required: true - type: string -{% endconfiguration %} +This integration can be configured via the Home Assistant UI by navigating to +**Configuration** -> **Integrations**. diff --git a/source/_integrations/onewire.markdown b/source/_integrations/onewire.markdown index 70607511920..7752d7ecffb 100644 --- a/source/_integrations/onewire.markdown +++ b/source/_integrations/onewire.markdown @@ -5,6 +5,7 @@ ha_category: - DIY ha_release: 0.12 ha_iot_class: Local Polling +ha_config_flow: true ha_codeowners: - '@garbled1' - '@epenet' @@ -17,28 +18,48 @@ Every 1-wire device has a (globally) unique ID that identifies the device on the Different families have different functionality and can measure different quantities. +Each 1-wire component data sheet describes the different properties the component provides. The [owfs software](https://github.com/owfs/owfs) adds some extra tools to make it easier for DIY implementers to use the component. + ### Supported devices: +#### Binary sensors: + +| Family | Device | Physical Quantity | +| -------|:-----|:-----| +| 12 | [DS2406](https://datasheets.maximintegrated.com/en/ds/DS2406.pdf) | 2 sensed (sensed.A/B) [4](#note_4) | +| 29 | [DS2408](https://datasheets.maximintegrated.com/en/ds/DS2408.pdf) | 8 sensed (sensed.0-7) [4](#note_4) | + +#### Sensors: + | Family | Device | Physical Quantity | | -------|:-----|:-----| | 10 | [DS18S20](https://www.maximintegrated.com/en/products/sensors/DS18S20.html) | Temperature | -| 12 | [DS2406(TAI-8570)](https://datasheets.maximintegrated.com/en/ds/DS2406.pdf) | Temperature (pressure when using TAI-8570) | +| 12 | [DS2406](https://datasheets.maximintegrated.com/en/ds/DS2406.pdf) | Temperature and pressure when using TAI-8570 [1](#note_1) | | 1D | [DS2423](https://datasheets.maximintegrated.com/en/ds/DS2423.pdf) | Counter | | 22 | [DS1822](https://datasheets.maximintegrated.com/en/ds/DS1822.pdf) | | -| 26 | [DS2438](https://datasheets.maximintegrated.com/en/ds/DS2438.pdf) | Temperature, Voltage, Current (pressure when using B1-R1-A, illuminance when using S2-R1-A, humidity when using compatible Honeywell or Humirel sensor) | +| 26 | [DS2438](https://datasheets.maximintegrated.com/en/ds/DS2438.pdf) | Temperature, Voltage, Current (pressure when using B1-R1-A, illuminance when using S2-R1-A, humidity when using compatible Honeywell or Humirel sensor) [2](#note_2) | | 28 | [DS18B20](https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf) | Temperature | | 3B | [DS1825](https://datasheets.maximintegrated.com/en/ds/DS1825.pdf) | Temperature | | 42 | [DS28EA00](https://datasheets.maximintegrated.com/en/ds/DS28EA00.pdf) | Temperature | -| EF | [HobbyBoard](https://hobbyboards.com/) | Temperature, Humidity, Moisture | +| EF | [HobbyBoard](https://hobbyboards.com/) | Temperature, Humidity, Moisture, Wetness [3](#note_3) | + +#### Switches: + +| Family | Device | Physical Quantity | +| -------|:-----|:-----| +| 12 | [DS2406](https://datasheets.maximintegrated.com/en/ds/DS2406.pdf) | 2 latches (latch.A/B) and 2 PIOs (PIO.A/B) [4](#note_4) | +| 29 | [DS2408](https://datasheets.maximintegrated.com/en/ds/DS2408.pdf) | 8 latches (latch.0-7) and 8 PIOs (PIO.0/7) [4](#note_4) | Notes: -- The TAI-8570 Pressure Sensor is based on a 1-wire composite device by AAG Electronica. It contains, above 1-wire components, also a barometer, hygrometer and illuminance sensors. This onewire platform can read and present values from that device. +- The TAI-8570 Pressure Sensor is based on a 1-wire composite device by AAG Electronica. It contains, above 1-wire components, also a barometer, hygrometer and illuminance sensors. This onewire platform can read and present values from that device, but the sensors will default to disabled [4](#note_4). -- Each 1-wire component data sheet describes the different properties the component provides. The [owfs software](https://github.com/owfs/owfs) adds some extra tools to make it easier for DIY implementers to use the component. By hobbyists, it is quite common to use DS2438 Smart Battery Monitor as a multipurpose measurement node that can place temperature, humidity and luminosity on the 1-wire bus by just adding some standard components to the DS2438. For different component types, there are ready-made algorithms implemented in owfs. Those are exposed by the owfs software and can be read by this platform. The B1-R1-A/pressure is exposed as a barometric pressure sensor. S2-R1-A/illuminance is presented as an illuminance sensor. For a more detailed description of these properties, refer to the [owfs documentation](https://owfs.org/index_php_page_ds2438.html). - For this component, the more basic quantities temperature, VAD, VDD and IAD is exported as separate sensors. +- For hobbyists, it is quite common to use DS2438 Smart Battery Monitor as a multipurpose measurement node that can place temperature, humidity and luminosity on the 1-wire bus by just adding some standard components to the DS2438. For different component types, there are ready-made algorithms implemented in owfs. Those are exposed by the owfs software and can be read by this platform. The B1-R1-A/pressure is exposed as a barometric pressure sensor. S2-R1-A/illuminance is presented as an illuminance sensor. For a more detailed description of these properties, refer to the [owfs documentation](https://owfs.org/index_php_page_ds2438.html). + For this component, the more basic quantities (temperature, VAD, VDD and IAD) are exported as separate sensors. Please note that some of the sensors will default to disabled [4](#note_4). -- Hobbyboards is a company that has been selling DIY boards of different kinds. The company has been away from the market for some time, so no reference to the boards can be made. This platform has an implementation for some of those. +- Hobbyboards is a company that has been selling DIY boards of different kinds. The company has been away from the market for some time, so no reference to the boards can be made. This platform has an implementation for some of those. + +- Some sensors are disabled by default to avoid overloading the bus. These can be activated by opening the integrations page in your configuration, listing your 1-Wire integration devices and updating the entity. ## Interfacing with the 1-wire bus @@ -93,29 +114,7 @@ The device IDs begin with `28-`. ## Configuration -To enable One wire sensors in your installation, add the following to your `configuration.yaml` file: - -```yaml -# Example configuration.yaml entry -sensor: - - platform: onewire -``` - -{% configuration %} -names: - description: ID and friendly name of your sensors. - required: false - type: string -host: - description: Remote or localhost running owserver. - required: false - type: string -port: - description: "The port number of the owserver (requires `host`)." - required: false - type: integer - default: 4304 -{% endconfiguration %} +Go to the integrations page in your configuration and click on new integration -> 1-Wire. ### Configuration Example diff --git a/source/_integrations/openweathermap.markdown b/source/_integrations/openweathermap.markdown index d65423fb125..89eb6309fc6 100644 --- a/source/_integrations/openweathermap.markdown +++ b/source/_integrations/openweathermap.markdown @@ -10,6 +10,7 @@ ha_config_flow: true ha_codeowners: - '@fabaff' - '@freekode' + - '@nzapponi' ha_domain: openweathermap --- @@ -26,16 +27,17 @@ You need an API key, which is free, but requires a [registration](https://home.o To add OpenWeatherMap integration go to **Configuration** >> **Integrations** and find the integration in the list. -| Parameter | Value | -| :------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- | -| API Key | API Key from the website | -| Name | Name of the integration | -| Latitude | Latitude for weather forecast and sensor | -| Longitude | Longitude for weather forecast and sensor | -| Mode | Forecast mode, `hourly` for a three-hour forecast, `daily` for daily forecast, or `freedaily` for a five-day forecast with the free tier. | -| Language | Language for receiving data (only for `sensor`) | +| Parameter | Value | +| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| API Key | API Key from the website | +| Name | Name of the integration | +| Latitude | Latitude for weather forecast and sensor | +| Longitude | Longitude for weather forecast and sensor | +| Mode | Forecast mode, `hourly` for a three-hour forecast, `daily` for daily forecast using a paid API tier, `onecall_hourly` for an hourly forecast up to 2 days, or `onecall_daily` for a daily forecast up to 7 days (ideal for the free tier). | +| Language | Language for receiving data (only for `sensor`) | The integration creates weather entity and also sensors for all available conditions. +Selecting a `onecall` mode with the free tier leverages the One Call API, resulting in updates every 5 minutes and is recommended for both hourly and daily forecast. For each condition `sensor` entity will be created with id: @@ -45,8 +47,8 @@ Sensor prints information in language which was selected for integration. All conditions: -| Condition | Description | -| :----------- | :------------------------------------- | +| Condition | Description | +| :------------- | :----------------------------------- | | `weather` | A human-readable text summary. | | `temperature` | Current temperature. | | `wind_speed` | Wind speed. | diff --git a/source/_integrations/plant.markdown b/source/_integrations/plant.markdown index b2584de4c90..decf2699370 100644 --- a/source/_integrations/plant.markdown +++ b/source/_integrations/plant.markdown @@ -6,8 +6,6 @@ ha_category: ha_iot_class: Calculated ha_release: 0.44 ha_quality_scale: internal -ha_codeowners: - - '@ChristianKuehnel' ha_domain: plant --- diff --git a/source/_integrations/plugwise.markdown b/source/_integrations/plugwise.markdown index b92b0547d70..5f417e01244 100644 --- a/source/_integrations/plugwise.markdown +++ b/source/_integrations/plugwise.markdown @@ -16,16 +16,16 @@ ha_domain: plugwise --- This enables [Plugwise](https://www.plugwise.com) components with a central Smile gateway to be integrated. This integration talks locally to your **Smile** interface, and you will need its password and IP address. -The platform supports [Anna](https://www.plugwise.com/en_US/products/anna), [Adam (zonecontrol)](https://www.plugwise.com/en_US/zonecontrol) and [P1](https://www.plugwise.com/en_US/products/smile-p1) Smile products. See below list for more details. +The platform supports [Anna](https://www.plugwise.com/en_US/products/anna), [Adam (zonecontrol)](https://www.plugwise.com/en_US/zonecontrol), [P1](https://www.plugwise.com/en_US/products/smile-p1) Smile products and the [Stretch](https://www.plugwise.com/nl_NL/het-systeem) product. See below list for more details. Platforms available - depending on your Smile and setup include: - `climate` (for the Anna and Lisa products, or a single Tom) - `sensor` (for all relevant products including the Smile P1) - `binary_sensor` (for domestic hot water and secondary heater) - - `switch` (for Plugs) + - `switch` (for Plugs connected to Adam or Stealths and Circles connected to a Stretch) -The password can be found on the bottom of your Smile, it should consist of 6 characters. To find your IP address use the Plugwise App: +The password can be found on the bottom of your Smile or Stretch, it should consist of 6 characters. To find your IP address use the Plugwise App: - Open the Plugwise App and choose the 'Settings'-icon (☰) and choose 'HTML-interface'. - Go to the (lower) 'Settings'-icon (☰) and choose 'Preferences'. @@ -41,7 +41,7 @@ Centralized measurements such as 'power' for a P1, 'outdoor_temperature' on Anna ## Configuration -The Plugwise Smile(s) present in your network will be automatically detected via Zeroconf discovery and will be shown on the Integrations-page. To set up an integration, click the "CONFIGURATION" button on the discovered integration and you will be presented with a dialog requesting your Smile password. After you click submit, you will have the opportunity to select the area(s) where individual Smile appliances are located. +The Plugwise Smile(s) present in your network will be automatically detected via Zeroconf discovery and will be shown on the Integrations-page. To set up an integration, click the "CONFIGURATION" button on the discovered integration and you will be presented with a dialog requesting your Smile password. After you click submit, you will have the opportunity to select the area(s) where individual Smile appliances are located. The username `smile` is shown as a default, when configuring your Stretch change this to `stretch` accordingly. Repeat the above procedure for each Smile gateway (i.e., if you have an Adam setup and a P1 DSMR you'll have to add two integrations). @@ -142,12 +142,17 @@ Adam (zone_control): Anna (thermostat): - - v4.0 - - v3.1 - - v1.8 + - v4.x + - v3.x + - v1.x Smile P1 (DSMR): - - v4.0 - - v3.3 - - v2.5 + - v4.x + - v3.x + - v2.x + +Stretch (power switches): + + - v3.x + - v2.x diff --git a/source/_integrations/profiler.markdown b/source/_integrations/profiler.markdown index e59fb7a370e..908bcfd8f9e 100644 --- a/source/_integrations/profiler.markdown +++ b/source/_integrations/profiler.markdown @@ -35,3 +35,43 @@ The `cprof` file can be viewed with: Additionally, the profiler will generate a `callgrind.out` file that can be viewed with: [kcachegrind](https://kcachegrind.github.io/) or qcachegrind + +### Service `profiler.memory` + +Start the memory profiler for the specified number of seconds. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `seconds` | yes | The number of seconds to run the profile. Defaults to 60.0 + +When the memory profile is complete, Profiler will generate a `.hpy` file in your configuration directory. The exact path to these files will appear in a persistent notification so they can be easily located and copied to your desktop. + +The `hpy` file can be viewed with any text editor. A visual representation can be viewed using the [Heapy Profile Browser](http://guppy-pe.sourceforge.net/ProfileBrowser.html) which is a part of the guppy3 package and can be launched via the below script: + +```python +#! /usr/bin/python3 +from guppy import hpy +hpy().pb() +``` + +### Service `profiler.start_log_objects` + +Start logging the growth of objects in memory. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `scan_interval` | yes | The the frequency between logging objects. Defaults to 30.0 + +Periodically log the growth of new objects in memory. This service's primary use case is finding memory leaks. + +### Service `profiler.stop_log_objects` + +Stop logging the growth of objects in memory. + +### Service `profiler.dump_log_objects` + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `type` | no | The type of object to dump to the log. + +When `start_log_objects` highlights the growth of a collection of objects in memory, this service can help investigate. The `repr` of each object that matches `type` will be logged. diff --git a/source/_integrations/proximity.markdown b/source/_integrations/proximity.markdown index e53aff3b0f4..8aca0e7dd30 100644 --- a/source/_integrations/proximity.markdown +++ b/source/_integrations/proximity.markdown @@ -34,6 +34,7 @@ The Proximity entity which is created has the following values: - 'km' - 'm' - 'mi' + - 'yd' - 'ft' - `nearest`: The device which is nearest to the zone @@ -70,7 +71,7 @@ zone: required: false type: integer unit_of_measurement: - description: The unit of measurement for distance. Valid values are (km, m, mi, ft) [kilometers, meters, miles and feet respectively]. + description: The unit of measurement for distance. Valid values are (km, m, mi, yd, ft) [kilometers, meters, miles, yards and feet respectively]. required: false type: string default: km diff --git a/source/_integrations/ptvsd.markdown b/source/_integrations/ptvsd.markdown index 47c38940df4..cb3ae6c6305 100644 --- a/source/_integrations/ptvsd.markdown +++ b/source/_integrations/ptvsd.markdown @@ -9,6 +9,13 @@ ha_codeowners: ha_domain: ptvsd --- +
+ +The PTVSD integration has been deprecated and will be removed in Home Assistant 0.120.0. +A full-featured replacement is available, by using the [`debugpy` integration](/integrations/debugpy). + +
+ The `ptvsd` integration allows you to use the Visual Studio Code PTVSD debugger with Home Assistant. This is useful in testing changes on a local development install, or connecting to a production server to debug issues. diff --git a/source/_integrations/roon.markdown b/source/_integrations/roon.markdown index 4c667205323..8adc09ae71d 100644 --- a/source/_integrations/roon.markdown +++ b/source/_integrations/roon.markdown @@ -29,6 +29,8 @@ You need the Hostname or IP address of the machine that runs your Roon Core. Thi 4. Roon core will then provide Home Assistant with the details of your media players. 5. In Home Assistant you can then pick an area for each of your music players, and add them to Home Assistant. +## Services + #### Service `media_player.play_media` Roon doesn't use file names or URLs to track media and so the roon integration is currently limited in how it supports this call. @@ -39,5 +41,31 @@ Roon doesn't use file names or URLs to track media and so the roon integration i | `media_content_id` | no | The text for roon to search for in your library. | | `media_content_type` | no | A media type. Currently supported are `radio`, `playlist` and `genre` | - For example to play BBC Radio 4 you would set `media_content_type` to `radio` and `media_content_id` to `BBC Radio 4` + +### Service `roon.join` + +Group players together. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | ID of the player that will be the master of the group. +| `join_ids` | no | id(s) of the players that will join the master. + +### Service `roon.unjoin` + +Remove players from a group. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | ID of the player that is the master of the group. +| `unlink_name` | yes | id(s) of the players that will be unjoined from the group. If not specified, all players will be unjoined from the master. + +### Service `roon.transfer` + +Transfer playback from one player to another. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | yes | id of the source player. +| `transfer_name` | no | id of the destination player. diff --git a/source/_integrations/rpi_gpio_pwm.markdown b/source/_integrations/rpi_gpio_pwm.markdown index bac05f9635e..d06ea5dd5fe 100644 --- a/source/_integrations/rpi_gpio_pwm.markdown +++ b/source/_integrations/rpi_gpio_pwm.markdown @@ -6,6 +6,8 @@ ha_category: ha_iot_class: Local Push ha_release: 0.43 ha_domain: rpi_gpio_pwm +ha_codeowners: + - '@soldag' --- The `rpi_gpio_pwm` platform allows to control multiple lights using pulse-width modulation, for example LED strips. It supports one-color, RGB and RGBW LEDs driven by GPIOs of a Raspberry Pi (same host or remote) or a PCA9685 controller. diff --git a/source/_integrations/shelly.markdown b/source/_integrations/shelly.markdown index 4f24a4a203f..6d545187c22 100644 --- a/source/_integrations/shelly.markdown +++ b/source/_integrations/shelly.markdown @@ -10,6 +10,7 @@ ha_release: 0.115 ha_codeowners: - '@balloob' - '@bieniu' + - '@thecode' ha_iot_class: Local Polling ha_domain: shelly featured: true diff --git a/source/_integrations/simplisafe.markdown b/source/_integrations/simplisafe.markdown index 4b32689c938..203f45a6eea 100644 --- a/source/_integrations/simplisafe.markdown +++ b/source/_integrations/simplisafe.markdown @@ -20,8 +20,10 @@ There is currently support for the following device types within Home Assistant: - **CO Detector**: reports on the carbon monoxide sensor status*. - **Entry Sensor**: reports on the current entry sensor status*. - **Freeze Sensor**: reports on the freeze sensor temperature*. +- **Glass Break Sensor**: reports on the glass breakage sensor status*. - **Lock**: reports on `Door Locks` and can be used to lock and unlock a lock. - **Motion Sensor**: triggers [events](#events) if the alarm is armed or if secret alerts are enabled in SimpliSafe. +- **Siren**: reports on the siren status*. - **Smoke Detector**: reports on the smoke sensor status*. - **Water Sensor**: reports on water sensor status*. diff --git a/source/_integrations/synology_dsm.markdown b/source/_integrations/synology_dsm.markdown index e1b6c26153e..3b4c3bcf248 100644 --- a/source/_integrations/synology_dsm.markdown +++ b/source/_integrations/synology_dsm.markdown @@ -10,6 +10,7 @@ ha_domain: synology_dsm ha_codeowners: - '@hacf-fr' - '@Quentame' + - '@mib1185' ha_config_flow: true --- @@ -50,6 +51,11 @@ ssl: required: false default: true type: boolean +verify_ssl: + description: Determine if SSL-Certificate should be verified. + required: false + default: false + type: boolean username: description: The account username to connect to the Synology NAS. Using a separate account is advised, see the [Separate User Configuration](#separate-user-configuration) section below for details. required: true @@ -139,6 +145,9 @@ For each volume: Security: - `security_status`: Displays safe to indicate if the NAS is safe. +Upgrade: +- `update_available`: Displays on if a DSM update is available. + For each disk: - `disk_exceed_bad_sector_thr`: Displays on to indicate if the disk exceeded the maximum bad sector threshold. (Does not work with DSM 5.x) - `disk_below_remain_life_thr`: Displays on to indicate if the disk dropped below the remain life threshold. (Does not work with DSM 5.x) @@ -150,3 +159,21 @@ For each disk: ## Cameras - `{camera_name}`: Displays cameras added in [Surveillance Station](https://www.synology.com/en-us/surveillance). + +## Services + +### Service `synology_dsm.reboot` + +Reboot the specified NAS by `serial`. If only one DSM is configured, `serial` is optional. + + | Service data attribute | Required | Description | + | ---------------------- | -------- | ----------- | + | `serial` | yes, when multiple NAS are configured | serial of DSM | + +### Service `synology_dsm.shutdown` + +Shutdown the specified NAS by `serial`. If only one DSM is configured, `serial` is optional. + + | Service data attribute | Required | Description | + | ---------------------- | -------- | ----------- | + | `serial` | yes, when multiple NAS are configured | serial of DSM | diff --git a/source/_integrations/tasmota.markdown b/source/_integrations/tasmota.markdown index c1c751bb76d..b4c76e3bb61 100644 --- a/source/_integrations/tasmota.markdown +++ b/source/_integrations/tasmota.markdown @@ -22,15 +22,18 @@ This integration allows you to control [Tasmota](https://tasmota.github.io/docs/ - Tasmota devices flashed with version 9.1, or later. - Tasmota devices configured for native discovery (`SetOption19 0`) -## Limitations +## Supported Features -Lights, relays, sensors and switches are supported. +Lights, relays, sensors, switches and buttons are supported. -- Lights will be added as Home Assistant `light` entities. +- Lights will be added as Home Assistant `light` entities. Single channel Dimmers, RGB lights, RGB lights with Color Temperature control and RGB lights with White control are supported. - Relays will be added as Home Assistant `switch` entities, if `SetOption30 = 0`. If `SetOption30 = 1`, relays will be added as `light` entities. - Sensors will be added as Home Assistant `sensor` entities. -- Switches will be added as Home Assistant `binary_sensor` entities or `automation triggers` depending by the `switchmode` used. To enable them, `switchtopic` needs to be set. If there are no corresponding power device (light, relay, etc.) the `switch` will be added automatically. +- Switches will be added as Home Assistant `binary_sensor` entities or `automation triggers` depending by the `switchmode` used when `SetOption114` is enabled. - Buttons will be added as Home Assistant `automation triggers` when `SetOption73` is enabled. +- The integration will also create up to eight Status Sensors, each one with a different information. Please note all the Status Sensors are disabled by default. + +![iot](https://user-images.githubusercontent.com/7702766/99080146-a1d43980-259f-11eb-856b-addb53695381.png) ## Configuration diff --git a/source/_integrations/telegram_bot.markdown b/source/_integrations/telegram_bot.markdown index 0015661cf42..8192c6d8357 100644 --- a/source/_integrations/telegram_bot.markdown +++ b/source/_integrations/telegram_bot.markdown @@ -32,6 +32,7 @@ Send a notification. | `disable_web_page_preview`| yes | True/false for disable link previews for links in the message. | | `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. `[]` to reset to no custom keyboard. Example: `["/command1, /command2", "/command3"]` | | `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` | +| `message_tag` | yes | Tag for sent message. In `telegram_sent` event data: `{{trigger.event.data.message_tag}}` | ### Service `telegram_bot.send_photo` and `telegram_bot.send_sticker` @@ -51,6 +52,7 @@ Send a photo. | `timeout` | yes | Timeout for send photo. Will help with timeout errors (poor internet connection, etc) | | `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. `[]` to reset to no custom keyboard. Example: `["/command1, /command2", "/command3"]` | | `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` | +| `message_tag` | yes | Tag for sent message. In `telegram_sent` event data: `{{trigger.event.data.message_tag}}` | ### Service `telegram_bot.send_video` @@ -70,6 +72,7 @@ Send a video. | `timeout` | yes | Timeout for send video. Will help with timeout errors (poor internet connection, etc) | | `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. `[]` to reset to no custom keyboard. Example: `["/command1, /command2", "/command3"]` | | `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` | +| `message_tag` | yes | Tag for sent message. In `telegram_sent` event data: `{{trigger.event.data.message_tag}}` | ### Service `telegram_bot.send_document` @@ -89,6 +92,7 @@ Send a document. | `timeout` | yes | Timeout for send document. Will help with timeout errors (poor internet connection, etc) | | `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. `[]` to reset to no custom keyboard. Example: `["/command1, /command2", "/command3"]` | | `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` | +| `message_tag` | yes | Tag for sent message. In `telegram_sent` event data: `{{trigger.event.data.message_tag}}` | ### Service `telegram_bot.send_location` @@ -102,6 +106,7 @@ Send a location. | `disable_notification` | yes | True/false for send the message silently. iOS users and web users will not receive a notification, Android users will receive a notification with no sound. Defaults to False. | | `keyboard` | yes | List of rows of commands, comma-separated, to make a custom keyboard. `[]` to reset to no custom keyboard. Example: `["/command1, /command2", "/command3"]` | | `inline_keyboard` | yes | List of rows of commands, comma-separated, to make a custom inline keyboard with buttons with associated callback data. Example: `["/button1, /button2", "/button3"]` or `[[["Text btn1", "/button1"], ["Text btn2", "/button2"]], [["Text btn3", "/button3"]]]` | +| `message_tag` | yes | Tag for sent message. In `telegram_sent` event data: `{{trigger.event.data.message_tag}}` | ### Service `telegram_bot.edit_message` @@ -424,3 +429,27 @@ Telegram callbacks also support arguments and commands the same way as normal me {% endraw %} In this case, having a callback with `/repeat 1 2 3` will pop a notification saying `I repeat: [1, 2, 3]` + +Receiving `chat_id` and `message_id` identifiers of sent messages by the `telegram_bot`. + +{% raw %} + +```yaml +- alias: 'Notifications about messages sent by Telegram bot' + trigger: + platform: event + event_type: telegram_sent + event_data: + message_tag: "msg_start" + action: + - service: input_number.set_value + data_template: + entity_id: input_number.chat_id + value: '{{ trigger.event.data.chat_id }}' + - service: input_number.set_value + data_template: + entity_id: input_number.message_id + value: '{{ trigger.event.data.message_id }}' +``` + +{% endraw %} diff --git a/source/_integrations/template.markdown b/source/_integrations/template.markdown index 1f699ce7245..7f73ab9e8e2 100644 --- a/source/_integrations/template.markdown +++ b/source/_integrations/template.markdown @@ -339,3 +339,29 @@ sensor: ``` {% endraw %} + +### Updating templates using `random` + +If you use the `random` filter, you may want the template to select a different random element every now and then. If the template does not update automatically due to entity changes it can be updated periodically by using the `homeassistant.update_entity` service with a time pattern automation. For example, this will render a new random number every five minutes: + +{% raw %} + +```yaml +sensor: + - platform: template + sensors: + random_number: + friendly_name: "Random number" + value_template: "{{ range(0,100)|random }}" + +automation: + - alias: "Update random number template" + trigger: + - platform: time_pattern + minutes: "/5" + action: + - service: homeassistant.update_entity + entity_id: sensor.random_number +``` + +{% endraw %} diff --git a/source/_integrations/tuya.markdown b/source/_integrations/tuya.markdown index ae84d255af4..1f68b6b7ed0 100644 --- a/source/_integrations/tuya.markdown +++ b/source/_integrations/tuya.markdown @@ -17,7 +17,9 @@ ha_codeowners: - '@ollo69' --- -The `tuya` integration is the main integration to integrate all [Tuya Smart](https://www.tuya.com) related platforms, except the Zigbee hub. You will need your Tuya account information (username, password and account country code) to discover and control devices which related to your account. +The `tuya` integration is the main integration to integrate [Tuya Smart](https://www.tuya.com) related platforms, except the Zigbee hub. You will need your Tuya account information (username, password and account country code) to discover and control devices which related to your account. + +**Important**: Not all Tuya devices are supported by the `tuya API` used by this integration. For more details refer to [TuyaHA Library](https://github.com/PaulAnnekov/tuyaha). There is currently support for the following device types within Home Assistant: @@ -69,6 +71,53 @@ platform: default: tuya {% endconfiguration %} +## Integration Options + +It is possible to change various behaviors through the integration options, some common for integration and others specific to each `light` and `climate` devices. These can be changed at **Tuya** -> **Options** on the Integrations page. + +### Common Options + +- **Discovery device polling interval** (default=605): define the interval between 2 consecutive calls to the `API discovery method`, which is used to get the status for all registered devices with a single call. If you set interval value too low, Tuya API will return errors, so it is suggested to use the default value until +you know that it is possible to use lower values. + +- **Query device polling interval** (default=120): this option is available only if you have devices that can use the `API query method`. +It defines the interval between 2 consecutive calls to the `API query method`, that is used to get the status for a specific device. +This method is always used when it is available only one device that can use it. If you set interval value too low, Tuya API will return errors +so it is suggested to use the default value until you know that is possible to use lower values. + +- **Device that will use the query method**: this option is available only if you have devices that can use the `API query method`. +Because it is not possible to make multiple calls to the `API query method`. If you have more than one device that can use it you can choose which one will use. This will give a better status refresh for this specific device. + +- **Device to configure (multi-select list)**: this option is available only if you have a `light` or `climate` device. Selecting a device to +configure to options page related to the device will be opened. You can also select more than one devices to configure them simultaneously, +but all selected devices must be of the same type. + +### Light Options + +- **Force color support**: when checked force `color support` for devices that do not report this feature. + +- **Brightness range**: change the `brightness range` used for the device. Possible options are: + - range 1-255 (default) + - range 10-1000 + +- **Min color temperature**: set minimum `color temperature` expressed in `kelvin` accepted by the light. + +- **Max color temperature**: set maximum `color temperature` expressed in `kelvin` accepted by the light. + +- **Max color temperature reported**: set the maximum `color temperature` value reported by the light. + +### Climate Options + +- **Temperature unit**: change the `temperature unit` used internally by the devices. + +- **Temperature values divider**: `all temperatures` reported by device will be divided by this value. + +- **Current Temperature value divider**: `current temperature` reported by device will be divided by this value. + +- **Min target temperature**: set the minimum allowed `target temperature` for the entity. + +- **Max target temperature**: set the maximum allowed `target temperature` for the entity. + ## Service These services are available for the `tuya` component: diff --git a/source/_integrations/unifi.markdown b/source/_integrations/unifi.markdown index 29994694455..87fd9cfdd98 100644 --- a/source/_integrations/unifi.markdown +++ b/source/_integrations/unifi.markdown @@ -71,6 +71,10 @@ Entities appear automatically for each connected POE client. If no POE client de Note that POE control actually configures the network port of the switch which the client is connected to. +### Control DPI Traffic Restrictions + +Entities appear automatically for each restriction group. If there are no restrictions in a group, no entity will be visible. Toggling the switch in Home Assistant will enable or disable all restrictions inside a group. + ## Sensor ### Bandwidth sensor diff --git a/source/_integrations/velbus.markdown b/source/_integrations/velbus.markdown index cf61cce1ce9..9fe9f7003d7 100644 --- a/source/_integrations/velbus.markdown +++ b/source/_integrations/velbus.markdown @@ -49,6 +49,7 @@ The port string used in the user interface or the configuration file can have 2 - For a serial device: /dev/ttyUSB00 - For a TCP/IP device: 127.0.0.1:3678 +- For the VMBSIG module: tls://192.168.1.9:27015 {% configuration %} port: diff --git a/source/_integrations/wled.markdown b/source/_integrations/wled.markdown index 85727be21d1..28bd6d8aaea 100644 --- a/source/_integrations/wled.markdown +++ b/source/_integrations/wled.markdown @@ -111,3 +111,14 @@ This service allows for controlling the WLED effect. A list of all available effects (and the behavior of the intensity for each effect) [is documented in the WLED Wiki](https://github.com/Aircoookie/WLED/wiki/List-of-effects-and-palettes#effects). + +### Service `wled.preset` + +This service allows for loading a preset saved on the WLED device. + +| Service Data Attribute | Required | Description | +| ---------------------- | -------- | --------------------------------------------------------------------------------------------------------------- | +| `entity_id` | no | A WLED entity ID to load the preset from. | +| `preset` | no | ID of the preset slot to load from. | + +More information on presets [is documented in the WLED Wiki](https://github.com/Aircoookie/WLED/wiki/Presets) diff --git a/source/_integrations/workday.markdown b/source/_integrations/workday.markdown index e57a7833416..722ad9e95d0 100644 --- a/source/_integrations/workday.markdown +++ b/source/_integrations/workday.markdown @@ -63,6 +63,10 @@ add_holidays: description: "Add custom holidays (such as company, personal holidays or vacations). Needs to formatted as `YYYY-MM-DD`." required: false type: list +remove_holidays: + description: "Remove holidays (treat holiday as workday). Needs to formatted as `YYYY-MM-DD`." + required: false + type: list {% endconfiguration %} Days are specified as follows: `mon`, `tue`, `wed`, `thu`, `fri`, `sat`, `sun`. @@ -107,6 +111,20 @@ binary_sensor: - '2020-02-24' ``` +This example excludes Saturdays, Sundays and holidays. Two holidays are removed: November 26, 2020 and December 25, 2020. + +```yaml +# Example 2 configuration.yaml entry +binary_sensor: + - platform: workday + country: US + workdays: [mon, tue, wed, thu, fri] + excludes: [sat, sun, holiday] + remove_holidays: + - '2020-11-26' + - '2020-12-25' +``` + ## Automation example Example usage for automation: diff --git a/source/_integrations/xbox.markdown b/source/_integrations/xbox.markdown index b9a778747ee..bd3ef7a1949 100644 --- a/source/_integrations/xbox.markdown +++ b/source/_integrations/xbox.markdown @@ -16,7 +16,7 @@ ha_config_flow: true The Xbox integration allows you to control Xbox One (or newer) consoles from Home Assistant. -Home Assistant authenticates with Xbox Live through OAuth2 using the [Home Assistant Cloud account linking service](/integrations/cloud/). Set up the integration through **Configuration -> Integrations -> Xbox**. Ensure you login using the Microsoft account that is linked to your Xbox consoles. Note that for the media player and remote entities to be added your Xbox will need to have remote features enabled via Settings-Remote Features (you may need to uprade your controller firmware). +Home Assistant authenticates with Xbox Live through OAuth2 using the Home Assistant Cloud account linking service. Set up the integration through **Configuration -> Integrations -> Xbox**. Ensure you login using the Microsoft account that is linked to your Xbox consoles. Note that for the media player and remote entities to be added your Xbox will need to have remote features enabled via Settings-Remote Features (you may need to uprade your controller firmware).
diff --git a/source/_lovelace/entities.markdown b/source/_lovelace/entities.markdown index 91b8cc1acc0..9f273dde59c 100644 --- a/source/_lovelace/entities.markdown +++ b/source/_lovelace/entities.markdown @@ -76,7 +76,7 @@ image: type: string secondary_info: required: false - description: "Show additional info. Values: `entity-id`, `last-changed`, `last-triggered` (only for automations and scripts), `position` or `tilt-position` (only for supported covers), `brightness` (only for lights)." + description: "Show additional info. Values: `entity-id`, `last-changed`, `last-updated`, `last-triggered` (only for automations and scripts), `position` or `tilt-position` (only for supported covers), `brightness` (only for lights)." type: string format: required: false diff --git a/source/_lovelace/grid.markdown b/source/_lovelace/grid.markdown new file mode 100644 index 00000000000..24d4fcaeca2 --- /dev/null +++ b/source/_lovelace/grid.markdown @@ -0,0 +1,77 @@ +--- +title: "Grid Card" +sidebar_label: Grid +description: "The Grid card allows you to show multiple cards in a grid." +--- + +The Grid card allows you to show multiple cards in a grid. It will first fill the columns, automatically adding new rows as needed. + +

+ Screenshot of the grid card + Screenshot of the Grid card. +

+ +To add the Grid card to your user interface, click the Lovelace menu (three dots at the top right of the screen) and then **Edit Dashboard**. Click the plus button in the bottom right corner and select **Grid Card** from the card picker. + +{% configuration %} +type: + required: true + description: grid + type: string +title: + required: false + description: Title of Grid + type: string +square: + required: false + description: Should the cards be shown square. + type: boolean + default: true +columns: + required: false + description: Number of columns in the grid. + type: integer + default: 3 +cards: + required: true + description: List of cards. + type: list +{% endconfiguration %} + +### Examples + +Alternatively, the card can be configured using YAML: + +Basic example: + +```yaml +type: grid +cards: + - type: picture-entity + entity: camera.demo_camera + show_info: false + - type: entities + entities: + - binary_sensor.movement_backyard +``` + +Defining columns and disabling the square option: + +```yaml +type: grid +title: Backyard +columns: 2 +square: false +cards: + - type: picture-entity + entity: group.all_lights + image: /local/house.png + - type: horizontal-stack + cards: + - type: picture-entity + entity: light.ceiling_lights + image: /local/bed_1.png + - type: picture-entity + entity: light.bed_light + image: /local/bed_2.png +``` diff --git a/source/_posts/2017-12-17-release-60.markdown b/source/_posts/2017-12-17-release-60.markdown index a3f929436a4..d27127e36f2 100644 --- a/source/_posts/2017-12-17-release-60.markdown +++ b/source/_posts/2017-12-17-release-60.markdown @@ -29,7 +29,7 @@ Yahoo! has discontinued their financial service. To fill this gap we have now th ## New Platforms -- Add iAlarm support ([@RyuzakiKK] - [#10878]) ([alarm_control_panel.ialarm docs]) (new-platform) +- Add iAlarm support ([@RyuzakiKK] - [#10878]) (new-platform) - Add Alpha Vantage sensor ([@fabaff] - [#10873]) ([sensor.alpha_vantage docs]) (new-platform) - Add ADS component ([@stlehmann] - [#10142]) ([ads docs]) ([binary_sensor.ads docs]) ([light.ads docs]) ([sensor.ads docs]) ([switch.ads docs]) (new-platform) - Gearbest sensor ([@HerrHofrat] - [#10556]) (new-platform) @@ -85,7 +85,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Unpacking RESTful sensor JSON results into attributes. ([@nickovs] - [#10753]) ([sensor.rest docs]) - Bump dev to 0.60.0.dev0 ([@fabaff] - [#10912]) - Update eliqonline.py ([@molobrakos] - [#10914]) ([sensor.eliqonline docs]) -- Add iAlarm support ([@RyuzakiKK] - [#10878]) ([alarm_control_panel.ialarm docs]) (new-platform) +- Add iAlarm support ([@RyuzakiKK] - [#10878]) (new-platform) - Correction of Samsung Power OFF behaviour ([@RiRomain] - [#10907]) ([media_player.samsungtv docs]) - Add Alpha Vantage sensor ([@fabaff] - [#10873]) ([sensor.alpha_vantage docs]) (new-platform) - Don't repeat getting receiver name on each update / pushed to denonavr 0.5.5 ([@scarface-4711] - [#10915]) ([media_player.denonavr docs]) @@ -300,7 +300,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [@ziotibia81]: https://github.com/ziotibia81 [ads docs]: /integrations/ads/ [alarm_control_panel.egardia docs]: /integrations/egardia -[alarm_control_panel.ialarm docs]: /integrations/ialarm [alarm_control_panel.manual docs]: /integrations/manual [alarm_control_panel.manual_mqtt docs]: /integrations/manual_mqtt/ [alarm_control_panel.totalconnect docs]: /integrations/totalconnect diff --git a/source/_posts/2018-11-28-release-83.markdown b/source/_posts/2018-11-28-release-83.markdown index 8c9c08dfb68..b1eb4ce3e38 100644 --- a/source/_posts/2018-11-28-release-83.markdown +++ b/source/_posts/2018-11-28-release-83.markdown @@ -243,7 +243,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Allow alexa to simply turn on and off climate components. ([@Parlane] - [#16989]) ([alexa docs]) - Enable config flow for Luftdaten ([@fabaff] - [#17700]) ([luftdaten docs]) ([sensor.luftdaten docs]) (breaking change) - Adding current_humidity to attributes if its not None. ([@kennedyshead] - [#18261]) ([climate docs]) -- Add iAlarm "triggered" support ([@RyuzakiKK] - [#18263]) ([alarm_control_panel.ialarm docs]) +- Add iAlarm "triggered" support ([@RyuzakiKK] - [#18263]) - Add support for switches in homekit controller ([@drndos] - [#17916]) ([homekit_controller docs]) - Move more MQTT platforms to config entries ([@emontnemery] - [#18180]) ([lock docs]) ([mqtt docs]) ([light.mqtt_json docs]) ([lock.mqtt docs]) - Switch OwnTracks HTTP to use webhook component ([@kirichkov] - [#17034]) ([device_tracker docs]) (breaking change) @@ -671,7 +671,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [@ultrara1n]: https://github.com/ultrara1n [@vetegrodd]: https://github.com/vetegrodd [@w1ll1am23]: https://github.com/w1ll1am23 -[alarm_control_panel.ialarm docs]: /integrations/ialarm [alarm_control_panel.lupusec docs]: /integrations/lupusec [alarm_control_panel.manual_mqtt docs]: /integrations/manual_mqtt/ [alarm_control_panel.totalconnect docs]: /integrations/totalconnect diff --git a/source/_posts/2019-01-09-release-85.markdown b/source/_posts/2019-01-09-release-85.markdown index a4c2b2bd4da..49744cfced1 100644 --- a/source/_posts/2019-01-09-release-85.markdown +++ b/source/_posts/2019-01-09-release-85.markdown @@ -125,7 +125,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - update edp_redy version ([@abmantis] - [#19078]) - Update Google Assistant services description and request sync timeout ([@edif30] - [#19113]) - Fixed doorbird config without events (empty list) ([@basschipper] - [#19121]) ([doorbird docs]) -- Add code support for iAlarm ([@RyuzakiKK] - [#19124]) ([alarm_control_panel.ialarm docs]) +- Add code support for iAlarm ([@RyuzakiKK] - [#19124]) - Upgrade youtube_dl to 2018.12.03 ([@fabaff] - [#19139]) ([media_extractor docs]) - Upgrade mypy to 0.650 ([@scop] - [#19150]) - Update geizhals dependency ([@tinloaf] - [#19152]) ([sensor.geizhals docs]) @@ -718,7 +718,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [ads docs]: /integrations/ads/ [air_pollutants docs]: /integrations/air_quality [air_quality docs]: /integrations/air_quality/ -[alarm_control_panel.ialarm docs]: /integrations/ialarm [alarm_control_panel.mqtt docs]: /integrations/alarm_control_panel.mqtt/ [alarm_control_panel.ness_alarm docs]: /integrations/ness_alarm [alarm_control_panel.nx584 docs]: /integrations/nx584 diff --git a/source/_posts/2019-12-11-release-103.markdown b/source/_posts/2019-12-11-release-103.markdown index 04ccdf2b4bf..4a795095b65 100644 --- a/source/_posts/2019-12-11-release-103.markdown +++ b/source/_posts/2019-12-11-release-103.markdown @@ -789,7 +789,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Move imports to top for gogogate2 ([@springstan] - [#29411]) ([gogogate2 docs]) - Move imports to top for hydrawise ([@springstan] - [#29421]) ([hydrawise docs]) - Move imports to top for ihc ([@springstan] - [#29425]) ([ihc docs]) -- Move imports to top for ialarm ([@springstan] - [#29422]) ([ialarm docs]) +- Move imports to top for ialarm ([@springstan] - [#29422]) - Move imports to top for gitter ([@springstan] - [#29412]) ([gitter docs]) - Move imports to top for homeworks ([@springstan] - [#29418]) ([homeworks docs]) - Move imports to top for gpmdp ([@springstan] - [#29413]) ([gpmdp docs]) @@ -1574,7 +1574,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [hue docs]: /integrations/hue/ [hunterdouglas_powerview docs]: /integrations/hunterdouglas_powerview/ [hydrawise docs]: /integrations/hydrawise/ -[ialarm docs]: /integrations/ialarm/ [icloud docs]: /integrations/icloud/ [idteck_prox docs]: /integrations/idteck_prox/ [ifttt docs]: /integrations/ifttt/ diff --git a/source/_posts/2020-11-18-release-118.markdown b/source/_posts/2020-11-18-release-118.markdown new file mode 100644 index 00000000000..f4904af21ad --- /dev/null +++ b/source/_posts/2020-11-18-release-118.markdown @@ -0,0 +1,1569 @@ +--- +layout: post +title: "0.118: Grid and logbook cards, quick navigation, native template types" +description: "New Grid & Logbook Lovelace cards, navigate around using the Quick bar, Shelly now support live push updates, Header & Footer editors and Nest thermostat support returns!" +date: 2020-11-18 00:00:00 +date_formatted: "November 18, 2020" +author: Franck Nijhof +author_twitter: frenck +comments: true +categories: Release-Notes +og_image: /images/blog/2020-11-0.118/social.png +--- + + + +Home Assistant Core 0.118! + +The second last release of 2020, while the end of the year is slowly closing in. + +This also means we have only one more release left this year... And we plan +to finish the year with a big bang! Also announced: the +[Home Assistant Conference](/conference). I am really excited about that one! +The last major release of this year will be during the conference on December 13. + +Back to 0.118! Some nice additions this release: Navigating around with the +Quick bar (oh, I just love that feature), some new Lovelace cards, native types +in templates is now the default and the Nest thermostat is back! 🎉 + +All in all, a fine release, with an exciting one ahead of us. + +../Frenck + +## Table of contents + +- [Table of contents](#table-of-contents) +- [Home Assistant Conference](#home-assistant-conference) +- [Grid Card](#grid-card) +- [Quick bar navigation](#quick-bar-navigation) +- [Native types support for templates](#native-types-support-for-templates) +- [Logbook Card](#logbook-card) +- [Header & Footer Editor](#header--footer-editor) +- [Supervisor Network Configuration](#supervisor-network-configuration) +- [Home Assistant OS](#home-assistant-os) +- [Other noteworthy changes](#other-noteworthy-changes) +- [New Integrations](#new-integrations) +- [New Platforms](#new-platforms) +- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui) +- [If you need help...](#if-you-need-help) +- [Breaking Changes](#breaking-changes) +- [Farewell to the following](#farewell-to-the-following) +- [All changes](#all-changes) + +## Home Assistant Conference + +Exciting news! Home Assistant is hosting an [online conference](/conference) +this year! + +An event to celebrate our community, share ideas, history, creations and +celebrate major milestones! The event will take place on Sunday, December 13. + +[Paulus Schoutsen][@balloob], the founder of Home Assistant, will give the +opening and closing keynote, aided by other Home Assistant developers. +In between, we have three different tracks of talks (for everyone, advanced +users and developers) with a total of 16 different talks. + +Check out the [conference schedule](https://hopin.to/events/home-assistant-conference#schedule) +to see the subjects of the talks and the list of speakers. + +The Home Assistant Conference will be hosted on [Hopin](https://hopin.to/events/home-assistant-conference), +an online conference platform. Tickets to attend will cost $1, which will cover +the cost of the platform. + +Get your ticket + +The conference will also be available as a free YouTube live stream. The live +stream will be limited to the keynotes and the "everyone" track. You won't have +access to the chat and have that online conference feeling, so we recommend +getting a ticket! + +For the latest information, check our dedicated [Home Assistant Conference](/conference) page. + +Home Assistant Conference header + +## Grid Card + +Ever since the start of Lovelace, users have been making grids. However, this was +not easy as it involved fiddling by combining horizontal and vertical stacks — +a confusing and frustrating experience. + +[@balloob] to the rescue! This release adds a new Grid Card. You won't have to +write a complicated YAML soup combining both horizontal and vertical stacks. + +The Grid Card offers straight forward options to mimic these setups and adds +an option to force each card to be square to boot. + +

+Screenshot of the Grid Card +Screenshot of Grid Card. +

+ +*_Note that the square option won't work with all cards._ + +## Quick Bar navigation + +The Quickbar, which was introduced in Home Assistant 0.117, really took off! We +are happy to see you like it. + +If you haven't tried the new Quick Bar yet... you should! It is a quick and +easy way to get to entities or run commands. From anywhere in Home +Assistant; press `e` for entities or `c` for commands. + +This release, support for navigating Home Assistant via the Quick Bar was added. +You can now jump to any place, from any place. Amazing job [@donkawechico] + +

+Screenshot of navigating around using the Quick Bar +Screenshot of navigating around using the Quick Bar. +

+ +[@donkawechico]: https://github.com/donkawechico + +## Native types support for templates + +Announced in 0.117, but now by default enabled. Native template types allow +templates to result in not just strings (text), but also other types. + +Ever tried to make a list of entities or set an RGB color via a template? +If so, you probably would have learned, that it is not that simple. In Home +Assistant, the result of a template always has been a piece of text (a string), +even if you made a list. + +{% raw %} + +```yaml +script: + my_script: + alias: Example + description: Example script with native lists in templates + variables: + entities: + - light.living_room_window + - light.living_room_table + color: [255, 0, 0] + sequence: + service: light.turn_on + data: + entity_id: "{{ entities }}" + rgb_color: "{{ color }}" +``` + +{% endraw %} + +This is an extremely powerful change to our template engine, that allows for +more advanced future additions and can significantly reduce the complexity of +existing templates in your set up. + +It should be mostly compatible with your existing templates; However, be sure +to check the breaking changes section for known possible breaking scenarios. + +## Logbook Card + +Another new Lovelace card this release. [@zsarnett] added the Logbook Card. + +This card allows you to show the logs of one (or more) entities on a Lovelace +Dashboard. This can be really helpful if you want to monitor, for example, the +motion events of a sensor or a camera. + +

+Screenshot of the new Logbook Card +Screenshot of the new Logbook Card. +

+ +[@zsarnett]: https://github.com/zsarnett + +## Header & Footer Editor + +Entity cards in Lovelace have support for customizing the header and footer of +that card. This is really useful for adding a nice image, a couple of buttons +or a graph to the card. + +Up until now, you needed some YAML magic to achieve that. Thanks to +[@zsarnett] we now have a Header & Footer editor available in the UI making +this feature much easier to use. + +

+Screenshot of the new Header/Footer editor. +Screenshot of the new Header/Footer editor. +

+ +[@zsarnett]: https://github.com/zsarnett + +## Supervisor Network Configuration + +Expected to be available soon, a new Supervisor version which includes a new +network layer with added support for wireless networks, multiple network +interfaces and even VLANs. + +This should cover most of the feature requests we had around networking. + +

+New Supervisor Network configuration UI +New Supervisor Network configuration UI +

+ +The next step is that we use all the information from our new network backend +to simplify some add-ons. Also, updates for Snapshot/Restore of these network +settings are planned. + +## Home Assistant OS + +The last few days, two new Home Assistant OS releases have been published. + +While 4.17 continues to make small improvements in the 4.x release series, the +latest pre-release 5.5 comes closer to our goals to declare 5.x release series +stable. In particular, this pre-release includes the Linux 5.4 kernel for all +Raspberry Pis! We also intend to declare 64-bit the recommended installation +method for Raspberry Pi 4. + +Release 5.5 is also the first release to support Hardkernel's ODROID-C4, +a very cost-effective single board computer featuring the Amlogic S905X3 SoC +and 4GB of DDR4 memory (thanks @ubergeek801). Testers welcome! + +## Other noteworthy changes + +- The new Nest SDM integration now supports thermostats! Thanks, [@allenporter]! +- Entity pickers in the UI will now show the full name of the entities. + Thanks, [@spacegaier]! +- The Roon media player now supports media browsing but also has support + for grouping and transferring between different players. Thanks [@pavoni] +- [@cnorick] added a button to duplicate Scripts from the UI. +- The Shelly integration now has real-time status updates, which has been + implemented by [@thecode]! +- [@apop880] prepared the WLED integration for Christmas by adding a service + for loading WLED presets. +- Date pickers in entity cards have been replaced with a modern, good looking + version. Thanks, [@thomasloven]! +- [@joshmcrty] Made numbers shown in the frontend formatted in a + way that matches your language settings. +- [@spacegaier] has been busy improving the frontend, making it more accessible to people + with disabilities. In this case, ARIA (Accessible Rich Internet Applications) + labels have been added, so screen readers can use our `+` buttons. Thanks! + +[@cnorick]: https://github.com/cnorick +[@joshmcrty]: https://github.com/joshmcrty +[@spacegaier]: https://github.com/spacegaier +[@thomasloven]: https://github.com/thomasloven + +## New Integrations + +We welcome the following new integration this release: + +- [Color Extractor][color_extractor docs], added by [@GenericStudent] + +## New Platforms + +The following integration got support for a new platform: + +- [1-Wire][onewire docs] now supports binary sensors and switches, + added by [@epenet] + +## Integrations now available to set up from the UI + +The following integrations are now available via the Home Assistant UI: + +- [1-Wire][onewire docs], done by [@epenet] +- [Epson][epson docs], done by [@pszafer] + +## 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). + +Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/core/issues). Make sure to fill in all fields of the issue template. + + + +## Breaking Changes + +Below is a listing of the breaking change for this release, per subject or +integration. Click on one of those to read more about the breaking change +for that specific item. + +
+ PTVSD +

+ +The `ptvsd` integration has been marked as deprecated and will be removed in +Home Assistant Core 0.120. A full-featured replacement is available with the +[`debugpy`](/integrations/debugpy) integration, which is now considered stable. + +([@frenck] - [#42351]) ([ptvsd docs]) + +

+
+ +
+ Flu Near You +

+ +Per ADR-0010, this PR deprecates YAML configuration for Flu Near You +until 0.119. + +Existing YAML configuration has already been imported automatically in the +previous releases and can now safely be removed from your configuration files. + +([@bachya] - [#42535]) ([flunearyou docs]) + +

+
+ +
+ DirecTV +

+ +DirecTV has fully transitioned to configuration via UI. YAML configuration is +no longer supported. Existing YAML configuration has already been imported +automatically in the previous releases and can now safely be removed from your +configuration files. + +([@ctalkington] - [#41961]) ([directv docs]) + +

+
+ +
+ Roku +

+ +Roku has fully transitioned to configuration via UI. YAML configuration is +no longer supported. Existing YAML configuration has already been imported +automatically in the previous releases and can now safely be removed from your +configuration files. + +([@ctalkington] - [#41960]) ([roku docs]) + +

+
+ +
+ Templates - Removal of extract_entities +

+ +This breaking change is for custom component developers only! + +The `template.helpers.extract_entities` has been removed as it has not been +used in core, been deprecated, and thrown warnings since the new template system +tracking was introduced. + +`homeassistant.helpers.event.async_track_template_result` should be used instead. + +([@bdraco] - [#42601]) + +

+
+ +
+ OpenWeatherMap +

+ +OpenWeatherMap has fully transitioned to configuration via UI. YAML +configuration is no longer supported. Existing YAML configuration has already +been imported automatically in the previous releases and can now safely be +removed from your configuration files. + +Additionally, previously the OpenWeatherMap integration used `Pa` as their unit +of measurement for air pressure. However, air pressure is measured and reported +as `hPa` so the unit of measurement has been changed to `hPa`. This could be a +breaking change for using such entities in, for example, `influxdb`. + +([@nzapponi] - [#39839]) ([@randyxxl] - [#42801]) ([openweathermap docs]) + +

+
+ +
+ Shelly +

+ +Shelly devices configured with new (fw >= 1.9) property "appliance_type" can +now be added to the light domain instead of the switch domain. + +([@chemelli74] - [#42508]) ([shelly docs]) + +

+
+ +
+ Epson +

+ +The Epson integration is now configured via the UI. Existing YAML configuration +if automatically imported on upgrade and can be safely removed afterward. + +The SSL option has been remove, as there is no signs that anybody used it with +success. + +([@pszafer] - [#39697]) ([epson docs]) + +

+
+ +
+ Global Disaster Alert and Coordination System (GDACS) +

+ +The integration will not consider bounding box geometries anymore when +calculating the distance to an event from the feed. In practice it has turned +out that these bounding boxes are way too large around the event to make them +useful for the purpose of notifying users about these events. + +Any existing configuration will continue to work and does not need to be +modified. However, please consider changing the radius defined for your +integration to match your expectations, especially if your main concern are +widespread and moving events such as tropical cyclones. + +([@exxamalte] - [#42957]) ([gdacs docs]) + +

+
+ +
+ Templates +

+ +This feature was introduced as an opt-in beta feature in Home Assistant Core +0.117, and is now enabled by default. + +A template would always result in a string (text). This made it hard to use +things like lists, or numbers as a result of a template. For example, returning +a list of entities or an RGB/HS/XY color. + +This change may impact your existing templates, as templates now can return +other types; For example, string, float, integer, boolean, lists +or dictionaries. + +The following templates can be impacted by this: + +- Entities with templated attributes. Attributes keep their native Python type, + thus if the attribute is used/processed in a template again later, + the type might be different. +- Templates working with lists or mappings (dictionaries). Previously, such + collection would be returned as a text, for example [1, 2, 3, 4, 5]. We’ve + seen examples where such results are decoded using text processing again + (e.g., by splitting the result on a, to get the separate values). The + additional processing is no longer needed, as the returned value will be a + collection now. +- Note: The entity state in Home Assistant is always a text (string). Even with + native types being supported in Templates now if a result is stored as an + entity state, they will be converted to a string. + +In case this new feature causes a problem for you, you can enable the old-style +template rendering again, by setting the following configuration: + +```yaml +homeassistant: + legacy_templates: true +``` + +Please note, this option is a temporary/transitional option, that will be +removed in the future. Adjusting your templates to the new situation is +therefore advised. + +([@frenck] - [#42967]) + +

+
+ +
+ Jewish Calendar +

+ +Entities for this integration now use a "timestamp" device class. Therefore, +the timetamp attributes have been removed. + +([@yuvalabou] - [#41397]) ([jewish_calendar docs]) + +

+
+ +
+ Sisyphus +

+ +This release contains updates to improve stability and support newer Sisyphus +table firmwares. There is a small chance that older firmwares will have issues +with this release; if you have trouble with the Sisyphus integration after this +update, make sure your table is running at least firmware 1.10.73. + +([@jkeljo] - [#42995]) ([sisyphus docs]) + +

+
+ +
+ Neurio energy +

+ +As of July 26, 2020, due to an API change; You now must provide a `sensor_id` +for the Neurio sensor to work; otherwise, an error returns that the request +is unauthorized. + +([@czechmark] - [#42728]) ([neurio_energy docs]) + +

+
+ +
+ AirVisual +

+ +Per ADR-0010, this PR deprecates YAML configuration for AirVisual until 0.119. +If you already use the AirVisual integration, you do not need to take action, +as your configuration has already been imported into the UI. + +([@bachya] - [#42581]) ([airvisual docs]) + +

+
+ +
+ Notion +

+ +Per ADR-0010, this release deprecates YAML configuration for Flu Near You +until 0.119. + +Existing YAML configuration will be imported automatically when upgrading +and can be safely removed from your configuration files afterward. + +([@bachya] - [#43026]) ([notion docs]) + +

+
+ +
+ FRITZ! +

+ +The default value for password was set to "admin" in the +`fritz` and `fritzbox_callmonitor` integrations. This has been corrected and +moved to be the default value for the configuration option of `username`. + +

+
+ +
+ Tile +

+ +Per ADR-0010, this release deprecates YAML configuration for Tile until 0.119. + +Existing YAML configuration will be imported automatically when upgrading +and can be safely removed from your configuration files afterward. + +([@bachya] - [#43064]) ([tile docs]) + +

+
+ +
+ KNX +

+ +The parameter `context_timeout` is now optional for binary sensors and will +default to None. If you've previously not specified this parameter you'll have +to adjust your configuration and add it like this: + +```yaml +knx: + binary_sensor: + - name: sensor + state_address: "1/2/3" + context_timeout: 1.0 +``` + +This prevents users that do not use this feature from waiting one second until +automations are triggered. + +The parameter `reset_after` for binary sensors expects seconds now instead of +milliseconds to streamline the different configuration options. +(`context_timeout` also uses seconds). + +The parameter `ignore_internal_state` for binary sensors now defaults to `False` +as most users do not use this feature. It defaulted to `True` before. + +If you have validation errors of your configuration after the update and you +are using the `operation_modes` parameter for your climate devices, please add +all erroneous entries to the new `controller_modes` parameter. + +([@marvin-w] - [#42026]) ([knx docs]) + +

+
+ +## Farewell to the following + +- The **iAlarm** integration has been removed. + It was using webscraping to gather its data, which is not allowed. + ([@frenck] - [#43010]) + +## All changes + +
+ Click to see all changes! + +- Bump version to 0.118.0dev0 ([@frenck] - [#42178]) +- Enable co-existence of two IPMA weather entities for the same location ([@dgomes] - [#40354]) ([ipma docs]) +- Rewrite london_air tests in pytest style ([@ronanmu] - [#41165]) ([london_air docs]) +- Improve Axis tests ([@Kane610] - [#42183]) ([axis docs]) +- Version bump pyforked daapd and add error string for forbidden ([@uvjustin] - [#42156]) ([forked_daapd docs]) +- Add more builtins to safe list (python_script) ([@jaydesl] - [#42146]) ([python_script docs]) +- Rest test style ([@oxygen0211] - [#42032]) ([rest docs]) +- Remove not used legacy remote test helpers ([@CurrentThread] - [#42144]) ([remote docs]) +- Bump PAHO MQTT to 1.5.1 ([@emontnemery] - [#42099]) ([mqtt docs]) +- Convert nx584 tests to pytest ([@taiyeoguns] - [#42094]) ([nx584 docs]) +- Upgrade shodan to 1.24.0 ([@frenck] - [#42199]) ([shodan docs]) +- Improve the readability of the config flow code ([@balloob] - [#42169]) +- Add media browser support to roon media player ([@pavoni] - [#42061]) ([roon docs]) +- Rewrite mochad unittest to pytest style ([@tim-werner] - [#42164]) ([mochad docs]) +- Bump pypck to v0.7.4 ([@alengwenus] - [#42206]) ([lcn docs]) +- Handle multiple setups of devolo Home Control ([@Shutgun] - [#41752]) ([devolo_home_control docs]) +- Always use shared zeroconf in cast config flow ([@emontnemery] - [#42210]) ([cast docs]) +- Correct docstring in Skybell ([@tkdrob] - [#42218]) ([skybell docs]) +- Remove remnants of configurable RainMachine scan interval ([@bachya] - [#42239]) ([rainmachine docs]) +- Rewrite group unittest to pytest style ([@tim-werner] - [#42159]) ([group docs]) +- Bump version bsblan library to 0.4.0 ([@liudger] - [#42220]) ([bsblan docs]) +- Improve cast integration tests ([@emontnemery] - [#42229]) ([cast docs]) +- Stub light profiles ([@balloob] - [#42232]) +- Add support for homekit garage obstruction sensors ([@bdraco] - [#42243]) ([homekit docs]) ([homekit_controller docs]) +- Tidy Roon media_browser following recently merged PR ([@pavoni] - [#42276]) ([roon docs]) +- Add next alarm time sensor to Garmin ([@schachar] - [#40420]) ([garmin_connect docs]) +- Add config flow for One wire ([@epenet] - [#39321]) ([onewire docs]) (new-platform) +- Bump PyXiaomiGateway version to 0.13.4 ([@syssi] - [#42262]) ([xiaomi_aqara docs]) +- Add wired devices to Homematic IP Cloud ([@SukramJ] - [#41232]) ([homematicip_cloud docs]) +- Add unique_id and device_info to DSMR entities ([@RobBie1221] - [#42279]) ([dsmr docs]) +- Bump dist to focal in Travis CI ([@scop] - [#42286]) +- Fix block till done in create entry config flow tests ([@balloob] - [#42290]) +- Add onewire test for more devices ([@epenet] - [#42037]) ([onewire docs]) +- Add area id to entity registry ([@Kane610] - [#42221]) ([config docs]) +- Add unit of measurement to Netatmo sensors ([@cgtobi] - [#42208]) ([netatmo docs]) +- Add device_class information to onewire sensors ([@epenet] - [#42308]) ([onewire docs]) +- Fix nest to stop doing asyncio in a property ([@allenporter] - [#42312]) ([nest docs]) +- Minimize sense writes to the state machine ([@bdraco] - [#42310]) ([sense docs]) +- Send pro-active IAS Enroll Response ([@walthowd] - [#42282]) ([zha docs]) +- Clean up ElkM1 lib ([@gwww] - [#42319]) ([elkm1 docs]) +- Remove ChristianKuehnel from codeowners ([@ChristianKuehnel] - [#42335]) ([miflora docs]) ([plant docs]) +- Bump pyeight to 0.1.5 ([@mezz64] - [#42323]) ([eight_sleep docs]) +- Add WLED preset service ([@apop880] - [#42217]) ([wled docs]) +- Fix unmocked https in the test suite ([@bdraco] - [#42316]) ([airvisual docs]) +- Refactor august to use self.async_on_remove ([@bdraco] - [#42333]) ([august docs]) +- Upgrade to aiohttp 3.7.1 ([@bdraco] - [#42305]) +- Fix error strings for PTZ operations ([@bwarden] - [#42231]) ([onvif docs]) +- Bump python velbus to 2.0.47 ([@Cereal2nd] - [#42349]) ([velbus docs]) +- Remove split devices from HMIPC ([@SukramJ] - [#42348]) ([homematicip_cloud docs]) +- Add device_info to onewire sensors ([@epenet] - [#42309]) ([onewire docs]) +- Expose more Websocket API constants ([@balloob] - [#42263]) ([websocket_api docs]) +- Use common strings in opentherm_gw config flow ([@wouterbaake] - [#42211]) ([opentherm_gw docs]) +- Use common strings in luftdaten config flow ([@springstan] - [#42376]) ([luftdaten docs]) +- Add location to base strings for config flows ([@springstan] - [#42374]) ([ipma docs]) ([met docs]) ([pi_hole docs]) ([smartthings docs]) +- Use string-lights icon for zerproc ([@emlove] - [#42379]) ([zerproc docs]) +- Create __init__.py in AlarmDecoder tests ([@Olen] - [#42388]) ([alarmdecoder docs]) +- Convert logbook tests to pytest ([@taiyeoguns] - [#42289]) ([logbook docs]) +- Cleanup log style and tests for ElkM1 ([@gwww] - [#42353]) ([elkm1 docs]) +- Deprecate ptvsd integration ([@frenck] - [#42351]) ([ptvsd docs]) (breaking-change) +- Upgrade debugpy to 1.0.0 ([@frenck] - [#40929]) ([debugpy docs]) +- Rewrite pilight/test_init.py tests to pytest style test functions ([@erogleva] - [#42366]) ([pilight docs]) +- Add a test for template entities that reuse the template ([@bdraco] - [#42404]) ([template docs]) +- Implement PlatformNotReady on onewire integration ([@epenet] - [#42395]) ([onewire docs]) +- Restore somfy state in optimistic mode on restart ([@bdraco] - [#42426]) ([somfy docs]) +- Set device class for lutron_caseta cover ([@bdraco] - [#42436]) ([lutron_caseta docs]) +- Add mode to base strings for config flows ([@springstan] - [#42373]) ([homekit docs]) ([ipma docs]) ([openweathermap docs]) +- Add elevation to base strings for config flows ([@springstan] - [#42377]) ([met docs]) ([openuv docs]) +- Discover onewire devices at startup ([@epenet] - [#42410]) ([onewire docs]) +- Convert somfy to use DataUpdateCoordinator ([@bdraco] - [#42434]) ([somfy docs]) +- Use async functions for Somfy ([@balloob] - [#42448]) ([somfy docs]) +- Move onewire entity classes to separate module ([@epenet] - [#42445]) ([onewire docs]) +- Fix yeelight connection issue ([@shenxn] - [#40251]) ([yeelight docs]) +- Add Nest cam support for the SDM API ([@allenporter] - [#42325]) ([nest docs]) +- Bump fritzconnection from 1.2.0 to 1.3.4 ([@chemelli74] - [#40508]) ([fritz docs]) +- Use common strings in openuv config flow ([@springstan] - [#42480]) ([openuv docs]) +- Add platform services to Roon media player to allow grouping, ungrouping and transfer between players ([@pavoni] - [#42133]) ([roon docs]) +- Set the translations cache under the lock ([@bdraco] - [#42470]) +- Add color_extractor service ([@GenericStudent] - [#42129]) ([colorthief docs]) (new-integration) +- Remove zxdavb from honeywell codeowners ([@zxdavb] - [#42491]) ([honeywell docs]) +- Fix somfy device recreation on update ([@bdraco] - [#42462]) ([somfy docs]) +- Start homekit bridges with asyncio.gather ([@bdraco] - [#42498]) ([homekit docs]) +- Update tuyaha to 0.0.8 and adapt code ([@ollo69] - [#41375]) ([tuya docs]) +- Bump python-velbus to 2.1.1 ([@Cereal2nd] - [#42414]) ([velbus docs]) +- Upgrade debugpy to 1.1.0 ([@frenck] - [#42506]) ([debugpy docs]) +- Bump avea to 1.5 ([@pattyland] - [#42495]) ([avea docs]) +- Use common strings in Dexcom config flow ([@scheric] - [#41767]) ([dexcom docs]) +- Use dict.values() when appropriate ([@springstan] - [#42509]) ([apns docs]) ([netio docs]) ([scsgate docs]) ([wirelesstag docs]) +- Use common strings in life360 config flow ([@springstan] - [#42375]) ([life360 docs]) +- Ensure the oauth2 token is refreshed before it is expired ([@bdraco] - [#42487]) +- Tidy after adding group services to roon media player ([@pavoni] - [#42512]) ([roon docs]) +- Implement minor Colorfix alterations ([@GenericStudent] - [#42521]) ([color_extractor docs]) +- Remove unnecessary instances of dict.keys() ([@springstan] - [#42518]) +- Remove listener on async_unload_entry in devolo Home Control ([@Shutgun] - [#42520]) ([devolo_home_control docs]) +- Add update available binary sensor to synology_dsm ([@mib1185] - [#42378]) ([synology_dsm docs]) +- Recollect waste multi day ([@dcnoren] - [#41853]) ([recollect_waste docs]) +- Add options flow to RainMachine ([@bachya] - [#42241]) ([rainmachine docs]) +- Cleanup RainMachine ([@bachya] - [#42544]) ([rainmachine docs]) +- Deprecate YAML config for Flu Near You (0.119 removal) ([@bachya] - [#42535]) ([flunearyou docs]) (breaking-change) +- Add guppy3 memory profile to Profiler integration ([@hunterjm] - [#42435]) ([profiler docs]) +- Remove YAML config for directv ([@ctalkington] - [#41961]) ([directv docs]) ([directv docs]) (breaking-change) +- Remove YAML config for roku ([@ctalkington] - [#41960]) ([roku docs]) (breaking-change) +- Use common strings in twilio config flow ([@springstan] - [#42477]) ([twilio docs]) +- Gather all collection listeners and changes at the same time ([@bdraco] - [#42497]) +- Add telegram_sent event ([@NikoM87] - [#41159]) ([telegram_bot docs]) +- Fix flapping event template test ([@bdraco] - [#42614]) +- Remove legacy template extract_entities ([@bdraco] - [#42601]) (breaking-change) +- Fix inexact version of pylacrosse ([@onkelbeh] - [#42610]) ([lacrosse docs]) +- Properly unload listener for AirVisual config entry updates ([@bachya] - [#42583]) ([airvisual docs]) +- Reduce complexity of storage writes ([@bdraco] - [#42576]) +- Defer esphome persistent storage writes until after startup ([@bdraco] - [#42600]) ([esphome docs]) +- Rewrite mfi unittest tests to pytest ([@adriansuwala] - [#42510]) ([mfi docs]) +- Purge unused constants from template helper ([@bdraco] - [#42618]) +- Add missing config flow translation key to script scaffold ([@allenporter] - [#42621]) +- Add WS command to remove a Tasmota device ([@emontnemery] - [#42266]) ([tasmota docs]) +- Fix typo in Flunearyou config flow ([@SNoof85] - [#42617]) ([flunearyou docs]) +- Bump hatasmota to 0.0.26 ([@effelle] - [#42613]) ([tasmota docs]) +- Use list literal without using dict.keys() ([@springstan] - [#42573]) +- Revert "Bump hatasmota to 0.0.26 (#42613)" ([@emontnemery] - [#42641]) ([tasmota docs]) +- Fix on/off button ([@felipediel] - [#42443]) ([broadlink docs]) +- Bump hatasmota to 0.0.26 ([@emontnemery] - [#42644]) ([tasmota docs]) +- Bump ElkM1 library to 0.8.7 ([@gwww] - [#42645]) ([elkm1 docs]) +- Small cleanup to IQVIA DataUpdateCoordinator logic ([@bachya] - [#42642]) ([iqvia docs]) +- Add hassio service descriptions ([@Petro31] - [#42597]) ([hassio docs]) +- Remove redundant mock_storage fixture from mqtt_statestream tests ([@adriansuwala] - [#42652]) ([mqtt_statestream docs]) +- Allow saving zero precision option in Opentherm_gw ([@springstan] - [#42593]) ([opentherm_gw docs]) +- Add @mib1185 as codeowner to synology_dsm ([@mib1185] - [#42671]) ([synology_dsm docs]) +- Bump roonapi to 0.0.25 ([@pavoni] - [#42680]) ([roon docs]) +- Cleanup local imports on onewire integration ([@epenet] - [#42689]) ([onewire docs]) +- Optimise onewire sensor update method ([@epenet] - [#42690]) ([onewire docs]) +- Bump version to 0.16.2 ([@gtdiehl] - [#42696]) ([enphase_envoy docs]) +- Run tox verbosely in Travis CI ([@scop] - [#42706]) +- Remove classes in nx584 tests ([@taiyeoguns] - [#42628]) ([nx584 docs]) +- Fix typo exceeded, change to exceed, in HomeKit ([@lindsaymarkward] - [#42705]) ([homekit docs]) +- Remove homekit cover precision workarounds ([@bdraco] - [#42647]) ([homekit docs]) +- Upgrade youtube_dl to version 2020.11.01.1 ([@BKPepe] - [#42714]) ([media_extractor docs]) +- adding support for hardkernel odroid-c4 ([@ubergeek801] - [#42719]) (new-integration) +- Refactor ZHA light state restoration after a restart ([@Adminiuga] - [#42726]) ([zha docs]) +- Add support for manual updating a data coordinator ([@balloob] - [#42746]) +- Base image 2020.10.1 ([@pvizeli] - [#42666]) +- Add verify_ssl option for connection setup to synology_dsm ([@mib1185] - [#42539]) ([synology_dsm docs]) +- Provide a more useful error message in evohome ([@zxdavb] - [#42734]) ([evohome docs]) +- Bump plexapi to 4.2.0 ([@jjlawren] - [#42727]) ([plex docs]) +- Use own CoAP lib and support for multicast updates ([@thecode] - [#42718]) ([shelly docs]) +- Drop usage of asynctests ([@balloob] - [#42756]) ([onewire docs]) +- Upgrade pre-commit to 2.8.2 ([@frenck] - [#42757]) +- Fix existing synology_dsm config entries cannot be setup ([@mib1185] - [#42769]) ([synology_dsm docs]) +- Add DPI Restriction switch to UniFi integration ([@hunterjm] - [#42499]) ([unifi docs]) +- Remove unnecessary onewire variable ([@epenet] - [#42704]) ([onewire docs]) +- Add image support to nest SDM api ([@allenporter] - [#42556]) ([nest docs]) +- Fix shelly import ([@balloob] - [#42783]) ([shelly docs]) +- Catch unhandled exception in websocket_api ([@SigmaPic] - [#42693]) ([websocket_api docs]) +- Bump uEagle to 0.0.2 ([@jcalbert] - [#42780]) ([rainforest_eagle docs]) +- Migrate system health to use integration_platform ([@balloob] - [#42785]) ([lovelace docs]) ([system_health docs]) +- Upgrade sentry-sdk to 0.19.2 ([@frenck] - [#42786]) ([sentry docs]) +- Update definition of onewire device specifications ([@epenet] - [#42460]) ([onewire docs]) +- Add support for OpenWeatherMap One Call API ([@nzapponi] - [#39839]) ([openweathermap docs]) (breaking-change) +- Default some entities to disabled ([@epenet] - [#42797]) ([onewire docs]) +- Fix nest subscriber by upgrading google_pubsub to newer library version ([@allenporter] - [#42501]) ([google_pubsub docs]) +- Fix webhook when doorbird not yet setup ([@bdraco] - [#42657]) +- Split build release base + machine build ([@pvizeli] - [#42827]) +- Avoid the same task ending up multiple times in the ssdp asyncio.gather ([@bdraco] - [#42815]) ([ssdp docs]) +- Tweak Rachio integration strings ([@adamjernst] - [#42843]) ([rachio docs]) +- Properly unload listener for SimpliSafe config entry updates ([@bachya] - [#42579]) ([simplisafe docs]) +- Fix circular import of config_validation and template ([@palfrey] - [#41802]) +- Tweak Shelly message to be clearer ([@adamjernst] - [#42862]) ([shelly docs]) +- Fix evohome coroutine not allowed to be passed to HassJob ([@zxdavb] - [#42730]) ([evohome docs]) +- clarify range of max and min for intensity ([@jsloyer] - [#42853]) ([wled docs]) +- Add hdmi input attribute to AndroidTV ([@DiederikvandenB] - [#42571]) ([androidtv docs]) +- Distinguish Shutters and Awnings in Google Assistant ([@edomat] - [#42782]) ([google_assistant docs]) +- Add unique_id property to ARWN sensors ([@sdague] - [#42570]) ([arwn docs]) +- Bump androidtv to 0.0.54 ([@JeffLIrion] - [#42861]) ([androidtv docs]) +- Move to Launch Library 2 ([@ludeeus] - [#42723]) ([launch_library docs]) +- Fix async_track_utc_time_change firing too early ([@amelchio] - [#42176]) +- Cleanup onewire tests ([@epenet] - [#42864]) ([onewire docs]) +- Handle overriding of default apps for Android TV ([@JeffLIrion] - [#41893]) ([androidtv docs]) +- Tweak wording of Rachio options ([@adamjernst] - [#42849]) ([rachio docs]) +- Handle Shelly light domain for relay switches ( fw >=1.9 ) ([@chemelli74] - [#42508]) ([shelly docs]) (breaking-change) +- Bump pyvlx to 0.2.18 ([@sbyx] - [#42895]) ([velux docs]) +- Fix memory leak in websocket_api ([@bdraco] - [#42894]) ([websocket_api docs]) +- Add nest climate support for SDM API ([@allenporter] - [#42702]) ([nest docs]) +- Add Spanish US voice to amazon polly ([@manuel-jrs] - [#42891]) ([amazon_polly docs]) +- Migrate RainMachine to DataUpdateCoordinator ([@bachya] - [#42530]) ([rainmachine docs]) +- Upgrade hadolint to 0.18.2 ([@frenck] - [#42087]) +- Cloud: Recover when internet is not available yet ([@balloob] - [#42877]) ([cloud docs]) +- Handle offline gateways in devolo Home Control ([@Shutgun] - [#42897]) ([devolo_home_control docs]) +- Fix dimming for ISY994 Z-Wave devices using percent instead of 8-bit brightness values ([@shbatm] - [#42915]) ([isy994 docs]) +- Allow ZHA coordinator binding/unbinding ([@Adminiuga] - [#42854]) ([zha docs]) +- Upgrade Tibber library to 0.16.0 ([@Danielhiversen] - [#42929]) ([tibber docs]) +- Change fritzbox title for better product family distinction ([@AlexSchmitz222] - [#42432]) ([fritzbox docs]) +- Upgrade pytest to 6.1.2 ([@frenck] - [#40662]) +- Generate random MQTT client ID ([@emontnemery] - [#42934]) ([mqtt docs]) +- Ensure instances of async_add_entities can be garbage collected ([@bdraco] - [#42919]) +- Ensure storage task loads are always garbage collected ([@bdraco] - [#42917]) +- Bump aioshelly to 0.5.1 ([@chemelli74] - [#42940]) ([shelly docs]) +- Add config flow to epson and fix timeouts ([@pszafer] - [#39697]) ([epson docs]) (breaking-change) +- Change air pressure unit to hPa in OpenWeatherMap ([@randyxxl] - [#42801]) ([openweathermap docs]) (breaking-change) +- Only call utcnow once during a state changed event ([@bdraco] - [#42941]) +- Add binary_sensor platform to onewire integration ([@epenet] - [#42832]) ([onewire docs]) (new-platform) +- Migrate Flu Near You to DataUpdateCoordinator ([@bachya] - [#42594]) ([flunearyou docs]) +- Add icons for OBiTALK status and reboot sensors ([@absurdist81] - [#42883]) ([obihai docs]) +- Use common strings in locative config flow ([@springstan] - [#42481]) ([locative docs]) +- Add not internet accessible to base strings for config flows ([@springstan] - [#42478]) +- Bump aio_georss_gdacs to v0.4 ([@exxamalte] - [#42957]) ([gdacs docs]) (breaking-change) +- Upgrade colorlog to 4.5.0 ([@frenck] - [#42965]) +- Disable legacy templates by default ([@frenck] - [#42967]) (breaking-change) +- Bump hatasmota from 0.0.27 ([@emontnemery] - [#42802]) ([tasmota docs]) +- Add test for register configuration for modbus switch ([@janiversen] - [#42604]) ([modbus docs]) +- Add support for Stretch product to Plugwise integration ([@CoMPaTech] - [#40108]) ([plugwise docs]) +- Correct link to frontend repo ([@springstan] - [#42972]) ([frontend docs]) +- Add support for Broadlink SP4 series and the latest SP mini 3 devices ([@felipediel] - [#41522]) ([broadlink docs]) +- Remove debug prints from utcnow test ([@bdraco] - [#42977]) +- Add onewire switches ([@epenet] - [#42962]) ([onewire docs]) (new-platform) +- Add zone_entity_id to Risco events ([@OnFreund] - [#39678]) ([risco docs]) +- Remove empty dependencies from manifest ([@springstan] - [#42973]) +- Increase update timeouts used in Shelly integration ([@thecode] - [#42937]) ([shelly docs]) +- Fix Spotify scopes evaluation ([@OGKevin] - [#42819]) ([spotify docs]) +- Fix yeelight binary sensor unique ID ([@shenxn] - [#42562]) ([yeelight docs]) +- Correct logging and add test case for sharkiq ([@ajmarks] - [#41863]) ([sharkiq docs]) +- On HA restart parse last_reset as a datetime object ([@dgomes] - [#42939]) ([utility_meter docs]) +- Adds feature to get also longitude and latitude of the triggerd entry… ([@SteveBrandt] - [#42990]) ([opensky docs]) +- Allow options flows to be aborted ([@raman325] - [#41875]) +- Make Jewish Calendar use DEVICE_CLASS_TIMSTAMP and remove timestamp attribute ([@yuvalabou] - [#41397]) ([jewish_calendar docs]) (breaking-change) +- Upgrade sisyphus-control dependency to 3.0 ([@jkeljo] - [#42995]) ([sisyphus docs]) (breaking-change) +- Use strings instead of f-strings for constants ([@springstan] - [#40619]) +- Fix Neurio Sensor by making the sensor ID required ([@czechmark] - [#42728]) ([neurio_energy docs]) (breaking-change) +- Fix flaky epson CI ([@balloob] - [#42999]) ([epson docs]) +- Update nest SDM climate simplifying support for eco mode ([@allenporter] - [#42955]) ([nest docs]) +- Add more units to distance conversion util ([@springstan] - [#40181]) +- Fix enigma2 off state ([@reaper7] - [#42407]) ([enigma2 docs]) +- Replace lock bot with GitHub Action ([@frenck] - [#43001]) +- Replace stale bot with GitHub Action ([@frenck] - [#42994]) +- Add device trigger support for device trackers ([@mdonoughe] - [#42324]) ([device_tracker docs]) ([zone docs]) +- Update devolo-home-control-api to 0.16.0 ([@Shutgun] - [#42944]) +- Force color or white mode exclusivity for MQTT lights ([@emontnemery] - [#42887]) ([mqtt docs]) (breaking-change) +- Remove temporary variable from supported_features ([@springstan] - [#42685]) +- Add ozw config flow add-on management ([@MartinHjelmare] - [#42421]) ([hassio docs]) ([ozw docs]) +- Deprecate YAML config for AirVisual (0.119 removal) ([@bachya] - [#42581]) ([airvisual docs]) (breaking-change) +- Reload sonarr config entry on options update ([@ctalkington] - [#41958]) ([sonarr docs]) +- Support datetime sensor in time trigger ([@balloob] - [#42899]) ([homeassistant docs]) +- Remove iAlarm integration (ADR-0004) ([@frenck] - [#43010]) (breaking-change) +- Add data entry flow show progress step ([@MartinHjelmare] - [#42419]) +- Obtain zone entity id in Risco sensors through entity registry ([@OnFreund] - [#43007]) ([risco docs]) +- Fix vasttrafik sensor displaying incorrect departure times ([@ttuffin] - [#43011]) ([vasttrafik docs]) +- Extend WS API result when enabling an entity ([@emontnemery] - [#42667]) ([config docs]) +- Add services to log and dump objects to the profiler to help track down memory leaks ([@bdraco] - [#42951]) ([profiler docs]) +- Add missing device class strings (binary sensor) ([@oncleben31] - [#42326]) ([binary_sensor docs]) +- Make all translations cacheable ([@bdraco] - [#42892]) +- Fix volume calculation of Onkyo MediaPlayer ([@ZzetT] - [#42236]) ([onkyo docs]) +- Remove stale fixture from mqtt-statestream tests ([@dmonego] - [#42233]) ([mqtt_statestream docs]) +- Remove Tuya climate ext. temperature entity option ([@ollo69] - [#42546]) ([tuya docs]) +- Expose Dyson PureCool filter life remaining percentage ([@Flameeyes] - [#42765]) ([dyson docs]) +- Add support for additional SimpliSafe sensors ([@bachya] - [#43017]) ([simplisafe docs]) +- Update inheritance for onewire entities ([@epenet] - [#43019]) ([onewire docs]) +- Bump python-openzwave-mqtt to 1.3.2 ([@cgarwood] - [#43020]) ([ozw docs]) +- Migrate Recollect Waste integration to use aiorecollect library ([@bachya] - [#43022]) ([recollect_waste docs]) +- Increase timeout for setup of rfxtrx ([@RobBie1221] - [#43003]) ([rfxtrx docs]) +- Deprecate YAML config for Notion (0.119 removal) ([@bachya] - [#43026]) ([notion docs]) (breaking-change) +- Streamline Notion CoordinatorEntity ([@bachya] - [#43027]) ([notion docs]) +- Bump pymfy to 0.9.1 ([@tetienne] - [#43021]) ([somfy docs]) +- Bump aioasuswrt version to handle telnet asus routers ([@JJdeVries] - [#43031]) ([asuswrt docs]) +- Address review feedback for Epson ([@pszafer] - [#43012]) ([epson docs]) +- Catch correct error when Spotify has a request error ([@balloob] - [#43032]) ([spotify docs]) +- Set an appropriate SCAN_INTERVAL for Broadlink A1 sensor ([@felipediel] - [#41309]) ([broadlink docs]) +- Clean up yaml configurations for all fritz integrations ([@springstan] - [#39995]) ([fritz docs]) ([fritzbox_callmonitor docs]) ([fritzbox_netmonitor docs]) (breaking-change) +- Add function to remove holidays from workday sensor ([@epleypa] - [#41988]) ([workday docs]) +- Change instructions for unlocking Broadlink devices ([@felipediel] - [#42023]) ([broadlink docs]) +- Rewrite the pilight/test_sensor.py tests to use async pytest functions ([@erogleva] - [#42418]) ([pilight docs]) +- Include device_id in ZHA event ([@balloob] - [#43037]) ([zha docs]) +- Add set and check repeat mode to mpd component ([@9R] - [#42808]) ([mpd docs]) +- Add available state for Epson integration ([@pszafer] - [#43038]) ([epson docs]) +- Correct handling of existing MQTT subscriptions ([@emontnemery] - [#43056]) ([mqtt docs]) +- Update zigpy-zigate to 0.7.0 ([@doudz] - [#43043]) ([zha docs]) +- Fix mfi test ([@balloob] - [#43060]) ([mfi docs]) +- Remove setting log level of dsmr_parser inside dsmr integration ([@RobBie1221] - [#43059]) ([dsmr docs]) +- Improve restore of deleted devices ([@emontnemery] - [#42703]) +- Add system health streaming updates ([@balloob] - [#42831]) ([cloud docs]) ([lovelace docs]) ([system_health docs]) +- Update nest sdm camera to refresh in background ([@allenporter] - [#42865]) ([nest docs]) +- Add proxy support for browse media images ([@rajlaud] - [#42193]) ([squeezebox docs]) +- System health improvement ([@balloob] - [#43066]) ([cloud docs]) ([homeassistant docs]) ([lovelace docs]) ([system_health docs]) +- Fix mfi test ([@balloob] - [#43067]) ([mfi docs]) +- Fix API change with Notion batteries ([@bachya] - [#43073]) ([notion docs]) +- Streamline Tile CoordinatorEntity ([@bachya] - [#43065]) ([tile docs]) +- Limit concurrency of async_get_integration to avoid creating extra threads ([@bdraco] - [#43085]) +- Cleanup and naming schema fixes for Shelly ([@thecode] - [#42987]) ([shelly docs]) +- Upgrade pylutron-caseta to 0.7.2 ([@mdonoughe] - [#43075]) ([lutron_caseta docs]) +- Update bravia-tv to 1.0.8 ([@dcnielsen90] - [#43069]) ([braviatv docs]) +- Add MIN_TIME_BETWEEN_UPDATES to dsmr integration ([@RobBie1221] - [#43057]) ([dsmr docs]) +- Remove YAML config for Tile ([@bachya] - [#43064]) ([tile docs]) (breaking-change) +- Remove Octoprint log spam when printer endpoint status code is 409 ([@rrada] - [#42985]) ([octoprint docs]) +- Remove brand names from translations ([@balloob] - [#43092]) +- Chunk translation clean script to avoid too long url error ([@balloob] - [#43090]) +- Bump hatasmota to 0.0.29 ([@emontnemery] - [#43013]) ([tasmota docs]) +- Add watchdog to reset nest subscriber ([@allenporter] - [#43034]) ([nest docs]) +- Use internal url for Squeezebox if possible ([@balloob] - [#43089]) ([squeezebox docs]) +- Show media progress in sisyphus ([@jkeljo] - [#42996]) ([sisyphus docs]) +- Update frontend to 20201111.0 ([@bramkragten] - [#43101]) ([frontend docs]) +- Modify wait timeout in stream ([@uvjustin] - [#42794]) ([stream docs]) +- Bump up ZHA dependencies ([@Adminiuga] - [#43104]) ([zha docs]) +- Add reboot and shutdown service to synology_dsm ([@mib1185] - [#42697]) ([synology_dsm docs]) +- Bump greeclimate to 0.9.6 ([@cmroche] - [#43106]) ([gree docs]) +- Update xknx to 0.15.3 ([@marvin-w] - [#42026]) ([knx docs]) (breaking-change) (beta fix) +- Move setup_url_for_address to pyWeMo library ([@joshuaboniface] - [#42722]) ([wemo docs]) (beta fix) +- Bump dependency for HomematicIP Cloud ([@SukramJ] - [#43018]) ([homematicip_cloud docs]) (beta fix) +- Use media player image proxy for roku media browser ([@ctalkington] - [#43070]) ([roku docs]) (beta fix) +- Add system health section for the Supervisor ([@ludeeus] - [#43074]) ([hassio docs]) ([homeassistant docs]) (beta fix) +- Bump pycsspeechtts to 1.0.4 ([@hmmbob] - [#43105]) ([microsoft docs]) (beta fix) +- Fix incorrect Notion battery state calculation ([@bachya] - [#43108]) ([notion docs]) (beta fix) +- Make Appliance Type Case-insensitive ([@thecode] - [#43114]) ([shelly docs]) (beta fix) +- Streamline SimpliSafe errors ([@bachya] - [#43117]) ([simplisafe docs]) (beta fix) +- Fix bug preventing Notion entities from updating their bridge ([@bachya] - [#43122]) ([notion docs]) (beta fix) +- Added missing system health translation for "Views" ([@spacegaier] - [#43126]) ([lovelace docs]) (beta fix) +- Add missing 'hassio' translation string ([@ludeeus] - [#43127]) ([homeassistant docs]) (beta fix) +- Bump hatasmota to 0.0.30 ([@emontnemery] - [#43140]) ([tasmota docs]) (beta fix) +- Fix playing of Spotify URIs on Sonos ([@amelchio] - [#43154]) ([sonos docs]) (beta fix) +- Guard against empty ssdp locations ([@bdraco] - [#43156]) ([ssdp docs]) (beta fix) +- update zigpy_zigate to v0.7.1 ([@doudz] - [#43159]) ([zha docs]) (beta fix) +- Prevent spider from doing I/O in the event loop ([@balloob] - [#43182]) (beta fix) +- Revert opensky flight latitude and longitude ([@balloob] - [#43185]) ([opensky docs]) (beta fix) +- Catch the right nest stream refresh exception error ([@allenporter] - [#43189]) ([nest docs]) (beta fix) +- Revert "Remove YAML config for Tile (#43064)" ([@bachya] - [#43199]) ([tile docs]) (beta fix) +- Fix typo in lw12wifi shoud_poll ([@bdraco] - [#43213]) ([lw12wifi docs]) (beta fix) +- Bump elkm1-lib to 0.8.8 ([@gwww] - [#43230]) ([elkm1 docs]) (beta fix) +- Remove OpenCV dependecy from Environment Canada ([@michaeldavie] - [#43235]) ([environment_canada docs]) (beta fix) +- Remove pts adjustments in stream ([@uvjustin] - [#42399]) ([stream docs]) (beta fix) +- Bump hass-nabucasa to 0.37.2 ([@MartinHjelmare] - [#43146]) ([cloud docs]) (beta fix) +- Update greeclimate to 0.10.2 ([@cmroche] - [#43206]) ([gree docs]) (beta fix) +- Update greeclimate to 0.10.3 ([@cmroche] - [#43248]) ([gree docs]) (beta fix) +- Bump env_canada to 0.2.4, fix config validation ([@michaeldavie] - [#43251]) ([environment_canada docs]) (beta fix) +- Update zigpy-zigate to 0.7.2 ([@doudz] - [#43252]) ([zha docs]) (beta fix) +- Bump pyvera to 0.3.11 ([@pavoni] - [#43262]) ([vera docs]) (beta fix) +- Bump requests to 2.25.0 ([@spacegaier] - [#43279]) (beta fix) +- Update pytradfri to 7.0.3 ([@balloob] - [#43289]) ([tradfri docs]) (beta fix) +- Fix Enigma2 available entity property ([@reaper7] - [#43292]) (beta fix) +- Update pytradfri to 7.0.4 ([@balloob] - [#43297]) ([tradfri docs]) (beta fix) +- Updated frontend to 20201111.1 ([@bramkragten] - [#43298]) ([frontend docs]) (beta fix) +- Bump bimmer_connected to 0.7.13 ([@rikroe] - [#43294]) ([bmw_connected_drive docs]) (beta fix) +- Bump aioguardian to 1.0.4 ([@bachya] - [#43299]) ([guardian docs]) (beta fix) +- Abort vizio discovery flow without unique ID ([@raman325] - [#43303]) ([vizio docs]) (beta fix) +- Bump hatasmota to 0.0.31 ([@emontnemery] - [#43319]) ([tasmota docs]) (beta fix) +- Updated frontend to 20201111.2 ([@bramkragten] - [#43334]) ([frontend docs]) (beta fix) + +
+ +[#39321]: https://github.com/home-assistant/core/pull/39321 +[#39678]: https://github.com/home-assistant/core/pull/39678 +[#39697]: https://github.com/home-assistant/core/pull/39697 +[#39839]: https://github.com/home-assistant/core/pull/39839 +[#39995]: https://github.com/home-assistant/core/pull/39995 +[#40108]: https://github.com/home-assistant/core/pull/40108 +[#40181]: https://github.com/home-assistant/core/pull/40181 +[#40251]: https://github.com/home-assistant/core/pull/40251 +[#40354]: https://github.com/home-assistant/core/pull/40354 +[#40420]: https://github.com/home-assistant/core/pull/40420 +[#40508]: https://github.com/home-assistant/core/pull/40508 +[#40619]: https://github.com/home-assistant/core/pull/40619 +[#40662]: https://github.com/home-assistant/core/pull/40662 +[#40929]: https://github.com/home-assistant/core/pull/40929 +[#41159]: https://github.com/home-assistant/core/pull/41159 +[#41165]: https://github.com/home-assistant/core/pull/41165 +[#41232]: https://github.com/home-assistant/core/pull/41232 +[#41309]: https://github.com/home-assistant/core/pull/41309 +[#41375]: https://github.com/home-assistant/core/pull/41375 +[#41397]: https://github.com/home-assistant/core/pull/41397 +[#41522]: https://github.com/home-assistant/core/pull/41522 +[#41752]: https://github.com/home-assistant/core/pull/41752 +[#41767]: https://github.com/home-assistant/core/pull/41767 +[#41802]: https://github.com/home-assistant/core/pull/41802 +[#41853]: https://github.com/home-assistant/core/pull/41853 +[#41863]: https://github.com/home-assistant/core/pull/41863 +[#41875]: https://github.com/home-assistant/core/pull/41875 +[#41893]: https://github.com/home-assistant/core/pull/41893 +[#41958]: https://github.com/home-assistant/core/pull/41958 +[#41960]: https://github.com/home-assistant/core/pull/41960 +[#41961]: https://github.com/home-assistant/core/pull/41961 +[#41988]: https://github.com/home-assistant/core/pull/41988 +[#42023]: https://github.com/home-assistant/core/pull/42023 +[#42026]: https://github.com/home-assistant/core/pull/42026 +[#42032]: https://github.com/home-assistant/core/pull/42032 +[#42037]: https://github.com/home-assistant/core/pull/42037 +[#42061]: https://github.com/home-assistant/core/pull/42061 +[#42087]: https://github.com/home-assistant/core/pull/42087 +[#42094]: https://github.com/home-assistant/core/pull/42094 +[#42099]: https://github.com/home-assistant/core/pull/42099 +[#42129]: https://github.com/home-assistant/core/pull/42129 +[#42133]: https://github.com/home-assistant/core/pull/42133 +[#42144]: https://github.com/home-assistant/core/pull/42144 +[#42146]: https://github.com/home-assistant/core/pull/42146 +[#42156]: https://github.com/home-assistant/core/pull/42156 +[#42159]: https://github.com/home-assistant/core/pull/42159 +[#42164]: https://github.com/home-assistant/core/pull/42164 +[#42169]: https://github.com/home-assistant/core/pull/42169 +[#42176]: https://github.com/home-assistant/core/pull/42176 +[#42178]: https://github.com/home-assistant/core/pull/42178 +[#42183]: https://github.com/home-assistant/core/pull/42183 +[#42193]: https://github.com/home-assistant/core/pull/42193 +[#42199]: https://github.com/home-assistant/core/pull/42199 +[#42206]: https://github.com/home-assistant/core/pull/42206 +[#42208]: https://github.com/home-assistant/core/pull/42208 +[#42210]: https://github.com/home-assistant/core/pull/42210 +[#42211]: https://github.com/home-assistant/core/pull/42211 +[#42217]: https://github.com/home-assistant/core/pull/42217 +[#42218]: https://github.com/home-assistant/core/pull/42218 +[#42220]: https://github.com/home-assistant/core/pull/42220 +[#42221]: https://github.com/home-assistant/core/pull/42221 +[#42229]: https://github.com/home-assistant/core/pull/42229 +[#42231]: https://github.com/home-assistant/core/pull/42231 +[#42232]: https://github.com/home-assistant/core/pull/42232 +[#42233]: https://github.com/home-assistant/core/pull/42233 +[#42236]: https://github.com/home-assistant/core/pull/42236 +[#42239]: https://github.com/home-assistant/core/pull/42239 +[#42241]: https://github.com/home-assistant/core/pull/42241 +[#42243]: https://github.com/home-assistant/core/pull/42243 +[#42262]: https://github.com/home-assistant/core/pull/42262 +[#42263]: https://github.com/home-assistant/core/pull/42263 +[#42266]: https://github.com/home-assistant/core/pull/42266 +[#42276]: https://github.com/home-assistant/core/pull/42276 +[#42279]: https://github.com/home-assistant/core/pull/42279 +[#42282]: https://github.com/home-assistant/core/pull/42282 +[#42286]: https://github.com/home-assistant/core/pull/42286 +[#42289]: https://github.com/home-assistant/core/pull/42289 +[#42290]: https://github.com/home-assistant/core/pull/42290 +[#42305]: https://github.com/home-assistant/core/pull/42305 +[#42308]: https://github.com/home-assistant/core/pull/42308 +[#42309]: https://github.com/home-assistant/core/pull/42309 +[#42310]: https://github.com/home-assistant/core/pull/42310 +[#42312]: https://github.com/home-assistant/core/pull/42312 +[#42316]: https://github.com/home-assistant/core/pull/42316 +[#42319]: https://github.com/home-assistant/core/pull/42319 +[#42323]: https://github.com/home-assistant/core/pull/42323 +[#42324]: https://github.com/home-assistant/core/pull/42324 +[#42325]: https://github.com/home-assistant/core/pull/42325 +[#42326]: https://github.com/home-assistant/core/pull/42326 +[#42333]: https://github.com/home-assistant/core/pull/42333 +[#42335]: https://github.com/home-assistant/core/pull/42335 +[#42348]: https://github.com/home-assistant/core/pull/42348 +[#42349]: https://github.com/home-assistant/core/pull/42349 +[#42351]: https://github.com/home-assistant/core/pull/42351 +[#42353]: https://github.com/home-assistant/core/pull/42353 +[#42366]: https://github.com/home-assistant/core/pull/42366 +[#42373]: https://github.com/home-assistant/core/pull/42373 +[#42374]: https://github.com/home-assistant/core/pull/42374 +[#42375]: https://github.com/home-assistant/core/pull/42375 +[#42376]: https://github.com/home-assistant/core/pull/42376 +[#42377]: https://github.com/home-assistant/core/pull/42377 +[#42378]: https://github.com/home-assistant/core/pull/42378 +[#42379]: https://github.com/home-assistant/core/pull/42379 +[#42388]: https://github.com/home-assistant/core/pull/42388 +[#42395]: https://github.com/home-assistant/core/pull/42395 +[#42399]: https://github.com/home-assistant/core/pull/42399 +[#42404]: https://github.com/home-assistant/core/pull/42404 +[#42407]: https://github.com/home-assistant/core/pull/42407 +[#42410]: https://github.com/home-assistant/core/pull/42410 +[#42414]: https://github.com/home-assistant/core/pull/42414 +[#42418]: https://github.com/home-assistant/core/pull/42418 +[#42419]: https://github.com/home-assistant/core/pull/42419 +[#42421]: https://github.com/home-assistant/core/pull/42421 +[#42426]: https://github.com/home-assistant/core/pull/42426 +[#42432]: https://github.com/home-assistant/core/pull/42432 +[#42434]: https://github.com/home-assistant/core/pull/42434 +[#42435]: https://github.com/home-assistant/core/pull/42435 +[#42436]: https://github.com/home-assistant/core/pull/42436 +[#42443]: https://github.com/home-assistant/core/pull/42443 +[#42445]: https://github.com/home-assistant/core/pull/42445 +[#42448]: https://github.com/home-assistant/core/pull/42448 +[#42460]: https://github.com/home-assistant/core/pull/42460 +[#42462]: https://github.com/home-assistant/core/pull/42462 +[#42469]: https://github.com/home-assistant/core/pull/42469 +[#42470]: https://github.com/home-assistant/core/pull/42470 +[#42477]: https://github.com/home-assistant/core/pull/42477 +[#42478]: https://github.com/home-assistant/core/pull/42478 +[#42480]: https://github.com/home-assistant/core/pull/42480 +[#42481]: https://github.com/home-assistant/core/pull/42481 +[#42487]: https://github.com/home-assistant/core/pull/42487 +[#42491]: https://github.com/home-assistant/core/pull/42491 +[#42495]: https://github.com/home-assistant/core/pull/42495 +[#42497]: https://github.com/home-assistant/core/pull/42497 +[#42498]: https://github.com/home-assistant/core/pull/42498 +[#42499]: https://github.com/home-assistant/core/pull/42499 +[#42501]: https://github.com/home-assistant/core/pull/42501 +[#42506]: https://github.com/home-assistant/core/pull/42506 +[#42508]: https://github.com/home-assistant/core/pull/42508 +[#42509]: https://github.com/home-assistant/core/pull/42509 +[#42510]: https://github.com/home-assistant/core/pull/42510 +[#42512]: https://github.com/home-assistant/core/pull/42512 +[#42518]: https://github.com/home-assistant/core/pull/42518 +[#42520]: https://github.com/home-assistant/core/pull/42520 +[#42521]: https://github.com/home-assistant/core/pull/42521 +[#42530]: https://github.com/home-assistant/core/pull/42530 +[#42535]: https://github.com/home-assistant/core/pull/42535 +[#42539]: https://github.com/home-assistant/core/pull/42539 +[#42544]: https://github.com/home-assistant/core/pull/42544 +[#42546]: https://github.com/home-assistant/core/pull/42546 +[#42556]: https://github.com/home-assistant/core/pull/42556 +[#42562]: https://github.com/home-assistant/core/pull/42562 +[#42570]: https://github.com/home-assistant/core/pull/42570 +[#42571]: https://github.com/home-assistant/core/pull/42571 +[#42573]: https://github.com/home-assistant/core/pull/42573 +[#42576]: https://github.com/home-assistant/core/pull/42576 +[#42579]: https://github.com/home-assistant/core/pull/42579 +[#42581]: https://github.com/home-assistant/core/pull/42581 +[#42583]: https://github.com/home-assistant/core/pull/42583 +[#42593]: https://github.com/home-assistant/core/pull/42593 +[#42594]: https://github.com/home-assistant/core/pull/42594 +[#42597]: https://github.com/home-assistant/core/pull/42597 +[#42600]: https://github.com/home-assistant/core/pull/42600 +[#42601]: https://github.com/home-assistant/core/pull/42601 +[#42604]: https://github.com/home-assistant/core/pull/42604 +[#42610]: https://github.com/home-assistant/core/pull/42610 +[#42613]: https://github.com/home-assistant/core/pull/42613 +[#42614]: https://github.com/home-assistant/core/pull/42614 +[#42617]: https://github.com/home-assistant/core/pull/42617 +[#42618]: https://github.com/home-assistant/core/pull/42618 +[#42621]: https://github.com/home-assistant/core/pull/42621 +[#42628]: https://github.com/home-assistant/core/pull/42628 +[#42641]: https://github.com/home-assistant/core/pull/42641 +[#42642]: https://github.com/home-assistant/core/pull/42642 +[#42644]: https://github.com/home-assistant/core/pull/42644 +[#42645]: https://github.com/home-assistant/core/pull/42645 +[#42647]: https://github.com/home-assistant/core/pull/42647 +[#42652]: https://github.com/home-assistant/core/pull/42652 +[#42657]: https://github.com/home-assistant/core/pull/42657 +[#42666]: https://github.com/home-assistant/core/pull/42666 +[#42667]: https://github.com/home-assistant/core/pull/42667 +[#42671]: https://github.com/home-assistant/core/pull/42671 +[#42680]: https://github.com/home-assistant/core/pull/42680 +[#42685]: https://github.com/home-assistant/core/pull/42685 +[#42689]: https://github.com/home-assistant/core/pull/42689 +[#42690]: https://github.com/home-assistant/core/pull/42690 +[#42693]: https://github.com/home-assistant/core/pull/42693 +[#42696]: https://github.com/home-assistant/core/pull/42696 +[#42697]: https://github.com/home-assistant/core/pull/42697 +[#42702]: https://github.com/home-assistant/core/pull/42702 +[#42703]: https://github.com/home-assistant/core/pull/42703 +[#42704]: https://github.com/home-assistant/core/pull/42704 +[#42705]: https://github.com/home-assistant/core/pull/42705 +[#42706]: https://github.com/home-assistant/core/pull/42706 +[#42714]: https://github.com/home-assistant/core/pull/42714 +[#42718]: https://github.com/home-assistant/core/pull/42718 +[#42719]: https://github.com/home-assistant/core/pull/42719 +[#42722]: https://github.com/home-assistant/core/pull/42722 +[#42723]: https://github.com/home-assistant/core/pull/42723 +[#42726]: https://github.com/home-assistant/core/pull/42726 +[#42727]: https://github.com/home-assistant/core/pull/42727 +[#42728]: https://github.com/home-assistant/core/pull/42728 +[#42730]: https://github.com/home-assistant/core/pull/42730 +[#42734]: https://github.com/home-assistant/core/pull/42734 +[#42746]: https://github.com/home-assistant/core/pull/42746 +[#42756]: https://github.com/home-assistant/core/pull/42756 +[#42757]: https://github.com/home-assistant/core/pull/42757 +[#42765]: https://github.com/home-assistant/core/pull/42765 +[#42769]: https://github.com/home-assistant/core/pull/42769 +[#42780]: https://github.com/home-assistant/core/pull/42780 +[#42782]: https://github.com/home-assistant/core/pull/42782 +[#42783]: https://github.com/home-assistant/core/pull/42783 +[#42785]: https://github.com/home-assistant/core/pull/42785 +[#42786]: https://github.com/home-assistant/core/pull/42786 +[#42794]: https://github.com/home-assistant/core/pull/42794 +[#42797]: https://github.com/home-assistant/core/pull/42797 +[#42801]: https://github.com/home-assistant/core/pull/42801 +[#42802]: https://github.com/home-assistant/core/pull/42802 +[#42808]: https://github.com/home-assistant/core/pull/42808 +[#42815]: https://github.com/home-assistant/core/pull/42815 +[#42819]: https://github.com/home-assistant/core/pull/42819 +[#42827]: https://github.com/home-assistant/core/pull/42827 +[#42831]: https://github.com/home-assistant/core/pull/42831 +[#42832]: https://github.com/home-assistant/core/pull/42832 +[#42843]: https://github.com/home-assistant/core/pull/42843 +[#42849]: https://github.com/home-assistant/core/pull/42849 +[#42853]: https://github.com/home-assistant/core/pull/42853 +[#42854]: https://github.com/home-assistant/core/pull/42854 +[#42861]: https://github.com/home-assistant/core/pull/42861 +[#42862]: https://github.com/home-assistant/core/pull/42862 +[#42864]: https://github.com/home-assistant/core/pull/42864 +[#42865]: https://github.com/home-assistant/core/pull/42865 +[#42877]: https://github.com/home-assistant/core/pull/42877 +[#42883]: https://github.com/home-assistant/core/pull/42883 +[#42887]: https://github.com/home-assistant/core/pull/42887 +[#42891]: https://github.com/home-assistant/core/pull/42891 +[#42892]: https://github.com/home-assistant/core/pull/42892 +[#42894]: https://github.com/home-assistant/core/pull/42894 +[#42895]: https://github.com/home-assistant/core/pull/42895 +[#42897]: https://github.com/home-assistant/core/pull/42897 +[#42899]: https://github.com/home-assistant/core/pull/42899 +[#42915]: https://github.com/home-assistant/core/pull/42915 +[#42917]: https://github.com/home-assistant/core/pull/42917 +[#42919]: https://github.com/home-assistant/core/pull/42919 +[#42929]: https://github.com/home-assistant/core/pull/42929 +[#42934]: https://github.com/home-assistant/core/pull/42934 +[#42937]: https://github.com/home-assistant/core/pull/42937 +[#42939]: https://github.com/home-assistant/core/pull/42939 +[#42940]: https://github.com/home-assistant/core/pull/42940 +[#42941]: https://github.com/home-assistant/core/pull/42941 +[#42944]: https://github.com/home-assistant/core/pull/42944 +[#42951]: https://github.com/home-assistant/core/pull/42951 +[#42955]: https://github.com/home-assistant/core/pull/42955 +[#42957]: https://github.com/home-assistant/core/pull/42957 +[#42962]: https://github.com/home-assistant/core/pull/42962 +[#42965]: https://github.com/home-assistant/core/pull/42965 +[#42967]: https://github.com/home-assistant/core/pull/42967 +[#42972]: https://github.com/home-assistant/core/pull/42972 +[#42973]: https://github.com/home-assistant/core/pull/42973 +[#42977]: https://github.com/home-assistant/core/pull/42977 +[#42985]: https://github.com/home-assistant/core/pull/42985 +[#42987]: https://github.com/home-assistant/core/pull/42987 +[#42990]: https://github.com/home-assistant/core/pull/42990 +[#42994]: https://github.com/home-assistant/core/pull/42994 +[#42995]: https://github.com/home-assistant/core/pull/42995 +[#42996]: https://github.com/home-assistant/core/pull/42996 +[#42999]: https://github.com/home-assistant/core/pull/42999 +[#43001]: https://github.com/home-assistant/core/pull/43001 +[#43003]: https://github.com/home-assistant/core/pull/43003 +[#43007]: https://github.com/home-assistant/core/pull/43007 +[#43010]: https://github.com/home-assistant/core/pull/43010 +[#43011]: https://github.com/home-assistant/core/pull/43011 +[#43012]: https://github.com/home-assistant/core/pull/43012 +[#43013]: https://github.com/home-assistant/core/pull/43013 +[#43017]: https://github.com/home-assistant/core/pull/43017 +[#43018]: https://github.com/home-assistant/core/pull/43018 +[#43019]: https://github.com/home-assistant/core/pull/43019 +[#43020]: https://github.com/home-assistant/core/pull/43020 +[#43021]: https://github.com/home-assistant/core/pull/43021 +[#43022]: https://github.com/home-assistant/core/pull/43022 +[#43026]: https://github.com/home-assistant/core/pull/43026 +[#43027]: https://github.com/home-assistant/core/pull/43027 +[#43031]: https://github.com/home-assistant/core/pull/43031 +[#43032]: https://github.com/home-assistant/core/pull/43032 +[#43034]: https://github.com/home-assistant/core/pull/43034 +[#43037]: https://github.com/home-assistant/core/pull/43037 +[#43038]: https://github.com/home-assistant/core/pull/43038 +[#43043]: https://github.com/home-assistant/core/pull/43043 +[#43056]: https://github.com/home-assistant/core/pull/43056 +[#43057]: https://github.com/home-assistant/core/pull/43057 +[#43059]: https://github.com/home-assistant/core/pull/43059 +[#43060]: https://github.com/home-assistant/core/pull/43060 +[#43064]: https://github.com/home-assistant/core/pull/43064 +[#43065]: https://github.com/home-assistant/core/pull/43065 +[#43066]: https://github.com/home-assistant/core/pull/43066 +[#43067]: https://github.com/home-assistant/core/pull/43067 +[#43069]: https://github.com/home-assistant/core/pull/43069 +[#43070]: https://github.com/home-assistant/core/pull/43070 +[#43073]: https://github.com/home-assistant/core/pull/43073 +[#43074]: https://github.com/home-assistant/core/pull/43074 +[#43075]: https://github.com/home-assistant/core/pull/43075 +[#43085]: https://github.com/home-assistant/core/pull/43085 +[#43089]: https://github.com/home-assistant/core/pull/43089 +[#43090]: https://github.com/home-assistant/core/pull/43090 +[#43092]: https://github.com/home-assistant/core/pull/43092 +[#43101]: https://github.com/home-assistant/core/pull/43101 +[#43104]: https://github.com/home-assistant/core/pull/43104 +[#43105]: https://github.com/home-assistant/core/pull/43105 +[#43106]: https://github.com/home-assistant/core/pull/43106 +[#43108]: https://github.com/home-assistant/core/pull/43108 +[#43114]: https://github.com/home-assistant/core/pull/43114 +[#43117]: https://github.com/home-assistant/core/pull/43117 +[#43122]: https://github.com/home-assistant/core/pull/43122 +[#43126]: https://github.com/home-assistant/core/pull/43126 +[#43127]: https://github.com/home-assistant/core/pull/43127 +[#43140]: https://github.com/home-assistant/core/pull/43140 +[#43146]: https://github.com/home-assistant/core/pull/43146 +[#43154]: https://github.com/home-assistant/core/pull/43154 +[#43156]: https://github.com/home-assistant/core/pull/43156 +[#43159]: https://github.com/home-assistant/core/pull/43159 +[#43182]: https://github.com/home-assistant/core/pull/43182 +[#43185]: https://github.com/home-assistant/core/pull/43185 +[#43189]: https://github.com/home-assistant/core/pull/43189 +[#43199]: https://github.com/home-assistant/core/pull/43199 +[#43206]: https://github.com/home-assistant/core/pull/43206 +[#43213]: https://github.com/home-assistant/core/pull/43213 +[#43230]: https://github.com/home-assistant/core/pull/43230 +[#43235]: https://github.com/home-assistant/core/pull/43235 +[#43248]: https://github.com/home-assistant/core/pull/43248 +[#43251]: https://github.com/home-assistant/core/pull/43251 +[#43252]: https://github.com/home-assistant/core/pull/43252 +[#43262]: https://github.com/home-assistant/core/pull/43262 +[#43279]: https://github.com/home-assistant/core/pull/43279 +[#43289]: https://github.com/home-assistant/core/pull/43289 +[#43292]: https://github.com/home-assistant/core/pull/43292 +[#43294]: https://github.com/home-assistant/core/pull/43294 +[#43297]: https://github.com/home-assistant/core/pull/43297 +[#43298]: https://github.com/home-assistant/core/pull/43298 +[#43299]: https://github.com/home-assistant/core/pull/43299 +[#43303]: https://github.com/home-assistant/core/pull/43303 +[#43319]: https://github.com/home-assistant/core/pull/43319 +[#43334]: https://github.com/home-assistant/core/pull/43334 +[@9R]: https://github.com/9R +[@Adminiuga]: https://github.com/Adminiuga +[@AlexSchmitz222]: https://github.com/AlexSchmitz222 +[@BKPepe]: https://github.com/BKPepe +[@Cereal2nd]: https://github.com/Cereal2nd +[@ChristianKuehnel]: https://github.com/ChristianKuehnel +[@CoMPaTech]: https://github.com/CoMPaTech +[@CurrentThread]: https://github.com/CurrentThread +[@Danielhiversen]: https://github.com/Danielhiversen +[@DiederikvandenB]: https://github.com/DiederikvandenB +[@Flameeyes]: https://github.com/Flameeyes +[@GenericStudent]: https://github.com/GenericStudent +[@JJdeVries]: https://github.com/JJdeVries +[@JeffLIrion]: https://github.com/JeffLIrion +[@Kane610]: https://github.com/Kane610 +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@NikoM87]: https://github.com/NikoM87 +[@OGKevin]: https://github.com/OGKevin +[@Olen]: https://github.com/Olen +[@OnFreund]: https://github.com/OnFreund +[@Petro31]: https://github.com/Petro31 +[@RobBie1221]: https://github.com/RobBie1221 +[@SNoof85]: https://github.com/SNoof85 +[@Shutgun]: https://github.com/Shutgun +[@SigmaPic]: https://github.com/SigmaPic +[@SteveBrandt]: https://github.com/SteveBrandt +[@SukramJ]: https://github.com/SukramJ +[@ZzetT]: https://github.com/ZzetT +[@absurdist81]: https://github.com/absurdist81 +[@adamjernst]: https://github.com/adamjernst +[@adriansuwala]: https://github.com/adriansuwala +[@ajmarks]: https://github.com/ajmarks +[@alengwenus]: https://github.com/alengwenus +[@allenporter]: https://github.com/allenporter +[@amelchio]: https://github.com/amelchio +[@apop880]: https://github.com/apop880 +[@bachya]: https://github.com/bachya +[@balloob]: https://github.com/balloob +[@bdraco]: https://github.com/bdraco +[@bramkragten]: https://github.com/bramkragten +[@bwarden]: https://github.com/bwarden +[@cgarwood]: https://github.com/cgarwood +[@cgtobi]: https://github.com/cgtobi +[@chemelli74]: https://github.com/chemelli74 +[@cmroche]: https://github.com/cmroche +[@ctalkington]: https://github.com/ctalkington +[@czechmark]: https://github.com/czechmark +[@dcnielsen90]: https://github.com/dcnielsen90 +[@dcnoren]: https://github.com/dcnoren +[@dgomes]: https://github.com/dgomes +[@dmonego]: https://github.com/dmonego +[@doudz]: https://github.com/doudz +[@edomat]: https://github.com/edomat +[@effelle]: https://github.com/effelle +[@emlove]: https://github.com/emlove +[@emontnemery]: https://github.com/emontnemery +[@epenet]: https://github.com/epenet +[@epleypa]: https://github.com/epleypa +[@erogleva]: https://github.com/erogleva +[@exxamalte]: https://github.com/exxamalte +[@felipediel]: https://github.com/felipediel +[@frenck]: https://github.com/frenck +[@gtdiehl]: https://github.com/gtdiehl +[@gwww]: https://github.com/gwww +[@hmmbob]: https://github.com/hmmbob +[@hunterjm]: https://github.com/hunterjm +[@janiversen]: https://github.com/janiversen +[@jaydesl]: https://github.com/jaydesl +[@jcalbert]: https://github.com/jcalbert +[@jjlawren]: https://github.com/jjlawren +[@jkeljo]: https://github.com/jkeljo +[@joshuaboniface]: https://github.com/joshuaboniface +[@jsloyer]: https://github.com/jsloyer +[@lindsaymarkward]: https://github.com/lindsaymarkward +[@liudger]: https://github.com/liudger +[@ludeeus]: https://github.com/ludeeus +[@manuel-jrs]: https://github.com/manuel-jrs +[@marvin-w]: https://github.com/marvin-w +[@mdonoughe]: https://github.com/mdonoughe +[@mezz64]: https://github.com/mezz64 +[@mib1185]: https://github.com/mib1185 +[@michaeldavie]: https://github.com/michaeldavie +[@nzapponi]: https://github.com/nzapponi +[@ollo69]: https://github.com/ollo69 +[@oncleben31]: https://github.com/oncleben31 +[@onkelbeh]: https://github.com/onkelbeh +[@oxygen0211]: https://github.com/oxygen0211 +[@palfrey]: https://github.com/palfrey +[@pattyland]: https://github.com/pattyland +[@pavoni]: https://github.com/pavoni +[@pszafer]: https://github.com/pszafer +[@pvizeli]: https://github.com/pvizeli +[@rajlaud]: https://github.com/rajlaud +[@raman325]: https://github.com/raman325 +[@randyxxl]: https://github.com/randyxxl +[@reaper7]: https://github.com/reaper7 +[@rikroe]: https://github.com/rikroe +[@ronanmu]: https://github.com/ronanmu +[@rrada]: https://github.com/rrada +[@sbyx]: https://github.com/sbyx +[@schachar]: https://github.com/schachar +[@scheric]: https://github.com/scheric +[@scop]: https://github.com/scop +[@sdague]: https://github.com/sdague +[@shbatm]: https://github.com/shbatm +[@shenxn]: https://github.com/shenxn +[@spacegaier]: https://github.com/spacegaier +[@springstan]: https://github.com/springstan +[@syssi]: https://github.com/syssi +[@taiyeoguns]: https://github.com/taiyeoguns +[@tetienne]: https://github.com/tetienne +[@thecode]: https://github.com/thecode +[@tim-werner]: https://github.com/tim-werner +[@tkdrob]: https://github.com/tkdrob +[@ttuffin]: https://github.com/ttuffin +[@ubergeek801]: https://github.com/ubergeek801 +[@uvjustin]: https://github.com/uvjustin +[@walthowd]: https://github.com/walthowd +[@wouterbaake]: https://github.com/wouterbaake +[@yuvalabou]: https://github.com/yuvalabou +[@zxdavb]: https://github.com/zxdavb +[airvisual docs]: /integrations/airvisual/ +[alarmdecoder docs]: /integrations/alarmdecoder/ +[amazon_polly docs]: /integrations/amazon_polly/ +[androidtv docs]: /integrations/androidtv/ +[apns docs]: /integrations/apns/ +[arwn docs]: /integrations/arwn/ +[asuswrt docs]: /integrations/asuswrt/ +[august docs]: /integrations/august/ +[automation docs]: /integrations/automation/ +[avea docs]: /integrations/avea/ +[axis docs]: /integrations/axis/ +[binary_sensor docs]: /integrations/binary_sensor/ +[bmw_connected_drive docs]: /integrations/bmw_connected_drive/ +[braviatv docs]: /integrations/braviatv/ +[broadlink docs]: /integrations/broadlink/ +[bsblan docs]: /integrations/bsblan/ +[cast docs]: /integrations/cast/ +[cloud docs]: /integrations/cloud/ +[color_extractor docs]: /integrations/color_extractor/ +[colorthief docs]: /integrations/colorthief/ +[config docs]: /integrations/config/ +[debugpy docs]: /integrations/debugpy/ +[device_tracker docs]: /integrations/device_tracker/ +[devolo_home_control docs]: /integrations/devolo_home_control/ +[dexcom docs]: /integrations/dexcom/ +[directv docs]: /integrations/directv/ +[dsmr docs]: /integrations/dsmr/ +[dyson docs]: /integrations/dyson/ +[eight_sleep docs]: /integrations/eight_sleep/ +[elkm1 docs]: /integrations/elkm1/ +[enigma2 docs]: /integrations/enigma2/ +[enphase_envoy docs]: /integrations/enphase_envoy/ +[environment_canada docs]: /integrations/environment_canada/ +[epson docs]: /integrations/epson/ +[esphome docs]: /integrations/esphome/ +[evohome docs]: /integrations/evohome/ +[flunearyou docs]: /integrations/flunearyou/ +[forked_daapd docs]: /integrations/forked_daapd/ +[fritz docs]: /integrations/fritz/ +[fritzbox docs]: /integrations/fritzbox/ +[fritzbox_callmonitor docs]: /integrations/fritzbox_callmonitor/ +[fritzbox_netmonitor docs]: /integrations/fritzbox_netmonitor/ +[frontend docs]: /integrations/frontend/ +[garmin_connect docs]: /integrations/garmin_connect/ +[gdacs docs]: /integrations/gdacs/ +[google_assistant docs]: /integrations/google_assistant/ +[google_pubsub docs]: /integrations/google_pubsub/ +[gree docs]: /integrations/gree/ +[group docs]: /integrations/group/ +[guardian docs]: /integrations/guardian/ +[hassio docs]: /integrations/hassio/ +[homeassistant docs]: /integrations/homeassistant/ +[homekit docs]: /integrations/homekit/ +[homekit_controller docs]: /integrations/homekit_controller/ +[homematicip_cloud docs]: /integrations/homematicip_cloud/ +[honeywell docs]: /integrations/honeywell/ +[ipma docs]: /integrations/ipma/ +[iqvia docs]: /integrations/iqvia/ +[isy994 docs]: /integrations/isy994/ +[jewish_calendar docs]: /integrations/jewish_calendar/ +[knx docs]: /integrations/knx/ +[lacrosse docs]: /integrations/lacrosse/ +[launch_library docs]: /integrations/launch_library/ +[lcn docs]: /integrations/lcn/ +[life360 docs]: /integrations/life360/ +[locative docs]: /integrations/locative/ +[logbook docs]: /integrations/logbook/ +[london_air docs]: /integrations/london_air/ +[lovelace docs]: /integrations/lovelace/ +[luftdaten docs]: /integrations/luftdaten/ +[lutron_caseta docs]: /integrations/lutron_caseta/ +[lw12wifi docs]: /integrations/lw12wifi/ +[media_extractor docs]: /integrations/media_extractor/ +[met docs]: /integrations/met/ +[mfi docs]: /integrations/mfi/ +[microsoft docs]: /integrations/microsoft/ +[miflora docs]: /integrations/miflora/ +[mochad docs]: /integrations/mochad/ +[modbus docs]: /integrations/modbus/ +[mpd docs]: /integrations/mpd/ +[mqtt docs]: /integrations/mqtt/ +[mqtt_statestream docs]: /integrations/mqtt_statestream/ +[nest docs]: /integrations/nest/ +[netatmo docs]: /integrations/netatmo/ +[netio docs]: /integrations/netio/ +[neurio_energy docs]: /integrations/neurio_energy/ +[notion docs]: /integrations/notion/ +[nx584 docs]: /integrations/nx584/ +[obihai docs]: /integrations/obihai/ +[octoprint docs]: /integrations/octoprint/ +[onewire docs]: /integrations/onewire/ +[onkyo docs]: /integrations/onkyo/ +[onvif docs]: /integrations/onvif/ +[opensky docs]: /integrations/opensky/ +[opentherm_gw docs]: /integrations/opentherm_gw/ +[openuv docs]: /integrations/openuv/ +[openweathermap docs]: /integrations/openweathermap/ +[ozw docs]: /integrations/ozw/ +[pi_hole docs]: /integrations/pi_hole/ +[pilight docs]: /integrations/pilight/ +[plant docs]: /integrations/plant/ +[plex docs]: /integrations/plex/ +[plugwise docs]: /integrations/plugwise/ +[profiler docs]: /integrations/profiler/ +[ptvsd docs]: /integrations/ptvsd/ +[python_script docs]: /integrations/python_script/ +[rachio docs]: /integrations/rachio/ +[rainforest_eagle docs]: /integrations/rainforest_eagle/ +[rainmachine docs]: /integrations/rainmachine/ +[recollect_waste docs]: /integrations/recollect_waste/ +[remote docs]: /integrations/remote/ +[rest docs]: /integrations/rest/ +[rfxtrx docs]: /integrations/rfxtrx/ +[risco docs]: /integrations/risco/ +[roku docs]: /integrations/roku/ +[roon docs]: /integrations/roon/ +[scsgate docs]: /integrations/scsgate/ +[sense docs]: /integrations/sense/ +[sentry docs]: /integrations/sentry/ +[sharkiq docs]: /integrations/sharkiq/ +[shelly docs]: /integrations/shelly/ +[shodan docs]: /integrations/shodan/ +[simplisafe docs]: /integrations/simplisafe/ +[sisyphus docs]: /integrations/sisyphus/ +[skybell docs]: /integrations/skybell/ +[smartthings docs]: /integrations/smartthings/ +[somfy docs]: /integrations/somfy/ +[sonarr docs]: /integrations/sonarr/ +[sonos docs]: /integrations/sonos/ +[spotify docs]: /integrations/spotify/ +[squeezebox docs]: /integrations/squeezebox/ +[ssdp docs]: /integrations/ssdp/ +[stream docs]: /integrations/stream/ +[synology_dsm docs]: /integrations/synology_dsm/ +[system_health docs]: /integrations/system_health/ +[tasmota docs]: /integrations/tasmota/ +[telegram_bot docs]: /integrations/telegram_bot/ +[template docs]: /integrations/template/ +[tibber docs]: /integrations/tibber/ +[tile docs]: /integrations/tile/ +[tradfri docs]: /integrations/tradfri/ +[tuya docs]: /integrations/tuya/ +[twilio docs]: /integrations/twilio/ +[unifi docs]: /integrations/unifi/ +[utility_meter docs]: /integrations/utility_meter/ +[vasttrafik docs]: /integrations/vasttrafik/ +[velbus docs]: /integrations/velbus/ +[velux docs]: /integrations/velux/ +[vera docs]: /integrations/vera/ +[vizio docs]: /integrations/vizio/ +[websocket_api docs]: /integrations/websocket_api/ +[wemo docs]: /integrations/wemo/ +[wirelesstag docs]: /integrations/wirelesstag/ +[wled docs]: /integrations/wled/ +[workday docs]: /integrations/workday/ +[xiaomi_aqara docs]: /integrations/xiaomi_aqara/ +[yeelight docs]: /integrations/yeelight/ +[zerproc docs]: /integrations/zerproc/ +[zha docs]: /integrations/zha/ +[zone docs]: /integrations/zone/ diff --git a/source/_redirects b/source/_redirects index f6aa6bcfbca..975a28dbe18 100644 --- a/source/_redirects +++ b/source/_redirects @@ -93,7 +93,6 @@ /components/alarm_control_panel.envisalink /integrations/envisalink /components/alarm_control_panel.homekit_controller /integrations/homekit_controller /components/alarm_control_panel.homematicip_cloud /integrations/homematicip_cloud -/components/alarm_control_panel.ialarm /integrations/ialarm /components/alarm_control_panel.lupusec /integrations/lupusec /components/alarm_control_panel.manual /integrations/manual /components/alarm_control_panel.manual_mqtt /integrations/manual_mqtt @@ -1435,7 +1434,6 @@ /components/hunterdouglas_powerview /integrations/hunterdouglas_powerview /components/hydrawise /integrations/hydrawise /components/hyperion /integrations/hyperion -/components/ialarm /integrations/ialarm /components/iaqualink /integrations/iaqualink /components/icloud /integrations/icloud /components/idteck_prox /integrations/idteck_prox diff --git a/source/images/blog/2020-11-0.118/grid-card.png b/source/images/blog/2020-11-0.118/grid-card.png new file mode 100644 index 00000000000..6cb2b1e8bce Binary files /dev/null and b/source/images/blog/2020-11-0.118/grid-card.png differ diff --git a/source/images/blog/2020-11-0.118/header-footer-editor.png b/source/images/blog/2020-11-0.118/header-footer-editor.png new file mode 100644 index 00000000000..b6e21eafd16 Binary files /dev/null and b/source/images/blog/2020-11-0.118/header-footer-editor.png differ diff --git a/source/images/blog/2020-11-0.118/logbook-card.png b/source/images/blog/2020-11-0.118/logbook-card.png new file mode 100644 index 00000000000..4b67b905849 Binary files /dev/null and b/source/images/blog/2020-11-0.118/logbook-card.png differ diff --git a/source/images/blog/2020-11-0.118/quickbar-navigate.png b/source/images/blog/2020-11-0.118/quickbar-navigate.png new file mode 100644 index 00000000000..8f264f893aa Binary files /dev/null and b/source/images/blog/2020-11-0.118/quickbar-navigate.png differ diff --git a/source/images/blog/2020-11-0.118/social.png b/source/images/blog/2020-11-0.118/social.png new file mode 100644 index 00000000000..d1d8c028d80 Binary files /dev/null and b/source/images/blog/2020-11-0.118/social.png differ diff --git a/source/images/blog/2020-11-0.118/supervisor-network.png b/source/images/blog/2020-11-0.118/supervisor-network.png new file mode 100644 index 00000000000..1bee0dc046d Binary files /dev/null and b/source/images/blog/2020-11-0.118/supervisor-network.png differ diff --git a/source/images/lovelace/lovelace_grid.png b/source/images/lovelace/lovelace_grid.png new file mode 100644 index 00000000000..d6e767dbd0a Binary files /dev/null and b/source/images/lovelace/lovelace_grid.png differ diff --git a/source/images/supported_brands/antifurto365-ialarm.png b/source/images/supported_brands/antifurto365-ialarm.png deleted file mode 100644 index e7ba2290cdc..00000000000 Binary files a/source/images/supported_brands/antifurto365-ialarm.png and /dev/null differ