Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2020-01-21 18:09:48 +01:00
commit 86946d68e8
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
32 changed files with 325 additions and 280 deletions

11
.github/ISSUE_TEMPLATE/DOCS_ISSUE.md vendored Normal file
View File

@ -0,0 +1,11 @@
---
name: Website/Docs bug report
about: Report incorrect/missing information or other issues with our website.
---
## The problem
<!--
Describe the issue you are experiencing here to communicate to the
maintainers. Tell us what you were trying to do and what happened instead.
-->

14
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: Report a bug/issue with Home Assistant itself
url: https://github.com/home-assistant/home-assistant/issues
about: This is the issue tracker for our website. Please report issues with Home Assistant in the main repository.
- name: I have a question or need support
url: https://www.home-assistant.io/help
about: We use GitHub for tracking bugs, check our website for resources on getting help.
- name: Feature Request
url: https://community.home-assistant.io/c/feature-requests
about: Please use our Community Forum for doing feature requests.
- name: I'm unsure where to go
url: https://www.home-assistant.io/join-chat
about: If you are unsure where to go, then joining our chat is recommended; Just ask!

View File

@ -1,11 +1,46 @@
**Description:**
## Proposed change
<!--
Describe the big picture of your changes here to communicate to the
maintainers why we should accept this pull request. If it fixes a bug
or resolves a feature request, be sure to link to that issue in the
additional information section.
-->
**Pull request in home-assistant (if applicable):** home-assistant/home-assistant#<home-assistant PR number goes here>
## Checklist:
## Type of change
<!--
What types of changes does your PR introduce to our documention/website?
Put an `x` in the boxes that apply. You can also fill these out after
creating the PR.
-->
- [ ] Branch: `next` is for changes and new documentation that will go public with the next Home Assistant release. Fixes, changes and adjustments for the current release should be created against `current`.
- [ ] The documentation follows the [standards][standards].
- [ ] Spelling, grammar or other readability improvements (`current` branch).
- [ ] Adjusted missing or incorrect information in the current documentation (`current` branch).
- [ ] Added documentation for a new integration I'm adding to Home Assistant (`next` branch).
- [ ] Added documentation for a new feature I'm adding to Home Assistant (`next` branch).
- [ ] Removed stale or deprecated documentation.
## Additional information
<!--
Details are important, and help maintainers processing your PR.
Please be sure to fill out additional details, if applicable.
-->
- Link to parent pull request in the codebase:
- This PR fixes or closes issue:
## Checklist
<!--
Put an `x` in the boxes that apply. You can also fill these out after
creating the PR. If you're unsure about any of them, don't hesitate to ask.
We're here to help! This is simply a reminder of what we are going to look
for before merging your code.
-->
- [ ] This PR uses the correct branch, based on one of the following:
- I made a change to the existing documentation and used the `current` branch.
- I made a change that is related to an upcoming version of Home Assistant and used the `next` branch.
- [ ] The documentation follows the Home Assistant documentation [standards][].
[standards]: https://developers.home-assistant.io/docs/documentation_standards.html

View File

@ -101,8 +101,8 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 104
current_patch_version: 0
date_released: 2020-01-15
current_patch_version: 3
date_released: 2020-01-21
# 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

@ -87,8 +87,7 @@ filter = ha
logpath = /home/homeassistant/.homeassistant/home-assistant.log
# 3600 seconds = 1 hour
bantime = 3600
bantime = 30 # during testing it is useful to have a short ban interval, comment out this line later
bantime = 30 # during testing it is useful to have a short ban interval, change this to 3600 later
# Maximum amount of login attempts before IP is blocked
maxretry = 3

View File

@ -27,6 +27,7 @@ Under the *Configuration* menu you'll find the *Customization* menu. If this men
homeassistant:
customize: !include customize.yaml
```
#### Possible values
{% configuration customize %}
@ -34,20 +35,11 @@ friendly_name:
description: Name of the entity as displayed in the UI.
required: false
type: string
homebridge_name:
description: Name of the entity in `HomeBridge`.
required: false
type: string
hidden:
description: Set to `true` to hide the entity.
required: false
type: boolean
default: false
homebridge_hidden:
description: Set to `true` to hide the entity from `HomeBridge`.
required: false
type: boolean
default: false
emulated_hue_hidden:
description: Set to `true` to hide the entity from `emulated_hue` (this will be deprecated in the near future and should be configured in [`emulated_hue`](/integrations/emulated_hue)).
required: false
@ -133,7 +125,6 @@ homeassistant:
"scene.month_*_colors":
hidden: true
emulated_hue_hidden: false
homebridge_hidden: true
```
### Reloading customize

View File

