Merge branch 'current' into next

This commit is contained in:
Franck Nijhof 2020-04-08 12:17:26 +02:00
commit fd47997b4f
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
98 changed files with 344 additions and 280 deletions

View File

@ -78,7 +78,7 @@ GEM
mini_portile2 (~> 2.4.0)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.3)
public_suffix (4.0.4)
rack (2.2.2)
rack-protection (2.0.8.1)
rack
@ -107,7 +107,7 @@ GEM
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
tilt (2.0.10)
tzinfo (2.0.1)
tzinfo (2.0.2)
concurrent-ruby (~> 1.0)
tzinfo-data (1.2019.3)
tzinfo (>= 1.0.0)

19
package-lock.json generated
View File

@ -439,6 +439,16 @@
"integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
"dev": true
},
"remark-frontmatter": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-1.3.3.tgz",
"integrity": "sha512-fM5eZPBvu2pVNoq3ZPW22q+5Ativ1oLozq2qYt9I2oNyxiUd/tDl0iLLntEVAegpZIslPWg1brhcP1VsaSVUag==",
"dev": true,
"requires": {
"fault": "^1.0.1",
"xtend": "^4.0.1"
}
},
"remark-parse": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz",
@ -2088,13 +2098,12 @@
}
},
"remark-frontmatter": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-1.3.3.tgz",
"integrity": "sha512-fM5eZPBvu2pVNoq3ZPW22q+5Ativ1oLozq2qYt9I2oNyxiUd/tDl0iLLntEVAegpZIslPWg1brhcP1VsaSVUag==",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-2.0.0.tgz",
"integrity": "sha512-uNOQt4tO14qBFWXenF0MLC4cqo3dv8qiHPGyjCl1rwOT0LomSHpcElbjjVh5CwzElInB38HD8aSRVugKQjeyHA==",
"dev": true,
"requires": {
"fault": "^1.0.1",
"xtend": "^4.0.1"
"fault": "^1.0.1"
}
},
"remark-lint": {

View File

@ -5,7 +5,7 @@
"dependencies": {},
"devDependencies": {
"remark-cli": "^8.0.0",
"remark-frontmatter": "^1.3.3",
"remark-frontmatter": "^2.0.0",
"remark-lint": "^7.0.0",
"remark-lint-fenced-code-flag": "^2.0.0",
"remark-lint-no-shell-dollars": "^2.0.0",

View File

@ -143,7 +143,7 @@ homeassistant:
- type: homeassistant
```
Assuming you have only the owner created though onboarding process, no other users ever created. The above example configuration will allow you directly access Home Assistant main page if you access from your internal network (192.168.0.0/24) or from localhost (127.0.0.1). If you get a login abort error, then you can change to use HomeAsssitant Authentication Provider to login, if you access your Home Assistant instance from outside network.
Assuming you have only the owner created though onboarding process, no other users ever created. The above example configuration will allow you directly access Home Assistant main page if you access from your internal network (192.168.0.0/24) or from localhost (127.0.0.1). If you get a login abort error, then you can change to use Home Assistant Authentication Provider to login, if you access your Home Assistant instance from outside network.
### Command Line

View File

@ -44,7 +44,7 @@ automation:
to: 'not_home'
action:
service: light.turn_off
entity_id: group.all_lights
entity_id: all
# Notify when Paulus leaves the house in the evening
- alias: 'Leave Home notification'

View File

@ -4,11 +4,12 @@ description: "All the different ways how automations can be triggered."
redirect_from: /getting-started/automation-trigger/
---
Triggers are what starts the processing of an automation rule. It is possible to specify [multiple triggers](/docs/automation/trigger/#multiple-triggers) for the same rule - when _any_ of the triggers becomes true then the automation will start. Once a trigger starts, Home Assistant will validate the conditions, if any, and call the action.
### What are triggers
Triggers are what starts the processing of an automation rule. When _any_ of the automation's triggers becomes true (trigger _fires_), Home Assistant will validate the [conditions](/docs/automation/condition/), if any, and call the [action](/docs/automation/action/).
### Event trigger
Triggers when an event is being processed. Events are the raw building blocks of Home Assistant. You can match events on just the event name or also require specific event data to be present.
Fires when an event is being received. Events are the raw building blocks of Home Assistant. You can match events on just the event name or also require specific event data to be present.
Events can be fired by integrations or via the API. There is no limitation to the types. A list of built-in events can be found [here](/docs/configuration/events/).
@ -24,7 +25,7 @@ automation:
### Home Assistant trigger
Triggers when Home Assistant starts up or shuts down.
Fires when Home Assistant starts up or shuts down.
```yaml
automation:
@ -36,7 +37,7 @@ automation:
### MQTT trigger
Triggers when a specific message is received on given topic. Optionally can match on the payload being sent over the topic. The default payload encoding is 'utf-8'. For images and other byte payloads use `encoding: ''` to disable payload decoding completely.
Fires when a specific message is received on given MQTT topic. Optionally can match on the payload being sent over the topic. The default payload encoding is 'utf-8'. For images and other byte payloads use `encoding: ''` to disable payload decoding completely.
```yaml
automation:
@ -50,7 +51,7 @@ automation:
### Numeric state trigger
Triggers when numeric value of an entity's state crosses a given threshold. On state change of a specified entity, attempts to parse the state as a number and triggers once if value is changing from above to below or from below to above the given threshold.
Fires when numeric value of an entity's state crosses a given threshold. On state change of a specified entity, attempts to parse the state as a number and fires if value is changing from above to below or from below to above the given threshold.
{% raw %}
@ -76,7 +77,7 @@ automation:
<div class='note'>
Listing above and below together means the numeric_state has to be between the two values.
In the example above, a numeric_state that goes to 17.1-24.9 (from 17 or below, or 25 or above) would fire this trigger.
In the example above, the trigger would fire if a numeric_state goes to 17.1-24.9 (from 17 or below, or 25 or above).
</div>
The `for:` can also be specified as `HH:MM:SS` like this:
@ -128,7 +129,7 @@ The `for` template(s) will be evaluated when an entity changes as specified.
### State trigger
Triggers when the state of any of given entities changes. If only `entity_id` is given trigger will activate for all state changes, even if only state attributes change.
Fires when the state of any of given entities changes. If only `entity_id` is given trigger will fire for all state changes, even if only state attributes change.
<div class='note'>
@ -182,9 +183,9 @@ Use quotes around your values for `from` and `to` to avoid the YAML parser inter
#### Sunset / Sunrise trigger
Triggers when the sun is setting or rising, i.e., when the sun elevation reaches 0°.
Fires when the sun is setting or rising, i.e., when the sun elevation reaches 0°.
An optional time offset can be given to have it trigger a set time before or after the sun event (e.g., 45 minutes before sunset).
An optional time offset can be given to have it fire a set time before or after the sun event (e.g., 45 minutes before sunset).
<div class='note'>
@ -206,7 +207,7 @@ automation:
#### Sun elevation trigger
Sometimes you may want more granular control over an automation than simply sunset or sunrise and specify an exact elevation of the sun. This can be used to layer automations to occur as the sun lowers on the horizon or even after it is below the horizon. This is also useful when the "sunset" event is not dark enough outside and you would like the automation to run later at a precise solar angle instead of the time offset such as turning on exterior lighting. For most things intended to trigger during dusk or dawn, a number between 0° and -6° is suitable; -4° is used in this example:
Sometimes you may want more granular control over an automation than simply sunset or sunrise and specify an exact elevation of the sun. This can be used to layer automations to occur as the sun lowers on the horizon or even after it is below the horizon. This is also useful when the "sunset" event is not dark enough outside and you would like the automation to run later at a precise solar angle instead of the time offset such as turning on exterior lighting. For most automations intended to run during dusk or dawn, a number between 0° and -6° is suitable; -4° is used in this example:
{% raw %}
@ -241,7 +242,7 @@ A very thorough explanation of this is available in the Wikipedia article about
### Template trigger
Template triggers work by evaluating a [template](/docs/configuration/templating/) on every state change for all of the recognized entities. The trigger will fire if the state change caused the template to render 'true'. This is achieved by having the template result in a true boolean expression (`{% raw %}{{ is_state('device_tracker.paulus', 'home') }}{% endraw %}`) or by having the template render 'true' (example below). Being a boolean expression the template must evaluate to false (or anything other than true) before it will fire again.
Template triggers work by evaluating a [template](/docs/configuration/templating/) on every state change for all of the recognized entities. The trigger will fire if the state change caused the template to render 'true'. This is achieved by having the template result in a true boolean expression (`{% raw %}{{ is_state('device_tracker.paulus', 'home') }}{% endraw %}`) or by having the template render 'true' (example below). Being a boolean expression the template must evaluate to false (or anything other than true) before the trigger will fire again.
With template triggers you can also evaluate attribute changes by using is_state_attr (`{% raw %}{{ is_state_attr('climate.living_room', 'away_mode', 'off') }}{% endraw %}`)
{% raw %}
@ -276,7 +277,7 @@ automation:
The `for` template(s) will be evaluated when the `value_template` becomes `true`.
<div class='note warning'>
Rendering templates with time (`now()`) is dangerous as trigger templates only update based on entity state changes.
Rendering templates with time (`now()`) is dangerous as trigger templates are only updated based on entity state changes.
</div>
@ -297,7 +298,7 @@ which will evaluate to `True` if `YOUR.ENTITY` changed more than 300 seconds ago
### Time trigger
The time trigger is configured to run once at a specific point in time each day.
The time trigger is configured to fire once at a specific point in time each day.
```yaml
automation:
@ -340,7 +341,7 @@ Do not prefix numbers with a zero - using `'00'` instead of '0' for example will
### Webhook trigger
Webhook triggers are triggered by web requests made to the webhook endpoint: `/api/webhook/<webhook_id>`. This endpoint does not require authentication besides knowing the webhook id. You can either send encoded form or JSON data, available in the template as either `trigger.json` or `trigger.data`. URL query parameters are available in the template as `trigger.query`.
Webhook trigger fires when a web request is made to the webhook endpoint: `/api/webhook/<webhook_id>`. This endpoint does not require authentication besides knowing the webhook id. You can either send encoded form or JSON data, available in the template as either `trigger.json` or `trigger.data`. URL query parameters are available in the template as `trigger.query`.
```yaml
automation:
@ -349,11 +350,11 @@ automation:
webhook_id: some_hook_id
```
You could test triggering the above automation by sending a POST HTTP request to `http://your-home-assistant:8123/api/webhook/some_hook_id`. An example with no data sent to a SSL/TLS secured installation and using the command-line curl program is `curl -d "" https://your-home-assistant:8123/api/webhook/some_hook_id`.
You could run the above automation by sending a POST HTTP request to `http://your-home-assistant:8123/api/webhook/some_hook_id`. An example with no data sent to a SSL/TLS secured installation and using the command-line curl program is `curl -d "" https://your-home-assistant:8123/api/webhook/some_hook_id`.
### Zone trigger
Zone triggers can trigger when an entity is entering or leaving the zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. This includes [GPS Logger](/integrations/gpslogger/), the [OwnTracks platform](/integrations/owntracks/) and the [iCloud platform](/integrations/icloud/).
Zone trigger fires when an entity is entering or leaving the zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. This includes [GPS Logger](/integrations/gpslogger/), the [OwnTracks platform](/integrations/owntracks/) and the [iCloud platform](/integrations/icloud/).
```yaml
automation:
@ -367,8 +368,8 @@ automation:
### Geolocation trigger
Geolocation triggers can trigger when an entity is appearing in or disappearing from a zone. Entities that are created by a [Geolocation](/integrations/geo_location/) platform support reporting GPS coordinates.
Because entities are generated and removed by these platforms automatically, the entity id normally cannot be predicted. Instead, this trigger requires the definition of a `source` which is directly linked to one of the Geolocation platforms.
Geolocation trigger fires when an entity is appearing in or disappearing from a zone. Entities that are created by a [Geolocation](/integrations/geo_location/) platform support reporting GPS coordinates.
Because entities are generated and removed by these platforms automatically, the entity id normally cannot be predicted. Instead, this trigger requires the definition of a `source`, which is directly linked to one of the Geolocation platforms.
```yaml
automation:
@ -382,7 +383,7 @@ automation:
### Multiple triggers
When your want your automation rule to have multiple triggers, just prefix the first line of each trigger with a dash (-) and indent the next lines accordingly. Whenever one of the triggers fires, your rule is executed.
It is possible to specify multiple triggers for the same rule. To do so just prefix the first line of each trigger with a dash (-) and indent the next lines accordingly. Whenever one of the triggers fires, [processing](#what-are-triggers) of your automation rule begins.
```yaml
automation:

View File

@ -18,7 +18,7 @@ If you know the user, but not the password and you can access the [Home Assistan
Connect a keyboard and monitor to your device.
`ha auth reset --username "<existing_user>" --password "<new_password>"`
`auth reset --username existing_user --password new_password`
### Home Assistant Core

View File

@ -79,7 +79,7 @@ Delays are useful for temporarily suspending your script and start it at a later
# Waits however many seconds input_number.second_delay is set to
- delay:
# Supports milliseconds, seconds, minutes, hours, days
seconds: "{{ states('input_number.second_delay') }}"
seconds: "{{ states('input_number.second_delay') | int }}"
```
{% endraw %}

View File

@ -287,3 +287,7 @@ WARNING: Checksum incorrect - sending NAK
```
If you see any of these messages repeated in the log then _probably_ you've got something else running that's also using the Z-Wave controller. That might mean you've also got the OpenZ-Wave control panel (ozwcp) running, a second instance of Home Assistant or something else. You need to stop that other process to resolve this.
### Changing device paths
Configurations using `udev` can experience race conditions in creating device paths such that they change on reboot. This can cause a device to appear to change between `/dev/ttyACM0` and `/dev/ttyACM1` after reboot. In this case using the symlinks created for device IDs can ensure the correct device is used, for example: `/dev/serial/by-id/usb-0658_0200-if00` for Aeotec Z-Stick.

View File

@ -16,7 +16,7 @@
<li>{% active_link /lovelace/how-it-works/ How it works %}</li>
<li>{% active_link /lovelace/header-footer/ Headers & Footers %}</li>
<li>{% active_link /lovelace/yaml-mode/ YAML mode %}</li>
<li>{% active_link /lovelace/views/ Views %}</li>
<li>{% active_link /lovelace/dashboards-and-views/ Dashboards & Views %}</li>
<li>{% active_link /lovelace/actions/ Actions %}</li>
<li><a href='https://developers.home-assistant.io/docs/en/lovelace_custom_card.html'>Developing Custom Cards <i icon='icon-external-link'></i></a></li>
</ul>

View File

@ -9,3 +9,4 @@ ha_domain: alarm_control_panel
---
Home Assistant can give you an interface which is similar to a classic alarm system.
Please see [manual alarm](/integrations/manual) for alarm configuration.

View File

@ -93,6 +93,10 @@ device:
description: 'The firmware version of the device.'
required: false
type: string
via_device:
description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.'
required: false
type: string
json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
required: false

View File

@ -182,6 +182,7 @@ Alexa can link your Amazon account to your Home Assistant account. Therefore Hom
- Sign in [Alexa Developer Console][alexa-dev-console], go to `Alexa Skills` page if you are not.
- Find the skill you just created, click `Edit` link in the `Actions` column.
- Click `ACCOUNT LINKING` in the left navigation bar of build page
- Do not turn on the "Allow users to link their account to your skill from within your application or website" switch. This will require a Redirect URI, which won't work.
- Input all information required. Assuming your Home Assistant can be accessed by `https://[YOUR HOME ASSISTANT URL:PORT]`
- `Authorization URI`: `https://[YOUR HOME ASSISTANT URL]/auth/authorize`
- `Access Token URI`: `https://[YOUR HOME ASSISTANT URL]/auth/token`

View File

@ -73,6 +73,10 @@ foreign_exchange:
type: string
{% endconfiguration %}
## API Information
Alpha Vantage offers two tiers of the API key, one free and one paid for. If you are using the free version you will be limited to five queries per minute. This means that you'll likely only be able to have one or two ticker entries. The paid version starts at thirty queries per minute increasing ticker quantity quite a bit.
## Examples
In this section you find some real-life examples of how to use this sensor.

View File

@ -17,4 +17,4 @@ The `api` integration exposes a RESTful API and allows one to interact with a Ho
api:
```
For details to use the API, please refer to the [REST API](/developers/rest_api/) or the [Python REST API documentation](/developers/python_api/) in the "Developer" section.
For details to use the API, please refer to the [REST API](/developers/rest_api/) in the "Developer" section.

View File

@ -65,6 +65,10 @@ device:
description: The firmware version of the device.
required: false
type: string
via_device:
description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.'
required: false
type: string
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

View File

@ -1,7 +1,6 @@
---
title: Buienradar
description: Instructions on how to integrate buienradar.nl weather within Home Assistant.
logo: buienradar.png
ha_category:
- Camera
- Weather

View File

@ -65,6 +65,10 @@ json_attributes_topic:
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Implies `force_update` of the current sensor state when a message is received on this topic.
required: false
type: string
via_device:
description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.'
required: false
type: string
name:
description: The name of the camera.
required: false

View File

@ -96,6 +96,10 @@ device:
description: 'The firmware version of the device.'
required: false
type: string
via_device:
description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.'
required: false
type: string
fan_mode_command_topic:
description: The MQTT topic to publish commands to change the fan mode.
required: false

View File

@ -74,6 +74,10 @@ device:
description: The firmware version of the device.
required: false
type: string
via_device:
description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.'
required: false
type: string
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

View File

@ -9,7 +9,7 @@ ha_release: 0.32
ha_domain: currencylayer
---
The `currencylayer` sensor will show you the current exchange rate from [Currencylayer](https://currencylayer.com/) that provides real-time exchange rates for [170 currencies](https://currencylayer.com/currencies). The free account is limited to only USD as a base currency, allows 1000 requests per month, and updates every hour.
The `currencylayer` sensor will show you the current exchange rate from [Currencylayer](https://currencylayer.com/) that provides real-time exchange rates for [170 currencies](https://currencylayer.com/currencies). The free account is limited to only USD as a base currency, allows 250 requests per month, and updates daily.
Obtain your API key [here](https://currencylayer.com/product)

View File

@ -1,7 +1,6 @@
---
title: Denon Network Receivers
description: Instructions on how to integrate Denon Network Receivers into Home Assistant.
logo: denon.png
ha_category:
- Media Player
ha_iot_class: Local Polling

View File

@ -11,7 +11,7 @@ ha_domain: denonavr
The `denonavr` platform allows you to control a [Denon Network Receivers](https://www.denon.co.uk/chg/product/compactsystems/networkmusicsystems/ceolpiccolo) from Home Assistant. It might be that your device is supported by the [Denon] platform.
Supported devices:
Known supported devices:
- Denon AVR-X1300W
- Denon AVR-X1500H
@ -24,6 +24,7 @@ Supported devices:
- Denon AVR-2312CI
- Denon AVR-3311CI
- Denon AVR-4810
- Denon AVR-S750H
- Marantz M-CR510
- Marantz M-CR603
- Marantz M-RC610

View File

@ -62,7 +62,7 @@ Multiple device trackers can be used in parallel, such as [Owntracks](/integrati
<div class='note warning'>
As of 0.94 `known_devices.yaml` is being phased out and no longer used by all trackers. Depending on the integration you use this section may no longer apply. This includes the mobile app, OwnTracks, GeoFency, GPSLogger, Locative and Huawei LTE.
As of 0.94 `known_devices.yaml` is being phased out and no longer used by all trackers. Depending on the integration you use this section may no longer apply. This includes OwnTracks, GeoFency, GPSLogger, Locative and Huawei LTE.
</div>

View File

@ -72,4 +72,8 @@ device:
description: The firmware version of the device.
required: false
type: string
via_device:
description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.'
required: false
type: string
{% endconfiguration %}

View File

@ -1,7 +1,6 @@
---
title: Discord
description: Instructions on how to add Discord notifications to Home Assistant.
logo: discord.png
ha_category:
- Notifications
ha_release: 0.37

View File

@ -1,7 +1,6 @@
---
title: Dublin Bus
description: Instructions on how to integrate timetable data for traveling on Dublin Bus within Home Assistant.
logo: dublin_bus.png
ha_category:
- Transport
ha_iot_class: Cloud Polling

View File

@ -65,6 +65,10 @@ device:
description: The firmware version of the device.
required: false
type: string
via_device:
description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.'
required: false
type: string
json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
required: false

View File

@ -1,7 +1,6 @@
---
title: Flic
description: Instructions on how to integrate flic buttons within Home Assistant.
logo: flic.png
ha_category:
- Binary Sensor
ha_iot_class: Local Push

View File

@ -1,7 +1,6 @@
---
title: Foscam
description: Instructions on how to integrate Foscam IP cameras within Home Assistant.
logo: foscam.png
ha_category:
- Camera
ha_iot_class: Local Polling

View File

@ -1,7 +1,6 @@
---
title: Garmin Connect
description: Instructions on how to configure the Garmin Connect integration for Home Assistant.
logo: garmin_connect.png
ha_category:
- Health
ha_iot_class: Cloud Polling

View File

@ -1,7 +1,6 @@
---
title: Global Disaster Alert and Coordination System (GDACS)
description: Instructions on how to integrate the Global Disaster Alert and Coordination System (GDACS) feed into Home Assistant.
logo: gdacs.jpg
ha_category:
- Geolocation
ha_iot_class: Cloud Polling

View File

@ -1,7 +1,6 @@
---
title: GeoNet NZ Quakes
description: Instructions on how to integrate the GeoNet New Zealand Quakes feed into Home Assistant.
logo: geonet-nz.png
ha_category:
- Geolocation
ha_iot_class: Cloud Polling

View File

@ -1,7 +1,6 @@
---
title: GeoNet NZ Volcano
description: Instructions on how to integrate the GeoNet New Zealand Volcanic Alert Level feed into Home Assistant.
logo: geonet-nz.png
ha_category:
- Sensor
ha_iot_class: Cloud Polling

View File

@ -1,7 +1,6 @@
---
title: GitHub
description: How to integrate the GitHub sensor into Home Assistant.
logo: github.png
ha_category:
- Sensor
ha_release: 0.88

View File

@ -3,7 +3,6 @@ title: GStreamer
description: Instructions on how to integrate Gstreamer into Home Assistant.
ha_category:
- Media Player
logo: gstreamer.png
ha_release: 0.39
ha_iot_class: Local Push
ha_domain: gstreamer

View File

@ -1,7 +1,6 @@
---
title: HaveIBeenPwned
description: Instructions on how to integrate HaveIBeenPwned sensor into Home Assistant.
logo: haveibeenpwned.png
ha_category:
- Sensor
ha_release: 0.31

View File

@ -1,7 +1,6 @@
---
title: HomematicIP Cloud
description: Instructions for integrating HomematicIP into Home Assistant.
logo: homematicip_cloud.png
ha_category:
- Hub
- Alarm

View File

@ -1,7 +1,6 @@
---
title: InfluxDB
description: Record events in InfluxDB.
logo: influxdb.png
ha_category:
- History
- Sensor

View File

@ -1,7 +1,6 @@
---
title: Keba Charging Station
description: Instructions on how to setup your Keba charging station with Home Assistant.
logo: keba.png
ha_category:
- Binary Sensor
- Lock

View File

@ -1,7 +1,6 @@
---
title: Konnected
description: Connect wired alarm sensors and siren using the NodeMCU based Konnected Alarm Panel
logo: konnected.png
ha_category:
- Alarm
- Binary Sensor

View File

@ -1,7 +1,6 @@
---
title: Last.fm
description: Instructions on how to integrate Last.fm sensors into Home Assistant.
logo: lastfm.png
ha_category:
- Social
ha_iot_class: Cloud Polling

View File

@ -1,7 +1,6 @@
---
title: Life360
description: Instructions how to use Life360 to track devices in Home Assistant.
logo: life360.png
ha_release: 0.95
ha_config_flow: true
ha_category:

View File

@ -1,7 +1,6 @@
---
title: LIFX
description: Instructions on how to integrate LIFX into Home Assistant.
logo: lifx.png
ha_category:
- Light
ha_iot_class: Local Polling

View File

@ -115,6 +115,10 @@ device:
description: 'The firmware version of the device.'
required: false
type: string
via_device:
description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.'
required: false
type: string
effect_command_topic:
description: "The MQTT topic to publish commands to change the light's effect state."
required: false

View File

@ -65,6 +65,10 @@ device:
description: 'The firmware version of the device.'
required: false
type: string
via_device:
description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.'
required: false
type: string
json_attributes_template:
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the JSON dictionary from messages received on the `json_attributes_topic`. Usage example can be found in [MQTT sensor](/integrations/sensor.mqtt/#json-attributes-template-configuration) documentation."
required: false

View File

@ -1,7 +1,6 @@
---
title: MessageBird
description: Instructions on how to add user notifications to Home Assistant.
logo: message_bird.png
ha_category:
- Notifications
ha_release: 0.16

View File

@ -1,7 +1,6 @@
---
title: Mikrotik
description: Instructions on how to integrate MikroTik/RouterOS based devices into Home Assistant.
logo: mikrotik.png
ha_category:
- Hub
- Presence Detection

View File

@ -1,7 +1,6 @@
---
title: Neato Botvac
description: Instructions on how to integrate your Neato within Home Assistant.
logo: neato.png
ha_category:
- Camera
- Sensor

View File

@ -1,7 +1,6 @@
---
title: Nederlandse Spoorwegen (NS)
description: Instructions on how to integrate timetable data for traveling by train in the Netherlands within Home Assistant.
logo: nederlandse_spoorwegen.png
ha_category:
- Transport
ha_iot_class: Cloud Polling

View File

@ -1,7 +1,6 @@
---
title: Nest
description: Instructions on how to integrate Nest into Home Assistant.
logo: nest.png
ha_category:
- Hub
- Binary Sensor

View File

@ -22,13 +22,11 @@ The service `persistent_notification.create` takes in `message`, `title`, and `n
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `message` | no | Body of the notification.
| `title` | yes | Title of the notification.
| `message` | no | Body of the notification. Accepts [templates](/topics/templating/).
| `title` | yes | Title of the notification. Accepts [templates](/topics/templating/).
| `notification_id` | yes | If `notification_id` is given, it will overwrite the notification if there already was a notification with that ID.
The `persistent_notification` integration supports specifying [templates](/topics/templating/) for both the `message` and the `title`. This will allow you to use the current state of Home Assistant in your notifications.
In an [action](/getting-started/automation-action/) of your [automation setup](/getting-started/automation/) it could look like this with a customized subject.
Here is how an [action](/getting-started/automation-action/) of your [automation setup](/getting-started/automation/) with static content could look like.
```yaml
action:
@ -38,6 +36,21 @@ action:
title: "Custom subject"
```
If you want to show some runtime information, you have to use [templates](/topics/templating/ inside `data_template`.
{% raw %}
```yaml
action:
service: persistent_notification.create
data_template:
title: >
Thermostat is {{ state_attr('climate.thermostat', 'hvac_action') }}
message: "Temperature {{ state_attr('climate.thermostat', 'current_temperature') }}"
```
{% endraw %}
The service `persistent_notification.dismiss` requires a `notification_id`.
| Service data attribute | Optional | Description |

View File

@ -1,7 +1,6 @@
---
title: Pioneer
description: Instructions on how to integrate a Pioneer Network Receivers into Home Assistant.
logo: pioneer.png
ha_category:
- Media Player
ha_release: 0.19

View File

@ -4,7 +4,6 @@ description: Instructions on setting up Plum Lightpads within Home Assistant.
ha_category:
- Switch
ha_iot_class: Local Push
logo: plum.png
ha_release: 0.85
ha_domain: plum_lightpad
---

View File

@ -1,7 +1,6 @@
---
title: Sony PlayStation 4
description: Instructions on how to integrate a Sony PlayStation 4 into Home Assistant.
logo: ps4.png
ha_category:
- Media Player
ha_release: 0.89

View File

@ -1,7 +1,6 @@
---
title: QNAP
description: Instructions on how to integrate the QNAP sensor within Home Assistant.
logo: qnap.png
ha_category:
- System Monitor
ha_release: 0.38

View File

@ -1,7 +1,6 @@
---
title: iRobot Roomba
description: Instructions on how to integrate your Wi-Fi enabled Roomba within Home Assistant.
logo: irobot_roomba.png
ha_category:
- Vacuum
ha_release: 0.51

View File

@ -1,7 +1,6 @@
---
title: SABnzbd
description: Instructions on how to integrate SABnzbd with Home Assistant.
logo: sabnzbd.png
ha_category:
- Downloading
- Sensor

View File

@ -1,7 +1,6 @@
---
title: Salt Fiber Box
description: Instructions on how to integrate Salt Fiber Box router into Home Assistant.
logo: salt.png
ha_category:
- Presence Detection
ha_iot_class: Local Polling

View File

@ -1,7 +1,6 @@
---
title: Sensibo
description: Instructions on how to integrate Sensibo A/C controller into Home Assistant.
logo: sensibo.png
ha_category:
- Climate
ha_release: 0.44

View File

@ -55,6 +55,10 @@ device:
description: The firmware version of the device.
required: false
type: string
via_device:
description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.'
required: false
type: string
device_class:
description: The [type/class](/integrations/sensor/#device-class) of the sensor to set the icon in the frontend.
required: false

View File

@ -1,7 +1,6 @@
---
title: Simplepush
description: Instructions on how to add Simplepush notifications to Home Assistant.
logo: simplepush.png
ha_category:
- Notifications
ha_release: 0.29

View File

@ -1,7 +1,6 @@
---
title: SimpliSafe
description: Instructions on how to integrate SimpliSafe into Home Assistant.
logo: simplisafe.png
ha_release: 0.81
ha_category:
- Alarm

View File

@ -1,7 +1,6 @@
---
title: Sinch SMS
description: Instructions on how to add Sinch notifications to Home Assistant.
logo: sinch.png
ha_category:
- Notifications
ha_release: 0.101

View File

@ -1,7 +1,6 @@
---
title: Sky Hub
description: Instructions on how to integrate Sky Hub routers into Home Assistant.
logo: sky.png
ha_category:
- Presence Detection
ha_release: 0.37

View File

@ -1,7 +1,6 @@
---
title: Slack
description: Instructions on how to add Slack notifications to Home Assistant.
logo: slack.png
ha_category:
- Notifications
ha_release: pre 0.7

View File

@ -1,7 +1,6 @@
---
title: Smappee
description: Instructions on how to setup Smappee within Home Assistant.
logo: smappee.png
ha_release: 0.64
ha_category:
- Hub

View File

@ -1,7 +1,6 @@
---
title: Speedtest.net
description: How to integrate Speedtest.net within Home Assistant.
logo: speedtest.png
ha_category:
- System Monitor
- Sensor

View File

@ -1,7 +1,6 @@
---
title: Splunk
description: Record events in Splunk.
logo: splunk.png
ha_category:
- History
ha_release: 0.13

View File

@ -65,6 +65,10 @@ device:
description: The firmware version of the device.
required: false
type: string
via_device:
description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.'
required: false
type: string
icon:
description: Icon for the switch.
required: false

View File

@ -7,7 +7,6 @@ ha_category:
- Energy
- Sensor
ha_release: 0.56
logo: toon.png
ha_iot_class: Cloud Polling
ha_config_flow: true
ha_codeowners:

View File

@ -1,7 +1,6 @@
---
title: TP-Link Kasa Smart
description: Instructions on integrating TP-Link Smart Home Devices to Home Assistant.
logo: tp-link.png
ha_category:
- Hub
- Switch

View File

@ -1,7 +1,6 @@
---
title: Traccar
description: Instructions how to use Traccar GPS tracker to track devices in Home Assistant.
logo: traccar.png
ha_release: 0.83
ha_category:
- Presence Detection

View File

@ -1,7 +1,6 @@
---
title: Twitch
description: Instructions on how to integrate Twitch sensors into Home Assistant.
logo: twitch.png
ha_category:
- Social
ha_release: '0.10'

View File

@ -1,7 +1,6 @@
---
title: Ubiquiti UniFi
description: Instructions on how to configure UniFi integration with UniFi Controller by Ubiquiti.
logo: ubiquiti.png
ha_category:
- Hub
- Presence Detection

View File

@ -6,7 +6,6 @@ ha_category:
- Binary Sensor
- Switch
ha_release: 0.65
logo: upcloud.png
ha_iot_class: Cloud Polling
ha_codeowners:
- '@scop'

View File

@ -220,11 +220,12 @@ vacuum:
```
{% endraw %}
## Legacy MQTT Protocol
### Legacy MQTT Protocol
The above configuration for this integration expects an MQTT protocol like the following.
See also [Shared MQTT Protocol](#shared-mqtt-protocol).
### Legacy Basic Commands
#### Legacy Basic Commands
MQTT topic: `vacuum/command`
@ -238,7 +239,7 @@ Possible MQTT payloads:
- `locate` - Locate the vacuum (typically by playing a song)
- `start_pause` - Toggle the vacuum between cleaning and stopping
### Status/Sensor Updates
#### Status/Sensor Updates
MQTT topic: `vacuum/state`
@ -268,6 +269,39 @@ command_topic:
description: The MQTT topic to publish commands to control the vacuum.
required: false
type: string
device:
description: "Information about the device this switch is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set."
required: false
type: map
keys:
connections:
description: 'A list of connections of the device to the outside world as a list of tuples `[connection_type, connection_identifier]`. For example the MAC address of a network interface: `"connections": [["mac", "02:5b:26:a8:dc:12"]]`.'
required: false
type: list
identifiers:
description: A list of IDs that uniquely identify the device. For example a serial number.
required: false
type: [string, list]
manufacturer:
description: The manufacturer of the device.
required: false
type: string
model:
description: The model of the device.
required: false
type: string
name:
description: The name of the device.
required: false
type: string
sw_version:
description: The firmware version of the device.
required: false
type: string
via_device:
description: 'Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.'
required: false
type: string
fan_speed_list:
description: List of possible fan speeds for the vacuum.
required: false
@ -349,7 +383,7 @@ set_fan_speed_topic:
required: false
type: string
state_topic:
description: The MQTT topic subscribed to receive state messages from the vacuum. State topic is extracting JSON if no `value_template` is defined.
description: "The MQTT topic subscribed to receive state messages from the vacuum. Messages received on the `state_topic` must be a valid JSON dictionary, with a mandatory `state` key and optionally `battery_level` and `fan_speed` keys as shown in the [example](#state-mqtt-protocol)."
required: false
type: string
supported_features:
@ -357,10 +391,6 @@ supported_features:
required: false
type: [string, list]
default: "`start`, `stop`, `return_home`, `status`, `battery`, `clean_spot`"
value_template:
description: "Defines a [template](/topics/templating/) to extract possible states from the vacuum."
required: false
type: string
{% endconfiguration %}
### State configuration example
@ -395,11 +425,12 @@ vacuum:
```
{% endraw %}
## State MQTT Protocol
### State MQTT Protocol
The above configuration for this integration expects an MQTT protocol like the following.
See also [Shared MQTT Protocol](#shared-mqtt-protocol).
### State Basic Commands
#### State Basic Commands
MQTT topic: `vacuum/command`
@ -412,7 +443,7 @@ Possible MQTT payloads:
- `clean_spot` - Initialize a spot cleaning cycle
- `locate` - Locate the vacuum (typically by playing a song)
### Send Custom Command
#### Send Custom Command
Vacuum send_command allows three parameters:
@ -448,7 +479,7 @@ Service trigger example:
MQTT topic: `vacuum/send_command`
### Status/Sensor Updates
#### Status/Sensor Updates
MQTT topic: `vacuum/state`
@ -523,6 +554,8 @@ Service trigger example:
MQTT topic: `vacuum/send_command`
## Usage examples
### Usage with cloudless Xiaomi vacuums
This integration is supported by the cloud-free Xiaomi Vacuum Webinterface [Valetudo](https://github.com/Hypfer/Valetudo).

View File

@ -1,7 +1,6 @@
---
title: Velbus
description: Access and control your Velbus devices.
logo: velbus.png
ha_category:
- Hub
- Binary Sensor

View File

@ -1,7 +1,6 @@
---
title: Volumio
description: How to set up the Volumio media player platform
logo: volumio.png
ha_category:
- Media Player
ha_release: 0.41

View File

@ -7,7 +7,6 @@ ha_category:
- Sensor
- Switch
ha_release: 0.58
logo: vultr.png
ha_iot_class: Cloud Polling
ha_domain: vultr
---

View File

@ -119,7 +119,7 @@ webostv:
turn_on_action:
service: wake_on_lan.send_magic_packet
data:
mac: "B4:E6:2A:1E:11:0F"
mac: AA-BB-CC-DD-EE-FF
media_player:

View File

@ -1,5 +1,5 @@
---
title: Home Asssitant WebSocket API
title: Home Assistant WebSocket API
description: Instructions on how to setup the WebSocket API within Home Assistant.
ha_category:
- Other

View File

@ -1,7 +1,6 @@
---
title: Wink
description: Instructions on how to set up the Wink hub within Home Assistant.
logo: wink.png
ha_category:
- Hub
- Alarm

View File

@ -1,7 +1,6 @@
---
title: Worx Landroid
description: Instructions on how to integrate Worx Landroid WG796E.1 or WG797E as sensors within Home Assistant.
logo: worx.png
ha_category:
- DIY
ha_release: 0.54

View File

@ -1,7 +1,6 @@
---
title: Washington State Department of Transportation (WSDOT)
description: Instructions on how to integrate WSDOT data into your home.
logo: wsdot.png
ha_category:
- Transport
ha_iot_class: Cloud Polling

View File

@ -1,7 +1,6 @@
---
title: Weather Underground (WUnderground)
description: Instructions on how to integrate Weather Underground (WUnderground) Weather within Home Assistant.
logo: wunderground.png
ha_category:
- Weather
ha_release: 0.27

View File

@ -1,7 +1,6 @@
---
title: Wunderlist
description: Instructions on how to use Wunderlist with Home Assistant.
logo: wunderlist.png
ha_category:
- Calendar
ha_release: 0.84

View File

@ -1,7 +1,6 @@
---
title: Yamaha MusicCast
description: Instructions on how to integrate Yamaha MusicCast Receivers into Home Assistant.
logo: yamaha.png
ha_category:
- Media Player
ha_release: 0.53

View File

@ -1,7 +1,6 @@
---
title: Yandex TTS
description: Instructions on how to setup Yandex SpeechKit TTS with Home Assistant.
logo: yandex.png
ha_category:
- Text-to-speech
ha_release: 0.36

View File

@ -1,7 +1,6 @@
---
title: Yr
description: Instructions on how to integrate Yr.no within Home Assistant.
logo: yr.png
ha_category:
- Weather
ha_release: 0.11

View File

@ -11,7 +11,7 @@ ha_domain: yweather
<div class='note warning'>
The Yahoo Weather API is being [retired](https://developer.yahoo.com/weather/?guccounter=1). A replacement is the [`darksky` sensor](/integrations/darksky).
The Yahoo Weather API is being [retired](https://developer.yahoo.com/weather/?guccounter=1). A replacement is the [`OpenWeatherMap` integration](/integrations/openweathermap).
</div>

View File

@ -1,7 +1,6 @@
---
title: Zabbix
description: Instructions on how to integrate Zabbix into Home Assistant.
logo: zabbix.png
ha_category:
- System Monitor
- Sensor

View File

@ -1,7 +1,6 @@
---
title: Zentralanstalt für Meteorologie und Geodynamik (ZAMG)
description: Instructions on how to integrate ZAMG within Home Assistant.
logo: zamg.png
ha_category:
- Weather
- Sensor

View File

@ -32,7 +32,7 @@ name:
default: Name of Entity
icon:
required: false
description: Overwrites icon or entity picture.
description: Icon that will be be used to overwrite the entity picture or entity icon.
type: string
default: Entity Domain Icon
show_name:

View File

@ -2085,3 +2085,4 @@
# Lovelace documentation
/lovelace/entity-button /lovelace/button
/lovelace/views /lovelace/dashboards-and-views

View File

@ -106,6 +106,12 @@ You can also install Home Assistant on a Linux operating system of choice, calle
Home Assistant Supervised, will still give you access to most features Home Assistant has to offer, including add-ons.
<div class='note warning'>
The Supervisord system is designed to provide a full-featured environment that is comparable with Kubernetes, which is also a bad idea to run it by the side of another orchestrator on the same Host. The Supervisor is also not caring for other software they run on your Host, and it can affect things bad on both sides. You also need to know that the Home Assistant OS runs with less overhead on your Proxmox or other Hypervisor as if you install first Debian and Ubuntu. In most cases, it's not the best choice to run the Supervisord on top of a Linux, if you not 100% sure what you do. **It is not just a container inside Docker!**
</div>
### Supported systems and limitations
While Home Assistant Supervised can be run on practically any Linux systems,

View File

@ -1,8 +1,175 @@
---
title: "Views"
title: "Dashboards and Views"
description: "The Lovelace UI is a powerful and configurable interface for Home Assistant."
---
### Dashboards
You can define multiple dashboards that all have their own YAML file, and add custom resources that are shared by all dashboards.
The key of the dashboard is used as the URL, this needs to contain a hyphen (`-`).
```yaml
lovelace:
mode: yaml
# Include external resources only add when mode is yaml, otherwise manage in the resources in the lovelace configuration panel.
resources:
- url: /local/my-custom-card.js
type: module
- url: /local/my-webfont.css
type: css
# Add more dashboards
dashboards:
lovelace-generated: # Needs to contain a hyphen (-)
mode: yaml
filename: notexist.yaml
title: Generated
icon: mdi:tools
show_in_sidebar: true
require_admin: true
lovelace-hidden:
mode: yaml
title: hidden
show_in_sidebar: false
filename: hidden.yaml
```
You can also add YAML dashboards when your main dashboard is UI configurated:
```yaml
lovelace:
mode: storage
# Add yaml dashboards
dashboards:
lovelace-yaml:
mode: yaml
title: YAML
icon: mdi:script
show_in_sidebar: true
filename: lovelace.yaml
```
{% configuration Lovelace %}
mode:
required: true
description: "In what mode should the main Lovelace panel be, `yaml` or `storage` (UI managed)."
type: string
resources:
required: false
description: "List of resources that should be loaded when you use Lovelace. Only use this when mode is `yaml`."
type: list
keys:
url:
required: true
description: The URL of the resource to load.
type: string
type:
required: true
description: "The type of resource, this should be either `module` for a JavaScript module or `css` for a StyleSheet."
type: string
dashboards:
required: false
description: Additional Lovelace YAML dashboards. The key is used for the URL and should contain a hyphen (`-`)
type: map
keys:
mode:
required: true
description: "The mode of the dashboard, this should always be `yaml`. Dashboards in `storage` mode can be created in the Lovelace configuration panel."
type: string
filename:
required: true
description: "The file in your `config` directory where the Lovelace configuration for this panel is."
type: string
title:
required: true
description: "The title of the dashboard, will be used in the sidebar."
type: string
icon:
required: false
description: The icon to show in the sidebar.
type: string
show_in_sidebar:
required: false
description: Should this view be shown in the sidebar.
type: boolean
default: true
require_admin:
required: false
description: Should this view be only accessible for admin users.
type: boolean
default: false
{% endconfiguration %}
As a super minimal example of a Lovelace dashboard config, here's the bare minimum you will need for it to work:
```yaml
title: My Awesome Home
views:
# View tab title.
- title: Example
cards:
# The markdown card will render markdown text.
- type: markdown
title: Lovelace
content: >
Welcome to your **Lovelace UI**.
```
A slightly more advanced example:
```yaml
title: My Awesome Home
views:
# View tab title.
- title: Example
# Unique path for direct access /lovelace/${path}
path: example
# Each view can have a different theme applied. Theme should be defined in the frontend.
theme: dark-mode
# The cards to show on this view.
cards:
# The filter card will filter entities for their state
- type: entity-filter
entities:
- device_tracker.paulus
- device_tracker.anne_there
state_filter:
- 'home'
card:
type: glance
title: People that are home
# The picture entity card will represent an entity with a picture
- type: picture-entity
image: https://www.home-assistant.io/images/default-social.png
entity: light.bed_light
# Specify a tab icon if you want the view tab to be an icon.
- icon: mdi:home-assistant
# Title of the view. Will be used as the tooltip for tab icon
title: Second view
cards:
# Entities card will take a list of entities and show their state.
- type: entities
# Title of the entities card
title: Example
# The entities here will be shown in the same order as specified.
# Each entry is an entity ID or a map with extra options.
entities:
- light.kitchen
- switch.ac
- entity: light.living_room
# Override the name to use
name: LR Lights
# The markdown card will render markdown text.
- type: markdown
title: Lovelace
content: >
Welcome to your **Lovelace UI**.
```
### Views
To display cards on the UI you have to define them in views. Views sort cards in columns based on their `card size`. If you want to group some cards you have to use `stack` cards.
<p class="img">

View File

@ -25,165 +25,4 @@ To revert back to using the UI to edit your Lovelace interface, remove the `love
### Advanced configuration
You can define multiple dashboards that all have their own YAML file, and add custom resources that are shared by all dashboards.
The key of the dashboard is used as the URL, this needs to contain a hyphen (`-`).
```yaml
lovelace:
mode: yaml
# Include external resources only add when mode is yaml, otherwise manage in the resources in the lovelace configuration panel.
resources:
- url: /local/my-custom-card.js
type: module
- url: /local/my-webfont.css
type: css
# Add more dashboards
dashboards:
lovelace-generated: # Needs to contain a hyphen (-)
mode: yaml
filename: notexist.yaml
title: Generated
icon: mdi:tools
show_in_sidebar: true
require_admin: true
lovelace-hidden:
mode: yaml
title: hidden
show_in_sidebar: false
filename: hidden.yaml
```
You can also add YAML dashboards when your main dashboard is UI configurated:
```yaml
lovelace:
mode: storage
# Add yaml dashboards
dashboards:
lovelace-yaml:
mode: yaml
title: YAML
icon: mdi:script
show_in_sidebar: true
filename: lovelace.yaml
```
{% configuration Lovelace %}
mode:
required: true
description: "In what mode should the main Lovelace panel be, `yaml` or `storage` (UI managed)."
type: string
resources:
required: false
description: "List of resources that should be loaded when you use Lovelace. Only use this when mode is `yaml`."
type: list
keys:
url:
required: true
description: The URL of the resource to load.
type: string
type:
required: true
description: "The type of resource, this should be either `module` for a JavaScript module or `css` for a StyleSheet."
type: string
dashboards:
required: false
description: Additional Lovelace YAML dashboards. The key is used for the URL and should contain a hyphen (`-`)
type: map
keys:
mode:
required: true
description: "The mode of the dashboard, this should always be `yaml`. Dashboards in `storage` mode can be created in the Lovelace configuration panel."
type: string
filename:
required: true
description: "The file in your `config` directory where the Lovelace configuration for this panel is."
type: string
title:
required: true
description: "The title of the dashboard, will be used in the sidebar."
type: string
icon:
required: false
description: The icon to show in the sidebar.
type: string
show_in_sidebar:
required: false
description: Should this view be shown in the sidebar.
type: boolean
default: true
require_admin:
required: false
description: Should this view be only accessible for admin users.
type: boolean
default: false
{% endconfiguration %}
As a super minimal example of a Lovelace dashboard config, here's the bare minimum you will need for it to work:
```yaml
title: My Awesome Home
views:
# View tab title.
- title: Example
cards:
# The markdown card will render markdown text.
- type: markdown
title: Lovelace
content: >
Welcome to your **Lovelace UI**.
```
A slightly more advanced example:
```yaml
title: My Awesome Home
views:
# View tab title.
- title: Example
# Unique path for direct access /lovelace/${path}
path: example
# Each view can have a different theme applied. Theme should be defined in the frontend.
theme: dark-mode
# The cards to show on this view.
cards:
# The filter card will filter entities for their state
- type: entity-filter
entities:
- device_tracker.paulus
- device_tracker.anne_there
state_filter:
- 'home'
card:
type: glance
title: People that are home
# The picture entity card will represent an entity with a picture
- type: picture-entity
image: https://www.home-assistant.io/images/default-social.png
entity: light.bed_light
# Specify a tab icon if you want the view tab to be an icon.
- icon: mdi:home-assistant
# Title of the view. Will be used as the tooltip for tab icon
title: Second view
cards:
# Entities card will take a list of entities and show their state.
- type: entities
# Title of the entities card
title: Example
# The entities here will be shown in the same order as specified.
# Each entry is an entity ID or a map with extra options.
entities:
- light.kitchen
- switch.ac
- entity: light.living_room
# Override the name to use
name: LR Lights
# The markdown card will render markdown text.
- type: markdown
title: Lovelace
content: >
Welcome to your **Lovelace UI**.
```
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.