Merge branch 'rc' into current

This commit is contained in:
Paulus Schoutsen 2019-10-09 23:41:46 -07:00
commit 8f9aff5ac5
97 changed files with 2938 additions and 809 deletions

View File

@ -100,9 +100,9 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 99
current_patch_version: 3
date_released: 2019-09-25
current_minor_version: 100
current_patch_version: 0
date_released: 2019-10-10
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

View File

@ -42,6 +42,16 @@ customize:
required: false
type: [boolean, string]
default: false
cafile:
description: Path to the CA certificate. If not set, will default to the *certfile* value.
required: false
default: certfile
type: string
require_certificate:
description: Restrict to users with a valid certificate only.
required: false
default: false
type: boolean
{% endconfiguration %}
### Home Assistant user management

View File

@ -65,10 +65,15 @@ output_format:
type: string
default: mp3
sample_rate:
description: "Override the default sample rate."
description: "Override the default sample rate. Possible values are: 8000, 16000, 22050, 24000."
required: false
type: string
default: 22050 for MP3 and Ogg Vorbis, 16000 for pcm
engine:
description: "Override the default engine. Can be either of `standard` or `neural`. See Amazon documentation for compatible regions and voices."
required: false
type: string
default: standard
{% endconfiguration %}
## Usage

View File