@ -10,7 +10,6 @@ For integrations that you want to use in Home Assistant, you add code in your `c
The following example entry assumes that you would like to set up the [notify component](/integrations/notify) with the [pushbullet platform](/integrations/pushbullet).
```yaml
notify:
platform: pushbullet
@ -66,11 +65,12 @@ sensor:
## Including values
### Environmental variables
You can include values from your system's environment variables with `!env_var`. Note that this will only work in a scenario where it is possible to specify these. Hass.io users are recommended to use `!include` statements instead.
```yaml
http:
api_password: !env_var PASSWORD
example:
password: !env_var PASSWORD
```
#### Default value
@ -78,8 +78,8 @@ http:
If an environment variable is not set, you can fallback to a default value.
```yaml
http:
api_password: !env_var PASSWORD default_password
example:
password: !env_var PASSWORD default_password
```
### Including entire files
@ -102,7 +102,7 @@ If you see the following message:
found character '\t' that cannot start any token
```
This means that you've mistakenly entered a tab character, instead of spaces.
This means that you've mistakenly entered a tab character, instead of spaces.
### Upper and lower case

View File

@ -64,11 +64,17 @@ We would appreciate if you help to keep this page up-to-date and add feedback.
There are reports that devices running with iOS prior to iOS 10, especially old iPads, are having trouble.
## webOS
| Browser | Release | State | Comments |
| :-------------------- |:---------------|:-----------|:-------------------------|
| [LG webOS TV Built-in]| 2019-2020 | fails | loads empty page |
[Chrome]: https://www.google.com/chrome/
[Chromium]: https://www.chromium.org/
[Conkeror]: http://conkeror.org/
[Edge]: https://www.microsoft.com/en-us/windows/microsoft-edge
[elinks]: http://elinks.or.cz/
[elinks]: http://elinks.or.cz/
[Epiphany]: https://wiki.gnome.org/Apps/Web
[Firefox]: https://www.mozilla.org/en-US/firefox/
[IE]: https://support.microsoft.com/en-us/help/17621/internet-explorer-downloads
@ -83,3 +89,4 @@ There are reports that devices running with iOS prior to iOS 10, especially old
[Uzbl]: https://www.uzbl.org/
[w3m]: http://w3m.sourceforge.net/
[Waterfox]: https://www.waterfoxproject.org
[LG webOS TV Built-In]: https://www.lg.com/uk/support/solutions/tv/smart-tv/internet-browsing

View File

@ -233,6 +233,7 @@ The following software has built-in support for MQTT discovery:
- [room-assistant](https://github.com/mKeRix/room-assistant) (starting with 1.1.0)
- [Zigbee2mqtt](https://github.com/koenkk/zigbee2mqtt)
- [Zwave2Mqtt](https://github.com/OpenZWave/Zwave2Mqtt) (starting with 2.0.1)
- [IOTLink](https://iotlink.gitlab.io) (starting with 2.0.0)
### Examples

View File

@ -1,164 +0,0 @@
---
title: "SceneGen"
description: "Scenegen is a scene generation tool for Home Assistant"
redirect_from: /ecosystem/scenegen/
---
Scenegen is a scene generation tool for [Home Assistant](/) home automation software. It creates scenes by example, by reading the current states of devices and outputting a corresponding scene. Scenegen is written in python using Home Assistant's RESTful API so can be run from anywhere. It currently supports lights and switches only.
## Installation
### Clone the Repository
Clone the [**scenegen**](https://github.com/home-assistant/scenegen) repository to the current local directory on your machine.
```bash
git clone https://github.com/home-assistant/scenegen.git
```
Change your working directory to the repository root. Moving forward, we will be working from this directory.
```bash
cd scenegen
```
## Install Prerequisites
Before running `SceneGen` you will need to add some python prerequisites:
```bash
sudo pip3 install configparser
```
You should now be ready to run `scenegen`
## Basic Operation
```text
usage: scenegen [-h] [-k KEY] [-s SCENENAME] [-m MAPFILE] [-f FILTER]
[-c {xy_color,rgb_color,color_temp,color_name}] [-t TYPES]
url
positional arguments:
url url for Home Assistant instance
optional arguments:
-h, --help show this help message and exit
-k KEY, --key KEY API Key of Home Assistant instance
-s SCENENAME, --scenename SCENENAME
Name of scene to generate
-m MAPFILE, --mapfile MAPFILE
Name of mapfile to enable device filtering
-f FILTER, --filter FILTER
Comma separated list of device collections as defined
in mapfile
-c {xy_color,rgb_color,color_temp,color_name}, --colortype {xy_color,rgb_color,color_temp,color_name}
color type to use
-t TYPES, --types TYPES
list of device types to include
```
For basic operation just supply the url and optionally the api key (using the --key option) on the command line and scenegen will output a list of all lights and switches with their attributes. Optionally use the `--scenename` flag to explicitly set the scenename.
```bash
$ ./scenegen.py https://<some url> -k <some api key>
name: My New Scene
entities:
light.bedroom:
state: on
brightness: 28
light.kitchen:
state: off
light.living_room:
state: off
light.bedside:
state: on
brightness: 125
color_temp: 412
light.office_level_29:
state: on
brightness: 28
```
This output can be cut and pasted into your configuration.yaml file as required (ensuring correct indentation of course).
Scenegen supports all documented effects for lights including transitions and flash effects, however generally it is easier to run scenegen to get the basic setup and add any effects manually later.
Note that depending on the type of light there may be a delay in actually setting up its parameters and Home Assistant actually receiving that state. For instance, if you set a scene up with the Hue App, Home Assistant won't see those changes for up to 10 seconds. Turning on a ZWave light might not be seen for an entire poll interval. For this reason, its good practice to wait for a while after the scene is setup before running scenegen. Alternatively, perform all setup using the Home Assistant frontend and it will instantly have the required state for capture.
## Advanced Usage
For a more advanced way to use the output try the following. In configuration.yaml add the following line:
```yaml
scene: !include_dir_list scenes
```
This will tell Home Assistant to look in the subdirectory `scenes` for yaml files containing scene information. Each file will be named for the scene it will create and should contain information formatted as above. Then simply run Scenegen and redirect its output to the scenes subdirectory:
```bash
./scenegen.py https://<some url> -k <some api key> > scenes/my_new_scene.yaml
```
This will create a new scene called `my_new_scene` which will automatically be picked up by Home Assistant on the next restart.
## Colors
Scenegen allows colors to be captured, and in fact Home Assistant light entities store up to 4 different ways of specifying the colors. This is redundant for creating scenes so Scenegen picks 1 and goes with it. The default is `color_temp` but you can change this with the `--colortype` flag, supported options are `xy_color`, `rgb_color`, `color_temp` and `color_name`.
## Types
By default, Scenegen will list all lights and switches. To restrict the device type use the `--types` option and supply a comma separated list (no spaces) of types to output. e.g.:
```bash
./scenegen.py https://<some url> -k <some api key> --types light,switch
```
or:
```bash
./scenegen.py https://<some url> -k <some api key> --types light
```
This will make more sense as and when more types are added.
## Maps and Filters
Maps allow you to specify and label various subsets of devices that you want to work on together. A mapfile is specified using the `--mapfile` option and is a `.ini` style file consisting of section headers and entries. The section headers specify a region or zone or otherwise organized selection of entities you want to filter on, and it is mandatory to have at least one. If you create a map file like this:
```text
[entities]
light.living_room:
light.dining_room:
```
The trailing colons are necessary to prevent parsing errors for including just keys, as opposed to key=value so just go with it - it reminds us of YAML ;)
If you run scenegen with the `--mapfile` argument pointing to that file you will only get output for the listed entities (the name of the section is irrelevant if not using the `--filter` option). A more complex mapfile might look like this:
```text
[Outside]
light.porch:
switch.path_lights:
[Living Room]
light.living_room_front:
light.living_room_back:
[Bedroom]
light.bedside:
```
Again, if you run with that map file it will output all of the entities listed, however you now have the possibility of restricting output devices based on the sections they are in, using the `--filter` option and supplying a comma separated list of sections you want to include, for instance:
```bash
./scenegen.py https://<some url> -k <some api key> --mapfile map.cfg --filter "Outside,Living Room"
```
The intended use of the mapfile and filter is that you create a map of all your devices and organize them into zones that you are interested in creating scenes for and use the filter to limit output to that zone. For instance you might want to create 3 or 4 scenes for your living room, and once the map is set up you can easily do so without the addition of unwanted devices.
## Updating SceneGen
To update SceneGen after a new version is released, just run the following command to update your copy:
```bash
git pull
```

View File

@ -14,8 +14,8 @@ $ hass --script credstash --help
To store a password in credstash, replace your password or API key with `!secret` and an identifier in `configuration.yaml` file.
```yaml
http:
api_password: !secret http_password
example:
password: !secret example_password
```
Create an entry in your credstash store.

View File

@ -215,7 +215,7 @@ ls /dev/cu.usbmodem*
If your device path changes when you restart, see [this guide](http://hintshop.ludvig.co.nz/show/persistent-names-usb-serial-devices/) on fixing it.
## Random unreachable Z-Wave nodes: ModemManager interference
### Random unreachable Z-Wave nodes: ModemManager interference
If this applies to your situation:
- Some or all Z-Wave nodes are unreachable after restarting Home Assistant; not necessarily after every restart but seemingly random.

View File

@ -128,7 +128,6 @@
<b>{% active_link /docs/scene/ Scenes %}</b>
<ul>
<li>{% active_link /docs/scene/editor/ Editor %}</li>
<li>{% active_link /docs/scene/scenegen/ scenegen %}</li>
</ul>
</li>
<li>

View File

@ -13,7 +13,7 @@ ha_codeowners:
## Automatic setup via Home Assistant Cloud
With [Home Assistant Cloud](/cloud/), you can connect your Home Assistant instance in a few simple clicks to Amazon Alexa. With Home Assistant Cloud you don't have to deal with dynamic DNS, SSL certificates or opening ports on your router. Just log in via the user interface and a secure connection with the cloud will be established. Home Assistant Cloud requires a paid subscription after a 30-day free trial.
With [Home Assistant Cloud](/cloud/), you can connect your Home Assistant instance in a few simple clicks to Amazon Alexa. With Home Assistant Cloud, you don't have to deal with dynamic DNS, SSL certificates, or opening ports on your router. Just log in via the user interface and a secure connection with the cloud will be established. Home Assistant Cloud requires a paid subscription after a 30-day free trial.
For Home Assistant Cloud Users, documentation can be found [here](https://www.nabucasa.com/config/amazon_alexa/).
@ -21,19 +21,19 @@ For Home Assistant Cloud Users, documentation can be found [here](https://www.na
There are a few ways that you can use Amazon Alexa and Home Assistant together.
- [Build custom commands to use](/integrations/alexa.intent/)
- [Build custom commands](/integrations/alexa.intent/)
- [Create a new Flash Briefing source](/integrations/alexa.flash_briefings/)
- [Use the Smart Home API to control lights, etc](/integrations/alexa.smart_home/)
- Alternative: use the [Emulated Hue integration][emulated-hue-component] to trick Alexa to thinking Home Assistant is a Philips Hue hub.
- [Use the Smart Home API to control lights, etc.](/integrations/alexa.smart_home/)
- Alternative: use the [Emulated Hue integration][emulated-hue-component] to trick Alexa into thinking Home Assistant is a Philips Hue hub.
### Requirements
Manual setup the integration with Amazon Alexa needs several requirements
Manual setup of the integration with Amazon Alexa has several requirements:
- Amazon Developer Account. You can sign up [here][amazon-dev-console].
- Building custom commands and Flash Briefing requires your Home Assistant instance to be accessible from the Internet with HTTPS on port 443.
- An [AWS account](https://aws.amazon.com/free/) is needed if you want to use the Smart Home Skill API. A part of your Smart Home Skill will be hosted on [AWS Lambda](https://aws.amazon.com/lambda/pricing/). However, you don't need to worry about costs, AWS Lambda allows free to use up to 1 million requests and 1GB outbound data transfer per month.
- Smart Home API also needs your Home Assistant instance accessible from the Internet.
- Building custom commands and Flash Briefing require your Home Assistant instance to be accessible from the Internet with HTTPS on port 443.
- An [AWS account](https://aws.amazon.com/free/) is needed if you want to use the Smart Home Skill API. A part of your Smart Home Skill will be hosted on [AWS Lambda](https://aws.amazon.com/lambda/pricing/). However, you don't need to worry about costs; AWS Lambda is free for up to 1 million requests and 1GB of outbound data transfer per month.
- Smart Home API also needs your Home Assistant instance to be accessible from the Internet.
[amazon-dev-console]: https://developer.amazon.com
[emulated-hue-component]: /integrations/emulated_hue/

View File

@ -10,7 +10,7 @@ ha_release: 0.13
ha_iot_class: Local Polling
---
[APCUPSd](http://www.apcupsd.org/) status information can be integrated into Home Assistant when the Network Information Server (NIS) [is configured](http://www.apcupsd.org/manual/manual.html#nis-server-client-configuration-using-the-net-driver) is enabled on the APC device.
[APCUPSd](http://www.apcupsd.org/) status information can be integrated into Home Assistant when the Network Information Server (NIS) [is configured](http://www.apcupsd.org/manual/manual.html#nis-server-client-configuration-using-the-net-driver) on the APC device.
There is currently support for the following device types within Home Assistant:

View File

@ -56,12 +56,12 @@ hosts:
The `daikin` climate platform integrates Daikin air conditioning systems into Home Assistant, enabling control of setting the following parameters:
- [**set_hvac_mode**](/integrations/climate/#service-climateset_hvac_mode) (off, heat, cool, auto, or fan only)
- [**target temperature**](https://www.home-assistant.io/integrations/climate#service-climateset_temperature)
- [**turn on/off**](https://www.home-assistant.io/integrations/climate#service-climateturn_on)
- [**fan mode**](https://www.home-assistant.io/integrations/climate#service-climateset_fan_mode) (speed)
- [**swing mode**](https://www.home-assistant.io/integrations/climate#service-climateset_swing_mode)
- [**set_preset_mode**](https://www.home-assistant.io/integrations/climate#service-climateset_preset_mode) (away, none)
- [**set_hvac_mode**](/integrations/climate/#service-climateset_hvac_mode) (`off`, `heat`, `cool`, `heat_cool`, or `fan_only`)
- [**target temperature**](/integrations/climate#service-climateset_temperature)
- [**turn on/off**](/integrations/climate#service-climateturn_on)
- [**fan mode**](/integrations/climate#service-climateset_fan_mode) (speed)
- [**swing mode**](/integrations/climate#service-climateset_swing_mode)
- [**set_preset_mode**](/integrations/climate#service-climateset_preset_mode) (away, none)
Current inside temperature is displayed.

View File

@ -28,7 +28,7 @@ To use Google Assistant, your Home Assistant configuration has to be [externally
</div>
You need to create an API Key with the [Google Cloud API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see [below](#troubleshooting-the-request_sync-service)). If you don't provide one, the `google_assistant.request_sync` service is not exposed. It is recommended to set up this configuration key as it also allows the usage of the following command, "Ok Google, sync my devices". Once you have set up this component, you will need to call this service (or command) each time you add a new device in Home Assistant that you wish to control via the Google Assistant integration.
You will need to create a service account [Create Service account key](https://console.cloud.google.com/apis/credentials/serviceaccountkey) which allows you to update devices without unlinking and relinking an account (see [below](#troubleshooting-the-request_sync-service)). If you don't provide the service account, the `google_assistant.request_sync` service is not exposed. It is recommended to set up this configuration key as it also allows the usage of the following command, "Ok Google, sync my devices". Once you have set up this component, you will need to call this service (or command) each time you add a new device in Home Assistant that you wish to control via the Google Assistant integration. See Step 2 after the note for more details.
1. Create a new project in the [Actions on Google console](https://console.actions.google.com/).
1. Add/Import a project and give it a name.
@ -75,11 +75,9 @@ If you've added Home Assistant to your phone's home screen, you have to first re
6. For the Key type, select the JSON option.
7. Click Create. A JSON file that contains your key downloads to your computer.
8. Use the information in this file or the file directly to add to the `service_account` key in the configuration.
3. If you didn't specify a service account and want to use the `google_assistant.request_sync` service, to update devices without unlinking and relinking, in Home Assistant, then enable HomeGraph API for your project:
1. Go to the [Google API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview).
2. Select your project and click Enable HomeGraph API.
3. Go to Credentials, which you can find on the left navigation bar under the key icon, and select API Key from Create Credentials.
4. Note down the generated API Key and use this in the configuration.
9. Go to the [Google API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview).
10. Select your project and click Enable HomeGraph API.
### Configuration
@ -89,7 +87,6 @@ Now add your setup to your `configuration.yaml` file, such as:
# Example configuration.yaml entry
google_assistant:
project_id: YOUR_PROJECT_ID
api_key: YOUR_API_KEY
service_account: !include SERVICE_ACCOUNT.JSON
report_state: true
exposed_domains:
@ -117,7 +114,7 @@ secure_devices_pin:
type: string
default: ""
api_key:
description: Your HomeGraph API key (for the `google_assistant.request_sync` service). This is not required if a service_account is specified.
description: Your HomeGraph API key (for the `google_assistant.request_sync` service). This is not required if a service_account is specified. This has been deprecated and will be removed in 0.105, you must setup a `service_account` now.
required: false
type: string
service_account:

View File

@ -32,10 +32,6 @@ http:
```
{% configuration %}
api_password:
description: "**Deprecated since 0.90 release. Configuration moved to [Legacy API password auth provider](/docs/authentication/providers/#legacy-api-password).** Protect the Home Assistant API with a password - this password can also be used to log in to the frontend. Where your client or other software supports it, you should use [long lasting access token](/docs/authentication/#your-account-profile) instead, as [shown in the REST API](https://developers.home-assistant.io/docs/en/external_api_rest.html) and [websocket API](https://developers.home-assistant.io/docs/en/external_api_websocket.html) documentation."
required: false
type: string
server_host:
description: "Only listen to incoming requests on specific IP/host. By default it will accept all IPv4 connections. Use `server_host: ::0` if you want to listen to (and only) IPv6."
required: false
@ -166,6 +162,12 @@ If you want to use Home Assistant to host or serve static files then create a di
</div>
<div class='note warning'>
Files served from the `www`/`local` folder, aren't protected by the Home Assistant authentication. Files stored in this folder, if the URL is known, can be accessed by anybody without authentication.
</div>
## Binary Sensor
The HTTP binary sensor is dynamically created with the first request that is made to its URL. You don't have to define it in the configuration first.

