+
Cards
-
-
diff --git a/source/_integrations/daikin.markdown b/source/_integrations/daikin.markdown
index b50615e62c8..109bf1e5179 100644
--- a/source/_integrations/daikin.markdown
+++ b/source/_integrations/daikin.markdown
@@ -35,6 +35,16 @@ There is currently support for the following device types within Home Assistant:
The Daikin integration can be configured via the Home Assistant user interface where it will let you enter the IP-address of your Daikin AC (SKYFi based devices need to provide a password and BRP072Cxx devices need to provide a key).
+
+
+If your Daikin unit does not reside in the same network as your Home Assistant instance, i.e. your network is segmented, note that a couple of UDP connections are made during discovery:
+
+- From Home Assistant to the Daikin controller: `UDP:30000` => `30050`
+- From the Daikin controller to Home Assistant: `UDP:` => `30000`
+
+If this situation applies to you, you may need to adjust your firewall(s) accordingly.
+
+
## Climate
diff --git a/source/_integrations/denonavr.markdown b/source/_integrations/denonavr.markdown
index fcc35d4f7f3..856877760ce 100644
--- a/source/_integrations/denonavr.markdown
+++ b/source/_integrations/denonavr.markdown
@@ -19,6 +19,7 @@ Known supported devices:
- Denon AVR-X1000
- Denon AVR-X1200W
- Denon AVR-X1300W
+- Denon AVR-X1400H
- Denon AVR-X1500H
- Denon AVR-X1600H
- Denon AVR-X2000
diff --git a/source/_integrations/epson.markdown b/source/_integrations/epson.markdown
index 13007710fc6..6b0165fd32e 100644
--- a/source/_integrations/epson.markdown
+++ b/source/_integrations/epson.markdown
@@ -56,6 +56,7 @@ Supported devices:
Tested devices:
- Epson EH-TW5350
+- Epson EH-TW7000
To make this module work you need to connect your projector to your LAN.
The best is to use iProjection app by Epson to test if it is working.
diff --git a/source/_integrations/konnected.markdown b/source/_integrations/konnected.markdown
index 42878e21d3a..38ac557fb1b 100644
--- a/source/_integrations/konnected.markdown
+++ b/source/_integrations/konnected.markdown
@@ -61,6 +61,7 @@ Once configuration is completed you'll see a Konnected.io entry in **Configurati
The settings for each panel can be accessed by selecting the entry in **Configuration** -> **Integrations** => **Configured** and then clicking on the gear icon in the upper right corner. You can reconfigure these settings at any time and once completed the settings will be immediately applied.
The settings UI starts by having you configure the general behavior of each zone. You need to specify `Disabled`, `Binary Sensor`, `Digital Sensor`, or `Switchable Output` for each zone. After that, you'll be prompted, for each zone that is not disabled, to configure details of the zones' behavior. All zones will allow entry of a Name. Additional fields depend on how you configured the general behavior of the zone.
+**Note some zones do not support all behaviors. The UI will reflect specific options available to each zone.**
##### Binary Sensor:
diff --git a/source/_integrations/nuki.markdown b/source/_integrations/nuki.markdown
index e3b3b981ee6..0f92c1ee5b3 100644
--- a/source/_integrations/nuki.markdown
+++ b/source/_integrations/nuki.markdown
@@ -12,7 +12,7 @@ ha_domain: nuki
The `nuki` platform allows you to control [Nuki Smart Locks](https://nuki.io/en/smart-lock/) via either a [software bridge](https://play.google.com/store/apps/details?id=io.nuki.bridge) or a [physical bridge](https://nuki.io/en/bridge/).
-To add a Nuki bridge to your installation, you need to enable developer mode on your bridge and define a port and an access token. This can be achieved using the [Android app](https://play.google.com/store/apps/details?id=io.nuki) or [iPhone app](https://apps.apple.com/app/nuki-smart-lock/id1044998081). Please note that the API token should be 6-20 characters long, even though the app allows you to set a longer one.
+To add a Nuki bridge to your installation, you need to enable developer mode on your bridge and define a port and an access token. This can be achieved using the [Android app](https://play.google.com/store/apps/details?id=io.nuki) or [iPhone app](https://apps.apple.com/app/nuki-smart-lock/id1044998081). Go to manage my devices, and select the bridge. Within the bridge configuration turn on the HTTP API and check the details in the screen. Please note that the API token should be 6-20 characters long, even though the app allows you to set a longer one.
Then add the following to your `configuration.yaml` file:
```yaml
diff --git a/source/_integrations/octoprint.markdown b/source/_integrations/octoprint.markdown
index b259aa96cd9..b4be17ddd83 100644
--- a/source/_integrations/octoprint.markdown
+++ b/source/_integrations/octoprint.markdown
@@ -17,10 +17,6 @@ There is currently support for the following device types within Home Assistant:
- [Binary Sensor](#binary-sensor)
- [Sensor](#sensor)
-
-You must have the
OctoPrint component configured (below) to use the sensor and binary sensor. After configuring that component, the sensors and binary sensors automatically appear.
-
-
## Configuration
To get started with the OctoPrint API, please follow the directions on their [site](https://docs.octoprint.org/en/master/api/general.html). Once OctoPrint is configured you will need to add your API key and host to your `configuration.yaml`.
diff --git a/source/_integrations/opensky.markdown b/source/_integrations/opensky.markdown
index 00b22e2087c..86b46b4608e 100644
--- a/source/_integrations/opensky.markdown
+++ b/source/_integrations/opensky.markdown
@@ -42,6 +42,7 @@ Both events have three attributes:
To receive notifications of the entering flights using the [Home Assistant Companion App](https://companion.home-assistant.io/), add the following lines to your `configuration.yaml` file:
{% raw %}
+
```yaml
automation:
- alias: 'Flight entry notification'
@@ -51,6 +52,7 @@ automation:
action:
service: notify.mobile_app_
data:
- message : 'Flight entry of {{ trigger.event.data.callsign }} '
+ message: 'Flight entry of {{ trigger.event.data.callsign }}'
```
+
{% endraw %}
diff --git a/source/_integrations/proximity.markdown b/source/_integrations/proximity.markdown
index f60bada2fe3..e214d2ee66b 100644
--- a/source/_integrations/proximity.markdown
+++ b/source/_integrations/proximity.markdown
@@ -42,7 +42,7 @@ To enable this integration in your installation, add the following to your `conf
proximity:
home:
ignored_zones:
- - twork
+ - work
devices:
- device_tracker.car1
tolerance: 50
diff --git a/source/_integrations/sensor.buienradar.markdown b/source/_integrations/sensor.buienradar.markdown
index d6381036bcf..2b75385f290 100644
--- a/source/_integrations/sensor.buienradar.markdown
+++ b/source/_integrations/sensor.buienradar.markdown
@@ -97,9 +97,9 @@ monitored_conditions:
irradiance:
description: "Sun intensity in Watt per square meter ([W/m2](https://en.wikipedia.org/wiki/W/m2))."
rainlast24hour:
- description: The rail over the last 24 hours (in mm).
+ description: The rain over the last 24 hours (in mm).
rainlasthour:
- description: The rail over the last hour (in mm).
+ description: The rain over the last hour (in mm).
temperature_1d:
description: "The forecasted temperature (in [C](https://en.wikipedia.org/wiki/Celsius))."
mintemp_1d:
diff --git a/source/_integrations/simplisafe.markdown b/source/_integrations/simplisafe.markdown
index 170f75d2cf8..34f7a067851 100644
--- a/source/_integrations/simplisafe.markdown
+++ b/source/_integrations/simplisafe.markdown
@@ -2,6 +2,7 @@
title: SimpliSafe
description: Instructions on how to integrate SimpliSafe into Home Assistant.
ha_release: 0.81
+ha_iot_class: Cloud Polling
ha_category:
- Alarm
- Lock
diff --git a/source/_integrations/tado.markdown b/source/_integrations/tado.markdown
index 3e9dbe9c056..9535717e59b 100644
--- a/source/_integrations/tado.markdown
+++ b/source/_integrations/tado.markdown
@@ -132,7 +132,7 @@ In this example `12345` is the `home_id` you'll need to configure.
If the above method returns an unauthorized error. The `home_id` can also be found using Chrome developer tools. Whilst logged into https://my.tado.com/webapp, take the following steps:
-- Select the "Networ"' tab
+- Select the "Network"' tab
- Filter for "home"
- Under "Name", select "users"
- Click on the "Response" tab
diff --git a/source/_integrations/vallox.markdown b/source/_integrations/vallox.markdown
index 7af9e4afc11..e437200327b 100644
--- a/source/_integrations/vallox.markdown
+++ b/source/_integrations/vallox.markdown
@@ -67,6 +67,24 @@ automation:
```
{% endraw %}
+In order to also update the input select in case some external event changes the Vallox profile (web interface, mechanical switch, reboot, etc...) you can use the following automation:
+
+{% raw %}
+```yaml
+automation:
+ - alias: Update Vallox input_select
+ description: Update input_select when external event changes the profile
+ trigger:
+ - entity_id: sensor.vallox_current_profile
+ platform: state
+ action:
+ - data_template:
+ entity_id: input_select.ventilation_profile
+ option: "{{ states('sensor.vallox_current_profile') }}"
+ service: input_select.select_option
+```
+{% endraw %}
+
## Fan Services
### Service `vallox.set_profile`
diff --git a/source/_integrations/wled.markdown b/source/_integrations/wled.markdown
index d28eefea91b..00e6b0f6dda 100644
--- a/source/_integrations/wled.markdown
+++ b/source/_integrations/wled.markdown
@@ -70,8 +70,8 @@ This integration provides sensors for the following information from WLED:
- Estimated current (in mA).
- Uptime (disabled by default)
- Free memory (in bytes, disabled by default).
-- Wi-Fi Signal Strength (in %m disabled by default).
-- Wi-Fi Signal Strength (RSSI in dBm).
+- Wi-Fi Signal Strength (in %, disabled by default).
+- Wi-Fi Signal Strength (RSSI in dBm, disabled by default).
- Wi-Fi Channel (disabled by default).
- Wi-Fi BSSID (disabled by default).
diff --git a/source/_integrations/xiaomi_aqara.markdown b/source/_integrations/xiaomi_aqara.markdown
index 01b2fe00cc5..69cc0f56695 100644
--- a/source/_integrations/xiaomi_aqara.markdown
+++ b/source/_integrations/xiaomi_aqara.markdown
@@ -69,11 +69,6 @@ key:
description: The key of your gateway. *Optional if only using sensors and/or binary sensors.*
required: false
type: string
-discovery_retry:
- description: Number of times that Home Assistant should try to discover subdevices of the gateway.
- required: false
- type: integer
- default: 3
name:
description: Name of the Gateway
required: false
@@ -221,7 +216,6 @@ That means that Home Assistant is not getting any response from your Xiaomi gate
- Make sure you have [enabled LAN access](https://www.domoticz.com/wiki/Xiaomi_Gateway_(Aqara)#Adding_the_Xiaomi_Gateway_to_Domoticz).
- Turn off the firewall on the system where Home Assistant is running.
- Ensure your router supports multicast as this is a requirement of the Xiaomi Gateway.
-- Try to set `discovery_retry: 10`.
- Try to disable and then enable LAN access.
- Hard reset the gateway: Press the button of the gateway 30 seconds and start again from scratch.
- If you are using Home Assistant in [Docker](/docs/installation/docker/), make sure to use `--net=host`.
diff --git a/source/_integrations/xiaomi_miio.markdown b/source/_integrations/xiaomi_miio.markdown
index 800e510ffcc..a231cddf88a 100644
--- a/source/_integrations/xiaomi_miio.markdown
+++ b/source/_integrations/xiaomi_miio.markdown
@@ -192,15 +192,15 @@ name:
### Supported Xiaomi gateway models:
-| Gateway name | Zigbee id | model | supported |
-| ------------------ | ------------------- | ------------ |------------------------------------------ |
-| Chinese version | lumi.gateway.v3 | DGNWG02LM | yes |
-| European version | lumi.gateway.mieu01 | ZHWG11LM-763 | only gateway features (no subdevices yet) |
-| Aqara hub | lumi.gateway.aqhm01 | ZHWG11LM | untested |
-| Mijia Zigbee 3.0 | lumi.gateway.mgl03 | ZNDMWG03LM | untested |
-| Aqara AC Companion | lumi.acpartner.v1 | KTBL01LM | untested |
-| Mi AC Companion | lumi.acpartner.v2 | KTBL02LM | untested |
-| Aqara AC Companion | lumi.acpartner.v3 | KTBL11LM | yes |
+| Gateway name | Zigbee id | model | supported |
+| ------------------ | ------------------- | ------------------------ |------------------------------------------ |
+| Chinese version | lumi.gateway.v3 | DGNWG02LM | yes |
+| European version | lumi.gateway.mieu01 | ZHWG11LM-763 / DGNWQ05LM | only gateway features (no subdevices yet) |
+| Aqara hub | lumi.gateway.aqhm01 | ZHWG11LM | untested |
+| Mijia Zigbee 3.0 | lumi.gateway.mgl03 | ZNDMWG03LM | untested |
+| Aqara AC Companion | lumi.acpartner.v1 | KTBL01LM | untested |
+| Mi AC Companion | lumi.acpartner.v2 | KTBL02LM | untested |
+| Aqara AC Companion | lumi.acpartner.v3 | KTBL11LM | yes |
### Gateway Features
@@ -1364,7 +1364,7 @@ The following table shows the units of measurement for each attribute:
| `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) |
+| `clean_stop` | datetime | The last date/time the vacuum finished cleaning (offset naive) |
### Example on how to clean a specific room
diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown
index 348e33d3bd4..7529cf2b66d 100644
--- a/source/_integrations/zha.markdown
+++ b/source/_integrations/zha.markdown
@@ -54,12 +54,12 @@ ZHA integration uses a hardware independent Zigbee stack implementation with mod
- [ConBee USB adapter from dresden elektronik](https://phoscon.de/conbee)
- [RaspBee II (a.k.a. RaspBee 2) Raspberry Pi Shield from dresden elektronik](https://www.dresden-elektronik.com/product/raspbee-II.html)
- [RaspBee Raspberry Pi Shield from dresden elektronik](https://phoscon.de/raspbee)
-- EmberZNet based radios using the EZSP protocol (via the [bellows](https://github.com/zigpy/bellows) library for zigpy)
- - [ITEAD Sonoff ZBBridge](https://www.itead.cc/smart-home/sonoff-zbbridge.html) (Note! This first have to be flashed with [Tasmota firmware and EmberZNet 6.5.x.x](https://www.digiblur.com/2020/07/how-to-use-sonoff-zigbee-bridge-with.html))
+- Silicon Labs EmberZNet based radios using the EZSP protocol (via the [bellows](https://github.com/zigpy/bellows) library for zigpy)
+ - [ITEAD Sonoff ZBBridge](https://www.itead.cc/smart-home/sonoff-zbbridge.html) (Note! This first have to be flashed with [Tasmota firmware and Silabs EmberZNet NCP EZSP UART Host firmware](https://www.digiblur.com/2020/07/how-to-use-sonoff-zigbee-bridge-with.html))
- [Nortek GoControl QuickStick Combo Model HUSBZB-1 (Z-Wave & Zigbee USB Adapter)](https://www.nortekcontrol.com/products/2gig/husbzb-1-gocontrol-quickstick-combo/)
- [Elelabs Zigbee USB Adapter](https://elelabs.com/products/elelabs_usb_adapter.html)
- [Elelabs Zigbee Raspberry Pi Shield](https://elelabs.com/products/elelabs_zigbee_shield.html)
- - Bitron Video/Smabit BV AV2010/10 USB-Stick with Silicon Labs Ember 3587 (no flashing necessary)
+ - Bitron Video/Smabit BV AV2010/10 USB-Stick with Silicon Labs Ember 3587
- Telegesis ETRX357USB (Note! This first have to be flashed with other EmberZNet firmware)
- Telegesis ETRX357USB-LRS (Note! This first have to be flashed with other EmberZNet firmware)
- Telegesis ETRX357USB-LRS+8M (Note! This first have to be flashed with other EmberZNet firmware)
diff --git a/source/_redirects b/source/_redirects
index befd3c7e813..1daa0640bc3 100644
--- a/source/_redirects
+++ b/source/_redirects
@@ -2123,10 +2123,11 @@
# Lovelace documentation
/lovelace/entity-button /lovelace/button
/lovelace/views /lovelace/dashboards-and-views
+/lovelace/yaml-mode /lovelace/dashboards-and-views
# Removed documentation
/docs/installation/hassbian /getting-started
/docs/installation/macos /docs/installation/virtualenv
/docs/installation/raspberry-pi-all-in-one /getting-started
/getting-started/hassbian /getting-started
-/getting-started/installation-raspberry-pi-all-in-one /getting-started
\ No newline at end of file
+/getting-started/installation-raspberry-pi-all-in-one /getting-started
diff --git a/source/hassio/enable_i2c.markdown b/source/hassio/enable_i2c.markdown
index aae3b17c2b7..025f1dd4beb 100644
--- a/source/hassio/enable_i2c.markdown
+++ b/source/hassio/enable_i2c.markdown
@@ -1,45 +1,46 @@
---
title: "Enable I2C on the Home Assistant Operating System"
-description: "Instructions on how to enable I2C on a Raspberry PI"
+description: "Instructions on how to enable I2C on a Raspberry Pi"
---
Home Assistant using the Home Assistant Operating System is a managed environment, which means you can't use existing methods to enable the I2C bus on a Raspberry Pi.
-If you're attempting to add an external sensor you will have to [enable the I2C interface in the Home Assistant configuration](https://github.com/home-assistant/hassos/blob/dev/Documentation/boards/raspberrypi.md#i2c) using a USB stick.
-
## Step by step instructions
You will need:
-- USB drive
-- A way to add files to the USB drive
-- A way to connect the drive to your Raspberry Pi
+- SD card reader
+- SD card with Home Assistant Operating System flashed on it
-### Step 1 - Prepare the USB drive
+### Step 1 - Access the Home Assistant OS boot partition
-Connect the USB drive to a device capable of adding and editing files to the USB drive.
-
-Format a USB stick with FAT32/EXT4/NTFS and name the drive `CONFIG` (uppercase).
+Shutdown/turn-off your Home Assistant installation and unplug the SD card.
+Plug the SD card into an SD card reader and find a drive/file system named
+`hassos-boot`. The file system might be shown/mounted automatically. If not,
+use your operating systems disk management utility to find the SD card reader
+and make sure the first partition is available.
### Step 2 - Add files to enable I2C
-- In the root of the USB drive add a folder called `/modules`.
-- Inside that folder add a text file called `rpi-i2c.conf` with the following contents:
+- In the root of the `hassos-boot` partition, add a new folder called `CONFIG`.
+- In the `CONFIG` folder, add another new folder called `modules`.
+- Inside the `modules` folder add a text file called `rpi-i2c.conf` with the following content:
```txt
- i2c-bcm2708
i2c-dev
```
-- In the root of the USB drive add a file called `config.txt` with the following contents:
+- In the root of the USB drive edit the file called `config.txt` add two lines
+ to it:
```txt
- dtparam=i2c1=on
+ dtparam=i2c_vc=on
dtparam=i2c_arm=on
```
-### Step 3 - Load the new USB configuration
+### Step 3 - Start with the new configuration
-- Insert the USB drive into your Raspberry Pi.
-- Now go to your Home Assistant web interface, in the sidebar click **Supervisor** > **System**.
-- Now click `Import from USB`.
-- This will restart your Home Assistant instance, and load the new USB configuration.
+- Insert the SD card back into your Raspberry Pi.
+- On startup, the `hassos-config.service` will automatically pickup the new
+ `rpi-i2c.conf` configuration.
+- Another reboot might be necessary to make sure the just imported `rpi-i2c.conf` is
+ present at boot time.
-When the service has restarted, you will have a working I2C interface.
+The I2C devices should now be present under /dev.
diff --git a/source/lovelace/badges.markdown b/source/lovelace/badges.markdown
new file mode 100644
index 00000000000..d916abeef42
--- /dev/null
+++ b/source/lovelace/badges.markdown
@@ -0,0 +1,152 @@
+---
+title: "Lovelace Badges"
+description: "Description of the various badges that are available."
+---
+
+Badges are widgets that sit at the top of a Lovelace panel, above all the cards.
+
+### State Label Badge
+
+The State Label badge allows you to dislay a state badge. This badge supports [actions](/lovelace/actions/).
+
+```yaml
+type: state-label
+entity: light.living_room
+```
+
+{% configuration state_label %}
+type:
+ required: true
+ description: entity-button
+ type: string
+entity:
+ required: true
+ description: Home Assistant entity ID.
+ type: string
+name:
+ required: false
+ description: Overwrites friendly name.
+ type: string
+ default: Name of Entity
+icon:
+ required: false
+ description: Overwrites icon or entity picture.
+ type: string
+ default: Entity Domain Icon
+image:
+ required: false
+ description: The URL of an image.
+ type: string
+show_name:
+ required: false
+ description: Show name.
+ type: boolean
+ default: "true"
+show_icon:
+ required: false
+ description: Show icon.
+ type: boolean
+ default: "true"
+{% endconfiguration %}
+
+### Entity Filter Badge
+
+This badge allows you to define a list of entities that you want to track only when in a certain state. Very useful for showing lights that you forgot to turn off or show a list of people only when they're at home.
+
+{% configuration filter_badge %}
+type:
+ required: true
+ description: entity-filter
+ type: string
+entities:
+ required: true
+ description: A list of entity IDs or `entity` objects, see below.
+ type: list
+state_filter:
+ required: true
+ description: List of strings representing states or `filter` objects, see below.
+ type: list
+{% 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 entities %}
+type:
+ required: false
+ description: "Sets a custom badge type: `custom:my-custom-badge`"
+ type: string
+entity:
+ required: true
+ description: Home Assistant entity ID.
+ type: string
+name:
+ required: false
+ description: Overwrites friendly name.
+ type: string
+icon:
+ required: false
+ description: Overwrites icon or entity picture.
+ type: string
+image:
+ required: false
+ description: The URL of an image.
+ 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 state_filter %}
+value:
+ required: true
+ description: String representing the state.
+ type: string
+operator:
+ required: false
+ description: Operator to use in the comparison. Can be `==`, `<=`, `<`, `>=`, `>`, `!=` or `regex`.
+ 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
+
+```yaml
+type: entity-filter
+entities:
+ - entity: light.bed_light
+ name: Bed
+ - light.kitchen_lights
+ - light.ceiling_lights
+state_filter:
+ - "on"
+```
+
+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
+```
diff --git a/source/lovelace/dashboards-and-views.markdown b/source/lovelace/dashboards-and-views.markdown
index d89ed251907..49fb469c22b 100644
--- a/source/lovelace/dashboards-and-views.markdown
+++ b/source/lovelace/dashboards-and-views.markdown
@@ -3,12 +3,35 @@ title: "Dashboards and Views"
description: "The Lovelace UI is a powerful and configurable interface for Home Assistant."
---
-### Dashboards
+You can define multiple dashboards in Lovelace. Each dashboard can be added to the sidebar. This makes it possible to create separate control dashboards for each individual part of your house.
-You can define multiple dashboards that all have their own YAML file, and add custom resources that are shared by all dashboards.
-To create new or manage existing (with `mode: storage` only) dashboards, click on `Configuration` in the sidebar and then on `Lovelace Dashboards`.
+You can manage your dashboards via the user interface. Go to configuration -> Lovelace Dashboards. Here you can see all defined dashboards and create new ones.
-The key of the dashboard is used as the URL, this needs to contain a hyphen (`-`).
+### Using YAML for the default dashboard
+
+To change the default dashboard, create a new file `ui-lovelace.yaml` in your configuration directory and add the following section to your `configuration.yaml` and restart Home Assistant:
+
+```yaml
+lovelace:
+ mode: yaml
+```
+
+A good way to start this file is to copy and paste the "Raw configuration" from the UI so your manual configuration starts the same as your existing UI.
+
+- Go into the `Overview` tab.
+- Click the three dots menu (top-right) and click on `Configure UI`.
+- Click the three dots menu again and click on `Raw config editor`.
+- There you see the configuration for your current Lovelace UI. Copy that into the `/ui-lovelace.yaml` file.
+
+Once you take control of your UI via YAML, the Home Assistant interface for modifying it won't be available anymore and new entities will not automatically be added to your UI.
+
+When you make changes to `ui-lovelace.yaml`, you don't have to restart Home Assistant or refresh the page. Just hit the refresh button in the menu at the top of the UI.
+
+To revert back to using the UI to edit your Lovelace interface, remove the `lovelace` section from your `configuration.yaml` and copy the contents of your `ui-lovelace.yaml` into the raw configuration section of Home Assistant and restart.
+
+### Adding more dashboards with YAML
+
+It is also possible to use YAML to define multiple dashboards. Each dashboard will be loaded from its own YAML file.
```yaml
lovelace:
@@ -298,6 +321,7 @@ views:
cards:
...
```
+
### Options For Visible
If you define `visible` as objects instead of a boolean to specify conditions for displaying the view tab:
@@ -349,279 +373,3 @@ frontend:
example:
lovelace-background: center / cover no-repeat url("/local/background.png") fixed
```
-
-## Badges
-
-### State Label Badge
-
-The State Label badge allows you to dislay a state badge
-
-```yaml
-type: state-label
-entity: light.living_room
-```
-
-{% configuration state_label %}
-type:
- required: true
- description: entity-button
- type: string
-entity:
- required: true
- description: Home Assistant entity ID.
- type: string
-name:
- required: false
- description: Overwrites friendly name.
- type: string
- default: Name of Entity
-icon:
- required: false
- description: Overwrites icon or entity picture.
- type: string
- default: Entity Domain Icon
-image:
- required: false
- description: The URL of an image.
- type: string
-show_name:
- required: false
- description: Show name.
- type: boolean
- default: "true"
-show_icon:
- required: false
- description: Show icon.
- type: boolean
- default: "true"
-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`, `url`, `none`)"
- type: string
- default: "`toggle`"
- navigation_path:
- required: false
- 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`"
- 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
- confirmation:
- required: false
- description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
- type: [boolean, map]
- default: "false"
-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`, `url`, `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
- 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`"
- 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
- confirmation:
- required: false
- description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
- type: [boolean, map]
- default: "false"
-double_tap_action:
- required: false
- description: Action to take on double tap
- type: map
- keys:
- action:
- required: true
- description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `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
- 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`"
- 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
- confirmation:
- required: false
- description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
- type: [boolean, map]
- default: "false"
-{% endconfiguration %}
-
-#### Options For Confirmation
-
-If you define confirmation as an object instead of boolean, you can add more customization and configurations:
-{% configuration confirmation %}
-text:
- required: false
- description: Text to present in the confirmation dialog.
- type: string
-exemptions:
- required: false
- description: "List of `exemption` objects. See below"
- type: list
-{% endconfiguration %}
-
-#### Options For Exemptions
-
-{% configuration badges %}
-user:
- required: true
- description: User id that can see the view tab.
- type: string
-{% endconfiguration %}
-
-### Entity Filter Badge
-
-This badge allows you to define a list of entities that you want to track only when in a certain state. Very useful for showing lights that you forgot to turn off or show a list of people only when they're at home.
-
-{% configuration filter_badge %}
-type:
- required: true
- description: entity-filter
- type: string
-entities:
- required: true
- description: A list of entity IDs or `entity` objects, see below.
- type: list
-state_filter:
- required: true
- description: List of strings representing states or `filter` objects, see below.
- type: list
-{% 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 entities %}
-type:
- required: false
- description: "Sets a custom badge type: `custom:my-custom-badge`"
- type: string
-entity:
- required: true
- description: Home Assistant entity ID.
- type: string
-name:
- required: false
- description: Overwrites friendly name.
- type: string
-icon:
- required: false
- description: Overwrites icon or entity picture.
- type: string
-image:
- required: false
- description: The URL of an image.
- 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 state_filter %}
-value:
- required: true
- description: String representing the state.
- type: string
-operator:
- required: false
- description: Operator to use in the comparison. Can be `==`, `<=`, `<`, `>=`, `>`, `!=` or `regex`.
- 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
-
-```yaml
-type: entity-filter
-entities:
- - entity: light.bed_light
- name: Bed
- - light.kitchen_lights
- - light.ceiling_lights
-state_filter:
- - "on"
-```
-
-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
-```
diff --git a/source/lovelace/yaml-mode.markdown b/source/lovelace/yaml-mode.markdown
deleted file mode 100644
index 746c733b066..00000000000
--- a/source/lovelace/yaml-mode.markdown
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title: "Lovelace YAML mode"
-description: "Advanced users can switch on YAML mode for editing the Lovelace UI."
----
-
-It is possible to customize your Home Assistant interface by writing in YAML instead of via the UI. To do so, you configure the Lovelace integration to be in YAML mode by adding the following to your `configuration.yaml`:
-
-```yaml
-lovelace:
- mode: yaml
-```
-
-Restart Home Assistant for the mode to be changed. Create a new file `/ui-lovelace.yaml` and add your Lovelace configuration. A good way to start this file is to copy and paste the "Raw configuration" from the UI so your manual configuration starts the same as your existing UI.
-
-- Go into the `Overview` tab.
-- Click the three dots menu (top-right) and click on `Configure UI`.
-- Click the three dots menu again and click on `Raw config editor`.
-- There you see the configuration for your current Lovelace UI. Copy that into the `/ui-lovelace.yaml` file.
-
-Once you take control of your UI via YAML, the Home Assistant interface for modifying it won't be available anymore and new entities will not automatically be added to your UI.
-
-When you make changes to `ui-lovelace.yaml`, you don't have to restart Home Assistant or refresh the page. Just hit the refresh button in the menu at the top of the UI.
-
-To revert back to using the UI to edit your Lovelace interface, remove the `lovelace` section from your `configuration.yaml` and copy the contents of your `ui-lovelace.yaml` into the raw configuration section of Home Assistant and restart.
-
-### Advanced configuration
-
-You can define multiple dashboards that all have their own YAML file, and add custom resources that are shared by all dashboards. For more details refer to [this](/lovelace/dashboards-and-views/) page.