@ -160,7 +160,7 @@ For Hass.io users, you can install the [Android Debug Bridge](https://github.com
### 2. Python ADB Implementation
The second option is to connect to your device using the `adb` Python package.
The second option is to connect to your device using the `adb-shell` Python package.
If your device requires ADB authentication, you will need to follow the instructions in the [ADB Authentication](#adb-authentication) section below. Once you have an authenticated key, this approach does not require any additional setup or addons. However, users with newer devices may find that the ADB connection is unstable. For a Fire TV device, you can try setting the `get_sources` configuration option to `false`. If the problem cannot be resolved, you should use the ADB server option.
@ -172,7 +172,7 @@ If you get a "Device authentication required, no keys available" error when tryi
In the dialog appearing on your Android TV / Fire TV, you must check the box that says "always allow connections from this device." ADB authentication in Home Assistant will only work using a trusted key.
</div>
Once you've successfully connected to your Android TV / Fire TV via the command `adb connect <ipaddress>:5555`, the file `adbkey` will be created on your computer. The default locations for this file is (from [https://developer.android.com/studio/command-line/adb](https://developer.android.com/studio/command-line/adb)):
Once you've successfully connected to your Android TV / Fire TV via the command `adb connect <ipaddress>:5555`, the file `adbkey` will be created on your computer. The default locations for this file are (from [https://developer.android.com/studio/command-line/adb](https://developer.android.com/studio/command-line/adb)):
- Linux and Mac: `$HOME/.android.`
- Windows: `%userprofile%\.android.`

View File

@ -84,6 +84,10 @@ device_class:
description: Sets the [class of the device](/integrations/binary_sensor/#device-class), changing the device state and icon that is displayed on the frontend.
required: false
type: string
expire_after:
description: "Defines the number of seconds after the value expires if it's not updated. After expiry, the value is cleared, and the availability is set to false"
required: false
type: integer
value_template:
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload. Available variables: `entity_id`. Remove this option when 'payload_on' and 'payload_off' are sufficient to match your payloads."
required: false

View File

@ -18,6 +18,7 @@ other entities. The state of a Template Binary Sensor can only be `on` or
Here is an example of adding a Template Binary Sensor to the `configuration.yaml` file:
{% raw %}
```yaml
# Example configuration.yaml entry
binary_sensor:
@ -28,6 +29,7 @@ binary_sensor:
value_template: >-
{{ state_attr('sun.sun', 'elevation')|float > 0 }}
```
{% endraw %}
{% configuration %}
@ -58,6 +60,11 @@ sensors:
description: The sensor is `on` if the template evaluates as `True` and `off` otherwise. The actual appearance in the frontend (`Open`/`Closed`, `Detected`/`Clear` etc) depends on the sensors device_class value
required: true
type: template
availability_template:
description: Defines a template to get the `available` state of the component. If the template returns `true`, the device is `available`. If the template returns any other value, the device will be `unavailable`. If `availability_template` is not configured, the component will always be `available`.
required: false
type: template
default: true
icon_template:
description: Defines a template for the icon of the sensor.
required: false
@ -118,6 +125,7 @@ sensor of `furnace` that provides a current reading for the fan motor, we can
determine if the furnace is running by checking that it is over some threshold:
{% raw %}
```yaml
binary_sensor:
- platform: template
@ -127,6 +135,7 @@ binary_sensor:
device_class: heat
value_template: "{{ states('sensor.furnace')|float > 2.5 }}"
```
{% endraw %}
### Switch as Sensor
@ -137,6 +146,7 @@ original switch can then be hidden by
[customizing](/getting-started/customizing-devices/).
{% raw %}
```yaml
binary_sensor:
- platform: template
@ -148,6 +158,7 @@ binary_sensor:
device_class: opening
value_template: "{{ is_state('switch.door', 'on') }}"
```
{% endraw %}
### Combining Multiple Sensors
@ -157,6 +168,7 @@ status. When using templates with binary sensors, you need to return
`true` or `false` explicitly.
{% raw %}
```yaml
binary_sensor:
- platform: template
@ -169,6 +181,7 @@ binary_sensor:
and is_state('sensor.kitchen_co_status', 'Ok')
and is_state('sensor.wardrobe_co_status', 'Ok') }}
```
{% endraw %}
### Washing Machine Running
@ -180,6 +193,7 @@ finished. By utilizing `delay_off`, we can have this sensor only turn off if
there has been no washer activity for 5 minutes.
{% raw %}
```yaml
# Determine when the washing machine has a load running.
binary_sensor:
@ -192,9 +206,10 @@ binary_sensor:
value_template: >-
{{ states('sensor.washing_machine_power')|float > 0 }}
```
{% endraw %}
### Is Anyone Home?
### Is Anyone Home
This example is determining if anyone is home based on the combination of device
tracking and motion sensors. It's extremely useful if you have kids/baby sitter/
@ -203,6 +218,7 @@ trackable device in Home Assistant. This is providing a composite of WiFi based
device tracking and Z-Wave multisensor presence sensors.
{% raw %}
```yaml
binary_sensor:
- platform: template
@ -217,6 +233,7 @@ binary_sensor:
or is_state('binary_sensor.porch_ms6_1_129', 'on')
or is_state('binary_sensor.family_room_144', 'on') }}
```
{% endraw %}
### Device Tracker sensor with Latitude and Longitude Attributes
@ -251,11 +268,11 @@ binary_sensor:
### Change the icon when state changes
This example demonstrates how to use `icon_template` to change the entity's
icon as its state changes, it evaluates the state of its own sensor and uses a
conditional statement to output the appropriate icon.
icon as its state changes, it evaluates the state of its own sensor and uses a
conditional statement to output the appropriate icon.
{% raw %}
```yaml
sun:
binary_sensor:
@ -273,4 +290,5 @@ binary_sensor:
mdi:weather-sunset-down
{% endif %}
```
{% endraw %}

View File

@ -22,6 +22,17 @@ Home Assistant has its own Cast application to show the Home Assistant UI. You c
}
```
## Home Assistant Cast
The Cast integration allows you to start Home Assistant Cast on any Chromecast device, using the `cast.show_lovelace_view` service. The service takes the path of a Lovelace view and an entity ID of a Cast device to show the view on.
```json
{
"entity_id": "media_player.office_display_4",
"view_path": "lights"
}
```
## Advanced use
Note that Home Assistant Cast requires your Home Assistant installation to be accessible via `https://`. If you're using Home Assistant Cloud, you don't need to do anything. Otherwise you must make sure that you have configured the `base_url` for [the `http` integration](/integrations/http/).

View File

@ -19,6 +19,7 @@ To enable Template Covers in your installation,
add the following to your `configuration.yaml` file:
{% raw %}
```yaml
# Example configuration.yaml entry
cover:
@ -34,6 +35,7 @@ cover:
stop_cover:
service: script.stop_garage_door
```
{% endraw %}
{% configuration %}
@ -62,6 +64,11 @@ cover:
description: Defines a template to specify which icon to use.
required: false
type: template
availability_template:
description: Defines a template to get the `available` state of the component. If the template returns `true`, the device is `available`. If the template returns any other value, the device will be `unavailable`. If `availability_template` is not configured, the component will always be `available`.
required: false
type: template
default: true
device_class:
description: Sets the [class of the device](/integrations/cover/), changing the device state and icon that is displayed on the frontend.
required: false
@ -136,6 +143,7 @@ This example converts a garage door with a controllable switch and position
sensor into a cover.
{% raw %}
```yaml
cover:
- platform: template
@ -162,6 +170,7 @@ cover:
mdi:garage
{% endif %}
```
{% endraw %}
### Multiple Covers
@ -169,6 +178,7 @@ cover:
This example allows you to control two or more covers at once.
{% raw %}
```yaml
homeassistant:
customize:
@ -249,6 +259,7 @@ automation:
entity_id: cover.cover_group
position: 25
```
{% endraw %}
### Change The Icon
@ -256,6 +267,7 @@ automation:
This example shows how to change the icon based on the cover state.
{% raw %}
```yaml
cover:
- platform: template
@ -282,6 +294,7 @@ cover:
mdi:window-closed
{% endif %}
```
{% endraw %}
### Change The Entity Picture
@ -289,6 +302,7 @@ cover:
This example shows how to change the entity picture based on the cover state.
{% raw %}
```yaml
cover:
- platform: template
@ -315,4 +329,5 @@ cover:
/local/cover-closed.png
{% endif %}
```
{% endraw %}

View File

@ -0,0 +1,151 @@
---
title: "DOODS"
description: "Detect and recognize objects with DOODS."
ha_category:
- Image Processing
ha_iot_class: Local Polling
ha_release: "0.100"
---
The `doods` image processing platform allows you to detect and recognize objects in a camera image using [DOODS](https://github.com/snowzach/doods/). The state of the entity is the number of objects detected, and recognized objects are listed in the `summary` attribute along with quantity. The `matches` attribute provides the confidence `score` for recognition and the bounding `box` of the object for each detection category.
## Setup
You need to have DOODS running somewhere. It's easiest to run as a docker container and deployment is described on docker hub
[DOODS - Docker](https://hub.docker.com/r/snowzach/doods)
## Configuration
The configuration loosely follows the tensorflow configuration. To enable this platform in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
image_processing:
- platform: doods
url: "http://<my doods server>:8080"
source:
- entity_id: camera.front_yard
```
{% configuration %}
source:
description: The list of image sources.
required: true
type: map
keys:
entity_id:
description: A camera entity id to get picture from.
required: true
type: string
name:
description: This parameter allows you to override the name of your `image_processing` entity.
required: false
type: string
url:
description: The URL of the DOODS server
required: true
type: string
detector:
description: The DOODS detector to use
required: false
type: string
confidence:
description: The default confidence for any detected objects where not explicitly set
required: false
type: float
file_out:
description: A [template](/docs/configuration/templating/#processing-incoming-data) for the integration to save processed images including bounding boxes. `camera_entity` is available as the `entity_id` string of the triggered source camera.
required: false
type: list
labels:
description: Information about the selected labels model.
required: false
type: map
keys:
name:
description: The label of the object to select for detection.
required: true
type: string
confidence:
description: The minimum confidence for the selected label
required: false
type: float
area:
description: Custom detection area. Only objects fully in this box will be reported. Top of image is 0, bottom is 1. Same left to right.
required: false
type: map
keys:
top:
description: Top line defined as % from top of image.
required: false
type: float
default: 0
left:
description: Left line defined as % from left of image.
required: false
type: float
default: 0
bottom:
description: Bottom line defined as % from top of image.
required: false
type: float
default: 1
right:
description: Right line defined as % from left of image.
required: false
type: float
default: 1
{% endconfiguration %}
```yaml
# Example advanced configuration.yaml entry
# Example configuration.yaml entry
image_processing:
- platform: doods
scan_interval: 1000
url: "http://<my doods server>:8080"
detector: default
source:
- entity_id: camera.front_yard
file_out:
- "/tmp/{% raw %}{{ camera_entity.split('.')[1] }}{% endraw %}_latest.jpg"
- "/tmp/{% raw %}{{ camera_entity.split('.')[1] }}_{{ now().strftime('%Y%m%d_%H%M%S') }}{% endraw %}.jpg"
confidence: 50
labels:
- name: person
confidence: 40
area:
# Exclude top 10% of image
top: 0.1
# Exclude right 15% of image
right: 0.85
- car
- truck
```
## Optimising resources
[Image processing components](/components/image_processing/) process the image from a camera at a fixed period given by the `scan_interval`. This leads to excessive processing if the image on the camera hasn't changed, as the default `scan_interval` is 10 seconds. You can override this by adding to your config `scan_interval: 10000` (setting the interval to 10,000 seconds), and then call the `image_processing.scan` service when you actually want to perform processing.
```yaml
# Example advanced configuration.yaml entry
image_processing:
- platform: doods
scan_interval: 10000
source:
- entity_id: camera.driveway
- entity_id: camera.backyard
```
```yaml
# Example advanced automations.yaml entry
- alias: Doods scanning
trigger:
- platform: state
entity_id:
- binary_sensor.driveway
action:
- service: image_processing.scan
entity_id: camera.driveway
```

View File

@ -26,7 +26,7 @@ host:
required: true
type: string
circuit:
description: The heating circuit name to monitor, e.g., 700.
description: The heating circuit name to monitor, e.g., '700', 'ehp' or 'bai'.
required: true
type: string
port:
@ -40,7 +40,7 @@ name:
required: false
default: ebusd
monitored_conditions:
description: List of condition to monitor.
description: List of conditions to monitor. Note that not all monitored_conditions listed here can be supported by your circuit. This integration maps limited set of keys to circuit specific ebusd values.
type: list
required: false
keys:
@ -110,4 +110,24 @@ monitored_conditions:
description: Power energy consumption from last month.
PowerEnergyConsumptionThisMonth:
description: Power energy consumption from the actual month.
HotWaterTemperature:
description: Hot water circuit temperature.
StorageTemperature:
description: Boiler temperature.
DesiredStorageTemperature:
description: Target boiler temperature.
OutdoorsTemperature:
description: Temperature used for weather dependent calculations.
AverageIgnitionTime:
description: Average flame ignition time (seconds).
MaximumIgnitionTime:
description: Maximum flame ignition time (seconds).
MinimumIgnitionTime:
description: Minimum flame ignition time (seconds).
ReturnTemperature:
description: Temperature returned into heater from water circuit.
DesiredFlowTemperature:
description: Target heat temperature.
FlowTemperature:
description: Out temperature.
{% endconfiguration %}

View File

@ -10,33 +10,46 @@ ha_category:
- Weather
featured: true
ha_release: 0.9
ha_iot_class: Cloud Push
ha_iot_class: Cloud Poll
---
The `ecobee` integration lets you control a thermostats and view sensor data from [ecobee](https://ecobee.com) thermostats.
The `ecobee` integration lets you control thermostats and view sensor data from [ecobee](https://ecobee.com) thermostats and remote sensors.
## Configuration
## Preliminary Step
You will need to obtain an API key from ecobee's [developer site](https://www.ecobee.com/developers/) to use this component. To get the key, first you need to register your thermostat which should be done as part of the ecobee installation. Once you have done that perform the following steps.
You will need to obtain an API key from ecobee's [developer site](https://www.ecobee.com/developers/) to use this integration. To get the key, first, you need to register your thermostat which should be done as part of the ecobee installation. Once you have done that, perform the following steps.
1. Click on the **Become a developer** link on the [developer site](https://www.ecobee.com/developers/).
2. Login with your ecobee credentials.
2. Log in with your ecobee credentials.
3. Accept the SDK agreement.
4. Fill in the fields.
5. Click **save**.
Now login to the regular consumer portal, and in the hamburger menu there will be a new option **Developer**. Now we can create the Application to hook up to Home Assistant.
Now login to the regular consumer portal and in the hamburger menu, there will be a new option **Developer**. Now we can create an Application to link to Home Assistant.
1. Select the Developer option.
1. Select the **Developer** option from the hamburger menu.
2. Select **Create New**.
3. Give your app a name (it appears to need to be unique across all users, as I tried 'home-assistant' and it said it was already in use. Try <yournameoralias>-home-assistant) and a summary (neither of these are important as they are not used anywhere).
4. For Authorization method select **ecobee PIN**.
3. Give your App a name (it must be unique across all ecobee users; try your-name-or-alias-home-assistant) and a summary (which need not be unique). Neither of these are important as they are not used anywhere in Home Assistant.
4. For authorization method select **ecobee PIN**.
5. You don't need an Application Icon or Detailed Description.
6. Click **Create**.
Now under the Name and Summary Section you will have an API key. Copy this key and use it in you configuration section below. Click the **X** to close the Developer section.
Now under the Name and Summary Section, you will have an API key. Copy this key as you will need it in the steps that follow. Click the **X** to close the Developer section.
To add the Ecobee integration to Home Assistant, add the following information to your [`configuration.yaml`](/docs/configuration/) file:
## Configuring the Integration
To configure the ecobee integration in Home Assistant, you can either use the **Configuration** -> **Integrations** menu, or add an entry to `configuration.yaml`.
### Setup via the Integrations menu
1. In the **Configuration** -> **Integrations** menu, click **+** and then select `ecobee` from the pop-up menu.
2. In the pop-up box, enter the API key you obtained from ecobee.com.
3. In the next pop-up box, you will be presented with a unique four-character PIN code which you will need to authorize in the [ecobee consumer portal](https://www.ecobee.com/consumerportal/index.html). You can do this by logging in, selecting **My Apps** from the hamburger menu, clicking **Add Application** on the left, entering the PIN code from Home Assistant, and clicking **Validate** and then **Add Application** in the bottom right.
4. After authorizing the App on ecobee.com, return to Home Assistant and hit **Submit**. If the authorization was successful, a config entry will be created and your thermostats and sensors will be available in Home Assistant.
### Setup via configuration.yaml
If you prefer to initially set up this integration in [`configuration.yaml`](/docs/configuration/), you may do so by adding your API key (and optional parameters) as follows (however, you must still complete authorization via the **Integrations** menu):
```yaml
# Example configuration.yaml entry
@ -44,26 +57,13 @@ ecobee:
api_key: YOUR_API_KEY
```
[Restart Home Assistant](/docs/configuration/#reloading-changes) for the changes to take effect.
The first time you (re)run Home Assistant with this integration it will give you a PIN code that you need to authorize in the [ecobee consumer portal](https://www.ecobee.com/consumerportal/index.html). You can do this by clicking **Add Application** in the **My Apps** section in the sidebar.
The PIN can be found from the Home Assistant portal on the Ecobee card or from the **configurator.ecobee** entity in states in the portal.
- If you do not have an ecobee card, you may be using groups with `default_view` that don't show the card. To get around this you can temporarily comment out the `default_view` section or add the `configurator.ecobee` integration to your `default_view` and restart Home Assistant.
Once you enter the PIN on the ecobee site, wait approximately 5 minutes and then click on the **I have authorized the app** link at the bottom of the ecobee pop-up window. If everything worked correctly, you should now be able to restart Home Assistant again to see the full ecobee card with all of the sensors populated or see the list of sensors in the developer tools. Now you can re-enable your `default_view` (if you had to disable it) and add the ecobee sensors to a group and/or view.
[Restart Home Assistant](/docs/configuration/#reloading-changes) for the changes to take effect. In the **Configuration** -> **Integrations** menu, hit **Configure** next to the discovered `ecobee` entry, and continue to authorize the App per the Integration menu instructions above.
{% configuration %}
api_key:
description: Your ecobee API key. This is only needed for the initial setup of the component. Once registered it can be removed. If you revoke the key in the ecobee portal you will need to update this again and remove the ecobee.conf file in the `.homeassistant` configuration path.
required: true
type: string
hold_temp:
description: Whether or not to hold changes indefinitely (`true`) or until the next scheduled event.
description: Your ecobee API key. This is only needed for the initial setup of the integration. Once registered it can be removed. If you revoke the key in the ecobee portal, you will need to remove the existing `ecobee` configuration in the **Integrations** menu, update this, and then configure the Integration again.
required: false
default: false
type: boolean
type: string
{% endconfiguration %}
<p class='img'>
@ -71,11 +71,9 @@ hold_temp:
<img src='{{site_root}}/images/screenshots/ecobee-thermostat-card.png' />
</p>
If for whatever reason you delete and re-create your ecobee app at ecobee.com such that your developer API key changes, you will need to delete your `/conf/ecobee.conf file`. You will also need to update the `api_key:` in the `configuration.yaml` or `secrets.yaml` file.
## Notifications
To get your Ecobee notifications working with Home Assistant, you must first have the main Ecobee integration loaded and running. Once you have that configured, you can setup this integration to send messages to your Ecobee device.
To get your Ecobee notifications working with Home Assistant, you must first have the main Ecobee integration loaded and running. Once you have that configured, you can set up this integration to send messages to your Ecobee device.
To use this notification platform in your installation, add the following to your `configuration.yaml` file:
@ -138,22 +136,62 @@ auto, and off.
The Ecobee climate entity has some extra attributes to represent the state of the thermostat.
| Name | Description |
| ---- | ----------- |
| `fan` | If the fan is currently on or off: `on` / `off`.
| `climate_mode` | This is the climate mode that is active, or would be active if no override is active.
| `equipment_running` | This is a comma seperated list of equipment that is currently running.
| `fan_min_on_time` | The minimum amount of minutes that the fan will be on when it's turned on.
| Name | Description |
| ------------------- | ------------------------------------------------------------------------------------- |
| `fan` | If the fan is currently on or off: `on` / `off`. |
| `climate_mode` | This is the climate mode that is active, or would be active if no override is active. |
| `equipment_running` | This is a comma seperated list of equipment that is currently running. |
| `fan_min_on_time` | The minimum amount of minutes that the fan will be on when it's turned on. |
## Services
Besides the standard services provided by the Home Assistant [Climate](https://www.home-assistant.io/integrations/climate/) integration, the following extra service is provided by the Ecobee Thermostat: `resume_program`.
Besides the standard services provided by the Home Assistant [Climate](/integrations/climate/) integration, the following extra services are provided by the Ecobee integration:
### Service `resume_program`
- `ecobee.create_vacation`
- `ecobee.delete_vacation`
- `ecobee.resume_program`
- `ecobee.set_fan_min_on_time`
### Service `ecobee.create_vacation`
Creates a vacation on the selected ecobee thermostat.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------------------------------------------------------- |
| `entity_id` | no | ecobee thermostat on which to create the vacation |
| `vacation_name` | no | Name of the vacation to create; must be unique on the thermostat |
| `cool_temp` | no | Cooling temperature during the vacation |
| `heat_temp` | no | Heating temperature during the vacation |
| `start_date` | yes | Date the vacation starts in YYYY-MM-DD format |
| `start_time` | yes | Time the vacation starts, in the local time of the thermostat, in the 24-hour format HH:MM:SS |
| `end_date` | yes | Date the vacation ends in YYYY-MM-DD format (14 days from now if not provided) |
| `end_time` | yes | Time the vacation ends, in the local time of the thermostat, in the 24-hour format HH:MM:SS |
| `fan_mode` | yes | Fan mode of the thermostat during the vacation (auto or on) (auto if not provided) |
| `fan_min_on_time` | yes | Minimum number of minutes to run the fan each hour (0 to 60) during the vacation (0 if not provided) |
### Service `ecobee.delete_vacation`
Delete a vacation on the selected ecobee thermostat.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------- |
| `entity_id` | no | ecobee thermostat on which to delete the vacation |
| `vacation_name` | no | Name of the vacation to delete |
### Service `ecobee.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. Else targets all.
| `resume_all` | no | true or false
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------ |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all. |
| `resume_all` | no | true or false |
### Service `ecobee.set_fan_min_on_time`
Sets the minimum amount of time that the fan will run.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------ |
| `entity_id` | yes | String or list of strings that point at `entity_id`'s of climate devices to control. Else targets all. |
| `fan_min_on_time` | no | integer (e.g. 5) |

View File

@ -35,6 +35,12 @@ If you added or upgraded to a newer Alexa device and devices are not found, you
</div>
<div class='note'>
[Sleep Cycle](https://www.sleepcycle.com) and [Sleep as Android](https://sleep.urbandroid.org): smart alarm clock app can use emulated_hue to turn on and off entities. Sleep Cycle only has it implemented in the iOS app, see [Sleep Cycle support](https://support.sleepcycle.com/hc/en-us/articles/207670385-Does-Sleep-Cycle-integrates-with-Phillips-Hue-). The app requires the same configuration as Google Home and does not work if the type is defined as Alexa in the configuration.
</div>
### Configuration
To enable the emulated Hue bridge, add one of the following configs to your `configuration.yaml` file:

View File

@ -10,7 +10,7 @@ ha_iot_class: Local Polling
A sensor platform for the [Enphase Envoy](https://enphase.com/en-us/products-and-services/envoy-and-combiner) solar energy gateway. Works with older models that only have production metrics (ie. Envoy-C) and newer models that offer both production and consumption metrics (ie. Envoy-S).
### Configuration
## Configuration
To enable this sensor, add the following lines to your `configuration.yaml` file:
@ -20,19 +20,11 @@ sensor:
- platform: enphase_envoy
```
```yaml
# Example configuration.yaml entry, limiting the metrics to production only
sensor:
- platform: enphase_envoy
ip_address: LOCAL_IP_FOR_ENVOY
monitored_conditions:
- production
- daily_production
- seven_days_production
- lifetime_production
```
{% configuration %}
name:
required: false
type: string
description: An optional name that will be prepended to the sensor type
ip_address:
description: The local IP address of your Envoy. Leave blank to use the default host name 'envoy', but this may not always be reliable. You should be able to just browse to this IP address.
required: false
@ -61,3 +53,18 @@ monitored_conditions:
inverters:
description: The power in W being produced by each micro-inverter. This will create a separate sensor for each micro-inverter you have installed. These sensors will only update about every 15 minutes, this is a limitation of the Enphase Envoy API.
{% endconfiguration %}
### Full example
```yaml
# Example configuration.yaml entry, limiting the metrics to production only
sensor:
- platform: enphase_envoy
name: Optional_name
ip_address: LOCAL_IP_FOR_ENVOY
monitored_conditions:
- production
- daily_production
- seven_days_production
- lifetime_production
```

View File

@ -99,6 +99,7 @@ sensor:
- `humidity` - The current humidity, in %.
- `visibility` - The current visibility, in km.
- `condition` - A brief text statement of the current weather conditions, e.g. "Sunny".
- `icon_code` - A two-digit number corresponding to a condition icon, as specified in these [image to description](https://dd.weather.gc.ca/citypage_weather/docs/Current_Conditions_Icons-Icones_conditions_actuelles.pdf) and [code to description](https://dd.weather.gc.ca/citypage_weather/docs/current_conditions_icon_code_descriptions_e.csv) mappings.
- `wind_speed` - The current sustained wind speed, in km/h.
- `wind_gust` - The current wind gust, in km/h.
- `wind_dir` - The current cardinal wind direction, e.g. "SSW".

View File

@ -17,6 +17,7 @@ To enable Template Fans in your installation, add the following to your
`configuration.yaml` file:
{% raw %}
```yaml
# Example configuration.yaml entry
fan:
@ -49,6 +50,7 @@ fan:
- '2'
- '3'
```
{% endraw %}
{% configuration %}
@ -77,6 +79,11 @@ fan:
description: "Defines a template to get the direction of the fan. Valid value: 'forward'/'reverse'"
required: false
type: template
availability_template:
description: Defines a template to get the `available` state of the component. If the template returns `true`, the device is `available`. If the template returns any other value, the device will be `unavailable`. If `availability_template` is not configured, the component will always be `available`.
required: false
type: template
default: true
turn_on:
description: Defines an action to run when the fan is turned on.
required: true

View File

@ -1,53 +0,0 @@
---
title: Fedex Sensor
description: "Instructions on how to set up FedEx sensors within Home Assistant."
logo: fedex.png
ha_category:
- Postal Service
ha_release: 0.39
ha_iot_class: Cloud Polling
---
<div class="note warning">
This integration is deprecated and will be removed in Home Assistant 0.100.0.
For more information see [Architecture Decision Record: 0004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md).
</div>
The `fedex` platform allows one to track deliveries by [FedEx](http://www.fedex.com/). To use this sensor, you need a [FedEx Delivery Manager](https://www.fedex.com/us/delivery/) account.
## Configuration
To enable this sensor, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
sensor:
- platform: fedex
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
Configuration options for the FedEx Sensor:
- **username** (*Required*): The username to access the FedEx Delivery Manager service.
- **password** (*Required*): The password for the given username.
- **name** (*Optional*): Name the sensor.
- **scan_inverval** (*Optional*): Minimum time interval between updates. Default is 1 hour. Supported formats:
- `scan_interval: 'HH:MM:SS'`
- `scan_interval: 'HH:MM'`
- Time period dictionary, e.g.:
<pre>scan_interval:
# At least one of these must be specified:
days: 0
hours: 0
minutes: 3
seconds: 30
milliseconds: 0
</pre>
<div class='note warning'>
The FedEx sensor logs into the FedEx Delivery Manager website to scrape package data. It does not use an API. Use at your own risk.
</div>

View File

@ -1,6 +1,6 @@
---
title: "Genius Hub"
description: "Instructions on how to integrate Genius Hub with Home Assistant."
description: "Instructions on how to integrate a Genius Hub with Home Assistant."
logo: geniushub.png
ha_category:
- Climate
@ -11,22 +11,20 @@ ha_release: 0.92
ha_iot_class: Local Polling
---
The `geniushub` integration links Home Assistant with your Genius Hub CH/DHW system, including its Zones, Devices, and Issues.
The `geniushub` integration links Home Assistant with your Genius Hub CH/DHW system, including its zones, devices, and issues.
Currently, there is no support for Zone schedules.
It uses the [geniushub](https://pypi.org/project/geniushub-client/) client library.
It uses the [geniushub](https://pypi.org/project/geniushub-client/) client library, which provides data compatible with the v1 API that _may not_ necessarily match that of the official Web App.
### Zones
Each Zone controlled by your Genius hub will be exposed as either a:
Each zone controlled by your Genius Hub will be exposed as either a:
- `Climate` entity, for **Radiator** Zones, and
- `Water Heater`, for **Hot Water Temperature** Zones
- `Climate` entity, for **Radiator** and **Wet Underfloor** Zones, and
- `Water Heater` entity, for **Hot Water Temperature** Zones
Other Zone types, such as **On / Off** Zones, are not currently supported.
Other zone types, such as **On/Off** zones, are not currently supported (although see `Binary Sensor`s, below).
Each such entity will report back its mode, state, setpoint and current temperature; other properties are available via its attributes (see below). The Zone's mode can changed as below.
Each entity derived from a GH zone will report back its mode, setpoint and current temperature; other properties are available via its attributes (see below). The zone's mode can be changed as below.
GH mode | HA Operation | HA Preset
:---: | :---: | :---:
@ -35,16 +33,18 @@ GH mode | HA Operation | HA Preset
**Override** | Heat | Boost
**Footprint** | Heat | Activity
Note that **Footprint** mode is only available to **Radiator** Zones that have room sensors.
Note that **Footprint** mode is only available to **Radiator** zones that have room sensors.
Currently, there is no support for reading/altering zone schedules, although a zone can be switched to/from modes that utilize schedules.
### Devices
If the Hub is directly polled using the v3 API (see below), then each Device controlled by your Genius hub will be exposed as either a:
Each Device controlled by your Genius hub will be exposed as either a:
- `Sensor` entity with a % battery, for any Device with a battery (e.g. a Genius Valve), or
- `Binary Sensor` entity with on/off state for any Device that is a switch (e.g. a Smart Plug)
- `Sensor` entity with a % battery, for any Device with a battery (e.g., a Genius Valve), or
- `Binary Sensor` entity with on/off state for any Device that is a switch (e.g., Smart Plugs, DCRs)
Each such entity will report back its primary state; in addition, `assigned_zone` and `last_comms` (last communications time) are available via the entity's attributes.
Each such entity will report back its primary state and `assigned_zone`. If the Hub is directly polled using Option 1 (see below), then some additional attributes such as `last_comms` (last communications time) are also available.
### Issues
@ -57,26 +57,45 @@ Each such entity has a state attribute that will contain a list of any such issu
- alias: GeniusHub Error Alerts
trigger:
platform: numeric_state
entity_id: sensor.errors
entity_id: sensor.geniushub_errors
above: 0
action:
- service: notify.pushbullet_notifier
data_template:
title: "Genius Hub has errors"
message: >-
Genius Hub has the following {{ states('sensor.errors') }} errors:
{{ state_attr('sensor.errors', 'error_list') }}
Genius Hub has the following {{ states('sensor.geniushub_errors') }} errors:
{{ state_attr('sensor.geniushub_errors', 'error_list') }}
```
{% endraw %}
### State Attributes
This alert may be useful to see if the CH is being turned on whilst you're on a holiday!
Other properties are available via each entity's state attributes. For example, in the case of **Radiator** Zones/`Climate` devices:
{% raw %}
```yaml
- alias: GeniusHub CH State Change Alert
trigger:
platform: state
entity_id: binary_sensor.dual_channel_receiver_2_1
action:
- service: notify.pushbullet_notifier
data_template:
title: "Warning: CH State Change!"
message: >-
{{ trigger.to_state.attributes.friendly_name }} has changed
from {{ trigger.from_state.state }} to {{ trigger.to_state.state }}.
```
{% endraw %}
## State Attributes
Many zone/device properties are available via each entity's state attributes. For example, in the case of **Radiator**-derived `Climate` entities (note 'status'):
```json
{
"status": {
"type": "radiator",
"mode": "off",
"temperature": 19,
"occupied": False,
"override": {
@ -87,11 +106,24 @@ Other properties are available via each entity's state attributes. For example,
}
```
... and for **Genius Valve**-derived `Sensor` entities (note 'state'):
```json
{
"state": {
"set_temperature": 4.0,
"measured_temperature": 20.030000686645508,
"setback": 3.5,
"wakeup_interval": 450
}
}
```
This data can be accessed in automations, etc. via a value template. For example:
{% raw %}
```yaml
value_template: "{{ state_attr('water_heater.boiler_h_w', 'status').override.setpoint }}"
value_template: "{{ state_attr('water_heater.genius_zone_2', 'status').override.setpoint }}"
```
{% endraw %}
@ -99,7 +131,7 @@ In the specific case of **Radiator** zones with room sensors:
{% raw %}
```yaml
value_template: "{{ state_attr('climate.main_room', 'status').occupied }}"
value_template: "{{ state_attr('climate.genius_zone_12', 'status').occupied }}"
```
{% endraw %}
@ -107,26 +139,35 @@ value_template: "{{ state_attr('climate.main_room', 'status').occupied }}"
To set up this integration, add one of the following to your **configuration.yaml** file.
### Option 1: hub token only
If required, you can switch between one Option and the other and, as the `unique_id` remains consistent, state history will be preserved. This assumes that the correct MAC address is provided for Option 2, below. If a wrong MAC address was provided for Option 1, then the MAC address can be overridden for Option 1 to maintain these links within the entity registry.
- requires a **hub token** obtained from [my.geniushub.co.uk/tokens](https://my.geniushub.co.uk/tokens)
- uses the v1 API - which is well-documented
- polls Heat Genius' own servers (so is slower, say ~5-10s response time)
### Option 1: hub hostname/address with user credentials
This is the recommended option.
- Requires your **username** & **password**, as used with [geniushub.co.uk/app](https://www.geniushub.co.uk/app).
- Uses the v3 API - unofficial, but there are additional features (e.g., battery levels).
- Polls the hub directly (so is faster, say ~1s response time).
- You have the option of specifying a MAC address.
The hub does not have to be in the same subnet as HA.
### Option 2: hub token only
This option is recommended only if Ootion 1 does not work. The MAC address should match that written on the back of the Hub.
- Requires a **hub token** obtained from [my.geniushub.co.uk/tokens](https://my.geniushub.co.uk/tokens).
- Uses the v1 API - which is well-documented.
- Polls Heat Genius' own servers (so is slower, say ~5-10s response time).
- You should use the Hub's MAC address (although any valid MAC will do).
```yaml
# Example configuration.yaml entry, using a Hub Token
geniushub:
token: GENIUS_HUB_TOKEN
mac : GENIUS_HUB_MAC
```
### Option 2: hub hostname/address with user credentials
- requires your **username** & **password**, as used with [www.geniushub.co.uk/app](https://www.geniushub.co.uk/app)
- uses the v3 API - unofficial, but there are additional features (e.g., battery levels)
- polls the hub directly (so is faster, say ~1s response time)
The hub does not have to be in the same network as HA.
```yaml
# Example configuration.yaml entry, directly polling the Hub
geniushub:
@ -140,6 +181,10 @@ token:
description: The Hub Token of the Genius Hub.
required: true
type: string
mac:
description: The MAC address of the Hub's ethernet port.
required: false
type: string
host:
description: The hostname/IP address of the Genius Hub.
required: true
@ -154,4 +199,6 @@ password:
type: string
{% endconfiguration %}
Note that if a `host` is used instead of `token`, then the `username` and `password` are also required.
Note: `username` and `password` are only required when `host` is used (instead of `token`).
Note: `mac` is required if `token` is used (instead of `host`) and is optional otherwise.

View File

@ -200,6 +200,7 @@ Currently, the following domains are available to be used with Google Assistant,
- climate (temperature setting, hvac_mode)
- vacuum (dock/start/stop/pause)
- sensor (temperature setting, only for temperature sensor)
- Alarm Control Panel (Arm/Disarm)
<div class='note warning'>
The domain groups contains groups containing all items, by example group.all_automations. When telling Google Assistant to shut down everything, this will lead in this example to disabling all automations
@ -207,10 +208,12 @@ Currently, the following domains are available to be used with Google Assistant,
### Secure Devices
Certain devices are considered secure, including anything in the `lock` domain, and `covers` with device types `garage` and `door`.
Certain devices are considered secure, including anything in the `lock` domain, `alarm_control_panel` domain and `covers` with device types `garage` and `door`.
By default these cannot be opened by Google Assistant unless a `secure_devices_pin` is set up. To allow opening, set the `secure_devices_pin` to something and you will be prompted to speak the pin when opening the device. Closing and locking these devices does not require a pin.
For the Alarm Control Panel if a code is set it must be the same as the `secure_devices_pin`. If `code_arm_required` is set to `false` the system will arm without prompting for the pin.
### Media Player Sources
Media Player sources are sent via the Modes trait in Google Assistant.

View File

@ -0,0 +1,172 @@
---
title: "HERE Travel Time"
description: "Instructions on how to add HERE travel time to Home Assistant."
logo: HERE_logo.svg
ha_category:
- Transport
- Sensor
ha_iot_class: Cloud Polling
ha_release: "0.100"
---
The `here_travel_time` sensor provides travel time from the [HERE Routing API](https://developer.here.com/documentation/routing/topics/introduction.html).
## Setup
You need to register for an API key by following the instructions [here](https://developer.here.com/documentation/routing/topics/introduction.html?create=Freemium-Basic&keepState=true&step=account).
HERE offers a Freemium Plan which includes 250.000 free Transactions per month. For the Routing API, one transaction equals one request with one starting point (no multi stop). More information can be found [here](https://developer.here.com/faqs#payment-subscription)
By default HERE will deactivate your account if you exceed the free Transaction limit for the month. You can add payment details to reenable your account as described [here](https://developer.here.com/faqs)
## Configuration
To enable the sensor, add the following lines to your `configuration.yaml` file:
```yaml
# Example entry for configuration.yaml
sensor:
- platform: here_travel_time
app_id: "YOUR_APP_ID"
app_code: "YOUR_APP_CODE"
origin_latitude: "51.222975"
origin_longitude: "9.267577"
destination_latitude: "51.257430"
destination_longitude: "9.335892"
```
{% configuration %}
app_id:
description: "Your application's API id (get one by following the instructions above)."
required: true
type: string
app_code:
description: "Your application's API code (get one by following the instructions above)."
required: true
type: string
origin_latitude:
description: "The starting latitude for calculating travel distance and time. Must be used in combination with origin_longitude. Cannot be used in combination with `origin_entity_id`."
required: exclusive
type: float
origin_longitude:
description: "The starting longitude for calculating travel distance and time. Must be used in combination with origin_latitude. Cannot be used in combination with `origin_entity_id`."
required: exclusive
type: float
destination_latitude:
description: "The finishing latitude for calculating travel distance and time. Must be used in combination with destination_longitude. Cannot be used in combination with `destination_entity_id`."
required: exclusive
type: float
destination_longitude:
description: "The finishing longitude for calculating travel distance and time. Must be used in combination with destination_latitude. Cannot be used in combination with `destination_entity_id`."
required: exclusive
type: float
origin_entity_id:
description: "The entity_id holding the starting point for calculating travel distance and time. Cannot be used in combination with `origin_latitude`/`origin_longitude`."
required: exclusive
type: string
destination_entity_id:
description: "The entity_id holding the finishing point for calculating travel distance and time. Cannot be used in combination with `destination_latitude`/`destination_longitude`."
required: exclusive
type: string
name:
description: A name to display on the sensor. The default is "HERE Travel Time".
required: false
type: string
default: "HERE Travel Time"
mode:
description: "You can choose between: `bicycle`, `car`, `pedestrian`, `publicTransport`, `publicTransportTimeTable` or `truck`. The default is `car`. For public transport `publicTransportTimetable` is recommended. You can find more information on the modes [here](https://developer.here.com/documentation/routing/topics/transport-modes.html) and on the public modes [here](https://developer.here.com/documentation/routing/topics/public-transport-routing.html)"
required: false
type: string
default: "car"
route_mode:
description: "You can choose between: `fastest`, or `shortest`. This will determine whether the route is optimized to be the shortest and completely disregard traffic and speed limits or the fastest route according to the current traffic information. The default is `fastest`"
required: false
type: string
default: "fastest"
traffic_mode:
description: "You can choose between: `true`, or `false`. Decide whether you want to take the current traffic condition into account. Default is `false`."
required: false
type: boolean
default: false
unit_system:
description: "You can choose between `metric` or `imperial`."
required: false
default: Defaults to `metric` or `imperial` based on the Home Assistant configuration.
type: string
scan_interval:
description: "Defines the update interval of the sensor in seconds. Defaults to 300 (5 minutes)."
required: false
type: integer
default: 300
{% endconfiguration %}
## Dynamic Configuration
Tracking can be set up to track entities of type `device_tracker`, `zone`, `sensor` and `person`. If an entity is placed in the origin or destination then every 5 minutes when the platform updates, it will use the latest location of that entity.
```yaml
# Example entry for configuration.yaml
sensor:
# Tracking entity to entity
- platform: here_travel_time
app_id: "YOUR_APP_ID"
app_code: "YOUR_APP_CODE"
name: Phone To Home
origin_entity_id: device_tracker.mobile_phone
destination_entity_id: zone.home
# Full config
- platform: here_travel_time
app_id: "YOUR_APP_ID"
app_code: "YOUR_APP_CODE"
name: Work to Home By Bike
origin_entity_id: zone.work
destination_latitude: 59.2842
destination_longitude: 59.2642
mode: bicycle
route_mode: fastest
traffic_mode: false
unit_system: imperial
scan_interval: 2678400 # 1 month
```
## Entity Tracking
- **device_tracker**
- If the state is a zone, then the zone location will be used
- If the state is not a zone, it will look for the longitude and latitude attributes
- **zone**
- Uses the longitude and latitude attributes
- **sensor**
- If the state is a zone, then will use the zone location
- All other states will be passed directly into the HERE API
- This includes all valid locations listed in the *Configuration Variables*
## Updating sensors on-demand using Automation
You can also use the `homeassistant.update_entity` service to update the sensor on-demand. For example, if you want to update `sensor.morning_commute` every 2 minutes on weekday mornings, you can use the following automation:
```yaml
automation:
- id: update_morning_commute_sensor
alias: "Commute - Update morning commute sensor"
initial_state: 'on'
trigger:
- platform: time_pattern
minutes: '/2'
condition:
- condition: time
after: '08:00:00'
before: '11:00:00'
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
action:
- service: homeassistant.update_entity
entity_id: sensor.morning_commute
```

View File

@ -9,22 +9,27 @@ ha_category:
- Light
- Sensor
- Switch
- Water Heater
ha_release: 0.59
ha_iot_class: Cloud Polling
---
The `hive` integration is the main integration to set up and integrate all supported Hive devices. Once configured with the minimum required details it will detect and add all your Hive devices into Home Assistant, including support for multizone heating.
The `hive` integration is the main integration to set up and integrate all supported Hive devices. Once configured with the minimum required details it will detect and add all Hive devices into Home Assistant, including support for multi-zone heating.
This integration uses the unofficial API used in the official Hive website [https://my.hivehome.com](https://my.hivehome.com), and you will need to use the same Username and Password you use on the Hive website to configure this Hive integration in Home Assistant.
There is currently support for the following device types within Home Assistant:
There is currently support for the following services and platforms within Home Assistant:
- [Binary Sensor](#Binary-Sensor)
- [Climate](#Climate)
- [Light](#Light)
- [Sensor](#Sensor)
- [Switch](#Switch)
- [Water Heater](#Water-Heater)
- [Services](#services)
- [Service `hive.boost_heating`](#service-hiveboostheating)
- [Service `hive.boost_hot_water`](#service-hiveboosthotwater)
- [Platforms](#platforms)
- [Binary Sensor](#binary-sensor)
- [Climate](#climate)
- [Light](#light)
- [Sensor](#sensor)
- [Switch](#switch)
- [Water Heater](#water-heater)
To add your Hive devices into your Home Assistant installation, add the following to your `configuration.yaml` file:
@ -51,7 +56,65 @@ scan_interval:
default: 2
{% endconfiguration %}
## Binary Sensor
## Services
### Service `hive.boost_heating`
You can use the service `hive.boost_heating` to set your heating to boost for a period of time at a certain target temperature".
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------------------------- |
| `entity_id` | no | String, Name of entity e.g., `climate.heating` |
| `time_period` | no | Time Period, Period of time the boost should last for e.g., `01:30:00` |
| `temperature` | yes | String, The required target temperature e.g., `20.5` |
Examples:
```yaml
# Example script to boost heating, boost period and target temperature specified.
script:
boost_heating:
sequence:
- service: hive.boost_heating
data:
entity_id: "climate.heating"
time_period: "01:30:00"
temperature: "20.5"
```
### Service `hive.boost_hot_water`
You can use the service `hive.boost_hot_water` to set your hot water to boost for a period of time.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------------------------------------------------------------------- |
| `entity_id` | no | String, Name of entity e.g., `water_heater.hot_water` |
| `time_period` | yes | Time Period, Period of time the boost should last for e.g., `01:30:00`. |
| `on_off` | no | String, The mode to set the boost to on or odd e.g., `on` |
Examples:
```yaml
# Example script to boost hot water, boost period specified
script:
boost_hot_water:
sequence:
- service: "hive.boost_hot_water"
data:
entity_id: "water_heater.hot_water"
time_period: "01:30:00"
on_off: "on"
```
## Platforms
<div class='note'>
You must have the [Hive integration](/components/hive/) configured to use the platforms below.
</div>
### Binary Sensor
The `hive` binary sensor integration integrates your Hive sensors into Home Assistant.
@ -60,7 +123,7 @@ The platform supports the following Hive products:
- Hive Window or Door Sensor
- Hive Motion Sensor
## Climate
### Climate
The `hive` climate platform integrates your Hive thermostat into Home Assistant, enabling control of setting the **mode** and setting the **target temperature**.
@ -69,9 +132,9 @@ A short boost for Hive Heating can be set by using the **Boost** preset, this wi
The platform supports the following Hive products:
- Hive Active Heating
- Hive Multizone
- Hive Multi-zone
## Light
### Light
The `hive` light platform integrates your Hive lights into Home Assistant, enabling control of various settings, depending on the model light.
@ -81,7 +144,7 @@ The platform supports the following Hive products:
- Hive Active Light Cool to Warm White
- Hive Active Light Color Changing
## Sensor
### Sensor
The `hive` sensor integration exposes Hive data as a sensor.
@ -90,7 +153,7 @@ The platform exposes the following sensors:
- Hive Hub Online Status
- Hive Outside Temperature
## Switch
### Switch
The `hive` switch platform integrates your Hive plugs into Home Assistant, enabling control of your devices.
@ -98,7 +161,7 @@ The platform supports the following Hive products:
- Hive Active Plug
## Water Heater
### Water Heater
The `hive` water heater platform integrates your Hive hot water into Home Assistant, enabling control of setting the **mode**.

View File

@ -71,6 +71,13 @@ authtoken:
type: string
{% endconfiguration %}
## Adding and removing devices and group via native HomematicIP APP
Devices and groups are instantly removed from Homeassistant when removed in the native HomematicIP APP.
Groups are instantly created in Homeassistant when created in the native HomematicIP APP.
Devices are created with a delay of 30 seconds in Homeassistant when created in the native HomematicIP APP.
Within this delay the device registration should be completed in the App, otherwise the device name will be a default one based on the device type. This can easily be fixed in the Homeassistant entity registry afterwards.
## Implemented and tested devices
* homematicip_cloud.alarm_control_panel

View File

@ -3,6 +3,7 @@ title: "Jandy iAqualink"
description: "Instructions on how to configure Jandy iAqualink integration."
logo: iaqualink.png
ha_category:
- Binary Sensor
- Climate
- Light
- Sensor
@ -15,6 +16,7 @@ ha_iot_class: Cloud Polling
There is currently support for the following device types within Home Assistant:
- Binary Sensor
- Climate
- Light
- Sensor

View File

@ -21,11 +21,11 @@ The boiler is represented as a **Water Heater** device. It will report the boile
Note that the `current_temperature` will switch between the CV (circulating volume) and Tap temperatures according to the current operating mode of the boiler. If the boiler is neither pumping nor tapping, it will be reported as the higher of the two.
In addition, there is a **Sensor** for CV pressure, CV temperature, and Tap temperature, and a **Binary Sensor** that will be `on` if there is a fault with the boiler (the fault code will be a state attribute).
In addition, there is a **Sensor** for each of CV pressure, CV temperature, and Tap temperature, and a **Binary Sensor** that will be `on` if there is a fault with the boiler (the fault code will be a state attribute).
### Rooms
Any room thermostats (there can be 0, 1 or 2) are represented as **Climate** devices. They will report the thermostat's `temperature` (setpoint) and `current_temperature` and the setpoint can be changed.
Any room thermostats (there can be 0, 1 or 2) are represented as **Climate** devices. They will report the thermostat's `temperature` (setpoint, target temperature) and `current_temperature` and the setpoint can be changed.
## Automation
@ -52,9 +52,9 @@ Other properties are available via each device's attributes.
## Configuration
To set up this integration, add the following to your **configuration.yaml** file:
To set up this integration, add one of the following to your **configuration.yaml** file:
The hub does not have to be in the same network as HA.
The hub does not have to be in the same network as HA, but must be reachable via port 80/HTTP.
### Older gateways

View File

@ -0,0 +1,67 @@
---
title: "iZone climate control"
description: "Instructions on how to integrate iZone climate control devices with Home Assistant."
ha_category:
- Climate
ha_release: "0.100"
ha_iot_class: Local Push
---
The `iZone` integration allows access of control of a local [iZone](https://izone.com.au/) ducted reverse-cycle climate control devices. These are largely available in Australia.
## Supported hardware
Any current iZone unit with ducted reverse cycle airconditioning and the CB wired or wireless bridge device installed should currently work. There is currently no support for the iZone lights, reticulation, or other devices.
## Configuration
The iZone component can be configured in two ways.
- Via the integrations configuration of the Home Assistant user interface.
- Or via the `configuration.yaml` file by adding the following:
If you load the integration from the integrations window, all local iZone instances are added. The integration will discover any new instances added to the local area later on as well.
Alternately if there is more than one iZone system on the local network and one or more must be excluded use manual configuration:
```yaml
# Full manual example configuration.yaml entry
izone:
exclude:
- "000013170"
```
{% configuration %}
exclude:
description: Exclude particular units from integration with Home Assistant.
required: false
type: list
{% endconfiguration %}
## Network settings
The iZone system uses UDP broadcasts over the local network to find and communicate with iZone devices. For this to work properly, UDP port 12107 must be able to be broadcasted on, 7005 needs to be listened to for broadcasted messages, and TCP port 80 for HTTP data to the bridge. The integration currently listens on `0.0.0.0` and broadcasts to all broadcast IPv4 local addresses, which is not configurable.
## Master controller
Unit modes off, heat, cool, dry, and fan only are supported. For units fitted with the 'iSave' system, which vents in external air into the house, this is available as 'eco' mode.
## Zones
Zones have three modes available, closed, open, and auto. These are mapped to Home Assistant modes off, fan only, and auto, respectively. Only the auto mode supports setting the temperature.
## Debugging
If you're trying to track down issues with the component, set up logging for it:
```yaml
# Example configuration.yaml with logging for iZone
logger:
default: warning
logs:
homeassistant.components.izone: debug
pizone: debug
```
This will help you to find network connection issues etc.

View File

@ -0,0 +1,64 @@
---
title: "Kaiterra"
description: "Instructions on how to integrate your Kaiterra device into Home Assistant."
logo: kaiterra.svg
ha_iot_class: Cloud Polling
ha_category:
- Health
ha_release: "0.100"
---
The `kaiterra` integration allows you to view the readings from your Laser Egg or Sensedge device using the [Kaiterra REST API](https://www.kaiterra.com/dev/).
To use the integration, you need to get the API key by signing up at [Kaiterra dashboard](https://dashboard.kaiterra.cn/), registring the device and create the key under `Settings -> Profile -> Developer`.
## Configuration
To enable `kaiterra` in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
kaiterra:
api_key: YOUR_API_KEY
devices:
- device_id: YOUR_DEVICE_ID
type: YOUR_DEVICE_TYPE
```
{% configuration %}
api_key:
description: Your personal API key from Kaiterra Dashboard.
required: true
type: string
aqi_standard:
description: The standard of Air Quality Index. Available values `us`, `in`, `cn`.
required: false
type: string
default: us
scan_interval:
description: The interval to scan for sensor state changes in seconds.
required: false
type: integer
default: 30
preferred_units:
description: The list of preferred units. Available values in the list `x`, `%`, `C`, `F`, `mg/m³`, `µg/m³`, `ppm`, `ppb`.
required: false
type: list
devices:
description: The devices you want to get reading from.
required: true
type: list
keys:
device_id:
description: The UUID of the device you want to monitor. You can take it from Kaiterra Dashboard.
required: true
type: string
type:
description: The device type. Available values `laseregg` and `sensedge`.
required: true
type: string
name:
description: The custom name of your device.
required: false
type: string
{% endconfiguration %}

View File

@ -17,6 +17,7 @@ To enable Template Lights in your installation, add the following to your
`configuration.yaml` file:
{% raw %}
```yaml
# Example configuration.yaml entry
light:
@ -35,6 +36,7 @@ light:
data_template:
brightness: "{{ brightness }}"
```
{% endraw %}
{% configuration %}
@ -64,7 +66,12 @@ light:
icon_template:
description: Defines a template for an icon or picture, e.g. showing a different icon for different states.
required: false
type: template
type: template
availability_template:
description: Defines a template to get the `available` state of the component. If the template returns `true`, the device is `available`. If the template returns any other value, the device will be `unavailable`. If `availability_template` is not configured, the component will always be `available`.
required: false
type: template
default: true
turn_on:
description: Defines an action to run when the light is turned on.
required: true
@ -104,6 +111,7 @@ make; the [Media Player component](/integrations/media_player/) needs a floating
point percentage value from `0.0` to `1.0`.
{% raw %}
```yaml
light:
- platform: template
@ -142,6 +150,7 @@ light:
0
{% endif %}
```
{% endraw %}
### Change The Icon
@ -149,6 +158,7 @@ light:
This example shows how to change the icon based on the light state.
{% raw %}
```yaml
light:
- platform: template
@ -186,6 +196,7 @@ light:
entity_id: media_player.receiver
is_volume_muted: true
```
{% endraw %}
### Change The Entity Picture
@ -193,6 +204,7 @@ light:
This example shows how to change the entity picture based on the light state.
{% raw %}
```yaml
light:
- platform: template
@ -230,4 +242,5 @@ light:
entity_id: media_player.receiver
is_volume_muted: true
```
{% endraw %}

View File

@ -1,71 +0,0 @@
---
title: "Linksys Access Points"
description: "Instructions on how to integrate Linksys Access Points into Home Assistant."
ha_category:
- Presence Detection
logo: linksys.png
ha_release: 0.37
---
<div class="note warning">
This integration is deprecated and will be removed in Home Assistant 0.100.0.
For more information see [Architecture Decision Record: 0004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md).
</div>
The `linksys_ap` platform offers presence detection by looking at connected devices to a Linksys based access point.
It was tested with a LAPAC1750 AC1750 Dual Band Access Point.
## Configuration
To use a Linksys Access Point in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
device_tracker:
- platform: linksys_ap
host: 192.168.1.1
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}
host:
description: The hostname or IP address of your access point, e.g., `192.168.1.1`.
required: true
type: string
username:
description: The username of an user with administrative privileges (read-only is sufficient).
required: true
type: string
password:
description: The password for your given admin account.
required: true
type: string
verify_ssl:
description: Verify SSL certificate for HTTPS request.
required: false
default: true
type: boolean
{% endconfiguration %}
## Example
Example for all configuration options:
```yaml
# Example configuration.yaml entry
device_tracker:
- platform: linksys_ap
host: 192.168.1.1
username: YOUR_USERNAME
password: YOUR_PASSWORD
verify_ssl: true
scan_interval: 6
consider_home: 12
```
See the [device tracker integration page](/integrations/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -22,6 +22,7 @@ In optimistic mode, the lock will immediately change state after every command.
To enable Template Locks in your installation, add the following to your `configuration.yaml` file:
{% raw %}
```yaml
# Example configuration.yaml entry
lock:
@ -37,6 +38,7 @@ lock:
data:
entity_id: switch.door
```
{% endraw %}
{% configuration %}
@ -49,7 +51,12 @@ lock:
description: Defines a template to set the state of the lock.
required: true
type: template
lock:
availability_template:
description: Defines a template to get the `available` state of the component. If the template returns `true`, the device is `available`. If the template returns any other value, the device will be `unavailable`. If `availability_template` is not configured, the component will always be `available`.
required: false
type: template
default: true
lock:
description: Defines an action to run when the lock is locked.
required: true
type: action
@ -77,6 +84,7 @@ In this section, you find some real-life examples of how to use this lock.
This example shows a lock that copies data from a switch.
{% raw %}
```yaml
lock:
- platform: template
@ -91,6 +99,7 @@ lock:
data:
entity_id: switch.source
```
{% endraw %}
### Optimistic Mode
@ -98,6 +107,7 @@ lock:
This example shows a lock in optimistic mode. This lock will immediately change state after command and will not wait for state update from the sensor.
{% raw %}
```yaml
lock:
- platform: template
@ -113,6 +123,7 @@ lock:
data:
entity_id: switch.source
```
{% endraw %}
### Sensor and Two Switches
@ -120,6 +131,7 @@ lock:
This example shows a lock that takes its state from a sensor, and uses two momentary switches to control a device.
{% raw %}
```yaml
lock:
- platform: template
@ -134,4 +146,5 @@ lock:
data:
entity_id: switch.skylight_close
```
{% endraw %}

View File

@ -8,19 +8,18 @@ ha_iot_class: Local Polling
ha_release: 0.17
---
The `nzbget` platform will allow you to monitor your downloads with [NZBGet](http://NZBGet.net) from within Home Assistant and setup automation based on the information.
The `nzbget` platform will allow you to monitor and control your downloads with [NZBGet](http://NZBGet.net) from within Home Assistant and setup automation based on the information.
To use NZBGet with your installation, add the following to your `configuration.yaml` file:
## Configuration
To enable this component, add the following to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
sensor:
platform: nzbget
nzbget:
host: YOUR_NZBGET_HOST
monitored_variables:
- article_cache
- download_rate
- download_paused
username: YOUR_NZBGET_USERNAME
password: YOUR_NZBGET_PASSWORD
```
{% configuration %}
@ -51,27 +50,32 @@ password:
required: false
type: string
description: The password to access your NZBGet installation.
monitored_variables:
required: true
type: list
description: List of monitored details.
keys:
article_cache:
description: Number of cached articles.
average_download_rate:
description: Average download rate
download_paused:
description: Paused downloads
download_rate:
description: Current download rate
download_size:
description: The size to download
free_disk_space:
description: Free disk space at the storage location of NZBGet
post_paused:
description: Paused posts
remaining_size:
description: Remaining size to download
uptime:
description: Uptime of NZBGet
{% endconfiguration %}
## Sensor
This component will create these sensors:
- `article_cache`: Number of cached articles.
- `average_download_rate`: Average download rate
- `download_paused`: Paused downloads
- `download_rate`: Current download rate
- `download_size`: The size to download
- `free_disk_space`: Free disk space at the storage location of NZBGet
- `post_paused`: Paused posts
- `remaining_size`: Remaining size to download
- `uptime`: Uptime of NZBGet
## Services
Available services:
- `pause`: Pause the download queue.
- `resume`: Resume the download queue.
- `set_speed`: Set the download queue speed limit.
### Service `nzbget/set_speed`
| Service data attribute | Optional | Description |
|------------------------|----------|-------------------------------------------------------------------------------------------------|
| `speed` | yes | Sets the download speed limit, specified in Kb/s. 0 disables the speed limit. Defaults to 1000. |

View File

@ -41,6 +41,7 @@ The following is a list of expected sensors and their expected states when using
- Sensor if the device requires a reboot (`True` or `False`)
- Sensor for each configured service (`0` for no calls, `1` for a call and `2` for call waiting/3way calling)
- Sensor for the last reboot date
- Sensor for call direction (`No Active Calls`, `Inbound Call` or `Outbound Call`)
In addition to the above list the `admin` account can expect to see the following sensors:

View File

@ -0,0 +1,100 @@
---
title: "Ombi"
description: "Instructions on how to set up the Ombi integration in Home Assistant."
logo: ombi.png
ha_category:
- Sensor
ha_release: "0.100"
ha_iot_class: Local Polling
---
The `Ombi` integration monitors data from your [Ombi](https://ombi.io) instance.
## Setup
To find your `api_key` open the Ombi web interface. Navigate to **Settings** and then to **Ombi**, you should then be able to see your `api_key`.
## Configuration
If you want to enable this sensor, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
ombi:
api_key: OMBI_API_KEY
host: OMBI_HOST
username: OMBI_USERNAME
```
{% configuration %}
api_key:
description: Your Ombi API key.
required: true
type: string
host:
description: The hostname or IP Address Ombi is running on.
required: true
type: string
username:
description: Your Ombi username.
required: true
type: string
port:
description: The port Ombi is running on.
required: false
default: 5000
type: integer
urlbase:
description: The Base URL path of your Ombi instance.
required: false
type: string
ssl:
description: Whether or not to use SSL when connecting to Ombi.
required: false
default: false
type: boolean
{% endconfiguration %}
## Full example for the configuration
```yaml
# Example configuration.yaml entry
ombi:
api_key: OMBI_API_KEY
host: OMBI_HOST
username: OMBI_USERNAME
port: OMBI_PORT
urlbase: ombi/
ssl: true
```
## Services
### Submit request services
Available services: `submit_movie_request`, `submit_music_request`, `submit_tv_request`
#### Service `submit_movie_request`
Searches and requests the closest matching movie.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------ |
| `name` | no | Search parameter. |
#### Service `submit_music_request`
Searches and requests the closest matching music album.
| Service data attribute | Optional | Description |
|------------------------|----------|--------------------------------------------------|
| `name` | no | Search parameter. |
#### Service `submit_tv_request`
Searches and requests the closest matching TV show.
| Service data attribute | Optional | Description |
|------------------------|----------|-----------------------------------------------------------------------------------------------|
| `name` | no | Search parameter. |
| `season` | yes | Which season(s) to request. Must be one of `first`, `latest` or `all`. Defaults to latest. |

View File

@ -1,6 +1,6 @@
---
title: "Pi-hole Sensor"
description: "Instructions on how to integrate Pi-hole sensors into Home Assistant."
title: "Pi-hole"
description: "Instructions on how to integrate Pi-hole with Home Assistant."
ha_category:
- System Monitor
ha_iot_class: Local Polling
@ -8,7 +8,7 @@ logo: pi_hole.png
ha_release: 0.28
---
The `pi_hole` integration allows you to retrieve and display statistics from a single [Pi-hole](https://pi-hole.net/) system.
The `pi_hole` integration allows you to retrieve statistics and interact with a single [Pi-hole](https://pi-hole.net/) system.
## Configuration
@ -22,10 +22,7 @@ pi_hole:
{% configuration %}
host:
description: >
The hostname (and port), e.g. '192.168.0.3:4865' of the host where Pi-hole is running.
**Note:** If your Pi-Hole instance is the Hass.io add-on, you *must* specify port `4865`.
The hostname (and port), e.g., '192.168.0.3:4865' of the host where Pi-hole is running. If your Pi-Hole instance is the Hass.io add-on, you *must* specify port `4865`.
required: false
type: string
default: pi.hole
@ -41,10 +38,16 @@ ssl:
type: boolean
default: false
verify_ssl:
description: Verify the certification of the system.
description: >
Verify the SSL/TLS certificate of the system. If your Pi-Hole instance uses a self-signed certificate, you should specify `false`.
required: false
type: boolean
default: true
api_key:
description: API Key for interacting with the Pi-hole. This is not required if you want to just query the Pi-hole for usage statistics.
required: false
type: string
default: None
{% endconfiguration %}
### Full example
@ -57,4 +60,24 @@ pi_hole:
verify_ssl: false
```
## Services
The platform provides the following services to interact with your Pi-hole.
### Service `pi_hole.disable`
Disable your Pi-hole for the specified amount of time.
| Service data attribute | Required | Type | Description |
| ---------------------- | -------- | -------- | ----------- |
| `duration` | `True` | timedelta | Time for which Pi-hole should be disabled |
_Note: This service requires `api_key` to be specified in the configuration._
### Service `pi_hole.enable`
Enable your Pi-hole.
_Note: This service requires `api_key` to be specified in the configuration._
This integration was not made by Pi-hole LLC or the Pi-hole community. They did not provide support, feedback, testing, or any other help during its creation. This is a third party platform which may break if Pi-hole changes their API in a later release. It is not official, not developed, not supported, and not endorsed Pi-hole LLC or the Pi-hole community. The trademark `Pi-hole` and the logo is used here to describe the platform. `Pi-hole` is a registered trademark of Pi-hole LLC.

View File

@ -8,29 +8,30 @@ ha_category:
featured: true
ha_release: 0.7.4
ha_iot_class: Local Polling
ha_config_flow: true
---
The `plex` platform allows you to connect to a [Plex Media Server](https://plex.tv). Once connected, [Plex Clients](https://www.plex.tv/apps-devices/) playing media from the connected Plex Media Server will show up as [Media Players](/integrations/media_player/) and report playback status via a [Sensor](/integrations/sensor/) in Home Assistant. The Media Players will allow you to control media playback and see the current playing item.
The `plex` integration allows you to connect to a [Plex Media Server](https://plex.tv). Once connected, [Plex Clients](https://www.plex.tv/apps-devices/) playing media from the connected Plex Media Server will show up as [Media Players](/integrations/media_player/) and report playback status via a [Sensor](/integrations/sensor/) in Home Assistant. The Media Players will allow you to control media playback and see the current playing item.
There is currently support for the following device types within Home Assistant:
- [Media Player](#media-player)
- [Sensor](#sensor)
If your Plex server has been claimed by a Plex account via the [claim interface](https://plex.tv/claim), Home Assistant will require an authentication token to connect. If you don't know your token, see [Finding your account token / X-Plex-Token](https://support.plex.tv/hc/en-us/articles/204059436).
If your Plex server has been claimed by a Plex account via the [claim interface](https://plex.tv/claim), Home Assistant will require authentication to connect.
The preferred way to setup the Plex platform is by enabling the [discovery component](/integrations/discovery/) which requires GDM enabled on your Plex server. This can be found on your Plex Web App under Settings > (server Name) > settings > Network and choose "Enable local network discovery (GDM)".
The preferred way to enable the Plex integration is via **Configuration** -> **Integrations**. You will be redirected to the [plex.tv](https://plex.tv) website to sign in with your Plex account. Once access is granted, Home Assistant will connect to the server linked to the associated account. If multiple Plex servers are available on the account, you will be prompted to complete the configuration by selecting the desired server on the Integrations page. Home Assistant will show as an authorized device on the [Plex Web](https://app.plex.tv/web/app) interface under **Settings** -> **Authorized Devices**.
If your Plex server has local authentication enabled or multiple users defined, Home Assistant requires an authentication token to be entered in the frontend. You will be prompted with a notification to complete configuration if discovery is enabled.
<div class='note info'>
If your server enforces SSL connections, write "`on`" or "`true`" in the _"Use SSL"_ field. If it does not have a valid SSL certificate available but you still want to use SSL, write "`off`" or "`false`" in the _"Verify SSL"_ field as well.
Local and secure connections are preferred when setting up an Integration. After the initial configuration, all connections to your Plex servers are made directly without connecting to Plex's services.
<p class='img'>
<img src='{{site_root}}/images/screenshots/plex-token.png' />
</p>
</div>
You can also enable the `plex` platform directly by adding the following lines to your `configuration.yaml`:
If [discovery](/integrations/discovery/) is enabled and a local Plex server is found, a legacy `media_player` configuration (i.e., a `plex.conf` file) will be imported. GDM can be enabled via the Plex Web App under **Settings** -> **(Server Name)** -> **Settings** -> **Network** and choosing **Enable local network discovery (GDM)**.
The `plex` integration can also be configured via `configuration.yaml`:
```yaml
# Example configuration.yaml entry
@ -39,8 +40,8 @@ plex:
```
<div class='note warning'>
At least one of `host` or `token` must be provided.
Only one Plex server can be configured when using `configuration.yaml`. To add more servers, set up via **Configuration** -> **Integrations**.
</div>
@ -73,7 +74,7 @@ verify_ssl:
default: true
type: boolean
media_player:
description: Options to customize behavior of `media_player` entities.
description: Options to set the default behavior of `media_player` entities for new Integrations. **NOTE:** These options are exposed as Configuration Options (**Integrations** -> **Configured** --> **Plex** --> **Gear Icon**). Configuration Options will take precedence.
required: false
type: map
keys:
@ -112,40 +113,40 @@ Plays a song, playlist, TV episode, or video on a connected client.
#### Music
| Service data attribute | Optional | Description | Example |
| ---------------------- | -------- | ----------- | ----------- |
| `entity_id` | no | `entity_id` of the client | media_player.theater_plex |
| `media_content_id` | no | Quote escaped JSON with `library_name`, `artist_name`, `album_name`, `track_name`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"My Music\\", \\"artist_name\\" : \\"Adele\\", \\"album_name\\" : \\"25\\", \\"track_name\\" : \\"hello\\", \\"shuffle\\": \\"0\\" } |
| `media_content_type` | no | Type of media to play, in this case `MUSIC` | MUSIC |
| Service data attribute | Optional | Description | Example |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | `entity_id` of the client | media_player.theater_plex |
| `media_content_id` | no | Quote escaped JSON with `library_name`, `artist_name`, `album_name`, `track_name`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"My Music\\", \\"artist_name\\" : \\"Adele\\", \\"album_name\\" : \\"25\\", \\"track_name\\" : \\"hello\\", \\"shuffle\\": \\"0\\" } |
| `media_content_type` | no | Type of media to play, in this case `MUSIC` | MUSIC |
#### Playlist
| Service data attribute | Optional | Description | Example |
| ---------------------- | -------- | ----------- | ----------- |
| `entity_id` | no | `entity_id` of the client | media_player.theater_plex |
| `media_content_id` | no | Quote escaped JSON with `playlist_name`, `shuffle` (0 or 1). | { \\"playlist_name\\" : \\"The Best of Disco\\" \\"shuffle\\": \\"0\\" } |
| `media_content_type` | no | Type of media to play, in this case `PLAYLIST` | PLAYLIST |
| Service data attribute | Optional | Description | Example |
| ---------------------- | -------- | ------------------------------------------------------------ | ------------------------------------------------------------------------ |
| `entity_id` | no | `entity_id` of the client | media_player.theater_plex |
| `media_content_id` | no | Quote escaped JSON with `playlist_name`, `shuffle` (0 or 1). | { \\"playlist_name\\" : \\"The Best of Disco\\" \\"shuffle\\": \\"0\\" } |
| `media_content_type` | no | Type of media to play, in this case `PLAYLIST` | PLAYLIST |
#### TV Episode
| Service data attribute | Optional | Description | Example |
| ---------------------- | -------- | ----------- | ----------- |
| `entity_id` | no | `entity_id` of the client | media_player.theater_plex |
| `media_content_id` | no | Quote escaped JSON with `library_name`, `show_name`, `season_number`, `episode_number`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"Adult TV\\", \\"show_name\\" : \\"Rick and Morty\\", \\"season_number\\" : 2, \\"episode_number\\" : 5, \\"shuffle\\": \\"0\\" } |
| `media_content_type` | no | Type of media to play, in this case `EPISODE` | EPISODE |
| Service data attribute | Optional | Description | Example |
| ---------------------- | -------- | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_id` | no | `entity_id` of the client | media_player.theater_plex |
| `media_content_id` | no | Quote escaped JSON with `library_name`, `show_name`, `season_number`, `episode_number`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"Adult TV\\", \\"show_name\\" : \\"Rick and Morty\\", \\"season_number\\" : 2, \\"episode_number\\" : 5, \\"shuffle\\": \\"0\\" } |
| `media_content_type` | no | Type of media to play, in this case `EPISODE` | EPISODE |
#### Video
| Service data attribute | Optional | Description | Example |
| ---------------------- | -------- | ----------- | ----------- |
| `entity_id` | no | `entity_id` of the client | media_player.theater_plex |
| `media_content_id` | no | Quote escaped JSON with `library_name`, `video_name`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"Adult Movies\\", \\"video_name\\" : \\"Blade\\", \\"shuffle\\": \\"0\\" } |
| `media_content_type` | no | Type of media to play, in this case `VIDEO` | VIDEO |
| Service data attribute | Optional | Description | Example |
| ---------------------- | -------- | ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `entity_id` | no | `entity_id` of the client | media_player.theater_plex |
| `media_content_id` | no | Quote escaped JSON with `library_name`, `video_name`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"Adult Movies\\", \\"video_name\\" : \\"Blade\\", \\"shuffle\\": \\"0\\" } |
| `media_content_type` | no | Type of media to play, in this case `VIDEO` | VIDEO |
### Compatibility
| Client | Limitations |
|----------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Any (when all controls disabled) | A stop button will appear but is not functional. |
| Any (when casting) | Controlling playback will work but with error logging. |
| Any (remote client) | Controls disabled. |
@ -157,15 +158,15 @@ Plays a song, playlist, TV episode, or video on a connected client.
### Notes
* At this moment, the Plex platform only supports one Plex Media Server.
* It is possible to get errors that look like the following.
* The `plex` integration supports multiple Plex servers. Additional connections can be configured under Configuration > Integrations.
* When setting up a server via `configuration.yaml`, it is possible to get errors that look like the following.
```txt
ERROR:plexapi:http://192.168.1.10:32400: ('Connection aborted.', BadStatusLine("''",))
INFO:homeassistant.components.media_player.plex:No server found at: http://192.168.1.10:32400
```
If this occurs, check the setting `Server`>`Network`>`Secure connections` on your Plex Media Server: if it is set to `Preferred` or `Required`, you may need to manually set the `ssl` and `verify` booleans to, respectively, `true` and `false`.
If this occurs, check the setting `Server`>`Network`>`Secure connections` on your Plex Media Server: if it is set to `Preferred` or `Required`, you may need to manually set the `ssl` and `verify_ssl` configuration options to, respectively, `true` and `false`.
* Movies must be located under 'Movies' section in the Plex library to properly get 'playing' state.
## Sensor

View File

@ -26,6 +26,8 @@ To enable it, add the following to your `configuration.yaml` file:
rainbird:
host: IP_ADDRESS_OF_MODULE
password: YOUR_PASSWORD
trigger_time: 360
```
{% configuration %}
@ -37,8 +39,56 @@ password:
description: The password for accessing the module.
required: true
type: string
trigger_time:
description: Irrigation time. The time will be rounded down to whole minutes.
required: true
type: time
zones:
description: Dictionary of zone configurations
required: false
type: map
keys:
ZONE_NUMBER:
description: Zone ID
type: map
keys:
friendly_name:
description: Friendly name to see in GUI
required: false
type: string
trigger_time:
description: Irrigation time. Seconds are ignored.
required: false
type: time
{% endconfiguration %}
More complex configuration using all possible features could look like this example:
```yaml
# Example configuration.yaml entry
rainbird:
- host: IP_ADDRESS_OF_MODULE
password: YOUR_PASSWORD
trigger_time: 6
zones:
1:
friendly_name: My zone 1
trigger_time:
minutes: 6
2:
friendly_name: My zone 2
trigger_time: 2
- host: IP_ADDRESS_OF_ANOTHER_MODULE
password: YOUR_ANOTHER_PASSWORD
trigger_time: 0:06
zones:
1:
friendly_name: My zone 1
trigger_time: 0:06
3:
friendly_name: My zone 3
trigger_time: 0:05
```
<div class='note'>
Please note that due to the implementation of the API within the LNK Module, there is a concurrency issue. For example, the Rain Bird app will give connection issues (like already a connection active).
</div>
@ -47,62 +97,11 @@ Please note that due to the implementation of the API within the LNK Module, the
This `rainbird` sensor allows interacting with [LNK WiFi](http://www.rainbird.com/landscape/products/controllers/LNK-WiFi.htm) module of the Rain Bird Irrigation system in Home Assistant.
Add the following to your `configuration.yaml` file to enable the rain sensor:
```yaml
# Example configuration.yaml entry
sensor:
- platform: rainbird
monitored_conditions:
- rainsensor
```
{% configuration %}
monitored_conditions:
description: Conditions to be monitored.
type: list
keys:
rainsensor:
description: Returns the sensor level.
{% endconfiguration %}
The integration adds `rainsensor` and `raindelay` sensors and their `binary_sensor` alternatives.
## Switch
This `rainbird` switch platform allows interacting with [LNK WiFi](http://www.rainbird.com/landscape/products/controllers/LNK-WiFi.htm) module of the Rain Bird Irrigation system in Home Assistant.
Add the following to your `configuration.yaml` file to use the switch platform:
Switches are automatically added for all available zones of configured controllers.
```yaml
switch:
- platform: rainbird
switches:
sprinkler_1:
zone: 1
friendly_name: "Front sprinklers"
trigger_time: 10
scan_interval: 10
sprinkler_2:
friendly_name: "Back sprinklers"
zone: 2
trigger_time: 20
scan_interval: 10
```
{% configuration %}
zone:
description: Station zone identifier.
required: true
type: string
friendly_name:
description: Just a friendly name for the station.
required: false
type: string
trigger_time:
description: The default duration to sprinkle the zone in minutes.
required: true
type: integer
scan_interval:
description: How fast to refresh the switch in minutes.
required: false
type: integer
{% endconfiguration %}

View File

@ -0,0 +1,47 @@
---
title: "SAJ Solar Inverter"
description: "Instructions on how to connect your SAJ Solar Inverter to Home Assistant."
ha_category:
- Energy
logo: saj.png
ha_iot_class: Local Polling
ha_release: "0.100"
---
The `saj` sensor will poll a [SAJ](https://www.saj-electric.com/) solar inverter and present the values as sensors in Home Assistant.
This sensor uses the web interface and to use it, you have to be able to connect to the solar inverter from your favorite web browser.
## Configuration
To enable this sensor, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: saj
host: IP_ADDRESS_OF_DEVICE
```
{% configuration %}
host:
description: The IP address of the SAJ Solar Inverter.
required: true
type: string
{% endconfiguration %}
## Sensors
Sensors available in the library:
| name | Unit | Description |
|--------------------|------|:-------------------------------------------|
| current_power | W | Current power generated by the inverter. |
| today_yield | kWh | Power yield for today. |
| today_time | h | Inverter's running time for today. |
| today_max_current | W | Maximum current power for today. |
| total_yield | kWh | Total kWh generated to date. |
| total_time | h | Total running time of the inverter . |
| total_co2_reduced | kg | Total CO2 in kg reduced. |
| temperature | °C | Temperature of the inverter. |
| state | N/A | Live state of the inverter. |

View File

@ -79,6 +79,7 @@ type:
| 9.001 | temperature | 2 | °C |
| 9.004 | illuminance | 2 | lx |
| 9.005 | speed_ms | 2 | m/s |
| 9.006 | pressure_2byte | 2 | Pa |
| 9.007 | humidity | 2 | % |
| 9.008 | ppm | 2 | ppm |
| 9.020 | voltage | 2 | mV |

View File

@ -27,6 +27,11 @@ ip_address:
description: The IP address of your Solax system.
required: true
type: string
port:
required: false
type: integer
default: 80
description: The port number
{% endconfiguration %}
### Optional template sensor

View File

@ -0,0 +1,40 @@
---
title: "Soma"
description: "Instructions on how to set up the Soma Connect within Home Assistant."
logo: soma.png
ha_category:
- Cover
ha_iot_class: Local Polling
ha_config_flow: true
ha_release: "0.100"
---
The Soma integration will allow users to integrate their Soma Smarthome devices into Home Assistant using the Soma Connect hub.
You can build a Soma Connect yourself if you have a spare Raspberry Pi. You just need to follow the [ official instructions](https://somasmarthome.zendesk.com/hc/en-us/articles/360035521234-Install-SOMA-Connect-software-on-SOMA-Connect-Raspberry-Pi). After you have the SD card plug in the Pi and use an ethernet cable or [set up WiFI](https://somasmarthome.zendesk.com/hc/en-us/articles/360026210333-Configuring-Wi-Fi-access). Then find the IP address by checking your routers DHCP table (we will work on this step).
The Connect will automatically find all your Smartshade devices in range and expose them through this integration and through Home Kit. This integration will only enumerate new shades when it is first set up. If you add shades after that you just need to restart Home Assistant or reconfigure this integration. Soma Connect will automatically discover new shades as they appear and expose them.
To actually move the shades you have to first set them up according to the instructions that come with them.
## Configuration
```yaml
# Example configuration.yaml entry
soma:
host: CONNECT_IP_ADDR
port: CONNECT_PORT
```
{% configuration %}
host:
description: Your Soma Connect IP address.
required: true
type: string
port:
description: Your Soma Connect port.
required: true
default: 3000
type: string
{% endconfiguration %}

View File

@ -38,13 +38,13 @@ logo:
description: URL which is publicly accessible of the logo.
required: true
type: string
logo:
url:
description: URL of the hackerspace's web site.
required: true
type: string
location:
description: Location of the Hackerspace.
required: true
required: false
type: map
keys:
address:
@ -52,28 +52,81 @@ location:
required: true
type: string
contact:
description: Contact information of the Hackerspace.
description: Contact information of the Hackerspace. At least one entry is mandatory.
required: true
type: map
keys:
email:
description: The email address of the Hackerspace.
required: true
type: string
irc:
description: The IRC channel of the Hackerspace
phone:
description: The phone number of the Hackerspace.
required: false
type: string
mailing_list:
description: The mailing list of the Hackerspace.
sip:
description: The SIP URI for Voice-over-IP of the Hackerspace.
required: false
type: string
keymasters:
description: Persons who carry a key and are able to open the space upon request. One of the fields must be specified.
required: false
type: list
keys:
name:
description: Real Name of the keymaster.
required: false
type: string
irc_nick:
description: Contact the person with this nickname directly in irc if available. The irc channel to be used is defined in the contact/irc field.
required: false
type: string
phone:
description: Phone number of the keymaster.
required: false
type: string
email:
description: Email address of the keymaster.
required: false
type: string
twitter:
description: Twitter username of the keymaster.
required: false
type: string
irc:
description: The IRC channel of the Hackerspace
required: false
type: string
twitter:
description: The Twitter account of the Hackerspace.
required: false
type: string
facebook:
description: The facebook URL of the Hackerspace.
required: false
type: string
identica:
description: The Identi.ca or StatusNet account of the Hackerspace.
required: false
type: string
foursquare:
description: The Foursquare ID of the Hackerspace.
required: false
type: string
email:
description: The email address of the Hackerspace.
required: true
type: string
ml:
description: The mailing list of the Hackerspace.
required: false
type: string
jabber:
description: The public Jabber/XMPP multi-user chatroom of the Hackerspace.
required: false
type: string
issue_mail:
description: A separate email address for issue reports.
required: false
type: string
issue_report_channels:
description: "The reporting channel for issues. Pick an entity from `contact:`."
description: "The reporting channel for issues. Valid values are email, issue_mail, twitter or ml"
required: true
type: list
state:
@ -93,6 +146,101 @@ state:
description: The URL which is publicly accessible of the icon for the closed Hackerspace.
required: false
type: string
feeds:
description: Feeds where users can get updates of your space.
required: false
type: map
keys:
blog:
description: The blog of your Hackerspace.
required: false
type: map
keys:
type:
description: Type of the feed, for example rss, atom, ical
required: false
type: string
url:
description: Feed URL
required: true
type: string
wiki:
description: The wiki of your Hackerspace.
required: false
type: map
keys:
type:
description: Type of the feed, for example rss, atom, ical
required: false
type: string
url:
description: Feed URL
required: true
type: string
calendar:
description: The calendar of your Hackerspace.
required: false
type: map
keys:
type:
description: Type of the feed, for example rss, atom, ical
required: false
type: string
url:
description: Feed URL
required: true
type: string
flicker:
description: The Flicker stream of your Hackerspace.
required: false
type: map
keys:
type:
description: Type of the feed, for example rss, atom, ical
required: false
type: string
url:
description: Feed URL
required: true
type: string
cache:
description: Specifies options about caching of your SpaceAPI endpoint. Use this if you want to avoid hundreds/thousands of application instances crawling your status.
required: false
type: map
keys:
schedule:
description: Cache update cycle. Valid values are m.02 | m.05 | m.10 | m.15 | m.30 | h.01 | h.02 | h.04 | h.08 | h.12 | d.01 |
required: true
type: string
projects:
description: Your project sites (links to GitHub, wikis or wherever your projects are hosted).
required: false
type: list
radio_show:
description: A list of radio shows that your hackerspace might broadcast.
required: false
type: list
keys:
name:
description: The name of the radio show.
required: true
type: string
url:
description: The stream URL of the radio show.
required: true
type: string
type:
description: The stream encoder. Valid values are mp3 or ogg
required: true
type: string
start:
description: Specify the start time by using the ISO 8601 standard.
required: true
type: string
end:
description: Specify the end time by using the ISO 8601 standard.
required: true
type: string
sensors:
description: List of sensors to expose.
required: false
@ -112,8 +260,8 @@ The list of sensors can be any sensor, not just temperature or humidity.
## Sensor specific location
The [SpaceAPI specification](http://spaceapi.net/documentation) requires every sensor to provide a location.
In order to set a sensor specific location do the following steps:
The [SpaceAPI specification](http://spaceapi.net/documentation) requires every sensor to provide a location.
In order to set a sensor specific location do the following steps:
1. Go to Configuration -> Customization
2. Select the sensor entity

View File

@ -1,50 +0,0 @@
---
title: "SRP Energy Sensor"
description: "How to integrate SRP Energy within Home Assistant."
ha_category:
- Energy
ha_release: 0.83
ha_iot_class: Cloud Polling
---
<div class="note warning">
This integration is deprecated and will be removed in Home Assistant 0.100.0.
For more information see [Architecture Decision Record: 0004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md).
</div>
The `srp_energy` integration shows information from Srp hourly energy usage report for their customers. The srpenergy module fetches the data found on the website.
You need a Username, Password, and AccountId which you can create at [Srp](https://www.srpnet.com).
## Configuration
To add Srp Energy to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: srp_energy
username: YOUR_USERNAME
password: YOUR_PASSWORD
id: YOUR_ACCOUNT_ID
```
{% configuration %}
username:
description: Your username for SRP.
required: true
type: string
password:
description: Your password for SRP.
required: true
type: string
id:
description: Your account id for SRP.
required: true
type: string
{% endconfiguration %}
Details about the API are available in the [SRP Energy Developers API documentation](https://srpenergy-api-client-python.readthedocs.io/en/latest/?badge=latest).

View File

@ -1,51 +0,0 @@
---
title: "Sytadin Sensor"
description: "Instructions on how to integrate Sytadin sensors into Home Assistant."
logo: sytadin.png
ha_release: 0.57
ha_category:
- Transport
ha_iot_class: Cloud Polling
---
The `sytadin` sensor platform allows you to monitor traffic details from [Sytadin](http://www.sytadin.fr).
<div class="note warning">
This integration is deprecated and will be removed in Home Assistant 0.100.0.
For more information see [Architecture Decision Record: 0004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md).
</div>
## Configuration
To add Sytadin to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: sytadin
```
{% configuration %}
name:
description: Additional name for the sensors.
required: false
default: Sytadin
type: string
monitored_conditions:
description: Conditions to display in the frontend.
required: false
default: traffic_jam
type: list
keys:
traffic_jam:
description: Amount of kilometers in traffic jam (km).
mean_velocity:
description: Mean velocity (km/h).
congestion:
description: Index of congestion (n/a).
{% endconfiguration %}
The data is coming from the [Direction des routes Île-de-France (DiRIF)](http://www.sytadin.fr).

View File

@ -16,6 +16,7 @@ The `template` platform supports sensors which get their values from other entit
The configuration of Template Sensors depends on what you want them to be. Adding the following to your `configuration.yaml` file will create two sensors, one for the current sun angle and one for the time of the next sunrise:
{% raw %}
```yaml
# Example configuration.yaml entry
sensor:
@ -29,6 +30,7 @@ sensor:
sunrise:
value_template: "{{ state_attr('sun.sun', 'next_rising') }}"
```
{% endraw %}
{% configuration %}
@ -74,7 +76,12 @@ sensor:
"attribute: template":
description: The attribute and corresponding template.
required: true
type: template
type: template
availability_template:
description: Defines a template to get the `available` state of the component. If the template returns `true`, the device is `available`. If the template returns any other value, the device will be `unavailable`. If `availability_template` is not configured, the component will always be `available`.
required: false
type: template
default: true
device_class:
description: Sets the class of the device, changing the device state and icon that is displayed on the UI (see below). It does not set the `unit_of_measurement`.
required: false
@ -103,6 +110,7 @@ In this section, you find some real-life examples of how to use this sensor.
This example shows the sun angle in the frontend.
{% raw %}
```yaml
sensor:
- platform: template
@ -112,6 +120,7 @@ sensor:
unit_of_measurement: '°'
value_template: "{{ '%+.1f'|format(state_attr('sun.sun', 'elevation')) }}"
```
{% endraw %}
### Renaming Sensor Output
@ -120,6 +129,7 @@ If you don't like the wording of a sensor output, then the Template Sensor can h
a simple example:
{% raw %}
```yaml
sensor:
- platform: template
@ -133,6 +143,7 @@ sensor:
down
{% endif %}
```
{% endraw %}
### Multiline Example With an `if` Test
@ -140,6 +151,7 @@ sensor:
This example shows a multiple line template with an `if` test. It looks at a sensing switch and shows `on`/`off` in the frontend.
{% raw %}
```yaml
sensor:
- platform: template
@ -157,6 +169,7 @@ sensor:
failed
{% endif %}
```
{% endraw %}
### Change The Unit of Measurement
@ -164,6 +177,7 @@ sensor:
With a Template Sensor, it's easy to convert given values into others if the unit of measurement doesn't fit your needs.
{% raw %}
```yaml
sensor:
- platform: template
@ -178,6 +192,7 @@ sensor:
unit_of_measurement: 'kB/s'
value_template: "{{ states('sensor.transmission_up_speed')|float * 1024 }}"
```
{% endraw %}
### Change The Icon
@ -185,6 +200,7 @@ sensor:
This example shows how to change the icon based on the day/night cycle.
{% raw %}
```yaml
sensor:
- platform: template
@ -204,6 +220,7 @@ sensor:
mdi:weather-night
{% endif %}
```
{% endraw %}
### Change The Entity Picture
@ -211,6 +228,7 @@ sensor:
This example shows how to change the entity picture based on the day/night cycle.
{% raw %}
```yaml
sensor:
- platform: template
@ -230,6 +248,7 @@ sensor:
/local/nighttime.png
{% endif %}
```
{% endraw %}
### Change the Friendly Name Used in the Frontend
@ -237,6 +256,7 @@ sensor:
This example shows how to change the `friendly_name` based on a state.
{% raw %}
```yaml
sensor:
- platform: template
@ -251,6 +271,7 @@ sensor:
value_template: "{{ states('sensor.power_consumption') }}"
unit_of_measurement: 'kW'
```
{% endraw %}
### Add Custom Attributes
@ -283,6 +304,7 @@ sensor:
{{ state_attr('device_tracker.my_device_gps','longitude') }}
{% endif %}
```
{% endraw %}
### Working without entities
@ -292,6 +314,7 @@ The `template` sensors are not limited to use attributes from other entities but
This template contains no entities that will trigger an update, so we add an `entity_id:` line with an entity that will force an update - here we're using a [date sensor](/integrations/time_date) to get a daily update:
{% raw %}
```yaml
sensor:
- platform: template
@ -302,6 +325,7 @@ sensor:
friendly_name: 'Not smoking'
unit_of_measurement: "Days"
```
{% endraw %}
Useful entities to choose might be `sensor.date` which update once per day or `sensor.time` which updates once per minute.
@ -309,6 +333,7 @@ Useful entities to choose might be `sensor.date` which update once per day or `s
An alternative to this is to create an interval-based automation that calls the service `homeassistant.update_entity` for the entities requiring updates. This modified example updates every 5 minutes:
{% raw %}
```yaml
sensor:
- platform: template
@ -328,4 +353,5 @@ automation:
- service: homeassistant.update_entity
entity_id: sensor.nonsmoker
```
{% endraw %}

View File

@ -7,6 +7,7 @@ ha_iot_class: Local Polling
ha_config_flow: true
ha_release: 0.43
ha_category:
- Cover
- Light
- Sensor
- Switch

View File

@ -28,6 +28,8 @@ If everything is set up correctly, the details will show up in the frontend.
## Configuration
Set up the integration through **Configuration** -> **Integrations** -> **Transmission**. For legacy support old transmission configuration is imported and set up as new integration. Make sure to remove `monitored_condiditions` as they are now automatically added to Home Assistant
To enable this sensor, add the following lines to your `configuration.yaml`:
```yaml
@ -57,38 +59,30 @@ password:
description: Your Transmission password, if you use authentication.
required: false
type: string
turtle_mode:
description: If enabled, it creates a switch entity to control the 'Alternative Speed Limits' (aka 'Turtle mode') setting.
required: false
type: boolean
default: false
scan_interval:
description: How frequently to query for new data. Defaults to 120 seconds.
required: false
type: integer
monitored_conditions:
type: integer
description: "List of monitored conditions. Possible values are:"
required: false
type: list
keys:
current_status:
description: The status of your Transmission daemon.
download_speed:
description: The current download speed [MB/s].
upload_speed:
description: The current upload speed [MB/s].
active_torrents:
description: The current number of active torrents.
paused_torrents:
description: The current number of paused torrents.
total_torrents:
description: The total number of torrents present in the client.
started_torrents:
description: The current number of started torrents (downloading).
completed_torrents:
description: The current number of completed torrents (seeding)
{% endconfiguration %}
## Integration Entities
The Transmission Integration will add the following sensors and switches.
Sensors:
- current_status: The status of your Transmission daemon.
- download_speed: The current download speed [MB/s].
- upload_speed: The current upload speed [MB/s].
- active_torrents: The current number of active torrents.
- paused_torrents: The current number of paused torrents.
- total_torrents: The total number of torrents present in the client.
- started_torrents: The current number of started torrents (downloading).
- completed_torrents: The current number of completed torrents (seeding)
Switches:
- on_off: A switch to start/stop all torrents
- turtle_mode: A switch to enable turtle mode.
## Event Automation

View File

@ -1,57 +0,0 @@
---
title: UPS Sensor
description: "Instructions on how to set up UPS sensors within Home Assistant."
logo: ups.png
ha_category:
- Postal Service
ha_release: 0.39
ha_iot_class: Cloud Polling
---
<div class="note warning">
This integration is deprecated and will be removed in Home Assistant 0.100.0.
For more information see [Architecture Decision Record: 0004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md).
</div>
The `ups` platform allows one to track deliveries by the [UPS](https://www.ups.com/). To use this sensor, you need a [My UPS Account](https://www.ups.com/mychoice).
## Configuration
To enable this sensor, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
sensor:
- platform: ups
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
Configuration options for the UPS Sensor:
- **username** (*Required*): The username to access the UPS My Choice service.
- **password** (*Required*): The password for the given username.
- **name** (*Optional*): Name the sensor.
- **scan_inverval** (*Optional*): Minimum time interval between updates. Default is 1 hour. Supported formats:
- `scan_interval: 'HH:MM:SS'`
- `scan_interval: 'HH:MM'`
- Time period dictionary, e.g.:
<pre>scan_interval:
# At least one of these must be specified:
days: 0
hours: 0
minutes: 3
seconds: 30
milliseconds: 0
</pre>
<div class='note warning'>
The UPS sensor logs into the UPS My Choice website to scrape package data. It does not use an API. Use at your own risk.
</div>
<div class='note info'>
If the UPS sensor is throwing an error about not being able to login to the UPS My Choice website, it's likely because there is a new UPS Technology Agreement (UTA) preventing the scraper from accessing the package data. Login to UPS My Choice manually and accept the UTA to resolve this.
</div>

View File

@ -1,121 +0,0 @@
---
title: USPS
description: "Interface USPS mail and package information to Home Assistant."
logo: usps.png
ha_category:
- Postal Service
- Camera
- Sensor
ha_release: 0.52
ha_iot_class: Cloud Polling
---
<div class="note warning">
This integration is deprecated and will be removed in Home Assistant 0.100.0.
For more information see [Architecture Decision Record: 0004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md).
</div>
The `usps` platform allows one to track deliveries and inbound mail from the [US Postal Service (USPS)](https://www.usps.com/).
In addition to having a USPS account, you will need to complete the "Opt-In" process for packages by clicking "Get Started Now" on [this page](https://my.usps.com/mobileWeb/pages/intro/start.action). You must also "Opt-In" to [Informed Delivery](https://informeddelivery.usps.com/box/pages/intro/start.action) to see inbound mail.
There is currently support for the following device types within Home Assistant:
- [Camera](#camera)
- [Sensor](#sensor)
## Prerequisites
This integration requires that a headless-capable web browser is installed on your system - either PhantomJS or Google Chrome. Preferably use Chrome if your operating system supports it, since PhantomJS is deprecated.
<div class='note warning'>
If you are using a Raspberry Pi, you must use PhantomJS.
</div>
<div class='note warning'>
Hass.io containers are based on Alpine Linux. PhantomJS is not available for Alpine Linux. Therefore it is currently not possible to use this integration on Hass.io.
</div>
### PhantomJS
Install the latest version of [PhantomJS](http://phantomjs.org/download.html). Ensure the executable is on your `PATH`. `phantomjs --version` should work and report the correct version. This is the default option and requires no further configuration.
<div class='note warning'>
Don't use apt-get to install PhantomJS. This version is not compatible.
</div>
If you use the PhantomJS option, specify `driver: phantomjs` in your `usps` configuration.
### Chrome
Install Chrome 59 or greater (preferably the most recent). Install the latest [Chromedriver](https://sites.google.com/a/chromium.org/chromedriver/downloads). Ensure both executables are on your `PATH`. `google-chrome --version` and `chromedriver --version` should work and report the correct version.
OS-specific instructions:
- [Ubuntu 16](https://gist.github.com/ziadoz/3e8ab7e944d02fe872c3454d17af31a5) (Selenium server portion *not* necessary)
- [RHEL/Centos 7](https://stackoverflow.com/a/46686621)
If you use the Chrome option, specify `driver: chrome` in your `usps` configuration.
## Configuration
To enable this component, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
usps:
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
You will see two new sensors, one for packages and one for mail and a camera to rotate through images of incoming mail for the current day.
{% configuration %}
username:
description: The username to access the MyUSPS service.
required: true
type: string
password:
description: The password for the given username.
required: true
type: string
driver:
description: Specify if you're using `phantomjs` or `chrome`.
required: false
type: string
default: phantomjs
name:
description: The prefix for sensor names.
required: false
type: string
default: usps
{% endconfiguration %}
<div class='note warning'>
The USPS sensor logs into the MyUSPS website to scrape package data. It does not use an API.
</div>
## Camera
The `usps` camera integration allows you to view the mail piece images made available through USPS via the Informed Delivery service. You must "Opt-In" to [Informed Delivery](https://informeddelivery.usps.com/box/pages/intro/start.action) to see mail images. This works in concert with [USPS sensors](#sensor).
### Configuration
To customize the interval that mail images are rotated in the mail camera you can edit your `configuration.yaml` file with the following settings:
```yaml
# Example configuration.yaml entry
camera:
- platform: usps
scan_interval: 5
```
To enable this camera in your installation, set up the USPS integration first.
## Sensor
The `usps` sensor integration allows you to view statistics on incoming mail and packages made available through USPS via the Informed Delivery service. You must "Opt-In" to [Informed Delivery](https://informeddelivery.usps.com/box/pages/intro/start.action) to see mail images. This works in concert with [USPS camera](#camera).
To enable this sensor in your installation, set up the USPS integration first.

View File

@ -15,6 +15,8 @@ return_to_base, clean_spot, locate and set_fan_speed commands of a vacuum.
To enable Template Vacuums in your installation, add the following to your
`configuration.yaml` file:
{% raw %}
```yaml
# Example configuration.yaml entry
vacuum:
@ -22,9 +24,11 @@ vacuum:
vacuums:
living_room_vacuum:
start:
service: script.vacuum_start
service: script.vacuum_start
```
{% endraw %}
{% configuration %}
vacuums:
description: List of your vacuums.
@ -47,6 +51,11 @@ vacuum:
description: Defines a template to get the fan speed of the vacuum.
required: false
type: template
availability_template:
description: Defines a template to get the `available` state of the component. If the template returns `true`, the device is `available`. If the template returns any other value, the device will be `unavailable`. If `availability_template` is not configured, the component will always be `available`.
required: false
type: template
default: true
start:
description: Defines an action to run when the vacuum is started.
required: true
@ -117,6 +126,7 @@ vacuum:
This example shows how to use templates to specify the state of the vacuum.
{% raw %}
```yaml
vacuum:
- platform: template
@ -144,4 +154,5 @@ vacuum:
- Medium
- High
```
{% endraw %}

View File

@ -0,0 +1,84 @@
---
title: "Yandex transport"
description: "Instructions on how to set up Yandex transport with Home Assistant."
logo: yandex.png
ha_category:
- Sensor
- Transport
ha_release: "0.100"
---
The `yandex_tranport` sensor platform uses [Yandex Maps](https://maps.yandex.ru/) it will give you the time until the next departure time from a bus/tramway/etc stop.
The [Yandex Maps](https://maps.yandex.ru/) website can help to determine the id of your bus stop. You can select a bus stop by clicking on the map, and look to the URL:
`https://yandex.ru/maps/213/moscow/?ll=37.722565%2C55.806662&masstransit%5BstopId%5D=stop__9642962&mode=masstransit&z=16.52`
Where stop id is: **9642962**
If you want to track only specific routes, you can add them in the routes section.
## Configuration
To activate Yandex Transport, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
sensor:
- platform: yandex_tranport
stop_id: YOUR_STOP_ID
```
{% configuration %}
stop_id:
description: The ID of the transport stop to get the information for.
required: true
type: string
routes:
description: "A list of a specific bus, tramway, etc routes at the stop. This is the same as the bus number, e.g., `83`. If the routes with letters contain Cyrillic symbols, so write them to `configuration.yaml` in Cyrillic."
required: false
type: list
name:
description: A friendly name for this sensor.
required: false
default: Yandex Transport
type: string
{% endconfiguration %}
## Full configuration example
The configuration sample below shows how an entry can look like:
```yaml
# Example configuration.yaml entry
sensor:
- platform: yandex_transport
name: Bus_to_subway
stop_id: 9639579
routes:
- 63
- 179
- 179к
- 154
- 591
- 677к
```
## Options For Entities
You can configure view information about the next bus using Lovelace card.
To enable displaying the relative time in your `default_vew` add the following lines:
```yaml
# Example default_view entry
title: Home Assistant
views:
cards:
- entities:
- entity: sensor.yandex_transport
format: relative
type: entities
path: default_view
```
Data provided by https://maps.yandex.ru

View File

@ -1,13 +1,29 @@
---
title: "Yesss SMS"
description: "Instructions on how to add user notifications to Home Assistant."
description: "Instructions on how to add Yesss-SMS notifications to Home Assistant."
logo: yesssat.png
ha_category:
- Notifications
ha_release: 0.57
---
The `yessssms` platform is using the Austrian mobile operator [Yesss.at](https://yesss.at) to send SMS via its web-site.
The `yessssms` platform is using the Austrian mobile operator [Yesss.at](https://yesss.at) and others to send SMS via their web-site.
Currenty some MVNOs (mobile virtual network operators), in the A1 network, that use the kontomanager.at interface work. These are currently (as of version 0.4.0 of [YesssSMS](https://pypi.org/project/YesssSMS/)):
* YESSS
* billitel
* EDUCOM
* fenercell
* georg
* goood
* kronemobile
* kuriermobil
* SIMfonie
* teleplanet
* WOWWW
* yooopi
![supported providers](/images/screenshots/yessssms_brands.png)
<div class='note warning'>
Regular charges apply and a contract or prepaid plan is needed.
@ -44,12 +60,29 @@ recipient:
description: This is the phone number you want to send the SMS notification to.
required: true
type: string
provider:
description: Possible values are `yesss`, `billitel`, `educom`, `fenercell`, `georg`, `goood`, `kronemobile`, `kuriermobil`, `simfonie`, `teleplanet`, `wowww` and `yooopi`.
required: false
default: "YESSS"
type: string
{% endconfiguration %}
For an alternative provider you would set the `provider` option. An example configuration for the `educom` provider with SMS to yourself would be:
```yaml
# Example configuration.yaml entry
notify:
- name: sms_to_self
platform: yessssms
username: 06641234567
password: tops3cr3tpass0rd
recipient: 06641234567
provider: educom
```
<div class='note warning'>
Verify that your credentials work on [Yesss.at's website](https://yesss.at). Using the wrong credentials three times in a row will get you suspended for one hour.
Home Assistant will not try to login after the account has been suspended.
Re-check the credentials and restart Home Assistant.
Verify that your credentials work on the website of your provider.
Using the wrong credentials three times in a row will get you suspended for one hour.
</div>
Home Assistant will check your credentials on startup. Check the logs for errors.
If the login credentials are not valid, re-check the credentials and restart Home Assistant.

View File

@ -51,6 +51,10 @@ icon:
required: false
description: Overwrites icon or entity picture.
type: string
image:
required: false
description: Overwrites entity picture.
type: string
secondary_info:
required: false
description: "Show additional info. Values: `entity-id`, `last-changed`."

View File

@ -57,7 +57,7 @@ tap_action:
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`toggle`"
navigation_path:
@ -65,6 +65,11 @@ tap_action:
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
@ -82,7 +87,7 @@ hold_action:
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`more-info`"
navigation_path:
@ -90,6 +95,11 @@ hold_action:
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"

View File

@ -20,11 +20,11 @@ type:
type: string
entities:
required: true
description: "List of entities to filter."
description: A list of entity IDs or `entity` objects, see below.
type: list
state_filter:
required: true
description: List of strings representing states.
required: false
description: List of strings representing states or `filter` objects, see below.
type: list
card:
required: false
@ -38,6 +38,60 @@ show_empty:
default: true
{% endconfiguration %}
## Options For Entities
If you define entities as objects instead of strings (by adding `entity:` before entity ID), you can add more customization and configurations:
{% configuration %}
entity:
required: true
description: Home Assistant entity ID.
type: string
type:
required: false
description: "Sets a custom card type: `custom:my-custom-card`"
type: string
name:
required: false
description: Overwrites friendly name.
type: string
icon:
required: false
description: Overwrites icon or entity picture.
type: string
secondary_info:
required: false
description: "Show additional info. Values: `entity-id`, `last-changed`."
type: string
format:
required: false
description: "How the state should be formatted. Currently only used for timestamp sensors. Valid values are: `relative`, `total`, `date`, `time` and `datetime`."
type: string
state_filter:
required: false
description: List of strings representing states or `filter` objects, see below.
type: list
{% endconfiguration %}
## Options For state_filter
If you define state_filter as objects instead of strings (by adding `value:` before your state value), you can add more customization to your filter:
{% configuration %}
value:
required: true
description: String representing the state.
type: string
operator:
required: false
description: Operator to use in the comparison.
type: string
attribute:
required: false
description: Attribute of the entity to use instead of the state.
type: string
{% endconfiguration %}
### Examples
Show only active switches or lights in the house
@ -67,6 +121,24 @@ card:
title: People at home
```
Specify filter for a single entity
```yaml
type: entity-filter
state_filter:
- "on"
- operator: ">"
value: 90
entities:
- sensor.water_leak
- sensor.outside_temp
- entity: sensor.humidity_and_temp
state_filter:
- operator: ">"
value: 50
attribute: humidity
```
<p class='img'>
<img src='/images/lovelace/lovelace_entity_filter_glance.png' alt='Entity filter combined with glance card'>
Entity filter combined with glance card.

View File

@ -82,7 +82,7 @@ tap_action:
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`more-info`"
navigation_path:
@ -90,6 +90,11 @@ tap_action:
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
@ -107,7 +112,7 @@ hold_action:
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`more-info`"
navigation_path:
@ -115,6 +120,11 @@ hold_action:
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"

View File

@ -30,6 +30,10 @@ title:
required: false
description: Card title
type: string
state_filter:
required: false
description: '[State-based CSS filters](#how-to-use-state_filter)'
type: map
{% endconfiguration %}
## Elements
@ -82,7 +86,7 @@ tap_action:
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`more-info`"
navigation_path:
@ -90,6 +94,11 @@ tap_action:
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
@ -107,7 +116,7 @@ hold_action:
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`more-info`"
navigation_path:
@ -115,6 +124,11 @@ hold_action:
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
@ -162,7 +176,7 @@ tap_action:
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`more-info`"
navigation_path:
@ -170,6 +184,11 @@ tap_action:
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
@ -187,7 +206,7 @@ hold_action:
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`,, `none`)"
type: string
default: "`more-info`"
navigation_path:
@ -195,6 +214,11 @@ hold_action:
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
@ -264,7 +288,7 @@ tap_action:
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`more-info`"
navigation_path:
@ -272,6 +296,11 @@ tap_action:
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
@ -289,7 +318,7 @@ hold_action:
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`more-info`"
navigation_path:
@ -297,6 +326,11 @@ hold_action:
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
@ -336,7 +370,7 @@ tap_action:
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`more-info`"
navigation_path:
@ -344,6 +378,11 @@ tap_action:
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
@ -361,7 +400,7 @@ hold_action:
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`more-info`"
navigation_path:
@ -369,6 +408,11 @@ hold_action:
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"

View File

@ -37,6 +37,10 @@ state_image:
required: false
description: "Map entity states to images (`state: image URL`, check the example below)."
type: map
state_filter:
required: false
description: '[State-based CSS filters](#how-to-use-state_filter)'
type: map
aspect_ratio:
required: false
description: "Forces the height of the image to be a ratio of the width. You may enter a value such as: `16x9`, `16:9`, `1.78`."
@ -62,7 +66,7 @@ tap_action:
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`more-info`"
navigation_path:
@ -70,6 +74,11 @@ tap_action:
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
@ -87,7 +96,7 @@ hold_action:
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`more-info`"
navigation_path:
@ -95,6 +104,11 @@ hold_action:
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
@ -107,6 +121,16 @@ hold_action:
default: none
{% endconfiguration %}
## How to use state_filter
Specify different [CSS filters](https://developer.mozilla.org/en-US/docs/Web/CSS/filter)
```yaml
state_filter:
"on": brightness(110%) saturate(1.2)
"off": brightness(50%) hue-rotate(45deg)
```
## Examples
Basic example:

View File

@ -46,6 +46,10 @@ state_image:
type: string
required: false
description: "`state: image-url`, check the example below."
state_filter:
required: false
description: '[State-based CSS filters](#how-to-use-state_filter)'
type: map
aspect_ratio:
required: false
description: "Forces the height of the image to be a ratio of the width. You may enter a value such as: `16x9`, `16:9`, `1.78`."
@ -61,7 +65,7 @@ tap_action:
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`more-info`"
navigation_path:
@ -69,6 +73,11 @@ tap_action:
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
@ -86,7 +95,7 @@ hold_action:
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`more-info`"
navigation_path:
@ -94,6 +103,11 @@ hold_action:
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
@ -119,8 +133,68 @@ icon:
required: false
description: Overwrites default icon.
type: string
tap_action:
required: false
description: Action to take on tap
type: map
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
type: string
default: "`more-info`"
navigation_path:
required: false
description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
service:
required: false
description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
hold_action:
required: false
description: Action to take on tap-and-hold
type: map
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
type: string
default: "`more-info`"
navigation_path:
required: false
description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
service:
required: false
description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
type: string
default: none
service_data:
required: false
description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
type: string
default: none
{% endconfiguration %}
## How to use state_filter
Specify different [CSS filters](https://developer.mozilla.org/en-US/docs/Web/CSS/filter)
```yaml
state_filter:
"on": brightness(110%) saturate(1.2)
"off": brightness(50%) hue-rotate(45deg)
```
## Examples
```yaml

View File

@ -27,7 +27,7 @@ tap_action:
keys:
action:
required: true
description: "Action to perform (`call-service`, `navigate`, `none`)"
description: "Action to perform (`call-service`, `navigate`, `url`, `none`)"
type: string
default: "`none`"
navigation_path:
@ -35,6 +35,11 @@ tap_action:
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
@ -52,7 +57,7 @@ hold_action:
keys:
action:
required: true
description: "Action to perform (`call-service`, `navigate`, `none`)"
description: "Action to perform (`call-service`, `navigate`, `url`, `none`)"
type: string
default: "`none`"
navigation_path:
@ -60,6 +65,11 @@ hold_action:
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
type: string
default: none
url_path:
required: false
description: "Path to navigate to (e.g. `https://www.home-assistant.io`) when `action` defined as `url`"
type: string
default: none
service:
required: false
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"

View File

@ -36,7 +36,7 @@ The new [image processing component][image] currently works with [number plates]
- Sensor: Support for [HydroQuebec][quebec] ([@titilambert])
- Sensor: Tracking the [ISS][iss] ([@HydrelioxGitHub])
- Sensor: [USPS][usps] deliveries tracking ([@happyleavesaoc])
- Sensor: USPS deliveries tracking ([@happyleavesaoc])
- Device tracker: New [ping-based][ping] tracker ([@michaelarnauts])
- TTS: Support for [Pico][pico] ([@doudz])
- Switch: [BeagleBone Black][beaglebone] GPIO are supported now ([@MatoKafkac])

View File

@ -58,7 +58,7 @@ Thanks to [@konikvranik] the [HDMI CEC][cec] integration got a huge update with
- Device tracker: [Sky hub][sky] support ([@alexmogavero])
- Support for [Lutron][lutron] RadioRA 2 ([@thecynic])
- TTS: Amazon [Polly TTS][polly] platform ([@robbiet480])
- Device tracker: Support for [Linksys][linksys] Access Points ([@lukas-hetzenecker])
- Device tracker: Support for Linksys Access Points ([@lukas-hetzenecker])
- Notify: Make calls with [Twilio][twilio] ([@fakezeta])
#### Improvements
@ -239,7 +239,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[skybeacon]: /integrations/skybeacon
[lutron]: /integrations/lutron/
[polly]: /integrations/amazon_polly
[linksys]: /integrations/linksys_ap
[emul-hue]: /integrations/emulated_hue/
[netatmo]: /integrations/netatmo/
[face]: /integrations/microsoft_face/

View File

@ -115,8 +115,8 @@ And a final shout out to [Pascal][@pvizeli]. He keeps improving the performance
- [Telegram] webhooks ([@scipioni])
- Added [Openhome][openhome] support ([@bazwilliams])
- [UPS][ups] sensor ([@happyleavesaoc])
- [FEDex][fedex] sensor ([@happyleavesaoc])
- UPS sensor ([@happyleavesaoc])
- FEDex sensor ([@happyleavesaoc])
- [Gstreamer][gstreamer] media player ([@happyleavesaoc])
- [iTach Remote][itach] Platform ([@alanfischer])
- [myq] cover component ([@arraylabs])
@ -287,7 +287,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[pushsafer]: /integrations/pushsafer
[openhome]: /integrations/openhome
[ups]: /integrations/ups
[fedex]: /integrations/fedex
[fido]: /integrations/fido
[gstreamer]: /integrations/gstreamer
[clementine]: /integrations/clementine

View File

@ -138,9 +138,9 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Replace 'vendor_id' with 'arch' (fixes #7003) ([@fabaff] - [#7023])
- more tests for slugify ([@micw] - [#7027])
- Additional ZWave coverage ([@armills] - [#7024]) ([zwave docs])
- bump ups version ([@happyleavesaoc] - [#7033]) ([sensor.ups docs])
- update usps version ([@happyleavesaoc] - [#7035]) ([sensor.usps docs])
- update fedex ([@happyleavesaoc] - [#7034]) ([sensor.fedex docs])
- bump ups version ([@happyleavesaoc] - [#7033])
- update usps version ([@happyleavesaoc] - [#7035])
- update fedex ([@happyleavesaoc] - [#7034])
- Google TTS can't read percent sign (#6971) ([@pezinek] - [#7030]) ([tts.google docs])
- Feature/min max improvements ([@micw] - [#6786]) (breaking change)
- Upgrade psutil to 5.2.2 ([@fabaff] - [#7037]) ([sensor.systemmonitor docs])
@ -416,6 +416,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@titilambert]: https://github.com/titilambert
[@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/
@ -458,7 +459,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[scene.lifx_cloud docs]: /integrations/lifx_cloud
[sensor.cpuspeed docs]: /integrations/cpuspeed
[sensor.crimereports docs]: /integrations/crimereports
[sensor.fedex docs]: /integrations/fedex
[sensor.fido docs]: /integrations/fido
[sensor.modbus docs]: /integrations/sensor.modbus/
[sensor.mvglive docs]: /integrations/mvglive
@ -467,8 +467,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[sensor.qnap docs]: /integrations/qnap
[sensor.speedtest docs]: /integrations/speedtestdotnet
[sensor.systemmonitor docs]: /integrations/systemmonitor
[sensor.ups docs]: /integrations/ups
[sensor.usps docs]: /integrations/usps#sensor
[sensor.vera docs]: /integrations/vera#sensor
[sun docs]: /integrations/sun/
[switch.tplink docs]: /integrations/tplink

View File

@ -115,7 +115,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- LIFX: avoid out-of-bounds hue aborting the colorloop effect ([@amelchio] - [#7495])
- Upgrade async_timeout to 1.2.1 ([@fabaff] - [#7490])
- Prevent printing of packets. ([@aequitas] - [#7492]) ([rflink docs])
- Upgrade beautifulsoup4 to 4.6.0 ([@fabaff] - [#7491]) ([device_tracker.linksys_ap docs]) ([sensor.scrape docs])
- Upgrade beautifulsoup4 to 4.6.0 ([@fabaff] - [#7491]) ([sensor.scrape docs])
- Switch onkyo to pypi ([@andrey-git] - [#7497]) ([media_player.onkyo docs])
- Fixed potential AttributeError when checking for deleted sources ([@scarface-4711] - [#7502]) ([media_player.denonavr docs])
- Refactor sun component for correctness ([@armills] - [#7295])
@ -340,6 +340,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[config.automation docs]: /docs/automation/editor/
[automation.event docs]: /docs/configuration/events/
[automation.state docs]: /docs/configuration/state_object/
[binary_sensor.mystrom docs]: /integrations/mystrom#binary-sensor
[binary_sensor.raspihats docs]: /integrations/raspihats#binary-sensor
[binary_sensor.rpi_pfio docs]: /integrations/rpi_pfio#binary-sensor
@ -353,7 +354,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[cover.lutron_caseta docs]: /integrations/lutron_caseta/
[datadog docs]: /integrations/datadog/
[device_tracker.automatic docs]: /integrations/automatic
[device_tracker.linksys_ap docs]: /integrations/linksys_ap
[device_tracker.unifi docs]: /integrations/unifi
[dweet docs]: /integrations/dweet/
[eight_sleep docs]: /integrations/eight_sleep/
@ -422,6 +422,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
[websocket_api docs]: /integrations/websocket_api/
[zwave docs]: /integrations/zwave/
[zwave.api docs]: /integrations/zwave/
[forum]: https://community.home-assistant.io/
[issue]: https://github.com/home-assistant/home-assistant/issues
[#7673]: https://github.com/home-assistant/home-assistant/pull/7673

View File

@ -32,7 +32,7 @@ It's time for 0.46! This release does not have too many new integrations, instea
## Breaking changes
- The USPS sensor entity names have changed as there are now two. One for packages and one for mail. Config will now also use `scan_interval` instead of `update_interval` ([@happyleavesaoc] - [#7655]) ([sensor.usps docs]) (breaking change)
- The USPS sensor entity names have changed as there are now two. One for packages and one for mail. Config will now also use `scan_interval` instead of `update_interval` ([@happyleavesaoc] - [#7655]) (breaking change)
- Automation state trigger: From/to checks will now ignore state changes that are just attribute changess ([@amelchio] - [#7651]) ([automation.state docs]) (breaking change)
- Redesign monitored variables for hp_ilo sensor. `monitored_variables` is now a list of `name` and `sensor_type` values ([@Juggels] - [#7534]) ([sensor.hp_ilo docs]) (breaking change)
@ -63,9 +63,9 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Align with OpenALPR platform for naming conf variables ([@fabaff] - [#7650]) ([image_processing.seven_segments docs])
- Added support to Amcrest camera to feed using RTSP via ffmpeg ([@tchellomello] - [#7646]) ([camera.amcrest docs]) ([sensor.amcrest docs])
- bump fedex version ([@happyleavesaoc] - [#7653]) ([sensor.fedex docs])
- bump fedex version ([@happyleavesaoc] - [#7653])
- bump ups version ([@happyleavesaoc] - [#7654])
- update usps ([@happyleavesaoc] - [#7655]) ([sensor.usps docs]) (breaking change)
- update usps ([@happyleavesaoc] - [#7655]) (breaking change)
- Final tweaks for Zwave panel ([@turbokongen] - [#7652]) ([zwave docs])
- Add network_key as a config option ([@robbiet480] - [#7637]) ([zwave docs])
- Bugfix #7586 ([@turbokongen] - [#7661]) ([lock.zwave docs])
@ -359,7 +359,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[sensor.amcrest docs]: /integrations/amcrest
[sensor.arlo docs]: /integrations/arlo#sensor
[sensor.dsmr docs]: /integrations/dsmr
[sensor.fedex docs]: /integrations/fedex
[sensor.history_stats docs]: /integrations/history_stats
[sensor.hp_ilo docs]: /integrations/hp_ilo
[sensor.influxdb docs]: /integrations/influxdb#sensor
@ -367,7 +366,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[sensor.snmp docs]: /integrations/snmp#sensor
[sensor.synologydsm docs]: /integrations/synologydsm
[sensor.time_date docs]: /integrations/time_date
[sensor.usps docs]: /integrations/usps#sensor
[switch.broadlink docs]: /integrations/broadlink#switch
[switch.rachio docs]: /integrations/rachio#switch
[switch.rflink docs]: /integrations/switch.rflink/

View File

@ -271,8 +271,8 @@ automation:
- Added 'all_plants' group and support for plant groups state. ([@aronsky] - [#8063]) ([group docs]) ([plant docs])
- Fix EntityComponent handle entities without a name ([@balloob] - [#8065])
- Update pyunifi component to use APIError passed from pyunifi 2.13. Better accommodate login failures with wrapper in pyunifi 2.13. ([@finish06] - [#7899]) ([device_tracker.unifi docs])
- bump usps version ([@happyleavesaoc] - [#8074]) ([sensor.usps docs])
- bump ups ([@happyleavesaoc] - [#8075]) ([sensor.ups docs])
- bump usps version ([@happyleavesaoc] - [#8074])
- bump ups ([@happyleavesaoc] - [#8075])
[#7152]: https://github.com/home-assistant/home-assistant/pull/7152
[#7318]: https://github.com/home-assistant/home-assistant/pull/7318
@ -538,8 +538,6 @@ automation:
[sensor.snmp docs]: /integrations/snmp#sensor
[sensor.statistics docs]: /integrations/statistics
[sensor.template docs]: /integrations/template
[sensor.ups docs]: /integrations/ups
[sensor.usps docs]: /integrations/usps#sensor
[sensor.waqi docs]: /integrations/waqi
[sensor.wunderground docs]: /integrations/wunderground
[sensor.yweather docs]: /integrations/yweather

View File

@ -131,8 +131,8 @@ light:
- Add initial support for Shiftr.io ([@fabaff] - [#7974]) ([shiftr docs]) (new-platform)
- Add option to set language of openweathermap sensor, and handle updating errors ([@azogue] - [#8046]) ([sensor.openweathermap docs])
- Bump pyEmby version to account for API changes ([@mezz64] - [#8070]) ([media_player.emby docs])
- bump ups ([@happyleavesaoc] - [#8075]) ([sensor.ups docs])
- bump usps version ([@happyleavesaoc] - [#8074]) ([sensor.usps docs])
- bump ups ([@happyleavesaoc] - [#8075])
- bump usps version ([@happyleavesaoc] - [#8074])
- Add to zwave services descriptions ([@andrey-git] - [#8072])
- Fix attribute entity ([@pvizeli] - [#8066]) (breaking change)
- Added 'all_plants' group and support for plant groups state. ([@aronsky] - [#8063]) ([group docs]) ([plant docs])
@ -496,8 +496,6 @@ light:
[sensor.openweathermap docs]: /integrations/openweathermap#sensor
[sensor.pi_hole docs]: /integrations/pi_hole
[sensor.upnp docs]: /integrations/upnp
[sensor.ups docs]: /integrations/ups
[sensor.usps docs]: /integrations/usps#sensor
[sensor.verisure docs]: /integrations/verisure
[sensor.wunderground docs]: /integrations/wunderground
[shiftr docs]: /integrations/shiftr/

View File

@ -40,7 +40,7 @@ script: !include scripts.yaml
- Add version sensor ([@fabaff] - [#8912]) ([sensor.version docs]) (new-platform)
- Nello.io lock support ([@pschmitt] - [#8957]) ([lock.nello docs]) (new-platform)
- Add HipChat notify service. ([@BioSehnsucht] - [#8918]) ([notify.hipchat docs]) (new-platform)
- Refactor USPS into component with Sensors+Camera ([@mezz64] - [#8679]) ([usps docs]) ([camera.usps docs]) ([sensor.usps docs]) (breaking change) (new-platform)
- Refactor USPS into component with Sensors+Camera ([@mezz64] - [#8679]) (breaking change) (new-platform)
- Adds London_air component ([@robmarkcole] - [#9020]) ([sensor.london_air docs]) (new-platform)
- Add Abode home security component ([@arsaboo] - [#9030]) ([abode docs]) ([alarm_control_panel.abode docs]) ([binary_sensor.abode docs]) (new-platform)
- Add support for Prowl notifications. ([@mbrrg] - [#9028]) ([notify.prowl docs]) (new-platform)
@ -80,7 +80,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
retain: true
```
- Refactor USPS into component with Sensors+Camera ([@mezz64] - [#8679]) ([usps docs]) ([camera.usps docs]) ([sensor.usps docs]) (breaking change) (new-platform)
- Refactor USPS into component with Sensors+Camera ([@mezz64] - [#8679]) (breaking change) (new-platform)
```yaml
usps:
@ -123,7 +123,7 @@ usps:
- Update ffmpeg to 1.7 to fix severals problems ([@pvizeli] - [#9029])
- Add state_with_unit property to state objects in templates ([@balloob] - [#9014])
- Fix Geizhals index issue when not 4 prices available ([@celeroll] - [#9035]) ([sensor.geizhals docs])
- Refactor USPS into component with Sensors+Camera ([@mezz64] - [#8679]) ([usps docs]) ([camera.usps docs]) ([sensor.usps docs]) (breaking change) (new-platform)
- Refactor USPS into component with Sensors+Camera ([@mezz64] - [#8679]) (breaking change) (new-platform)
- Set password after connecting. Fixes #8983 ([@StevenLooman] - [#9039]) ([media_player.mpd docs])
- Update iOS sensor (battery icon fix and format updates) ([@schmittx] - [#9032])
- Adds London_air component ([@robmarkcole] - [#9020]) ([sensor.london_air docs]) (new-platform)
@ -163,7 +163,7 @@ usps:
- Add worldtidesinfo sensor component ([@aetolus] - [#8860]) ([sensor.worldtidesinfo docs]) (new-platform)
- Support changing the bulb color for tplink smartbulbs, fixes #8766 ([@rytilahti] - [#8780]) ([light.tplink docs])
- bump snapcast version ([@happyleavesaoc] - [#9100]) ([media_player.snapcast docs])
- bump fedex version ([@happyleavesaoc] - [#9099]) ([sensor.fedex docs])
- bump fedex version ([@happyleavesaoc] - [#9099])
- Yeelight fix updates on hsv mode ([@rytilahti] - [#9093]) ([light.yeelight docs])
- Catch exceptions ([@fabaff] - [#9085]) ([notify.discord docs])
- Fix issue 8894 with uk_transport component if no next_buses or next_trains ([@robmarkcole] - [#9046]) ([sensor.uk_transport docs])
@ -310,7 +310,6 @@ usps:
[binary_sensor.abode docs]: /integrations/abode#binary-sensor
[binary_sensor.mysensors docs]: /integrations/binary_sensor.mysensors/
[binary_sensor.workday docs]: /integrations/workday
[camera.usps docs]: /integrations/usps#camera
[climate.mysensors docs]: /integrations/climate.mysensors/
[config docs]: /integrations/config/
[configurator docs]: /integrations/configurator/
@ -356,7 +355,6 @@ usps:
[sensor.buienradar docs]: /integrations/sensor.buienradar/
[sensor.cert_expiry docs]: /integrations/cert_expiry
[sensor.eliqonline docs]: /integrations/eliqonline
[sensor.fedex docs]: /integrations/fedex
[sensor.fitbit docs]: /integrations/fitbit
[sensor.fritzbox_callmonitor docs]: /integrations/fritzbox#sensor_callmonitor/
[sensor.geizhals docs]: /integrations/geizhals
@ -368,7 +366,6 @@ usps:
[sensor.snmp docs]: /integrations/snmp#sensor
[sensor.swiss_public_transport docs]: /integrations/swiss_public_transport
[sensor.uk_transport docs]: /integrations/uk_transport
[sensor.usps docs]: /integrations/usps#sensor
[sensor.version docs]: /integrations/version
[sensor.worldtidesinfo docs]: /integrations/worldtidesinfo
[switch.mqtt docs]: /integrations/switch.mqtt/

View File

@ -75,7 +75,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- flux led lib 0.20 ([@danielhiversen] - [#9533]) ([light.flux_led docs])
- Update AbodePy to 0.11.8 ([@MisterWil] - [#9537]) ([abode docs])
- Bump python_openzwave to 0.4.0.35 ([@arsaboo] - [#9542]) ([zwave docs])
- update usps ([@happyleavesaoc] - [#9540]) ([usps docs]) ([camera.usps docs]) ([sensor.usps docs])
- update usps ([@happyleavesaoc] - [#9540])
- Bugfix Homematic hub object ([@pvizeli] - [#9544]) ([homematic docs])
- Fix a bunch of typos ([@mika] - [#9545])
- Catch no longer existing process in systemmonitor ([@Tommatheussen] - [#9535]) ([sensor.systemmonitor docs])
@ -83,7 +83,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Add history_graph component ([@andrey-git] - [#9472]) (breaking change)
- GeoRSS sensor ([@exxamalte] - [#9331]) ([sensor.geo_rss_events docs]) (new-platform)
- Fixed bug with all switch devices being excluded ([@MisterWil] - [#9555]) ([switch.abode docs])
- fix usps? ([@happyleavesaoc] - [#9557]) ([usps docs]) ([sensor.usps docs])
- fix usps? ([@happyleavesaoc] - [#9557])
- Added support for ARM_NIGHT for manual_mqtt alarm ([@snjoetw] - [#9358]) ([alarm_control_panel.manual_mqtt docs])
- Various AirVisual bugfixes ([@bachya] - [#9554]) ([sensor.airvisual docs])
- Updated Arlo cameras with new attributes ([@bachya] - [#9565]) ([arlo docs]) ([camera.arlo docs])
@ -105,8 +105,8 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Upgrade Sphinx to 1.6.4 ([@fabaff] - [#9584])
- Bump pyatv to 0.3.5 ([@postlund] - [#9586]) ([apple_tv docs]) ([media_player.apple_tv docs])
- New Wink services. pair new device, rename, and delete, add new lock key code. Add water heater support ([@w1ll1am23] - [#9303]) ([wink docs]) ([binary_sensor.wink docs]) ([lock.wink docs]) (breaking change)
- Fixes UPS MyChoice exception ([@bachya] - [#9587]) ([sensor.ups docs])
- FedEx: Adds "packages" as a unit ([@bachya] - [#9588]) ([sensor.fedex docs])
- Fixes UPS MyChoice exception ([@bachya] - [#9587])
- FedEx: Adds "packages" as a unit ([@bachya] - [#9588])
- Cleanup entity & remove warning ([@pvizeli] - [#9606])
- Add OwnTracks over HTTP ([@balloob] - [#9582]) ([http docs]) ([device_tracker.owntracks docs]) ([device_tracker.owntracks_http docs]) (new-platform)
- upgrade python-ecobee-api ([@nkgilley] - [#9612]) ([ecobee docs])
@ -314,7 +314,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[binary_sensor.wink docs]: /integrations/wink#binary-sensor
[camera.arlo docs]: /integrations/arlo#camera
[camera.synology docs]: /integrations/synology
[camera.usps docs]: /integrations/usps#camera
[climate.ecobee docs]: /integrations/ecobee
[climate.mqtt docs]: /integrations/climate.mqtt/
[cover.mqtt docs]: /integrations/cover.mqtt/
@ -358,7 +357,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[sensor.arlo docs]: /integrations/arlo#sensor
[sensor.comed_hourly_pricing docs]: /integrations/comed_hourly_pricing
[sensor.dsmr docs]: /integrations/dsmr
[sensor.fedex docs]: /integrations/fedex
[sensor.geo_rss_events docs]: /integrations/geo_rss_events
[sensor.google_travel_time docs]: /integrations/google_travel_time
[sensor.imap docs]: /integrations/imap
@ -369,8 +367,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[sensor.systemmonitor docs]: /integrations/systemmonitor
[sensor.thethingsnetwork docs]: /integrations/thethingsnetwork#sensor
[sensor.tibber docs]: /integrations/tibber#sensor
[sensor.ups docs]: /integrations/ups
[sensor.usps docs]: /integrations/usps#sensor
[sensor.vera docs]: /integrations/vera#sensor
[sensor.wunderground docs]: /integrations/wunderground
[splunk docs]: /integrations/splunk/
@ -381,7 +377,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[thethingsnetwork docs]: /integrations/thethingsnetwork/
[tradfri docs]: /integrations/tradfri/
[upnp docs]: /integrations/upnp/
[usps docs]: /integrations/usps/
[vacuum.xiaomi docs]: /integrations/vacuum.xiaomi_miio/
[wink docs]: /integrations/wink/
[zwave docs]: /integrations/zwave/

View File

@ -73,7 +73,7 @@ Okay, one more highlight before we'll let you check out the changelog. Contribut
- Linode ([@ryanm101] - [#9936]) ([linode docs]) ([binary_sensor.linode docs]) (new-platform)
- Nederlandse spoorwegen ([@b10m] - [#10136]) ([sensor.nederlandse_spoorwegen docs]) (new-platform)
- added Yesss SMS platform ([@flowolf] - [#10177]) ([notify.yessssms docs]) (new-platform)
- Add Sytadin Traffic component ([@gautric] - [#9524]) ([sensor.sytadin docs]) (new-platform)
- Add Sytadin Traffic component ([@gautric] - [#9524]) (new-platform)
- Added new Clickatell SMS messaging Notify Platform ([@davlloyd] - [#9775]) ([notify.clickatell docs]) (new-platform)
- Add Random binary sensor ([@fabaff] - [#10164]) ([binary_sensor.random docs]) (new-platform)
- Add gc100 platforms and component ([@davegravy] - [#10159]) ([gc100 docs]) ([binary_sensor.gc100 docs]) ([switch.gc100 docs]) (new-platform)
@ -210,7 +210,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Added capability to pass a filename to the downloader component ([@tchellomello] - [#10059]) ([downloader docs])
- Limits of the favorite level updated. Values between 0 and 16 will be accepted. ([@syssi] - [#10186]) ([fan.xiaomi_miio docs])
- added Yesss SMS platform ([@flowolf] - [#10177]) ([notify.yessssms docs]) (new-platform)
- Add Sytadin Traffic component ([@gautric] - [#9524]) ([sensor.sytadin docs]) (new-platform)
- Add Sytadin Traffic component ([@gautric] - [#9524]) (new-platform)
- media_title property now returns current source ([@etsinko] - [#10120]) ([media_player.monoprice docs])
- Added new Clickatell SMS messaging Notify Platform ([@davlloyd] - [#9775]) ([notify.clickatell docs]) (new-platform)
- update boto3 to 1.4.7 and botocore to 1.7.34 ([@TopdRob] - [#10121]) (notify.aws_lambda docs) ([notify.aws_sns docs]) (notify.aws_sqs docs) ([tts.amazon_polly docs])
@ -236,7 +236,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Update services.yaml files ([@fabaff] - [#10229])
- Add priority attribute for hyperion ([@ImEmJay] - [#10102]) ([light.hyperion docs])
- OwnTracks work. Beacon logic and testcases ([@ehagan] - [#10183]) ([device_tracker.owntracks docs])
- Sytadin default value must be a list #10233 ([@gautric] - [#10234]) ([sensor.sytadin docs])
- Sytadin default value must be a list #10233 ([@gautric] - [#10234])
- Use theme color in loading screen. ([@andrey-git] - [#10248])
- Move constant to 'const.py' ([@fabaff] - [#10249]) ([sensor.hddtemp docs]) ([sensor.synologydsm docs])
- Add support for odhcpd DHCP server ([@chemicalstorm] - [#9858]) ([device_tracker.ubus docs])

View File

@ -61,7 +61,7 @@ If you follow our [twitter feed](https://twitter.com/home_assistant) then you ma
## Release 0.59.2 - December 6
- Require FF43 for latest js ([@andrey-git] - [#10941])
- Fix linksys_ap.py by inheriting DeviceScanner ([@mateuszdrab] - [#10947]) ([device_tracker.linksys_ap docs])
- Fix linksys_ap.py by inheriting DeviceScanner ([@mateuszdrab] - [#10947])
- Upgrade tellduslive library version (closes https://github.com/home-assistant/home-assistant/issues/10922) ([@molobrakos] - [#10950]) ([tellduslive docs])
- Allow chime to work for wink siren/chime ([@w1ll1am23] - [#10961]) ([wink docs])
- Reload closest store on api menu request ([@craigjmidwinter] - [#10962]) ([dominos docs])
@ -420,7 +420,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@molobrakos]: https://github.com/molobrakos
[@w1ll1am23]: https://github.com/w1ll1am23
[@craigjmidwinter]: https://github.com/craigjmidwinter
[device_tracker.linksys_ap docs]: /integrations/linksys_ap
[dominos docs]: /integrations/dominos/
[media_player.cast docs]: /integrations/cast
[tellduslive docs]: /integrations/tellduslive/

View File

@ -84,7 +84,7 @@ Major new integration by [@snjoetw]: August locks and door bells! Lock and unloc
- updated to bimmer_connected 0.4.1 ([@ChristianKuehnel] - [#12759]) ([bmw_connected_drive docs])
- Revert optimized logbook SQL ([@amelchio] - [#12762]) ([logbook docs])
- bump fedex version ([@happyleavesaoc] - [#12764]) ([sensor.fedex docs])
- bump fedex version ([@happyleavesaoc] - [#12764])
- Silence harmless sonos data structure warnings ([@amelchio] - [#12767]) ([media_player.sonos docs])
- Update samsungctl library to latest version ([@uchagani] - [#12769]) ([media_player.samsungtv docs])
- Fixed missing optional keyerror data_bits ([@basschipper] - [#12789]) ([binary_sensor.rfxtrx docs])
@ -128,7 +128,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Updated AirVisual unique IDs to play better with the entity registry. If AirVisual had been configured previously, new entries will be placed into the entity registry, causing there to be two of each sensor type defined. To address, simply alter the `entity_registry.yaml` as desired. ([@bachya] - [#12319]) ([sensor.airvisual docs]) (breaking change)
- Custom component devs only: voluptuous now requires default values for config keys to be valid values. ([@balloob] - [#12463]) (breaking change)
- Fixes `usps` platform. Dependency `myusps` now leverages Selenium webdriver to overcome login issues. This is a breaking change since the user must now have additional dependencies installed - either `google-chrome` and `chromedriver`, or `phantomjs`. There is a new config option `driver` that allows the user to specify their preference, though `phantomjs` is the default. Doc PR forthcoming that will outline choices and make suggestions based on user's OS.
([@happyleavesaoc] - [#12465]) ([usps docs]) (breaking change)
([@happyleavesaoc] - [#12465]) (breaking change)
- LimitlessLED has been converted to assumed state. Will no longer turn the lights off when restarting Home Assistant. Will no longer revert changes made by other controllers. ([@amelchio] - [#12475]) ([light.limitlessled docs]) (breaking change)
## All changes
@ -164,7 +164,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Use the speedometer icon in the fastdotcom sensor ([@d0ugal] - [#12348]) ([sensor.fastdotcom docs])
- Communication reduced. Setting brightness and/or color temperature will turn on the device. ([@syssi] - [#12343]) ([light.xiaomi_miio docs])
- Add New Sensor for ISP Start.ca ([@mikeodr] - [#12356]) ([sensor.startca docs]) (new-platform)
- bump fedex version ([@happyleavesaoc] - [#12362]) ([sensor.fedex docs])
- bump fedex version ([@happyleavesaoc] - [#12362])
- Upgrade alpha_vantage to 1.9.0 ([@fabaff] - [#12352]) ([sensor.alpha_vantage docs])
- Eq3btsmart more reliable ([@karlkar] - [#11555]) ([climate.eq3btsmart docs])
- Allow disabling entities in the registry ([@balloob] - [#12360])
@ -209,7 +209,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Added doorbird_last_motion to DoorBird camera platform ([@sjvc] - [#12457]) ([camera.doorbird docs])
- Fail gracefully with unreachable LaMetric ([@PhilRW] - [#12451]) ([notify.lametric docs])
- Enable compression when sending json to client ([@elupus] - [#11165]) ([http docs])
- bump usps version ([@happyleavesaoc] - [#12465]) ([usps docs]) (breaking change)
- bump usps version ([@happyleavesaoc] - [#12465]) (breaking change)
- Try deflaking recorder tests ([@balloob] - [#12492])
- Support for August doorbell ([@snjoetw] - [#11124]) ([august docs]) ([binary_sensor.august docs]) ([camera.august docs]) ([lock.august docs]) (new-platform)
- Avoid warnings when purging an empty database ([@amelchio] - [#12494])
@ -554,7 +554,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[sensor.buienradar docs]: /integrations/sensor.buienradar/
[sensor.deconz docs]: /integrations/deconz#sensor
[sensor.fastdotcom docs]: /integrations/fastdotcom
[sensor.fedex docs]: /integrations/fedex
[sensor.filesize docs]: /integrations/file#sensorsize/
[sensor.folder docs]: /integrations/folder
[sensor.knx docs]: /integrations/sensor.knx/
@ -578,7 +577,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[switch.xiaomi_miio docs]: /integrations/switch.xiaomi_miio/
[tahoma docs]: /integrations/tahoma/
[telegram_bot docs]: /integrations/telegram_bot/
[usps docs]: /integrations/usps/
[vacuum.xiaomi_miio docs]: /integrations/vacuum.xiaomi_miio/
[vera docs]: /integrations/vera/
[weather.buienradar docs]: /integrations/buienradar
@ -644,7 +642,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[media_player.plex docs]: /integrations/plex#media-player
[media_player.samsungtv docs]: /integrations/samsungtv
[media_player.sonos docs]: /integrations/sonos
[sensor.fedex docs]: /integrations/fedex
[sensor.pollen docs]: /integrations/iqvia
[#12810]: https://github.com/home-assistant/home-assistant/pull/12810
[#12837]: https://github.com/home-assistant/home-assistant/pull/12837

View File

@ -152,7 +152,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Upgrade youtube_dl to 2018.07.21 ([@fabaff] - [#15718]) ([media_extractor docs])
- Upgrade numpy to 1.15.0 ([@fabaff] - [#15722]) ([binary_sensor.trend docs]) ([image_processing.opencv docs])
- Upgrade spiderpy to 1.2.0 ([@peternijssen] - [#15729]) ([spider docs])
- Upgrade beautifulsoup4 to 4.6.1 ([@fabaff] - [#15727]) ([device_tracker docs]) ([sensor.geizhals docs]) ([sensor.scrape docs]) ([sensor.sytadin docs])
- Upgrade beautifulsoup4 to 4.6.1 ([@fabaff] - [#15727]) ([device_tracker docs]) ([sensor.geizhals docs]) ([sensor.scrape docs])
- Upgrade mutagen to 1.41.0 ([@fabaff] - [#15739]) ([tts docs])
- Upgrade sqlalchemy to 1.2.10 ([@fabaff] - [#15737]) ([sensor.sql docs])
- Upgrade voluptuous to 0.11.3 ([@fabaff] - [#15735])
@ -391,7 +391,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[sensor.scrape docs]: /integrations/scrape
[sensor.sql docs]: /integrations/sql
[sensor.strings.moon.json docs]: /integrations/sensor.strings.moon.json/
[sensor.sytadin docs]: /integrations/sytadin
[sensor.waze_travel_time docs]: /integrations/waze_travel_time
[sisyphus docs]: /integrations/sisyphus/
[smappee docs]: /integrations/smappee/

View File

@ -149,7 +149,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Eph ember support operation modes ([@ttroy50] - [#15820]) ([climate.ephember docs])
- Fixed race condition in Generic Thermostat ([@aronsky] - [#15784]) ([climate.generic_thermostat docs])
- Fix magic cube support of the Aqara LAN Protocol V2 ([@syssi] - [#15940]) ([binary_sensor.xiaomi_aqara docs])
- Upgrade beautifulsoup4 to 4.6.3 ([@fabaff] - [#15946]) ([device_tracker docs]) ([sensor.geizhals docs]) ([sensor.scrape docs]) ([sensor.sytadin docs])
- Upgrade beautifulsoup4 to 4.6.3 ([@fabaff] - [#15946]) ([device_tracker docs]) ([sensor.geizhals docs]) ([sensor.scrape docs])
- Allow wait template to run the remainder of the script ([@lhovo] - [#15836]) (breaking change)
- Add trusted networks auth provider ([@awarecan] - [#15812]) ([auth docs]) ([http docs]) ([websocket_api docs]) (breaking change)
- Add monitored conditions for Unifi device_tracker ([@cgarwood] - [#15888]) ([device_tracker docs])
@ -475,7 +475,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[sensor.scrape docs]: /integrations/scrape
[sensor.shodan docs]: /integrations/shodan
[sensor.systemmonitor docs]: /integrations/systemmonitor
[sensor.sytadin docs]: /integrations/sytadin
[sensor.worldtidesinfo docs]: /integrations/worldtidesinfo
[sensor.xiaomi_miio docs]: /integrations/sensor.xiaomi_miio/
[sonos docs]: /integrations/sonos/

View File

@ -45,7 +45,7 @@ Note, this release includes a migration to add an index to speed up the logbook
- Add support for 17track.net package sensors ([@bachya] - [#18038]) ([sensor.seventeentrack docs]) (new-platform)
- Add new launch sensor to keep track of space launches. ([@ludeeus] - [#18274]) ([sensor.launch_library docs]) (new-platform)
- W800rf32 ([@horga83] - [#17920]) ([w800rf32 docs]) ([binary_sensor.w800rf32 docs]) (new-platform)
- Srpenergy ([@briglx] - [#18036]) ([sensor.srp_energy docs]) (new-platform)
- Srpenergy ([@briglx] - [#18036]) (new-platform)
- Add support for sensors from Flu Near You ([@bachya] - [#18136]) ([sensor.flunearyou docs]) (new-platform)
- Add niko-home-control support ([@legovaer] - [#18019]) ([light.niko_home_control docs]) (new-platform)
- Readded climate.velbus ([@Cereal2nd] - [#18434]) ([velbus docs]) ([climate.velbus docs]) (new-platform)
@ -273,7 +273,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Doc fix: a circular dependency does not raise an error. ([@smurfix] - [#18298])
- Add new launch sensor to keep track of space launches. ([@ludeeus] - [#18274]) ([sensor.launch_library docs]) (new-platform)
- W800rf32 ([@horga83] - [#17920]) ([w800rf32 docs]) ([binary_sensor.w800rf32 docs]) (new-platform)
- Srpenergy ([@briglx] - [#18036]) ([sensor.srp_energy docs]) (new-platform)
- Srpenergy ([@briglx] - [#18036]) (new-platform)
- Restrict recorder query to include max age ([@ehendrix23] - [#18231]) ([sensor.statistics docs])
- Add support for sensors from Flu Near You ([@bachya] - [#18136]) ([sensor.flunearyou docs]) (new-platform)
- Rename sensor.launch to sensor.launch_library ([@ludeeus] - [#18337]) ([sensor.launch_library docs]) (beta fix)
@ -784,7 +784,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[sensor.season docs]: /integrations/season
[sensor.seventeentrack docs]: /integrations/seventeentrack
[sensor.sql docs]: /integrations/sql
[sensor.srp_energy docs]: /integrations/srp_energy
[sensor.statistics docs]: /integrations/statistics
[sensor.swiss_hydrological_data docs]: /integrations/swiss_hydrological_data
[sensor.tautulli docs]: /integrations/tautulli

View File

@ -315,7 +315,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Fix Prometheus casting issues ([@robbiet480] - [#22282]) ([prometheus docs])
- Update trait to support auto without ranges. ([@Swamp-Ig] - [#21847]) ([google_assistant docs])
- Sort code owners alphabetically ([@cgtobi] - [#22304])
- Update srpenergy library ([@robbiet480] - [#22307]) ([srp_energy docs])
- Update srpenergy library ([@robbiet480] - [#22307])
- Switch from using Google Maps API for elevation to Open Elevation API ([@robbiet480] - [#22306])
- Fix for embedded MQTT server configuration ([@robbiet480] - [#22305]) ([mqtt docs])
- Upgrade pylast to 3.1.0 ([@fabaff] - [#22302]) ([lastfm docs])
@ -827,7 +827,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[smartthings docs]: /integrations/smartthings/
[solaredge docs]: /integrations/solaredge/
[sql docs]: /integrations/sql/
[srp_energy docs]: /integrations/srp_energy/
[stream docs]: /integrations/stream/
[switch docs]: /integrations/switch/
[switchbot docs]: /integrations/switchbot/

View File

@ -345,7 +345,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
## All changes
- Fix AttributeError: 'NoneType' object has no attribute 'group' with sytadin component ([@foreign-sub] - [#24652]) ([sytadin docs])
- Fix AttributeError: 'NoneType' object has no attribute 'group' with sytadin component ([@foreign-sub] - [#24652])
- braviatv, nmap_tracker: use getmac for getting MAC addresses ([@scop] - [#24628]) ([braviatv docs]) ([braviatv docs]) ([braviatv docs]) ([nmap_tracker docs])
- Fix downloader_download_failed event not firing for HTTP response errors ([@sfjes] - [#24640]) ([downloader docs])
- Multiple devices support for opentherm_gw ([@mvn23] - [#22932]) ([opentherm_gw docs]) (breaking change)
@ -869,7 +869,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[switchmate docs]: /integrations/switchmate/
[syncthru docs]: /integrations/syncthru/
[systemmonitor docs]: /integrations/systemmonitor/
[sytadin docs]: /integrations/sytadin/
[tado docs]: /integrations/tado/
[tahoma docs]: /integrations/tahoma/
[template docs]: /integrations/template/

View File

@ -218,12 +218,12 @@ Experiencing issues introduced by this release? Please report them in our [issue
- **Deprecated**
Integrations which make use of web scraping and are pending for removal in Home Assistant 0.100.0 [ADR-004](https://github.com/home-assistant/architecture/blob/master/adr/0004-webscraping.md):
- **USPS** - ([@frenck] - [#25743]) ([usps docs])
- **SYTADIN** - ([@frenck] - [#25742]) ([sytadin docs])
- **UPS** - ([@frenck] - [#25746]) ([ups docs])
- **FEDEX** - ([@frenck] - [#25745]) ([fedex docs])
- **SRP Energy** - ([@frenck] - [#25754]) ([srp_energy docs])
- **Linksys AP** - ([@frenck] - [#25804]) ([linksys_ap docs])
- **USPS** - ([@frenck] - [#25743])
- **SYTADIN** - ([@frenck] - [#25742])
- **UPS** - ([@frenck] - [#25746])
- **FEDEX** - ([@frenck] - [#25745])
- **SRP Energy** - ([@frenck] - [#25754])
- **Linksys AP** - ([@frenck] - [#25804])
- **Ruter** - *Removed* - Ruter Labs which hosted the API has shut down the service. As an alternative, see the Entur public transport integration. - ([@ludeeus] - [#26041])
- **Googlehome** - *Removed* - In recent months this integration was broken when Google changed the port they serve this information on, in addition to requiring a token header in the request. That method requires the user to have a rooted android device, and even then then the "result" was not the best, since you often need to get that token. As an alternative to the device tracker, users can look into https://community.home-assistant.io/t/monitor-reliable-multi-user-distributed-bluetooth-occupancy-presence-detection/68505 - ([@ludeeus] - [#26035])
@ -347,15 +347,15 @@ anymore. - ([@abmantis] - [#25971])
- Implement "Aux Heat" support for Zwave Climate ([@eyager1] - [#25694]) ([zwave docs])
- Add test case to identify missing MQTT configuration abbreviations ([@emontnemery] - [#25616]) ([mqtt docs])
- Manufacturer specific channel for SmartThings. ([@Adminiuga] - [#25739]) ([zha docs])
- Deprecates usps integration (ADR-0004) ([@frenck] - [#25743]) ([usps docs]) (breaking change)
- Deprecates sytadin integration (ADR-0004) ([@frenck] - [#25742]) ([sytadin docs]) (breaking change)
- Deprecates ups integration (ADR-0004) ([@frenck] - [#25746]) ([ups docs]) (breaking change)
- Deprecates fedex integration (ADR-0004) ([@frenck] - [#25745]) ([fedex docs]) (breaking change)
- Deprecates srp_energy integration (ADR-0004) ([@frenck] - [#25754]) ([srp_energy docs]) (breaking change)
- Deprecates usps integration (ADR-0004) ([@frenck] - [#25743]) (breaking change)
- Deprecates sytadin integration (ADR-0004) ([@frenck] - [#25742]) (breaking change)
- Deprecates ups integration (ADR-0004) ([@frenck] - [#25746]) (breaking change)
- Deprecates fedex integration (ADR-0004) ([@frenck] - [#25745]) (breaking change)
- Deprecates srp_energy integration (ADR-0004) ([@frenck] - [#25754]) (breaking change)
- Updater component is always available and shows on/off depending on whether an update is available or not ([@Santobert] - [#25418]) ([updater docs]) (breaking change)
- Integration requirement check refactor ([@elupus] - [#25626])
- Add Mikrotik hub and rework device tracker ([@slackr31337] - [#25664]) ([mikrotik docs]) (breaking change)
- Deprecates linksys_ap integration (ADR-0004) ([@frenck] - [#25804]) ([linksys_ap docs]) (breaking change)
- Deprecates linksys_ap integration (ADR-0004) ([@frenck] - [#25804]) (breaking change)
- Fix Broadlink MP1 unavailable error ([@miroslawkrol] - [#25806]) ([broadlink docs])
- Add arcus trigonometry functions to templates ([@tomilehto] - [#25510])
- Add error handling to !include command in yaml ([@thomasloven] - [#25801])
@ -418,7 +418,7 @@ anymore. - ([@abmantis] - [#25971])
- Fix bmw_connected_drive and eq3btsmart components by updating their dependencies ([@OliverRepo] - [#26012]) ([bmw_connected_drive docs]) ([eq3btsmart docs])
- Upgrade luftdaten to 0.6.3 ([@fabaff] - [#26009]) ([luftdaten docs])
- Upgrade pysnmp to 4.4.11 ([@fabaff] - [#26010]) ([snmp docs])
- Upgrade beautifulsoup4 to 4.8.0 ([@fabaff] - [#26006]) ([linksys_ap docs]) ([scrape docs]) ([sytadin docs])
- Upgrade beautifulsoup4 to 4.8.0 ([@fabaff] - [#26006]) ([scrape docs])
- Allow entities to indicate they should be disabled by default ([@balloob] - [#26011])
- Hue tweak registered device type + discovery exception ([@balloob] - [#25977]) ([hue docs])
- Fix config entry has options check ([@balloob] - [#25976]) ([config docs])
@ -799,7 +799,6 @@ anymore. - ([@abmantis] - [#25971])
[eq3btsmart docs]: /integrations/eq3btsmart/
[essent docs]: /integrations/essent/
[evohome docs]: /integrations/evohome/
[fedex docs]: /integrations/fedex/
[filter docs]: /integrations/filter/
[fritz docs]: /integrations/fritz/
[fronius docs]: /integrations/fronius/
@ -820,7 +819,6 @@ anymore. - ([@abmantis] - [#25971])
[kodi docs]: /integrations/kodi/
[lacrosse docs]: /integrations/lacrosse/
[life360 docs]: /integrations/life360/
[linksys_ap docs]: /integrations/linksys_ap/
[luci docs]: /integrations/luci/
[luftdaten docs]: /integrations/luftdaten/
[lutron docs]: /integrations/lutron/
@ -879,8 +877,6 @@ anymore. - ([@abmantis] - [#25971])
[unifi docs]: /integrations/unifi/
[updater docs]: /integrations/updater/
[upnp docs]: /integrations/upnp/
[ups docs]: /integrations/ups/
[usps docs]: /integrations/usps/
[vacuum docs]: /integrations/vacuum/
[velbus docs]: /integrations/velbus/
[vera docs]: /integrations/vera/

View File

@ -0,0 +1,960 @@
---
layout: post
title: "0.100: Better Plex, Bye JSON, HERE Travel time."
description: "A lot of frontend work, performance tweaks and more device automations."
date: 2019-10-10 01:05:02
date_formatted: "October 10, 2019"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Release-Notes
og_image: /images/blog/2019-09-0.100/components.png
---
<a href='/integrations/#version/0.100'><img src='/images/blog/2019-10-0.100/components.png' style='border: 0;box-shadow: none;'></a>
Welcome to the release notes of yet another wonderful release! No, we're not going for 1.0, we're doing 0.100! We feel like we're not ready yet with our goals for 1.0, but we're making progress every day. For a sneak peak of what we're thinking about, check our blog [Simple mode in Home Assistant 1.0](https://developers.home-assistant.io/blog/2019/10/05/simple-mode.html).
## Hacktoberfest
It is Hacktoberfest. This means that we're spending the month celebrating contributing to open source. If you make 4 pull requests this month, you get a free Hacktoberfest t-shirt! More info and what to work on, check [our Hacktoberfest blog post](https://developers.home-assistant.io/blog/2019/09/27/hacktoberfest.html).
Average contributions per day have doubled for the month of October. There are now on average 40 contributions coming in each day. Breakdown is ~50% Home Assistant backend, ~37% documentation and ~13% the frontend. Most of these contributions you'll see in the next release!
<p class='img'>
<img src='/images/blog/2019-10-0.100/hacktoberfest.png' alt='Graph of 420 PRs that got opened and merged in the last 14 days.'></a>
Last 14 days of pull pequest throughput in the Home Assistant organization. (<a href="https://pullreminders.com/installs/13844975/pr-throughput?d=14d">source</a>)
</p>
## State of the Union 2019
We're going to have another State of the Union! It will be held at November 13, in Amsterdam. Like last year, it will be hosted by our friends at ING. I'm looking forward to talk about all the great things that are happening in Home Assistant land. We had 150 tickets available when we announced it on social media, and they were all gone in less than 24 hours!
We're going to make sure that there will be a live stream available. We'll announce that in time via the blog and social media. Some people are talking about hosting viewing parties across the globe. Keep an eye out on [the social category on the forums](https://community.home-assistant.io/c/social) for announcements. This would also be the place to announce if you are planning on hosting one.
## Plex
[@jjlawren] has been on fire with the Plex integration. You will now be able to link your account via the official Plex account link feature.
<p class='img'>
<img src='/images/blog/2019-10-0.100/plex.png' alt='Screenshot of the Plex user interface asking the user if they want to link with Home Assistant.'></a>
Screenshot of the Plex user interface asking the user if they want to link with Home Assistant.
</p>
## Lovelace
[@iantrich](https://github.com/iantrich) fire has not been put out yet. This version he has also added many new functions to Lovelace! Check the [Lovelace changelog](https://www.home-assistant.io/lovelace/changelog/) for all changes. Some hightlights:
- There are a lot more option for state filtering
- We have a bunch of new UI editors
- A new action `url` to link to external sites
- Config panel: Disabled entities are now hidden by default.
## Device automations
[@emontnemery] has been hard at work at further expanding device automations aided by [@dmulcahey] and [@Kane610]. This release includes improved support for Zigbee (ZHA) devices, sensors, binary sensor, switch and Deconz. One neat new improvement is the addition of a "for" option. This allows you to specify triggers for when a certain device has been on for a period of time.
<p class='img'>
<img src='/images/blog/2019-10-0.100/device-trigger-sensor.png' alt='Screenshot of a device trigger for a temperature sensor.'></a>
Screenshot of a device trigger for a temperature sensor.
</p>
## Automation editor
[@emontnemery](https://github.com/emontnemery) has added a bunch of functions to the automation editor, you can now use `and` and `or` conditions, and give your automation a description so you know why you did what you did.
<p class='img'>
<img src='/images/blog/2019-10-0.100/condition-and.png' alt='Screenshot of an and-condition in the automation editor.'></a>
Screenshot of an and-condition in the automation editor.
</p>
## Devices
Device automations are now available on the experimental device page that we introduced in the last release. You can now see all the triggers, conditions and actions the device supports. Clicking on it will open the automation editor with the automation filled in, ready to edit.
<p class='img'>
<img src='/images/blog/2019-10-0.100/action-trigger.png' alt='Screenshot of a card showing device triggers to create automations from.'></a>
</p>
We also added the entity registry, so you can change all the settings of the devices entities in one place.
And, bonus, when you rename a device on the device page, it will now also rename the entities of that device if they contain the device name. When you are in advanced mode, it can also rename the entity id's for you.
## Goodbye JSON 👋
On the backend we have been using YAML for a long time, but on the frontend, we still used JSON for a lot of things. JSON is harder to write than YAML so we have aligned that. All data inputs on the frontend now accept YAML. You can still use JSON, as JSON is valid YAML.
This includes:
- The automation editor
- The script editor
- Services data in dev tools
- States in dev tools
- Events in dev tools
<p class='img'>
<img src='/images/blog/2019-10-0.100/yaml.png' alt='Screenshot of a service action in the automation editor using YAML.'></a>
Screenshot of a service action in the automation editor using YAML.
</p>
## Thank You, @Amelchio
Core developer [@amelchio] is taking a break from working on Home Assistant. Amelchio has been a contributing member of the Home Assistant community for 2.5 years in which he made a grand total of 275 pull requests! Amelchio has worked on improving database performance and under his wing the Sonos, LIFX and Netgear LTE integrations flourished. He is an example community member, always available in the chat to help other people contribute to Home Assistant.
Thanks Anders, we're going to miss you! ❤️
## In other news
Hans Oischinger showcased how he can steer his vacuum cleaner to specific rooms in his house via his floorplan. Besides this tweet, he also wrote [a great blog about it](https://medium.com/@hans.oischinger/zoned-cleanup-with-live-map-922240b4cf8c).
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Freed my vacuum robot from the cloud with <a href="https://t.co/tirC2vcsqK">https://t.co/tirC2vcsqK</a><br>This unlocked some new functionality for my vacuum:<br>Configure and start zoned cleanup in <a href="https://twitter.com/home_assistant?ref_src=twsrc%5Etfw">@home_assistant</a> with live map overlayed on the floorplan <a href="https://t.co/jtPZHk2xeT">pic.twitter.com/jtPZHk2xeT</a></p>&mdash; Hans Oischinger (@oischinger) <a href="https://twitter.com/oischinger/status/1178254181221769216?ref_src=twsrc%5Etfw">September 29, 2019</a>
</blockquote>
To improve discovery, we're collecting discovery info of devices and services. Please help us gather [zeroconf discovery info](https://github.com/home-assistant/home-assistant/issues/27371) and [HomeKit discovery info](https://github.com/home-assistant/home-assistant/issues/27292).
As always, this release of Home Assistant is accompanied with a new release of the [Home Assistant Podcast](https://hasspodcast.io/):
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Time for another <a href="https://twitter.com/hashtag/smarthome?src=hash&amp;ref_src=twsrc%5Etfw">#smarthome</a> <a href="https://twitter.com/hashtag/Podcast?src=hash&amp;ref_src=twsrc%5Etfw">#Podcast</a><br><br>This week we&#39;re talking <a href="https://twitter.com/home_assistant?ref_src=twsrc%5Etfw">@home_assistant</a> version 1...hundred, <a href="https://twitter.com/hacktoberfest?ref_src=twsrc%5Etfw">@hacktoberfest</a> and catch up with 🇦🇺 Tony about his <a href="https://twitter.com/hashtag/homeautomation?src=hash&amp;ref_src=twsrc%5Etfw">#homeautomation</a> journey with Home Assistant, or maybe it should just be <a href="https://twitter.com/NodeRED?ref_src=twsrc%5Etfw">@NodeRED</a> 🤷‍♂️<a href="https://t.co/DUtNZTHOAA">https://t.co/DUtNZTHOAA</a></p>&mdash; Phil Hawthorne (@philhawthorne) <a href="https://twitter.com/philhawthorne/status/1182055672638267398?ref_src=twsrc%5Etfw">October 9, 2019</a>
</blockquote>
## New Integrations
- Add support for DOODS Image Processing ([@snowzach] - [#26208]) ([doods docs]) (new-integration)
- Izone component ([@Swamp-Ig] - [#24550]) ([izone docs]) (new-integration)
- Add transport data from maps.yandex.ru api ([@rishatik92] - [#26252]) ([yandex_transport docs]) (new-integration)
- Add Kaiterra integration ([@Michsior14] - [#26661]) ([kaiterra docs]) (new-integration)
- Add Ombi integration ([@larssont] - [#26755]) ([ombi docs]) (new-integration)
- Add here_travel_time ([@eifinger] - [#24603]) ([here_travel_time docs]) (new-integration)
- Add support for SOMA Smartshades devices ([@ratsept] - [#26226]) ([soma docs]) (new-integration)
- Add saj component ([@fredericvl] - [#26902]) ([saj docs]) (new-integration)
## New Platforms
- Add iaqualink binary sensor and unique_id ([@flz] - [#26616]) ([iaqualink docs]) (new-platform)
- Add basic support for IKEA Fyrtur blinds ([@ggravlingen] - [#26659]) ([tradfri docs]) (new-platform)
- Centralize rainbird config and add binary sensor platform ([@konikvranik] - [#26393]) ([rainbird docs]) (breaking change) (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).
## Reporting Issues
Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template.
<!--more-->
## Breaking Changes
- **Removed** - The following integrations which were marked in .98 for pending removal have now been removed (ADR-0004):
- **UPS** - ([@frenck] - [#26824])
- **USPS** - ([@frenck] - [#26823])
- **Sytadin** - ([@frenck] - [#26819])
- **SRP Energy** - ([@frenck] - [#26826])
- **Fedex** - ([@frenck] - [#26822])
- **Linksys AP** - ([@frenck] - [#26847])
- **NZBGet** - The integration has been changed to support multiple platforms and future events, and common code has been centralized to the component. The configuration has moved from the sensor platform to the `nzbget` key in configuration.yaml, and the `monitored_variables` option has been removed. Users need to update their configuration. - ([@chriscla] - [#26462]) ([nzbget docs])
New example configuration entry:
```yaml
nzbget:
host: 192.168.1.1
ssl: false
```
- **SpaceAPI** - Values that were not compliant with the SpaceAPI specification were changed.
- `contact / mailing_list` has changed to `contact / ml`, to migrate change the `mailing_list` key to `ml`
- `location / address` is no longer required but is optional as the latitude and longitude properties of the location are added automatically from the HA config). There is no need to change anything. - ([@Bouni] - [#26453]) ([spaceapi docs])
- **Linky** - Linky sensors have been grouped to one Linky device. Users will need to remove and re-add the Linky integration to clear the device registry. - ([@piitaya] - [#26738]) ([linky docs])
- **Elv** - ELV/PCA is now its own integration. Existing configuration should be removed and replaced. Optionally the port for the serial interface can be specified (default is: /dev/ttyUSB0). - ([@majuss] - [#26552]) ([elv docs])
Example configuration entry:
```yaml
elv:
device: "/dev/ttyUSB0"
```
- **Automation** - Custom component developers who started playing with device automations only: we have restructured how integrations can expose their device triggers/conditions/actions. Instead of 1 platform `device_automation.py` it's now `device_action.py`, `device_trigger.py`, `device_condition.py`.
The method to attach a device trigger has been updated from `async_trigger` to `async_attach_trigger` to better reflect what is going on. - ([@balloob] - [#26880]) ([automation docs]) ([binary_sensor docs]) ([deconz docs]) ([device_automation docs]) ([light docs]) ([switch docs]) ([zha docs])
- **Ecobee** - Ecobee will now be set up via config flow. Existing users will have their config imported from ecobee.conf via an import flow so it shouldn't break their experience. Users configuring via configuration.yaml will have their api key and options imported into the flow but will still need to finish authorization via the flow (instead of the configurator component as previously).
The configuration parameter `hold_temp` has been removed, as it was not being used in the climate platform and had no effect on whether the temperature was held indefinitely or not. Users will need to remove the parameter `hold_temp` from configuration.yaml.
Ecobee-specific services will now be registered under the ecobee domain rather than the climate domain, and service names will not include the prefix "ecobee\_" (e.g. the service "climate.ecobee_resume_program" will become "ecobee.resume_program"). - ([@marthoc] - [#26634]) ([ecobee docs])
- **Transmission** - The Transmission integration can now be configured through a config flow via Integrations in the GUI. Once configured all sensors and switches will be created and available for the user.
`monitored_conditions` has been removed so existing users need to update their configuration in configuration.yaml and remove monitored conditions. The existing configuration will be imported as an entry under Integrations. - ([@engrbm87] - [#26434]) ([transmission docs])
Example configuration entry:
```yaml
transmission:
host: 192.168.1.1
```
- **Rainbird** - Rainbird is now its own platform. The configuration of rainbird switches has been moved under `zones:` as part of the `rainbird:` integration. - ([@konikvranik] - [#26393]) ([rainbird docs])
Example configuration entry:
```yaml
rainbird:
host: IP_ADDRESS_OF_MODULE
password: YOUR_PASSWORD
trigger_time: 6
zones:
1:
trigger_time: 6
```
- **Incomfort** - Device state attributes that were causing pointless state changes have been removed:
- `"rf_message_rssi` signal strength (between gateway & boiler), changes almost every scan_interval
- `nodenr` unknown, is static
- `rfstatus_cntr` unknown, changes
This is not likely to be considered a breaking change by users. - ([@zxdavb] - [#26802]) ([incomfort docs])
- **Evohome** - Device state attributes keys have been changed to snake_case and, since this a breaking change, the opportunity was taken to revise/simplify the entire device state attributes schema.
Evohome is a complicated integration, has had major changes in recent times, and is not yet mature - these changes address some bugs and related architectural issues:
- Modify behavior of set_temperature to mirror that of the vendor's UI (e.g. any target temp changes until next setpoint, unless explicitly set otherwise)
- Setpoint datetimes are now correctly converted to local/aware isoformat (internally, and for logging/state attributes)
- Use snake_case for device state attributes
- Add a unique_id for each entity (systemId, zoneID, dhwId)
- Refactoring - remove API wrappers (no longer using private methods)
- Add away mode for DHW (set to permanent off or Auto, depending)([@zxdavb] - [#26810]) ([evohome docs])
- **OpenTherm** - Move climate entity state to hvac_action attribute to comply with climate 1.0. May break e.g. automations. - ([@mvn23] - [#25931]) ([opentherm_gw docs])
- **Genius Hub** - Users connecting to a Hub via the v1 API will need to specify a valid MAC address for the hub (see example YAML, below). Those using the v3 API will be unaffected.
This change is in preperation for for further changes, so the geniushub entities can be given more appropriate `entity_ids`.
Some Sensor entities fro GeniusHub Issues have been renamed, and so will get a new entity ID:
- sensor.errors to sensor.geniushub_errors
- sensor.warnings to sensor.geniushub_warnings
- sensor.information to sensor.geniushub_informationeniushub and bump client to v0.6.26 - ([@zxdavb] - [#26640]) ([geniushub docs])
Example configuration entry:
```yaml
geniushub:
token: JqVFd0UUEi...
mac: 18:CC:23:12:34:56
```
## Beta Fixes
- Only generate device trigger for sensor with unit ([@emontnemery] - [#27152]) ([sensor docs]) (beta fix)
- Add above and below to sensor trigger extra_fields ([@emontnemery] - [#27160]) ([sensor docs]) (beta fix)
- Update connect-box to fix issue with attrs ([@pvizeli] - [#27194]) ([upc_connect docs]) (beta fix)
- Fix validation when automation is saved from frontend ([@emontnemery] - [#27195]) ([automation docs]) (beta fix)
- Fix ecobee binary sensor and sensor unique ids ([@marthoc] - [#27208]) ([ecobee docs]) (beta fix)
- Bump adb-shell to 0.0.4; bump androidtv to 0.0.30 ([@JeffLIrion] - [#27224]) ([androidtv docs]) (beta fix)
- Fix closed status for non horizontal awnings. ([@psicot] - [#26840]) ([tahoma docs]) (beta fix)
- Fix update on cert_expiry startup ([@jjlawren] - [#27137]) ([cert_expiry docs]) (beta fix)
- Fix onvif PTZ service freeze ([@skgsergio] - [#27250]) ([onvif docs]) (beta fix)
- Fix the todoist integration ([@boralyl] - [#27273]) ([todoist docs]) (beta fix)
- Fix Plex media_player.play_media service ([@jjlawren] - [#27278]) ([plex docs]) (beta fix)
- Remove manual config flow step ([@jjlawren] - [#27291]) ([plex docs]) (beta fix)
- Improve speed websocket sends messages ([@balloob] - [#27295]) ([websocket_api docs]) (beta fix)
- Google: Report all states on activating report state ([@balloob] - [#27312]) ([google_assistant docs]) (beta fix)
- Fix single Plex server case ([@jjlawren] - [#27326]) ([plex docs]) (beta fix)
- Updated frontend to 20191002.1 ([@bramkragten] - [#27329]) ([frontend docs]) (beta fix)
- Fix translations for binary_sensor triggers ([@emontnemery] - [#27330]) ([binary_sensor docs]) (beta fix)
- Fix connection issues with withings API by switching to a maintained codebase ([@vangorra] - [#27310]) ([withings docs]) (beta fix)
- Update zigpy-zigate to 0.4.1 ([@doudz] - [#27345]) ([zha docs]) (beta fix)
- Updated frontend to 20191002.2 ([@bramkragten] - [#27370]) ([frontend docs]) (beta fix)
## All changes
- Add support for DOODS Image Processing ([@snowzach] - [#26208]) ([doods docs]) (new-integration)
- Bump zigate to 0.3.0 ([@doudz] - [#26586]) ([zha docs])
- Upgrade youtube_dl to 2019.09.12.1 ([@BKPepe] - [#26593]) ([media_extractor docs])
- Improve bluetooth tracker device code ([@pgilad] - [#26067]) ([bluetooth_tracker docs])
- Disable Watson TTS Telemetry ([@poofyteddy] - [#26253]) ([watson_tts docs])
- Fix Typo ([@SNoof85] - [#26612]) ([cert_expiry docs])
- Refactor Bluetooth Tracker to async ([@pgilad] - [#26614]) ([bluetooth_tracker docs])
- deCONZ - create deconz_events through sensor platform ([@Kane610] - [#26592]) ([deconz docs])
- zha ZCL color loop effect ([@amigan] - [#26549]) ([zha docs])
- Add iaqualink binary sensor and unique_id ([@flz] - [#26616]) ([iaqualink docs]) (new-platform)
- Add group attribute to Homematic IP Cloud ([@SukramJ] - [#26618]) ([homematicip_cloud docs])
- Move deCONZ services to their own file ([@Kane610] - [#26645]) ([deconz docs])
- Add built in weather to Homematic IP Cloud ([@SukramJ] - [#26642]) ([homematicip_cloud docs])
- deCONZ - battery sensor instead of battery attribute ([@Kane610] - [#26591]) ([deconz docs])
- deCONZ - Remove mechanisms to import a configuration from configuration.yaml ([@Kane610] - [#26648]) ([deconz docs])
- Refactor nzbget to support future platform changes ([@chriscla] - [#26462]) ([nzbget docs]) (breaking change)
- Fix Environment Canada weather forecast, retain icon_code sensor ([@michaeldavie] - [#26646]) ([environment_canada docs])
- Emulate color temperature for non-ct lights in light groups ([@bryanyork] - [#23495]) ([google_assistant docs]) ([group docs])
- Use pynzbgetapi exceptions consistently ([@chriscla] - [#26667]) ([nzbget docs])
- deCONZ - Improve service tests ([@Kane610] - [#26663]) ([deconz docs])
- zha: fix 0 second transitions being ignored. ([@abmantis] - [#26654]) ([zha docs])
- pytfiac version bump to 0.4 ([@fredrike] - [#26669]) ([tfiac docs])
- Switch py_nextbus to py_nextbusnext ([@ViViDboarder] - [#26681]) ([nextbus docs])
- Disconnect velux on hass stop ([@gibman] - [#26266]) ([velux docs])
- Improve Envoy detection and support multiple Envoys ([@jesserizzo] - [#26665]) ([enphase_envoy docs])
- Fix volumio set shuffle ([@zewelor] - [#26660]) ([volumio docs])
- Fix mysensors validation for composite entities ([@MartinHjelmare] - [#26666]) ([mysensors docs])
- Add support for automation description ([@emontnemery] - [#26662]) ([automation docs]) ([config docs])
- Add alternative name for Tibber sensors ([@Danielhiversen] - [#26685]) ([tibber docs])
- deCONZ improve light tests ([@Kane610] - [#26697]) ([deconz docs])
- Hide "PTZ is not available on this camera" warning ([@definitio] - [#26649]) ([onvif docs])
- deCONZ rewrite sensor tests ([@Kane610] - [#26679]) ([deconz docs])
- Fix torque degree char ([@roblandry] - [#26183]) ([torque docs])
- Change datetime.now() to dt_util.now() ([@tsvi] - [#26582])
- Add additional needles to glances cpu_temp attribute ([@shutupflanders] - [#22311]) ([glances docs])
- Move alexa integration to use dt_util ([@tsvi] - [#26723]) ([alexa docs])
- Bumps pytest to 5.1.2 ([@frenck] - [#26718])
- Bumps aiohttp to 3.6.0 ([@frenck] - [#26728])
- Bumps pre-commit to 1.18.3 ([@frenck] - [#26717])
- Update Solax Library to 0.2.2 ([@squishykid] - [#26705]) ([solax docs])
- Bump aiohttp to 3.6.1 ([@frenck] - [#26739])
- Add Plex config flow support ([@jjlawren] - [#26548]) ([plex docs])
- Bump restrictedpython to 5.0 ([@frenck] - [#26741])
- Izone component ([@Swamp-Ig] - [#24550]) ([izone docs]) (new-integration)
- Bump influxdb to 5.2.3 ([@frenck] - [#26743]) ([influxdb docs])
- Update codeowners ([@amelchio] - [#26733]) ([lifx docs]) ([lifx_cloud docs]) ([netgear_lte docs]) ([sonos docs])
- Add transport data from maps.yandex.ru api ([@rishatik92] - [#26252]) ([yandex_transport docs]) (new-integration)
- deCONZ improve gateway tests ([@Kane610] - [#26709]) ([deconz docs])
- Revert "Add transport data from maps.yandex.ru api (#26252)" ([@pvizeli] - [#26762]) ([yandex_transport docs])
- Bump openwrt-luci-rpc to version 1.1.1 ([@flowolf] - [#26759]) ([luci docs])
- Type hint additions ([@scop] - [#26765]) ([automation docs]) ([cover docs]) ([frontend docs]) ([http docs]) ([media_player docs]) ([switch docs])
- Add transport data from maps.yandex.ru api ([@rishatik92] - [#26766]) ([yandex_transport docs])
- ZHA siren and warning device support ([@dmulcahey] - [#26046]) ([zha docs])
- Bump aiowwlln to 2.0.2 ([@bachya] - [#26769]) ([wwlln docs])
- Bump simplisafe-python to 5.0.1 ([@bachya] - [#26775]) ([simplisafe docs])
- Add integration scaffolding script ([@balloob] - [#26777])
- Bump HAP-python to 2.6.0 for homekit ([@Jc2k] - [#26783]) ([homekit docs])
- Bump pynws version to 0.8.1 ([@MatthewFlamm] - [#26770]) ([nws docs])
- Add optimizer data to solaredge_local ([@scheric] - [#26708]) ([solaredge_local docs])
- Mqtt binary sensor expire after ([@KiLLeRRaT] - [#26058]) ([mqtt docs])
- Upgrade importlib-metadata to 0.23 ([@fabaff] - [#26787])
- Upgrade python-whois to 0.7.2 ([@fabaff] - [#26788]) ([whois docs])
- Fix doods missing detector name kwarg ([@snowzach] - [#26784]) ([doods docs])
- Add myself as a pi_hole codeowner ([@johnluetke] - [#26796]) ([pi_hole docs])
- Fix spaceapi ([@Bouni] - [#26453]) ([spaceapi docs]) (breaking change)
- Update light.py ([@CQoute] - [#26703]) ([esphome docs])
- Bump hbmqtt to 0.9.5 ([@frenck] - [#26804]) ([mqtt docs])
- Bump python-slugify to 3.0.4 ([@frenck] - [#26801])
- Bump pytest to 5.1.3 ([@frenck] - [#26794])
- Bump iperf3 to 0.1.11 ([@frenck] - [#26795]) ([iperf3 docs])
- Bump shodan to 1.17.0 ([@frenck] - [#26797]) ([shodan docs])
- Bump request_mock to 1.7.0 ([@frenck] - [#26799])
- Bump pylutron to 0.2.5 ([@thecynic] - [#26815])
- Upgrade sendgrid to 6.1.0 ([@fabaff] - [#26809]) ([sendgrid docs])
- Exempt 'Help wanted' issue from stale bot ([@frenck] - [#26829])
- Add device automation support to binary_sensor entities ([@emontnemery] - [#26643]) ([binary_sensor docs])
- Update Vivotek camera component ([@HarlemSquirrel] - [#26754]) ([vivotek docs])
- Add basic support for IKEA Fyrtur blinds ([@ggravlingen] - [#26659]) ([tradfri docs]) (new-platform)
- Unload Plex config entries ([@jjlawren] - [#26771]) ([plex docs])
- Add Kaiterra integration ([@Michsior14] - [#26661]) ([kaiterra docs]) (new-integration)
- Add manual step to Plex config flow ([@jjlawren] - [#26773]) ([plex docs])
- Add Ombi integration ([@larssont] - [#26755]) ([ombi docs]) (new-integration)
- Prevent Wemo doing I/O in event loop ([@balloob] - [#26835]) ([wemo docs])
- Split scaffolding script ([@balloob] - [#26832])
- Remove deprecated ups integration (ADR-0004) ([@frenck] - [#26824]) (breaking change)
- Remove deprecated usps integration (ADR-0004) ([@frenck] - [#26823]) (breaking change)
- Remove deprecated sytadin integration (ADR-0004) ([@frenck] - [#26819]) (breaking change)
- Add here_travel_time ([@eifinger] - [#24603]) ([here_travel_time docs]) (new-integration)
- Remove deprecated srp_energy integration (ADR-0004) ([@frenck] - [#26826]) (breaking change)
- Remove deprecated fedex integration (ADR-0004) ([@frenck] - [#26822]) (breaking change)
- Store ZHA light brightness when fading off to turn on at the correct brightness ([@abmantis] - [#26680]) ([zha docs])
- Bump pyotp to 2.3.0 ([@frenck] - [#26849]) ([otp docs])
- Remove deprecated linksys_ap integration (ADR-0004) ([@frenck] - [#26847]) (breaking change)
- Bump up ZHA dependencies ([@Adminiuga] - [#26746])
- fix onvif/camera setting up error ([@sanyatuning] - [#26825]) ([onvif docs])
- Bump homematicip_cloud to 0.10.11 ([@SukramJ] - [#26852]) ([homematicip_cloud docs])
- Group Linky sensors to Linky meter device ([@piitaya] - [#26738]) ([linky docs]) (breaking change)
- Add unit to 'charging_level_hv' bwm_connected_drive sensor ([@timmccor] - [#26861]) ([bmw_connected_drive docs])
- Add reproduce state template ([@balloob] - [#26866])
- Put draw_box in image_processing ([@robmarkcole] - [#26712]) ([doods docs]) ([image_processing docs]) ([tensorflow docs])
- Move elv integration to component and bump pypca ([@majuss] - [#26552]) ([elv docs]) (breaking change)
- Add availability_template to Template Sensor platform ([@grillp] - [#26516]) ([template docs])
- Add device automation support to ZHA ([@dmulcahey] - [#26821]) ([zha docs])
- Removes unnecessary else/elif blocks ([@frenck] - [#26884])
- Add and corrects typehints in Entity helper & core class ([@frenck] - [#26805])
- Add comment for clarity to helper.entity.enabled() ([@frenck] - [#26793])
- Reorg device automation ([@balloob] - [#26880]) ([automation docs]) ([binary_sensor docs]) ([deconz docs]) ([device_automation docs]) ([light docs]) ([switch docs]) ([zha docs]) (breaking change)
- Use Python3 new super syntax sugar ([@frenck] - [#26890])
- bump quirks ([@dmulcahey] - [#26885]) ([zha docs])
- Update zigpy_zigate to 0.4.0 ([@doudz] - [#26883]) ([zha docs])
- Inverting states for opening/closing Homekit covers ([@tleegaard] - [#26872]) ([homekit_controller docs])
- Removes unnecessary utf8 source encoding declarations ([@frenck] - [#26887]) ([lcn docs]) ([yandex_transport docs])
- Removes unnecessary print_function future import ([@frenck] - [#26888])
- Add availability_template to Template Switch platform ([@grillp] - [#26513]) ([template docs])
- Bump ndms2-client to 0.0.9 ([@foxel] - [#26899]) ([keenetic_ndms2 docs])
- Add voltage attribute to Xiaomi Aqara devices ([@zhumuht] - [#26876]) ([xiaomi_aqara docs])
- Fix bed_activity history chart of the Xiaomi Aqara vibration sensor ([@zhumuht] - [#26875]) ([xiaomi_aqara docs])
- Fix missing whitespace around arithmetic operator ([@JeffLIrion] - [#26908]) ([xiaomi_aqara docs])
- deCONZ - Improve ssdp discovery by storing uuid in config entry ([@Kane610] - [#26882]) ([deconz docs])
- Add google_assistant alarm_control_panel ([@engrbm87] - [#26249]) ([google_assistant docs])
- Add call direction sensor for Obihai ([@dshokouhi] - [#26867]) ([obihai docs])
- deCONZ - Increase bridge discovery robustness in config flow ([@Kane610] - [#26911]) ([deconz docs])
- Add config flow to ecobee ([@marthoc] - [#26634]) ([ecobee docs]) (breaking change)
- Remove lamps and groups from ha when removed from Hue ([@bramkragten] - [#26881]) ([hue docs])
- Add MySensors ACK ([@petewill] - [#26894]) ([mysensors docs])
- Add mysensors codeowner ([@MartinHjelmare] - [#26917]) ([mysensors docs])
- Bump pyobihai, add unique ID and availability ([@dshokouhi] - [#26922]) ([obihai docs])
- Add Plex config options support ([@jjlawren] - [#26870]) ([plex docs])
- Add config flow to transmission ([@engrbm87] - [#26434]) ([transmission docs]) (breaking change)
- Centralize rainbird config and add binary sensor platform ([@konikvranik] - [#26393]) ([rainbird docs]) (breaking change) (new-platform)
- Add ecobee services to create and delete vacations ([@marthoc] - [#26923]) ([ecobee docs])
- Bump androidtv to 0.0.28 ([@JeffLIrion] - [#26906]) ([androidtv docs])
- Add more ebusd Vaillant "bai" sensors ([@sashao] - [#26750]) ([ebusd docs])
- Add xbox live custom update interval ([@MartinHjelmare] - [#26939]) ([xbox_live docs])
- Guard against non supported entities ([@balloob] - [#26941]) ([alexa docs])
- Bump pyowlet to 1.0.3 ([@jaburges] - [#26892]) ([owlet docs])
- Revert Nest HVAC mode when disabling Eco mode ([@joe248] - [#26934]) ([nest docs])
- Fix ecobee integration ([@marthoc] - [#26951]) ([ecobee docs])
- Add CO2 level reading for Kaiterra integration ([@Michsior14] - [#26935]) ([kaiterra docs])
- Improve validation of device trigger config ([@emontnemery] - [#26910]) ([automation docs]) ([config docs]) ([device_automation docs])
- Add device action support for ZHA ([@dmulcahey] - [#26903]) ([zha docs])
- Add support for Z-Wave battery level ([@oandrew] - [#26943]) ([zwave docs])
- Update Alexa discovery description ([@bramkragten] - [#26933]) ([alexa docs])
- Add templates to scaffold device_trigger, device_condition, ([@balloob] - [#26871])
- Upgrade mypy to 0.730, address raised issues ([@scop] - [#26959]) ([http docs])
- Add hive boost to climate and water_heater ([@KJonline] - [#26789]) ([hive docs])
- Bump Travis timeout to 50 minutes ([@scop] - [#26978])
- Remove no longer needed Python < 3.6 compatibility code ([@scop] - [#27024])
- Fix possible OpenUV exception due to missing data ([@bachya] - [#26958]) ([openuv docs])
- Update pythonegardia to 1.0.40 ([@SneakSnackSnake] - [#27009]) ([egardia docs])
- Improve ecobee service schemas ([@marthoc] - [#26955]) ([ecobee docs])
- Add more providers, bump yessssms version to 0.4.1 ([@flowolf] - [#26874]) ([yessssms docs])
- Upgrade youtube_dl to 2019.09.28 ([@BKPepe] - [#27031]) ([media_extractor docs])
- Add availability_template to Template Cover platform ([@grillp] - [#26509]) ([template docs])
- Add availability_template to Template Binary Sensor platform ([@grillp] - [#26510]) ([template docs])
- Add availability_template to Template Fan platform ([@grillp] - [#26511]) ([template docs])
- Add availability_template to Template Light platform ([@grillp] - [#26512]) ([template docs])
- Add availability_template to Template Vacuum platform ([@grillp] - [#26514]) ([template docs])
- Add create, remove of devices for HomematicIP_Cloud ([@SukramJ] - [#27030]) ([homematicip_cloud docs])
- Add venstar support for hvac action ([@david81] - [#26956]) ([venstar docs])
- Change hive hotwater to hot_water + bug fix ([@KJonline] - [#27038]) ([hive docs])
- Return esphome cover position as Integer ([@neffs] - [#27039]) ([esphome docs])
- Type hint additions ([@scop] - [#26831]) ([device_automation docs]) ([frontend docs]) ([group docs]) ([media_player docs]) ([persistent_notification docs]) ([sun docs]) ([websocket_api docs]) ([zone docs])
- Upgrade pytest to 5.2.0 ([@scop] - [#27058])
- Bump zha quirks to 0.0.26 ([@dmulcahey] - [#27051]) ([zha docs])
- Add Pi-hole enable and disable services ([@johnluetke] - [#27055]) ([pi_hole docs])
- add utc tz to forecast ([@MatthewFlamm] - [#27049]) ([darksky docs])
- Fix rest_command when server is unreachable ([@sebasje] - [#26948]) ([rest_command docs])
- Fix incomfort and Bump client to 0.3.5 ([@zxdavb] - [#26802]) ([incomfort docs]) (breaking change)
- Add support for SOMA Smartshades devices ([@ratsept] - [#26226]) ([soma docs]) (new-integration)
- Bump pyecobee to 0.1.4 ([@marthoc] - [#27074]) ([ecobee docs])
- Fix SSL connections to Pi-hole ([@johnluetke] - [#27073]) ([pi_hole docs])
- Bump shodan to 1.19.0 ([@frenck] - [#27079]) ([shodan docs])
- Add some icons for Obihai ([@dshokouhi] - [#27075]) ([obihai docs])
- bumped version of upstream library ([@exxamalte] - [#27083]) ([geonetnz_quakes docs])
- Remove last of device tracker scanner ([@Kane610] - [#27082]) ([unifi docs])
- Bugfix evohome ([@zxdavb] - [#26810]) ([evohome docs]) (breaking change)
- Add saj component ([@fredericvl] - [#26902]) ([saj docs]) (new-integration)
- Add availability_template to Template Lock platform ([@grillp] - [#26517]) ([template docs])
- Cleanup coroutine threadsafe ([@pvizeli] - [#27080]) ([bluetooth_le_tracker docs]) ([group docs]) ([mqtt docs]) ([proxy docs])
- Plex external config flow ([@jjlawren] - [#26936]) ([plex docs])
- Bump attrs to 19.2.0 ([@frenck] - [#27102])
- Update meteoalertapi to version 0.1.6 ([@rolfberkenbosch] - [#27099]) ([meteoalarm docs])
- Nzbget services ([@chriscla] - [#26900]) ([nzbget docs])
- Delete here_travel_time dead code COORDINATE_SCHEMA ([@eifinger] - [#27090]) ([here_travel_time docs])
- Add missing http dependency ([@jjlawren] - [#27097]) ([plex docs])
- Add entity registry support to ecobee integration ([@marthoc] - [#27088]) ([ecobee docs])
- Update opentherm_gw.climate to match Climate 1.0 ([@mvn23] - [#25931]) ([opentherm_gw docs]) (breaking change)
- Improve validation of device action config ([@emontnemery] - [#27029]) ([automation docs])
- Bump adb-shell to 0.0.3 ([@JeffLIrion] - [#27108]) ([androidtv docs])
- Add Vera last user and low battery attributes ([@colohan] - [#27043]) ([vera docs])
- Add neural support to amazon polly ([@bbrendon] - [#27101]) ([amazon_polly docs])
- Bump androidtv to 0.0.29 ([@JeffLIrion] - [#27120]) ([androidtv docs])
- Update documentation link URL for integrations in all manifests ([@frenck] - [#27114])
- Tweak geniushub and bump client to v0.6.26 ([@zxdavb] - [#26640]) ([geniushub docs]) (breaking change)
- move ATTR_MODE to homeassistant.const ([@eifinger] - [#27118])
- Update documentation link URL for integrations (part2) ([@frenck] - [#27117])
- Fix generated comment in CODEOWNERS ([@tribut] - [#27115])
- Disable flaky/slow test ([@emontnemery] - [#27125])
- UniFi - Try to handle when UniFi erroneously marks offline client as wired ([@Kane610] - [#26960]) ([unifi docs])
- deCONZ - Support Symfonisk sound controller with device triggers ([@Kane610] - [#26913]) ([deconz docs])
- Add support for `for` to binary_sensor, light and switch device triggers ([@emontnemery] - [#26658]) ([device_automation docs])
- Updated frontend to 20191002.0 ([@bramkragten] - [#27134]) ([frontend docs])
- Fix error on failed Plex setup ([@jjlawren] - [#27132]) ([plex docs])
- Bump up ZHA dependencies. ([@Adminiuga] - [#27127]) ([zha docs])
- Fix unavailable climate entities in Alexa StateReport ([@ochlocracy] - [#27128]) ([alexa docs])
- gpiozero requirement ver ([@bbrendon] - [#27129]) ([remote_rpi_gpio docs])
- Update KNX integration to xknx 0.11.2 ([@farmio] - [#27130]) ([knx docs])
- Display Fan entity as Fan category in Alexa ([@ochlocracy] - [#27135]) ([alexa docs])
- Improve validation of device condition config ([@emontnemery] - [#27131]) ([automation docs]) ([binary_sensor docs]) ([light docs]) ([switch docs])
- Fix colorTemperatureInKelvin in Alexa report when light is off ([@ochlocracy] - [#27107]) ([alexa docs])
- Add device trigger support to sensor entities ([@emontnemery] - [#27133]) ([automation docs]) ([binary_sensor docs]) ([device_automation docs]) ([sensor docs])
- Add Google Report State ([@balloob] - [#27112]) ([alexa docs]) ([cloud docs]) ([google_assistant docs])
- Handle all single zone thermostats ([@zxdavb] - [#27168]) ([evohome docs])
- Only generate device trigger for sensor with unit ([@emontnemery] - [#27152]) ([sensor docs]) (beta fix)
- Add above and below to sensor trigger extra_fields ([@emontnemery] - [#27160]) ([sensor docs]) (beta fix)
- Update connect-box to fix issue with attrs ([@pvizeli] - [#27194]) ([upc_connect docs]) (beta fix)
- Fix validation when automation is saved from frontend ([@emontnemery] - [#27195]) ([automation docs]) (beta fix)
- Fix ecobee binary sensor and sensor unique ids ([@marthoc] - [#27208]) ([ecobee docs]) (beta fix)
- Bump adb-shell to 0.0.4; bump androidtv to 0.0.30 ([@JeffLIrion] - [#27224]) ([androidtv docs]) (beta fix)
- Fix closed status for non horizontal awnings. ([@psicot] - [#26840]) ([tahoma docs]) (beta fix)
- Fix update on cert_expiry startup ([@jjlawren] - [#27137]) ([cert_expiry docs]) (beta fix)
- Fix onvif PTZ service freeze ([@skgsergio] - [#27250]) ([onvif docs]) (beta fix)
- Fix the todoist integration ([@boralyl] - [#27273]) ([todoist docs]) (beta fix)
- Fix Plex media_player.play_media service ([@jjlawren] - [#27278]) ([plex docs]) (beta fix)
- Remove manual config flow step ([@jjlawren] - [#27291]) ([plex docs]) (beta fix)
- Improve speed websocket sends messages ([@balloob] - [#27295]) ([websocket_api docs]) (beta fix)
- Google: Report all states on activating report state ([@balloob] - [#27312]) ([google_assistant docs]) (beta fix)
- Fix single Plex server case ([@jjlawren] - [#27326]) ([plex docs]) (beta fix)
- Updated frontend to 20191002.1 ([@bramkragten] - [#27329]) ([frontend docs]) (beta fix)
- Fix translations for binary_sensor triggers ([@emontnemery] - [#27330]) ([binary_sensor docs]) (beta fix)
- Fix connection issues with withings API by switching to a maintained codebase ([@vangorra] - [#27310]) ([withings docs]) (beta fix)
- Update zigpy-zigate to 0.4.1 ([@doudz] - [#27345]) ([zha docs]) (beta fix)
- Updated frontend to 20191002.2 ([@bramkragten] - [#27370]) ([frontend docs]) (beta fix)
[#22311]: https://github.com/home-assistant/home-assistant/pull/22311
[#23495]: https://github.com/home-assistant/home-assistant/pull/23495
[#24550]: https://github.com/home-assistant/home-assistant/pull/24550
[#24603]: https://github.com/home-assistant/home-assistant/pull/24603
[#25931]: https://github.com/home-assistant/home-assistant/pull/25931
[#26046]: https://github.com/home-assistant/home-assistant/pull/26046
[#26058]: https://github.com/home-assistant/home-assistant/pull/26058
[#26067]: https://github.com/home-assistant/home-assistant/pull/26067
[#26183]: https://github.com/home-assistant/home-assistant/pull/26183
[#26208]: https://github.com/home-assistant/home-assistant/pull/26208
[#26226]: https://github.com/home-assistant/home-assistant/pull/26226
[#26249]: https://github.com/home-assistant/home-assistant/pull/26249
[#26252]: https://github.com/home-assistant/home-assistant/pull/26252
[#26253]: https://github.com/home-assistant/home-assistant/pull/26253
[#26266]: https://github.com/home-assistant/home-assistant/pull/26266
[#26393]: https://github.com/home-assistant/home-assistant/pull/26393
[#26434]: https://github.com/home-assistant/home-assistant/pull/26434
[#26453]: https://github.com/home-assistant/home-assistant/pull/26453
[#26462]: https://github.com/home-assistant/home-assistant/pull/26462
[#26509]: https://github.com/home-assistant/home-assistant/pull/26509
[#26510]: https://github.com/home-assistant/home-assistant/pull/26510
[#26511]: https://github.com/home-assistant/home-assistant/pull/26511
[#26512]: https://github.com/home-assistant/home-assistant/pull/26512
[#26513]: https://github.com/home-assistant/home-assistant/pull/26513
[#26514]: https://github.com/home-assistant/home-assistant/pull/26514
[#26516]: https://github.com/home-assistant/home-assistant/pull/26516
[#26517]: https://github.com/home-assistant/home-assistant/pull/26517
[#26548]: https://github.com/home-assistant/home-assistant/pull/26548
[#26549]: https://github.com/home-assistant/home-assistant/pull/26549
[#26552]: https://github.com/home-assistant/home-assistant/pull/26552
[#26582]: https://github.com/home-assistant/home-assistant/pull/26582
[#26586]: https://github.com/home-assistant/home-assistant/pull/26586
[#26591]: https://github.com/home-assistant/home-assistant/pull/26591
[#26592]: https://github.com/home-assistant/home-assistant/pull/26592
[#26593]: https://github.com/home-assistant/home-assistant/pull/26593
[#26612]: https://github.com/home-assistant/home-assistant/pull/26612
[#26614]: https://github.com/home-assistant/home-assistant/pull/26614
[#26616]: https://github.com/home-assistant/home-assistant/pull/26616
[#26618]: https://github.com/home-assistant/home-assistant/pull/26618
[#26634]: https://github.com/home-assistant/home-assistant/pull/26634
[#26640]: https://github.com/home-assistant/home-assistant/pull/26640
[#26642]: https://github.com/home-assistant/home-assistant/pull/26642
[#26643]: https://github.com/home-assistant/home-assistant/pull/26643
[#26645]: https://github.com/home-assistant/home-assistant/pull/26645
[#26646]: https://github.com/home-assistant/home-assistant/pull/26646
[#26648]: https://github.com/home-assistant/home-assistant/pull/26648
[#26649]: https://github.com/home-assistant/home-assistant/pull/26649
[#26654]: https://github.com/home-assistant/home-assistant/pull/26654
[#26658]: https://github.com/home-assistant/home-assistant/pull/26658
[#26659]: https://github.com/home-assistant/home-assistant/pull/26659
[#26660]: https://github.com/home-assistant/home-assistant/pull/26660
[#26661]: https://github.com/home-assistant/home-assistant/pull/26661
[#26662]: https://github.com/home-assistant/home-assistant/pull/26662
[#26663]: https://github.com/home-assistant/home-assistant/pull/26663
[#26665]: https://github.com/home-assistant/home-assistant/pull/26665
[#26666]: https://github.com/home-assistant/home-assistant/pull/26666
[#26667]: https://github.com/home-assistant/home-assistant/pull/26667
[#26669]: https://github.com/home-assistant/home-assistant/pull/26669
[#26679]: https://github.com/home-assistant/home-assistant/pull/26679
[#26680]: https://github.com/home-assistant/home-assistant/pull/26680
[#26681]: https://github.com/home-assistant/home-assistant/pull/26681
[#26685]: https://github.com/home-assistant/home-assistant/pull/26685
[#26697]: https://github.com/home-assistant/home-assistant/pull/26697
[#26703]: https://github.com/home-assistant/home-assistant/pull/26703
[#26705]: https://github.com/home-assistant/home-assistant/pull/26705
[#26708]: https://github.com/home-assistant/home-assistant/pull/26708
[#26709]: https://github.com/home-assistant/home-assistant/pull/26709
[#26712]: https://github.com/home-assistant/home-assistant/pull/26712
[#26717]: https://github.com/home-assistant/home-assistant/pull/26717
[#26718]: https://github.com/home-assistant/home-assistant/pull/26718
[#26723]: https://github.com/home-assistant/home-assistant/pull/26723
[#26728]: https://github.com/home-assistant/home-assistant/pull/26728
[#26733]: https://github.com/home-assistant/home-assistant/pull/26733
[#26738]: https://github.com/home-assistant/home-assistant/pull/26738
[#26739]: https://github.com/home-assistant/home-assistant/pull/26739
[#26741]: https://github.com/home-assistant/home-assistant/pull/26741
[#26743]: https://github.com/home-assistant/home-assistant/pull/26743
[#26746]: https://github.com/home-assistant/home-assistant/pull/26746
[#26750]: https://github.com/home-assistant/home-assistant/pull/26750
[#26754]: https://github.com/home-assistant/home-assistant/pull/26754
[#26755]: https://github.com/home-assistant/home-assistant/pull/26755
[#26759]: https://github.com/home-assistant/home-assistant/pull/26759
[#26762]: https://github.com/home-assistant/home-assistant/pull/26762
[#26765]: https://github.com/home-assistant/home-assistant/pull/26765
[#26766]: https://github.com/home-assistant/home-assistant/pull/26766
[#26769]: https://github.com/home-assistant/home-assistant/pull/26769
[#26770]: https://github.com/home-assistant/home-assistant/pull/26770
[#26771]: https://github.com/home-assistant/home-assistant/pull/26771
[#26773]: https://github.com/home-assistant/home-assistant/pull/26773
[#26775]: https://github.com/home-assistant/home-assistant/pull/26775
[#26777]: https://github.com/home-assistant/home-assistant/pull/26777
[#26783]: https://github.com/home-assistant/home-assistant/pull/26783
[#26784]: https://github.com/home-assistant/home-assistant/pull/26784
[#26787]: https://github.com/home-assistant/home-assistant/pull/26787
[#26788]: https://github.com/home-assistant/home-assistant/pull/26788
[#26789]: https://github.com/home-assistant/home-assistant/pull/26789
[#26793]: https://github.com/home-assistant/home-assistant/pull/26793
[#26794]: https://github.com/home-assistant/home-assistant/pull/26794
[#26795]: https://github.com/home-assistant/home-assistant/pull/26795
[#26796]: https://github.com/home-assistant/home-assistant/pull/26796
[#26797]: https://github.com/home-assistant/home-assistant/pull/26797
[#26799]: https://github.com/home-assistant/home-assistant/pull/26799
[#26801]: https://github.com/home-assistant/home-assistant/pull/26801
[#26802]: https://github.com/home-assistant/home-assistant/pull/26802
[#26804]: https://github.com/home-assistant/home-assistant/pull/26804
[#26805]: https://github.com/home-assistant/home-assistant/pull/26805
[#26809]: https://github.com/home-assistant/home-assistant/pull/26809
[#26810]: https://github.com/home-assistant/home-assistant/pull/26810
[#26815]: https://github.com/home-assistant/home-assistant/pull/26815
[#26819]: https://github.com/home-assistant/home-assistant/pull/26819
[#26821]: https://github.com/home-assistant/home-assistant/pull/26821
[#26822]: https://github.com/home-assistant/home-assistant/pull/26822
[#26823]: https://github.com/home-assistant/home-assistant/pull/26823
[#26824]: https://github.com/home-assistant/home-assistant/pull/26824
[#26825]: https://github.com/home-assistant/home-assistant/pull/26825
[#26826]: https://github.com/home-assistant/home-assistant/pull/26826
[#26829]: https://github.com/home-assistant/home-assistant/pull/26829
[#26831]: https://github.com/home-assistant/home-assistant/pull/26831
[#26832]: https://github.com/home-assistant/home-assistant/pull/26832
[#26835]: https://github.com/home-assistant/home-assistant/pull/26835
[#26840]: https://github.com/home-assistant/home-assistant/pull/26840
[#26847]: https://github.com/home-assistant/home-assistant/pull/26847
[#26849]: https://github.com/home-assistant/home-assistant/pull/26849
[#26852]: https://github.com/home-assistant/home-assistant/pull/26852
[#26861]: https://github.com/home-assistant/home-assistant/pull/26861
[#26866]: https://github.com/home-assistant/home-assistant/pull/26866
[#26867]: https://github.com/home-assistant/home-assistant/pull/26867
[#26870]: https://github.com/home-assistant/home-assistant/pull/26870
[#26871]: https://github.com/home-assistant/home-assistant/pull/26871
[#26872]: https://github.com/home-assistant/home-assistant/pull/26872
[#26874]: https://github.com/home-assistant/home-assistant/pull/26874
[#26875]: https://github.com/home-assistant/home-assistant/pull/26875
[#26876]: https://github.com/home-assistant/home-assistant/pull/26876
[#26880]: https://github.com/home-assistant/home-assistant/pull/26880
[#26881]: https://github.com/home-assistant/home-assistant/pull/26881
[#26882]: https://github.com/home-assistant/home-assistant/pull/26882
[#26883]: https://github.com/home-assistant/home-assistant/pull/26883
[#26884]: https://github.com/home-assistant/home-assistant/pull/26884
[#26885]: https://github.com/home-assistant/home-assistant/pull/26885
[#26887]: https://github.com/home-assistant/home-assistant/pull/26887
[#26888]: https://github.com/home-assistant/home-assistant/pull/26888
[#26890]: https://github.com/home-assistant/home-assistant/pull/26890
[#26892]: https://github.com/home-assistant/home-assistant/pull/26892
[#26894]: https://github.com/home-assistant/home-assistant/pull/26894
[#26899]: https://github.com/home-assistant/home-assistant/pull/26899
[#26900]: https://github.com/home-assistant/home-assistant/pull/26900
[#26902]: https://github.com/home-assistant/home-assistant/pull/26902
[#26903]: https://github.com/home-assistant/home-assistant/pull/26903
[#26906]: https://github.com/home-assistant/home-assistant/pull/26906
[#26908]: https://github.com/home-assistant/home-assistant/pull/26908
[#26910]: https://github.com/home-assistant/home-assistant/pull/26910
[#26911]: https://github.com/home-assistant/home-assistant/pull/26911
[#26913]: https://github.com/home-assistant/home-assistant/pull/26913
[#26917]: https://github.com/home-assistant/home-assistant/pull/26917
[#26922]: https://github.com/home-assistant/home-assistant/pull/26922
[#26923]: https://github.com/home-assistant/home-assistant/pull/26923
[#26933]: https://github.com/home-assistant/home-assistant/pull/26933
[#26934]: https://github.com/home-assistant/home-assistant/pull/26934
[#26935]: https://github.com/home-assistant/home-assistant/pull/26935
[#26936]: https://github.com/home-assistant/home-assistant/pull/26936
[#26939]: https://github.com/home-assistant/home-assistant/pull/26939
[#26941]: https://github.com/home-assistant/home-assistant/pull/26941
[#26943]: https://github.com/home-assistant/home-assistant/pull/26943
[#26948]: https://github.com/home-assistant/home-assistant/pull/26948
[#26951]: https://github.com/home-assistant/home-assistant/pull/26951
[#26955]: https://github.com/home-assistant/home-assistant/pull/26955
[#26956]: https://github.com/home-assistant/home-assistant/pull/26956
[#26958]: https://github.com/home-assistant/home-assistant/pull/26958
[#26959]: https://github.com/home-assistant/home-assistant/pull/26959
[#26960]: https://github.com/home-assistant/home-assistant/pull/26960
[#26978]: https://github.com/home-assistant/home-assistant/pull/26978
[#27009]: https://github.com/home-assistant/home-assistant/pull/27009
[#27024]: https://github.com/home-assistant/home-assistant/pull/27024
[#27029]: https://github.com/home-assistant/home-assistant/pull/27029
[#27030]: https://github.com/home-assistant/home-assistant/pull/27030
[#27031]: https://github.com/home-assistant/home-assistant/pull/27031
[#27038]: https://github.com/home-assistant/home-assistant/pull/27038
[#27039]: https://github.com/home-assistant/home-assistant/pull/27039
[#27043]: https://github.com/home-assistant/home-assistant/pull/27043
[#27049]: https://github.com/home-assistant/home-assistant/pull/27049
[#27051]: https://github.com/home-assistant/home-assistant/pull/27051
[#27055]: https://github.com/home-assistant/home-assistant/pull/27055
[#27058]: https://github.com/home-assistant/home-assistant/pull/27058
[#27073]: https://github.com/home-assistant/home-assistant/pull/27073
[#27074]: https://github.com/home-assistant/home-assistant/pull/27074
[#27075]: https://github.com/home-assistant/home-assistant/pull/27075
[#27079]: https://github.com/home-assistant/home-assistant/pull/27079
[#27080]: https://github.com/home-assistant/home-assistant/pull/27080
[#27082]: https://github.com/home-assistant/home-assistant/pull/27082
[#27083]: https://github.com/home-assistant/home-assistant/pull/27083
[#27088]: https://github.com/home-assistant/home-assistant/pull/27088
[#27090]: https://github.com/home-assistant/home-assistant/pull/27090
[#27097]: https://github.com/home-assistant/home-assistant/pull/27097
[#27099]: https://github.com/home-assistant/home-assistant/pull/27099
[#27101]: https://github.com/home-assistant/home-assistant/pull/27101
[#27102]: https://github.com/home-assistant/home-assistant/pull/27102
[#27107]: https://github.com/home-assistant/home-assistant/pull/27107
[#27108]: https://github.com/home-assistant/home-assistant/pull/27108
[#27112]: https://github.com/home-assistant/home-assistant/pull/27112
[#27114]: https://github.com/home-assistant/home-assistant/pull/27114
[#27115]: https://github.com/home-assistant/home-assistant/pull/27115
[#27117]: https://github.com/home-assistant/home-assistant/pull/27117
[#27118]: https://github.com/home-assistant/home-assistant/pull/27118
[#27120]: https://github.com/home-assistant/home-assistant/pull/27120
[#27125]: https://github.com/home-assistant/home-assistant/pull/27125
[#27127]: https://github.com/home-assistant/home-assistant/pull/27127
[#27128]: https://github.com/home-assistant/home-assistant/pull/27128
[#27129]: https://github.com/home-assistant/home-assistant/pull/27129
[#27130]: https://github.com/home-assistant/home-assistant/pull/27130
[#27131]: https://github.com/home-assistant/home-assistant/pull/27131
[#27132]: https://github.com/home-assistant/home-assistant/pull/27132
[#27133]: https://github.com/home-assistant/home-assistant/pull/27133
[#27134]: https://github.com/home-assistant/home-assistant/pull/27134
[#27135]: https://github.com/home-assistant/home-assistant/pull/27135
[#27137]: https://github.com/home-assistant/home-assistant/pull/27137
[#27152]: https://github.com/home-assistant/home-assistant/pull/27152
[#27160]: https://github.com/home-assistant/home-assistant/pull/27160
[#27168]: https://github.com/home-assistant/home-assistant/pull/27168
[#27194]: https://github.com/home-assistant/home-assistant/pull/27194
[#27195]: https://github.com/home-assistant/home-assistant/pull/27195
[#27208]: https://github.com/home-assistant/home-assistant/pull/27208
[#27224]: https://github.com/home-assistant/home-assistant/pull/27224
[#27250]: https://github.com/home-assistant/home-assistant/pull/27250
[#27273]: https://github.com/home-assistant/home-assistant/pull/27273
[#27278]: https://github.com/home-assistant/home-assistant/pull/27278
[#27291]: https://github.com/home-assistant/home-assistant/pull/27291
[#27295]: https://github.com/home-assistant/home-assistant/pull/27295
[#27310]: https://github.com/home-assistant/home-assistant/pull/27310
[#27312]: https://github.com/home-assistant/home-assistant/pull/27312
[#27326]: https://github.com/home-assistant/home-assistant/pull/27326
[#27329]: https://github.com/home-assistant/home-assistant/pull/27329
[#27330]: https://github.com/home-assistant/home-assistant/pull/27330
[#27345]: https://github.com/home-assistant/home-assistant/pull/27345
[#27370]: https://github.com/home-assistant/home-assistant/pull/27370
[@adminiuga]: https://github.com/Adminiuga
[@bkpepe]: https://github.com/BKPepe
[@bouni]: https://github.com/Bouni
[@cqoute]: https://github.com/CQoute
[@danielhiversen]: https://github.com/Danielhiversen
[@harlemsquirrel]: https://github.com/HarlemSquirrel
[@jc2k]: https://github.com/Jc2k
[@jefflirion]: https://github.com/JeffLIrion
[@kjonline]: https://github.com/KJonline
[@kane610]: https://github.com/Kane610
[@killerrat]: https://github.com/KiLLeRRaT
[@martinhjelmare]: https://github.com/MartinHjelmare
[@matthewflamm]: https://github.com/MatthewFlamm
[@michsior14]: https://github.com/Michsior14
[@snoof85]: https://github.com/SNoof85
[@sneaksnacksnake]: https://github.com/SneakSnackSnake
[@sukramj]: https://github.com/SukramJ
[@swamp-ig]: https://github.com/Swamp-Ig
[@vividboarder]: https://github.com/ViViDboarder
[@abmantis]: https://github.com/abmantis
[@amelchio]: https://github.com/amelchio
[@amigan]: https://github.com/amigan
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
[@bbrendon]: https://github.com/bbrendon
[@boralyl]: https://github.com/boralyl
[@bramkragten]: https://github.com/bramkragten
[@bryanyork]: https://github.com/bryanyork
[@chriscla]: https://github.com/chriscla
[@colohan]: https://github.com/colohan
[@david81]: https://github.com/david81
[@definitio]: https://github.com/definitio
[@dmulcahey]: https://github.com/dmulcahey
[@doudz]: https://github.com/doudz
[@dshokouhi]: https://github.com/dshokouhi
[@eifinger]: https://github.com/eifinger
[@emontnemery]: https://github.com/emontnemery
[@engrbm87]: https://github.com/engrbm87
[@exxamalte]: https://github.com/exxamalte
[@fabaff]: https://github.com/fabaff
[@farmio]: https://github.com/farmio
[@flowolf]: https://github.com/flowolf
[@flz]: https://github.com/flz
[@foxel]: https://github.com/foxel
[@fredericvl]: https://github.com/fredericvl
[@fredrike]: https://github.com/fredrike
[@frenck]: https://github.com/frenck
[@ggravlingen]: https://github.com/ggravlingen
[@gibman]: https://github.com/gibman
[@grillp]: https://github.com/grillp
[@jaburges]: https://github.com/jaburges
[@jesserizzo]: https://github.com/jesserizzo
[@jjlawren]: https://github.com/jjlawren
[@joe248]: https://github.com/joe248
[@johnluetke]: https://github.com/johnluetke
[@konikvranik]: https://github.com/konikvranik
[@larssont]: https://github.com/larssont
[@majuss]: https://github.com/majuss
[@marthoc]: https://github.com/marthoc
[@michaeldavie]: https://github.com/michaeldavie
[@mvn23]: https://github.com/mvn23
[@neffs]: https://github.com/neffs
[@oandrew]: https://github.com/oandrew
[@ochlocracy]: https://github.com/ochlocracy
[@petewill]: https://github.com/petewill
[@pgilad]: https://github.com/pgilad
[@piitaya]: https://github.com/piitaya
[@poofyteddy]: https://github.com/poofyteddy
[@psicot]: https://github.com/psicot
[@pvizeli]: https://github.com/pvizeli
[@ratsept]: https://github.com/ratsept
[@rishatik92]: https://github.com/rishatik92
[@roblandry]: https://github.com/roblandry
[@robmarkcole]: https://github.com/robmarkcole
[@rolfberkenbosch]: https://github.com/rolfberkenbosch
[@sanyatuning]: https://github.com/sanyatuning
[@sashao]: https://github.com/sashao
[@scheric]: https://github.com/scheric
[@scop]: https://github.com/scop
[@sebasje]: https://github.com/sebasje
[@shutupflanders]: https://github.com/shutupflanders
[@skgsergio]: https://github.com/skgsergio
[@snowzach]: https://github.com/snowzach
[@squishykid]: https://github.com/squishykid
[@thecynic]: https://github.com/thecynic
[@timmccor]: https://github.com/timmccor
[@tleegaard]: https://github.com/tleegaard
[@tribut]: https://github.com/tribut
[@tsvi]: https://github.com/tsvi
[@vangorra]: https://github.com/vangorra
[@zewelor]: https://github.com/zewelor
[@zhumuht]: https://github.com/zhumuht
[@zxdavb]: https://github.com/zxdavb
[alexa docs]: /integrations/alexa/
[amazon_polly docs]: /integrations/amazon_polly/
[androidtv docs]: /integrations/androidtv/
[automation docs]: /integrations/automation/
[binary_sensor docs]: /integrations/binary_sensor/
[bluetooth_le_tracker docs]: /integrations/bluetooth_le_tracker/
[bluetooth_tracker docs]: /integrations/bluetooth_tracker/
[bmw_connected_drive docs]: /integrations/bmw_connected_drive/
[cert_expiry docs]: /integrations/cert_expiry/
[cloud docs]: /integrations/cloud/
[config docs]: /integrations/config/
[cover docs]: /integrations/cover/
[darksky docs]: /integrations/darksky/
[deconz docs]: /integrations/deconz/
[device_automation docs]: /integrations/device_automation/
[doods docs]: /integrations/doods/
[ebusd docs]: /integrations/ebusd/
[ecobee docs]: /integrations/ecobee/
[egardia docs]: /integrations/egardia/
[elv docs]: /integrations/elv/
[enphase_envoy docs]: /integrations/enphase_envoy/
[environment_canada docs]: /integrations/environment_canada/
[esphome docs]: /integrations/esphome/
[evohome docs]: /integrations/evohome/
[fedex docs]: /integrations/fedex/
[frontend docs]: /integrations/frontend/
[generic docs]: /integrations/generic/
[geniushub docs]: /integrations/geniushub/
[geonetnz_quakes docs]: /integrations/geonetnz_quakes/
[glances docs]: /integrations/glances/
[google_assistant docs]: /integrations/google_assistant/
[group docs]: /integrations/group/
[here_travel_time docs]: /integrations/here_travel_time/
[hive docs]: /integrations/hive/
[homekit docs]: /integrations/homekit/
[homekit_controller docs]: /integrations/homekit_controller/
[homematicip_cloud docs]: /integrations/homematicip_cloud/
[http docs]: /integrations/http/
[hue docs]: /integrations/hue/
[iaqualink docs]: /integrations/iaqualink/
[image_processing docs]: /integrations/image_processing/
[incomfort docs]: /integrations/incomfort/
[influxdb docs]: /integrations/influxdb/
[iperf3 docs]: /integrations/iperf3/
[izone docs]: /integrations/izone/
[kaiterra docs]: /integrations/kaiterra/
[keenetic_ndms2 docs]: /integrations/keenetic_ndms2/
[knx docs]: /integrations/knx/
[lcn docs]: /integrations/lcn/
[lifx docs]: /integrations/lifx/
[lifx_cloud docs]: /integrations/lifx_cloud/
[lifx_legacy docs]: /integrations/lifx_legacy/
[light docs]: /integrations/light/
[linksys_ap docs]: /integrations/linksys_ap/
[linky docs]: /integrations/linky/
[luci docs]: /integrations/luci/
[media_extractor docs]: /integrations/media_extractor/
[media_player docs]: /integrations/media_player/
[meteoalarm docs]: /integrations/meteoalarm/
[yandex_transport docs]: /integrations/yandex_transport/
[mqtt docs]: /integrations/mqtt/
[mysensors docs]: /integrations/mysensors/
[nest docs]: /integrations/nest/
[netgear_lte docs]: /integrations/netgear_lte/
[nextbus docs]: /integrations/nextbus/
[nws docs]: /integrations/nws/
[nzbget docs]: /integrations/nzbget/
[obihai docs]: /integrations/obihai/
[ombi docs]: /integrations/ombi/
[onvif docs]: /integrations/onvif/
[opentherm_gw docs]: /integrations/opentherm_gw/
[openuv docs]: /integrations/openuv/
[otp docs]: /integrations/otp/
[owlet docs]: /integrations/owlet/
[persistent_notification docs]: /integrations/persistent_notification/
[pi_hole docs]: /integrations/pi_hole/
[plex docs]: /integrations/plex/
[proxy docs]: /integrations/proxy/
[rainbird docs]: /integrations/rainbird/
[remote_rpi_gpio docs]: /integrations/remote_rpi_gpio/
[rest_command docs]: /integrations/rest_command/
[saj docs]: /integrations/saj/
[sendgrid docs]: /integrations/sendgrid/
[sensor docs]: /integrations/sensor/
[shodan docs]: /integrations/shodan/
[simplisafe docs]: /integrations/simplisafe/
[solaredge_local docs]: /integrations/solaredge_local/
[solax docs]: /integrations/solax/
[soma docs]: /integrations/soma/
[sonos docs]: /integrations/sonos/
[spaceapi docs]: /integrations/spaceapi/
[srp_energy docs]: /integrations/srp_energy/
[sun docs]: /integrations/sun/
[switch docs]: /integrations/switch/
[sytadin docs]: /integrations/sytadin/
[tahoma docs]: /integrations/tahoma/
[template docs]: /integrations/template/
[tensorflow docs]: /integrations/tensorflow/
[tfiac docs]: /integrations/tfiac/
[tibber docs]: /integrations/tibber/
[todoist docs]: /integrations/todoist/
[torque docs]: /integrations/torque/
[tradfri docs]: /integrations/tradfri/
[transmission docs]: /integrations/transmission/
[unifi docs]: /integrations/unifi/
[upc_connect docs]: /integrations/upc_connect/
[ups docs]: /integrations/ups/
[usps docs]: /integrations/usps/
[velux docs]: /integrations/velux/
[venstar docs]: /integrations/venstar/
[vera docs]: /integrations/vera/
[vivotek docs]: /integrations/vivotek/
[volumio docs]: /integrations/volumio/
[watson_tts docs]: /integrations/watson_tts/
[websocket_api docs]: /integrations/websocket_api/
[wemo docs]: /integrations/wemo/
[whois docs]: /integrations/whois/
[withings docs]: /integrations/withings/
[wwlln docs]: /integrations/wwlln/
[xbox_live docs]: /integrations/xbox_live/
[xiaomi_aqara docs]: /integrations/xiaomi_aqara/
[yandex_transport docs]: /integrations/yandex_transport/
[yessssms docs]: /integrations/yessssms/
[zha docs]: /integrations/zha/
[zone docs]: /integrations/zone/
[zwave docs]: /integrations/zwave/

View File

@ -2057,3 +2057,6 @@
/components/zone /integrations/zone
/components/zoneminder /integrations/zoneminder
/components/zwave /integrations/zwave
# Breaking changes
/integrations/switch.pca /integrations/elv

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
width="90"
height="82"
viewBox="0 0 90 82"
version="1.1">
<path
d="m 26.95,66.453001 -11,11 -11,-11 22,0 z"
style="fill:#65c1c2" />
<path
d="m 43.05,41.453001 c -2.3,-2.7 -2.2,-4.2 -0.8,-5.6 1.7,-1.7 3.5,-1 5.5,0.9 l -4.7,4.7 z m 23.6,-30 c 1.7,-1.6999994 3.5,-0.999999 5.5,0.9 l -4.7,4.7 c -2.4,-2.7 -2.3,-4.1 -0.8,-5.6 z m 14.2,4.8 c -2.1,3.2 -5.9,8.4 -9.8,4.5 l 9.9,-9.9 c -0.9,-0.8999994 -1.5,-1.6999992 -2.1,-2.1999992 -5.3,-5.3000001 -11.3,-5.4000001 -16,-0.7000001 -3.1,3.0999993 -4,6.6999993 -3.1,10.0999993 l -3.1,-3.5 c -0.8,0.4 -4.6,3.8 -1.8,8.8 l -3.5,-2.9 -4.7,4.7 6.4,6.4 c -4.9,-3.9 -10.2,-3.5 -14.4,0.7 -4.5,4.5 -4.2,10 -0.8,14.5 l -0.7,-0.7 c -4.5,-4.5 -9.4,-2.9 -11.8,-0.5 -1.9,1.9 -3,4.4 -2.5,6.2 l -9.7,-9.7 -5.2,5.2 19.2,19.2 10.3,0 -6.9,-6.9 c -3.6,-3.7 -3.7,-5.6 -1.9,-7.4 1.7,-1.7 3.7,-0.6 7.2,2.8 l 6.8,6.8 5.1,-5.1 -6.5,-6.5 c 4.7,3.5 10.3,3.7 15.3,-1.3 0,0 0.1,-0.1 0.1,-0.1 l 0,0 c 3.1,-2.8 4,-5.6 4,-5.6 l -3.9,-2.6 c -2.1,3.2 -5.8,8.4 -9.7,4.5 l 9.9,-9.9 6.2,6.2 5.4,-5.4 -7.7,-7.7 c -3.6,-3.6 -1.5,-7 0,-8.3 0.7,1.5 1.7,2.9 3,4.2 5,5 11.4,6 17.1,0.4 0,0 0.1,-0.1 0.1,-0.1 l 0,0 c 3.1,-2.8 4,-5.6 4,-5.6 l -4.2,-2.6 z"
style="fill:#393e47;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1117 342" style="enable-background:new 0 0 1117 342;" xml:space="preserve">
<style type="text/css">
.st0{fill:#002C43;}
</style>
<symbol id="kaiterra_logo" viewBox="-211 -63.6 422.1 127.3">
<g id="_编组__3_">
<g id="_编组_2_3_">
<path id="_复合路径__3_" class="st0" d="M-166.7-21.6v44l-38.1-22L-166.7-21.6 M-164.4-27.2c-0.5,0-0.9,0.2-1.3,0.4
l-44.1,25.5c-1.6,0.9-1.6,2.5,0,3.4l44.1,25.5c0.4,0.2,0.8,0.4,1.3,0.4c1,0,1.6-0.8,1.6-2.1v-50.9
C-162.8-26.4-163.4-27.2-164.4-27.2L-164.4-27.2z"/>
</g>
<g id="_编组_3_3_">
<path id="_复合路径_2_3_" class="st0" d="M-103.6-58v44l-38.1-22L-103.6-58 M-101.3-63.6c-0.5,0-0.9,0.2-1.3,0.4l-44.1,25.5
c-1.6,0.9-1.6,2.5,0,3.4l44.1,25.5c0.4,0.2,0.8,0.4,1.3,0.4c1,0,1.6-0.8,1.6-2.1v-50.9C-99.7-62.9-100.3-63.6-101.3-63.6z"/>
</g>
<g id="_编组_4_3_">
<path id="_复合路径_3_3_" class="st0" d="M-103.7,14.1v44l-38.1-22L-103.7,14.1 M-101.4,8.5c-0.5,0-0.9,0.2-1.3,0.4
l-44.1,25.5c-1.6,0.9-1.6,2.5,0,3.4l44.1,25.5c0.4,0.2,0.8,0.4,1.3,0.4c1,0,1.6-0.8,1.6-2.1V10.6C-99.7,9.3-100.4,8.5-101.4,8.5
L-101.4,8.5z"/>
</g>
<g id="_编组_5_3_">
<path id="_复合路径_4_3_" class="st0" d="M-149.8-21.9l38.1,22l-38.1,22L-149.8-21.9 M-152.2-27.5c-1,0-1.6,0.8-1.6,2.1v50.9
c0,1.3,0.7,2.1,1.6,2.1c0.5,0,0.9-0.2,1.3-0.4l44.1-25.5c1.6-0.9,1.6-2.5,0-3.4l-44.1-25.5C-151.3-27.3-151.7-27.4-152.2-27.5z"
/>
</g>
</g>
<g id="_编组_6_3_">
<path id="_路径__3_" class="st0" d="M-41.5,12.3C-50.6,4.9-53.2,2.8-54,2.2l23.4-23.3h-5.9L-58.5,1V-40H-63v63h4.6V3.9L-35.2,23
l0.1,0.1h6.9l-0.5-0.4C-28.8,22.6-35.1,17.5-41.5,12.3z"/>
<path id="_复合路径_5_3_" class="st0" d="M-6.2-22.2c-7.5,0-12.9,2.9-17.1,9.2l-0.1,0.2l3.4,2.3l0.1-0.2
c3.3-5.2,7.5-7.5,13.7-7.5c8.1,0,12,4.3,12,13.2v1.4H-8.8c-8,0-17.4,3.5-17.4,13.6c0,8.6,6.8,14.1,17.3,14.1
c6.2,0,11.5-2.3,14.8-6.4V23h4.6V-5.2C10.4-16.2,4.5-22.2-6.2-22.2z M5.8,0.5v7.8C5.8,16.3-1.3,20-8.4,20
c-4.9,0-13.2-1.3-13.2-9.9c0-3.6,1.7-9.5,13.4-9.5H5.8z"/>
<rect id="_路径_2_3_" x="21.8" y="-21.1" class="st0" width="4.6" height="44.1"/>
<path id="_路径_3_3_" class="st0" d="M56.2,17.8c-1.6,1.3-3.5,2-5.5,2.2c-3.5,0-5.3-2.2-5.3-6.7v-30.4h11.4v-4H45.4V-40h-4.6
v18.8h-6.2v4h6.2v31c0,6.3,3.8,10.2,9.8,10.2c2.9,0,5.7-1,7.8-2.9l0.1-0.1l-2.3-3.4L56.2,17.8z"/>
<path id="_复合路径_6_3_" class="st0" d="M106.5,1.8c-0.3-14.3-9-24-21.8-24c-5.9,0-11.6,2.4-15.7,6.7c-8.7,9.3-8.7,23.7,0,33
c4.4,4.4,10.4,6.8,16.7,6.7c8.1,0,14.3-2.8,18.6-8.2l0.1-0.2l-3.1-2.8l-0.1,0.2c-3.9,4.9-8.5,6.9-15.5,6.9
c-10.6,0-18-7.3-18.5-18.1h39.3L106.5,1.8z M67.3-2c1.2-9.7,8.2-16.2,17.3-16.2c9.6,0,15.8,5.9,17.1,16.2H67.3z"/>
<path id="_路径_4_3_" class="st0" d="M133.3-22.2c-5.3,0-9.9,3-12.8,8.1v-7H116V23h4.6V-2.5c0-8.5,5.6-15.4,12.6-15.4
c2.6,0,4.1,0.3,5.4,1.1l0.2,0.1l1.7-3.8l-0.2-0.1C138-21.9,136.5-22.2,133.3-22.2z"/>
<path id="_路径_5_3_" class="st0" d="M165.7-22.2c-5.3,0-9.9,3-12.8,8.1v-7h-4.6V23h4.6V-2.5c0-8.5,5.6-15.4,12.6-15.4
c2.6,0,4.1,0.3,5.4,1.1l0.2,0.1l1.7-3.8l-0.2-0.1C170.4-21.9,169-22.2,165.7-22.2z"/>
<path id="_复合路径_7_3_" class="st0" d="M194.5-22.2c-7.5,0-12.9,2.9-17.1,9.2l-0.1,0.2l3.4,2.3l0.1-0.2
c3.3-5.2,7.5-7.5,13.7-7.5c8.1,0,12,4.3,12,13.2v1.4h-14.6c-8,0-17.4,3.5-17.4,13.6c0,8.6,6.8,14.1,17.3,14.1
c6.2,0,11.5-2.3,14.8-6.4V23h4.6V-5.2C211-16.2,205.2-22.2,194.5-22.2z M206.5,0.5v7.8c0,8.1-7.1,11.7-14.2,11.7
c-5,0-13.2-1.3-13.2-9.9c0-3.6,1.7-9.5,13.4-9.5H206.5z"/>
<path id="_路径_6_3_" class="st0" d="M24.1-36.6c-2,0-3.7,1.6-3.7,3.7c0,2,1.6,3.7,3.7,3.7c2,0,3.7-1.6,3.7-3.7
C27.8-34.9,26.1-36.6,24.1-36.6z"/>
</g>
</symbol>
<title>kaiterra-logo-2019-white</title>
<use xlink:href="#kaiterra_logo" width="422.1" height="127.3" id="kaiterra_logo-3" x="-211" y="-63.6" transform="matrix(2.6116 0 0 2.6116 558.1591 171.8117)" style="overflow:visible;"/>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -2,6 +2,24 @@
title: "Lovelace Changelog"
description: "Changelog of the Lovelace UI."
---
## Changes in 0.100.0
- 📣 [picture glance card]: New config `tap_action` and `hold_action` for `entities` (#3807) @iantrich
- 📣 [entities card]: New config `image` for `entities` (#3832) @iantrich
- 📣 [entity filter card]: Support for operators in `state_filter` and individual `state_filter` option for `entitites` (#3692) @iantrich
- 📣 [light card]: New config `icon` (#3771) @iantrich
- 📣 [picture entity card]: UI Editor (#3708) @iantrich
- 📣 [picture glance card]: UI Editor (#3709) @iantrich
- 📣 [history graph card]: UI Editor (#3782) @iantrich
- 📣 Add support for panels to cast (#3796) @bramkragten
- 📣 Allow for user text selection (Android Chrome not supported) (#3605) @iantrich
- 📣 add `state_filter` to picture cards (#3791) @iantrich
- 📣 Add a setting for vibration (#3813) @bramkragten
- 📣 Switch paper-toggle-button to mwc-switch (#3683) @iantrich
- 📣 New Action `url` (#3773) @iantrich
- 🔧 [map card]: Align background with tiles (#3858) @bramkragten
- 🔧 [map card]: Fix dark switch for map card editor (#3856) @bramkragten
- 🔧 [views]: Guard for null badges (#3841) @bramkragten
## Changes in 0.99.0
- 📣 [glance card]: New config `show_last_changed` for `entities`
- 📣 [glance card]: New config `image` for `entities`