View File

@ -7,11 +7,11 @@ ha_category:
- Light
ha_iot_class: Local Polling
featured: true
ha_release: '0.60'
ha_release: "0.60"
ha_config_flow: true
ha_quality_scale: platinum
ha_codeowners:
- '@balloob'
- "@balloob"
---
Philips Hue support is integrated into Home Assistant as a hub that can drive the light and sensor platforms. The preferred way to set up the Philips Hue platform is by enabling the [discovery component](/integrations/discovery/).
@ -46,10 +46,6 @@ allow_unreachable:
required: false
type: boolean
default: false
filename:
description: Make this unique if specifying multiple Hue bridges.
required: false
type: string
allow_hue_groups:
description: Disable this to stop Home Assistant from importing the groups defined on the Hue bridge.
required: false
@ -70,18 +66,14 @@ hue:
### Multiple Hue bridges
Multiple Hue bridges work transparently with discovery, so you don't have to do anything special to set them up. If you prefer to configure them manually and use multiple Hue bridges, then you need to provide a configuration file for every bridge. The bridges can't share a single configuration file.
Add `filename` to your Hue configuration entry in your `configuration.yaml` file:
Multiple Hue bridges work transparently with discovery, so you don't have to do anything special to set them up.
```yaml
# Example configuration.yaml entry
hue:
bridges:
- host: BRIDGE1_IP_ADDRESS
filename: phue.conf
- host: BRIDGE2_IP_ADDRESS
filename: phue2.conf
```
### Using Hue Groups in Home Assistant
@ -135,12 +127,12 @@ script:
scene_name: "Porch Orange"
```
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `group_name` | no | The group/room name of the lights. Find this in the official Hue app.
| `scene_name` | no | The name of the scene. Find this in the official Hue app.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | --------------------------------------------------------------------- |
| `group_name` | no | The group/room name of the lights. Find this in the official Hue app. |
| `scene_name` | no | The name of the scene. Find this in the official Hue app. |
*Note*: `group_name` is not a reference to a Home Assistant group name. It can only be the name of a group/room in the Hue app.
_Note_: `group_name` is not a reference to a Home Assistant group name. It can only be the name of a group/room in the Hue app.
### Finding Group and Scene Names

View File

@ -23,9 +23,10 @@ To add KEF Speakers to your installation, add the following to your `configurati
```yaml
# Example configuration.yaml entry
- platform: kef
host: IP_ADDRESS
type: LS50
media_player:
- platform: kef
host: IP_ADDRESS
type: LS50
```
{% configuration %}
@ -77,16 +78,18 @@ supports_on:
```yaml
# Example configuration.yaml entry
- platform: kef
host: IP_ADDRESS
type: LS50
name: My KEF speakers
maximum_volume: 0.6
volume_step: 0.05
media_player:
- platform: kef
host: IP_ADDRESS
type: LS50
name: My KEF speakers
maximum_volume: 0.6
volume_step: 0.05
```
Notes:
- The LS50 Wireless is tested with the latest firmware of 19-11-2019: `p6.3001902221.105039422` and older firmware: `p6.2101809171.105039422`
- The LS50 Wireless was tested with the latest firmware of 19-11-2019: `p6.3001902221.105039422` and older firmware: `p6.2101809171.105039422`
- The LSX Wireless was tested with the latest firmware of 10-10-2019 v4.1: `p20.4101909240.105243`
[KEF Speakers]: /integrations/kef/

