diff --git a/_config.yml b/_config.yml index 2aeb3a197bc..aba8631a696 100644 --- a/_config.yml +++ b/_config.yml @@ -100,9 +100,9 @@ social: # Home Assistant release details current_major_version: 0 -current_minor_version: 107 -current_patch_version: 7 -date_released: 2020-03-25 +current_minor_version: 108 +current_patch_version: 0 +date_released: 2020-04-08 # 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/sass/custom/_paulus.scss b/sass/custom/_paulus.scss index 09d7e804da7..a9fd38015af 100644 --- a/sass/custom/_paulus.scss +++ b/sass/custom/_paulus.scss @@ -345,6 +345,10 @@ article.post, article.page, article.listing { // Future re-design // margin: 1.5em 0 1rem; } + + details { + padding-bottom: 1em; + } } p.note, div.note { diff --git a/source/_docs/configuration/customizing-devices.markdown b/source/_docs/configuration/customizing-devices.markdown index 8db4c27b143..b4eaa8182ba 100644 --- a/source/_docs/configuration/customizing-devices.markdown +++ b/source/_docs/configuration/customizing-devices.markdown @@ -40,11 +40,6 @@ hidden: required: false type: boolean default: false -emulated_hue_hidden: - description: Set to `true` to hide the entity from `emulated_hue` (this will be deprecated in the near future and should be configured in [`emulated_hue`](/integrations/emulated_hue)). - required: false - type: boolean - default: false entity_picture: description: URL to use as picture for entity. required: false diff --git a/source/_docs/mqtt/discovery.markdown b/source/_docs/mqtt/discovery.markdown index 80a80e20815..cdee9b31d7e 100644 --- a/source/_docs/mqtt/discovery.markdown +++ b/source/_docs/mqtt/discovery.markdown @@ -61,14 +61,6 @@ The discovery topic need to follow a specific format: The payload must be a JSON dictionary and will be checked like an entry in your `configuration.yaml` file if a new device is added. This means that missing variables will be filled with the platform's default values. All configuration variables which are *required* must be present in the initial payload send to `/config`. -If the integration is `alarm_control_panel`, `binary_sensor`, or `sensor` and the mandatory `state_topic` is not present in the payload, `state_topic` will be automatically set to: - -```text -//[/]/state -``` - -The automatic setting of `state_topic` is deprecated and may be removed in a future version of Home Assistant. - An empty payload will cause a previously discovered device to be deleted. The `` level can be used by clients to only subscribe to their own (command) topics by using one wildcard topic like `/+//+/set`. diff --git a/source/_integrations/airly.markdown b/source/_integrations/airly.markdown index 6dee218c8fd..922b78da408 100644 --- a/source/_integrations/airly.markdown +++ b/source/_integrations/airly.markdown @@ -11,7 +11,7 @@ ha_codeowners: ha_domain: airly --- -The `airly` integration uses the [Airly](https://airly.eu/) web service as a source for air quality data for your location. +The `airly` integration uses the [Airly](https://airly.eu/) web service as a source for air quality data for your location. ## Setup @@ -19,26 +19,10 @@ To generate an Airly API key, go to [Airly for developers](https://developer.air ## Configuration -To add Airly to your installation, go to **Configuration** >> **Integrations** in the UI and enable the Airly integration. By default, the values will be taken from the Home Assistant configuration. +To add Airly to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Airly**. By default, the values will be taken from the Home Assistant configuration. -{% configuration %} -api_key: - description: The Airly API key. - required: true - type: string -name: - description: Manually specify Name. - required: false - type: string - default: Airly -latitude: - description: Manually specify latitude. - required: false - type: float - default: Provided by Home Assistant configuration -longitude: - description: Manually specify longitude. - required: false - type: float - default: Provided by Home Assistant configuration -{% endconfiguration %} +
+ +Airly allows 100 data updates per day. For this reason, the more Airly instances configured, the less frequent updates will be. For one configured Airly instance, data will be updated every 15 minutes, for two configured instances, data will be updated every 30 minutes, for three configured instances, data will be updated every 45 minutes, etc. + +
diff --git a/source/_integrations/alarm_control_panel.template.markdown b/source/_integrations/alarm_control_panel.template.markdown index 896be69bd45..ebaa5efcad6 100644 --- a/source/_integrations/alarm_control_panel.template.markdown +++ b/source/_integrations/alarm_control_panel.template.markdown @@ -73,7 +73,7 @@ panels: type: string default: Template Alarm Control Panel value_template: - description: "Defines a template to set the state of the alarm panel. Only the states `armed_away`, `armed_home`, `armed_night`, `disarmed`, `triggered` and `unavailable` are used." + description: "Defines a template to set the state of the alarm panel. Only the states `armed_away`, `armed_home`, `armed_night`, `disarmed`, `pending`, `triggered` and `unavailable` are used." required: false type: template disarm: diff --git a/source/_integrations/alarmdecoder.markdown b/source/_integrations/alarmdecoder.markdown index 4f34e36f8a8..2e4902eeb76 100644 --- a/source/_integrations/alarmdecoder.markdown +++ b/source/_integrations/alarmdecoder.markdown @@ -82,10 +82,15 @@ panel_display: default: false type: boolean autobypass: - description: "If this is set to `true`, then when arming (home or away), it will automatically bypass all open zones (sending '6#')." + description: "If this is set to `true`, then when arming (home or away), it will automatically bypass all open zones (sending '6#'). This will require your code to be entered even if `code_arm_required` is set to `false`." required: false default: false type: boolean +code_arm_required: + description: "If this is set to `false`, you will not need to enter your code to arm the system." + required: false + default: true + type: boolean zones: description: "AlarmDecoder has no way to tell us which zones are actually in use, so each zone must be configured in Home Assistant. For each zone, at least a name must be given. For more information on the available zone types, take a look at the [Binary Sensor](/integrations/alarmdecoder) documentation. *Note: If no zones are specified, Home Assistant will not load any binary_sensor integrations.*" required: false @@ -131,6 +136,7 @@ There are several attributes available on the alarm panel to give you more infor - `programming_mode`: Set to `true` if your system is in programming mode. - `ready`: Set to `true` if your system is ready to be armed. Any faults, including motions sensors, will make this value `false`. - `zone_bypassed`: Set to `true` if your system is currently bypassing a zone. +- `code_arm_required`: Set to the value specified in your configuration. ## Services diff --git a/source/_integrations/alarmdotcom.markdown b/source/_integrations/alarmdotcom.markdown deleted file mode 100644 index 691b952bfe4..00000000000 --- a/source/_integrations/alarmdotcom.markdown +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: Alarm.com -description: Instructions on how to integrate Alarm.com into Home Assistant. -logo: alarmdotcom.png -ha_category: - - Alarm -ha_release: 0.11 -ha_domain: alarmdotcom ---- - -The `alarmdotcom` platform is consuming the information provided by [Alarm.com](https://www.alarm.com/). - -## Configuration - -To enable this, add the following lines to your `configuration.yaml`: - -```yaml -# Example configuration.yaml entry -alarm_control_panel: - platform: alarmdotcom - username: YOUR_USERNAME - password: YOUR_PASSWORD -``` - -{% configuration %} -username: - description: Username for the Alarm.com account. - required: true - type: string -password: - description: Password for the Alarm.com account. - required: true - type: string -name: - description: The name of the alarm. - required: false - default: Alarm.com - type: string -code: - description: Specifies a code to enable or disable the alarm in the frontend. - required: false - type: integer -{% endconfiguration %} - -
- Please make sure that your alarm.com language is set to English before open any issue. -
diff --git a/source/_integrations/alexa.smart_home.markdown b/source/_integrations/alexa.smart_home.markdown index 4bebccb7693..2dd0ed9c5ff 100644 --- a/source/_integrations/alexa.smart_home.markdown +++ b/source/_integrations/alexa.smart_home.markdown @@ -413,6 +413,7 @@ The following integrations are currently supported: - [Binary Sensor](#binary-sensor) - [Doorbell Announcement](#doorbell-announcement) - [Presence Detection](#presence-detection-with-binary-sensor) +- [Camera](#camera) - [Climate](#climate) - [Cover](#cover) - [Garage Doors](#garage-doors) @@ -570,6 +571,18 @@ Each Echo device will need the communication and Announcements setting enabled, [Image Processing](#image-processing) entities also support this notification. +### Camera + +View a camera stream on an Amazon echo device. + +- _"Alexa, show the front door camera."_ + +The [`stream`](/integrations/stream/) integration is required to stream cameras to Amazon echo devices. + +The Amazon echo device will request the camera stream from Home Assistant. The Home Assistant URL must be accessible from the network the Amazon echo device is connected to and must support HTTPS on port 443 with a certificate signed by [an Amazon approved certificate authority](https://ccadb-public.secure.force.com/mozilla/IncludedCACertificateReport). These requirements can be satisfied with Home Assistant Cloud, or LetsEncrypt/DuckDNS. + +Enable preload stream option for cameras used with echo devices to reduce response time, and prevent timing out before the 6 second limit. + ### Climate Single, double, and triple set-point thermostats are supported. The temperature value from the thermostat will also be exposed at a separate [temperature sensor](#sensor). diff --git a/source/_integrations/amcrest.markdown b/source/_integrations/amcrest.markdown index a12798a46e1..b74cc6a8cfb 100644 --- a/source/_integrations/amcrest.markdown +++ b/source/_integrations/amcrest.markdown @@ -1,6 +1,6 @@ --- title: Amcrest -description: Instructions on how to integrate Amcrest IP cameras within Home Assistant. +description: Instructions on how to integrate Amcrest (or Dahua) IP cameras within Home Assistant. logo: amcrest.png ha_category: - Hub @@ -14,7 +14,7 @@ ha_codeowners: ha_domain: amcrest --- -The `amcrest` camera platform allows you to integrate your [Amcrest](https://amcrest.com/) IP camera in Home Assistant. +The `amcrest` camera platform allows you to integrate your [Amcrest](https://amcrest.com/) or Dahua IP camera in Home Assistant. There is currently support for the following device types within Home Assistant: @@ -153,7 +153,8 @@ Available services: `enable_motion_recording`, `disable_motion_recording`, `enable_recording`, `disable_recording`, `goto_preset`, `set_color_bw`, -`start_tour` and `stop_tour` +`start_tour`, `stop_tour`, and +`ptz_control` #### Service `enable_audio`/`disable_audio` @@ -161,7 +162,7 @@ These services enable or disable the camera's audio stream. Service data attribute | Optional | Description -|-|- -`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`. +`entity_id` | no | The entity ID of the camera to control. May be a list of multiple entity IDs. To target all cameras, set entity ID to `all`. #### Service `enable_motion_recording`/`disable_motion_recording` @@ -169,7 +170,7 @@ These services enable or disable the camera to record a clip to its configured s Service data attribute | Optional | Description -|-|- -`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`. +`entity_id` | no | The entity ID of the camera to control. May be a list of multiple entity IDs. To target all cameras, set entity ID to `all`. #### Service `enable_recording`/`disable_recording` @@ -177,7 +178,7 @@ These services enable or disable the camera to continuously record to its config Service data attribute | Optional | Description -|-|- -`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`. +`entity_id` | no | The entity ID of the camera to control. May be a list of multiple entity IDs. To target all cameras, set entity ID to `all`. #### Service `goto_preset` @@ -185,7 +186,7 @@ This service will cause the camera to move to one of the PTZ locations configure Service data attribute | Optional | Description -|-|- -`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`. +`entity_id` | no | The entity ID of the camera to control. May be a list of multiple entity IDs. To target all cameras, set entity ID to `all`. `preset` | no | Preset number, starting from 1. #### Service `set_color_bw` @@ -194,7 +195,7 @@ This service will set the color mode of the camera. Service data attribute | Optional | Description -|-|- -`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`. +`entity_id` | no | The entity ID of the camera to control. May be a list of multiple entity IDs. To target all cameras, set entity ID to `all`. `color_bw` | no | One of `auto`, `bw` or `color`. #### Service `start_tour`/`stop_tour` @@ -203,7 +204,153 @@ These services start or stop the camera's PTZ tour function. Service data attribute | Optional | Description -|-|- -`entity_id` | no | Name(s) of entities, e.g., `camera.living_room_camera`. +`entity_id` | no | The entity ID of the camera to control. May be a list of multiple entity IDs. To target all cameras, set entity ID to `all`. + +#### Service `ptz_control` + +If your Amcrest or Dahua camera supports PTZ, you will be able to pan, tilt or zoom your camera. + +Service data attribute | Optional | Description +-|-|- + `entity_id` | no| The entity ID of the camera to control. May be a list of multiple entity IDs. To target all cameras, set entity ID to `all`. + `movement` | no | Direction of the movement. Allowed values: `zoom_in`, `zoom_out`, `up`, `down`, `left`, `right`, `right_up`, `right_down`, `left_up`, `left_down` + `travel_time` | yes |Travel time in fractional seconds. Allowed values: `0` to `1`. Default: `0.2`. + +#### Notes + +- PTZ zoom capability does not control VariFocal lens adjustments. +- There can be several seconds of lag before the video (snapshot or live) reflects the camera movement. + +### Example card with controls + +

+ Screenshot using a picture-elements with PTZ controls. + Example showing an Amcrest IP2M-841 PT camera with controls for Pan and Tilt. +

+ +Using the following picture-elements card code, you can display a live video feed from an Amcrest camera with controls for moving or zooming the camera. + +```yaml +type: picture-elements +entity: camera.lakehouse +camera_image: camera.lakehouse +camera_view: live # or auto for snapshot view +elements: + - type: icon + icon: 'mdi:arrow-up' + style: + background: 'rgba(255, 255, 255, 0.25)' + right: 25px + bottom: 50px + tap_action: + action: call-service + service: amcrest.ptz_control + service_data: + entity_id: camera.lakehouse + movement: up + - type: icon + icon: 'mdi:arrow-down' + style: + background: 'rgba(255, 255, 255, 0.25)' + right: 25px + bottom: 0px + tap_action: + action: call-service + service: amcrest.ptz_control + service_data: + entity_id: camera.lakehouse + movement: down + - type: icon + icon: 'mdi:arrow-left' + style: + background: 'rgba(255, 255, 255, 0.25)' + right: 50px + bottom: 25px + tap_action: + action: call-service + service: amcrest.ptz_control + service_data: + entity_id: camera.lakehouse + movement: left + - type: icon + icon: 'mdi:arrow-right' + style: + background: 'rgba(255, 255, 255, 0.25)' + right: 0px + bottom: 25px + tap_action: + action: call-service + service: amcrest.ptz_control + service_data: + entity_id: camera.lakehouse + movement: right + - type: icon + icon: 'mdi:arrow-top-left' + style: + background: 'rgba(255, 255, 255, 0.25)' + right: 50px + bottom: 50px + tap_action: + action: call-service + service: amcrest.ptz_control + service_data: + entity_id: camera.lakehouse + movement: left_up + - type: icon + icon: 'mdi:arrow-top-right' + style: + background: 'rgba(255, 255, 255, 0.25)' + right: 0px + bottom: 50px + tap_action: + action: call-service + service: amcrest.ptz_control + service_data: + entity_id: camera.lakehouse + movement: right_up + - type: icon + icon: 'mdi:arrow-bottom-left' + style: + background: 'rgba(255, 255, 255, 0.25)' + right: 50px + bottom: 0px + tap_action: + action: call-service + service: amcrest.ptz_control + service_data: + entity_id: camera.lakehouse + movement: left_down + - type: icon + icon: 'mdi:arrow-bottom-right' + style: + background: 'rgba(255, 255, 255, 0.25)' + right: 0px + bottom: 0px + tap_action: + action: call-service + service: amcrest.ptz_control + service_data: + entity_id: camera.lakehouse + movement: right_down + - type: icon + icon: 'mdi:magnify' + style: + background: 'rgba(255, 255, 255, 0.25)' + bottom: 25px + right: 25px + tap_action: + action: call-service + service: amcrest.ptz_control + service_data: + entity_id: camera.lakehouse + movement: zoom_in + hold_action: + action: call-service + service: amcrest.ptz_control + service_data: + entity_id: camera.lakehouse + movement: zoom_out +``` ## Advanced Configuration diff --git a/source/_integrations/bmp280.markdown b/source/_integrations/bmp280.markdown new file mode 100644 index 00000000000..6007b19c613 --- /dev/null +++ b/source/_integrations/bmp280.markdown @@ -0,0 +1,48 @@ +--- +title: Bosch BMP280 Environmental Sensor +description: Instructions on how to integrate a BMP280 sensor into Home Assistant. +ha_release: 0.108 +logo: raspberry-pi.png +ha_category: + - DIY +ha_iot_class: Local Polling +ha_quality_scale: silver +ha_code_owners: + - '@belidzs' +--- + +The `bmp280` sensor platform allows you to read temperature and pressure values of a [Bosch BMP280 Environmental sensor](https://www.bosch-sensortec.com/products/environmental-sensors/pressure-sensors/pressure-sensors-bmp280-1.html) connected via [I2C](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins). + +This integration has been tested on a Raspberry Pi 4B, but it should work on any device which is supported by [CircuitPython](https://circuitpython.org/). + +## Configuration + +To use a BMP280 sensor in your installation, you have to enable I2C on your host device then configure the integration using the following example: + +```yaml +sensor: + - platform: bmp280 + - i2c_address: 0x77 +``` + +{% configuration %} +name: + description: The name of the sensor. + required: false + default: BMP280 + type: string +i2c_address: + description: I2C address of the sensor. It is either 0x76 or 0x77, depending on your actual wiring configuration. + required: true + type: integer +{% endconfiguration %} + +## Setting up the I2C interface on the host device + +To get more information on how to set up the I2C interface on your Raspberry Pi, please refer to the [BME680 sensor integration](/integrations/bme680/#directions-for-installing-smbus-support-on-raspberry-pi). + +## Choosing the appropriate I2C address + +Please note that the I2C address of this device depends on the state of the `SDO` pin. If it is pulled down (to the `GND` rail) it will be `0x76`, if it's pulled up (to the `VCC` rail) it will be `0x77`. + +If you leave it floating then the address will be unpredictable or even worse, it can change over time. So it is recommended to hook up this pin to either the positive or the negative rail of your host device. diff --git a/source/_integrations/brother.markdown b/source/_integrations/brother.markdown index 8b753af7203..33ce95074f8 100644 --- a/source/_integrations/brother.markdown +++ b/source/_integrations/brother.markdown @@ -9,6 +9,7 @@ ha_config_flow: true ha_codeowners: - '@bieniu' ha_domain: brother +ha_quality_scale: platinum --- The `Brother Printer` integration allows you to read current data from your local Brother printer. diff --git a/source/_integrations/camera.mqtt.markdown b/source/_integrations/camera.mqtt.markdown index 7565c0fe27a..f49f809ceb9 100644 --- a/source/_integrations/camera.mqtt.markdown +++ b/source/_integrations/camera.mqtt.markdown @@ -24,6 +24,10 @@ camera: ``` {% configuration %} +availability_topic: + description: The MQTT topic subscribed to receive availability (online/offline) updates. + required: false + type: string device: description: "Information about the device this camera is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set." required: false @@ -57,6 +61,14 @@ device: description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.' required: false type: string +json_attributes_template: + description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`." + required: false + type: template +json_attributes_topic: + description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Implies `force_update` of the current sensor state when a message is received on this topic. + required: false + type: string name: description: The name of the camera. required: false diff --git a/source/_integrations/cover.markdown b/source/_integrations/cover.markdown index d3e9901c3f7..344ef566838 100644 --- a/source/_integrations/cover.markdown +++ b/source/_integrations/cover.markdown @@ -23,6 +23,7 @@ The way these sensors are displayed in the frontend can be modified in the [cust - **damper**: Control of a mechanical damper that reduces airflow, sound, or light. - **door**: Control of a door or gate that provides access to an area. - **garage**: Control of a garage door that provides access to a garage. +- **gate**: Control of a gate. Gates are found outside of a structure and are typically part of a fence. - **shade**: Control of shades, which are a continuous plane of material or connected cells that expanded or collapsed over an opening, such as window shades. - **shutter**: Control of shutters, which are linked slats that swing out/in to covering an opening or may be tilted to partially cover an opening, such as indoor or exterior window shutters. - **window**: Control of a physical window that opens and closes or may tilt. diff --git a/source/_integrations/doorbird.markdown b/source/_integrations/doorbird.markdown index e1c3a91d216..c2f39708de3 100644 --- a/source/_integrations/doorbird.markdown +++ b/source/_integrations/doorbird.markdown @@ -7,8 +7,10 @@ ha_category: - Switch ha_release: 0.54 ha_iot_class: Local Push +ha_config_flow: true ha_codeowners: - '@oblogic7' + - '@bdraco' ha_domain: doorbird --- @@ -30,7 +32,9 @@ It is recommended to set up a new account on your Doorbird App for use with Home ## Configuration -To connect your device, add the following to your `configuration.yaml` file: +To add `DoorBird` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **DoorBird**. + +Alternatively, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/elkm1.markdown b/source/_integrations/elkm1.markdown index 7ec06d6f0ad..70493e5f8a9 100644 --- a/source/_integrations/elkm1.markdown +++ b/source/_integrations/elkm1.markdown @@ -12,6 +12,9 @@ ha_category: - Switch ha_iot_class: Local Push ha_domain: elkm1 +ha_config_flow: true +ha_codeowners: + - '@bdraco' --- The Elk-M1 is a home security and automation controller that is capable of alarm control panel functions and automation. @@ -29,8 +32,9 @@ There is currently support for the following device types within Home Assistant: ## Configuration -To integrate one or more Elk-M1 controllers with Home Assistant, add the following -section to your `configuration.yaml` file: +To add `ElkM1` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Elk-M1 Control**. + +Alternatively, add the following section to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -63,6 +67,11 @@ temperature_unit: required: false type: string default: F +auto_configure: + description: Auto configure `area`, `counter`, `keypad`, `output`, `setting`, `task`, `thermostat`, `plc`, and `zone` by only adding elements that ElkM1 reports on the initial sync. + required: false + type: boolean + default: False area: description: Elk areas to include in Home Assistant. required: false @@ -270,6 +279,16 @@ elkm1: exclude: [b12-d5] ``` +Example configuration using `auto_configure`: + +```yaml +elkm1: + host: elks://IP_ADDRESS + username: USERNAME + password: PASSWORD + auto_configure: true +``` + Example for a serial port instance on /dev/ttyUSB0 at 115200 baud: ```yaml diff --git a/source/_integrations/freebox.markdown b/source/_integrations/freebox.markdown index 226b9ea1e19..e12e7e4f2a5 100644 --- a/source/_integrations/freebox.markdown +++ b/source/_integrations/freebox.markdown @@ -10,6 +10,8 @@ ha_release: 0.85 ha_iot_class: Local Polling ha_codeowners: - '@snoof85' + - '@Quentame' +ha_config_flow: true ha_domain: freebox --- @@ -17,15 +19,26 @@ The `freebox` integration allows you to observe and control [Freebox router](htt There is currently support for the following device types within Home Assistant: -* [Sensor](#sensor) with traffic metrics +* [Sensor](#sensor) with traffic and temperature metrics * [Device tracker](#presence-detection) for connected devices * [Switch](#switch) to control Wi-Fi ## Configuration -If you have enabled the [discovery component](/integrations/discovery/), -your Freebox should be detected automatically. Otherwise, you can set it -up manually in your `configuration.yaml` file: +If you have enabled the [discovery integration](/integrations/discovery/), your Freebox should be detected automatically. +Otherwise, you can set it up manually via the frontend or via your `configuration.yaml` file. + +You can find out your Freebox host and port by opening this address in your browser. +The returned JSON should contain an `api_domain` (`host`) and a `https_port` (`port`). +Please consult the [API documentation](https://dev.freebox.fr/sdk/os/) for more information. + +### Via the frontend + +Menu: **Configuration** -> **Integrations**. Search for "Freebox", add your host and port, click submit. + +If you add the integration for the first time, follow the instructions in the [Initial setup](#initial-setup) section. + +### Via the configuration file ```yaml freebox: @@ -44,28 +57,23 @@ port: type: string {% endconfiguration %} -You can find out your Freebox host and port by opening the address in your browser. The -returned JSON should contain an `api_domain` (`host`) and a `https_port` (`port`). -Please consult the [API documentation](https://dev.freebox.fr/sdk/os/) for more information. -
-If you change your Freebox router for a new one, you need to delete the `freebox.conf` file located in your Home Assistant configuration directory to make the association again. + If you change your Freebox router for a new one, go into your Home Assistant configuration `.storage` folder and delete the "freebox" folder, then add the integration again.
### Initial setup
-You must have set a password for your Freebox router web administration page. Enable the option "Permettre les nouvelles demandes d'associations" and check that the option "Accès à distance sécurisé à Freebox OS" is active in "Gestion des ports" > "Connexions entrantes". + + You must have set a password for your Freebox router web administration page. Enable the option "Permettre les nouvelles demandes d'associations" and check that the option "Accès à distance sécurisé à Freebox OS" is active in "Gestion des ports" > "Connexions entrantes". +
-The first time Home Assistant will connect to your Freebox, you will need to -authorize it by pressing the right arrow on the facade of the Freebox when -prompted to do so. +The first time Home Assistant will connect to your Freebox, you will need to authorize it by pressing the right arrow on the facade of the Freebox when prompted to do so. -To make the Wi-Fi switch and the reboot service working you will have to add "Modification des réglages de la Freebox -" permission to Home Assistant application in "Paramètres de la Freebox" > "Gestion des accès" > "Applications". +To make the Wi-Fi switch and the reboot service working you will have to add "Modification des réglages de la Freebox" permission to Home Assistant application in "Paramètres de la Freebox" > "Gestion des accès" > "Applications". ### Supported routers @@ -77,8 +85,7 @@ Only the routers with Freebox OS are supported: ## Presence Detection -This platform offers presence detection by keeping track of the -devices connected to a [Freebox](https://www.free.fr/) router. +This platform offers presence detection by keeping track of the devices connected to a [Freebox](https://www.free.fr/) router. ### Notes @@ -93,8 +100,8 @@ refreshes the devices states. ## Sensor -This platform offers you sensors to monitor a Freebox router. The monitored conditions are -instant upload and download rates in KB/s. +This platform offers you sensors to monitor a Freebox router. +The monitored conditions are internal temperature and upload and download rates in KB/s. ## Service diff --git a/source/_integrations/garmin_connect.markdown b/source/_integrations/garmin_connect.markdown index dc2b034fad4..62fba593bb0 100644 --- a/source/_integrations/garmin_connect.markdown +++ b/source/_integrations/garmin_connect.markdown @@ -104,4 +104,14 @@ Latest Respiration Update Highest Respiration Lowest Respiration Latest Respiration + +Weight +BMI +Body Fat +Body Water +Body Mass +Muscle Mass +Physique Rating +Visceral Fat +Metabolic Age ``` diff --git a/source/_integrations/harmony.markdown b/source/_integrations/harmony.markdown index 7c0064f616d..5038e5b4b74 100644 --- a/source/_integrations/harmony.markdown +++ b/source/_integrations/harmony.markdown @@ -5,8 +5,11 @@ ha_category: - Remote ha_iot_class: Local Push ha_release: 0.34 +ha_config_flow: true ha_codeowners: - '@ehendrix23' + - '@bramkragten' + - '@bdraco' ha_domain: harmony --- @@ -18,10 +21,13 @@ Supported units: - Harmony Companion - Harmony Pro - Harmony Elite +- Harmony Pro 2400 -The preferred way to setup the Harmony remote is by enabling the [discovery component](/integrations/discovery/). +The preferred way to setup the Harmony remote for your installation is via **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Logitech Harmony Hub**. -However, if you want to manually configure the device, you will need to add its settings to your `configuration.yaml` file: +Once `Logitech Harmony Hub` has been configured, the default activity and duration in seconds between sending commands to a device can be adjusted in the settings via **Configuration** >> **Integrations** >> **Your Logitech Harmony Hub** + +Alternatively, if you want to manually configure the device, you will need to add its settings to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -29,14 +35,6 @@ remote: - platform: harmony name: Bedroom host: 10.168.1.13 -``` - -You can override some default configuration values on a discovered hub (e.g., the `port` or `activity`) by adding a `configuration.yaml` setting. In this case leave the `host` setting empty so the platform will discover the host IP automatically, but set the `name` in the configuration to match exactly the name you have set for your Hub so the platform knows what Hub you are trying to configure. - -```yaml -# Example configuration.yaml entry with discovery - - platform: harmony - name: Living Room activity: Watch TV ``` @@ -47,13 +45,8 @@ name: type: string host: description: The Harmony device's IP address. Leave empty for the IP to be discovered automatically. - required: false + required: true type: string -port: - description: The Harmony device's port. - required: false - type: integer - default: 5222 activity: description: Activity to use when `turn_on` service is called without any data. Overrides the `activity` setting for this discovered hub. required: false @@ -63,16 +56,11 @@ delay_secs: required: false type: float default: 0.4 -hold_secs: - description: Default duration in seconds between sending the "press" command and sending the "release" command. - required: false - type: integer - default: 0 {% endconfiguration %} ### Configuration file -Upon startup one file will be written to your Home Assistant configuration directory per device in the following format: `harmony_REMOTENAME.conf`. The file will contain: +Upon startup one file will be written to your Home Assistant configuration directory per device in the following format: `harmony_UNIQUE_ID.conf`. The file will contain: - List of all programmed activity names and ID numbers - List of all programmed device names and ID numbers diff --git a/source/_integrations/here_travel_time.markdown b/source/_integrations/here_travel_time.markdown index a9c3576a26f..fc28c2f3785 100644 --- a/source/_integrations/here_travel_time.markdown +++ b/source/_integrations/here_travel_time.markdown @@ -89,6 +89,15 @@ traffic_mode: required: false type: boolean default: false +arrival: + description: "Time when travel is expected to end. A 24 hour time string like `08:00:00`. On a sensor update it will be combined with the current date to get travel time for that moment. Cannot be used in combination with `departure`. Can only be used in combination with `mode: publicTransportTimeTable`" + required: false + type: time +departure: + description: "Time when travel is expected to end. A 24 hour time string like `08:00:00`. On a sensor update it will be combined with the current date to get travel time for that moment. Cannot be used in combination with `arrival`. The default is now (the current date and time)" + required: false + type: time + default: "now" unit_system: description: "You can choose between `metric` or `imperial`." required: false @@ -125,9 +134,8 @@ sensor: route_mode: fastest traffic_mode: false unit_system: imperial + departure: "17:00:00" scan_interval: 2678400 # 1 month - - ``` ## Entity Tracking diff --git a/source/_integrations/homekit_controller.markdown b/source/_integrations/homekit_controller.markdown index 203969b0b1d..f7ead7e9eae 100644 --- a/source/_integrations/homekit_controller.markdown +++ b/source/_integrations/homekit_controller.markdown @@ -36,7 +36,7 @@ There is currently support for the following device types within Home Assistant: - Cover (HomeKit garage door openers, windows, or window coverings) - Light (HomeKit lights) - Lock (HomeKit lock) -- Switch (HomeKit switches) +- Switch (HomeKit switches, outlets and valves) - Binary Sensor (HomeKit motion, contact, occupancy and smoke sensors) - Sensor (HomeKit humidity, temperature, co2 and light level sensors) - Fan diff --git a/source/_integrations/hue.markdown b/source/_integrations/hue.markdown index 764620f7a22..f34f08c3879 100644 --- a/source/_integrations/hue.markdown +++ b/source/_integrations/hue.markdown @@ -20,6 +20,7 @@ There is currently support for the following device types within Home Assistant: - Lights - Motion sensors (including temperature and light level sensors) +- Hue switches (as device triggers for automations and also exposed as battery sensors when they are battery-powered) To set up this integration, click Configuration in the sidebar and then click Integrations. You should see "Philips Hue" in the discovered section (if you do not, click the + icon in the lower right and find Philips Hue). Click configure and you will be presented with the initiation dialog. This will prompt you to press the button on your Hue bridge to register the hub with Home Assistant. After you click submit, you will have the opportunity to select the area that your bridge is located. diff --git a/source/_integrations/ipp.md b/source/_integrations/ipp.md new file mode 100644 index 00000000000..9b1e5929e93 --- /dev/null +++ b/source/_integrations/ipp.md @@ -0,0 +1,21 @@ +--- +title: Internet Printing Protocol (IPP) +description: Instructions on how to integrate printers that support the Internet Printing Protocol (IPP) into Home Assistant. +ha_category: + - System Monitor +ha_release: 0.108 +ha_iot_class: Local Polling +ha_config_flow: true +ha_quality_scale: platinum +ha_codeowners: + - '@ctalkington' +ha_domain: ipp +--- + +The `Internet Printing Protocol (IPP)` integration allows you to read current data from your networked printer that supports the [Internet Printing Protocol](https://www.pwg.org/ipp/everywhere.html). + +It provides information about the printer's state and remaining ink levels. + +## Configuration + +To add `Internet Printing Protocol (IPP)` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Internet Printing Protocol (IPP)**. diff --git a/source/_integrations/kef.markdown b/source/_integrations/kef.markdown index fddf9941b9b..01f3c1348e6 100644 --- a/source/_integrations/kef.markdown +++ b/source/_integrations/kef.markdown @@ -74,7 +74,7 @@ supports_on: type: integer {% endconfiguration %} -## Advanced configuration example +## Advanced - configuration example ```yaml # Example configuration.yaml entry @@ -87,7 +87,90 @@ media_player: volume_step: 0.05 ``` -Notes: +## Services + +Just like in the KEF Control app, we can change the digital signal processing (DSP) settings. + +The speaker's current DSP settings are updated automatically each hour and after each service call. +To update the settings manually, use `kef.update_dsp`. + +### Service `kef.update_dsp` + +Update all DSP settings. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| entity_id | No | The entity_id of the KEF speaker. | + +### Service `kef.set_mode` + +Set the mode of the speaker. When optional attributes are left out, the setting will be unchanged. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| entity_id | No | The entity_id of the KEF speaker. | +| desk_mode | Yes | "Desk mode" (`true` or `false`) | +| wall_mode | Yes | "Wall mode" (`true` or `false`) | +| phase_correction | Yes | "Phase correction" (`true` or `false`) | +| high_pass | Yes | "High-pass mode" (`true` or `false`) | +| sub_polarity | Yes | "Sub polarity" (`-` or `+`) | +| bass_extension | Yes | "Bass extension" selector (`Less`, `Standard`, or `Extra`) | + +### Service `kef.set_desk_db` + +Set the "Desk mode" slider of the speaker in dB. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| entity_id | No | The entity_id of the KEF speaker. | +| db_value | No | Value of the slider (-6 to 0 with steps of 0.5) | + +### Service `kef.set_wall_db` + +Set the "Wall mode" slider of the speaker in dB. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| entity_id | No | The entity_id of the KEF speaker. | +| db_value | No | Value of the slider (-6 to 0 with steps of 0.5) | + +### Service `kef.set_treble_db` + +Set desk the "Treble trim" slider of the speaker in dB. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| entity_id | No | The entity_id of the KEF speaker. | +| db_value | No | Value of the slider (-2 to 2 with steps of 0.5) | + +### Service `kef.set_high_hz` + +Set the "High-pass mode" slider of the speaker in Hz. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| entity_id | No | The entity_id of the KEF speaker. | +| hz_value | No | Value of the slider (50 to 120 with steps of 5) | + +### Service `kef.set_low_hz` + +Set the "Sub out low-pass frequency" slider of the speaker in Hz. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| entity_id | No | The entity_id of the KEF speaker. | +| hz_value | No | Value of the slider (40 to 250 with steps of 5) | + +### Service `kef.set_sub_db` + +Set the "Sub gain" slider of the speaker in dB. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| entity_id | No | The entity_id of the KEF speaker. | +| db_value | No | Value of the slider (-10 to 10 with steps of 1) | + +## Notes - The LS50 Wireless was tested with the latest firmware of 19-11-2019: `p6.3001902221.105039422` and older firmware: `p6.2101809171.105039422` - The LSX Wireless was tested with the latest firmware of 10-10-2019 v4.1: `p20.4101909240.105243` diff --git a/source/_integrations/konnected.markdown b/source/_integrations/konnected.markdown index 5deef0df2fe..fe9c5e3cf52 100644 --- a/source/_integrations/konnected.markdown +++ b/source/_integrations/konnected.markdown @@ -65,23 +65,43 @@ The settings UI starts by having you configure the general behavior of each zone ##### Binary Sensor: **Binary Sensor Type:** The type of sensor connected to the zone. + **Name (optional)** The friendly name for the entity associated with the zone. + **Invert the open/close state:** Inverts the open/closed meaning of a binary sensor circuit. Commonly needed for normally open wired smoke alarm circuits. ##### Digital Sensor: **Sensor Type:** The type of sensor connected to the zone - either `dht` or `ds18b20`. + **Name (optional)** The friendly name for the entities associated with the zone. + **Poll Interval (optional):** How often in minutes to poll the sensor for updates. ##### Switchable Output: **Name: (optional)** The friendly name for the entity associated with the zone. + **Output when on:** The state of the switch when activated. + **Pulse Duration (optional):** The duration in ms to pulse the switch once activated. + **Pause between pulses (optional):** The duration in ms to wait between pulses when activated. + **Times to repeat (optional):** The number of times to repeat the pulse each time the switch is activated. +**Configure additional states for this zone:** Selecting "No" will complete configuration for the zone and proceed to options for the next zone. Select "Yes" if you need to create additional output states for this zone. + +#### Using Settings UI to Configure Additional Panel Behavior + +Once all zones are configured you'll be presented with the configuration for additional panel behaviors. + +**Blink panel LED on when sending state change:** The desired LED behavior for the panel. + +**Override default Home Assistant API host panel URL:** The Konnected Alarm Panel post sensor states back to the Home Assistant API. If this value is unchecked the panel will default postbacks using `base_url` in the `http` component. If you've set `base_url` to an external hostname, then you'll want to check this field and set the **Override API host URL** to your _local_ IP address and port (e.g., `http://192.168.1.101:8123`). + +**Override API host URL (optional):** The host info to use if you checked **Override default Home Assistant API host panel URL** in the step above. This is ignored if **Override default Home Assistant API host panel URL** is unchecked. + ### YAML Configuration If you prefer you can utilize a `konnected` section in the `configuration.yaml` file that specifies the Konnected devices on the network and the sensors or actuators attached to them. If using `configuration.yaml` the configuration will be one-time imported when going through the Configuration Flow for the panel. **Note that you must still complete the UI based setup before the integration will be configured and entities created/accessible.** @@ -313,6 +333,10 @@ Konnected runs on an ESP8266 board with the NodeMCU firmware. It is commonly use ## Revision History +### 0.108 + +- Multiple output states for a zone. Details on configuring additional panel behaviors via the UI. + ### 0.106 - Added information on configuration and options flow. Mention that alarm panel FW should be updated before connecting. diff --git a/source/_integrations/lutron.markdown b/source/_integrations/lutron.markdown index 5e01a05694b..f07a1aadda3 100644 --- a/source/_integrations/lutron.markdown +++ b/source/_integrations/lutron.markdown @@ -74,7 +74,7 @@ After setup, scenes will appear in Home Assistant using the area, keypad and but ## Occupancy Sensors -Any configured Powr Savr occuancy sensors will be added as occupancy binary sensors. Lutron reports occupancy for an area, rather than reporting individual sensors. Sensitivity and timeouts are controlled on the sensors themselves, not in software. +Any configured Powr Savr occupancy sensors will be added as occupancy binary sensors. Lutron reports occupancy for an area, rather than reporting individual sensors. Sensitivity and timeouts are controlled on the sensors themselves, not in software. ## Example Automations diff --git a/source/_integrations/lutron_caseta.markdown b/source/_integrations/lutron_caseta.markdown index f087344f856..a815ef68e44 100644 --- a/source/_integrations/lutron_caseta.markdown +++ b/source/_integrations/lutron_caseta.markdown @@ -9,22 +9,24 @@ ha_category: - Scene - Switch - Fan + - Binary Sensor ha_release: 0.41 ha_iot_class: Local Polling ha_domain: lutron_caseta --- -[Lutron](http://www.lutron.com/) is an American lighting control company. They have several lines of home automation devices that manage light switches, dimmers, occupancy sensors, HVAC controls, etc. The `lutron_caseta` integration in Home Assistant is responsible for communicating with the Lutron Caseta Smart Bridge for the [Caseta](https://www.casetawireless.com/) product line of dimmers, switches and shades. +[Lutron](http://www.lutron.com/) is an American lighting control company. They have several lines of home automation devices that manage light switches, dimmers, occupancy sensors, HVAC controls, etc. The `lutron_caseta` integration in Home Assistant is responsible for communicating with the Lutron Caseta Smart Bridge for the [Caseta](https://www.casetawireless.com/) product line of dimmers, switches, shades, and sensors. It will also communicate with the Lutron Radio RA2 Main Repeater for the [RA2 Select](http://www.lutron.com/en-US/Products/Pages/WholeHomeSystems/RA2Select/Overview.aspx) product line of dimmers, switches, shades, and sensors. -This integration only supports the [Caseta](https://www.casetawireless.com/) line of products. Both Smart Bridge (L-BDG2-WH) and Smart Bridge PRO (L-BDGPRO2-WH) models are supported. For the RadioRA 2 product line, see the [Lutron component](/integrations/lutron/). +This integration only supports the [Caseta](https://www.casetawireless.com/) line of products. The Smart Bridge (L-BDG2-WH), Smart Bridge PRO (L-BDGPRO2-WH), and RA2 Select (RR-SEL-REP2-BL) models are supported. For the RadioRA 2 and HomeWorks QS product lines, see the [Lutron component](/integrations/lutron/). -The currently supported Caseta devices are: +The currently supported Caseta and RA2 Select devices are: - Wall and plug-in dimmers as [lights](#light) - Wall switches as [switches](#switch) - Scenes as [scenes](#scene) - Lutron shades as [covers](#cover) - Lutron smart [fan](#fan) speed control +- Lutron Occupancy/Vacancy [sensors](#sensor) When configured, the `lutron_caseta` integration will automatically discover the currently supported devices as setup in the Lutron Smart Bridge. The name assigned in the Lutron mobile app will be used to form the `entity_id` used in Home Assistant. e.g., a dimmer called 'Lamp' in a room called 'Bedroom' becomes `light.bedroom_lamp` in Home Assistant. @@ -115,3 +117,17 @@ After setup, fans will appear in Home Assistant using an `entity_id` based on th For more information on working with fans in Home Assistant, see the [Fans component](/components/fan/). Available services: `fan.turn_on`, `fan.turn_off`, and `fan.set_speed`. + +## Sensor + +Occupancy sensors can be added to a Lutron Caseta system to trigger events when an area becomes vacant and, optionally, occupied. However, Lutron systems report occupancy and vacancy statuses only in *occupancy groups* -- that is, groups of one or more sensors. + +Occupancy groups will appear in Home Assistant using an `entity_id` based on the area name in which the first sensor of the group is located. For example, one or more sensors in the Master Bathroom will appear in Home Assistant as `binary_sensor.master_bathroom_occupancy`. + +An occupancy group is considered occupied if any of the sensors in the group are currently in an "occupied" state. Specifically, this means that motion has been detected more recently than that sensor's particular timeout setting. Only after all sensors in an occupancy group report being vacant does the occupancy group itself report being vacant. + +Lutron Caseta occupancy sensors support 4 different timeouts and 3 different sensitivity levels, but those are only controllable from the devices themselves and cannot be set from either Home Assistant or even the Caseta mobile app. + +Because Lutron Caseta devices automatically report state to Home Assistant (rather than relying on polling), occupancy status updates occur almost instantaneously. + +For more information on working with binary sensors in Home Assistant, see the [Binary Sensors Component](/components/binary_sensor/) diff --git a/source/_integrations/miflora.markdown b/source/_integrations/miflora.markdown index 162dbd89979..e1037cca244 100644 --- a/source/_integrations/miflora.markdown +++ b/source/_integrations/miflora.markdown @@ -103,6 +103,11 @@ adapter: required: false default: hci0 type: string +go_unavailable_timeout: + description: "Timeout to report this device as unavailable. This option hides a bad link quality" + required: false + default: 7200 + type: integer {% endconfiguration %}
@@ -123,6 +128,7 @@ sensor: name: Flower 1 force_update: true median: 3 + go_unavailable_timeout: 43200 monitored_conditions: - moisture - light @@ -130,3 +136,18 @@ sensor: - conductivity - battery ``` +An automation example to report a battery failure: + +```yaml +- id: flower1_moisture_unavailable_check + alias: Flower 1 sensors available + trigger: + - entity_id: sensor.flower1_moisture + for: 24:00:00 + platform: state + to: unavailable + action: + - data_template: + message: "Flower 1 moisture is unavailable for more than 24 hours" + service: notify.notifier_telegram_someone +``` diff --git a/source/_integrations/modbus.markdown b/source/_integrations/modbus.markdown index fa6950f7ecc..3960ab054cb 100644 --- a/source/_integrations/modbus.markdown +++ b/source/_integrations/modbus.markdown @@ -53,6 +53,11 @@ timeout: required: false default: 3 type: integer +delay: + description: Time to sleep in seconds after connecting and before sending messages. Some modbus-tcp servers need a short delay typically 1-2 seconds in order to prepare the communication. If a server accepts connecting, but there is no response to the requests send, this parameter might help. + required: false + default: 0 + type: integer {% endconfiguration %} ### Serial connection diff --git a/source/_integrations/monoprice.markdown b/source/_integrations/monoprice.markdown index a0214da2b0f..c7595a95c08 100644 --- a/source/_integrations/monoprice.markdown +++ b/source/_integrations/monoprice.markdown @@ -4,6 +4,7 @@ description: Instructions on how to integrate Monoprice 6-Zone Home Audio Contro ha_category: - Media Player ha_release: 0.56 +ha_config_flow: true ha_iot_class: Local Polling ha_codeowners: - '@etsinko' @@ -12,53 +13,28 @@ ha_domain: monoprice The `monoprice` platform allows you to control [Monoprice 6-Zone Amplifier](https://www.monoprice.com/product?p_id=10761) using a serial connection. -To add a Monoprice device to your installation, add the following to your `configuration.yaml` file: +## Configuration -```yaml -# Example configuration.yaml entry -media_player: - - platform: monoprice - port: /dev/ttyUSB0 - zones: - 11: - name: Main Bedroom - 12: - name: Living Room - 13: - name: Kitchen - 14: - name: Bathroom - 15: - name: Dining Room - 16: - name: Guest Bedroom - sources: - 1: - name: Sonos - 5: - name: Chromecast -``` +Menu: **Configuration** -> **Integrations**. -{% configuration %} -port: - description: The serial port to which Monoprice amplifier is connected. - required: true - type: string -zones: - description: This is the list of zones available. Valid zones are 11, 12, 13, 14, 15 or 16. In case multiple Monoprice devices are stacked together the list of valid zones is extended by 21, 22, 23, 24, 25 or 26 for the second device and 31, 32, 33, 34, 35 or 36 for the third device. Each zone must have a name assigned to it. - required: true - type: integer -sources: - description: The list of sources available. Valid source numbers are 1, 2, 3, 4, 5 or 6. Each source number corresponds to the input number on the Monoprice amplifier. Similar to zones, each source must have a name assigned to it. - required: true - type: integer -{% endconfiguration %} +Click on the `+` sign to add an integration and click on **Monoprice**. +Select the serial port to which Monoprice amplifier is connected, and name the six sources (leave sources you're not using empty). + +Sources can also be later edited from the integration options (gear icon in the top right when selecting the integration). In order to remove an existing source, you'll need to replace it with a space (simply removing its name will still keep it in place). Note that editing sources will remove the snapshot you may have saved. + +## Zone Management + +Devices and entities are created for each of the possible 18 zones, and can be enabled, disabled and renamed through regular Home Assisant methods. +By default, the first 6 zones (11..16) are enabled, while the 12 extension zones (21..26, and 31..36) are disabled. + +## Services ### Service `monoprice.snapshot` -Take a snapshot of one or more zones' states. This service, and the following one are useful if you want to play a doorbell or notification sound and resume playback afterward. If no `entity_id` is provided, all zones are snapshotted. +Take a snapshot of one or more zones' states. This service, and the following one are useful if you want to play a doorbell or notification sound and resume playback afterward. If `entity_id` is `all`, all zones are snapshotted. The following attributes are stored in a snapshot: + - Power status (On/Off) - Mute status (On/Off) - Volume level @@ -70,7 +46,7 @@ The following attributes are stored in a snapshot: ### Service `monoprice.restore` -Restore a previously taken snapshot of one or more speakers. If no `entity_id` is provided, all zones are restored. +Restore a previously taken snapshot of one or more speakers. If `entity_id` is `all`, all zones are restored. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | diff --git a/source/_integrations/mopar.markdown b/source/_integrations/mopar.markdown deleted file mode 100644 index 4662f83085b..00000000000 --- a/source/_integrations/mopar.markdown +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: Mopar -description: Instructions on how to integrate Mopar vehicles into Home Assistant. -ha_category: - - Car - - Sensor - - Switch - - Lock -ha_release: 0.53 -ha_iot_class: Cloud Polling -ha_domain: mopar ---- - -The `mopar` integration provides the following for owners of FCA vehicles with a uConnect subscription: - -- Sensor per vehicle with vehicle health report and other meta-data -- Lock per vehicle allowing to lock/unlock the vehicle -- Switch per vehicle allowing to turn the engine on and off -- A service for running the horn & lights - -## Setup - -Be sure you have a [mopar.com](http://mopar.com) account with your vehicle(s) registered by VIN. You must also have a current uConnect subscription. - -## Configuration - -To enable this component, add the following lines to your `configuration.yaml`. All platforms will be automatically loaded. - -```yaml -# Example configuration.yaml entry -mopar: - username: YOUR_USERNAME - password: YOUR_PASSWORD - pin: YOUR_UCONNECT_PIN -``` - -{% configuration %} -username: - description: Your mopar.com username. - required: true - type: string -password: - description: Your mopar.com password. - required: true - type: string -pin: - description: The pin for your account. - required: true - type: string -{% endconfiguration %} - -## Service - -Call the `mopar.sound_horn` service to sound the horn and flash the lights on your vehicle. - -| Service data attribute | Description | -| `vehicle_index` | The index of the vehicle to trigger. This is exposed in the sensor's device attributes. | - -Example data: - -```json -{ - "vehicle_index": 0 -} -``` diff --git a/source/_integrations/myq.markdown b/source/_integrations/myq.markdown index c56f2a89aac..74438e24d9b 100644 --- a/source/_integrations/myq.markdown +++ b/source/_integrations/myq.markdown @@ -3,8 +3,12 @@ title: MyQ description: Instructions on how to integrate MyQ-Enabled garage door covers into Home Assistant. ha_category: - Cover + - Binary Sensor ha_release: 0.39 ha_iot_class: Cloud Polling +ha_config_flow: true +ha_codeowners: + - '@bdraco' ha_domain: myq --- @@ -12,7 +16,9 @@ The `myq` cover platform lets you control MyQ-Enabled garage doors through Home ## Configuration -To use your MyQ cover in your installation, add the following to your `configuration.yaml` file: +To add `MyQ` cover to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **MyQ**. + +Alternatively, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -32,3 +38,11 @@ password: required: true type: string {% endconfiguration %} + +### Binary Sensor + +Your `MyQ` gateway will appear as a binary sensor that shows if the device is connected. + +### Cover + +Garage doors and gates linked to your `MyQ` account will appear as covers. diff --git a/source/_integrations/nexia.markdown b/source/_integrations/nexia.markdown new file mode 100644 index 00000000000..685b41b3dd1 --- /dev/null +++ b/source/_integrations/nexia.markdown @@ -0,0 +1,101 @@ +--- +title: Nexia +description: Instructions on how to integrate Nexia Thermostats (Trane/American Standard) into Home Assistant. +ha_category: + - Binary Sensor + - Sensor + - Climate + - Scene +ha_release: 0.108 +ha_iot_class: Cloud Polling +ha_config_flow: true +ha_codeowners: + - '@bdraco' + - '@ryannazaretian' +ha_domain: nexia +--- + +The `nexia` integration allows you to integrate your [Nexia](https://mynexia.com/) thermostats into Home Assistant. + +There is currently support for the following device types within Home Assistant: + +- [Binary Sensor](#binary-sensor) +- [Climate](#climate) +- [Sensor](#sensor) +- [Scene](#scene) + +## Configuration + +You will need your mynexia.com username and password to use this module. + +To add `Nexia` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Nexia**. + +Alternatively, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +nexia: + username: YOUR_NEXIA_USERNAME + password: YOUR_NEXIA_PASSWORD +``` + +{% configuration %} +username: + description: The username for accessing your Nexia account. + required: true + type: string +password: + description: The password for accessing your Nexia account. + required: true + type: string +{% endconfiguration %} + +### Binary Sensor + +The following binary sensors are added for each thermostat: + +- Blower Active + +### Sensor + +The following binary sensors are added for each thermostat: + +- Air Cleaner Mode +- Current Compressor Speed +- Requested Compressor Speed +- Outdoor Temperature +- Relative Humidity +- System Status + +The following binary sensors are added for each thermostat zone: + +- Zone Temperature +- Zone Setpoint Status +- Zone Status + +### Climate + +The `nexia` climate platform lets you control a thermostat. + +### Scene + +The `nexia` scene platform lets you activate a nexia automation. + +### Service `nexia.set_aircleaner_mode` + +Sets the air cleaner mode. Options include 'auto', 'quick', and +'allergy'. This setting will affect all zones on the same thermostat. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | no | String or list of strings that point at `entity_id`'s of climate devices to control. +| `aircleaner_mode` | no | 'auto', 'quick', or 'allergy' + +### Service `nexia.set_humidify_setpoint` + +Sets the humidify setpoint. This setting will affect all zones on the same thermostat. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ----------- | +| `entity_id` | no | String or list of strings that point at `entity_id`'s of climate devices to control. +| `humidity` | no | Humidify setpoint level, from 35 to 65. diff --git a/source/_integrations/nextcloud.markdown b/source/_integrations/nextcloud.markdown new file mode 100644 index 00000000000..5f07c78d88d --- /dev/null +++ b/source/_integrations/nextcloud.markdown @@ -0,0 +1,45 @@ +--- +title: Nextcloud Sensor +description: Instructions on how to integrate Nextcloud monitor api data into Home Assistant. +ha_category: + - Sensor +ha_iot_class: Cloud Polling +ha_release: 0.108 +ha_domain: nextcloud +--- + +The `nextcloud` integration pulls summary [Nextcloud](https://nextcloud.com/) information into Home Assistant. + +![Nextcloud Example Sensor]('/images/screenshots/nextcloud-sample-sensor.png') + +## Configuration + +This integration requires access to the monitor API of a Nextcloud instance (This is generally an admin user). + +You should also generate an App password from the Nextcloud web UI: **Settings** > **Security** > **Devices & sessions** > **Create new app password**. + +Once you have generated the App password, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +nextcloud: + url: Https://YOUR_NEXTCLOUD_URL + username: YOUR_USERNAME + password: YOUR_APP_PASSWORD + +``` + +{% configuration %} +url: + description: The full URL to your Nextcloud instance. + required: true + type: string +username: + description: The username of a Nextcloud user that has access to the Nextcloud monitor API. + required: true + type: string +password: + description: The app password generated from the Nextcloud security settings page. + required: true + type: string +{% endconfiguration %} diff --git a/source/_integrations/nuheat.markdown b/source/_integrations/nuheat.markdown index 76ec7bb89ef..f737b6a42d7 100644 --- a/source/_integrations/nuheat.markdown +++ b/source/_integrations/nuheat.markdown @@ -6,6 +6,9 @@ ha_category: ha_release: 0.61 ha_iot_class: Cloud Polling ha_domain: nuheat +ha_config_flow: true +ha_codeowners: + - '@bdraco' --- The `nuheat` integration lets control your connected [NuHeat Signature](https://www.nuheat.com/products/thermostats/signature-thermostat) floor heating thermostats from [NuHeat](https://www.nuheat.com/). @@ -16,7 +19,9 @@ There is currently support for the following device types within Home Assistant: First, you will need to obtain your thermostat's numeric serial number or ID by logging into [MyNuHeat.com](https://mynuheat.com/) and selecting your thermostat(s). -Once you have the Thermostat ID(s), add the following information to your `configuration.yaml` file: +Once you have the Thermostat ID(s), to add `NuHeat` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **NuHeat**. + +Alternatively, add the following information to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -134,35 +139,18 @@ Returns the maximum supported temperature by the thermostat ## Services -The following services are provided by the NuHeat Thermostat: `set_temperature`, `set_hvac_mode`, `set_preset_mode`, `resume_program`. +The following services are provided by the NuHeat Thermostat: `set_temperature`, `set_hvac_mode`, `set_preset_mode`. -The services `fan_min_on_time`, `set_aux_heat`, `set_away_mode`, `set_humidity`, `set_fan_mode`, and `set_swing_mode` offered by the [Climate component](/integrations/climate/) are not implemented for this thermostat. +### Service `climate.set_hvac_mode` ([Climate integration](/integrations/climate/)) -### Service `set_temperature` +NuHeat Thermostats do not have an off concept. Setting the temperature to `min_temp` and changing the mode to `heat` will cause the device to enter a `Permanent Hold` preset and will stop the thermostat from turning on unless you happen to live in a freezing climate. -Puts the thermostat into an indefinite hold at the given temperature. +### Service `climate.set_temperature` ([Climate integration](/integrations/climate/)) -| Service data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Use `entity_id: all` to target all. -| `temperature` | no | Desired target temperature (when not in auto mode) +If the thermostat is in auto mode, it puts the thermostat into a temporary hold at the given temperature. -Only the target temperatures relevant for the current operation mode need to -be provided. +If the thermostat is in heat mode, it puts the thermostat into a permanent hold at the given temperature. -### Service `set_preset_mode` +### Service `climate.set_preset_mode` ([Climate integration](/integrations/climate/)) -Sets the thermostat's preset mode. Without a preset mode set it run the thermostat's programmed schedule, "temperature" (to indefinitely hold the thermostat's current target temperature), or "temporary_temperature" (to hold the thermostat's current target temperature until the thermostat's next scheduled event). - -| Service data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Use `entity_id: all` to target all. -| `hold_mode` | no | New value of hold mode. - -### Service `nuheat.resume_program` - -Resumes the currently active schedule. - -| Service data attribute | Optional | Description | -| ---------------------- | -------- | ----------- | -| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Use `entity_id: all` to target all. +The following presets are available: `Run Schedule`, `Temporary Hold`, `Permanent Hold`. \ No newline at end of file diff --git a/source/_integrations/nut.markdown b/source/_integrations/nut.markdown index d467b8299eb..96a0ee8753b 100644 --- a/source/_integrations/nut.markdown +++ b/source/_integrations/nut.markdown @@ -6,13 +6,18 @@ ha_category: ha_iot_class: Local Polling ha_release: 0.34 ha_domain: nut +ha_config_flow: true +ha_codeowners: + - '@bdraco' --- The `nut` sensor platform allows you to monitor a UPS (battery backup) by using data from a [NUT](https://networkupstools.org/) (Network UPS Tools) server. ## Configuration -To use this sensor platform, you need to add the following to your `configuration.yaml` file: +To add `nut` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Network UPS Tools (NUT)**. + +Alternatively, you need to add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/powerwall.markdown b/source/_integrations/powerwall.markdown new file mode 100644 index 00000000000..bb95e0c53d0 --- /dev/null +++ b/source/_integrations/powerwall.markdown @@ -0,0 +1,62 @@ +--- +title: Telsa Powerwall +description: Instructions on how to integrate Tesla Power Walls into Home Assistant. +ha_category: + - Binary Sensor + - Sensor +ha_release: 0.108 +ha_iot_class: Local Polling +ha_config_flow: true +ha_codeowners: + - '@bdraco' +ha_domain: powerwall +--- + +The `powerwall` integration allows you to integrate your [Tesla Powerwall](https://www.tesla.com/powerwall) into Home Assistant. + +There is currently support for the following device types within Home Assistant: + +- [Binary Sensor](#binary-sensor) +- [Sensor](#sensor) + +## Configuration + +You will need the IP Address of your Powerwall to use this module. + +To add `Tesla Powerwall` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Tesla Powerwall**. + +Alternatively, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +powerwall: + ip_address: YOUR_POWERWALL_IP +``` + +{% configuration %} +ip_address: + description: The IP address of your Powerwall. + required: true + type: string +{% endconfiguration %} + +### Binary Sensor + +The following binary sensors are added for each Powerwall: + +- Powerwall Status +- Powerwall Connected to Tesla +- Grid Status + +### Sensor + +The following binary sensors are added for each Powerwall: + +- Powerwall Charge +- Powerwall Site Now +- Powerwall Load Now +- Powerwall Battery Now +- Powerwall Frequency Now (if applicable) +- Powerwall Busway Now (if applicable) +- Powerwall Solar Now (if applicable) +- Powerwall Generator Now (if applicable) diff --git a/source/_integrations/pvpc_hourly_pricing.markdown b/source/_integrations/pvpc_hourly_pricing.markdown new file mode 100644 index 00000000000..c9caf550bde --- /dev/null +++ b/source/_integrations/pvpc_hourly_pricing.markdown @@ -0,0 +1,82 @@ +--- +title: PVPC Hourly Pricing +description: Instructions on how to set up the PVPC Hourly Pricing sensor in Home Assistant. +ha_category: + - Energy +ha_release: '0.108' +ha_iot_class: Cloud Polling +ha_quality_scale: platinum +ha_config_flow: true +ha_codeowners: + - '@azogue' +ha_domain: pvpc_hourly_pricing +--- + +This sensor uses the official API to get the hourly price of electricity in Spain from https://www.esios.ree.es/en/pvpc. + +Specifically, it shows the current __active energy invoicing price (FEU)__ in €/kWh, +which is the energy term hourly price applied in the consumers' electrical bill +with a contracted power not exceeding 10 kW and which are under the PVPC +(Voluntary Price for Small Consumer). + +It includes the energy term of the access tolls, the charges and the production cost. It does not include taxes. +The hourly prices are the same throughout the Spanish territory regardless of the time zone. + +It can be set up via the integrations panel in the configuration screen. + + + +More information available at http://www.cnmc.es/en/ and http://www.omie.es/en/ + +## Configuration + +To configure PVPC Hourly Pricing, you can set it up via the integrations panel in the configuration screen. + +Set a name for the price sensor (default is `sensor.pvpc`) and select one of the three tariffs, +corresponding to your contracted rate, according to the number of billing periods per day +(one / peak + valley / shifted peak + valley). + +- 1 period: `normal`, for the "Default PVPC tariff, (2.0 A)". +- 2 periods: `discrimination`, for the "Efficiency 2 periods (2.0 DHA)", with 10h peak interval from 11:00 UTC to 21:00 UTC. +- 3 periods: `electric_car`, for the "Electric vehicle tariff (2.0 DHS)", optimized for electric car owners to charge at night. + +The default is `discrimination`, with 2 periods, as it is usually the cheapest one for home consumers. + +You can add multiple sensors (up to 3, one per tariff) by adding them again through the integrations panel. + +### Advanced configuration + +PVPC Hourly Pricing allows manual configuration by adding a section to your `configuration.yaml`. + +```yaml +# Set up electricity price sensors as a component: +pvpc_hourly_pricing: + - name: PVPC manual ve + tariff: electric_car + - name: PVPC manual nocturna + tariff: discrimination +``` + +{% configuration %} +name: + description: Custom name for the sensor. + required: true + type: string +tariff: + description: Contracted electric tariff. + required: true + default: discrimination + type: string +{% endconfiguration %} + + +
+ +The sensor provides an hourly price for energy consumed, but the variable cost of energy is only one of the factors that add up to the electricity bill: +* Fixed cost of contracted power +* Fixed cost of energy consumed +* Variable cost of energy consumed (the sensor's value) +* Other fixed expenses, such as the rental of the electric meter +* Multiple taxes applied + +
diff --git a/source/_integrations/qvr_pro.markdown b/source/_integrations/qvr_pro.markdown index 07289cddc11..567fe1ce963 100644 --- a/source/_integrations/qvr_pro.markdown +++ b/source/_integrations/qvr_pro.markdown @@ -42,6 +42,10 @@ password: description: The password for accessing your QVR account. required: true type: string +port: + description: The port where QVR accepts connections. + required: false + type: integer exclude_channels: description: Comma separated list of channel numbers to be excluded. required: false diff --git a/source/_integrations/rachio.markdown b/source/_integrations/rachio.markdown index e7f0cc665df..07aef592fc7 100644 --- a/source/_integrations/rachio.markdown +++ b/source/_integrations/rachio.markdown @@ -28,7 +28,9 @@ They will be automatically added if the Rachio integration integration is loaded ## Configuration -To add this platform to your installation, add the following to your `configuration.yaml` file: +To add `Rachio` go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **Rachio**. + +Alternatively, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry diff --git a/source/_integrations/roku.markdown b/source/_integrations/roku.markdown index d157c07b2b5..7050fefb749 100644 --- a/source/_integrations/roku.markdown +++ b/source/_integrations/roku.markdown @@ -8,18 +8,27 @@ ha_category: ha_iot_class: Local Polling ha_release: 0.86 ha_domain: roku +ha_config_flow: true +ha_quality_scale: silver ha_codeowners: - '@ctalkington' --- -The [Roku](https://www.roku.com/) integration allows integration of Roku, which will be automatically discovered if you enable the [discovery component](/integrations/discovery/). +The Roku integration allows you to control a [Roku](https://www.roku.com/) device. + +### Configuration + +Go to the integrations page in your configuration and click on new integration -> Roku. +If your Roku device is on, it has likely been discovered already and you just have to confirm the detected device. There is currently support for the following device types within Home Assistant: - Media Player - Remote -The `roku` integration can also be forced to load by adding the following lines to your `configuration.yaml`: +### YAML Configuration + +Manual configuration of your Roku device is also possible, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -34,12 +43,6 @@ host: type: string {% endconfiguration %} -## Services - -### Service `roku_scan` - -Scans the local network for Rokus. All found devices are presented as a persistent notification. - ## Remote The `roku` remote platform allows you to send remote control buttons to a Roku device. It is automatically set up when a Roku is configured. @@ -90,7 +93,7 @@ data: ## Media Player -When the Home Assistant Roku integration is enabled and has found a Roku device, in the Home Assistant GUI the Roku media player will show a listing of the installed channels, or apps, under “source”. Select one and it will attempt to launch the channel on your Roku device. This action can also be automated, but it requires you to acquire an extra piece of information; the ```appID``` for the channel specific to your Roku. Although this information is gathered by the Roku integration, at the moment it is not exposed to the end user. This item might be added in a future release. For now though, you can easily get the information yourself. All you need to do is a simple GET API call on the same network as your device. +When the Home Assistant Roku integration is enabled and a Roku device has been configured, in the Home Assistant UI the Roku media player will show a listing of the installed channels, or apps, under “source”. Select one and it will attempt to launch the channel on your Roku device. This action can also be automated, but it requires you to acquire an extra piece of information; the ```appID``` for the channel specific to your Roku. Although this information is gathered by the Roku integration, at the moment it is not exposed to the end user. This item might be added in a future release. For now though, you can easily get the information yourself. All you need to do is a simple GET API call on the same network as your device. The API calls are like this: diff --git a/source/_integrations/rtorrent.markdown b/source/_integrations/rtorrent.markdown index cbef77ef873..d95803cb5b3 100644 --- a/source/_integrations/rtorrent.markdown +++ b/source/_integrations/rtorrent.markdown @@ -21,6 +21,12 @@ sensor: - 'current_status' - 'download_speed' - 'upload_speed' + - 'all_torrents' + - 'stopped_torrents' + - 'complete_torrents' + - 'uploading_torrents' + - 'downloading_torrents' + - 'active_torrents' ``` This sensor requires the rTorrent XML-RPC API exposed on an HTTP interface. @@ -49,4 +55,16 @@ monitored_variables: description: The current download speed. upload_speed: description: The current upload speed. + all_torrents: + description: The number of all torrents. + stopped_torrents: + description: The number of torrents that are stopped. + complete_torrents: + description: The number of torrents that are fully downloaded. + uploading_torrents: + description: The number of torrents that are seeding. + downloading_torrents: + description: The number of torrents that are leeching. + active_torrents: + description: The number of torrents that are actively ( measurable speed ) leeching, seeding or both. {% endconfiguration %} diff --git a/source/_integrations/schluter.markdown b/source/_integrations/schluter.markdown new file mode 100644 index 00000000000..3f1d4a76a44 --- /dev/null +++ b/source/_integrations/schluter.markdown @@ -0,0 +1,50 @@ +--- +title: Schluter +description: Instructions on how to integrate your Schluter DITRA-HEAT-E-WiFi thermostat into Home Assistant. +ha_category: + - Climate +ha_release: 0.108 +ha_iot_class: Cloud Polling +ha_domain: schluter +--- + +The `schluter` integration allows you to integrate your [Schluter-DITRA-HEAT-E-WiFi](https://www.schluter.com/schluter-us/en_US/ditra-heat-wifi) electric floor heating thermostat in Home Assistant. + +
+You will need to create a Schluter DITRA-HEAT account and register your thermostat with it. This can be done via the thermostat touchscreen, where an email will be sent to you to confirm your account. +
+ +## Configuration + +You will need your Schluter login information (email and password) to use this module. + +To set it up, add the following to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +schluter: + username: YOUR_SCHLUTER_EMAIL + password: YOUR_SCHLUTER_PASSWORD +``` + +{% configuration %} +username: + description: The email for accessing your Schluter account. + required: true + type: string +password: + description: The password for accessing your Schluter account. + required: true + type: string +{% endconfiguration %} + +Once Home Assistant is started, you will have access to any thermostats registered with your account. + +### Supported Features + +Currently, this integration supports the following features: + +- Retrieving current temperature & target temperature +- Setting target temperature + +When adjusting the temperature via Home Assistant, it will place the thermostat in "permanent mode", meaning schedules programmed within the thermostat will be ignored. You can return to scheduled mode by pressing the "Return to Schedule" button on the thermostat. diff --git a/source/_integrations/sensor.mqtt.markdown b/source/_integrations/sensor.mqtt.markdown index 224ea7fdd2a..a8c67ec2689 100644 --- a/source/_integrations/sensor.mqtt.markdown +++ b/source/_integrations/sensor.mqtt.markdown @@ -78,10 +78,6 @@ icon: description: The icon for the sensor. required: false type: icon -json_attributes: - description: (Deprecated, replaced by json_attributes_topic) A list of keys to extract values from a JSON dictionary payload and then set as sensor attributes. - required: false - type: [string, list] json_attributes_template: description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`." required: false diff --git a/source/_integrations/slack.markdown b/source/_integrations/slack.markdown index 8dfdebd415d..1d64eb376dc 100644 --- a/source/_integrations/slack.markdown +++ b/source/_integrations/slack.markdown @@ -74,77 +74,65 @@ The following attributes can be placed inside `data` for extended functionality. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | -| `file` | yes | Groups the attributes for file upload. If present, either `url` or `path` have to be provided. -| `path ` | yes | Local path of file, photo etc to post to Slack. Is placed inside `file`. -| `url` | yes | URL of file, photo etc to post to Slack. Is placed inside `file`. -| `username` | yes | Username if the URL requires authentication. Is placed inside `file`. -| `password` | yes | Password if the URL requires authentication. Is placed inside `file`. -| `auth` | yes | If set to `digest` HTTP-Digest-Authentication is used. If missing HTTP-BASIC-Authentication is used. Is placed inside `file`. -| `attachments` | yes | Array of [Slack attachments](https://api.slack.com/docs/message-attachments). See [the attachment documentation](https://api.slack.com/docs/message-attachments) for how to format. *NOTE*: if using `attachments`, they are shown **in addition** to `message` +| `file` | yes | Local path of file, photo, etc. to post to Slack. +| `attachments` | yes | Array of [Slack attachments](https://api.slack.com/messaging/composing/layouts#attachments) (legacy). *NOTE*: if using `attachments`, they are shown **in addition** to `message`. +| `blocks` | yes | Array of [Slack blocks](https://api.slack.com/messaging/composing/layouts). *NOTE*: if using `blocks`, they are shown **in addition** to `message`. -Example for posting file from URL: +Example for posting a file from local path: -```json -{ - "message":"Message that will be added as a comment to the file.", - "title":"Title of the file.", - "target": ["#channelname"], - "data":{ - "file":{ - "url":"http://[url to file, photo, security camera etc]", - "username":"optional user, if necessary", - "password":"optional password, if necessary", - "auth":"digest" - } - } -} +```yaml +message: Message that will be added as a comment to the file. +title: Title of the file. +data: + file: "/path/to/file.ext" ``` -Example for posting file from local path: +Please note that `file` is validated against the `whitelist_external_dirs` in the `configuration.yaml`. -```json -{ - "message":"Message that will be added as a comment to the file.", - "title":"Title of the file.", - "data":{ - "file":{ - "path":"/path/to/file.ext" - } - } -} +Example for using the block framework: + +```yaml +message: Message that will be added as a comment to the file. +title: Title of the file. +data: + attachments: + - type: section + text: + type: mrkdwn + text: 'Danny Torrence left the following review for your property:' + - type: section + block_id: section567 + text: + type: mrkdwn + text: " \n :star: \n Doors had too many + axe holes, guest in room 237 was far too rowdy, whole place felt stuck in + the 1920s." + accessory: + type: image + image_url: https://is5-ssl.mzstatic.com/image/thumb/Purple3/v4/d3/72/5c/d3725c8f-c642-5d69-1904-aa36e4297885/source/256x256bb.jpg + alt_text: Haunted hotel image + - type: section + block_id: section789 + fields: + - type: mrkdwn + text: |- + *Average Rating* + 1.0 ``` -Please note that `path` is validated against the `whitelist_external_dirs` in the `configuration.yaml`. +Example for using the legacy attachments framework: -Example for posting formatted attachment: - -```json -{ - "message": "", - "data": { - "attachments": [ - { - "title": "WHAT A HORRIBLE NIGHT TO HAVE A CURSE.", - "image_url": "https://i.imgur.com/JEExnsI.gif" - } - ] - } -} +```yaml +message: Message that will be added as a comment to the file. +title: Title of the file. +data: + attachments: + - title: WHAT A HORRIBLE NIGHT TO HAVE A CURSE. + image_url: https://i.imgur.com/JEExnsI.gif ``` You can also use YAML to send messages from your automations -```yaml - - - service: notify.slack - data: - message: "Latest notification" - title: "Latest image" - target: ["#home-assistant"] - data: - file: - path: "/myfile.jpg" -``` Please note that both `message` is a required key, but is always shown, so use an empty (`""`) string for `message` if you don't want the extra text. To use notifications, please see the [getting started with automation page](/getting-started/automation/). diff --git a/source/_integrations/switchbot.markdown b/source/_integrations/switchbot.markdown index 7952a9e7015..d6329ca4a79 100644 --- a/source/_integrations/switchbot.markdown +++ b/source/_integrations/switchbot.markdown @@ -31,6 +31,10 @@ name: description: The name used to display the switch in the frontend. required: false type: string +password: + description: The password of the switch if set + required: false + type: string {% endconfiguration %} ## SwitchBot Entity diff --git a/source/_integrations/tado.markdown b/source/_integrations/tado.markdown index 21ccaf91a24..b499c8827c8 100644 --- a/source/_integrations/tado.markdown +++ b/source/_integrations/tado.markdown @@ -63,7 +63,7 @@ fallback: The Tado thermostats are internet connected thermostats. There exists an unofficial API at [my.tado.com](https://my.tado.com/), which is used by their website and now by this component. -It currently supports presenting the current temperature, the setting temperature and the current operation mode. Switching the mode is also supported. If no user is at home anymore, the devices are showing the away-state. Switching to away-mode is not supported. +It currently supports presenting the current temperature, the setting temperature and the current operation mode. The operation mode can be set to manual, auto and off. If no user is at home anymore, all Tado zones show the away-state (Only with Tado assist mode). Manually switching between home-mode and away-mode is also supported. Any Tado climate card can be switched between these presence modes, this changes the setting for the entire home. ## Presence Detection diff --git a/source/_integrations/tesla.markdown b/source/_integrations/tesla.markdown index 5484296319e..bb9873eb3cd 100644 --- a/source/_integrations/tesla.markdown +++ b/source/_integrations/tesla.markdown @@ -27,7 +27,7 @@ This integration provides the following platforms: - Device tracker - to track location of your car - Lock - Door lock and charger door lock. Enables you to control Tesla's door and charger door lock - Climate - HVAC control. Allow you to control (turn on/off, set target temperature) your Tesla's HVAC system. -- Switch - Charger and max range switch to allow you to start/stop charging and set max range charging. Update switch to allow you to disable polling of vehicles to conserve battery +- Switch - Charger and max range switch to allow you to start/stop charging and set max range charging. Update switch to allow you to disable polling of vehicles to conserve battery. Sentry mode switch to enable or disable Sentry mode. ## Configuration @@ -59,3 +59,9 @@ scan_interval: type: integer default: 660 {% endconfiguration %} + +## Options + +Tesla options are set via **Configuration** -> **Integrations** -> **Tesla** -> **Options**. + +* Wake cars on start - Whether to wake sleeping cars on Home Assistant startup. This allows a user to choose whether cars should continue to sleep (and not update information) or to wake up the cars potentially interrupting long term hibernation and increasing vampire drain. diff --git a/source/_integrations/ubee.markdown b/source/_integrations/ubee.markdown index 3549c574cd8..51683c4eeb3 100644 --- a/source/_integrations/ubee.markdown +++ b/source/_integrations/ubee.markdown @@ -44,12 +44,14 @@ password: {% endconfiguration %} Supported models: -- EVW3200-Wifi -- EVW320B -- EVW321B -- EVW32C-0N -- EVW3226@UPC -- DVW32CB + +- Ambit EVW320B +- Ambit EVW321B +- Ubee DDW36C +- Ubee DVW32CB +- Ubee EVW3200-Wifi +- Ubee EVW3226 (UPC) +- Ubee EVW32C-0N
diff --git a/source/_integrations/unifi.markdown b/source/_integrations/unifi.markdown index 72dab284911..9909e484882 100644 --- a/source/_integrations/unifi.markdown +++ b/source/_integrations/unifi.markdown @@ -5,8 +5,9 @@ ha_category: - Hub - Presence Detection - Switch + - Sensor ha_release: 0.81 -ha_iot_class: Local Polling +ha_iot_class: Local Push ha_config_flow: true ha_quality_scale: platinum ha_codeowners: @@ -20,70 +21,17 @@ There is currently support for the following device types within Home Assistant: - [Presence Detection](#presence-detection) - [Switch](#switch) +- [Sensor](#sensor) ## Configuration -Home Assistant offers UniFi integration through **Configuration** -> **Integrations** -> **UniFi Controller**. +Home Assistant offers UniFi integration through **Configuration** -> **Integrations** -> **UniFi Controller**. Follow the instructions to get it set up. -Enter `host address`, `user name` and `password` and then continue to select which `site` you want to connect to Home Assistant. The user needs administrator privileges in order to control POE switches. +The user needs administrator privileges in order to control switches. -### Extra configuration for device tracker +### Extra configuration of the integration -You can augment the behavior of UniFi device tracker by adding - -```yaml -# Example configuration.yaml entry -unifi: - controllers: - - host: unifi - site: My site - ssid_filter: - - 'HomeSSID' - - 'IoTSSID' -``` - -{% configuration %} -host: - description: Same address as relevant configuration entry, needed to identify configuration entry. - type: string - required: true - default: None -site: - description: Same site as relevant configuration entry, needed to identify configuration entry. - type: string - required: true - default: None -block_client: - description: A list of Clients MAC Addresses that can be blocked from the network. - type: list - required: false - default: None -detection_time: - description: How long since the last seen time before the device is marked away, specified in seconds. - type: integer - required: false - default: 300 -dont_track_clients: - description: enable to not allow device tracker to track clients. - type: boolean - required: false - default: false -dont_track_devices: - description: enable to not allow device tracker to track devices. - type: boolean - required: false - default: false -dont_track_wired_clients: - description: enable to not allow device tracker to track wired clients. - type: boolean - required: false - default: false -ssid_filter: - description: Filter the SSIDs that tracking will occur on. - type: list - required: false - default: None -{% endconfiguration %} +All configuration options are offered from the front end. Enter what UniFi integration you want to change options on and press the cog wheel. ### Configuring Users @@ -111,7 +59,7 @@ If Home Assistant and the UniFi controller are running on separate machines or V ### Block network access for clients -Allow control of network access to clients configured in the `configuration.yaml` file by adding a list of the MAC addresses. Items in this list will have a Home Assistant switch created, using the UniFi Device name, allowing for blocking and unblocking. +Allow control of network access to clients configured in the integration options by adding MAC addresses. Items in this list will have a Home Assistant switch created, using the UniFi Device name, allowing for blocking and unblocking. ### Control clients powered by POE @@ -119,6 +67,12 @@ 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. +## Sensor + +### Bandwidth sensor + +Get entities reporting receiving and transmitting bandwidth per network client. + ## Debugging integration If you have problems with UniFi or the integration you can add debug prints to the log. diff --git a/source/_integrations/velbus.markdown b/source/_integrations/velbus.markdown index 9020ba8eaaf..cf61cce1ce9 100644 --- a/source/_integrations/velbus.markdown +++ b/source/_integrations/velbus.markdown @@ -57,6 +57,37 @@ port: type: string {% endconfiguration %} +## Services + +- `velbus.sync clock`: Synchronize Velbus time to local clock. +- `velbus.set_memo_text`: Show memo text on Velbus display modules. + +### Service `velbus.sync_clock` + +You can use the service `velbus.sync clock` to synchronize the clock of the Velbus modules to the clock of the machine running Home Assistant. This is the same as the 'sync clock' button at the VelbusLink software. + +### Service `velbus.set_memo_text` + +You can use the service `velbus.set_memo_text` to provide the memo text to be displayed at Velbus modules like VMBGPO(D) and VMBELO. + +| Service data attribute | Optional | Description | +| ---------------------- | -------- | ---------------------------------------- | +| `address` | no | The module address in decimal format, which is displayed at the device list at the integration page. | +| `memo_text` | yes | Text to be displayed on module. When no memo text is supplied the memo text will be cleared. | + +Example: + +```yaml +script: + trash_memo: + alias: Trash memo text + sequence: + - data: + address: 65 + memo_text: "It's trash day" + service: velbus.set_memo_text +``` + ## Example automation The Velbus integration allows you to link a Velbus button (i.e., a button of a [VMBGPOD](https://www.velbus.eu/products/view/?id=416302&lang=en) module) to a controllable entity of Home Assistant. diff --git a/source/_integrations/vicare.markdown b/source/_integrations/vicare.markdown index 075ad9406b5..40a7ab4af25 100644 --- a/source/_integrations/vicare.markdown +++ b/source/_integrations/vicare.markdown @@ -51,11 +51,25 @@ heating_type: required: false type: string default: generic +scan_interval: + description: The update frequency of this component in seconds. See [Viessmann API limits](#viessmann-api-limits) + default: 60 + required: false + type: integer {% endconfiguration %} Two components will be created: `climate.vicare_heating` and `water_heater.vicare_water` (for domestic hot water). Unless you specify a `circuit` parameter, it will pick up the first heating circuit of your installation. +## Viessmann API limits + +Recently Viessmann has introduced a rate limit on their REST API. If you exceed one of the limits below you will be banned for 24 hours: + +- Limit 1: 120 calls for a time window of 10 minutes +- Limit 2: 1450 calls for a time window of 24 hours + +The default `scan_interval` of 60 seconds will work within these limits. Note however that any additional requests to the API, e.g., by setting the temperature via the integration but also by interacting with the ViCare app also counts into those limits. It is therefore advised to adjust the scan_interval to your usage scenario. + ## Climate A note about the current temperature attribute: Viessmann devices with room temperature sensing will show the current room temperature via `current_temperature`. All other devices will show the current supply temperature of the heating circuit. @@ -94,12 +108,13 @@ The `climate.vicare_heating` component has the following mapping of HVAC modes t #### Service `set_preset_mode` -Sets the preset mode. Supported preset modes are *eco* and *comfort*. These are identical to the respective Viessmann programs and are only temporary. Please consult your heating device manual for more information. +Sets the preset mode. Supported preset modes are *eco* and *comfort*. These are identical to the respective Viessmann programs and are only active temporarily for 8 hours. +Eco mode reduces the target temperature by 3°C, whereas Comfort mode sets the target temperature to a configurable value. Please consult your heating device manual for more information. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | | `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. To target all entities, use `all` keyword instead of entity_id. -| `preset_mode` | no | New value of hold mode. +| `preset_mode` | no | New value of preset mode. ## Water Heater diff --git a/source/_integrations/vizio.markdown b/source/_integrations/vizio.markdown index 9a3a2fa4382..6baed3abd32 100644 --- a/source/_integrations/vizio.markdown +++ b/source/_integrations/vizio.markdown @@ -41,11 +41,11 @@ Write down its IP address and port number. If you have trouble finding a device ## Pairing -This integration requires an access token in order to communicate with TVs (speakers do not need an access token). An access token can be obtained by going through a pairing process, either manually, or through the HA frontend. +This integration requires an access token in order to communicate with TVs (speakers do not need an access token). An access token can be obtained by going through a pairing process, either manually, or through the Home Assistant frontend. -### Pair using the HA frontend +### Pair using the Home Assistant frontend - - **Using `configuration.yaml`:** If you have a `vizio` entry in `configuration.yaml` but don't provide an access token value in your configuration, after you initialize HomeAssistant, you will see a Vizio SmartCast device ready to be configured. When you open the configuration window, you will be guided through the pairing process. While HA will store the access token for the life of your `vizio` entity, it is a good idea to note the access token value displayed in the window and add it to your `configuration.yaml`. This will ensure that you will not have to go through the pairing process again in the future if you decide to rebuild your HA instance. + - **Using `configuration.yaml`:** If you have a `vizio` entry in `configuration.yaml` but don't provide an access token value in your configuration, after you initialize Home Assistant, you will see a Vizio SmartCast device ready to be configured. When you open the configuration window, you will be guided through the pairing process. While Home Assistant will store the access token for the life of your `vizio` entity, it is a good idea to note the access token value displayed in the window and add it to your `configuration.yaml`. This will ensure that you will not have to go through the pairing process again in the future if you decide to rebuild your Home Assistant instance. - **Using discovery or manual setup through the Integrations menu:** To initiate the pairing process, submit your initial configuration with an empty Access Token value. ### Pair manually using the CLI @@ -120,7 +120,7 @@ name: type: string default: Vizio SmartCast access_token: - description: Authentication token you received in the last step of the pairing process. This token is only needed if your device is a TV, and you can opt not to provide it in your configuration and instead go through the pairing process via the HA frontend. + description: Authentication token you received in the last step of the pairing process. This token is only needed if your device is a TV, and you can opt not to provide it in your configuration and instead go through the pairing process via the Home Assistant frontend. required: false type: string device_class: @@ -177,16 +177,10 @@ apps: ### Obtaining an app configuration -If there is an app you want to be able to launch from Home Assistant that isn't detected by default, you will need to specify the app configuration in `configuration.yaml`. In order to determine the values to specify for each configuration parameter, launch the app you want to configure on your device, and run the following command (requires `pyvizio` to be installed locally): - -```bash -pyvizio --ip={IP:PORT} get-current-app-config -``` - -`pyvizio` will return the value of the three parameters (`APP_ID`, `NAME_SPACE`, `MESSAGE`) for the currently running app which you can then include in your configuration. +If there is an app you want to be able to launch from Home Assistant that isn't detected by default, you will need to specify the app configuration in `configuration.yaml`. This configuration can be obtained from the `app_id` state attribute when an unknown app is running on your device. ### Obtaining a list of valid apps to include or exclude -To get the list of apps that can be excluded or included, run the following command (requires `pyvizio` to be installed locally): +The list of apps that are provided by default is statically defined [here](https://github.com/vkorn/pyvizio/blob/master/pyvizio/const.py#L23). If you'd prefer a more concise list, you can either view the source list of a Vizio Smart TV in the Home Assistant frontend, or run the following command (requires `pyvizio` to be installed locally): ```bash pyvizio --ip=0 get-apps-list diff --git a/source/_integrations/wled.markdown b/source/_integrations/wled.markdown index 7a5136c68ac..52186c783c7 100644 --- a/source/_integrations/wled.markdown +++ b/source/_integrations/wled.markdown @@ -45,13 +45,17 @@ entity. Only native supported features of a light in Home Assistant are supported (which includes effects). -## Sensors +## Sensors -This integration provides sensors for the following information from WLED: +This integration provides sensors for the following information from WLED: -- Estimated current. -- Uptime. -- Free memory. +- Estimated current (in mA). +- Uptime (disabled by default) +- Free memory (in bytes, disabled by default). +- Wi-Fi Signal Strength (in %m disabled by default). +- Wi-Fi Signal Strength (RSSI in dBm). +- Wi-Fi Channel (disabled by default). +- Wi-Fi BSSID (disabled by default). ## Switches @@ -63,4 +67,20 @@ The integration will create a number of switches: ## Services -This integration currently does not offer any additional services. +Currently, the WLED integration provides one service for controlling effect. +More services for other WLED features are expected to be added in the future. + +### Service `wled.effect` + +This service allows for controlling the WLED effect. + +| Service Data Attribute | Required | Description | +| ---------------------- | -------- | --------------------------------------------------------------------------------------------------------------- | +| `entity_id` | no | A WLED entity ID, or list entity IDs, to apply the effect to. Use `entity_id: all` to target all WLED entities. | +| `effect` | no | Name or ID of the WLED light effect. | +| `intensity` | no | Intensity of the effect. | +| `speed` | no | Speed of the effect. Number between `0` (slow) and `255` (fast). | +| `reverse` | no | Reverse the effect. Either `true` to reverse or `false` otherwise. | + +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). diff --git a/source/_integrations/yeelight.markdown b/source/_integrations/yeelight.markdown index 6ff7f6258ae..11f96266756 100644 --- a/source/_integrations/yeelight.markdown +++ b/source/_integrations/yeelight.markdown @@ -81,7 +81,7 @@ devices: required: false type: string model: - description: "Yeelight model. Possible values are `mono1`, `color1`, `color2`, `strip1`, `bslamp1`, `ceiling1`, `ceiling2`, `ceiling3`, `ceiling4`. The setting is used to enable model specific features f.e. a particular color temperature range. Its also used to setup device, if its not available and discovery if disabled, during Home Assistant startup. If model is not specified, it will be guessed, by integration by looking at supported properties, reported by device." + description: "Yeelight model. Possible values are `mono1`, `color1`, `color2`, `strip1`, `bslamp1`, `ceiling1`, `ceiling2`, `ceiling3`, `ceiling4`, `ceiling13`. The setting is used to enable model specific features f.e. a particular color temperature range. Its also used to setup device, if its not available and discovery if disabled, during Home Assistant startup. If model is not specified, it will be guessed, by integration by looking at supported properties, reported by device." required: false type: string custom_effects: @@ -151,6 +151,7 @@ This integration is tested to work with the following models. If you have a diff | `ceiling3` | YLXD05YL | Yeelight Ceiling Light (Jiaoyue 480) | | `ceiling4` | YLXD02YL | Yeelight Ceiling Light (Jiaoyue 650) | | `mono` | YLTD03YL | Yeelight Serene Eye-Friendly Desk Lamp | +| `ceiling13` | YLXD01YL | Yeelight LED Ceiling Light | ## Services diff --git a/source/_lovelace/entities.markdown b/source/_lovelace/entities.markdown index d36977174c6..2c1288707b4 100644 --- a/source/_lovelace/entities.markdown +++ b/source/_lovelace/entities.markdown @@ -264,6 +264,65 @@ icon: default: "`mdi:link`" {% endconfiguration %} +### Buttons + +{% configuration %} +type: + required: true + description: buttons + type: string +entities: + required: true + description: A list of entities to show. Each entry is either an entity ID or a map. + type: list + keys: + entity: + required: true + description: The entity to render. + type: string + icon: + required: false + description: Override the entity icon. + type: string + image: + required: false + description: Override the entity image. + type: string + name: + required: false + description: Label for the button + type: string +{% endconfiguration %} + +### Attribute + +{% configuration %} +type: + required: true + description: attribute + type: string +entity: + required: true + description: Home Assistant entity ID. + type: string +attribute: + required: true + description: Attribute to display from the entity. + type: string +prefix: + required: false + description: Text before entity state. + type: string +suffix: + required: false + description: Text after entity state. + type: string +name: + required: false + description: Overwrites friendly name. + type: string +{% endconfiguration %} + ## Example Entity rows: diff --git a/source/_lovelace/entity.markdown b/source/_lovelace/entity.markdown new file mode 100644 index 00000000000..737fd6e3265 --- /dev/null +++ b/source/_lovelace/entity.markdown @@ -0,0 +1,66 @@ +--- +title: "Entity Card" +sidebar_label: Entity +description: "The Entity card gives you a quick overview of your entity's state" +--- + +The Entity card gives you a quick overview of your entity's state. + +

+ Screenshot of the entity card + Screenshot of the entity card. +

+ +{% configuration %} +type: + required: true + description: entity + type: string +entity: + required: true + description: Home Assistant entity ID. + type: string +name: + required: false + description: Name of Entity + type: string + default: Entity Name +icon: + required: false + description: Overwrites icon. + type: string +attribute: + required: false + description: An attribute associated with the `entity` + type: string +unit: + required: false + description: Unit of Measurement given to data + type: string + default: "Unit Of Measurement given by entity" +theme: + required: false + description: Set to any theme within `themes.yaml` + type: string +footer: + required: false + description: Footer widget to render. See [footer documentation](/lovelace/header-footer/). + type: map +{% endconfiguration %} + +## Example + +```yaml +- type: entity + entity: cover.kitchen_window +- type: entity + entity: light.bedroom + attribute: brightness + unit: '%' +- type: entity + entity: vacuum.downstairs + name: Vacuum + icon: 'mdi:battery' + attribute: battery_level + unit: '%' +``` \ No newline at end of file diff --git a/source/_lovelace/map.markdown b/source/_lovelace/map.markdown index eb2ae770851..611ad44655c 100644 --- a/source/_lovelace/map.markdown +++ b/source/_lovelace/map.markdown @@ -42,6 +42,11 @@ dark_mode: description: Enable a dark theme for the map. type: boolean default: false +hours_to_show: + required: false + description: Shows a path of previous locations. Hours to show as path on the map. + type: integer + default: 0 {% endconfiguration %}
@@ -74,3 +79,10 @@ geo_location_sources: entities: - zone.home ``` + +```yaml +type: map +entities: + - device_tracker.demo_paulus +hours_to_show: 48 +``` diff --git a/source/_lovelace/markdown.markdown b/source/_lovelace/markdown.markdown index d4eaa7a0feb..6b443900371 100644 --- a/source/_lovelace/markdown.markdown +++ b/source/_lovelace/markdown.markdown @@ -81,3 +81,18 @@ card: ``` {% endraw %} + + +A special template variable - `user` is set up for the `content` of the card. It contains the currently logged in user. + +For example: + +{% raw %} + +```yaml +type: markdown +content: | + Hello, {{user}} +``` + +{% endraw %} \ No newline at end of file diff --git a/source/_lovelace/picture-glance.markdown b/source/_lovelace/picture-glance.markdown index b1f538974f4..bd99a9c2505 100644 --- a/source/_lovelace/picture-glance.markdown +++ b/source/_lovelace/picture-glance.markdown @@ -90,6 +90,18 @@ entity: required: true description: Home Assistant entity ID. type: string +attribute: + required: false + description: Attribute of the entity to display instead of the state + type: string +prefix: + required: false + description: Prefix to display before the attribute's value + type: string +suffix: + required: false + description: Suffix to display after the attribute's value + type: string icon: required: false description: Overwrites default icon. diff --git a/source/_posts/2016-01-17-extended-support-for-diy-solutions.markdown b/source/_posts/2016-01-17-extended-support-for-diy-solutions.markdown index 48d3b1e7e61..6cdce85ed42 100644 --- a/source/_posts/2016-01-17-extended-support-for-diy-solutions.markdown +++ b/source/_posts/2016-01-17-extended-support-for-diy-solutions.markdown @@ -13,7 +13,7 @@ First release of 2016 and we are on 🔥! The [main repository][github-ha] has p [github-ha]: https://github.com/home-assistant/home-assistant/ [release-pr]: https://github.com/home-assistant/home-assistant/pull/883#partial-users-participants - + - [MySensors] revamped and switch support added ([@MartinHjelmare][@MartinHjelmare]) - Full refactor of RPi GPIO. Now includes [binary sensor][rpi-bs] and [switch][rpi-s] ([@sfam]) @@ -53,7 +53,6 @@ First release of 2016 and we are on 🔥! The [main repository][github-ha] has p [Cast]: /integrations/cast [Universal media player]: /integrations/universal [Netatmo]: /integrations/netatmo#sensor -[Alarm.com]: /integrations/alarmdotcom [Proliphix]: /integrations/proliphix/ [rpi-bs]: /integrations/rpi_gpio#binary-sensor [rpi-s]: /integrations/rpi_gpio#switch diff --git a/source/_posts/2017-04-22-ikea-tradfri--spotify.markdown b/source/_posts/2017-04-22-ikea-tradfri--spotify.markdown index deb6f410341..d03d206803d 100644 --- a/source/_posts/2017-04-22-ikea-tradfri--spotify.markdown +++ b/source/_posts/2017-04-22-ikea-tradfri--spotify.markdown @@ -132,7 +132,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Bump pywemo version. ([@pavoni] - [#7004]) - Fix Synology camera content type ([@balloob] - [#7010]) ([camera.synology docs]) - Fix two more instances of JSON parsing synology ([@balloob] - [#7014]) -- Bump pyalarmdotcom to support new version of aiohttp ([@Xorso] - [#7021]) ([alarm_control_panel.alarmdotcom docs]) +- Bump pyalarmdotcom to support new version of aiohttp ([@Xorso] - [#7021]) - Fix US states check (fixes #7015) ([@fabaff] - [#7017]) - Remove deprecated remote classes ([@balloob] - [#7011]) (breaking change) - Replace 'vendor_id' with 'arch' (fixes #7003) ([@fabaff] - [#7023]) @@ -417,7 +417,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [@turbokongen]: https://github.com/turbokongen [@viswa-swami]: https://github.com/viswa-swami -[alarm_control_panel.alarmdotcom docs]: /integrations/alarmdotcom [arduino docs]: /integrations/arduino/ [automation docs]: /integrations/automation/ [binary_sensor.ping docs]: /integrations/ping#binary-sensor diff --git a/source/_posts/2017-09-09-release-53.markdown b/source/_posts/2017-09-09-release-53.markdown index d0c05471051..60b0cf9b522 100644 --- a/source/_posts/2017-09-09-release-53.markdown +++ b/source/_posts/2017-09-09-release-53.markdown @@ -62,7 +62,7 @@ This release ships a new KNX implementation thanks to @Julius2342. It will insta - Bayesian Binary Sensor ([@jlmcgehee21] - [#8810]) ([binary_sensor.bayesian docs]) (new-platform) - Add Tank Utility sensor ([@krismolendyke] - [#9132]) ([sensor.tank_utility docs]) (new-platform) - Tesla platform ([@zabuldon] - [#9211]) ([tesla docs]) ([binary_sensor.tesla docs]) ([climate.tesla docs]) ([device_tracker.tesla docs]) ([lock.tesla docs]) ([sensor.tesla docs]) (new-platform) -- mopar sensor ([@happyleavesaoc] - [#9136]) ([sensor.mopar docs]) (new-platform) +- mopar sensor ([@happyleavesaoc] - [#9136]) (new-platform) - Add Geofency device tracker ([@gunnarhelgason] - [#9106]) ([device_tracker.geofency docs]) (new-platform) - Added DWD WarnApp Sensor ([@runningman84] - [#8657]) ([sensor.dwdwarnapp docs]) (new-platform) - Add input_text component ([@BioSehnsucht] - [#9112]) ([input_text docs]) (new-platform) @@ -147,7 +147,7 @@ frontend: - Allow panels with external URL ([@andrey-git] - [#9214]) - Use ZCL mandatory attribute to determine ZHA light capabilities ([@jkl1337] - [#9232]) ([light.zha docs]) - A bugfix for pushbullet ([@danielhiversen] - [#9237]) ([notify.pushbullet docs]) -- mopar sensor ([@happyleavesaoc] - [#9136]) ([sensor.mopar docs]) (new-platform) +- mopar sensor ([@happyleavesaoc] - [#9136]) (new-platform) - Upgrade discord.py to 0.16.11 ([@fabaff] - [#9239]) ([notify.discord docs]) - Skip automatic events older than latest data ([@armills] - [#9230]) ([device_tracker.automatic docs]) - title and message was swapped in pushbullet ([@danielhiversen] - [#9241]) ([notify.pushbullet docs]) @@ -419,7 +419,6 @@ frontend: [sensor.dwdwarnapp docs]: /integrations/dwd_weather_warnings/ [sensor.fitbit docs]: /integrations/fitbit [sensor.homematic docs]: /integrations/homematic -[sensor.mopar docs]: /integrations/mopar [sensor.radarr docs]: /integrations/radarr [sensor.season docs]: /integrations/season [sensor.shodan docs]: /integrations/shodan diff --git a/source/_posts/2017-09-23-release-54.markdown b/source/_posts/2017-09-23-release-54.markdown index b9cd78296f5..74f96dcd0c2 100644 --- a/source/_posts/2017-09-23-release-54.markdown +++ b/source/_posts/2017-09-23-release-54.markdown @@ -60,7 +60,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Allow multiple observations of same entity ([@jlmcgehee21] - [#9391]) ([binary_sensor.bayesian docs]) - Break up Alexa per functionality ([@balloob] - [#9400]) ([alexa docs]) - Upgrade psutil to 5.3.1 ([@fabaff] - [#9403]) ([sensor.systemmonitor docs]) -- fix mopar sensor ([@happyleavesaoc] - [#9389]) ([sensor.mopar docs]) +- fix mopar sensor ([@happyleavesaoc] - [#9389]) - Support specifying no Apple TVs ([@postlund] - [#9394]) ([apple_tv docs]) - Update netdisco to 1.2.0 ([@balloob] - [#9408]) - components/xiaomi: Add initial discovery using NetDisco. ([@pfalcon] - [#9283]) @@ -329,7 +329,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [sensor.fitbit docs]: /integrations/fitbit [sensor.homematic docs]: /integrations/homematic [sensor.knx docs]: /integrations/sensor.knx/ -[sensor.mopar docs]: /integrations/mopar [sensor.onewire docs]: /integrations/onewire [sensor.swiss_public_transport docs]: /integrations/swiss_public_transport [sensor.systemmonitor docs]: /integrations/systemmonitor diff --git a/source/_posts/2018-01-14-release-61.markdown b/source/_posts/2018-01-14-release-61.markdown index eed5ed65952..ca46f72339d 100644 --- a/source/_posts/2018-01-14-release-61.markdown +++ b/source/_posts/2018-01-14-release-61.markdown @@ -56,7 +56,7 @@ broadlink.send_packet_192_168_0_107 -> switch.broadlink_send_packet_192_168_0_10 ## Release 0.61.1 - January 16 - Fix zha color probe ([@rcloran] - [#11670]) ([zha docs]) ([light.zha docs]) -- Move several local services to their right domain ([@amelchio] - [#11677]) ([calendar.todoist docs]) ([media_player.snapcast docs]) ([media_player.soundtouch docs]) ([sensor.mopar docs]) ([switch.broadlink docs]) ([switch.scsgate docs]) (breaking change) +- Move several local services to their right domain ([@amelchio] - [#11677]) ([calendar.todoist docs]) ([media_player.snapcast docs]) ([media_player.soundtouch docs]) ([switch.broadlink docs]) ([switch.scsgate docs]) (breaking change) - Rfxtrx fix ([@danielhiversen] - [#11678]) ([rfxtrx docs]) ([binary_sensor.rfxtrx docs]) - History order bugfix and opt-in option ([@rwa] - [#11686]) ([history docs]) - Fix purge with MariaDB / MySQL ([@tinloaf] - [#11713]) @@ -155,7 +155,7 @@ Note however, that this feature was replaced by a new ignore_string config optio broadlink.learn_command_192_168_0_107 -> switch.broadlink_learn_command_192_168_0_107 broadlink.send_packet_192_168_0_107 -> switch.broadlink_send_packet_192_168_0_107 ``` - ([@amelchio] - [#11677]) ([calendar.todoist docs]) ([media_player.snapcast docs]) ([media_player.soundtouch docs]) ([sensor.mopar docs]) ([switch.broadlink docs]) ([switch.scsgate docs]) (breaking change) + ([@amelchio] - [#11677]) ([calendar.todoist docs]) ([media_player.snapcast docs]) ([media_player.soundtouch docs]) ([switch.broadlink docs]) ([switch.scsgate docs]) (breaking change) ## All changes @@ -789,7 +789,6 @@ Note however, that this feature was replaced by a new ignore_string config optio [media_player.snapcast docs]: /integrations/snapcast [media_player.soundtouch docs]: /integrations/soundtouch [rfxtrx docs]: /integrations/rfxtrx/ -[sensor.mopar docs]: /integrations/mopar [switch.broadlink docs]: /integrations/broadlink#switch [switch.scsgate docs]: /integrations/scsgate#switch [zha docs]: /integrations/zha/ diff --git a/source/_posts/2018-03-09-release-65.markdown b/source/_posts/2018-03-09-release-65.markdown index a4aa5d24de9..244df69467d 100644 --- a/source/_posts/2018-03-09-release-65.markdown +++ b/source/_posts/2018-03-09-release-65.markdown @@ -318,7 +318,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - IMAP sensor async/await conversion ([@amelchio] - [#12988]) ([sensor.imap docs]) - Refactor Google Assistant ([@balloob] - [#12959]) ([google_assistant docs]) ([light docs]) (breaking change) - Bump pyEmby version to support aiohttp => 3 ([@mezz64] - [#12986]) ([media_player.emby docs]) -- Update pyalarmdotcom version ([@koolsb] - [#12987]) ([alarm_control_panel.alarmdotcom docs]) +- Update pyalarmdotcom version ([@koolsb] - [#12987]) - Show the error message when Zabbix fails to log in ([@cyberjacob] - [#12985]) ([zabbix docs]) - Script/gen_requirements: Ignore package families ([@cdce8p] - [#12963]) - Fix Sonos group discovery ([@amelchio] - [#12970]) ([media_player.sonos docs]) @@ -540,7 +540,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [@teharris1]: https://github.com/teharris1 [@thejta]: https://github.com/thejta [@turbokongen]: https://github.com/turbokongen -[alarm_control_panel.alarmdotcom docs]: /integrations/alarmdotcom [alarm_control_panel.concord232 docs]: /integrations/concord232#alarm-control-panel [alarm_control_panel.egardia docs]: /integrations/egardia [api docs]: /integrations/api/ diff --git a/source/_posts/2018-05-11-release-69.markdown b/source/_posts/2018-05-11-release-69.markdown index 73fb677f3a9..74770657e33 100644 --- a/source/_posts/2018-05-11-release-69.markdown +++ b/source/_posts/2018-05-11-release-69.markdown @@ -172,7 +172,7 @@ rainmachine: - Sensor device classes ([@cdce8p] - [#14282]) ([sensor docs]) (breaking change) - Matrix Chatbot ([@tinloaf] - [#13355]) ([matrix docs]) ([notify docs]) (breaking change) (new-platform) - deCONZ add new device without restart ([@Kane610] - [#14221]) ([deconz docs]) ([binary_sensor.deconz docs]) ([light.deconz docs]) ([sensor.deconz docs]) -- Add alarmdotcom sensor status ([@jnewland] - [#14254]) ([alarm_control_panel.alarmdotcom docs]) +- Add alarmdotcom sensor status ([@jnewland] - [#14254]) - Add domain to labels and count state changes to Prometheus ([@jnewland] - [#14253]) ([prometheus docs]) - Add support for max_volume ([@relvacode] - [#13822]) ([media_player.onkyo docs]) - Refactor ImageProcessingFaceEntity ([@robmarkcole] - [#14296]) ([image_processing docs]) ([image_processing.dlib_face_detect docs]) ([image_processing.dlib_face_identify docs]) ([image_processing.microsoft_face_detect docs]) ([image_processing.microsoft_face_identify docs]) @@ -372,7 +372,6 @@ rainmachine: [@thelittlefireman]: https://github.com/thelittlefireman [@tinloaf]: https://github.com/tinloaf [abode docs]: /integrations/abode/ -[alarm_control_panel.alarmdotcom docs]: /integrations/alarmdotcom [auth docs]: /integrations/auth/ [binary_sensor docs]: /integrations/binary_sensor/ [binary_sensor.deconz docs]: /integrations/deconz#binary-sensor diff --git a/source/_posts/2018-07-16-release-73-2.markdown b/source/_posts/2018-07-16-release-73-2.markdown index 1e828f16c56..f288fa7470f 100644 --- a/source/_posts/2018-07-16-release-73-2.markdown +++ b/source/_posts/2018-07-16-release-73-2.markdown @@ -14,7 +14,6 @@ A man in the middle attack is when an attacker is able to inject itself between After research, the following integrations have been impacted. Although the odds are extremely small, we still suggest that if you use any of these integrations, to create new API keys or change your password. -- [alarm_control_panel.alarmdotcom](/integrations/alarmdotcom) - [climate.sensibo](/integrations/sensibo) - [cloud](/integrations/cloud/) (only short lived tokens impacted) - [device_tracker.automatic](/integrations/automatic) diff --git a/source/_posts/2019-01-23-release-86.markdown b/source/_posts/2019-01-23-release-86.markdown index 3851d2f357b..bcace0a82a3 100644 --- a/source/_posts/2019-01-23-release-86.markdown +++ b/source/_posts/2019-01-23-release-86.markdown @@ -279,7 +279,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Lowercase code format ([@balloob] - [#20077]) ([alarm_control_panel docs]) (breaking change) - fix logic error in dubln bus ([@ttroy50] - [#20075]) ([sensor.dublin_bus_transport docs]) - Bump abode to 0.15.0 ([@shred86] - [#20064]) ([abode docs]) -- Change return text code for alarm control panels ([@arsaboo] - [#20055]) ([alarm_control_panel.alarmdotcom docs]) +- Change return text code for alarm control panels ([@arsaboo] - [#20055]) - Adjust OpenUV integration for upcoming API limit changes ([@bachya] - [#19949]) ([openuv docs]) (breaking change) - Fix ihc issues caused by update to defusedxml ([@mopolus] - [#20091]) ([ihc docs]) - Move ESPHome Source Files ([@OttoWinter] - [#20092]) ([esphome docs]) @@ -596,7 +596,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [abode docs]: /integrations/abode/ [ads docs]: /integrations/ads/ [alarm_control_panel docs]: /integrations/alarm_control_panel/ -[alarm_control_panel.alarmdotcom docs]: /integrations/alarmdotcom [alarm_control_panel.arlo docs]: /integrations/arlo [alarm_control_panel.elkm1 docs]: /integrations/elkm1 [alarm_control_panel.homekit_controller docs]: /integrations/homekit_controller diff --git a/source/_posts/2019-03-20-release-90.markdown b/source/_posts/2019-03-20-release-90.markdown index 0e5310b1341..3ce287d3d2d 100644 --- a/source/_posts/2019-03-20-release-90.markdown +++ b/source/_posts/2019-03-20-release-90.markdown @@ -227,7 +227,7 @@ Users will need to change `- platform: firetv` to `- platform: androidtv` in the - ZHA fixes ([@dmulcahey] - [#21592]) ([zha docs]) - Update pyhomematic ([@danielperna84] - [#21600]) ([homematic docs]) - Add parameter hold_secs for Harmony remote send command ([@ehendrix23] - [#19650]) ([remote docs]) ([remote.harmony docs]) -- Upgrade motorparts to 1.1.0 ([@rohankapoorcom] - [#21602]) ([sensor.mopar docs]) +- Upgrade motorparts to 1.1.0 ([@rohankapoorcom] - [#21602]) - Further Yale ZWave lock device mapping cleanup ([@mw-white] - [#21128]) ([zwave docs]) - Added support for multiple Netatmo thermostats/valves ([@shanbs] - [#19407]) ([netatmo docs]) ([climate.netatmo docs]) (breaking change) - Add the velbus sync clock service ([@Cereal2nd] - [#21308]) ([velbus docs]) @@ -792,7 +792,6 @@ Users will need to change `- platform: firetv` to `- platform: androidtv` in the [sensor.dsmr docs]: /integrations/dsmr [sensor.flunearyou docs]: /integrations/flunearyou [sensor.loopenergy docs]: /integrations/loopenergy -[sensor.mopar docs]: /integrations/mopar [sensor.mqtt_room docs]: /integrations/mqtt_room [sensor.netdata docs]: /integrations/netdata [sensor.nmbs docs]: /integrations/nmbs diff --git a/source/_posts/2019-04-03-release-91.markdown b/source/_posts/2019-04-03-release-91.markdown index 907e0548259..8ea193bece9 100644 --- a/source/_posts/2019-04-03-release-91.markdown +++ b/source/_posts/2019-04-03-release-91.markdown @@ -105,7 +105,7 @@ If you run hass.io on an Intel NUC and haven't seen it yet, check out the VS Cod ## Release 0.91.2 - April 8 -- Correctly load Mopar's config ([@rohankapoorcom] - [#22771]) ([mopar docs]) +- Correctly load Mopar's config ([@rohankapoorcom] - [#22771]) - Fix konnected unique_id computation for switches ([@heythisisnate] - [#22777]) ([konnected docs]) (breaking change) - make the custom polling actually request state ([@dmulcahey] - [#22778]) ([zha docs]) - ZHA Light debug logging. ([@Adminiuga] - [#22776]) ([zha docs]) @@ -153,7 +153,6 @@ If you run hass.io on an Intel NUC and haven't seen it yet, check out the VS Cod [hassio docs]: /integrations/hassio/ [konnected docs]: /integrations/konnected/ [mobile_app docs]: /integrations/mobile_app/ -[mopar docs]: /integrations/mopar/ [tado docs]: /integrations/tado/ [yeelight docs]: /integrations/yeelight/ [zha docs]: /integrations/zha/ @@ -212,7 +211,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - __Dark Sky__ - Dark Sky provides hourly forecasts for various monitored conditions. This change creates new sensors for each hourly forecasted condition with suffix `_h` while adding the suffix `_d` to the daily forecasted conditions. For example, now a `sensor.dark_sky_summary_d` and `sensor.dark_sky_summary_h` will be created if the forecast and hourly_forecast parameters are populated. ([@rtclauss] - [#21820]) ([darksky docs]) - __Konnected__ - This will change the internal unique_id for Konnected switches (i.e., siren, buzzer, generic switch). Users will need to manually remove the orphaned switch entities from the entity registry after updating and re-configure any changes stored in the entity registry (i.e., name and entity_id), as their unique IDs will change. ([@heythisisnate] - [#22389]) ([konnected docs]) -- __Mopar__ - The mopar sensor platform has been broken up into a base component with sensor, switch, and lock platforms. The sensor.mopar_remote_command service has been removed since the functionality has been folded into the new platforms and the new mopar.sound_horn service. Please view the documentation to see the new setup instructions. ([@rohankapoorcom] - [#21526]) ([mopar docs]) +- __Mopar__ - The mopar sensor platform has been broken up into a base component with sensor, switch, and lock platforms. The sensor.mopar_remote_command service has been removed since the functionality has been folded into the new platforms and the new mopar.sound_horn service. Please view the documentation to see the new setup instructions. ([@rohankapoorcom] - [#21526]) ## Beta Fixes @@ -415,7 +414,7 @@ Experiencing issues introduced by this release? Please report them in our [issue - Move HKDevice into connection ([@Jc2k] - [#22430]) ([homekit_controller docs]) - Incoming SMS handling for netgear_lte ([@amelchio] - [#22402]) ([netgear_lte docs]) - Entur upgrade to v0.2.0: async polling, number of departures, omit non boarding departures ([@hfurubotten] - [#22001]) ([entur_public_transport docs]) -- Mopar split ([@rohankapoorcom] - [#21526]) ([mopar docs]) (breaking change) +- Mopar split ([@rohankapoorcom] - [#21526]) (breaking change) - Fix too-abrubt SimpliSafe data refresh termination on error ([@bachya] - [#22466]) ([simplisafe docs]) - Great migration notify ([@robbiet480] - [#22406]) - Print error instead of warning for custom platforms in legacy format ([@balloob] - [#22486]) @@ -795,7 +794,6 @@ Experiencing issues introduced by this release? Please report them in our [issue [microsoft docs]: /integrations/microsoft/ [mold_indicator docs]: /integrations/mold_indicator/ [moon docs]: /integrations/moon/ -[mopar docs]: /integrations/mopar/ [mqtt docs]: /integrations/mqtt/ [nanoleaf docs]: /integrations/nanoleaf/ [ness_alarm docs]: /integrations/ness_alarm/ diff --git a/source/_posts/2019-10-30-release-101.markdown b/source/_posts/2019-10-30-release-101.markdown index b92b1f5692a..88d569ae846 100644 --- a/source/_posts/2019-10-30-release-101.markdown +++ b/source/_posts/2019-10-30-release-101.markdown @@ -574,7 +574,7 @@ The **holiday name** sensor has been renamed to **holiday**. ([@tsvi] - [#27654] - Move imports in nest component ([@Quentame] - [#27778]) ([nest docs]) - moved imports to top level ([@Bouni] - [#27781]) ([airvisual docs]) - Move imports in netgear component ([@Quentame] - [#27776]) ([netgear docs]) -- moved imports to top level ([@Bouni] - [#27784]) ([alarmdotcom docs]) +- moved imports to top level ([@Bouni] - [#27784]) - Generate ADB key for Android TV integration ([@JeffLIrion] - [#27344]) ([androidtv docs]) - moved imports to top level ([@Bouni] - [#27782]) ([aladdin_connect docs]) - Move imports in android_ip_webcam component ([@Bouni] - [#27797]) ([android_ip_webcam docs]) @@ -709,7 +709,7 @@ The **holiday name** sensor has been renamed to **holiday**. ([@tsvi] - [#27654] - Move imports in eliqonline component ([@djpremier] - [#27980]) ([eliqonline docs]) - Move imports in frontend component ([@djpremier] - [#27988]) ([frontend docs]) - Move imports in message_bird component ([@djpremier] - [#28022]) ([message_bird docs]) -- Move imports in mopar component ([@djpremier] - [#28028]) ([mopar docs]) +- Move imports in mopar component ([@djpremier] - [#28028]) - Move imports in mvglive component ([@djpremier] - [#28031]) ([mvglive docs]) - Move imports in mpd component ([@djpremier] - [#28030]) ([mpd docs]) - Move imports in namecheapdns component ([@djpremier] - [#28034]) ([namecheapdns docs]) @@ -1527,7 +1527,6 @@ The **holiday name** sensor has been renamed to **holiday**. ([@tsvi] - [#27654] [aladdin_connect docs]: /integrations/aladdin_connect/ [alarm_control_panel docs]: /integrations/alarm_control_panel/ [alarmdecoder docs]: /integrations/alarmdecoder/ -[alarmdotcom docs]: /integrations/alarmdotcom/ [alexa docs]: /integrations/alexa/ [alpha_vantage docs]: /integrations/alpha_vantage/ [amazon_polly docs]: /integrations/amazon_polly/ @@ -1735,7 +1734,6 @@ The **holiday name** sensor has been renamed to **holiday**. ([@tsvi] - [#27654] [miflora docs]: /integrations/miflora/ [mitemp_bt docs]: /integrations/mitemp_bt/ [mobile_app docs]: /integrations/mobile_app/ -[mopar docs]: /integrations/mopar/ [mpd docs]: /integrations/mpd/ [mqtt docs]: /integrations/mqtt/ [msteams docs]: /integrations/msteams/ diff --git a/source/_posts/2020-02-05-release-105.markdown b/source/_posts/2020-02-05-release-105.markdown index 69cca2c0277..c4e1c1515a6 100644 --- a/source/_posts/2020-02-05-release-105.markdown +++ b/source/_posts/2020-02-05-release-105.markdown @@ -755,7 +755,7 @@ Hats over your heart for these shuttered integrations. Pour one out for: - Removes Cisco Spark integration ([@frenck] - [#30738]) (breaking change) - Fix translation from HA playlist to UPnP playlistItem ([@StevenLooman] - [#30743]) ([dlna_dmr docs]) - Fix 'NewIPAddress' error in component fritz ([@basdelfos] - [#30210]) ([fritz docs]) ([fritzbox_netmonitor docs]) (breaking change) -- Fix small typo in alarmdotcom component ([@akinomeroglu] - [#30758]) ([alarmdotcom docs]) +- Fix small typo in alarmdotcom component ([@akinomeroglu] - [#30758]) - Fix supported_features in MQTT fan ([@springstan] - [#28680]) ([mqtt docs]) (breaking change) - Add support for the voltage sensor on the greeneye GEM ([@garbled1] - [#30484]) ([greeneye_monitor docs]) - Add Safe Mode ([@balloob] - [#30723]) ([frontend docs]) ([http docs]) ([safe_mode docs]) (breaking change) (new-integration) @@ -1413,7 +1413,6 @@ Hats over your heart for these shuttered integrations. Pour one out for: [adguard docs]: /integrations/adguard/ [airly docs]: /integrations/airly/ [alarmdecoder docs]: /integrations/alarmdecoder/ -[alarmdotcom docs]: /integrations/alarmdotcom/ [alexa docs]: /integrations/alexa/ [almond docs]: /integrations/almond/ [amcrest docs]: /integrations/amcrest/ diff --git a/source/_posts/2020-04-08-release-108.markdown b/source/_posts/2020-04-08-release-108.markdown new file mode 100644 index 00000000000..2daa0cdb0d1 --- /dev/null +++ b/source/_posts/2020-04-08-release-108.markdown @@ -0,0 +1,1175 @@ +--- +layout: post +title: "0.108: Logos, Area Pages, Lovelace Entity Card, Lovelace Map History" +description: "0.108: Adds Logos and Icons, new Area Configuration Pages, new Entity Card and Map History" +date: 2020-04-08 00:00:00 +date_formatted: "April 8, 2020" +author: Franck Nijhof +author_twitter: frenck +comments: true +categories: Release-Notes +og_image: /images/blog/2020-04-0.108/social.png +--- + + + +Before we talk about anything that matches the title of this blog post: + +On behalf of everybody working on the Home Assistant project, we hope you, your +family and loved ones are safe and remain healthy during this pandemic. +Our thoughts are with everyone that has been deeply affected by the current situation. + +Stay strong, keep distance from each other, wash your hands and stay safe. + +❤️ + +We made it all up to 0.107.7 the previous release, 7! patch releases. + +Some have noticed and commented on the fact we do a lot more patch releases +the past months, which is correct. This is not because everything was shipped +in a broken state, but we are trying to ship **any** bug fix to you as soon as +possible! Just so you don't have to wait 3 weeks for something to get fixed. + +So let's talk about the elephant in the room: Home Assistant Core 0.108! + +## Martin Hjelmare & Ashton Lafferty join Nabu Casa + +We want to start by announcing [Martin Hjelmare](https://github.com/MartinHjelmare) +has joined [Nabu Casa](https://www.nabucasa.com)! + +Martin is a core team member for a long time, and initially started out +contributing to the project by his work on the +[MySensors](https://www.home-assistant.io/integrations/mysensors/) integration +back in [Home Assistant 0.11](https://www.home-assistant.io/blog/2016/01/17/extended-support-for-diy-solutions/) +(2016)! Most contributors to Home Assistant, will know Martin for his endless +patience on the incredible code reviews he does. + +Furthermore, Ashton Lafferty (cogneato) has been working some hours for +Nabu Casa, to help out with things like support. Most of you probably know him +from that already, as he is very active in helping out on our +[Discord server](/join-chat). + +We are happy to announce that Ashton will now join Nabu Casa full-time as well! + +Congratulations Martin and Ashton! 🎉 + +## Integration logos & icons + +We have created a [new repository](https://github.com/home-assistant/brands) +on GitHub containing all the brand icons and logos Home Assistant is able to +integrate with. These images are, for example, used in our documentation. + +In 0.108, we made a start on using the content from this repository in the +Home Assistant frontend. The device information page got a layout update and +the integrations page as well. + +These pages will now show the icons and logos matching the integration. + +

+Screenshot of the device information page showing the Hue logo +Device information page showing the Hue logo. +

+ +Looking for a way to contribute to the Home Assistant project? +We still are missing a lot of images; So we are +[calling out for help](https://github.com/home-assistant/brands/issues)! + +## Many integrations now available to set up from the UI + +It is absolutely amazing to see all the upgraded integrations this release! +Many contributors have gone out and added support to a lot of integrations +to allow them to be configured via the Home Assistant frontend. + +Not all of them were ready in time for this release; nevertheless, the list is +amazing already: + +- [Freebox][freebox docs], done by [@Quentame] +- [Monoprice][monoprice docs], done by [@OnFreund] +- [Roku][roku docs], done by [@ctalkington] +- [Doorbird][doorbird docs], done by [@bdraco] +- [Elk-M1 Control][elkm1 docs], done by [@bdraco] +- [Logitech Harmony][harmony docs], done by [@bdraco] +- [MyQ][myq docs], done by [@bdraco] +- [Network UPS Tools (NUT)][nut docs], done by [@bdraco] +- [NuHeat][nuheat docs], done by [@bdraco] +- [Rachio][rachio docs], done by [@bdraco] + +Yes, [@bdraco] has been on fire this release! Amazing job! + +## Lovelace Map history + +Maybe not very useful during home quarantine, but a very cool feature for when +we are allowed to get out of our homes again. +[@Hoytron](https://github.com/Hoytron) added the ability to show the history of +persons or device trackers on the Lovelace map card. You can define how many hours of history +you want to show and it will draw lines between all the points in that +time frame. + +

+Screenshot of the map card with history +Screenshot of the map card with history. +

+ +## New Lovelace card: Entity + +[@zsarnett](https://github.com/zsarnett) added a new Lovelace card, the entity card. This card looks like the sensor card, but allows you to use any entity (not just sensors). + +

+Screenshot of the entity card +Screenshot of the entity card. +

+ +## Area configuration page + +We added an overview page for your areas. On this page you can see all the devices in the area, but also the automations, scenes and scripts that affect that area. + +

+Screenshot of the area config page +Screenshot of the area config page. +

+ +## Horizontal stack now handles different heights better + +When creating a Horizontal stack, the cards in the stack don't always line up +nicely. This has been adjusted. Horizontal stacks now deal better with the +difference in heights of the cards on the stack. + +

+Before and after screenshot for the Horizontal Stack improvements. +Before and after screenshot for the Horizontal Stack improvements. +

+ +## Other noteworthy changes + +- _**"Alexa, show the front door camera."**_ 😲 + [Alexa][alexa docs] now has support for Cameras, thanks [@ochlocracy]! + +- Selecting your default Lovelace dashboard has been moved to the user + profile page. + +- A lot of configuration pages are migrated to data tables, this means you can + now search in your automations, scenes, scripts, users and areas. + +- Lovelace cards in panel views can now also be edited with the UI editor. + +- The graph from the sensor card is now also available as a footer for the + entities and entity card. + +- The Markdown card has a new `user` variable that can be used to display the + currently logged in user. + +- With the ZHA Zigbee integration, Zigbee groups now dynamically create + entities for lights, switches and fans that are grouped together. This + enables near-simultaneous control over a large group of lights allowing + them to turn on or off at the exact same time. Thank you [@dmulcahey]! + +- Cameras added using the [ONVIF][onvif docs] integration now automatically + use the still images provided by the camera, instead of Home Assistant + generating one. Nice work [@roleoroleo]! + +- [WLED][wled docs] got quite a few internal upgrades, has added new Wi-Fi + sensors and now has a service to control the effects of your WLED device. + +- Docker images for Home Assistant are now using Jemalloc, to reduce memory + fragmentation and speed up memory allocation. So, less memory and generally + a faster Home Assistant. + +## New Integrations + +- Add Powerwalls integration ([@bdraco] - [#32851]) ([powerwall docs]) (new-integration) +- Add Nexia thermostat support (Trane / American Standard) ([@bdraco] - [#32826]) ([nexia docs]) (new-integration) +- Add pvpc electricity prices integration ([@azogue] - [#32092]) ([pvpc_hourly_pricing docs]) (new-integration) +- Add support for Bosch BMP280 Sensor ([@belidzs] - [#30837]) ([bmp280 docs]) (new-integration) +- Add Nextcloud Integration ([@meichthys] - [#30871]) ([nextcloud docs]) (new-integration) +- Add integration for Schluter ([@prairieapps] - [#31088]) ([schluter docs]) (new-integration) +- Add Internet Printing Protocol (IPP) integration ([@ctalkington] - [#32859]) ([ipp docs]) (new-integration) + +## New Platforms + +- Add support for nexia automations ([@bdraco] - [#33049]) ([nexia docs]) (new-platform) +- Add support for occupancy/vacancy groups in Lutron Caseta component ([@swails] - [#33032]) ([lutron_caseta docs]) (new-platform) +- Fire events for hue remote buttons pressed ([@azogue] - [#33277]) ([hue docs]) (new-platform) +- Add binary sensor for myq gateway connectivity ([@bdraco] - [#33423]) ([myq docs]) (new-platform) + +## 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/home-assistant/issues). Make sure to fill in all fields of the issue template. + + + +## Breaking Changes + +- **Lovelace themes** - We discovered our theme logic was wrong, when you didn't specify a theme for a Lovelace card or view. It would default to the backend selected theme, even when your local theme was different, or your view had a different theme. To fix this we removed the options `default` and `Backend selected` from the Lovelace theme selection, and when there is not theme selected it will not set a theme. This will make sure the element has the same theme as it's parent. + +- **Freebox** - Freebox is now available as an integration from the Integrations UI! You will need to re-authorize Home Assistant to access the Freebox router. - ([@Quentame] - [#30334]) ([freebox docs]) + +- **UniFi** - Manual configuration has been deprecated as the UI integration now supports all of the previous available options and more. Your existing YAML configuration has previously been imported so just remove it. - ([@Kane610] - [#32699]) ([unifi docs]) + +- **Emulated Hue** - The `emulated_hue` and `emulated_hue_hidden` attributes have been deprecated. Use the existing `entities` `hidden` configuration instead. - ([@bdraco] - [#32718]) ([emulated_hue docs]) + + Example YAML configuration: + + ```yaml + emulated_hue: + host_ip: 192.168.1.186 + listen_port: 8300 + advertise_ip: 10.0.0.10 + advertise_port: 8080 + off_maps_to_on_domains: + - script + - scene + expose_by_default: true + exposed_domains: + - light + entities: + light.bedroom_light: + name: "Bedside Lamp" + light.ceiling_lights: + hidden: true + ``` + +- **Roku** - Roku is now available as an integration from the integrations UI! The `roku_scan` service has been removed in favor of discovery via `ssdp`. - ([@ctalkington] - [#31988]) ([roku docs]) + +- **MQTT** - Deprecated features from MQTT platforms are now removed. - ([@emontnemery] - [#32909]) ([mqtt docs]) + - For MQTT lights setup through MQTT discovery, it's no longer possible to specify schema with `platform` configuration variable. Instead, schema must be specified by the `schema` configuration variable. + - For MQTT `alarm_control_panel`, MQTT `binary_sensor` and MQTT `sensor` set up through MQTT discovery: The undocumented implicit setting of `state_topic` is no longer supported. Instead, `state_topic` must be explicitly set. + - Support for `json_attributes` is removed from MQTT sensor, `json_attributes_topic` should be used instead. + +- **Harmony** - Harmony is now available as an integration from the Integrations UI! The YAML configuration now requires a host/ip. - ([@bdraco] - [#32919]) ([harmony docs]) + + Example YAML configuration: + + ```yaml + remote: + - platform: harmony + name: Bedroom + host: 10.168.1.13 + ``` + +- **Sonos** - Sonos attributes have been cleaned up for radio streams. - ([@amelchio] - [#33063]) ([sonos docs]) + - Sonos entities playing radio streams used to merge the radio name, the artist and the song name into two attributes. They now have `media_artist` and `media_title` attributes that match the playing music (when available). + - Radio station artwork is no longer available for Sonos entities in polling mode (i.e., on a network separate to the network Home Assistant is on). + +- **Monoprice** - Monoprice is now available as an integration from the UI! Please remove the configuration from YAML and add the Monoprice integration from the Integrations page. - ([@OnFreund] - [#30337]) ([monoprice docs]) + +- **Lutron Caseta** - As a result of some cleanup, the `Device ID` and `Zone ID` attributes of Lutron Caseta devices have been renamed to `device_id` and `zone_id` to match the convention of the rest of Home Assistant. If you have any automations that reference these attributes, they will need to be updated. - ([@swails] - [#33144]) ([lutron_caseta docs]) + +- **NuHeat** - NuHeat is now available as an integration from the UI! The previous service has been removed and is now handled by `set_hvac_mode` (climate 1.0). - ([@bdraco] - [#32885]) ([nuheat docs]) + +- **ElkM1** - ElkM1 is now available as an integration from the UI! An auto configure mode has been introduced which avoids the need to setup the complex include and exclude filters. This functionality still exists when configuring from YAML for power users who want more control over which entities elkm1 generates. As entity IDs can now be changed, the `alarm_control_panel` attribute `changed_by_entity_id` is now `changed_by_keypad` and will show the name of the Elk keypad instead of the entity ID. - ([@bdraco] - [#33297]) ([elkm1 docs]) + +- **HmIP** - After HmIP Cloud Maintanance (17.3.2020) it's possible to define labels for each channel of a multi device. If the labels of a multi channel device have been changed in the native Homemamtic IP Cloud App, then the entity names will change accordingly. - ([@SukramJ] - [#32925]) ([homematicip_cloud docs]) + +- **Slack** - The Slack integration got an overhaul and added support for async and Slack's Block Kit. As the YAML configuration schema for this integration has changed, please be sure to read the documentation. Additionally, because it represents an unacceptable security risk, remote files (i.e., those that do not exist in a whitelisted directory local to Home Assistant) can no longer be sent to Slack via this integration. - ([@bachya] - [#33287]) ([slack docs]) + + Example YAML configuration: + + ```yaml + notify: + - platform: slack + api_key: !secret slack_api_key + default_channel: "#home-assistant" + ``` + +- **Network UPS Tools (NUT)** - The NUT integration is now available as an integration from the UI! ([@bdraco] - [#33457]) ([nut docs]) (breaking change) + + The following sensors are no longer supported: + + - `ups.time` + - `ups.date` + - `ups.model` + - `ups.mfr` + - `ups.mfr.date` + - `ups.serial` + - `ups.vendorid` + - `ups.productid` + - `ups.firmware` + - `ups.firmware.aux` + +## Farewell to the following + +- **Alarm.com** +- **Mopar** + +These integrations have been removed. The websites for both have changed, causing the integrations to break because they relied on web scraping, which is no longer allowed (ADR-0004). - ([@frenck] - [#33056] [#33066]) + +## All changes + +
+ Click to see all changes! + +- Refactor Freebox : add config flow + temperature sensor + signal dispatch ([@Quentame] - [#30334]) ([freebox docs]) (breaking change) +- Upgrade slacker to 0.14.0 ([@fabaff] - [#32698]) ([slack docs]) +- Upgrade pylast to 3.2.1 ([@fabaff] - [#32700]) ([lastfm docs]) +- Add support for simultaneous runs of Script helper - Part 2 ([@pnbruckner] - [#32442]) +- Cleanup entity and device registry on MQTT discovery removal ([@emontnemery] - [#32693]) ([mqtt docs]) +- Upgrade mypy to 0.770, tighten config a bit ([@scop] - [#32715]) +- Upgrade psutil to 5.7.0 ([@fabaff] - [#32720]) ([systemmonitor docs]) +- Remove manual configuration support ([@Kane610] - [#32699]) ([unifi docs]) (breaking change) +- Upgrade sendgrid to 6.1.3 ([@fabaff] - [#32721]) ([sendgrid docs]) +- Bumped version to 0.108.0dev0 ([@frenck] - [#32697]) +- Fix delijn sensor stuck on last passage ([@Emilv2] - [#32710]) ([delijn docs]) +- Upgrade pre-commit to 2.2.0 ([@frenck] - [#32737]) +- Add update class method to DataUpdateCoordinator ([@frenck] - [#32724]) +- Upgrade sqlalchemy to 1.3.15 ([@frenck] - [#32747]) ([recorder docs]) ([sql docs]) +- Use platform tag to register components on hue SensorManager ([@azogue] - [#32732]) ([hue docs]) +- Add options flow for SimpliSafe ([@bachya] - [#32631]) ([simplisafe docs]) +- Add memo text service ([@brefra] - [#31222]) ([velbus docs]) +- Move apps configuration to options flow for vizio integration ([@raman325] - [#32543]) ([vizio docs]) +- Migrate WLED to use DataUpdateCoordinator ([@frenck] - [#32565]) ([wled docs]) +- Extend rtorrent sensor functionality ([@smega] - [#32353]) ([rtorrent docs]) +- Bump pypck to 0.6.4 ([@alengwenus] - [#32775]) ([lcn docs]) +- Do not fail when a user has a controller with shared access on… ([@bdraco] - [#32756]) ([rachio docs]) +- Optimize is_entity_exposed in emulated_hue by removing deprec… ([@bdraco] - [#32718]) ([emulated_hue docs]) (breaking change) +- Add config flow for rachio ([@bdraco] - [#32757]) ([rachio docs]) +- Type hint improvements ([@scop] - [#32793]) +- Add Insteon Dual Band SwitchLinc model 2477S to ISY994 ([@UrbanDave] - [#32813]) ([isy994 docs]) +- Add model to rachio device info ([@bdraco] - [#32814]) ([rachio docs]) +- Add Abode tests ([@shred86] - [#32562]) ([abode docs]) +- Add config flow to roku ([@ctalkington] - [#31988]) ([roku docs]) (breaking change) +- Add imperial units to met weather ([@MatthewFlamm] - [#32824]) ([met docs]) +- Add additional information to SynologySRM device tracker ([@i00] - [#32669]) ([synology_srm docs]) +- Bump brother to 0.1.9 ([@bieniu] - [#32861]) ([brother docs]) +- UniFi - Improve expected SSID filter behavior ([@Kane610] - [#32785]) ([unifi docs]) +- Enable AlarmDecoder arming without security code ([@ajschmidt8] - [#32390]) ([alarmdecoder docs]) +- Add 'Yeelight LED Ceiling Light' model ([@sbilly] - [#31615]) ([yeelight docs]) +- Add window class for Abode binary sensors ([@shred86] - [#32854]) ([abode docs]) +- Update deconz/cover.py to adapt rest-api changes ([@Knapoc] - [#32351]) ([deconz docs]) +- Fix abode test ([@balloob] - [#32871]) +- Add device condition for alarm_control_panel ([@springstan] - [#29063]) ([alarm_control_panel docs]) +- Add Here travel time arrival departure ([@eifinger] - [#29909]) ([here_travel_time docs]) +- Improve IQVIA data/API management based on enabled entities ([@bachya] - [#32291]) ([iqvia docs]) +- Deduplicate MQTT tests ([@emontnemery] - [#32874]) +- Remove unnecessary awaits in RainMachine ([@bachya] - [#32884]) ([rainmachine docs]) +- Add cleanup to Notion ([@bachya] - [#32887]) ([notion docs]) +- Add cleanup to Ambient PWS ([@bachya] - [#32888]) ([ambient_station docs]) +- Add cleanup to SimpliSafe ([@bachya] - [#32889]) ([simplisafe docs]) +- Add Huawei LTE WiFi status binary sensors ([@scop] - [#32553]) ([huawei_lte docs]) +- Bump wled 0.3.0, reduce calls stability improvements ([@frenck] - [#32903]) ([wled docs]) +- Run gen_requirements_all and hassfest in pre-commit ([@scop] - [#32792]) +- Apply recommendations from roku code review ([@ctalkington] - [#32883]) +- Fix device condition for alarm_control_panel ([@springstan] - [#32916]) ([alarm_control_panel docs]) +- Improve MQTT light test coverage ([@emontnemery] - [#32907]) ([mqtt docs]) +- Add attributes and availability to MQTT camera ([@emontnemery] - [#32908]) ([mqtt docs]) +- Remove mentioning YAML in Roku config flow ([@balloob] - [#32920]) ([roku docs]) +- Clean up Abode unused automation events ([@shred86] - [#32825]) ([abode docs]) +- Add cleanup to OpenUV ([@bachya] - [#32886]) ([openuv docs]) +- Migrate Brother to use DataUpdateCoordinator ([@bieniu] - [#32800]) ([brother docs]) +- Handle unique WLED device using zeroconf properties ([@frenck] - [#32897]) ([wled docs]) +- Upgrade shodan to 1.22.0 ([@frenck] - [#32928]) ([shodan docs]) +- Refactor and simplify homekit_controller entity setup ([@Jc2k] - [#32927]) ([homekit_controller docs]) +- Type hint improvements ([@scop] - [#32905]) ([directv docs]) ([directv docs]) ([gtfs docs]) ([here_travel_time docs]) ([remote docs]) ([switch docs]) ([switcher_kis docs]) ([vizio docs]) ([zone docs]) +- Small tweaks ([@dshokouhi] - [#32946]) ([obihai docs]) +- Resolve unexpected exception caused by sinch error_code being a string ([@bendikrb] - [#32929]) ([sinch docs]) +- Bump pyubee to 0.10 to support more Ubee routers ([@mzdrale] - [#32934]) ([ubee docs]) +- Add support for homekit valve accessories to homekit_controller ([@Jc2k] - [#32937]) ([homekit_controller docs]) +- Remove deprecated features from MQTT platforms ([@emontnemery] - [#32909]) ([mqtt docs]) (breaking change) +- Add pending to template alarm ([@MatthewFlamm] - [#31614]) ([template docs]) +- Fix mypy in ci by removing unneeded ignore in zone init ([@Adminiuga] - [#32997]) ([zone docs]) +- Add Powerwalls integration ([@bdraco] - [#32851]) ([powerwall docs]) (new-integration) +- Config flow for harmony ([@bdraco] - [#32919]) ([harmony docs]) ([remote docs]) (breaking change) +- Bump version of zigpy-cc to 0.2.3 ([@sanyatuning] - [#32951]) ([zha docs]) +- Bump aiohomekit to fix Insignia NS-CH1XGO8 and Lennox S30 ([@Jc2k] - [#33014]) ([homekit_controller docs]) +- deCONZ - Add support for Senic and Gira Friends of Hue remote… ([@Kane610] - [#33022]) ([deconz docs]) +- Harmony config flow improvements ([@bdraco] - [#33018]) ([harmony docs]) +- Add Nexia thermostat support (Trane / American Standard) ([@bdraco] - [#32826]) ([nexia docs]) (new-integration) +- Poll Hue lights in ZHA ([@Adminiuga] - [#33017]) ([zha docs]) +- Make powerwall unique id stable ([@bdraco] - [#33021]) ([powerwall docs]) +- Convert amcrest binary sensors from poll to stream ([@pnbruckner] - [#32818]) ([amcrest docs]) +- Tests improvements to the Brother integration ([@bieniu] - [#32982]) ([brother docs]) +- Break dependency on lutron component ([@swails] - [#33031]) ([lutron_caseta docs]) +- Bump pyhaversion to 3.3.0 ([@gadgetchnnel] - [#33044]) ([version docs]) +- Enable incremental Pan/Tilt/Zoom capability to Amcrest/Dahua cameras ([@GaryOkie] - [#32839]) ([amcrest docs]) +- Add IntesisHome support for air to water heat pumps ([@jnimmo] - [#32250]) ([intesishome docs]) +- Modernize nuheat for new climate platform ([@bdraco] - [#32714]) ([nuheat docs]) +- Remove alarmdotcom integration (ADR-0004) ([@frenck] - [#33056]) (breaking change) +- Add config flow for myq ([@bdraco] - [#32890]) ([myq docs]) +- Add support for nexia automations ([@bdraco] - [#33049]) ([nexia docs]) (new-platform) +- Remove mopar integration (ADR-0004) ([@frenck] - [#33066]) (breaking change) +- Use PEP 526 syntax with NamedTuples ([@scop] - [#33081]) ([tplink docs]) +- Don't exempt project for PR's for stalebot ([@frenck] - [#33086]) +- Validate UUID for tankerkoenig ([@guillempages] - [#32805]) ([tankerkoenig docs]) +- bump version zigpy-cc ([@sanyatuning] - [#33097]) ([zha docs]) +- Add scan_interval support for NUT integration ([@cepresso] - [#31167]) ([nut docs]) +- Add DEVICE_CLASS_GATE ([@bdraco] - [#33074]) ([cover docs]) +- Upgrade spotipy to 2.10.0 ([@frenck] - [#33083]) ([spotify docs]) +- Clean up Sonos attributes for radio streams ([@amelchio] - [#33063]) ([sonos docs]) (breaking change) +- Handle query and anchors in Spotify URI's ([@frenck] - [#33084]) ([spotify docs]) +- Bump simplisafe-python to 9.0.5 ([@bachya] - [#33116]) ([simplisafe docs]) +- Add Wi-Fi sensors to WLED integration ([@frenck] - [#33055]) ([wled docs]) +- Fix scheduled update time-drift in data update coordinator ([@azogue] - [#32974]) +- Refactor ZHA EventChannels ([@Adminiuga] - [#32709]) ([zha docs]) +- Revert "Validate UUID for tankerkoenig (#32805)" ([@guillempages] - [#33123]) ([tankerkoenig docs]) +- Config Flow and Entity registry support for Monoprice ([@OnFreund] - [#30337]) ([monoprice docs]) (breaking change) +- Bump pyecobee to 0.2.3 ([@jjlawren] - [#33130]) ([ecobee docs]) +- Monoprice PR followups ([@OnFreund] - [#33133]) ([monoprice docs]) +- Bump gios to 0.0.4 ([@bieniu] - [#33141]) ([gios docs]) +- Add Miflora go_unavailable_timeout ([@ferbar] - [#31156]) ([miflora docs]) +- Handle generic_thermostat state unavailable ([@austinmroczek] - [#32852]) ([generic_thermostat docs]) +- Filter out duplicate app names from vizio's source list ([@raman325] - [#33051]) ([vizio docs]) +- General code cleanups for lutron_caseta component ([@swails] - [#33144]) ([lutron_caseta docs]) (breaking change) +- Add pvpc electricity prices integration ([@azogue] - [#32092]) ([pvpc_hourly_pricing docs]) (new-integration) +- Bump iCloud to 0.9.6.1 ([@Quentame] - [#33161]) ([icloud docs]) +- Fix QVR Pro connection error and add port option ([@oblogic7] - [#33070]) +- Add fahrenheit support in miflora sensor ([@idyedov] - [#33136]) ([miflora docs]) +- Add gate support to myq, fix bouncy updates ([@bdraco] - [#33124]) ([myq docs]) +- Integrate dockerbuild ([@pvizeli] - [#33168]) +- Add enable_wake_on_start option to Tesla ([@alandtse] - [#33035]) ([tesla docs]) +- Make harmony handle IP address changes ([@bdraco] - [#33173]) ([harmony docs]) +- Improve sense timeout exception handling ([@bdraco] - [#33127]) ([sense docs]) +- Add config flow for Nuheat ([@bdraco] - [#32885]) ([nuheat docs]) (breaking change) +- Add support for occupancy/vacancy groups in Lutron Caseta component ([@swails] - [#33032]) ([lutron_caseta docs]) (new-platform) +- Config flow for doorbird ([@bdraco] - [#33165]) ([doorbird docs]) +- Add Tesla sentry mode switch ([@hobbe] - [#32938]) ([tesla docs]) +- Support for COLOR_TEMP in Homematic dimmers ([@angelnu] - [#31207]) ([homematic docs]) +- Add support for Bosch BMP280 Sensor ([@belidzs] - [#30837]) ([bmp280 docs]) (new-integration) +- Add Tado set presence ([@jasperro] - [#32765]) ([tado docs]) +- Add aircleaner and humidify service to nexia climate ([@bdraco] - [#33078]) ([nexia docs]) +- Update sw_version in device registry for ZHA devices ([@Adminiuga] - [#33184]) ([zha docs]) +- Switch legacy calls to init_recorder_component using async_add… ([@bdraco] - [#33185]) +- Make sure entity platform services work for all platforms of d… ([@balloob] - [#33176]) +- Add effect service to WLED integration ([@frenck] - [#33026]) ([wled docs]) +- Add unique ID propery to braviatv entity ([@bieniu] - [#33037]) ([braviatv docs]) +- Minor changes for new pvpc_hourly_pricing integration ([@azogue] - [#33177]) ([pvpc_hourly_pricing docs]) +- Fix state_automation_listener when new state is None ([@azogue] - [#32985]) ([automation docs]) +- Add support for Minecraft SRV records ([@elmurato] - [#32372]) ([minecraft_server docs]) +- Fix Google Assistant temperature control for entity without mo… ([@oxan] - [#33107]) ([google_assistant docs]) +- Options flow for Monoprice sources ([@OnFreund] - [#33156]) ([monoprice docs]) +- Add Nextcloud Integration ([@meichthys] - [#30871]) ([nextcloud docs]) (new-integration) +- Bump to version 0.8.1 of denonavr ([@scarface-4711] - [#33169]) ([denonavr docs]) +- Upgrade youtube_dl to version 2020.03.24 ([@BKPepe] - [#33202]) ([media_extractor docs]) +- Add onvif snapshot uri ([@roleoroleo] - [#33149]) +- Add Context support for async_entity removal ([@azogue] - [#33209]) ([configurator docs]) ([microsoft_face docs]) ([persistent_notification docs]) +- Add Body Composition data to Garmin Connect ([@cyberjunky] - [#32841]) ([garmin_connect docs]) +- Allow more than one AirVisual config entry with the same API k… ([@bachya] - [#33072]) ([airvisual docs]) +- Add leak sensor support to Homekit integration ([@C6H6] - [#33171]) ([binary_sensor docs]) ([homekit_controller docs]) +- Fix minor bmp280 issues mentioned in late review ([@belidzs] - [#33211]) ([bmp280 docs]) +- Abort myq homekit config when one is already setup. ([@bdraco] - [#33218]) ([myq docs]) +- Fix pre-commit hooks env for gen_requirements_all & hassfest ([@azogue] - [#33187]) +- Enable Jemalloc for docker Core ([@pvizeli] - [#33237]) +- Add group entity support to ZHA ([@dmulcahey] - [#33196]) ([zha docs]) +- Fix ONVIF camera snapshot with auth ([@frenck] - [#33241]) ([onvif docs]) +- Bump aiohue version to 2.1.0 ([@azogue] - [#33234]) ([hue docs]) +- Fix issue with smhi-pkg ([@pvizeli] - [#33248]) +- Upgrade hole to 0.5.1 ([@fabaff] - [#33249]) ([pi_hole docs]) +- Update vizio app_id state attribute to show app config dict in… ([@raman325] - [#32727]) ([vizio docs]) +- Add group entities for ZHA switches ([@dmulcahey] - [#33207]) ([zha docs]) +- Dynamic update interval for Airly integration ([@bieniu] - [#31459]) ([airly docs]) +- Activate asyncio debug when HA run in debug mode ([@balloob] - [#33251]) +- Refactor API documentation ([@fabaff] - [#33217]) +- Revert "Fix issue with smhi-pkg" ([@pvizeli] - [#33259]) +- Bump gios library to version 0.0.5 ([@bieniu] - [#33266]) ([gios docs]) +- Upgrade discord.py to 1.3.2 ([@fabaff] - [#33280]) ([discord docs]) +- Upgrade jinja2 to >=2.11.1 ([@fabaff] - [#33244]) +- Upgrade pyyaml to 5.3.1 ([@fabaff] - [#33246]) +- Fix GDACS integration to remove stale entities from entity registry ([@exxamalte] - [#33283]) ([gdacs docs]) +- Add Android TV cover art (screen content) ([@i00] - [#33232]) ([androidtv docs]) +- Update PySwitchbot to 0.8.0 and add password configuration option ([@jarylc] - [#33252]) ([switchbot docs]) +- Handle empty Plex client username ([@jjlawren] - [#33271]) ([plex docs]) +- Upgrade tibber to 0.13.6 ([@Danielhiversen] - [#33293]) ([tibber docs]) +- Bump nexia to 0.7.2 ([@bdraco] - [#33292]) ([nexia docs]) +- Abort rachio homekit config when one is already setup ([@bdraco] - [#33285]) ([rachio docs]) +- Support homekit matches that have a dash after the model ([@bdraco] - [#33274]) ([zeroconf docs]) +- Add support for dashboards to lovelace cast service ([@bramkragten] - [#32913]) ([cast docs]) +- Remove state when entity is removed from registry ([@emontnemery] - [#32184]) +- Add entities for ZHA fan groups ([@dmulcahey] - [#33291]) ([zha docs]) +- Fix ZHA light crashing on color loop effect ([@balloob] - [#33298]) ([zha docs]) +- Fix dispatcher logging ([@balloob] - [#33299]) +- Add integration for Schluter ([@prairieapps] - [#31088]) ([schluter docs]) (new-integration) +- Config flow for elkm1 ([@bdraco] - [#33297]) ([elkm1 docs]) (breaking change) +- Bump nexia to 0.7.3 ([@bdraco] - [#33311]) ([nexia docs]) +- Fix setting HomeKit temperatures with imperial units ([@bdraco] - [#33315]) ([homekit docs]) +- Implement Alexa.CameraStreamController in Alexa ([@ochlocracy] - [#32772]) ([alexa docs]) +- Fail tests with uncaught exceptions ([@ziv1234] - [#33312]) +- Fix ZHA light group on state ([@dmulcahey] - [#33308]) ([zha docs]) +- Fix nuheat unexpectedly switching to a permanent hold ([@bdraco] - [#33316]) ([nuheat docs]) +- :vicare: Improve scan_interval ([@oischinger] - [#33294]) ([vicare docs]) +- Fix Lovelace resources health info ([@bramkragten] - [#33309]) ([lovelace docs]) +- Add inline comments to elkm1 about how config is updated from… ([@bdraco] - [#33361]) ([elkm1 docs]) +- Fix Abode tests uncaught exceptions ([@shred86] - [#33365]) +- Fix GDACS tests ([@exxamalte] - [#33357]) ([gdacs docs]) +- Fix broken supported_features in Plum Lightpad ([@ColinHarrington] - [#33319]) ([plum_lightpad docs]) +- Fix uncaught exceptions in dynalite ([@ziv1234] - [#33374]) ([dynalite docs]) +- Fixes for Sonos media position ([@amelchio] - [#33379]) ([sonos docs]) +- Update ZHA group entity when Zigbee group membership changes ([@dmulcahey] - [#33378]) ([zha docs]) +- Migrate GIOS to use DataUpdateCoordinator ([@bieniu] - [#33306]) ([gios docs]) +- Fix media_player supported features default value ([@rigrig] - [#33366]) ([bluesound docs]) ([emby docs]) ([mpd docs]) +- Fix openweathermap sensor.py so no KeyError if raining is miss… ([@austinmroczek] - [#33372]) ([openweathermap docs]) +- Calculate Plum Lightpad brightness and glowIntensity correctly ([@ColinHarrington] - [#33352]) ([plum_lightpad docs]) +- Fix homematicip_cloud tests that have uncaught exceptions ([@SukramJ] - [#33371]) ([homematicip_cloud docs]) +- Handle Plex certificate updates ([@jjlawren] - [#33230]) ([plex docs]) +- Fix wrong SI unit_prefix in Integration component (#33227) ([@bangom] - [#33228]) ([integration docs]) +- Upgrade broadlink to 0.13.0 ([@tiagofreire-pt] - [#33240]) ([broadlink docs]) +- plexwebsocket bump 0.0.7 to fix ignored tests ([@jjlawren] - [#33398]) ([plex docs]) +- Miscellaneous ZHA code cleanup ([@dmulcahey] - [#33395]) ([zha docs]) +- Modbus patch, to allow communication with "slow" equipment using tcp ([@janiversen] - [#32557]) ([modbus docs]) +- Bump opencv to 4.2.0.32 ([@cgtobi] - [#33391]) ([opencv docs]) +- Use new HMIP labels for HomematicIP Cloud multi devices ([@SukramJ] - [#32925]) ([homematicip_cloud docs]) (breaking change) +- Handle Ecobee service timeouts ([@jjlawren] - [#33381]) ([ecobee docs]) +- Bluesound volume stepper bugfix ([@thrawnarn] - [#33404]) ([bluesound docs]) +- Bump aiohomekit version to fix Ecobee Switch ([@Jc2k] - [#33396]) ([homekit_controller docs]) +- Fix GeoNet NZ Quakes tests ([@exxamalte] - [#33383]) ([geonetnz_quakes docs]) +- fix ZHA IASWD commands ([@dmulcahey] - [#33402]) ([zha docs]) +- Bump aioambient to 1.1.0 ([@bachya] - [#33414]) ([ambient_station docs]) +- Remove Modbus legacy code ([@janiversen] - [#33407]) ([modbus docs]) +- Prevent nut from doing I/O in the event loop ([@bdraco] - [#33420]) ([nut docs]) +- Add konnected multi output ([@kit-klein] - [#33412]) ([konnected docs]) +- Fix for nissan_leaf component getting stuck ([@vwir] - [#33425]) ([nissan_leaf docs]) +- Move Tado zone state handling into upstream python-tado library ([@bdraco] - [#33195]) ([tado docs]) +- Filter the history of device_tracker by location attributes ([@Santobert] - [#33356]) ([history docs]) +- Fix detection of zone master in soundtouch media_player ([@da-anda] - [#33157]) ([soundtouch docs]) +- RFC - Add a 3rd state to the HA shutdown sequence for writing… ([@dmulcahey] - [#33358]) +- Add KEF services for DSP ([@basnijholt] - [#31967]) ([kef docs]) +- Add ability to specify group when creating user ([@bramkragten] - [#33373]) ([config docs]) +- Updated frontend to 20200330.0 ([@bramkragten] - [#33449]) ([frontend docs]) +- Fix change of entity_id for discovered MQTT entities ([@emontnemery] - [#33444]) ([mqtt docs]) +- Add new mapped weather condition classes to Météo France ([@evoblicec] - [#33450]) ([meteo_france docs]) +- Add Internet Printing Protocol (IPP) integration ([@ctalkington] - [#32859]) ([ipp docs]) (new-integration) +- Correct FortiOS integration name in manifest ([@frenck] - [#33454]) ([fortios docs]) +- bump version zigpy-cc ([@sanyatuning] - [#33448]) ([zha docs]) +- Fix uncaught exceptions in ZHA tests ([@dmulcahey] - [#33442]) ([zha docs]) +- Add HomeKit support for slat tilting ([@mst] - [#33388]) ([homekit docs]) +- Overhaul the Slack integration (async and Block Kit support) ([@bachya] - [#33287]) ([slack docs]) (breaking change) +- Update issue templates ([@frenck] - [#33434]) +- Require admin to manage lovelace ([@bramkragten] - [#33435]) ([lovelace docs]) +- Fix hue tests that have uncaught exceptions ([@azogue] - [#33443]) +- Fix deconz tests that have uncaught exceptions ([@azogue] - [#33462]) ([deconz docs]) +- Best effort state initialization of bayesian binary sensor ([@jlmcgehee21] - [#30962]) ([bayesian docs]) +- Fire events for hue remote buttons pressed ([@azogue] - [#33277]) ([hue docs]) (new-platform) +- Add humidity support to homekit thermostats ([@bdraco] - [#33367]) ([homekit docs]) +- Improve handling of nuheat switching states ([@bdraco] - [#33410]) ([nuheat docs]) +- Add binary sensor for myq gateway connectivity ([@bdraco] - [#33423]) ([myq docs]) (new-platform) +- Retry sense setup later if listing devices times out. ([@bdraco] - [#33455]) ([sense docs]) +- Google Assistant: parallize as many requests as possible ([@balloob] - [#33472]) ([google_assistant docs]) +- Add version and device type to powerwall device_info ([@bdraco] - [#33453]) ([powerwall docs]) +- update VIZIO name to match brand guidelines ([@raman325] - [#33465]) ([vizio docs]) +- Bumped Apprise version to v0.8.5 ([@caronc] - [#33473]) ([apprise docs]) +- Ignore link local addresses during doorbird ssdp config flow ([@bdraco] - [#33401]) ([doorbird docs]) +- Prepare rachio for cloudhooks conversion ([@bdraco] - [#33422]) ([rachio docs]) +- Enable KNX tunnel auto_reconnect by default ([@cyberjunky] - [#33387]) ([knx docs]) +- Fix setting zone overlays for tados that support swing ([@bdraco] - [#33439]) ([tado docs]) +- Refactor DirecTV Integration to Async ([@ctalkington] - [#33114]) ([directv docs]) ([directv docs]) +- allow overriding host api url in config flow ([@kit-klein] - [#33481]) ([konnected docs]) +- Apply recommendations from IPP review ([@ctalkington] - [#33477]) +- Add config flow for nut ([@bdraco] - [#33457]) ([nut docs]) (breaking change) +- Bump up zha dependencies. ([@Adminiuga] - [#33488]) ([zha docs]) +- Correct issue on new device joins in ZHA ([@dmulcahey] - [#33470]) ([zha docs]) +- Replace asyncio.wait with asyncio.gather since wait ignores exceptions ([@ziv1234] - [#33380]) +- Clean up ZHA channel reporting configuration ([@Adminiuga] - [#33497]) ([zha docs]) +- Add MQTT debug info ([@emontnemery] - [#33461]) ([mqtt docs]) +- Fix invalid directory for dnsmasq files in asuswrt ([@springstan] - [#33503]) ([asuswrt docs]) +- Expand network util to check for link local addresses ([@bdraco] - [#33499]) ([axis docs]) ([doorbird docs]) +- Updated frontend to 20200401.0 ([@bramkragten] - [#33505]) ([frontend docs]) +- Add device triggers for Hue remotes ([@azogue] - [#33476]) ([hue docs]) +- Enable sisyphus to recover from bad DNS without restart ([@jkeljo] - [#32846]) ([sisyphus docs]) (beta fix) +- Fix netatmo device unavailable and services ([@cgtobi] - [#33509]) ([netatmo docs]) (beta fix) +- Remove extraneous parameter from AlarmDecoder services ([@ajschmidt8] - [#33516]) (beta fix) +- Update to roku==4.1.0 ([@ctalkington] - [#33520]) ([roku docs]) (beta fix) +- Bump brother to 0.1.11 ([@bieniu] - [#33526]) ([brother docs]) (beta fix) +- Clarify light reproduce state deprecation warning ([@MartinHjelmare] - [#33531]) ([light docs]) (beta fix) +- Fix MQTT cleanup regression from #32184. ([@emontnemery] - [#33532]) ([mqtt docs]) (beta fix) +- Ensure harmony hub is ready before importing ([@bdraco] - [#33537]) ([harmony docs]) (beta fix) +- Bump HAP-python to 2.8.0 ([@bdraco] - [#33539]) ([homekit docs]) (beta fix) +- Mark new gate device class as 2FA ([@balloob] - [#33541]) ([google_assistant docs]) (beta fix) +- Temporary Plex play_media workaround ([@jjlawren] - [#33542]) ([plex docs]) (beta fix) +- Bump pyipp to 0.8.2 ([@ctalkington] - [#33544]) ([ipp docs]) (beta fix) +- Update to pyipp==0.8.3 ([@ctalkington] - [#33554]) ([ipp docs]) (beta fix) +- Use homekit service callbacks for lights to resolve out of sync states ([@bdraco] - [#32348]) ([homekit docs]) (beta fix) +- Fix asuswrt network failure startup ([@ollo69] - [#33485]) ([asuswrt docs]) (beta fix) +- Convert TTS tests to async ([@balloob] - [#33517]) ([tts docs]) (beta fix) +- Add missing flow_title to doorbird ([@bdraco] - [#33557]) ([doorbird docs]) (beta fix) +- Plex followup to #33542 ([@jjlawren] - [#33558]) ([plex docs]) (beta fix) +- Identify cameras in error logs for generic and mjpeg cameras ([@azogue] - [#33561]) ([mjpeg docs]) (beta fix) +- Upgrade luftdaten to 0.6.4 ([@fabaff] - [#33564]) ([luftdaten docs]) (beta fix) +- Fix source name ([@bieniu] - [#33565]) ([braviatv docs]) (beta fix) +- Bump gios library to version 0.1.1 ([@bieniu] - [#33569]) ([gios docs]) (beta fix) +- Fix browsing regression ([@Jc2k] - [#33572]) ([zeroconf docs]) (beta fix) +- Bump adguardhome to 0.4.2 ([@frenck] - [#33575]) ([adguard docs]) (beta fix) +- Add default delay to Harmony config entries ([@bramkragten] - [#33576]) ([harmony docs]) (beta fix) +- Updated frontend to 20200403.0 ([@bramkragten] - [#33586]) ([frontend docs]) (beta fix) +- Debounce calls to Plex server ([@jjlawren] - [#33560]) ([plex docs]) (beta fix) +- Hass.io integration do not warn safe mode ([@balloob] - [#33600]) ([hassio docs]) (beta fix) +- Use IP addresses instead of mDNS names when wled discovered ([@balloob] - [#33608]) ([wled docs]) (beta fix) +- Identify more Sonos radio stations with poor titles ([@amelchio] - [#33609]) ([sonos docs]) (beta fix) +- Use IP addresses instead of mDNS names when IPP discovered ([@ctalkington] - [#33610]) ([ipp docs]) (beta fix) +- Handle race condition in harmony setup ([@bdraco] - [#33611]) ([harmony docs]) (beta fix) +- Bump twentemilieu to 0.3.0 ([@frenck] - [#33622]) ([twentemilieu docs]) (beta fix) +- Update zha dependencies ([@Adminiuga] - [#33639]) ([zha docs]) (beta fix) +- Plex logging additions & cleanup ([@jjlawren] - [#33681]) ([plex docs]) (beta fix) +- Handle float values for homekit lightning ([@bdraco] - [#33683]) ([homekit docs]) (beta fix) +- Skip parsing Plex session if incomplete ([@jjlawren] - [#33534]) ([plex docs]) (beta fix) +- Fix nuheat response error checking ([@bdraco] - [#33712]) ([nuheat docs]) (beta fix) +- Fix rachio import of run time from yaml ([@bdraco] - [#33723]) ([rachio docs]) (beta fix) +- Fix Plex debounce wrapper ([@jjlawren] - [#33730]) ([plex docs]) (beta fix) +- Fix MQTT debug info for subscriptions with wildcard. ([@emontnemery] - [#33744]) ([mqtt docs]) (beta fix) +- Abort rachio config flow if the api key is already configured… ([@bdraco] - [#33747]) ([rachio docs]) (beta fix) +- Bump frontend ([@bramkragten] - [#33751]) ([frontend docs]) (beta fix) +- Defer Plex sensor retry instead of aborting ([@jjlawren] - [#33753]) ([plex docs]) (beta fix) +- Bump HAP-python to 2.8.1 ([@bdraco] - [#33756]) ([homekit docs]) (beta fix) +- Bump aioambient to 1.1.1 ([@bachya] - [#33761]) ([ambient_station docs]) (beta fix) +- Bump simplisafe-python to 9.0.6 ([@bachya] - [#33762]) ([simplisafe docs]) (beta fix) +- Catch IPPParseError during config flow ([@ctalkington] - [#33769]) ([ipp docs]) (beta fix) +- Update nexia for thermostats without zoning ([@bdraco] - [#33770]) ([nexia docs]) (beta fix) +- Fix nuheat reverting to auto mode after setting temp hold ([@bdraco] - [#33772]) ([nuheat docs]) (beta fix) +- Fix minor async issues in Plex ([@jjlawren] - [#33785]) ([plex docs]) (beta fix) +- Fix unhandled exceptions for config, default_config, harmony ([@ziv1234] - [#33731]) ([config docs]) ([default_config docs]) ([harmony docs]) (beta fix) +- Updated frontend to 20200407.1 ([@bramkragten] - [#33799]) ([frontend docs]) (beta fix) +- Bump pyW215 to 0.7.0 ([@springstan] - [#33786]) ([dlink docs]) (beta fix) + +
+ + + + +[#29063]: https://github.com/home-assistant/core/pull/29063 +[#29909]: https://github.com/home-assistant/core/pull/29909 +[#30334]: https://github.com/home-assistant/core/pull/30334 +[#30337]: https://github.com/home-assistant/core/pull/30337 +[#30837]: https://github.com/home-assistant/core/pull/30837 +[#30871]: https://github.com/home-assistant/core/pull/30871 +[#30962]: https://github.com/home-assistant/core/pull/30962 +[#31088]: https://github.com/home-assistant/core/pull/31088 +[#31156]: https://github.com/home-assistant/core/pull/31156 +[#31167]: https://github.com/home-assistant/core/pull/31167 +[#31207]: https://github.com/home-assistant/core/pull/31207 +[#31222]: https://github.com/home-assistant/core/pull/31222 +[#31459]: https://github.com/home-assistant/core/pull/31459 +[#31614]: https://github.com/home-assistant/core/pull/31614 +[#31615]: https://github.com/home-assistant/core/pull/31615 +[#31967]: https://github.com/home-assistant/core/pull/31967 +[#31988]: https://github.com/home-assistant/core/pull/31988 +[#32092]: https://github.com/home-assistant/core/pull/32092 +[#32184]: https://github.com/home-assistant/core/pull/32184 +[#32250]: https://github.com/home-assistant/core/pull/32250 +[#32291]: https://github.com/home-assistant/core/pull/32291 +[#32348]: https://github.com/home-assistant/core/pull/32348 +[#32351]: https://github.com/home-assistant/core/pull/32351 +[#32353]: https://github.com/home-assistant/core/pull/32353 +[#32372]: https://github.com/home-assistant/core/pull/32372 +[#32390]: https://github.com/home-assistant/core/pull/32390 +[#32442]: https://github.com/home-assistant/core/pull/32442 +[#32543]: https://github.com/home-assistant/core/pull/32543 +[#32553]: https://github.com/home-assistant/core/pull/32553 +[#32557]: https://github.com/home-assistant/core/pull/32557 +[#32562]: https://github.com/home-assistant/core/pull/32562 +[#32565]: https://github.com/home-assistant/core/pull/32565 +[#32631]: https://github.com/home-assistant/core/pull/32631 +[#32669]: https://github.com/home-assistant/core/pull/32669 +[#32693]: https://github.com/home-assistant/core/pull/32693 +[#32697]: https://github.com/home-assistant/core/pull/32697 +[#32698]: https://github.com/home-assistant/core/pull/32698 +[#32699]: https://github.com/home-assistant/core/pull/32699 +[#32700]: https://github.com/home-assistant/core/pull/32700 +[#32709]: https://github.com/home-assistant/core/pull/32709 +[#32710]: https://github.com/home-assistant/core/pull/32710 +[#32714]: https://github.com/home-assistant/core/pull/32714 +[#32715]: https://github.com/home-assistant/core/pull/32715 +[#32718]: https://github.com/home-assistant/core/pull/32718 +[#32720]: https://github.com/home-assistant/core/pull/32720 +[#32721]: https://github.com/home-assistant/core/pull/32721 +[#32724]: https://github.com/home-assistant/core/pull/32724 +[#32727]: https://github.com/home-assistant/core/pull/32727 +[#32732]: https://github.com/home-assistant/core/pull/32732 +[#32737]: https://github.com/home-assistant/core/pull/32737 +[#32747]: https://github.com/home-assistant/core/pull/32747 +[#32756]: https://github.com/home-assistant/core/pull/32756 +[#32757]: https://github.com/home-assistant/core/pull/32757 +[#32765]: https://github.com/home-assistant/core/pull/32765 +[#32772]: https://github.com/home-assistant/core/pull/32772 +[#32775]: https://github.com/home-assistant/core/pull/32775 +[#32785]: https://github.com/home-assistant/core/pull/32785 +[#32792]: https://github.com/home-assistant/core/pull/32792 +[#32793]: https://github.com/home-assistant/core/pull/32793 +[#32800]: https://github.com/home-assistant/core/pull/32800 +[#32805]: https://github.com/home-assistant/core/pull/32805 +[#32813]: https://github.com/home-assistant/core/pull/32813 +[#32814]: https://github.com/home-assistant/core/pull/32814 +[#32818]: https://github.com/home-assistant/core/pull/32818 +[#32824]: https://github.com/home-assistant/core/pull/32824 +[#32825]: https://github.com/home-assistant/core/pull/32825 +[#32826]: https://github.com/home-assistant/core/pull/32826 +[#32839]: https://github.com/home-assistant/core/pull/32839 +[#32841]: https://github.com/home-assistant/core/pull/32841 +[#32846]: https://github.com/home-assistant/core/pull/32846 +[#32851]: https://github.com/home-assistant/core/pull/32851 +[#32852]: https://github.com/home-assistant/core/pull/32852 +[#32854]: https://github.com/home-assistant/core/pull/32854 +[#32859]: https://github.com/home-assistant/core/pull/32859 +[#32861]: https://github.com/home-assistant/core/pull/32861 +[#32871]: https://github.com/home-assistant/core/pull/32871 +[#32874]: https://github.com/home-assistant/core/pull/32874 +[#32883]: https://github.com/home-assistant/core/pull/32883 +[#32884]: https://github.com/home-assistant/core/pull/32884 +[#32885]: https://github.com/home-assistant/core/pull/32885 +[#32886]: https://github.com/home-assistant/core/pull/32886 +[#32887]: https://github.com/home-assistant/core/pull/32887 +[#32888]: https://github.com/home-assistant/core/pull/32888 +[#32889]: https://github.com/home-assistant/core/pull/32889 +[#32890]: https://github.com/home-assistant/core/pull/32890 +[#32897]: https://github.com/home-assistant/core/pull/32897 +[#32903]: https://github.com/home-assistant/core/pull/32903 +[#32905]: https://github.com/home-assistant/core/pull/32905 +[#32907]: https://github.com/home-assistant/core/pull/32907 +[#32908]: https://github.com/home-assistant/core/pull/32908 +[#32909]: https://github.com/home-assistant/core/pull/32909 +[#32913]: https://github.com/home-assistant/core/pull/32913 +[#32916]: https://github.com/home-assistant/core/pull/32916 +[#32919]: https://github.com/home-assistant/core/pull/32919 +[#32920]: https://github.com/home-assistant/core/pull/32920 +[#32925]: https://github.com/home-assistant/core/pull/32925 +[#32927]: https://github.com/home-assistant/core/pull/32927 +[#32928]: https://github.com/home-assistant/core/pull/32928 +[#32929]: https://github.com/home-assistant/core/pull/32929 +[#32934]: https://github.com/home-assistant/core/pull/32934 +[#32937]: https://github.com/home-assistant/core/pull/32937 +[#32938]: https://github.com/home-assistant/core/pull/32938 +[#32946]: https://github.com/home-assistant/core/pull/32946 +[#32951]: https://github.com/home-assistant/core/pull/32951 +[#32974]: https://github.com/home-assistant/core/pull/32974 +[#32982]: https://github.com/home-assistant/core/pull/32982 +[#32985]: https://github.com/home-assistant/core/pull/32985 +[#32997]: https://github.com/home-assistant/core/pull/32997 +[#33014]: https://github.com/home-assistant/core/pull/33014 +[#33017]: https://github.com/home-assistant/core/pull/33017 +[#33018]: https://github.com/home-assistant/core/pull/33018 +[#33021]: https://github.com/home-assistant/core/pull/33021 +[#33022]: https://github.com/home-assistant/core/pull/33022 +[#33026]: https://github.com/home-assistant/core/pull/33026 +[#33031]: https://github.com/home-assistant/core/pull/33031 +[#33032]: https://github.com/home-assistant/core/pull/33032 +[#33035]: https://github.com/home-assistant/core/pull/33035 +[#33037]: https://github.com/home-assistant/core/pull/33037 +[#33044]: https://github.com/home-assistant/core/pull/33044 +[#33049]: https://github.com/home-assistant/core/pull/33049 +[#33051]: https://github.com/home-assistant/core/pull/33051 +[#33055]: https://github.com/home-assistant/core/pull/33055 +[#33056]: https://github.com/home-assistant/core/pull/33056 +[#33063]: https://github.com/home-assistant/core/pull/33063 +[#33066]: https://github.com/home-assistant/core/pull/33066 +[#33070]: https://github.com/home-assistant/core/pull/33070 +[#33072]: https://github.com/home-assistant/core/pull/33072 +[#33074]: https://github.com/home-assistant/core/pull/33074 +[#33078]: https://github.com/home-assistant/core/pull/33078 +[#33081]: https://github.com/home-assistant/core/pull/33081 +[#33083]: https://github.com/home-assistant/core/pull/33083 +[#33084]: https://github.com/home-assistant/core/pull/33084 +[#33086]: https://github.com/home-assistant/core/pull/33086 +[#33097]: https://github.com/home-assistant/core/pull/33097 +[#33107]: https://github.com/home-assistant/core/pull/33107 +[#33114]: https://github.com/home-assistant/core/pull/33114 +[#33116]: https://github.com/home-assistant/core/pull/33116 +[#33123]: https://github.com/home-assistant/core/pull/33123 +[#33124]: https://github.com/home-assistant/core/pull/33124 +[#33127]: https://github.com/home-assistant/core/pull/33127 +[#33130]: https://github.com/home-assistant/core/pull/33130 +[#33133]: https://github.com/home-assistant/core/pull/33133 +[#33136]: https://github.com/home-assistant/core/pull/33136 +[#33141]: https://github.com/home-assistant/core/pull/33141 +[#33144]: https://github.com/home-assistant/core/pull/33144 +[#33149]: https://github.com/home-assistant/core/pull/33149 +[#33156]: https://github.com/home-assistant/core/pull/33156 +[#33157]: https://github.com/home-assistant/core/pull/33157 +[#33161]: https://github.com/home-assistant/core/pull/33161 +[#33165]: https://github.com/home-assistant/core/pull/33165 +[#33168]: https://github.com/home-assistant/core/pull/33168 +[#33169]: https://github.com/home-assistant/core/pull/33169 +[#33171]: https://github.com/home-assistant/core/pull/33171 +[#33173]: https://github.com/home-assistant/core/pull/33173 +[#33176]: https://github.com/home-assistant/core/pull/33176 +[#33177]: https://github.com/home-assistant/core/pull/33177 +[#33184]: https://github.com/home-assistant/core/pull/33184 +[#33185]: https://github.com/home-assistant/core/pull/33185 +[#33187]: https://github.com/home-assistant/core/pull/33187 +[#33195]: https://github.com/home-assistant/core/pull/33195 +[#33196]: https://github.com/home-assistant/core/pull/33196 +[#33202]: https://github.com/home-assistant/core/pull/33202 +[#33207]: https://github.com/home-assistant/core/pull/33207 +[#33209]: https://github.com/home-assistant/core/pull/33209 +[#33211]: https://github.com/home-assistant/core/pull/33211 +[#33217]: https://github.com/home-assistant/core/pull/33217 +[#33218]: https://github.com/home-assistant/core/pull/33218 +[#33228]: https://github.com/home-assistant/core/pull/33228 +[#33230]: https://github.com/home-assistant/core/pull/33230 +[#33232]: https://github.com/home-assistant/core/pull/33232 +[#33234]: https://github.com/home-assistant/core/pull/33234 +[#33237]: https://github.com/home-assistant/core/pull/33237 +[#33240]: https://github.com/home-assistant/core/pull/33240 +[#33241]: https://github.com/home-assistant/core/pull/33241 +[#33244]: https://github.com/home-assistant/core/pull/33244 +[#33246]: https://github.com/home-assistant/core/pull/33246 +[#33248]: https://github.com/home-assistant/core/pull/33248 +[#33249]: https://github.com/home-assistant/core/pull/33249 +[#33251]: https://github.com/home-assistant/core/pull/33251 +[#33252]: https://github.com/home-assistant/core/pull/33252 +[#33259]: https://github.com/home-assistant/core/pull/33259 +[#33266]: https://github.com/home-assistant/core/pull/33266 +[#33271]: https://github.com/home-assistant/core/pull/33271 +[#33274]: https://github.com/home-assistant/core/pull/33274 +[#33277]: https://github.com/home-assistant/core/pull/33277 +[#33280]: https://github.com/home-assistant/core/pull/33280 +[#33283]: https://github.com/home-assistant/core/pull/33283 +[#33285]: https://github.com/home-assistant/core/pull/33285 +[#33287]: https://github.com/home-assistant/core/pull/33287 +[#33291]: https://github.com/home-assistant/core/pull/33291 +[#33292]: https://github.com/home-assistant/core/pull/33292 +[#33293]: https://github.com/home-assistant/core/pull/33293 +[#33294]: https://github.com/home-assistant/core/pull/33294 +[#33297]: https://github.com/home-assistant/core/pull/33297 +[#33298]: https://github.com/home-assistant/core/pull/33298 +[#33299]: https://github.com/home-assistant/core/pull/33299 +[#33306]: https://github.com/home-assistant/core/pull/33306 +[#33308]: https://github.com/home-assistant/core/pull/33308 +[#33309]: https://github.com/home-assistant/core/pull/33309 +[#33311]: https://github.com/home-assistant/core/pull/33311 +[#33312]: https://github.com/home-assistant/core/pull/33312 +[#33315]: https://github.com/home-assistant/core/pull/33315 +[#33316]: https://github.com/home-assistant/core/pull/33316 +[#33319]: https://github.com/home-assistant/core/pull/33319 +[#33352]: https://github.com/home-assistant/core/pull/33352 +[#33356]: https://github.com/home-assistant/core/pull/33356 +[#33357]: https://github.com/home-assistant/core/pull/33357 +[#33358]: https://github.com/home-assistant/core/pull/33358 +[#33361]: https://github.com/home-assistant/core/pull/33361 +[#33365]: https://github.com/home-assistant/core/pull/33365 +[#33366]: https://github.com/home-assistant/core/pull/33366 +[#33367]: https://github.com/home-assistant/core/pull/33367 +[#33371]: https://github.com/home-assistant/core/pull/33371 +[#33372]: https://github.com/home-assistant/core/pull/33372 +[#33373]: https://github.com/home-assistant/core/pull/33373 +[#33374]: https://github.com/home-assistant/core/pull/33374 +[#33378]: https://github.com/home-assistant/core/pull/33378 +[#33379]: https://github.com/home-assistant/core/pull/33379 +[#33380]: https://github.com/home-assistant/core/pull/33380 +[#33381]: https://github.com/home-assistant/core/pull/33381 +[#33383]: https://github.com/home-assistant/core/pull/33383 +[#33387]: https://github.com/home-assistant/core/pull/33387 +[#33388]: https://github.com/home-assistant/core/pull/33388 +[#33391]: https://github.com/home-assistant/core/pull/33391 +[#33395]: https://github.com/home-assistant/core/pull/33395 +[#33396]: https://github.com/home-assistant/core/pull/33396 +[#33398]: https://github.com/home-assistant/core/pull/33398 +[#33401]: https://github.com/home-assistant/core/pull/33401 +[#33402]: https://github.com/home-assistant/core/pull/33402 +[#33404]: https://github.com/home-assistant/core/pull/33404 +[#33407]: https://github.com/home-assistant/core/pull/33407 +[#33410]: https://github.com/home-assistant/core/pull/33410 +[#33412]: https://github.com/home-assistant/core/pull/33412 +[#33414]: https://github.com/home-assistant/core/pull/33414 +[#33420]: https://github.com/home-assistant/core/pull/33420 +[#33422]: https://github.com/home-assistant/core/pull/33422 +[#33423]: https://github.com/home-assistant/core/pull/33423 +[#33425]: https://github.com/home-assistant/core/pull/33425 +[#33434]: https://github.com/home-assistant/core/pull/33434 +[#33435]: https://github.com/home-assistant/core/pull/33435 +[#33439]: https://github.com/home-assistant/core/pull/33439 +[#33442]: https://github.com/home-assistant/core/pull/33442 +[#33443]: https://github.com/home-assistant/core/pull/33443 +[#33444]: https://github.com/home-assistant/core/pull/33444 +[#33448]: https://github.com/home-assistant/core/pull/33448 +[#33449]: https://github.com/home-assistant/core/pull/33449 +[#33450]: https://github.com/home-assistant/core/pull/33450 +[#33453]: https://github.com/home-assistant/core/pull/33453 +[#33454]: https://github.com/home-assistant/core/pull/33454 +[#33455]: https://github.com/home-assistant/core/pull/33455 +[#33457]: https://github.com/home-assistant/core/pull/33457 +[#33461]: https://github.com/home-assistant/core/pull/33461 +[#33462]: https://github.com/home-assistant/core/pull/33462 +[#33465]: https://github.com/home-assistant/core/pull/33465 +[#33470]: https://github.com/home-assistant/core/pull/33470 +[#33472]: https://github.com/home-assistant/core/pull/33472 +[#33473]: https://github.com/home-assistant/core/pull/33473 +[#33476]: https://github.com/home-assistant/core/pull/33476 +[#33477]: https://github.com/home-assistant/core/pull/33477 +[#33481]: https://github.com/home-assistant/core/pull/33481 +[#33485]: https://github.com/home-assistant/core/pull/33485 +[#33488]: https://github.com/home-assistant/core/pull/33488 +[#33497]: https://github.com/home-assistant/core/pull/33497 +[#33499]: https://github.com/home-assistant/core/pull/33499 +[#33503]: https://github.com/home-assistant/core/pull/33503 +[#33505]: https://github.com/home-assistant/core/pull/33505 +[#33509]: https://github.com/home-assistant/core/pull/33509 +[#33516]: https://github.com/home-assistant/core/pull/33516 +[#33517]: https://github.com/home-assistant/core/pull/33517 +[#33520]: https://github.com/home-assistant/core/pull/33520 +[#33526]: https://github.com/home-assistant/core/pull/33526 +[#33531]: https://github.com/home-assistant/core/pull/33531 +[#33532]: https://github.com/home-assistant/core/pull/33532 +[#33534]: https://github.com/home-assistant/core/pull/33534 +[#33537]: https://github.com/home-assistant/core/pull/33537 +[#33539]: https://github.com/home-assistant/core/pull/33539 +[#33541]: https://github.com/home-assistant/core/pull/33541 +[#33542]: https://github.com/home-assistant/core/pull/33542 +[#33544]: https://github.com/home-assistant/core/pull/33544 +[#33554]: https://github.com/home-assistant/core/pull/33554 +[#33557]: https://github.com/home-assistant/core/pull/33557 +[#33558]: https://github.com/home-assistant/core/pull/33558 +[#33560]: https://github.com/home-assistant/core/pull/33560 +[#33561]: https://github.com/home-assistant/core/pull/33561 +[#33564]: https://github.com/home-assistant/core/pull/33564 +[#33565]: https://github.com/home-assistant/core/pull/33565 +[#33569]: https://github.com/home-assistant/core/pull/33569 +[#33572]: https://github.com/home-assistant/core/pull/33572 +[#33575]: https://github.com/home-assistant/core/pull/33575 +[#33576]: https://github.com/home-assistant/core/pull/33576 +[#33586]: https://github.com/home-assistant/core/pull/33586 +[#33600]: https://github.com/home-assistant/core/pull/33600 +[#33608]: https://github.com/home-assistant/core/pull/33608 +[#33609]: https://github.com/home-assistant/core/pull/33609 +[#33610]: https://github.com/home-assistant/core/pull/33610 +[#33611]: https://github.com/home-assistant/core/pull/33611 +[#33622]: https://github.com/home-assistant/core/pull/33622 +[#33639]: https://github.com/home-assistant/core/pull/33639 +[#33681]: https://github.com/home-assistant/core/pull/33681 +[#33683]: https://github.com/home-assistant/core/pull/33683 +[#33712]: https://github.com/home-assistant/core/pull/33712 +[#33723]: https://github.com/home-assistant/core/pull/33723 +[#33730]: https://github.com/home-assistant/core/pull/33730 +[#33731]: https://github.com/home-assistant/core/pull/33731 +[#33744]: https://github.com/home-assistant/core/pull/33744 +[#33747]: https://github.com/home-assistant/core/pull/33747 +[#33751]: https://github.com/home-assistant/core/pull/33751 +[#33753]: https://github.com/home-assistant/core/pull/33753 +[#33756]: https://github.com/home-assistant/core/pull/33756 +[#33761]: https://github.com/home-assistant/core/pull/33761 +[#33762]: https://github.com/home-assistant/core/pull/33762 +[#33769]: https://github.com/home-assistant/core/pull/33769 +[#33770]: https://github.com/home-assistant/core/pull/33770 +[#33772]: https://github.com/home-assistant/core/pull/33772 +[#33785]: https://github.com/home-assistant/core/pull/33785 +[#33786]: https://github.com/home-assistant/core/pull/33786 +[#33799]: https://github.com/home-assistant/core/pull/33799 +[@Adminiuga]: https://github.com/Adminiuga +[@BKPepe]: https://github.com/BKPepe +[@C6H6]: https://github.com/C6H6 +[@ColinHarrington]: https://github.com/ColinHarrington +[@Danielhiversen]: https://github.com/Danielhiversen +[@Emilv2]: https://github.com/Emilv2 +[@GaryOkie]: https://github.com/GaryOkie +[@Jc2k]: https://github.com/Jc2k +[@Kane610]: https://github.com/Kane610 +[@Knapoc]: https://github.com/Knapoc +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@MatthewFlamm]: https://github.com/MatthewFlamm +[@OnFreund]: https://github.com/OnFreund +[@Quentame]: https://github.com/Quentame +[@Santobert]: https://github.com/Santobert +[@SukramJ]: https://github.com/SukramJ +[@UrbanDave]: https://github.com/UrbanDave +[@ajschmidt8]: https://github.com/ajschmidt8 +[@alandtse]: https://github.com/alandtse +[@alengwenus]: https://github.com/alengwenus +[@amelchio]: https://github.com/amelchio +[@angelnu]: https://github.com/angelnu +[@austinmroczek]: https://github.com/austinmroczek +[@azogue]: https://github.com/azogue +[@bachya]: https://github.com/bachya +[@balloob]: https://github.com/balloob +[@bangom]: https://github.com/bangom +[@basnijholt]: https://github.com/basnijholt +[@bdraco]: https://github.com/bdraco +[@belidzs]: https://github.com/belidzs +[@bendikrb]: https://github.com/bendikrb +[@bieniu]: https://github.com/bieniu +[@bramkragten]: https://github.com/bramkragten +[@brefra]: https://github.com/brefra +[@caronc]: https://github.com/caronc +[@cepresso]: https://github.com/cepresso +[@cgtobi]: https://github.com/cgtobi +[@ctalkington]: https://github.com/ctalkington +[@cyberjunky]: https://github.com/cyberjunky +[@da-anda]: https://github.com/da-anda +[@dmulcahey]: https://github.com/dmulcahey +[@dshokouhi]: https://github.com/dshokouhi +[@eifinger]: https://github.com/eifinger +[@elmurato]: https://github.com/elmurato +[@emontnemery]: https://github.com/emontnemery +[@evoblicec]: https://github.com/evoblicec +[@exxamalte]: https://github.com/exxamalte +[@fabaff]: https://github.com/fabaff +[@ferbar]: https://github.com/ferbar +[@frenck]: https://github.com/frenck +[@gadgetchnnel]: https://github.com/gadgetchnnel +[@guillempages]: https://github.com/guillempages +[@hobbe]: https://github.com/hobbe +[@i00]: https://github.com/i00 +[@idyedov]: https://github.com/idyedov +[@janiversen]: https://github.com/janiversen +[@jarylc]: https://github.com/jarylc +[@jasperro]: https://github.com/jasperro +[@jjlawren]: https://github.com/jjlawren +[@jkeljo]: https://github.com/jkeljo +[@jlmcgehee21]: https://github.com/jlmcgehee21 +[@jnimmo]: https://github.com/jnimmo +[@kit-klein]: https://github.com/kit-klein +[@meichthys]: https://github.com/meichthys +[@mst]: https://github.com/mst +[@mzdrale]: https://github.com/mzdrale +[@oblogic7]: https://github.com/oblogic7 +[@ochlocracy]: https://github.com/ochlocracy +[@oischinger]: https://github.com/oischinger +[@ollo69]: https://github.com/ollo69 +[@oxan]: https://github.com/oxan +[@pnbruckner]: https://github.com/pnbruckner +[@prairieapps]: https://github.com/prairieapps +[@pvizeli]: https://github.com/pvizeli +[@raman325]: https://github.com/raman325 +[@rigrig]: https://github.com/rigrig +[@roleoroleo]: https://github.com/roleoroleo +[@sanyatuning]: https://github.com/sanyatuning +[@sbilly]: https://github.com/sbilly +[@scarface-4711]: https://github.com/scarface-4711 +[@scop]: https://github.com/scop +[@shred86]: https://github.com/shred86 +[@smega]: https://github.com/smega +[@springstan]: https://github.com/springstan +[@swails]: https://github.com/swails +[@thrawnarn]: https://github.com/thrawnarn +[@tiagofreire-pt]: https://github.com/tiagofreire-pt +[@vwir]: https://github.com/vwir +[@ziv1234]: https://github.com/ziv1234 +[abode docs]: /integrations/abode/ +[adguard docs]: /integrations/adguard/ +[airly docs]: /integrations/airly/ +[airvisual docs]: /integrations/airvisual/ +[alarm_control_panel docs]: /integrations/alarm_control_panel/ +[alarmdecoder docs]: /integrations/alarmdecoder/ +[alexa docs]: /integrations/alexa/ +[ambient_station docs]: /integrations/ambient_station/ +[amcrest docs]: /integrations/amcrest/ +[androidtv docs]: /integrations/androidtv/ +[apprise docs]: /integrations/apprise/ +[asuswrt docs]: /integrations/asuswrt/ +[automation docs]: /integrations/automation/ +[axis docs]: /integrations/axis/ +[bayesian docs]: /integrations/bayesian/ +[binary_sensor docs]: /integrations/binary_sensor/ +[bluesound docs]: /integrations/bluesound/ +[bmp280 docs]: /integrations/bmp280/ +[braviatv docs]: /integrations/braviatv/ +[broadlink docs]: /integrations/broadlink/ +[brother docs]: /integrations/brother/ +[cast docs]: /integrations/cast/ +[config docs]: /integrations/config/ +[configurator docs]: /integrations/configurator/ +[cover docs]: /integrations/cover/ +[deconz docs]: /integrations/deconz/ +[default_config docs]: /integrations/default_config/ +[delijn docs]: /integrations/delijn/ +[denonavr docs]: /integrations/denonavr/ +[directv docs]: /integrations/directv/ +[discord docs]: /integrations/discord/ +[doorbird docs]: /integrations/doorbird/ +[dynalite docs]: /integrations/dynalite/ +[ecobee docs]: /integrations/ecobee/ +[elkm1 docs]: /integrations/elkm1/ +[emby docs]: /integrations/emby/ +[emulated_hue docs]: /integrations/emulated_hue/ +[fortios docs]: /integrations/fortios/ +[freebox docs]: /integrations/freebox/ +[frontend docs]: /integrations/frontend/ +[garmin_connect docs]: /integrations/garmin_connect/ +[gdacs docs]: /integrations/gdacs/ +[generic_thermostat docs]: /integrations/generic_thermostat/ +[geonetnz_quakes docs]: /integrations/geonetnz_quakes/ +[gios docs]: /integrations/gios/ +[google_assistant docs]: /integrations/google_assistant/ +[gtfs docs]: /integrations/gtfs/ +[harmony docs]: /integrations/harmony/ +[hassio docs]: /integrations/hassio/ +[here_travel_time docs]: /integrations/here_travel_time/ +[history docs]: /integrations/history/ +[homekit docs]: /integrations/homekit/ +[homekit_controller docs]: /integrations/homekit_controller/ +[homematic docs]: /integrations/homematic/ +[homematicip_cloud docs]: /integrations/homematicip_cloud/ +[huawei_lte docs]: /integrations/huawei_lte/ +[hue docs]: /integrations/hue/ +[icloud docs]: /integrations/icloud/ +[integration docs]: /integrations/integration/ +[intesishome docs]: /integrations/intesishome/ +[ipp docs]: /integrations/ipp/ +[iqvia docs]: /integrations/iqvia/ +[isy994 docs]: /integrations/isy994/ +[kef docs]: /integrations/kef/ +[knx docs]: /integrations/knx/ +[konnected docs]: /integrations/konnected/ +[lastfm docs]: /integrations/lastfm/ +[lcn docs]: /integrations/lcn/ +[light docs]: /integrations/light/ +[lovelace docs]: /integrations/lovelace/ +[luftdaten docs]: /integrations/luftdaten/ +[lutron_caseta docs]: /integrations/lutron_caseta/ +[media_extractor docs]: /integrations/media_extractor/ +[met docs]: /integrations/met/ +[meteo_france docs]: /integrations/meteo_france/ +[microsoft_face docs]: /integrations/microsoft_face/ +[miflora docs]: /integrations/miflora/ +[minecraft_server docs]: /integrations/minecraft_server/ +[mjpeg docs]: /integrations/mjpeg/ +[modbus docs]: /integrations/modbus/ +[monoprice docs]: /integrations/monoprice/ +[mpd docs]: /integrations/mpd/ +[mqtt docs]: /integrations/mqtt/ +[myq docs]: /integrations/myq/ +[netatmo docs]: /integrations/netatmo/ +[nexia docs]: /integrations/nexia/ +[nextcloud docs]: /integrations/nextcloud/ +[nissan_leaf docs]: /integrations/nissan_leaf/ +[notion docs]: /integrations/notion/ +[nuheat docs]: /integrations/nuheat/ +[nut docs]: /integrations/nut/ +[obihai docs]: /integrations/obihai/ +[onvif docs]: /integrations/onvif/ +[opencv docs]: /integrations/opencv/ +[openuv docs]: /integrations/openuv/ +[openweathermap docs]: /integrations/openweathermap/ +[persistent_notification docs]: /integrations/persistent_notification/ +[pi_hole docs]: /integrations/pi_hole/ +[plex docs]: /integrations/plex/ +[plum_lightpad docs]: /integrations/plum_lightpad/ +[powerwall docs]: /integrations/powerwall/ +[pvpc_hourly_pricing docs]: /integrations/pvpc_hourly_pricing/ +[rachio docs]: /integrations/rachio/ +[rainmachine docs]: /integrations/rainmachine/ +[recorder docs]: /integrations/recorder/ +[remote docs]: /integrations/remote/ +[roku docs]: /integrations/roku/ +[rtorrent docs]: /integrations/rtorrent/ +[schluter docs]: /integrations/schluter/ +[sendgrid docs]: /integrations/sendgrid/ +[sense docs]: /integrations/sense/ +[shodan docs]: /integrations/shodan/ +[simplisafe docs]: /integrations/simplisafe/ +[sinch docs]: /integrations/sinch/ +[sisyphus docs]: /integrations/sisyphus/ +[slack docs]: /integrations/slack/ +[sonos docs]: /integrations/sonos/ +[soundtouch docs]: /integrations/soundtouch/ +[spotify docs]: /integrations/spotify/ +[sql docs]: /integrations/sql/ +[switch docs]: /integrations/switch/ +[switchbot docs]: /integrations/switchbot/ +[switcher_kis docs]: /integrations/switcher_kis/ +[synology_srm docs]: /integrations/synology_srm/ +[systemmonitor docs]: /integrations/systemmonitor/ +[tado docs]: /integrations/tado/ +[tankerkoenig docs]: /integrations/tankerkoenig/ +[template docs]: /integrations/template/ +[tesla docs]: /integrations/tesla/ +[tibber docs]: /integrations/tibber/ +[tplink docs]: /integrations/tplink/ +[tts docs]: /integrations/tts/ +[twentemilieu docs]: /integrations/twentemilieu/ +[ubee docs]: /integrations/ubee/ +[unifi docs]: /integrations/unifi/ +[velbus docs]: /integrations/velbus/ +[version docs]: /integrations/version/ +[vicare docs]: /integrations/vicare/ +[vizio docs]: /integrations/vizio/ +[wled docs]: /integrations/wled/ +[yeelight docs]: /integrations/yeelight/ +[zeroconf docs]: /integrations/zeroconf/ +[zha docs]: /integrations/zha/ +[zone docs]: /integrations/zone/ diff --git a/source/_redirects b/source/_redirects index 866ba1f8d68..d319c1f03b8 100644 --- a/source/_redirects +++ b/source/_redirects @@ -83,7 +83,6 @@ /components/air_quality.opensensemap /integrations/opensensemap /components/alarm_control_panel.abode /integrations/abode /components/alarm_control_panel.alarmdecoder /integrations/alarmdecoder#alarm-control-panel -/components/alarm_control_panel.alarmdotcom /integrations/alarmdotcom /components/alarm_control_panel.arlo /integrations/arlo /components/alarm_control_panel.blink /integrations/blink /components/alarm_control_panel.canary /integrations/canary @@ -783,7 +782,6 @@ /components/sensor.modem_callerid /integrations/modem_callerid /components/sensor.mold_indicator /integrations/mold_indicator /components/sensor.moon /integrations/moon -/components/sensor.mopar /integrations/mopar /components/sensor.mqtt_room /integrations/mqtt_room /components/sensor.mvglive /integrations/mvglive /components/sensor.mychevy /integrations/mychevy @@ -1099,7 +1097,6 @@ /components/alarm_control_panel.ifttt /integrations/alarm_control_panel.ifttt /components/alarm_control_panel.mqtt /integrations/alarm_control_panel.mqtt /components/alarmdecoder /integrations/alarmdecoder -/components/alarmdotcom /integrations/alarmdotcom /components/alert /integrations/alert /components/alexa /integrations/alexa /components/alexa.flash_briefings /integrations/alexa.flash_briefings @@ -1580,7 +1577,6 @@ /components/mold_indicator /integrations/mold_indicator /components/monoprice /integrations/monoprice /components/moon /integrations/moon -/components/mopar /integrations/mopar /components/mpchc /integrations/mpchc /components/mpd /integrations/mpd /components/mqtt /integrations/mqtt diff --git a/source/images/blog/2020-04-0.108/area-config-page.png b/source/images/blog/2020-04-0.108/area-config-page.png new file mode 100644 index 00000000000..625dccb8ba5 Binary files /dev/null and b/source/images/blog/2020-04-0.108/area-config-page.png differ diff --git a/source/images/blog/2020-04-0.108/components.png b/source/images/blog/2020-04-0.108/components.png new file mode 100644 index 00000000000..99780415e7f Binary files /dev/null and b/source/images/blog/2020-04-0.108/components.png differ diff --git a/source/images/blog/2020-04-0.108/device-info-page.png b/source/images/blog/2020-04-0.108/device-info-page.png new file mode 100644 index 00000000000..b9e642ff4b0 Binary files /dev/null and b/source/images/blog/2020-04-0.108/device-info-page.png differ diff --git a/source/images/blog/2020-04-0.108/entity-card.png b/source/images/blog/2020-04-0.108/entity-card.png new file mode 100644 index 00000000000..637194388e9 Binary files /dev/null and b/source/images/blog/2020-04-0.108/entity-card.png differ diff --git a/source/images/blog/2020-04-0.108/horizontal-stack.png b/source/images/blog/2020-04-0.108/horizontal-stack.png new file mode 100644 index 00000000000..267f3173f61 Binary files /dev/null and b/source/images/blog/2020-04-0.108/horizontal-stack.png differ diff --git a/source/images/blog/2020-04-0.108/map-history.png b/source/images/blog/2020-04-0.108/map-history.png new file mode 100644 index 00000000000..04d4822903f Binary files /dev/null and b/source/images/blog/2020-04-0.108/map-history.png differ diff --git a/source/images/blog/2020-04-0.108/social.png b/source/images/blog/2020-04-0.108/social.png new file mode 100644 index 00000000000..85144b08690 Binary files /dev/null and b/source/images/blog/2020-04-0.108/social.png differ diff --git a/source/images/integrations/amcrest/amcrest_ptz.jpg b/source/images/integrations/amcrest/amcrest_ptz.jpg new file mode 100644 index 00000000000..3e925340ceb Binary files /dev/null and b/source/images/integrations/amcrest/amcrest_ptz.jpg differ diff --git a/source/images/lovelace/header-footer/graph.png b/source/images/lovelace/header-footer/graph.png new file mode 100644 index 00000000000..8e529cb6cc1 Binary files /dev/null and b/source/images/lovelace/header-footer/graph.png differ diff --git a/source/images/lovelace/lovelace_entity_card.png b/source/images/lovelace/lovelace_entity_card.png new file mode 100644 index 00000000000..3a375d0610a Binary files /dev/null and b/source/images/lovelace/lovelace_entity_card.png differ diff --git a/source/images/screenshots/nextcloud-sample-sensor.png b/source/images/screenshots/nextcloud-sample-sensor.png new file mode 100644 index 00000000000..dcb30a000a4 Binary files /dev/null and b/source/images/screenshots/nextcloud-sample-sensor.png differ diff --git a/source/images/supported_brands/alarmdotcom.png b/source/images/supported_brands/alarmdotcom.png deleted file mode 100644 index cc94de3a537..00000000000 Binary files a/source/images/supported_brands/alarmdotcom.png and /dev/null differ diff --git a/source/images/supported_brands/nextcloud.png b/source/images/supported_brands/nextcloud.png new file mode 100644 index 00000000000..1c9558a1301 Binary files /dev/null and b/source/images/supported_brands/nextcloud.png differ diff --git a/source/images/supported_brands/schluter.png b/source/images/supported_brands/schluter.png new file mode 100644 index 00000000000..8026045e31e Binary files /dev/null and b/source/images/supported_brands/schluter.png differ diff --git a/source/lovelace/header-footer.markdown b/source/lovelace/header-footer.markdown index e23bfb50711..e0dcd885f3a 100644 --- a/source/lovelace/header-footer.markdown +++ b/source/lovelace/header-footer.markdown @@ -75,4 +75,41 @@ entities: required: false description: Override the entity image. type: string + name: + required: false + description: Label for the button + type: string +{% endconfiguration %} + +## Graph header & footer + +Widget to show an entity in the sensor domain as a graph in the header or footer. + +

Screenshot of an entities card with a graph footer. +Screenshot of an entities card with a graph footer. +

+ +```yaml +footer: + type: graph + entity: sensor.outside_temperature + hours_to_show: 24 + detail: 1 +``` + +{% configuration header-footer %} +entity: + required: true + description: Entity id of `sensor` domain + type: string +detail: + required: false + description: Detail of the graph `1` or `2`, `1` equals one point/hour, `2` equals six points/hour + type: integer + default: 1 +hours_to_show: + required: false + description: Hours to show in graph + type: integer + default: 24 {% endconfiguration %}