Merge branch 'current' into next
@ -1,6 +1,6 @@
|
||||
---
|
||||
layout: page
|
||||
title: "GIT pull"
|
||||
title: "Git pull"
|
||||
description: "Load and update configuration files for Home Assistant from a GIT repository."
|
||||
date: 2017-09-25 14:00
|
||||
sidebar: true
|
||||
@ -15,6 +15,9 @@ Load and update configuration files for Home Assistant from a GIT repository.
|
||||
{
|
||||
"repository": "https://example.com/my_configs.git",
|
||||
"auto_restart": false,
|
||||
"git_branch": "master",
|
||||
"git_command": "pull",
|
||||
"git_remote": "origin",
|
||||
"repeat": {
|
||||
"active": false,
|
||||
"interval": 300
|
||||
@ -32,9 +35,20 @@ Load and update configuration files for Home Assistant from a GIT repository.
|
||||
}
|
||||
```
|
||||
|
||||
- **repository** (*Required*): GIT url to your repository. You have to add .git to your GITHub-Repository-URL (see example Config)
|
||||
- **auto_restart** (*Optional*): Make a restart of Home-Assistant if the config have change and is valid.
|
||||
- **repeat/active** (*Optional*): Pull periodic for GIT updates.
|
||||
- **repository** (*Required*): Git URL to your repository (make sure to use double quotes). You have to add .git to your GitHub repository URL (see example config)
|
||||
- **git_branch** (*Required*): Branch name of the git repo, leave this as 'master' if you are unsure.
|
||||
- **git_remote** (*Required*): Name of the tracked repository, leave this as 'origin' if you are unsure.
|
||||
- **git_command** (*Required*): Must be either 'pull' or 'reset', leave this as 'pull' if you are unsure.
|
||||
|
||||
* **pull**: Incorporates changes from a remote repository into the current branch. Will preserve any local changes to tracked files.
|
||||
* **reset**: Will execute ```git reset --hard``` and overwrite any local changes to tracked files and update from the remote repository.
|
||||
|
||||
<p class='note warning'>
|
||||
Using the <b>reset</b> option will overwrite changes to tracked files. Tracked files are those visible in the Github repository or those given by the output on this command: ```git ls-tree -r master --name-only```
|
||||
</p>
|
||||
|
||||
- **auto_restart** (*Optional*): Restart Home Assistant when the configuration has changed (and is valid).
|
||||
- **repeat/active** (*Optional*): Pull periodic for git updates.
|
||||
- **repeat/interval** (*Optional*): Pull all x seconds and look for changes.
|
||||
- **deployment_user** (*Optional*): Username to use when authenticating to a repo with a username and password.
|
||||
- **deployment_password** (*Optional*): Password to use when authenticating to a repo. Ignored if deployment_user is not set.
|
||||
|
@ -34,3 +34,27 @@ Configuration variables:
|
||||
- **username** (*Required*): Username used to sign into the TotalConnect app/web client.
|
||||
- **password** (*Required*): Password used to sign into the TotalConnect app/web client.
|
||||
|
||||
Automation example:
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: "Alarm: Disarmed Daytime"
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: alarm_control_panel.total_connect
|
||||
to: 'disarmed'
|
||||
condition:
|
||||
condition: sun
|
||||
before: sunset
|
||||
action:
|
||||
service: scene.turn_on
|
||||
entity_id: scene.OnDisarmedDaytime
|
||||
- alias: "Alarm: Armed Away"
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: alarm_control_panel.total_connect
|
||||
to: 'armed_away'
|
||||
action:
|
||||
service: scene.turn_on
|
||||
entity_id: scene.OnArmedAway
|
||||
```
|
||||
|
@ -81,3 +81,27 @@ binary_sensor:
|
||||
```
|
||||
|
||||
Consider to use the [`ping` sensor ](/components/binary_sensor.ping/) as an alternative to the samples above.
|
||||
|
||||
### {% linkable_title Check if a system service is running %}
|
||||
|
||||
The services running is listed in `/etc/systemd/system` and can be checked with the `systemctl` command:
|
||||
|
||||
```
|
||||
$ systemctl is-active home-assistant@rock64.service
|
||||
active
|
||||
$ sudo service home-assistant@rock64.service stop
|
||||
$ systemctl is-active home-assistant@rock64.service
|
||||
inactive
|
||||
```
|
||||
|
||||
A binary command line sensor can check this:
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
- platform: command_line
|
||||
command: '/bin/systemctl is-active home-assistant@rock64.service'
|
||||
payload_on: 'active'
|
||||
payload_off: 'inactive'
|
||||
```
|
||||
|
||||
Note: Use single quotes!
|
||||
|
@ -13,7 +13,13 @@ ha_release: 0.21
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
This can typically be one of those batteryless wall switches. Currently only one type has been tested: Eltako FT55 which uses the EnOcean PTM 215 module. All switches using this module are expected to work. Other devices will most likely not work without changing the Home Assistant code.
|
||||
This can typically be one of those batteryless wall switches.
|
||||
Tested with:
|
||||
|
||||
- Eltako FT55 which uses the EnOcean PTM 215 module
|
||||
- [TRIO2SYS Wall switches](http://www.trio2sys.fr/index.php/fr/produits-enocean-sans-fil-sans-pile-interoperable/emetteur-sans-fils-sans-pile-interoperable-enocean) which uses the EnOcean PTM210 DB module
|
||||
|
||||
All switches using theses modules are expected to work. Other devices will most likely not work without changing the Home Assistant code.
|
||||
|
||||
To use your EnOcean device, you first have to set up your [EnOcean hub](/components/enocean/) and then add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -13,7 +13,7 @@ ha_release: 0.34
|
||||
ha_iot_class: "Cloud Poll"
|
||||
---
|
||||
|
||||
The `nest` platform allows you to watch the live stream of your [Nest](https://nest.com/camera/meet-nest-cam/) camera in Home Assistant.
|
||||
The `nest` platform allows you to watch still frames from a video stream (not live stream) of your [Nest](https://nest.com/camera/meet-nest-cam/) camera in Home Assistant.
|
||||
|
||||
<p class='note'>
|
||||
You must have the [Nest component](/components/nest/) configured to use this camera. The `nest` camera will automatically be setup when you do.
|
||||
|
@ -56,7 +56,7 @@ Right after enabling, the app will take you to the **Log to custom URL** setting
|
||||
The relevant endpoint is: `/api/gpslogger`
|
||||
|
||||
```text
|
||||
https://[IP address Home Assistant]:[Port]/api/gpslogger?
|
||||
https://YOUR.DNS.HOSTNAME:PORT/api/gpslogger?
|
||||
latitude=%LAT&longitude=%LON&device=%SER&accuracy=%ACC
|
||||
&battery=%BATT&speed=%SPD&direction=%DIR
|
||||
&altitude=%ALT&provider=%PROV&activity=%ACT
|
||||
@ -65,11 +65,11 @@ https://[IP address Home Assistant]:[Port]/api/gpslogger?
|
||||
Add the above URL after you modified it with your settings into the **URL** field. Remove the line breaks as they are only there to make the URL readable here.
|
||||
|
||||
- It's HIGHLY recommended to use SSL/TLS.
|
||||
- Use the domain that Home Assistant is available on the internet or the public IP address. This can be a local IP address if you are using an always on VPN from your mobile device to your home network.
|
||||
- Only remove `[Port]` if your Home Assistant instance is using port 443. Otherwise set it to the port you're using.
|
||||
- For Home Assistant only the above URL, as written, will work - do not add or remove any parameters.
|
||||
- Make sure to include your [API password](/components/http/) if you have configured a password. Add `&api_password=[Your password]` to the end of the URL.
|
||||
- You can change the name of your device name by replacing `&device=%SER` with `&device=[Devicename]`.
|
||||
- Use the domain that Home Assistant is available on the internet (or the public IP address if you have a static IP address). This can be a local IP address if you are using an always on VPN from your mobile device to your home network.
|
||||
- Only remove `PORT` if your Home Assistant instance is using port 443. Otherwise set it to the port you're using.
|
||||
- For Home Assistant only the above URL, as written, will work - do not add, remove, or change the order of any of the parameters.
|
||||
- Make sure to include your [API password](/components/http/) if you have configured a password. Add `&api_password=YOUR_PASSWORD` to the end of the URL.
|
||||
- You can change the name of your device name by replacing `&device=%SER` with `&device=DEVICE_NAME`.
|
||||
|
||||
If your battery drains fast then you can tune the performance of GPSLogger under **Performance** -> **Location providers**
|
||||
|
||||
|
@ -34,8 +34,7 @@ The following OID examples pull the current MAC Address table from a router. Thi
|
||||
| EdgeRouter | Lite v1.9.0 | `1.3.6.1.2.1.4.22.1.2` |
|
||||
| Ruckus | ZoneDirector 9.13.3 | `1.3.6.1.4.1.25053.1.2.2.1.1.3.1.1.1.6` |
|
||||
| DD-WRT | unknown RouterOS version/model | `1.3.6.1.2.1.4.22.1.2` |
|
||||
| Apple Airport Express (2nd gen.) | 7.6.9 | `1.3.6.1.2.1.3.1.1.2`
|
||||
`1.3.6.1.2.1.4.22.1.2.16`|
|
||||
| Apple Airport Express (2nd gen.) | 7.6.9 | `1.3.6.1.2.1.3.1.1.2` or `1.3.6.1.2.1.4.22.1.2`|
|
||||
|
||||
To use the SNMP version 1 platform in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
|
@ -254,3 +254,59 @@ action:
|
||||
service: lock.unlock
|
||||
entity_id: lock.leq1234567
|
||||
```
|
||||
|
||||
#### {% linkable_title Detecting lost connections %}
|
||||
|
||||
When the connection to your HomeMatic CCU or Homegear is lost, Home Assistant will stop getting updates from devices. This may happen after rebooting the CCU for example. Due to the nature of the communication protocol this cannot be handled automatically, so you must call *homematic.reconnect* in this case. That's why it is usually a good idea to check if your HomeMatic components are still updated properly, in order to detect connection losses. This can be done in several ways through an automation:
|
||||
|
||||
* If you have a sensor which you know will be updated frequently (e.g. an outdoor temperature sensor or light sensor) you could set up an automation like this:
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Homematic Reconnect
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: sensor.outdoor_light_level
|
||||
for:
|
||||
hours: 3
|
||||
action:
|
||||
# Reconnect, if sensor has not been updated for over 3 hours
|
||||
service: homematic.reconnect
|
||||
```
|
||||
* If you have a CCU you can also create a system variable on the CCU, which stores it's last reboot time. Since Home Assistant can still refresh system variables from the CCU (even after a reboot), this is a pretty reliable way to detect situations where you need to call *homematic.reconnect*. This is how this can be done:
|
||||
|
||||
1. Create a string variable **V_Last_Reboot** on the CCU
|
||||
|
||||
2. Creata a new programm on the CCU **without any conditions**, which executes the following *HM-Script* with a delay of 30 seconds:
|
||||
|
||||
```javascript
|
||||
var obj = dom.GetObject("V_Last_Reboot");
|
||||
string now = system.Date("%d.%m.%Y %H:%M:%S");
|
||||
obj.State(now);
|
||||
```
|
||||
|
||||
The HomeMatic CCU will execute all active programs which meet their conditions (none in this case) on every reboot.
|
||||
|
||||
3. Set up a template sensor in Home Assistant, which contains the value of the system variable:
|
||||
|
||||
```yaml
|
||||
- platform: template
|
||||
sensors:
|
||||
v_last_reboot:
|
||||
value_template: "{% raw %}{{ state_attr('homematic.ccu2', 'V_Last_Reboot') or '01.01.1970 00:00:00' }}{% endraw %}"
|
||||
icon_template: "mdi:clock"
|
||||
entity_id: homematic.ccu2
|
||||
```
|
||||
|
||||
4. Set up an automation which calls *homematic.reconnect* whenever the sensor variable changes:
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Homematic CCU Reboot
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: sensor.v_last_reboot
|
||||
action:
|
||||
service: homematic.reconnect
|
||||
```
|
||||
|
||||
|
@ -77,6 +77,7 @@ Configuration variables:
|
||||
|
||||
- **host** (*Required*): IP address of your TV.
|
||||
- **access_token** (*Required*): Authentication token you received in the last step of the pairing process.
|
||||
- **suppress_warning** (*Optional*): Set to `true` to disable self-signed certificate warnings.
|
||||
|
||||
## Notes and limitations
|
||||
|
||||
@ -91,13 +92,3 @@ Changing tracks works like channels switching. If you have source other than reg
|
||||
### Sources
|
||||
|
||||
Source list shows all external devices connected to the TV through HDMI plus list of internal devices (TV mode, Chrome Cast, etc.).
|
||||
|
||||
<p class='note'>
|
||||
Vizio SmartCast service is accessible through HTTPS with self-signed certificate. If you have low LOGLEVEL in your Home Assistant configuration, you'll see a lot of warnings like this:
|
||||
`InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised.`
|
||||
|
||||
You can adjust the log level for `media_player` components with the [logger](/components/logger/) component, or if you need to keep a low log level for `media_player` you could proxy calls to your TV through an NGINX reverse proxy.
|
||||
|
||||
If you want to only ignore only this specific [python urllib3 SSL warning](https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings), you will need to run Home Assistant with the python flag `-W` or the environment variable `PYTHONWARNINGS` set to:
|
||||
`ignore:Unverified HTTPS request is being made`
|
||||
</p>
|
||||
|
@ -37,6 +37,10 @@ Configuration variables:
|
||||
- **verify** (*Optional*): Allow disabling SSL certificate validity check (e.g., self-signed certificate). Defaults to `true`.
|
||||
- **room** (*Optional*): Room's name (e.g., example@conference.jabber.org). If set, send a message to chatroom instead of the sender.
|
||||
|
||||
<p class='note'>
|
||||
sleekxmpp, as of version 1.3.2, does not support >TLS1. If you are running your own XMPP server (e.g. Prosody, ejabberd) make sure to allow using TLS1.
|
||||
</p>
|
||||
|
||||
All Jabber IDs (JID) must include the domain. Make sure that the password matches the account provided as sender.
|
||||
|
||||
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
|
||||
|
@ -14,18 +14,28 @@ ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
The `haveibeenpwned` sensor platform creates sensors that check for breached email accounts on [haveibeenpwned](https://haveibeenpwned.com).
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable this sensor, add the following lines to your `configuration.yaml`, it will list every specified email address as a sensor showing
|
||||
the number of breaches on that email account:
|
||||
the number of breaches on that email account.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry using cloud based emoncms
|
||||
sensor:
|
||||
platform: haveibeenpwned
|
||||
- platform: haveibeenpwned
|
||||
email:
|
||||
- your_email1@domain.com
|
||||
- your_email2@domain.com
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
email:
|
||||
description: List of email addresses.
|
||||
required: true
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Breach meta data %}
|
||||
|
||||
If one of your email accounts is breached the sensor will display breach meta data. It will list the title of the site where your email
|
||||
@ -36,10 +46,6 @@ account has been breached as well as the added date of the breach data. This dat
|
||||
<img src='/images/components/haveibeenpwned/sensor.png' />
|
||||
</p>
|
||||
|
||||
## {% linkable_title Configuration variables %}
|
||||
|
||||
- **email** (*Required*): List of email addresses.
|
||||
|
||||
<p class='note warning'>
|
||||
The sensor will scan all email addresses specified with a 5 second delay between all breach data requests on Home Assistant startup.
|
||||
After this initial startup scanning, the sensor will only scan one email account per 15 minutes to prevent abuse, and not hammer "the
|
||||
|
@ -13,11 +13,11 @@ ha_iot_class: "Local Push"
|
||||
logo: home-assistant.png
|
||||
---
|
||||
|
||||
The `template` platform supports sensors which break out `state_attributes`
|
||||
from other entities.
|
||||
The `template` platform supports sensors which break out `state_attributes` from other entities.
|
||||
|
||||
To enable Template Sensors in your installation, add the following to your
|
||||
`configuration.yaml` file:
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable Template Sensors in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@ -78,13 +78,7 @@ sensor:
|
||||
|
||||
## {% linkable_title Considerations %}
|
||||
|
||||
If you are using the state of a platform that takes extra time to load, the
|
||||
Template Sensor may get an `unknown` state during startup. To avoid this (and the resulting
|
||||
error messages in your log file), you can use `is_state()` function in your template.
|
||||
For example, you would replace
|
||||
{% raw %}`{{ states.switch.source.state == 'on' }}`{% endraw %}
|
||||
with this equivalent that returns `true`/`false` and never gives an `unknown`
|
||||
result:
|
||||
If you are using the state of a platform that takes extra time to load, the Template Sensor may get an `unknown` state during startup. To avoid this (and the resulting error messages in your log file), you can use `is_state()` function in your template. For example, you would replace {% raw %}`{{ states.switch.source.state == 'on' }}`{% endraw %} with this equivalent that returns `true`/`false` and never gives an `unknown` result:
|
||||
{% raw %}`{{ is_state('switch.source', 'on') }}`{% endraw %}
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
@ -109,8 +103,7 @@ sensor:
|
||||
|
||||
### {% linkable_title Renaming Sensor Output %}
|
||||
|
||||
If you don't like the wording of a sensor output then the Template Sensor can
|
||||
help too. Let's rename the output of the [Sun component](/components/sun/) as
|
||||
If you don't like the wording of a sensor output then the Template Sensor can help too. Let's rename the output of the [Sun component](/components/sun/) as
|
||||
a simple example:
|
||||
|
||||
{% raw %}
|
||||
@ -129,9 +122,7 @@ sensor:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Processes monitored by the [System Monitor sensor](/components/sensor.systemmonitor/)
|
||||
show `on` or `off` if they are running or not. This example shows how the
|
||||
output of a monitored `glances` process can be renamed.
|
||||
Processes monitored by the [System Monitor sensor](/components/sensor.systemmonitor/) show `on` or `off` if they are running or not. This example shows how the output of a monitored `glances` process can be renamed.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@ -149,13 +140,11 @@ sensor:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
The [Template Binary Sensor](/components/binary_sensor.template/) is the one in
|
||||
similar cases if you prefer to see an icon instead of text.
|
||||
The [Template Binary Sensor](/components/binary_sensor.template/) is the one in similar cases if you prefer to see an icon instead of text.
|
||||
|
||||
### {% linkable_title Multiline Example With an `if` Test %}
|
||||
|
||||
This example shows a multiple line template with an `if` test. It looks at a
|
||||
sensing switch and shows `on`/`off` in the frontend.
|
||||
This example shows a multiple line template with an `if` test. It looks at a sensing switch and shows `on`/`off` in the frontend.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@ -182,8 +171,7 @@ sensor:
|
||||
|
||||
### {% linkable_title Change The Unit of Measurement %}
|
||||
|
||||
With a Template Sensor it's easy to convert given values into others if the
|
||||
unit of measurement doesn't fit your needs.
|
||||
With a Template Sensor it's easy to convert given values into others if the unit of measurement doesn't fit your needs.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@ -257,7 +245,7 @@ sensor:
|
||||
### {% linkable_title Change the Friendly Name Used in the Frontend %}
|
||||
|
||||
This example shows how to change the `friendly_name` based on a date.
|
||||
Explanation: we add a multiple of 86400 seconds (= 1 day) to the current unix timestamp to get a future date.
|
||||
Explanation: We add a multiple of 86400 seconds (= 1 day) to the current unix timestamp to get a future date.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
@ -295,3 +283,19 @@ sensor:
|
||||
unit_of_measurement: 'kW'
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
### {% linkable_title Working with dates %}
|
||||
|
||||
The `template` sensors are not limited to use attributes from other entities but can also work with [Home Assistant's template extensions](/docs/configuration/templating/#home-assistant-template-extensions).
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
nonsmoker:
|
||||
value_template: '{{ (( as_timestamp(now()) - as_timestamp(strptime("06.07.2018", "%d.%m.%Y")) ) / 86400 ) | round(2) }}'
|
||||
friendly_name: 'Not smoking'
|
||||
unit_of_measurement: "Days"
|
||||
```
|
||||
{% endraw %}
|
||||
|
@ -48,3 +48,6 @@ Do not use the `api_key` variable. The key is only needed once at initial setup.
|
||||
Please make sure you have `autoconf` installed (`apt-get install autoconf`) if you want to use this component. Also, installing some dependencies might take considerable time (>1h) on slow devices. You might have to use `sudo` when installing `autoconf`.
|
||||
|
||||
</p>
|
||||
|
||||
## {% linkable_title Troubleshooting %}
|
||||
- Firmware updates: After updating the firmware of your Trådfri gateway it might be necessary to repeat the configuration process. If you encounter problems, delete `.tradfri_psk.conf`, restart Home Assistant, when prompted enter the security key and click configure, just like during initial setup. (Possible errors: ```Fatal DTLS error: code 115```)
|
||||
|
@ -23,6 +23,7 @@ One major advantage of Home Assistant is that it's not dependent on cloud servic
|
||||
If you want to allow remote access, consider these additional points:
|
||||
|
||||
- Protect your communication with [TLS/SSL](/docs/ecosystem/certificates/lets_encrypt/).
|
||||
- Enable IP Filtering and configure a low [Login Attempts Threshold](/components/http/)
|
||||
- Protect your communication with [Tor](/cookbook/tor_configuration/).
|
||||
- Protect your communication with a [self-signed certificate](/cookbook/tls_self_signed_certificate/).
|
||||
- Use a [proxy](/cookbook/apache_configuration/).
|
||||
|
@ -126,7 +126,7 @@ condition:
|
||||
condition: sun
|
||||
after: sunset
|
||||
# Optional offset value - in this case it must from -1 hours relative to sunset, or after
|
||||
after_offset: "-1:00:00"
|
||||
after_offset: "-01:00:00"
|
||||
```
|
||||
|
||||
```yaml
|
||||
|
@ -301,3 +301,56 @@ Button four release|4|1
|
||||
### {% linkable_title WallC-S Switch %}
|
||||
|
||||
Use the same configuration as for the Aeotec Wallmote.
|
||||
|
||||
### {% linkable_title HANK One-key Scene Controller HKZN-SCN01 %}
|
||||
|
||||
For the HANK One-key Scene Controller, you may need to update the `COMMAND_CLASS_CENTRAL_SCENE` for each node in your `zwcfg` file with the following:
|
||||
|
||||
```xml
|
||||
<CommandClass id="91" name="COMMAND_CLASS_CENTRAL_SCENE" version="1" request_flags="1" innif="true" scenecount="0">
|
||||
<Instance index="1" />
|
||||
<Value type="int" genre="system" instance="1" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
|
||||
<Value type="int" genre="system" instance="1" index="1" label="Button One" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
|
||||
</CommandClass>
|
||||
```
|
||||
|
||||
Below is a table of the action/scenes for the Button (as a reference for other similar devices):
|
||||
|
||||
**Action**|**scene\_id**|**scene\_data**
|
||||
:-----:|:-----:|:-----:
|
||||
Button single tap|1|0
|
||||
Button hold|1|2
|
||||
Button release|1|1
|
||||
|
||||
### {% linkable_title HANK Four-key Scene Controller HKZN-SCN04 %}
|
||||
|
||||
For the HANK Four-key Scene Controller, you may need to update the `COMMAND_CLASS_CENTRAL_SCENE` for each node in your `zwcfg` file with the following:
|
||||
|
||||
```xml
|
||||
<CommandClass id="91" name="COMMAND_CLASS_CENTRAL_SCENE" version="1" request_flags="5" innif="true" scenecount="0">
|
||||
<Instance index="1" />
|
||||
<Value type="int" genre="system" instance="1" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
|
||||
<Value type="int" genre="system" instance="1" index="1" label="Button One" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
|
||||
<Value type="int" genre="system" instance="1" index="2" label="Button Two" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="1" />
|
||||
<Value type="int" genre="system" instance="1" index="3" label="Button Three" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="1" />
|
||||
<Value type="int" genre="system" instance="1" index="4" label="Button Four" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="1" />
|
||||
<Value type="int" genre="system" instance="1" index="5" label="Other" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
|
||||
</CommandClass>
|
||||
```
|
||||
|
||||
Below is a table of the action/scenes for the Buttons and associated Pictogram:
|
||||
|
||||
**Action**|**Pictogram**|**scene\_id**|**scene\_data**
|
||||
:-----:|:-----:|:-----:|:-----:
|
||||
Button one tap|Moon and Star|1|0
|
||||
Button one hold|Moon and Star|1|2
|
||||
Button one release|Moon and Star|1|1
|
||||
Button two tap|People|2|0
|
||||
Button two hold|People|2|2
|
||||
Button two release|People|2|1
|
||||
Button three tap|Circle|3|0
|
||||
Button three hold|Circle|3|2
|
||||
Button three release|Circle|3|1
|
||||
Button four tap|Circle with Line|4|0
|
||||
Button four hold|Circle with Line|4|2
|
||||
Button four release|Circle with Line|4|1
|
@ -1,7 +1,7 @@
|
||||
<section class="aside-module grid__item one-whole lap-one-half">
|
||||
<h1 class="title delta">Categories</h1>
|
||||
<ul class="divided">
|
||||
{% assign categories = site.categories | sort %}
|
||||
{% assign categories = site.categories | sort_natural %}
|
||||
{% for category in categories %}
|
||||
<li><a href="/blog/categories/{{ category | first | downcase }}/">{{ category | first | replace: '-', ' '}}</a></li>
|
||||
{% endfor %}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{% assign components = site.components | sort: 'title' %}
|
||||
{% assign components = site.components | sort_natural: 'title' %}
|
||||
{% assign github_main_repo = 'https://github.com/home-assistant/home-assistant/blob/master/homeassistant' %}
|
||||
<section class="aside-module grid__item one-whole lap-one-half">
|
||||
{% include edit_github.html %}
|
||||
|
@ -1,6 +1,6 @@
|
||||
<section class="aside-module grid__item one-whole lap-one-half">
|
||||
{% include edit_github.html %}
|
||||
{% assign cookbook = site.cookbook | sort: 'title' %}
|
||||
{% assign cookbook = site.cookbook | sort_natural: 'title' %}
|
||||
|
||||
<div class='section'>
|
||||
<a href='/cookbook'>Back to the cookbook</a>
|
||||
|
@ -2,8 +2,8 @@
|
||||
<div class='section'>
|
||||
<h1 class="title delta">Entries</h1>
|
||||
<ul class='divided sidebar-menu'>
|
||||
{% assign faq = site.faq | sort: 'title' %}
|
||||
{% assign categories = faq | map: 'ha_category' | uniq | sort %}
|
||||
{% assign faq = site.faq | sort_natural: 'title' %}
|
||||
{% assign categories = faq | map: 'ha_category' | uniq | sort_natural %}
|
||||
|
||||
{% for category in categories %}
|
||||
<li>
|
||||
|
@ -1,11 +1,13 @@
|
||||
<section class="aside-module grid__item one-whole lap-one-half">
|
||||
<!-- {% include edit_github.html %} -->
|
||||
{% assign cards = site.lovelace | sort: 'title' %}
|
||||
{% assign cards = site.lovelace | sort_natural: 'title' %}
|
||||
|
||||
<div class='section'>
|
||||
<h1 class="title delta">Lovelace UI</h1>
|
||||
<ul class='divided'>
|
||||
<li><a href='/lovelace/'>Introduction</a></li>
|
||||
<li><a href='/lovelace/changelog/'>Changelog</a></li>
|
||||
<li><a href='/lovelace/views/'>Views</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@ -19,4 +21,5 @@
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
63
source/_lovelace/entities.markdown
Normal file
@ -0,0 +1,63 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Entities Card"
|
||||
sidebar_label: Entities
|
||||
description: "Entities will be the most common type of card that will also be the most familiar to people using the standard interface. It groups items together very close to how groups used to do."
|
||||
date: 2018-07-01 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
Entities will be the most common type of card that will also be the most familiar to people using the standard interface. It groups items together very close to how groups used to do.
|
||||
|
||||
{% linkable_title Options %}
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: entities
|
||||
type: string
|
||||
entities:
|
||||
required: true
|
||||
description: "Entity id's or an `entity` object (see structure below)."
|
||||
type: list
|
||||
title:
|
||||
required: false
|
||||
description: Card title
|
||||
type: string
|
||||
show_header_toggle:
|
||||
required: false
|
||||
description: Button to turn on/off all entities
|
||||
type: boolean
|
||||
default: true
|
||||
{% endconfiguration %}
|
||||
|
||||
`entity` object
|
||||
|
||||
{% configuration %}
|
||||
entity:
|
||||
required: true
|
||||
description: "An entity_id. Example: 'device_tracker.demo_paulus'."
|
||||
type: string
|
||||
name:
|
||||
required: true
|
||||
description: A new name for the entity_id
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
{% linkable_title Example %}
|
||||
|
||||
```yaml
|
||||
- type: entities
|
||||
title: Entities card sample
|
||||
show_header_toggle: true
|
||||
entities:
|
||||
- entity: alarm_control_panel.alarm
|
||||
name: Alarm Panel
|
||||
- device_tracker.demo_paulus
|
||||
- switch.decorative_lights
|
||||
- group.all_lights
|
||||
- group.all_locks
|
||||
```
|
83
source/_lovelace/entity-filter.markdown
Normal file
@ -0,0 +1,83 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Entity Filter Card"
|
||||
sidebar_label: Entity Filter
|
||||
description: "This card 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. "
|
||||
date: 2018-07-01 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
This card 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.
|
||||
|
||||
This type of card can also be used together with rest of cards that allow multiple entities, allowing you to use [glance](/lovelace/glance/) or [picture-glance](/lovelace/picture-glance/). By default it uses [entities](/lovelace/entities/) card model.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_entity_filter.png' alt='Screenshot of the entity filter card'>
|
||||
Screenshot of the entity filter card.
|
||||
</p>
|
||||
|
||||
{% linkable_title Options %}
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: entity-filter
|
||||
type: string
|
||||
entities:
|
||||
required: true
|
||||
description: Array of entity_ids
|
||||
type: array
|
||||
state_filter:
|
||||
required: true
|
||||
description: Array of strings representing states
|
||||
type: array
|
||||
card:
|
||||
required: false
|
||||
description: Extra options to pass down to the card rendering the result.
|
||||
type: object
|
||||
default: entities type
|
||||
show_empty:
|
||||
required: false
|
||||
description: Allows hiding of card when no entities returned by filter.
|
||||
type: boolean
|
||||
default: true
|
||||
{% endconfiguration %}
|
||||
|
||||
{% linkable_title 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'
|
||||
card:
|
||||
title: Eating power
|
||||
```
|
||||
|
||||
Show only people that are at home using [glance](/lovelace/glance/):
|
||||
|
||||
```yaml
|
||||
- type: entity-filter
|
||||
entities:
|
||||
- device_tracker.demo_paulus
|
||||
- device_tracker.demo_anne_therese
|
||||
- device_tracker.demo_home_boy
|
||||
state_filter:
|
||||
- 'home'
|
||||
card:
|
||||
type: glance
|
||||
title: People at home
|
||||
```
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_entity_filter_glance.png' alt='Screenshot of the entity filter used on a Glance card'>
|
||||
Screenshot of the entity filter used on a Glance card.
|
||||
</p>
|
@ -10,17 +10,78 @@ sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
A card that allows you to see see a list of entities at a glance.
|
||||
Glance cards are a very compact. Very useful to group together multiple sensors for a quick and easy to use view. Keep in mind that this can be used together with [entity-filter](/lovelace/entity-filter/) cards to create dynamic cards.
|
||||
|
||||
| Name | Type | Default | Description
|
||||
| ---- | ---- | ------- | -----------
|
||||
| type | string | **Required** | `glance`
|
||||
| entities | list | **Required** | Entity id's
|
||||
| title | string | Optional | Card title
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_glance_card.png' alt='Screenshot of the glance card'>
|
||||
Screenshot of the glance card.
|
||||
</p>
|
||||
|
||||
Each entry in the list of entities is either an entity ID or an entity option object. The entity option object can have the following options:
|
||||
{% linkable_title Options %}
|
||||
|
||||
| Name | Type | Default | Description
|
||||
| ---- | ---- | ------- | -----------
|
||||
| entity | entity id | **Required** | The ID of the entity to show.
|
||||
| title | string | Optional | The title to use instead of the entity name.
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: glance
|
||||
type: string
|
||||
entities:
|
||||
required: true
|
||||
description: "Entity id's or an `entity` object (see structure below)."
|
||||
type: list
|
||||
title:
|
||||
required: false
|
||||
description: Card title
|
||||
type: string
|
||||
default: none
|
||||
{% endconfiguration %}
|
||||
|
||||
`entity` object type
|
||||
|
||||
{% configuration %}
|
||||
entity:
|
||||
required: true
|
||||
description: "An entity_id. Example: 'device_tracker.demo_paulus'."
|
||||
type: string
|
||||
name:
|
||||
required: true
|
||||
description: A new name for the entity_id
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
{% linkable_title Examples %}
|
||||
|
||||
Basic example
|
||||
|
||||
```yaml
|
||||
- type: glance
|
||||
title: Glance card sample
|
||||
entities:
|
||||
- binary_sensor.movement_backyard
|
||||
- light.bed_light
|
||||
- binary_sensor.basement_floor_wet
|
||||
- sensor.outside_temperature
|
||||
- light.ceiling_lights
|
||||
- switch.ac
|
||||
- lock.kitchen_door
|
||||
```
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_glance_card.png' alt='Screenshot of the glance card with custom title'>
|
||||
Screenshot of the glance card with custom title.
|
||||
</p>
|
||||
|
||||
Example with custom name
|
||||
|
||||
```yaml
|
||||
- type: glance
|
||||
title: Better names
|
||||
entities:
|
||||
- entity: binary_sensor.movement_backyard
|
||||
name: Movement?
|
||||
- light.bed_light
|
||||
- binary_sensor.basement_floor_wet
|
||||
- sensor.outside_temperature
|
||||
- light.ceiling_lights
|
||||
- switch.ac
|
||||
- lock.kitchen_door
|
||||
```
|
||||
|
56
source/_lovelace/history-graph.markdown
Normal file
@ -0,0 +1,56 @@
|
||||
---
|
||||
layout: page
|
||||
title: "History Graph Card"
|
||||
sidebar_label: History Graph
|
||||
description: "History graph is a basic card, allowing you to display a graph for each of the entities in the list specified as config."
|
||||
date: 2018-07-01 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
History graph is a basic card, allowing you to display a graph for each of the entities in the list specified as config.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_history_graph.png' alt='Screenshot of the history graph card'>
|
||||
Screenshot of the history graph card.
|
||||
</p>
|
||||
|
||||
{% linkable_title Options %}
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: history-graph
|
||||
type: string
|
||||
entities:
|
||||
required: true
|
||||
description: List of entities to graph.
|
||||
type: list
|
||||
hours_to_show:
|
||||
required: false
|
||||
description: Hours to show
|
||||
type: integer
|
||||
default: 24
|
||||
refresh_interval:
|
||||
required: false
|
||||
description: Refresh interval in seconds
|
||||
type: integer
|
||||
default: 0
|
||||
title:
|
||||
required: false
|
||||
description: Card title
|
||||
type: string
|
||||
default: none
|
||||
{% endconfiguration %}
|
||||
|
||||
{% linkable_title Example %}
|
||||
|
||||
```yaml
|
||||
- type: history-graph
|
||||
title: 'My Graph'
|
||||
entities:
|
||||
- sensor.outside_temperature
|
||||
- media_player.lounge_room
|
||||
```
|
46
source/_lovelace/horizontal-stack.markdown
Normal file
@ -0,0 +1,46 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Horizontal Stack Card"
|
||||
sidebar_label: Horizontal Stack
|
||||
description: "Horizontal stack card will allow you to stack together multiple cards so they always sit next to each other in the space of one column."
|
||||
date: 2018-07-01 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
Horizontal stack card will allow you to stack together multiple cards so they always sit next to each other in the space of one column.
|
||||
|
||||
{% linkable_title Options %}
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: horizontal-stack
|
||||
type: string
|
||||
cards:
|
||||
required: true
|
||||
description: List of cards
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
{% linkable_title Example %}
|
||||
|
||||
Basic example
|
||||
|
||||
```yaml
|
||||
- type: horizontal-stack
|
||||
cards:
|
||||
- type: picture-entity
|
||||
image: https://images.pexels.com/photos/164595/pexels-photo-164595.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=240&w=495
|
||||
entity: light.ceiling_lights
|
||||
- type: picture-entity
|
||||
image: https://images.pexels.com/photos/545012/pexels-photo-545012.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=240&w=495
|
||||
entity: light.bed_light
|
||||
```
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_horizontal_stack.PNG' alt='Screenshot of the 2 cards in a horizontal stack card'>
|
||||
Screenshot of the 2 cards in a horizontal stack card.
|
||||
</p>
|
58
source/_lovelace/iframe.markdown
Normal file
@ -0,0 +1,58 @@
|
||||
---
|
||||
layout: page
|
||||
title: "iFrame Card"
|
||||
sidebar_label: iFrame
|
||||
description: "Iframe cards are useful to embed outside websites in your dashboard with little effort. One such example is a grafana view."
|
||||
date: 2018-07-01 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
Iframe cards are useful to embed outside websites in your dashboard with little effort. One such example is a grafana view. You can also embed files stored in your `config/www` folder and reference them using `/local/<file>`.
|
||||
|
||||
<p class='img'>
|
||||
<img width="500" src='/images/lovelace/lovelace_iframe.png' alt='Screenshot of the iframe card'>
|
||||
Screenshot of the iframe card.
|
||||
</p>
|
||||
|
||||
> Make sure the URL you're embedding has the right protocol and allows to be embedded in an iframe on a different domain. For example if your Home Assistant setup uses https you won't be able to embed http URLs
|
||||
|
||||
{% linkable_title Options %}
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: iframe
|
||||
type: string
|
||||
url:
|
||||
required: true
|
||||
description: iframe source url
|
||||
type: string
|
||||
aspect_ratio:
|
||||
required: false
|
||||
description: Iframe height-width-ratio
|
||||
type: string
|
||||
default: "50%"
|
||||
title:
|
||||
required: false
|
||||
description: Card title
|
||||
type: string
|
||||
default: none
|
||||
{% endconfiguration %}
|
||||
|
||||
{% linkable_title Examples %}
|
||||
|
||||
```yaml
|
||||
- type: iframe
|
||||
url: https://worldpingdemo.grafana.net/d/000000027/worldping-endpoint-summary?var-endpoint=www_amazon_com&var-probe=All&panelId=2&fullscreen&orgId=3&theme=light
|
||||
aspect_ratio: 100%
|
||||
```
|
||||
|
||||
Local html for custom content. Place `example.html` in your `config/www` folder and reference it as below:
|
||||
```yaml
|
||||
- type: iframe
|
||||
url: /local/example.html
|
||||
title: Sample local file
|
||||
```
|
66
source/_lovelace/map.markdown
Normal file
@ -0,0 +1,66 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Map Card"
|
||||
sidebar_label: Map
|
||||
description: "A card that allows you to display entities on a map"
|
||||
date: 2018-07-08 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
A card that allows you to display entities on a map
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_map_card.png' alt='Screenshot of the map card'>
|
||||
Screenshot of the map card.
|
||||
</p>
|
||||
|
||||
### {% linkable_title Options %}
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: "`map`"
|
||||
type: string
|
||||
entities:
|
||||
required: true
|
||||
description: "Entity id's or an `entity` object (see structure below)."
|
||||
type: list
|
||||
title:
|
||||
required: false
|
||||
description: Card title
|
||||
type: string
|
||||
aspect_ratio:
|
||||
required: false
|
||||
description: "Map height:width ratio"
|
||||
type: string
|
||||
default: 100%
|
||||
{% endconfiguration %}
|
||||
|
||||
`entity` object:
|
||||
|
||||
{% configuration %}
|
||||
entity:
|
||||
required: true
|
||||
description: "An entity_id. Example: 'device_tracker.demo_paulus'."
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
<p class='note'>
|
||||
Only entities that have latitude and longitude attributes will be displayed on the map
|
||||
</p>
|
||||
|
||||
|
||||
### {% linkable_title Examples %}
|
||||
|
||||
Basic map example:
|
||||
|
||||
```yaml
|
||||
- type: map
|
||||
aspect_ratio: 100%
|
||||
entities:
|
||||
- entity: device_tracker.demo_paulus
|
||||
- zone.home
|
||||
```
|
46
source/_lovelace/markdown.markdown
Normal file
@ -0,0 +1,46 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Markdown Card"
|
||||
sidebar_label: Markdown
|
||||
description: "Markdown card is used to render markdown"
|
||||
date: 2018-07-01 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
Markdown card is used to render [markdown](http://commonmark.org/help/)
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_markdown.png' alt='Screenshot of the markdown card'>
|
||||
Screenshot of the markdown card.
|
||||
</p>
|
||||
|
||||
{% linkable_title Options %}
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: markdown
|
||||
type: string
|
||||
content:
|
||||
required: true
|
||||
description: Content to render as [markdown](http://commonmark.org/help/).
|
||||
type: string
|
||||
title:
|
||||
required: false
|
||||
description: Card title
|
||||
type: string
|
||||
default: none
|
||||
{% endconfiguration %}
|
||||
|
||||
{% linkable_title Example %}
|
||||
|
||||
```yaml
|
||||
- type: markdown
|
||||
content: >
|
||||
## Lovelace
|
||||
|
||||
Starting with Home Assistant 0.72, we're experimenting with a new way of defining your interface. We're calling it the **Lovelace UI**.
|
||||
```
|
38
source/_lovelace/media-control.markdown
Normal file
@ -0,0 +1,38 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Media Control Card"
|
||||
sidebar_label: Media Control
|
||||
description: "The media controller card is used to display Media Player entities on an interface with easy to use controls. "
|
||||
date: 2018-07-01 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
The media control card is used to display [Media Player](/components/#search/media-player) entities on an interface with easy to use controls.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_mediaplayer.png' alt='Screenshot of the media player control card'>
|
||||
Screenshot of the media player control card.
|
||||
</p>
|
||||
|
||||
{% linkable_title Options %}
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: media-control
|
||||
type: string
|
||||
entity:
|
||||
required: true
|
||||
description: "Entity id of `media_player` domain"
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
{% linkable_title Example %}
|
||||
|
||||
```yaml
|
||||
- type: media-control
|
||||
entity: media_player.lounge_room
|
||||
```
|
202
source/_lovelace/picture-elements.markdown
Normal file
@ -0,0 +1,202 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Picture Elements Card"
|
||||
sidebar_label: Picture Elements
|
||||
description: "Picture elements card is one of the most versatile type of cards"
|
||||
date: 2018-07-01 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
Picture elements card is one of the most versatile type of cards.
|
||||
|
||||
The cards allows you to position icons or text and even services! on an image based on coordinates. Imagine floor plan, imagine [picture-glance](/lovelace/picture-glance/) with no restrictions!
|
||||
|
||||
You can customize tap action and even icon color.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_picture_elements.gif' alt='Screenshot of the picture elements card'>
|
||||
Screenshot of the picture elements card.
|
||||
</p>
|
||||
|
||||
{% linkable_title Options %}
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: picture-elements
|
||||
type: string
|
||||
image:
|
||||
required: true
|
||||
description: URL of an image
|
||||
type: string
|
||||
elements:
|
||||
required: true
|
||||
description: List of elements
|
||||
type: list
|
||||
title:
|
||||
required: false
|
||||
description: Card title
|
||||
type: string
|
||||
default: none
|
||||
{% endconfiguration %}
|
||||
|
||||
Element types:
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: navigation
|
||||
type: string
|
||||
navigation_path:
|
||||
required: true
|
||||
description: navigation_path of URL to navigate to
|
||||
type: string
|
||||
icon:
|
||||
required: false
|
||||
description: Icon
|
||||
type: string
|
||||
default: none
|
||||
{% endconfiguration %}
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: state-badge
|
||||
type: string
|
||||
entity:
|
||||
required: true
|
||||
description: Entity id
|
||||
type: string
|
||||
style:
|
||||
required: true
|
||||
description: See "Style options"
|
||||
type: object
|
||||
{% endconfiguration %}
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: state-icon
|
||||
type: string
|
||||
entity:
|
||||
required: true
|
||||
description: Entity id
|
||||
type: string
|
||||
style:
|
||||
required: true
|
||||
description: See "Style options"
|
||||
type: object
|
||||
tap_action:
|
||||
required: true
|
||||
description: "Set to `toggle` to change state"
|
||||
type: string
|
||||
default: more-info
|
||||
{% endconfiguration %}
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: state-label
|
||||
type: string
|
||||
entity:
|
||||
required: true
|
||||
description: Entity id
|
||||
type: string
|
||||
style:
|
||||
required: true
|
||||
description: See "Style options"
|
||||
type: object
|
||||
{% endconfiguration %}
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: service-button
|
||||
type: string
|
||||
service:
|
||||
required: true
|
||||
description: light.turn_on
|
||||
type: string
|
||||
service_data:
|
||||
required: false
|
||||
description: "See `service_data` object structure."
|
||||
type: object
|
||||
default: none
|
||||
style:
|
||||
required: true
|
||||
description: See "Style options"
|
||||
type: object
|
||||
title:
|
||||
required: false
|
||||
description: Button label
|
||||
type: string
|
||||
default: none
|
||||
{% endconfiguration %}
|
||||
|
||||
`service_data` object structure
|
||||
|
||||
{% configuration %}
|
||||
entity_id:
|
||||
required: true
|
||||
description: light.floor
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
Style options (CSS):
|
||||
|
||||
{% configuration %}
|
||||
left:
|
||||
required: true
|
||||
description: Position from left, "25%"
|
||||
type: string
|
||||
top:
|
||||
required: true
|
||||
description: Position from top, "50%"
|
||||
type: string
|
||||
...:
|
||||
required: inherit
|
||||
description: ...
|
||||
type: string
|
||||
default: none
|
||||
"--paper-item-icon-color":
|
||||
required: inherit
|
||||
description: "Badge-icon off-color, `green`"
|
||||
type: string
|
||||
default: none
|
||||
{% endconfiguration %}
|
||||
|
||||
{% linkable_title Example %}
|
||||
|
||||
```yaml
|
||||
- type: picture-elements
|
||||
image: https://static.vecteezy.com/system/resources/previews/000/102/594/large_2x/free-floor-plan-vector.jpg
|
||||
elements:
|
||||
- type: state-icon
|
||||
tap_action: toggle
|
||||
entity: light.ceiling_lights
|
||||
style:
|
||||
top: 47%
|
||||
left: 42%
|
||||
- type: state-icon
|
||||
tap_action: toggle
|
||||
entity: light.kitchen_lights
|
||||
style:
|
||||
top: 30%
|
||||
left: 15%
|
||||
- type: state-label
|
||||
entity: sensor.outside_temperature
|
||||
style:
|
||||
top: 82%
|
||||
left: 79%
|
||||
- type: service-button
|
||||
title: Turn lights off
|
||||
style:
|
||||
top: 95%
|
||||
left: 60%
|
||||
service: light.turn_off
|
||||
service_data:
|
||||
entity_id: group.all_lights
|
||||
```
|
121
source/_lovelace/picture-entity.markdown
Normal file
@ -0,0 +1,121 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Picture Entity Card"
|
||||
sidebar_label: Picture Entity
|
||||
description: "A very useful card for controling entities. By default you will get `more-info-dialog` but using `tap_action` you can directly control entities that have `on`/`off` states."
|
||||
date: 2018-07-01 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
A very useful card for controling entities. By default you will get `more-info-dialog` but using `tap_action` you can directly control entities that have `on`/`off` states. It allows you to generate a very nice looking card with a big touch area, highly recommended for mobile dashboards on small screens.
|
||||
|
||||
You can use different image combination to get a more realistic view for images with lights. The image setup also allows enough flexibility to get your garage picture with the door opened and closed.
|
||||
|
||||
You can also use `camera` domain entities to use that as `camera_image`.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_picture_entity.gif' alt='Screenshot of the picture entity card'>
|
||||
Screenshot of the picture entity card.
|
||||
</p>
|
||||
|
||||
{% linkable_title Options %}
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: picture-entity
|
||||
type: string
|
||||
entity:
|
||||
required: true
|
||||
description: Entity id to control via picture.
|
||||
type: string
|
||||
camera_image:
|
||||
required: false
|
||||
description: "Camera domain entity_id 'camera.demo_camera'"
|
||||
type: string
|
||||
default: None
|
||||
image:
|
||||
required: false
|
||||
description: URL of an image.
|
||||
type: string
|
||||
default: None
|
||||
state_image:
|
||||
required: false
|
||||
description: "See `state_image` object structure."
|
||||
type: object
|
||||
default: None
|
||||
name:
|
||||
required: false
|
||||
description: Custom name for entity
|
||||
type: string
|
||||
default: None
|
||||
show_info:
|
||||
required: false
|
||||
description: Set to false to hide infobar
|
||||
type: boolean
|
||||
default: True
|
||||
tap_action:
|
||||
required: false
|
||||
description: "Set to `toggle` for turning entity on/off without opening a dialog"
|
||||
type: string
|
||||
default: dialog
|
||||
{% endconfiguration %}
|
||||
|
||||
`state_image` object structure
|
||||
|
||||
{% configuration %}
|
||||
"on":
|
||||
required: true
|
||||
description: URL of an image used for on state.
|
||||
type: string
|
||||
default: None
|
||||
"off":
|
||||
required: true
|
||||
description: URL of an image used for off state.
|
||||
type: string
|
||||
default: None
|
||||
home:
|
||||
required: false
|
||||
description: URL of an image used for home state.
|
||||
type: string
|
||||
default: None
|
||||
not_home:
|
||||
required: false
|
||||
description: URL of an image used for not_home state.
|
||||
type: string
|
||||
default: None
|
||||
any:
|
||||
required: false
|
||||
description: Any state that is supported by the entity works
|
||||
type: object
|
||||
default: None
|
||||
{% endconfiguration %}
|
||||
|
||||
{% linkable_title Examples %}
|
||||
|
||||
Basic example:
|
||||
|
||||
```yaml
|
||||
- type: picture-entity
|
||||
image: https://images.pexels.com/photos/775219/pexels-photo-775219.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=295&w=490
|
||||
entity: light.bed_light
|
||||
```
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_picture_entity_2.gif' alt='Screenshot of the picture entity card'>
|
||||
Screenshot of the picture entity card.
|
||||
</p>
|
||||
|
||||
Example with night/day:
|
||||
|
||||
```yaml
|
||||
- type: picture-entity
|
||||
entity: light.bed_light
|
||||
image: http://farm7.static.flickr.com/6153/6220100622_88e64ec5d8_b.jpg
|
||||
state_image:
|
||||
"on": http://farm7.static.flickr.com/6220/6220100616_a877f41a66_b.jpg
|
||||
title: Livingroom lights
|
||||
```
|
92
source/_lovelace/picture-glance.markdown
Normal file
@ -0,0 +1,92 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Picture Glance Card"
|
||||
sidebar_label: Picture Glance
|
||||
description: "A very useful type of card that can display sensors, switches, lights and other entities grouped on top of a custom image. Use this card for easy visual recognition inside a large dashboard."
|
||||
date: 2018-07-01 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
### Picture glance
|
||||
|
||||
A very useful type of card that can display sensors, switches, lights and other entities grouped on top of a custom image. Use this card for easy visual recognition inside a large dashboard. You also can add `navigation_path` to take the user to a specific view and use these cards in an overview dashboard.
|
||||
|
||||
What really sets this card apart is the ability to **control** entities directly from the card without the need to open the details of that entity.
|
||||
|
||||
You can also use `camera` domain entities to use that as image. You can also use `state_image` just like in [picture-entity](/lovelace/picture-entity/) together with an `entity` entry to change the image in a dynamic way.
|
||||
|
||||
> Picture glance supports a display of maximum 10 items.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_picture_glance.gif' alt='Screenshot of the picture glance card'>
|
||||
Screenshot of the picture glance card.
|
||||
</p>
|
||||
|
||||
**Options**
|
||||
|
||||
| Name | Type | Default | Description
|
||||
| ---- | ---- | ------- | -----------
|
||||
| type | string | **Required** | `picture-glance`
|
||||
| image | string | **Required** | URL of an image
|
||||
| entities | list | **Required** | Entity id's
|
||||
| navigation_path | string | Optional | Path of URL to use in navigation
|
||||
| camera_image | string | Optional | camera domain entity_id 'camera.demo_camera'
|
||||
| state_image | object | Optional| See `state_image` object structure.
|
||||
| entity | list | Optional | An entity to use for state_image state
|
||||
| title | string | Optional | Card title
|
||||
|
||||
`state_image` object structure
|
||||
|
||||
| Name | Type | Default | Description
|
||||
| ---- | ---- | ------- | -----------
|
||||
| on | string | Optional | URL of an image used for on state.
|
||||
| off | string | Optional | URL of an image used for off state.
|
||||
| home | string | Optional | URL of an image used for home state.
|
||||
| not_home | string | Optional | URL of an image used for not_home state.
|
||||
| ... | string | Optional | Any state that is supported by the entity works
|
||||
|
||||
**Examples**
|
||||
|
||||
```yaml
|
||||
- type: picture-glance
|
||||
image: https://images.pexels.com/photos/276724/pexels-photo-276724.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=240&w=495
|
||||
title: Living
|
||||
entities:
|
||||
- switch.decorative_lights
|
||||
- light.ceiling_lights
|
||||
- lock.front_door
|
||||
- binary_sensor.movement_backyard
|
||||
- binary_sensor.basement_floor_wet
|
||||
```
|
||||
|
||||
Picture glance used together with 'camera_image'
|
||||
```yaml
|
||||
- type: picture-glance
|
||||
image:
|
||||
camera_image: camera.demo_camera
|
||||
title: Living
|
||||
entities:
|
||||
- switch.decorative_lights
|
||||
- light.ceiling_lights
|
||||
- lock.front_door
|
||||
- binary_sensor.movement_backyard
|
||||
- binary_sensor.basement_floor_wet
|
||||
```
|
||||
|
||||
Picture glance used together with 'entity-filter'
|
||||
```yaml
|
||||
- type: entity-filter
|
||||
entities:
|
||||
- light.bed_light
|
||||
- light.kitchen_lights
|
||||
- light.ceiling_lights
|
||||
state_filter:
|
||||
- 'on'
|
||||
card: picture-glance
|
||||
card_config:
|
||||
title: Lights
|
||||
image: https://images.pexels.com/photos/356048/pexels-photo-356048.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=295&w=490
|
||||
```
|
78
source/_lovelace/picture.markdown
Normal file
@ -0,0 +1,78 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Picture Card"
|
||||
sidebar_label: Picture
|
||||
description: "A very simple card that allows you to set an image to use for navigation to various paths in your interface or to call a service."
|
||||
date: 2018-07-01 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
A very simple card that allows you to set an image to use for navigation to various paths in your interface or to call a service.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_picture.png' alt='Screenshot of the picture card'>
|
||||
Screenshot of the picture card.
|
||||
</p>
|
||||
|
||||
{% linkable_title Options %}
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: picture
|
||||
type: string
|
||||
image:
|
||||
required: true
|
||||
description: URL of an image
|
||||
type: string
|
||||
navigation_path:
|
||||
required: false
|
||||
description: Path of URL to navigate to
|
||||
type: string
|
||||
default: None
|
||||
service:
|
||||
required: false
|
||||
description: "`light.toggle`"
|
||||
type: string
|
||||
default: None
|
||||
service_data:
|
||||
required: false
|
||||
description: See service_data object
|
||||
type: object
|
||||
default: None
|
||||
{% endconfiguration %}
|
||||
|
||||
`service_data` object structure
|
||||
|
||||
{% configuration %}
|
||||
entity_id:
|
||||
required: true
|
||||
description: light.floor
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
|
||||
{% linkable_title Examples %}
|
||||
|
||||
Basic navigation example:
|
||||
|
||||
```yaml
|
||||
- type: picture
|
||||
image: /local/exit.jpg
|
||||
navigation_path: /lovelace/arsaboo
|
||||
```
|
||||
|
||||
> Check the [views](/lovelace/views/) setup on how to setup custom ids
|
||||
|
||||
Basic navigation example:
|
||||
|
||||
```yaml
|
||||
- type: picture
|
||||
image: /local/exit.jpg
|
||||
service: light.toggle
|
||||
service_data:
|
||||
entity_id: light.ceiling_lights
|
||||
```
|
38
source/_lovelace/plant-status.markdown
Normal file
@ -0,0 +1,38 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Plant Status Card"
|
||||
sidebar_label: Plant Status
|
||||
description: "The Plant card gives you an easy way of viewing the status of your plants"
|
||||
date: 2018-07-01 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
A card for all the lovely botanists out there.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_plant_card.png' alt='Screenshot of the plant status card'>
|
||||
Screenshot of the plant status card.
|
||||
</p>
|
||||
|
||||
{% linkable_title Options %}
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: picture-status
|
||||
type: string
|
||||
entity:
|
||||
required: true
|
||||
description: "Entity id of `plant` domain"
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
{% linkable_title Example %}
|
||||
|
||||
```yaml
|
||||
- type: plant-status
|
||||
entity: plant.bonsai
|
||||
```
|
68
source/_lovelace/vertical-stack.markdown
Normal file
@ -0,0 +1,68 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Vertical Stack Card"
|
||||
sidebar_label: Vertical Stack
|
||||
description: "The Vertical Stack card allows you to stack multiple cards together"
|
||||
date: 2018-07-01 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
Stack card will allow you to stack together multiple cards so they always sit together in the same column one on top of the other. Keep in mind this can be used with any cards, and even used alongside a [horizontal-stack](/lovelace/horizontal-stack/).
|
||||
|
||||
{% linkable_title Options %}
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: vertical-stack
|
||||
type: string
|
||||
cards:
|
||||
required: true
|
||||
description: List of cards
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
{% linkable_title Example %}
|
||||
|
||||
Basic example
|
||||
```yaml
|
||||
- type: vertical-stack
|
||||
cards:
|
||||
- type: picture-entity
|
||||
entity: camera.demo_camera
|
||||
show_info: false
|
||||
- type: entities
|
||||
entities:
|
||||
- binary_sensor.movement_backyard
|
||||
```
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_vertical-stack.png' alt='Screenshot of the vertical stack card'>
|
||||
Screenshot of the vertical stack card.
|
||||
</p>
|
||||
|
||||
Example using both a Vertical and Horizontal Stack Card
|
||||
|
||||
```yaml
|
||||
- type: vertical-stack
|
||||
cards:
|
||||
- type: picture-entity
|
||||
entity: group.all_lights
|
||||
image: https://images.pexels.com/photos/106399/pexels-photo-106399.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260
|
||||
- type: horizontal-stack
|
||||
cards:
|
||||
- type: picture-entity
|
||||
image: https://images.pexels.com/photos/164595/pexels-photo-164595.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=240&w=495
|
||||
entity: light.ceiling_lights
|
||||
- type: picture-entity
|
||||
image: https://images.pexels.com/photos/545012/pexels-photo-545012.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=240&w=495
|
||||
entity: light.bed_light
|
||||
```
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_vertical-horizontal-stack.png' alt='Screenshot of the vertical stack and horizontal stack combined in a card'>
|
||||
Screenshot of the vertical stack and horizontal stack combined in a card.
|
||||
</p>
|
39
source/_lovelace/weather-forecast.markdown
Normal file
@ -0,0 +1,39 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Weather Forecast Card"
|
||||
sidebar_label: Weather Forecast
|
||||
description: "The Weather card allows you a visual card to display the weather."
|
||||
date: 2018-07-01 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
Weather forecast is a card to display the weather. Very useful to include on interfaces that people display on the wall.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_weather.png' alt='Screenshot of the weather card'>
|
||||
Screenshot of the weather card.
|
||||
</p>
|
||||
|
||||
{% linkable_title Options %}
|
||||
|
||||
{% configuration %}
|
||||
type:
|
||||
required: true
|
||||
description: weather-forecast
|
||||
type: string
|
||||
entity:
|
||||
required: true
|
||||
description: "Entity id of `weather` domain"
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
|
||||
{% linkable_title Example %}
|
||||
|
||||
```yaml
|
||||
- type: weather-forecast
|
||||
entity: weather.demo_weather_north
|
||||
```
|
@ -11,13 +11,13 @@ categories: Release-Notes
|
||||
og_image: /images/blog/2018-07-0.73/lovelace-elements.png
|
||||
---
|
||||
|
||||
Today we're releasing Home Assistant 0.73. First, let's talk security. Home Assistant has a lot of power. It can control all devices in your house and know what you're up to. That's why securing it is very important. It's not good enough to connect your instance unsecured to the internet and hope no one will find it. All ports on all computers are regularly scanned by bad actors. Please read [our guidelines thoroughly](https://www.home-assistant.io/docs/configuration/securing/) and follow them.
|
||||
Today we're releasing Home Assistant 0.73. First, let's talk security. Home Assistant has a lot of power. It can control all devices in your house and know what you're up to. That's why securing it is very important. It's absolutely wrong to connect your instance unsecured to the internet and hope no one will find it. All ports on all computers are regularly scanned by bad actors. Please read [our guidelines thoroughly](https://www.home-assistant.io/docs/configuration/securing/) and follow them.
|
||||
|
||||
In the meanwhile, we're also working hard on the new authentication system. A preview version is included in this release, more info on [our developer blog](https://developers.home-assistant.io/blog/2018/07/02/trying-new-auth.html).
|
||||
|
||||
This release also includes a TON of love for the new Lovelace UI. Yes, it's still experimental but daaang, it's already so awesome that you should probably just go ahead and try it out. Thanks to all the devs who have jumped on this: [@c727], [@ciotlosm] and [@jeradM].
|
||||
|
||||
We don't have time to go through all the changes in this release, but [@ciotlosm] has been keeping [a very detailed changelog](https://github.com/ciotlosm/docs-lovelace/blob/0.73.0/changelog.md). I'll just leave this screenshot by [@arsaboo] of the new picture-elements card and [the Lovelace configuration](https://github.com/arsaboo/homeassistant-config/blob/master/ui-lovelace.yaml#L15-L158):
|
||||
We don't have time to go through all the changes in this release, but [@ciotlosm] has been keeping [a very detailed changelog](/lovelace/changelog/). I'll just leave this screenshot by [@arsaboo] of the new picture-elements card and [the Lovelace configuration](https://github.com/arsaboo/homeassistant-config/blob/master/ui-lovelace.yaml#L15-L158):
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/blog/2018-07-0.73/lovelace-elements.png' alt='Screenshot of a floorplan with sensor info and light/camera controls overlayed.'>
|
||||
@ -42,13 +42,14 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
<!--more-->
|
||||
## {% linkable_title Breaking Changes %}
|
||||
|
||||
- Update to hole to 0.3.0 ([@fabaff] - [#15014]) ([sensor.pi_hole docs]) (breaking change)
|
||||
- Update PostNL unit of measure to align with UPS ([@keesschollaart81] - [#15023]) ([sensor.postnl docs]) (breaking change)
|
||||
- Make Pollen.com platform async ([@bachya] - [#14963]) ([sensor.pollen docs]) (breaking change)
|
||||
- Adding 'namespace' for prometheus metrics ([@alexbarcelo] - [#13738]) ([prometheus docs]) (breaking change)
|
||||
- Fix zwave climate operation mode mappings ([@cdce8p] - [#15162]) ([climate.zwave docs]) (breaking change)
|
||||
- X-Forwarded-For improvements and bug fixes ([@colinodell] - [#15204]) ([emulated_hue docs]) ([http docs]) (breaking change)
|
||||
- The `pi_hole` sensor is now limited to `ads_blocked_today` by default and will no longer show all available data. Use [`monitored_conditions`](/components/sensor.pi_hole/#monitored_conditions) to list the sensors you want. ([@fabaff] - [#15014]) ([sensor.pi_hole docs]) (breaking change)
|
||||
- Update PostNL unit of measure to `packages` to align with UPS ([@keesschollaart81] - [#15023]) ([sensor.postnl docs]) (breaking change)
|
||||
- Various attributes have been relocated to sensors that make more sense; additionally, some names are corrected. More info in [#14963] ([@bachya] - [#14963]) ([sensor.pollen docs]) (breaking change)
|
||||
- The filter option for prometheus was aligned with other components ([@alexbarcelo] - [#13738]) ([prometheus docs]) (breaking change)
|
||||
- Change some operation_modes for Z-Wave climate devices to comply with Home Assistant standards and compatibility with Google Home, Alexa and HomeKit. ([@cdce8p] - [#15162]) ([climate.zwave docs]) (breaking change)
|
||||
- HTTP component: Anyone who has enabled `use_x_forwarded_for` will need to explicitly whitelist their proxy/proxies using the new `trusted_proxies` setting. ([@colinodell] - [#15204]) ([emulated_hue docs]) ([http docs]) (breaking change)
|
||||
- Stop supporting deprecated TLS ciphers ([@hmmbob] - [#15217]) ([http docs]) (breaking change)
|
||||
- LIFX will no longer report `hs_color`/`rgb_color` and `color_temp` simultaneously. ([@amelchio] - [#15234]) ([light.lifx docs]) (breaking change) (beta fix)
|
||||
|
||||
## {% linkable_title Beta Fixes %}
|
||||
|
||||
|
BIN
source/images/lovelace/lovelace_entity_filter.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
source/images/lovelace/lovelace_entity_filter_glance.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
source/images/lovelace/lovelace_glance_card.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
source/images/lovelace/lovelace_glance_card_custom_title.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
source/images/lovelace/lovelace_history_graph.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
source/images/lovelace/lovelace_horizontal_stack.PNG
Normal file
After Width: | Height: | Size: 112 KiB |
BIN
source/images/lovelace/lovelace_iframe.png
Normal file
After Width: | Height: | Size: 279 KiB |
BIN
source/images/lovelace/lovelace_map_card.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
source/images/lovelace/lovelace_markdown.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
source/images/lovelace/lovelace_mediaplayer.png
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
source/images/lovelace/lovelace_picture.png
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
source/images/lovelace/lovelace_picture_elements.gif
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
source/images/lovelace/lovelace_picture_entity.gif
Normal file
After Width: | Height: | Size: 5.3 MiB |
BIN
source/images/lovelace/lovelace_picture_entity_2.gif
Normal file
After Width: | Height: | Size: 2.3 MiB |
BIN
source/images/lovelace/lovelace_picture_glance.gif
Normal file
After Width: | Height: | Size: 3.6 MiB |
BIN
source/images/lovelace/lovelace_plant.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
source/images/lovelace/lovelace_plant_card.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
source/images/lovelace/lovelace_unused_entites.png
Normal file
After Width: | Height: | Size: 8.1 KiB |
BIN
source/images/lovelace/lovelace_vertical-horizontal-stack.png
Normal file
After Width: | Height: | Size: 374 KiB |
BIN
source/images/lovelace/lovelace_vertical-stack.png
Normal file
After Width: | Height: | Size: 230 KiB |
BIN
source/images/lovelace/lovelace_views.gif
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
source/images/lovelace/lovelace_weather.png
Normal file
After Width: | Height: | Size: 33 KiB |
100
source/lovelace/changelog.markdown
Normal file
@ -0,0 +1,100 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Lovelace Changelog"
|
||||
description: "Changelog of the Lovelace UI."
|
||||
date: 2018-07-01 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
## Changes in 0.73.1
|
||||
- Setting Lovelace as default now updates `Overview` button to point to `/lovelace`
|
||||
- Allow setting background styles (global and per view)
|
||||
|
||||
### Cards
|
||||
- 📣 New card: `map` that allows showing `device_tracker` entities on a map card
|
||||
- 📣 `entities` card now support `type: custom:state-card-custom` for the entities list
|
||||
|
||||
## Changes in 0.73.0
|
||||
|
||||
### Views
|
||||
- 📣 New button to show unused entities in Lovelace
|
||||
|
||||
## Changes in 0.73.0b5
|
||||
- 🏁 Only minor fixes in this release
|
||||
|
||||
## Changes in 0.73.0b4
|
||||
|
||||
### Cards
|
||||
- 📣 `picture-entity` allow hiding of infobar using `show_info: false`
|
||||
- 📣 `picture-entity` now supports `tap_action` parameter allowing you to switch from `on`/`off` to `more-info-dialog`
|
||||
- 📣 `picture-glance` now supports `navigation_path`
|
||||
- `picture-entity` renamed `title` to `name`
|
||||
- `picture-elements` renamed `path` to `navigation_path`
|
||||
- ‼️ `camera-preview` card removed, features added to `picture-entity` and `picture-glance`
|
||||
|
||||
## Changes in 0.73.0b3
|
||||
|
||||
### Views
|
||||
- 📣 Added panel mode for a view to use 1st card to fill whole screen
|
||||
|
||||
### Cards
|
||||
- 📣 New card: `picture` for triggering navigation and services
|
||||
- 📣 `picture-elements` now supports `navigation` type
|
||||
- 📣 `picture-entity` now supports `camera_image`
|
||||
- 📣 `picture-glance` now supports `camera_image`
|
||||
- 📣 `picture-glance` now supports `state_image` and `entity` like `picture-entity`
|
||||
- 📣 `entity-filter` now supports custom name for entities like `glance` and `entities`
|
||||
- `entities` and `glance` custom titles now use `name` not `title`
|
||||
- `entity-filter` now uses `entities` as a static list to filter state against
|
||||
- `entity-filter` uses `state_filter` array instead of `filter` object
|
||||
- 🔧 Fix wrapping and padding for `service-button` in `picture-elements`
|
||||
- ‼️ `entity-filter` no longer allows to show all entities or a full domain
|
||||
|
||||
## Changes in 0.73.0b2
|
||||
- :zap: Went by too fast :zap:
|
||||
|
||||
## Changes in 0.73.0b1
|
||||
|
||||
### Cards
|
||||
- `column` renamed to `vertical-stack`
|
||||
- `row` renamed to `horizontal-stack`
|
||||
- `picture-elements` new `state-badge` using `ha-state-label-badge`
|
||||
- `picture-elements` renamed `state-badge` to `state-icon`
|
||||
- `picture-elements` renamed `state-text` to `state-label`
|
||||
- `picture-elements` moved/renamed `service.data` to `service_data`
|
||||
- `picture-elements` combined `service.domain` and `service.server` into `service`
|
||||
- 📣 `entities` allow custom title just like `glance`
|
||||
- 📣 `entity-filter` allow auto-hide if empty using `show_empty: false`
|
||||
- 🔧 Fix card size calculation `horizontal-stack`/`vertical-stack`
|
||||
|
||||
## Changes in 0.73.0b0
|
||||
- 📣 New feature to allow Lovelace to be default for `/`
|
||||
|
||||
### Views
|
||||
- 📣 Now views have deep-links: `/lovelace/3` will link to the tab with id `3`
|
||||
- `name` renamed `title` to match cards setup
|
||||
- `tab_icon` renamed `icon` for simplicity
|
||||
|
||||
### Cards
|
||||
- 📣 New card: `picture-elements`
|
||||
- 📣 New card: `column`
|
||||
- 📣 New card: `row`
|
||||
- 📣 `glance` allow custom title for entities - rename your entity only in this card
|
||||
- 📣 `entities` toggle button in header can now be hidden using `show_header_toggle: false`
|
||||
- `entity-picture` renamed `picture-entity` to be consistent with `picture-glance`
|
||||
- `entity-filter` removed `card_config` and made `card` property an object
|
||||
- 🔧 Fix use of groups in `picture-entity`
|
||||
- 🔧 Fix title in `glance` to avoid overlapping
|
||||
|
||||
## Changes in 0.72.1
|
||||
|
||||
### Cards
|
||||
- 🐞 Bug introduced in `glance` card - titles now overlap
|
||||
- 📣 New card: `iframe`
|
||||
|
||||
## Changes in 0.72
|
||||
- Initial release of the Lovelace UI
|
||||
|
@ -9,7 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
<p class='note warning'>
|
||||
<p class='note'>
|
||||
This is an experimental feature. Configuration might change in future versions.
|
||||
</p>
|
||||
|
||||
@ -19,9 +19,13 @@ The Lovelace UI is:
|
||||
|
||||
- **Extremely fast**. We create the user interface when the UI configuration changes. When a state changes, we just make the UI represent the current state.
|
||||
- **Extremely customizable**. We have a new file for just configuration. In the past, we declined UI specific options because they did not fit in the state machine. They will fit in a configuration file for a user interface.
|
||||
- **Extremely extensible**. It's based on the web standard [custom elements](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements). Don't like the built-in cards? Make your own! Custom cards are treated the same as built-in cards and are configured the same way. [Check the docs.](lovelace_custom_card.md)
|
||||
- **Extremely extensible**. It's based on the web standard [custom elements](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements). Don't like the built-in cards? Make your own! Custom cards are treated the same as built-in cards and are configured the same way. [Check the docs.](https://developers.home-assistant.io/docs/en/lovelace_custom_card.html)
|
||||
- **Making the backend faster**. With Lovelace, the backend will no longer need to maintain entities like groups for the sole purpose of showing them on the frontend.
|
||||
|
||||
<div class='videoWrapper'>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/6FX9_leiikw" frameborder="0" allowfullscreen></iframe>
|
||||
</div>
|
||||
|
||||
## How it works
|
||||
|
||||
The old user interface relied solely on the state machine. This caused trouble as it meant that the state machine was now not only the source for device states, but also for user interface configuration. With Lovelace, we're taking a completely different approach. All user interface configuration will live in a seperate file, controlled by the user.
|
||||
@ -37,12 +41,15 @@ Visual comparison of old configuration versus new configuration
|
||||
|
||||
## Trying it out
|
||||
|
||||
Create a new file `<config>/ui-lovelace.yaml` and add the following content:
|
||||
Create a new file `<config>/ui-lovelace.yaml` and add the following content. Adjust the entity names to entities that exist in your Home Assistant installation.
|
||||
|
||||
```yaml
|
||||
title: My Awesome Home
|
||||
# Optional background for all views. Check https://developer.mozilla.org/en-US/docs/Web/CSS/background for more examples.
|
||||
background: center / cover no-repeat url("/background.png") fixed
|
||||
# Exclude entities from "Unused entities" view
|
||||
excluded_entities:
|
||||
- weblink.router
|
||||
views:
|
||||
# View tab title.
|
||||
- title: Example
|
||||
@ -54,58 +61,53 @@ views:
|
||||
theme: dark-mode
|
||||
# The cards to show on this view.
|
||||
cards:
|
||||
# The 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.
|
||||
entities:
|
||||
- input_boolean.switch_ac_kitchen
|
||||
- input_boolean.switch_ac_livingroom
|
||||
- input_boolean.switch_tv
|
||||
|
||||
# The filter card will filter available entities for certain criteria
|
||||
# and render it as type 'entities'.
|
||||
# The filter card will filter entities for their state
|
||||
- type: entity-filter
|
||||
# Filter criteria. They are all optional.
|
||||
filter:
|
||||
- domain: input_boolean
|
||||
state: 'on'
|
||||
# This config will be passed to the card rendering the filter results
|
||||
entities:
|
||||
- device_tracker.paulus
|
||||
- device_tracker.anne_there
|
||||
state_filter:
|
||||
- 'home'
|
||||
card_config:
|
||||
title: Input booleans that are on
|
||||
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 list of entities and show their state.
|
||||
- type: entities
|
||||
title: Lots of Kitchen AC
|
||||
# Title of the entities card
|
||||
title: Example
|
||||
# The entities here will be shown in the same order as specified.
|
||||
# Each entriy is an entity ID or a map with extra options.
|
||||
entities:
|
||||
# It is totally possible to render duplicates.
|
||||
- input_boolean.switch_ac_kitchen
|
||||
- input_boolean.switch_ac_kitchen
|
||||
- input_boolean.switch_ac_kitchen
|
||||
- input_boolean.switch_ac_kitchen
|
||||
- input_boolean.switch_ac_kitchen
|
||||
- input_boolean.switch_ac_kitchen
|
||||
```
|
||||
- light.kitchen
|
||||
- switch.ac
|
||||
- entity: light.living_room
|
||||
# Override the name to use
|
||||
name: LR Lights
|
||||
|
||||
Add to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
input_boolean:
|
||||
switch_ac_kitchen:
|
||||
name: AC kitchen
|
||||
switch_ac_livingroom:
|
||||
name: AC living room
|
||||
switch_tv:
|
||||
name: TV
|
||||
# The markdown card will render markdown text.
|
||||
- type: markdown
|
||||
title: Lovelace
|
||||
content: >
|
||||
Welcome to your **Lovelace UI**.
|
||||
```
|
||||
|
||||
Now restart Home Assistant, navigate to `<YOUR HASS URL>/lovelace`. 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 at the top of the UI.
|
||||
|
||||
## Custom Cards
|
||||
|
||||
It is possible to add your own custom cards to show up in the Lovelace UI. For more information, check [the developer docs](https://developers.home-assistant.io/docs/en/lovelace_custom_card.html).
|
||||
|
||||
## Current limitations
|
||||
|
||||
This is the very very early version aimed at gathering feedback. Discussion and suggestions are welcome in the [ui-schema repository](https://github.com/home-assistant/ui-schema).
|
||||
This is the very very early version aimed at gathering feedback. Discussion and suggestions are welcome in the [ui-schema repository](https://github.com/home-assistant/ui-schema) and in the [chat](/join-chat/) in #lovelace.
|
||||
|
100
source/lovelace/views.markdown
Normal file
@ -0,0 +1,100 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Views"
|
||||
description: "The Lovelace UI is a powerful and configurable interface for Home Assistant."
|
||||
date: 2018-07-01 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
These are exactly as before, tab views with icons or text that help you manage large dashboards with many entities. The views have now deep links like `/lovelace/0`. You can also assign your own [custom ids](/lovelace/views/#custom-id).
|
||||
|
||||
- Using custom id in view, for [nicer navigation paths](/lovelace/views/#custom-id) in URLs
|
||||
- Using [icons](/lovelace/views/#icons) instead of text
|
||||
- Using a card to [fill a complete view](/lovelace/views/#panel-view), just like panels
|
||||
- Using [themes](/lovelace/views/#themes) in views
|
||||
|
||||
| Name | Type | Default | Description
|
||||
| ---- | ---- | ------- | -----------
|
||||
| title | string | Optional | Text title of the view
|
||||
| id | string | number | The id to use in URL path of this view
|
||||
| icon | string | Optional | The material design icon for the view, uses this instead of title
|
||||
| panel | boolean | false | Marks view as a panel reusing the first card in list
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/lovelace/lovelace_views.gif' alt='Screenshot of views'>
|
||||
Screenshot of views.
|
||||
</p>
|
||||
|
||||
{% linkable_title Icons %}
|
||||
|
||||
You can use icons instead of text for your view tabs. The title in the example will be used as tooltip.
|
||||
|
||||
**Example**
|
||||
|
||||
```yaml
|
||||
views:
|
||||
- icon: mdi:settings
|
||||
title: Debugging
|
||||
```
|
||||
|
||||
{% linkable_title Panel view %}
|
||||
|
||||
This type of view uses the first card in the `cards` array to expand it to ocuppy the complete view space, similar to panels. One very good practical use will be for floor plan type of cards.
|
||||
|
||||
**Example**
|
||||
|
||||
```yaml
|
||||
views:
|
||||
- icon: mdi:settings
|
||||
id: debug
|
||||
title: Floorplan
|
||||
panel: true
|
||||
cards:
|
||||
- type: picture-elements
|
||||
image: /local/floorplans/main.jpg
|
||||
elements:
|
||||
- type: state-icon
|
||||
tap_action: toggle
|
||||
entity: light.ceiling_lights
|
||||
style:
|
||||
top: 47%
|
||||
left: 42%
|
||||
```
|
||||
|
||||
{% linkable_title Themes %}
|
||||
|
||||
You can also set a [theme](/frontend/#themes) per view.
|
||||
|
||||
> Theme is currently only partially usable (font color works)
|
||||
|
||||
```yaml
|
||||
views:
|
||||
- icon: mdi:heart
|
||||
id: debug
|
||||
title: Home
|
||||
theme: dark-mode
|
||||
```
|
||||
{% linkable_title Custom id %}
|
||||
|
||||
You can now assign a custom id to a view, for nicer navigation paths in URLs. This id allows you to deep-link navigation to this view from cards that allow `navigation_path`.
|
||||
|
||||
**Example**
|
||||
|
||||
View:
|
||||
|
||||
```yaml
|
||||
views:
|
||||
- icon: mdi:settings
|
||||
id: debugging
|
||||
```
|
||||
|
||||
Picture card:
|
||||
|
||||
```yaml
|
||||
- type: picture
|
||||
image: /local/debug.jpg
|
||||
navigation_path: /lovelace/debugging
|
||||
```
|