View File

@ -10,7 +10,7 @@ ha_codeowners:
- '@elupus'
---
The `philips_js` platform allows you to control Philips TVs which expose the [jointSPACE](http://jointspace.sourceforge.net/) API. Instructions on how to activate the API and if your model is supported can be found [here](http://jointspace.sourceforge.net/download.html).
The `philips_js` platform allows you to control Philips TVs which expose the [jointSPACE](http://jointspace.sourceforge.net/) JSON-API. Instructions on how to activate the API and if your model is supported can be found [here](http://jointspace.sourceforge.net/download.html). Note that not all listed, jointSPACE-enabled devices won't have JSON-interface running on port 1925. This is true at least for some models before year 2011.
To add your TV to your installation, add the following to your `configuration.yaml` file:

View File

@ -11,6 +11,12 @@ ha_codeowners:
- '@dcramer'
---
<div class='note warning'>
The free Sentry account allows 5000 events per month. Depending on the amount of events sent to Sentry you will either have to upgrade your Sentry account or have a period without data flowing from Home Assistant to Sentry.
</div>
The `sentry` integration integrates with [Sentry](https://sentry.io/) to capture both logged errors as well as unhandled exceptions in Home Assistant.
## Configuration
@ -33,3 +39,12 @@ environment:
required: false
type: string
{% endconfiguration %}
### Getting the DSN
Follow these steps to get the DSN:
- Go to **Projects**.
- Click **Create project**.
- Fill out **Give your project a name** and **choose Assign a Team** fields and click Create project button.
- Click **Get your DSN** link in top of the page.
- Your DSN is now visable and looks like https://sdasdasdasdsadsadas@sentry.io/sdsdfsdf

View File

@ -9,7 +9,7 @@ ha_codeowners:
- '@bbernhard'
---
The `signal_messenger` integration uses the [Signal Messenger REST API](https://github.com/bbernhard/signal-cli-rest-api) to deliver notifications from Home Assistant to your Android or iOs device.
The `signal_messenger` integration uses the [Signal Messenger REST API](https://github.com/bbernhard/signal-cli-rest-api) to deliver notifications from Home Assistant to your Android or iOS device.
## Setup
@ -32,9 +32,9 @@ notify:
- name: signal
platform: signal_messenger
url: "http://127.0.0.1:8080" # the URL where the Signal Messenger REST API is listening
number: YOUR_PHONE_NUMBER # the sender number
number: "YOUR_PHONE_NUMBER" # the sender number
recipients: # one or more recipients
- RECIPIENT1
- "RECIPIENT1"
```
{% configuration %}
@ -79,5 +79,6 @@ action:
service: notify.NOTIFIER_NAME
data:
message: "Alarm in the living room!"
attachment: "/tmp/surveillance_camera.jpg"
data:
attachment: "/tmp/surveillance_camera.jpg"
```

View File

@ -26,7 +26,7 @@ binary_sensor:
{% configuration %}
province:
description: a province to use for the binary sensor's state. Currently only provinces in the Netherlands are supported. Valid values are `Drenthe`, `Flevoland`, `Friesland`, `Gelderland`, `Groningen`, `Limburg`, `Noord-Brabant`, `Noord-Holland`, `Overijssel`, `Utrecht`, `Zeeland` or `Zuid-Holland`.
description: A province to use for the binary sensor's state. Currently only provinces in the Netherlands are supported. Valid values are `Drenthe`, `Flevoland`, `Friesland`, `Gelderland`, `Groningen`, `Limburg`, `Noord-Brabant`, `Noord-Holland`, `Overijssel`, `Utrecht`, `Zeeland` or `Zuid-Holland`.
required: true
type: string
name:

View File

@ -39,6 +39,7 @@ The following devices are known to work with this component.
- HS107 (indoor 2-outlet)
- HS300 (powerstrip 6-outlet)
- KP303 (powerstrip 3-outlet)
- KP400 (outdoor 2-outlet)
- KP200 (indoor 2-outlet)

View File

@ -76,13 +76,14 @@ When providing `select_source` as a command, it is recommended to also provide t
## Usage examples
#### Chromecast & Kodi control with switches
### Chromecast & Kodi control with switches
In this example, a switch is available to control the power of the television. Switches are also available to turn the volume up, turn the volume down, and mute the audio. These could be command line switches or any other entity in Home Assistant. The `turn_on` and `turn_off` commands will be redirected to the television, and the volume commands will be redirected to an audio receiver. The `select_source` command will be passed directly to an A/V receiver.
The children are a Chromecast and a Kodi player. If the Chromecast is playing, the Universal Media Player will reflect its status. If the Chromecast is idle and Kodi is playing, the universal media player will change to reflect its status.
{% raw %}
```yaml
media_player:
platform: universal
@ -129,6 +130,7 @@ media_player:
source: media_player.receiver|source
source_list: media_player.receiver|source_list
```
{% endraw %}
#### Kodi CEC-TV control
@ -139,24 +141,19 @@ We store the state of the attached TV in a hidden [input boolean](/integrations/
Because the input boolean used to store the TV state is only changing when using the Home Assistant `turn_on` and `turn_off` actions, and Kodi could be controlled by so many ways, we also define some automations to update this Input Boolean when needed.
In an Apple HomeKit scene, we can now expose this universal media player as an on/off switch in Homebridge, and, that way, use Siri to turn on and off the TV.
The complete configuration is:
{% raw %}
```yaml
homeassistant:
customize:
input_boolean.kodi_tv_state:
hidden: true
homebridge_hidden: true
media_player.kodi:
hidden: true
homebridge_hidden: true
media_player.kodi_tv:
friendly_name: Kodi
homebridge_name: Kodi
homebridge_media_player_switch: on_off
input_boolean:
kodi_tv_state:
@ -236,4 +233,5 @@ automation:
- service: media_player.turn_off
entity_id: media_player.kodi_tv
```
{% endraw %}

View File

@ -190,23 +190,29 @@ In addition to [all of the attributes provided by the `vacuum` component](/integ
- `main_brush_left`
- `side_brush_left`
- `filter_left`
- `sensor_dirty_left`
- `cleaning_count`
- `total_cleaned_area`
- `total_cleaning_time`
- `clean_start`
- `clean_end`
The following table shows the units of measurement for each attribute:
| Attribute | Unit of measurement | Description |
|---------------------------|---------------------|-------------------------------------------------------|
| `do_not_disturb` | | DND mode on / off |
| `cleaning_time` | minutes | Last / actual cleaning time in minutes |
| `cleaned_area` | square meter | Last / actual cleaned area in square meters |
| `main_brush_left` | hours | Hours left until a change of the main brush is needed |
| `side_brush_left` | hours | Hours left until a change of the side brush is needed |
| `filter_left` | hours | Hours left until a change of the filter is needed |
| `cleaning_count` | | Number of total cleaning cycles |
| `total_cleaned_area` | square meter | Total cleaned area in square meters |
| `total_cleaning_time` | minutes | Total cleaning time in minutes |
| Attribute | Unit of measurement | Description |
|---------------------------|---------------------|----------------------------------------------------------------|
| `do_not_disturb` | | DND mode on / off |
| `cleaning_time` | minutes | Last / actual cleaning time in minutes |
| `cleaned_area` | square meter | Last / actual cleaned area in square meters |
| `main_brush_left` | hours | Hours left until a change of the main brush is needed |
| `side_brush_left` | hours | Hours left until a change of the side brush is needed |
| `filter_left` | hours | Hours left until a change of the filter is needed |
| `sensor_dirty_left` | hours | Hours left until the wall and cliff sensors should be cleaned |
| `cleaning_count` | | Number of total cleaning cycles |
| `total_cleaned_area` | square meter | Total cleaned area in square meters |
| `total_cleaning_time` | minutes | Total cleaning time in minutes |
| `clean_start` | datetime | The last date/time the vacuum started cleaning (offset naive) |
| `clean_end` | datetime | The last date/time the vacuum finished cleaning (offset naive) |
## Retrieving the Access Token
@ -225,7 +231,7 @@ This token (32 hexadecimal characters) is required for the Xiaomi Mi Robot Vacuu
### Android (not rooted)
> If using an Android device to retrieve the Access Token only `v5.4.49` of Mi Home is confirmed working (December 2019).
> If using an Android device to retrieve the Access Token only `v5.4.49` of Mi Home is confirmed working (December 2019).
1. To begin, set up your Robovac with the latest version of Mi Home on your primary Android device as you normally would.
2. Using `v5.4.49` of Mi Home locate a text file under the `Smarthome/logs` folder where the 32 character token is stored.
@ -334,12 +340,37 @@ vacuum_kitchen:
Where params specify room numbers, for multiple rooms, params can be specified like `[17,18]`.
Valid room numbers can be retrieved using miio command-line tool. It will only give room numbers and not the room names. To get the room names, one can just test the app_segment_clean command and see which room it cleans.
Valid room numbers can be retrieved using miio command-line tool. It will only give room numbers and not the room names. To get the room names, one can just test the app_segment_clean command and see which room it cleans.
```bash
miio protocol call <ip of the vacuum> get_room_mapping
```
## Example on how to reset maintenance hours (brushes, filter, sensors)
The vacuum entity stores attribute values for when brushes, filters and sensors need to be
cleaned or replaced (`main_brush_left`, `side_brush_left`, `filter_left` and
`sensor_dirty_left`). The values are measured in hours. Once the parts are cleaned
or replaced you can then reset those values on the vacuum. Here is an example script using
[`vacuum.send_command`](/integrations/vacuum/) to reset the hours for the main brush:
```yaml
reset_main_brush_left:
alias: "Reset hours for main brush replacement"
sequence:
- service: vacuum.send_Command
data:
entity_id: vacuum.xiaomi_vacuum_cleaner
command: reset_consumable
params: ['main_brush_work_time']
```
Allowed `params` for the `reset_consumable` command:
* `['main_brush_work_time']`
* `['side_brush_work_time']`
* `['filter_work_time']`
* `['sensor_dirty_time']`
## Retrieving Zoned Cleaning Coordinates
### Using FloleVac (Android)

View File

@ -44,7 +44,7 @@ name:
required: false
type: string
standby_connection:
description: Keep connection alive when TV is in standby (this should be set to try if and only if the "Standby+" option is enabled in the TV UI.)
description: Keep connection alive when TV is in standby (this should be set to true if and only if the "Standby+" option is enabled in the TV UI.)
required: false
type: boolean
default: false

View File

@ -13,7 +13,7 @@ Our community is amazingly helpful and creative. If you haven't been there yet,
### SceneGen - cli for making scenes
[SceneGen] is a new command line utility developed by [Andrew Cockburn] that helps with creating scene configurations for Home Assistant. To use it, you put your house in the preferred state, run SceneGen and it will print the scene configuration for your current states.
SceneGen is a new command line utility developed by [Andrew Cockburn] that helps with creating scene configurations for Home Assistant. To use it, you put your house in the preferred state, run SceneGen and it will print the scene configuration for your current states.
### Videos
@ -36,7 +36,6 @@ Muhammed Kilic has created a video how to make your Home Assistant instance acce
</div>
[chat room]: https://discord.gg/c5DvZ4e
[SceneGen]: https://github.com/acockburn/scenegen
[Andrew Cockburn]: https://github.com/acockburn
[BRUH Automation]: http://www.bruhautomation.com/
[Nick Touran]: https://partofthething.com

View File

@ -104,7 +104,7 @@ We've added a warning to 0.32 to catch platforms accidentally slowing down Home
Our website has now an additional category called "Ecosystem". This will become the place where tools, apps, and other helper for the Home Assistant ecosystem can store their documentation or guides.
- [iOS](/ecosystem/ios/)
- [SceneGen](/ecosystem/scenegen/)
- SceneGen
### Breaking changes

View File

@ -179,7 +179,7 @@ time for him to show off his Lovelace dashboard, featuring this lovely theme.
<blockquote class="reddit-card"><a href="https://www.reddit.com/r/homeassistant/comments/enpeik/i_keep_seeing_my_own_theme_on_reddit_so_now_its/">I keep seeing my own theme on Reddit, so now it's my turn! [OC]</a> from <a href="http://www.reddit.com/r/homeassistant">r/homeassistant</a></blockquote>
<script async src="//embed.redditmedia.com/widgets/platform.js" charset="UTF-8"></script>
His theme is [publicly available on GitHub](https://github.com/basnijholt/lovelace-ios-dark-mode-theme/).
His theme is [publicly available on GitHub](https://github.com/basnijholt/lovelace-ios-dark-mode-theme/) and so is [his config](https://github.com/basnijholt/home-assistant-config).
## New Integrations
@ -235,6 +235,10 @@ Make sure to fill in all fields of the issue template, that is helping us a lot!
([@balloob] - [#23789]) ([automation docs]) ([calendar docs]) ([cover docs]) ([device_tracker docs]) ([fan docs]) ([light docs]) ([lock docs]) ([plant docs]) ([remember_the_milk docs]) ([remote docs]) ([script docs]) ([switch docs]) ([vacuum docs]).
- __Hue__ - Hue will no longer import existing authentication from disk. It has not written this authentication to disk since March 2018. The config option has been deprecated and will be removed in 0.106. ([@balloob] - [#30000]) ([hue docs])
- __deCONZ__ - Due to changes to configuration handling, deCONZ groups will be assigned new identifiers in Home Assistant. As a result, deCONZ groups will be duplicated. Remove any group devices from the registry prior to upgrading or alternatively delete the obsolete entries after the upgrade to eliminate the duplicates. ([#30875]) ([deconz docs])
- __UPnP__ - UPnP/IGD units of measurement have been aligned with other integrations and common uses, they're now kB and kB/s instead of kbyte and kbyte/sec respectively. - ([@scop] - [#29552]) ([upnp docs])
- __Worx Landroid__ - The `worxlandroid` sensor has been changed to not return the hardcoded state values `manual-stop`, `charging`, `charging-complete`, `going-home`, `mowing`, instead use the states given from the Landroid to Home Assistant.
@ -242,7 +246,7 @@ Make sure to fill in all fields of the issue template, that is helping us a lot!
This includes the state `idle`, which means that something is broken with the mower. You can use this as a notification to check the physical state of the mower.
You need to update any automations that depend on the state of the sensor.
([@geraldhansen] - [#27453]) ([worxlandroid docs])
- __Apple iCloud__ - The iCloud component is no longer part of the device tracker platform and is now an integration, which is configurable via the UI. The iCloud cookie folder moved from `[HA_dir]/icloud` to `[HA_dir]/.storage/icloud`.- ([@Quentame] - [#28968]) ([icloud docs])
@ -366,9 +370,11 @@ Make sure to fill in all fields of the issue template, that is helping us a lot!
- __Binary Sensor (Locks)__ - Updated ON/OFF condition and triggers to match the documentation and UI. This change inverts the logic of automations relating to binary sensor with the `lock` device class, but only for automations triggering on the lock state (rather than triggering a lock/unlock action).
If you already created automations, you will need to check those, as they probably need to be inverted. The text displayed in the trigger or condition dropdowns in Lovelace will now be correct.
One possible scenario is if you have set an automation using the state of one lock to trigger an action on other lock(s). This change would cause the action to trigger on `locking` if it was previously triggering on `unlocking`. - ([@davet2001] - [#30663]) ([binary_sensor docs])
- __Google Assistant__ - The `api_key` for manual installs is now deprecated and will be removed in 0.105. To correct this you will need to remove `api_key` from the `configuration.yaml` and switch to using `service_account` instead. - ([@elupus] - [#30402]) ([google_assistant docs])
## Beta Fixes
- Fix upnp raw sensor state formatting when None ([@pnbruckner] - [#30444]) ([upnp docs]) (beta fix)
@ -403,6 +409,108 @@ Make sure to fill in all fields of the issue template, that is helping us a lot!
- Refactor Ring data handling ([@balloob] - [#30777]) ([ring docs]) (beta fix)
- Restore unit_of_measurement from entity registry ([@Jc2k] - [#30780]) (beta fix)
## Release 0.104.1 - January 16
- 0.104.0 ([@frenck] - [#30803])
- Update emulated_roku to 0.1.9 ([@jdeluyck] - [#30791]) ([emulated_roku docs])
- update to aiopylgtv 0.2.7 ([@bendavid] - [#30797]) ([webostv docs])
- Fix setup error of Mikrotik ([@springstan] - [#30810]) ([mikrotik docs])
- Handle no host info in ignored config entries ([@balloob] - [#30822]) ([hue docs])
- Fix mpd time issue ([@pvizeli] - [#30825]) ([mpd docs])
- Fix play_media in webostv ([@bendavid] - [#30828]) ([webostv docs])
- Fix iCloud when no family members (issue #30829) ([@Quentame] - [#30836]) ([icloud docs])
- Reinstate and deprecate filename option for hue config ([@balloob] - [#30846]) ([hue docs])
- Fixes issue about messages not being reset after sending it to microsoft teams. ([@peroyvind] - [#30849]) ([msteams docs])
- Fix sensor type creation with multiple Ambient weather stations ([@bachya] - [#30850]) ([ambient_station docs])
[#30791]: https://github.com/home-assistant/home-assistant/pull/30791
[#30797]: https://github.com/home-assistant/home-assistant/pull/30797
[#30803]: https://github.com/home-assistant/home-assistant/pull/30803
[#30810]: https://github.com/home-assistant/home-assistant/pull/30810
[#30822]: https://github.com/home-assistant/home-assistant/pull/30822
[#30825]: https://github.com/home-assistant/home-assistant/pull/30825
[#30828]: https://github.com/home-assistant/home-assistant/pull/30828
[#30836]: https://github.com/home-assistant/home-assistant/pull/30836
[#30846]: https://github.com/home-assistant/home-assistant/pull/30846
[#30849]: https://github.com/home-assistant/home-assistant/pull/30849
[#30850]: https://github.com/home-assistant/home-assistant/pull/30850
[@Quentame]: https://github.com/Quentame
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
[@bendavid]: https://github.com/bendavid
[@frenck]: https://github.com/frenck
[@jdeluyck]: https://github.com/jdeluyck
[@peroyvind]: https://github.com/peroyvind
[@pvizeli]: https://github.com/pvizeli
[@springstan]: https://github.com/springstan
[ambient_station docs]: /integrations/ambient_station/
[emulated_roku docs]: /integrations/emulated_roku/
[hue docs]: /integrations/hue/
[icloud docs]: /integrations/icloud/
[mikrotik docs]: /integrations/mikrotik/
[mpd docs]: /integrations/mpd/
[msteams docs]: /integrations/msteams/
[webostv docs]: /integrations/webostv/
## Release 0.104.2 - January 17
- 0.104.0 ([@frenck] - [#30803])
- add multistate back ([@dmulcahey] - [#30889]) ([zha docs])
- Fix missing switch groups of HomematicIP Cloud ([@SukramJ] - [#30903]) ([homematicip_cloud docs])
- Fix issue with group unique id when normalising bridge id ([@Kane610] - [#30904]) ([deconz docs])
- Fix Alexa semantics for covers with tilt support. ([@ochlocracy] - [#30911]) ([alexa docs])
- camera endpoint likes to timeout, catch it. ([@balloob] - [#30919]) ([ring docs])
- Fix service device refresh calling state update ([@Kane610] - [#30920]) ([deconz docs])
- Updated frontend to 20200108.2 ([@bramkragten] - [#30921]) ([frontend docs])
- Fix hue accepting filename ([@balloob] - [#30924]) ([hue docs])
[#30803]: https://github.com/home-assistant/home-assistant/pull/30803
[#30889]: https://github.com/home-assistant/home-assistant/pull/30889
[#30903]: https://github.com/home-assistant/home-assistant/pull/30903
[#30904]: https://github.com/home-assistant/home-assistant/pull/30904
[#30911]: https://github.com/home-assistant/home-assistant/pull/30911
[#30919]: https://github.com/home-assistant/home-assistant/pull/30919
[#30920]: https://github.com/home-assistant/home-assistant/pull/30920
[#30921]: https://github.com/home-assistant/home-assistant/pull/30921
[#30924]: https://github.com/home-assistant/home-assistant/pull/30924
[@Kane610]: https://github.com/Kane610
[@SukramJ]: https://github.com/SukramJ
[@balloob]: https://github.com/balloob
[@bramkragten]: https://github.com/bramkragten
[@dmulcahey]: https://github.com/dmulcahey
[@frenck]: https://github.com/frenck
[@ochlocracy]: https://github.com/ochlocracy
[alexa docs]: /integrations/alexa/
[deconz docs]: /integrations/deconz/
[frontend docs]: /integrations/frontend/
[homematicip_cloud docs]: /integrations/homematicip_cloud/
[hue docs]: /integrations/hue/
[ring docs]: /integrations/ring/
[zha docs]: /integrations/zha/
## Release 0.104.3 - January 21
- Catch all Ring timeout errors ([@balloob] - [#30960]) ([ring docs])
- Update emulated_roku to 0.2.0 ([@jdeluyck] - [#30974]) ([emulated_roku docs])
- Ring camera fix ([@steve-gombos] - [#30975]) ([ring docs])
- Fix capability_attributes when supported_features is None ([@JeffLIrion] - [#30993]) ([water_heater docs])
- Fix deCONZ update entry from Hassio discovery ([@frenck] - [#31015]) ([deconz docs])
[#30960]: https://github.com/home-assistant/home-assistant/pull/30960
[#30974]: https://github.com/home-assistant/home-assistant/pull/30974
[#30975]: https://github.com/home-assistant/home-assistant/pull/30975
[#30993]: https://github.com/home-assistant/home-assistant/pull/30993
[#31015]: https://github.com/home-assistant/home-assistant/pull/31015
[@JeffLIrion]: https://github.com/JeffLIrion
[@balloob]: https://github.com/balloob
[@frenck]: https://github.com/frenck
[@jdeluyck]: https://github.com/jdeluyck
[@steve-gombos]: https://github.com/steve-gombos
[deconz docs]: /integrations/deconz/
[emulated_roku docs]: /integrations/emulated_roku/
[ring docs]: /integrations/ring/
[water_heater docs]: /integrations/water_heater/
## All changes
- Move imports to top for decora_wifi ([@springstan] - [#29439]) ([decora_wifi docs])

View File

@ -2,6 +2,11 @@
title: "Lovelace Changelog"
description: "Changelog of the Lovelace UI."
---
## Changes in 0.104.0
- ❤️ Add ability to remove Lovelace config [#4430](https://github.com/home-assistant/home-assistant-polymer/pull/4430) @bramkragten
- ❤️ Add support to add all device entities to Lovelace [#4356](https://github.com/home-assistant/home-assistant-polymer/pull/4356) @bramkragten
- 📣 Upgrade MDI icons to 4.7.95 [#4341](https://github.com/home-assistant/home-assistant-polymer/pull/4341) @bonanitech
## Changes in 0.101.0
- ❤️ [entities card]: Add actions on rows [#4023](https://github.com/home-assistant/home-assistant-polymer/pull/4023) @iantrich
- ❤️ [entities card]: New `icon` option for title [#4024](https://github.com/home-assistant/home-assistant-polymer/pull/4024) @iantrich