Merge branch 'rc' into current
@ -141,9 +141,9 @@ social:
|
||||
|
||||
# Home Assistant release details
|
||||
current_major_version: 0
|
||||
current_minor_version: 83
|
||||
current_patch_version: 3
|
||||
date_released: 2018-12-03
|
||||
current_minor_version: 84
|
||||
current_patch_version: 0
|
||||
date_released: 2018-12-12
|
||||
|
||||
# Either # or the anchor link to latest release notes in the blog post.
|
||||
# Must be prefixed with a # and have double quotes around it.
|
||||
|
@ -29,19 +29,22 @@ be found in the IHC project and setup as binary sensors:
|
||||
|
||||
## {% linkable_title Manual configuration %}
|
||||
|
||||
To manually configure IHC Binary Sensors
|
||||
insert this section in your configuration:
|
||||
To manually configure IHC Binary Sensors insert the "binary_sensors" section in your IHC configuration:
|
||||
|
||||
```yaml
|
||||
binary_sensor:
|
||||
- platform: ihc
|
||||
# Example configuration.yaml entry
|
||||
ihc:
|
||||
- url: 'http://192.168.1.3'
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
info: true
|
||||
binary_sensors:
|
||||
- id: 12345
|
||||
name: mysensor
|
||||
type: opening
|
||||
inverting: True
|
||||
- id: 12346
|
||||
...
|
||||
name: switch_front_door
|
||||
inverting: false
|
||||
note: Magnet contact
|
||||
position: Switch in door
|
||||
type: door
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -60,7 +63,7 @@ binary_sensors:
|
||||
type: boolean
|
||||
default: false
|
||||
name:
|
||||
description: The name of the component
|
||||
description: The name of the sensor.
|
||||
required: false
|
||||
type: string
|
||||
type:
|
||||
@ -70,6 +73,14 @@ binary_sensors:
|
||||
for available types.
|
||||
required: false
|
||||
type: string
|
||||
note:
|
||||
description: Descriptive note
|
||||
required: false
|
||||
type: string
|
||||
position:
|
||||
description: Where is it placed
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
The resource id should be an id of a boolean IHC resource. For more information
|
||||
|
@ -13,7 +13,7 @@ ha_release: 0.65
|
||||
|
||||
The `proxy` camera platform allows you to pass another camera's output through post-processing routines and generate a new camera with the post-processed output.
|
||||
|
||||
The current post-processing supports resizing the image/MJPEG as well as limiting the maximum refresh rate.
|
||||
The current post-processing supports resizing and/or cropping the image/MJPEG as well as limiting the maximum refresh rate.
|
||||
|
||||
The current proxy capabilities are intended to reduce the camera bandwidth for slower internet connections.
|
||||
|
||||
@ -39,14 +39,37 @@ name:
|
||||
description: This parameter allows you to override the name of your camera.
|
||||
required: false
|
||||
type: string
|
||||
mode:
|
||||
description: The operating mode, either `resize` or `crop`.
|
||||
required: false
|
||||
type: string
|
||||
default: resize
|
||||
max_image_width:
|
||||
description: The maximum width of single images taken from the camera (aspect ratio will be maintained).
|
||||
description: The maximum width of single images taken from the camera (aspect ratio will be maintained on resize processing).
|
||||
required: false
|
||||
type: integer
|
||||
max_image_height:
|
||||
description: The maximum height of single images taken from the camera, only used for crop operations. If not provided, the original height is assumed by default.
|
||||
required: false
|
||||
type: integer
|
||||
max_stream_width:
|
||||
description: The maximum width of the MJPEG stream from the camera (aspect ratio will be maintained).
|
||||
description: The maximum width of the MJPEG stream from the camera (aspect ratio will be maintained on resize processing).
|
||||
required: false
|
||||
type: integer
|
||||
max_stream_height:
|
||||
description: The maximum height of the MJPEG stream from the camera, only used for crop operations. If not provided, the original height is assumed by default.
|
||||
required: false
|
||||
type: integer
|
||||
image_top:
|
||||
description: The top (y) coordinate to be used as a starting point for crop operations.
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
image_left:
|
||||
description: The left (x) coordinate to be used as a starting point for crop operations.
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
image_quality:
|
||||
description: The quality level used for resulting JPEG for snapshots.
|
||||
required: false
|
||||
@ -73,7 +96,7 @@ cache_images:
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
Example of using a Camera proxy along with a Foscam camera:
|
||||
Example of using two Camera proxies along with a Foscam camera:
|
||||
|
||||
```yaml
|
||||
camera:
|
||||
@ -87,4 +110,11 @@ camera:
|
||||
max_stream_width: 360
|
||||
max_image_width: 480
|
||||
image_refresh_rate: 5.0
|
||||
- platform: proxy
|
||||
entity_id: camera.mycamera
|
||||
name: My cropped camera
|
||||
mode: crop
|
||||
max_image_width: 480
|
||||
max_image_height: 320
|
||||
image_left: 100
|
||||
```
|
||||
|
@ -25,7 +25,7 @@ The `push` camera can as an example be used with [motionEye](https://github.com/
|
||||
|
||||
In motionEye, under **File Storage -> Run A Command** type in:
|
||||
```bash
|
||||
curl -X POST -F "image=@%f" http://my.hass.server.com:8123/api/camera_push/camera.push_camera?token=12345678
|
||||
curl -X POST -F "image=@%f" http://my.hass.server.com:8123/api/webhook/my_custom_webhook_id
|
||||
```
|
||||
|
||||
Optionally configure motionEye to save only motion triggered images by going into **Still Images -> Capture Mode** and setting **Motion Triggered**. Tune your preferences under **Motion Detection**.
|
||||
@ -38,7 +38,7 @@ camera:
|
||||
name: MotionEye Outdoor
|
||||
buffer: 3
|
||||
timeout: 5
|
||||
token: 12345678
|
||||
webhook_id: my_custom_webhook_id
|
||||
```
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
@ -50,7 +50,7 @@ To enable this camera in your installation, add the following to your `configura
|
||||
camera:
|
||||
- platform: push
|
||||
name: My Push Camera
|
||||
token: 12345678
|
||||
webhook_id: my_custom_webhook_id
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -69,9 +69,9 @@ timeout:
|
||||
required: false
|
||||
type: time
|
||||
default: 5 seconds
|
||||
token:
|
||||
description: User provided token acting as access control, should be a large string (more then 8 chars). Required if you can't use HA new auth system (0.77).
|
||||
required: false
|
||||
webhook_id:
|
||||
description: User provided string acting as camera identifier and access control, should be a large string (more then 8 chars).
|
||||
required: true
|
||||
type: string
|
||||
field:
|
||||
description: HTTP POST field containing the image file
|
||||
|
@ -34,6 +34,7 @@ camera:
|
||||
- platform: uvc
|
||||
nvr: IP_ADDRESS
|
||||
key: API_KEY
|
||||
ssl: USE_SSL
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -55,4 +56,9 @@ password:
|
||||
required: false
|
||||
type: string
|
||||
default: ubnt
|
||||
ssl:
|
||||
description: Should use SSL/TLS to connect to the NVR.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
{% endconfiguration %}
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Honeywell evohome CH/DHW Controller"
|
||||
description: "Instructions on how to integrate a Honeywell evohome controller with Home Assistant."
|
||||
title: "Honeywell evohome/TCC Climate devices"
|
||||
description: "Instructions on how to utilize a Honeywell evohome/TCC system within Home Assistant."
|
||||
date: 2018-09-25 12:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
@ -13,15 +13,36 @@ ha_release: 0.80
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
The `evohome` climate platform integrates your _EU-based_ [Honeywell Connect Comfort](https://international.mytotalconnectcomfort.com/Account/Login) CH/DHW controller into Home Assistant, enabling control of its operating mode.
|
||||
The `evohome` climate platform integrates your _non-US_ [Honeywell Total Connect Comfort (TCC)](https://international.mytotalconnectcomfort.com/Account/Login) system into Home Assistant. It has been tested with the Honeywell evohome multi-zone CH/DHW system, but other systems may also work.
|
||||
|
||||
It is related to the honeywell climate component](/components/climate.honeywell/), which allows limited integration with evohome Heating zones. These two components should be usuable side-by-side, but YMMV.
|
||||
It is distinct from - but related to - the [`honeywell`](/components/climate.honeywell/) climate platform, which also allows (limited) integration with Honeywell Connected thermostats; these two components may well be usable side-by-side, but YMMV.
|
||||
|
||||
The evohome evotouch controller supports seven distict modes: Auto, AutoWithEco, Away, DayOff, HeatingOff, and Custom; AutoWithReset is a 7th, hidden, mode.
|
||||
The evohome evotouch Controller supports seven distict operating modes: Auto, AutoWithEco, Away, DayOff, HeatingOff, and Custom; AutoWithReset is a 7th, hidden, mode.
|
||||
|
||||
Currently, only the standard HA operating modes are supported: 'Eco' (AutoWithEco), and 'Off' (HeatingOff), and 'Auto' (all other evohome modes). 'Away' (Away) mode is supported separately.
|
||||
Currently, only the standard HA operating modes are supported; the evohome modes are mapped thus: 'Eco' (AutoWithEco), 'Off' (HeatingOff), and 'Auto' (all other evohome modes). 'Away' mode is supported separately, in the HA fashion.
|
||||
|
||||
The actual operating modes are tracked/reported via `device_state_attributes`.
|
||||
The evohome Heating zones support only three operating modes: FollowSchedule, TemporaryOverride, and PermanentOverride. If the zone is in FollowSchedule mode, it inherits its `operating_mode` from the controller; the other modes are mapped to 'Manual' or 'Off'.
|
||||
|
||||
A device's actual operating mode can be tracked via its `device_state_attributes`, which includes a JSON data structure for current state called `status`. For example:
|
||||
```
|
||||
{
|
||||
'zoneId': '999999',
|
||||
'temperatureStatus': {
|
||||
'temperature': 21.5,
|
||||
'isAvailable': True
|
||||
},
|
||||
'activeFaults': [],
|
||||
'setpointStatus': {
|
||||
'targetHeatTemperature': 17.5,
|
||||
'setpointMode': 'FollowSchedule'
|
||||
},
|
||||
'name': 'Main Room'
|
||||
}
|
||||
```
|
||||
This data can be accessed in automations, etc., via a value template:
|
||||
```
|
||||
value_template: "{{ state_attr('climate.main_room', 'status').setpointStatus.setpointMode }}"
|
||||
```
|
||||
|
||||
<p class='note'>
|
||||
Full configuration details can be found on the main [evohome component](/components/evohome/) page.
|
||||
|
@ -14,13 +14,15 @@ ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
|
||||
The `honeywell` climate platform let you control [Honeywell Connected](http://getconnected.honeywell.com/en/) thermostats from Home Assistant.
|
||||
The `honeywell` climate platform let you control Honeywell Connected thermostats from Home Assistant.
|
||||
|
||||
<p class='note'>
|
||||
This platform does NOT connect to MyTotalConnectComfort.com. If you have a Honeywell WIFI thermostat that is connected through MyTotalConnectComfort.com, you may might to take a look at the IFTTT component which can bridge the gap between Home Assistant and MyTotalConnectComfort.com WIFI thermostats on a limited basis.
|
||||
This platform is actually a hybrid combination of two distinct climate systems based upon either [somecomfort](https://github.com/kk7ds/somecomfort) (for US-based systems), or [evohome-client](https://github.com/watchforstock/evohome-client) (for international/EU systems) - see the `region` parameter, below. Before you proceed, please be clear which client library is appropriate to your system.
|
||||
</p>
|
||||
|
||||
To set it up, add the following information to your `configuration.yaml` file:
|
||||
Although both regions remain supported here, the `evohome-client`-based systems have a new [component](/components/evohome/) available that may suit your needs better.
|
||||
|
||||
To set up this climate platform, add the following information to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
climate:
|
||||
@ -30,7 +32,7 @@ climate:
|
||||
scan_interval: 600
|
||||
```
|
||||
<p class='note'>
|
||||
Scan interval is expressed in seconds. Omitting scan_interval may result in too-frequent polling and cause you to rate-limited by Honeywell.
|
||||
Scan interval is expressed in seconds. Omitting or mis-configuring `scan_interval` may result in too-frequent polling and cause you to be rate-limited by Honeywell.
|
||||
</p>
|
||||
|
||||
{% configuration %}
|
||||
@ -43,7 +45,7 @@ password:
|
||||
required: true
|
||||
type: string
|
||||
region:
|
||||
description: Region identifier (either 'eu' or 'us').
|
||||
description: Region identifier (either 'eu' or 'us'). Use the `somecomfort` client library for `us`, and evohome-client for `eu`.
|
||||
required: false
|
||||
default: eu
|
||||
type: string
|
||||
|
@ -61,7 +61,7 @@ Pick an icon that you can find on [materialdesignicons.com](https://materialdesi
|
||||
|
||||
### {% linkable_title Restore State %}
|
||||
|
||||
This component will automatically restore the state it had prior to Home Assistant stopping as long as you have the `recorder` component enabled and your entity has `restore` set to `True` which is the default. To disable this feature, set `restore` to `False`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation.
|
||||
This component will automatically restore the state it had prior to Home Assistant stopping as long as you your entity has `restore` set to `True` which is the default. To disable this feature, set `restore` to `False`.
|
||||
|
||||
If `restore` is set to `False`, the `initial` value will only be used when no previous state is found or when the counter is reset.
|
||||
|
||||
|
16
source/_components/cover.tellduslive.markdown
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Telldus Live Cover"
|
||||
description: "Instructions on how to integrate Telldus Live Covers into Home Assistant."
|
||||
date: 2016-01-17 15:49
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: telldus.png
|
||||
ha_category: Cover
|
||||
featured: false
|
||||
---
|
||||
|
||||
Integrates Telldus Live Covers into Home Assistant. See the [main component](/components/tellduslive/) for configuration instructions.
|
||||
|
@ -1,16 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Volvo On Call Device Tracker"
|
||||
description: "Instructions for how to integrate Volvo On Call into Home Assistant."
|
||||
date: 2016-10-02 17:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: volvo.png
|
||||
ha_category: Car
|
||||
ha_release: "0.30"
|
||||
---
|
||||
|
||||
|
||||
Integrates Volvo on Call device tracker into Home Assistant. See the [main component](/components/volvooncall/) for configuration instructions.
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Honeywell evohome"
|
||||
description: "Instructions on how to integrate Honeywell evohome devices with Home Assistant."
|
||||
title: "Honeywell evohome/TCC systems"
|
||||
description: "Instructions on how to integrate a Honeywell evohome/TCC system with Home Assistant."
|
||||
date: 2018-09-25 12:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
@ -13,11 +13,11 @@ ha_release: 0.80
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
The `evohome` platform is the main component to set up and integrate all supported evohome Climate devices.
|
||||
The `evohome` component is the main component to set up and integrate all _non-US_ [Honeywell Total Connect Comfort (TCC)](https://international.mytotalconnectcomfort.com/Account/Login) CH/DHW systems, primarily the Honeywell evohome multi-zone CH/DHW system. It does not support the home security functionality of TCC.
|
||||
|
||||
It uses the [evohomeclient](https://pypi.org/project/evohomeclient/) client library and so will let you control (only) _EU-based_ [Honeywell Connect Comfort](https://international.mytotalconnectcomfort.com/Account/Login) systems.
|
||||
It uses v2 of the [evohome-client](https://github.com/watchforstock/evohome-client) client library and so will let you control (only) EU/international systems. It _does not_ leverage the [somecomfort](https://github.com/kk7ds/somecomfort) client library as used by US-based systems; for those, you may find what you need at the [honeywell climate platform](/components/climate.honeywell/).
|
||||
|
||||
Currently, only Controllers and Zones are supported; support for DHW controllers will be added at a later time. More information is available [evohome climate component](/components/climate.honeywell/) page.
|
||||
Currently, only Controllers and Heating zones are supported; support for DHW controllers will be added at a later time. More information is available on the [evohome climate platform](/components/climate.evohome/) page.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
@ -30,11 +30,9 @@ evohome:
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
This is an IoT cloud-polling device, and the `scan_interval` is currently fixed at 5 minutes. Testing has indicated that this is a safe interval that - by itself - shouldn't cause you to be rate-limited by Honeywell.
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
description: The username (email address) that has access to [Honeywell Connect Comfort](https://international.mytotalconnectcomfort.com/Account/Login) web site.
|
||||
description: The username (email address) that has access to [Honeywell TCC](https://international.mytotalconnectcomfort.com/Account/Login) web site.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
@ -42,8 +40,16 @@ password:
|
||||
required: true
|
||||
type: string
|
||||
location_idx:
|
||||
description: Used to select which location to use, if your login has access to more than one location. Multiple locations are not supported.
|
||||
description: Used to select which location to use, if your login has access to more than one location. Multiple locations at one time are not supported.
|
||||
required: false
|
||||
type: int
|
||||
default: 0
|
||||
scan_interval:
|
||||
description: How often updates are retreived from Honeywell's web servers. The minimum value is 180 seconds, rounded up to the nearest minute.
|
||||
required: false
|
||||
type: int
|
||||
default: 300
|
||||
{% endconfiguration %}
|
||||
|
||||
This is an IoT cloud-polling device, and the recommended minimum `scan_interval` is 300 seconds. Testing has indicated that this is a safe interval that - by itself - shouldn't cause you to be rate-limited by Honeywell.
|
||||
|
||||
|
@ -122,7 +122,7 @@ The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier and
|
||||
### Air Humidifier (zhimi.humidifier.v1)
|
||||
|
||||
- On, Off
|
||||
- Operation modes (silent, medium, high)
|
||||
- Operation modes (silent, medium, high, strong)
|
||||
- Buzzer (on, off)
|
||||
- Child lock (on, off)
|
||||
- LED brightness (bright, dim, off)
|
||||
|
@ -11,6 +11,8 @@ logo: fibaro.png
|
||||
ha_category: Hub
|
||||
ha_release: 0.83
|
||||
ha_iot_class: "Local Push"
|
||||
redirect_from:
|
||||
- /components/scene.fibaro/
|
||||
---
|
||||
|
||||
The [Fibaro](http://fibaro.com) hub is a controller mainly connecting to Z-Wave devices.
|
||||
|
@ -41,6 +41,16 @@ radius:
|
||||
required: false
|
||||
type: string
|
||||
default: 20km
|
||||
latitude:
|
||||
description: Latitude of the coordinates around which events are considered.
|
||||
required: false
|
||||
type: string
|
||||
default: Latitude defined in your `configuration.yaml`
|
||||
longitude:
|
||||
description: Longitude of the coordinates around which events are considered.
|
||||
required: false
|
||||
type: string
|
||||
default: Longitude defined in your `configuration.yaml`
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Advanced Configuration Example %}
|
||||
|
@ -20,9 +20,10 @@ Entities can have associated geo location coordinates (latitude and longitude) s
|
||||
The [Geo Location trigger](/docs/automation/trigger/#geo-location-trigger) can be used in automations triggered by Geo Location entities appearing in or disappearing from zones. The following value must be used as `source` of the trigger depending on which platform is managing the entities:
|
||||
|
||||
| Platform | Source |
|
||||
|----------------------------------|-------------------------------|
|
||||
|---------------------------------------------------|-------------------------------|
|
||||
| GeoJSON Events | `geo_json_events` |
|
||||
| NSW Rural Fire Service Incidents | `nsw_rural_fire_service_feed` |
|
||||
| U.S. Geological Survey Earthquake Hazards Program | `usgs_earthquakes_feed` |
|
||||
|
||||
Conditions can be used to further filter entities, for example by inspecting their state attributes.
|
||||
|
||||
|
@ -50,6 +50,16 @@ categories:
|
||||
required: false
|
||||
type: list
|
||||
default: None. Any incident regardless of its category will be included.
|
||||
latitude:
|
||||
description: Latitude of the coordinates around which events are considered.
|
||||
required: false
|
||||
type: string
|
||||
default: Latitude defined in your `configuration.yaml`
|
||||
longitude:
|
||||
description: Longitude of the coordinates around which events are considered.
|
||||
required: false
|
||||
type: string
|
||||
default: Longitude defined in your `configuration.yaml`
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title State Attributes %}
|
||||
|
109
source/_components/geo_location.usgs_earthquakes_feed.markdown
Normal file
@ -0,0 +1,109 @@
|
||||
---
|
||||
layout: page
|
||||
title: "USGS Earthquakes"
|
||||
description: "Instructions on how to integrate the U.S. Geological Survey Earthquake Hazards Program Feed feed into Home Assistant."
|
||||
date: 2018-11-05 08:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: us-geological-survey.png
|
||||
ha_category: Geo Location
|
||||
ha_iot_class: "Cloud Polling"
|
||||
ha_release: 0.84
|
||||
---
|
||||
|
||||
The `usgs_earthquakes_feed` platform lets you integrate a GeoJSON feed provided by the [U.S. Geological Survey](https://earthquake.usgs.gov/) with information about seismic events like earthquakes. It retrieves incidents from a feed and shows information of those incidents filtered by distance to Home Assistant's location.
|
||||
|
||||
<p class='img'>
|
||||
<img src='{{site_root}}/images/screenshots/usgs-earthquake-hazards-program-feed-entities.png' />
|
||||
</p>
|
||||
|
||||
Entities are generated, updated and removed automatically with each update from the feed. Each entity defines latitude and longitude and will be shown on the map automatically. The distance in kilometers is available as the state of each entity.
|
||||
|
||||
<p class='img'>
|
||||
<img src='{{site_root}}/images/screenshots/usgs-earthquake-hazards-program-feed-map.png' />
|
||||
</p>
|
||||
|
||||
The data is updated every 5 minutes.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To integrate the U.S. Geological Survey Earthquake Hazards Program feed, add the following lines to your `configuration.yaml`.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
geo_location:
|
||||
- platform: usgs_earthquakes_feed
|
||||
feed_type: 'past_day_all_earthquakes'
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
feed_type:
|
||||
description: The U.S. Geological Survey Earthquake Hazards Program provides 20 feeds covering different timeframes and magnitudes. You must select one of the feed types listed below.
|
||||
type: string
|
||||
required: true
|
||||
minimum_magnitude:
|
||||
description: The minimum magnitude of an earthquake to be included.
|
||||
required: false
|
||||
type: float
|
||||
default: 0.0
|
||||
radius:
|
||||
description: The distance in kilometers around Home Assistant's coordinates in which seismic events are included.
|
||||
required: false
|
||||
type: float
|
||||
default: 50km
|
||||
latitude:
|
||||
description: Latitude of the coordinates around which events are considered.
|
||||
required: false
|
||||
type: string
|
||||
default: Latitude defined in your `configuration.yaml`
|
||||
longitude:
|
||||
description: Longitude of the coordinates around which events are considered.
|
||||
required: false
|
||||
type: string
|
||||
default: Longitude defined in your `configuration.yaml`
|
||||
{% endconfiguration %}
|
||||
|
||||
### Supported Feed Types
|
||||
|
||||
| Description | Feed Type |
|
||||
|----------------------------------------|--------------------------------------|
|
||||
| Past Hour - Significant Earthquakes | `past_hour_significant_earthquakes` |
|
||||
| Past Hour - M4.5+ Earthquakes | `past_hour_m45_earthquakes` |
|
||||
| Past Hour - M2.5+ Earthquakes | `past_hour_m25_earthquakes` |
|
||||
| Past Hour - M1.0+ Earthquakes | `past_hour_m10_earthquakes` |
|
||||
| Past Hour - All Earthquakes | `past_hour_all_earthquakes` |
|
||||
| Past Day - Significant Earthquakes | `past_day_significant_earthquakes` |
|
||||
| Past Day - M4.5+ Earthquakes | `past_day_m45_earthquakes` |
|
||||
| Past Day - M2.5+ Earthquakes | `past_day_m25_earthquakes` |
|
||||
| Past Day - M1.0+ Earthquakes | `past_day_m10_earthquakes` |
|
||||
| Past Day - All Earthquakes | `past_day_all_earthquakes` |
|
||||
| Past 7 Days - Significant Earthquakes | `past_week_significant_earthquakes` |
|
||||
| Past 7 Days - M4.5+ Earthquakes | `past_week_m45_earthquakes` |
|
||||
| Past 7 Days - M2.5+ Earthquakes | `past_week_m25_earthquakes` |
|
||||
| Past 7 Days - M1.0+ Earthquakes | `past_week_m10_earthquakes` |
|
||||
| Past 7 Days - All Earthquakes | `past_week_all_earthquakes` |
|
||||
| Past 30 Days - Significant Earthquakes | `past_month_significant_earthquakes` |
|
||||
| Past 30 Days - M4.5+ Earthquakes | `past_month_m45_earthquakes` |
|
||||
| Past 30 Days - M2.5+ Earthquakes | `past_month_m25_earthquakes` |
|
||||
| Past 30 Days - M1.0+ Earthquakes | `past_month_m10_earthquakes` |
|
||||
| Past 30 Days - All Earthquakes | `past_month_all_earthquakes` |
|
||||
|
||||
|
||||
## {% linkable_title State Attributes %}
|
||||
|
||||
The following state attributes are available for each entity in addition to the standard ones:
|
||||
|
||||
| Attribute | Description |
|
||||
|--------------------|-------------|
|
||||
| latitude | Latitude of the earthquake. |
|
||||
| longitude | Longitude of the earthquake. |
|
||||
| source | `usgs_earthquakes_feed` to be used in conjunction with `geo_location` automation trigger. |
|
||||
| external_id | The external ID used in the feed to identify the earthquake in the feed. |
|
||||
| place | Textual description of named geographic region near to the event. |
|
||||
| magnitude | Reported magnitude of the earthquake. |
|
||||
| time | Date and time when this event occurred. |
|
||||
| updated | Date and time when this event was most recently updated. |
|
||||
| status | Indicates whether the event has been reviewed by a human: "automatic", "reviewed", "deleted" |
|
||||
| type | Type of seismic event: "earthquake" or "quarry". |
|
@ -185,10 +185,19 @@ Currently, the following domains are available to be used with Google Assistant,
|
||||
- light (on/off/brightness/rgb color/color temp)
|
||||
- lock (lock/unlock (to allow assistant to unlock, set the `allow_unlock` key in configuration))
|
||||
- cover (on/off/set position (via set brightness))
|
||||
- media_player (on/off/set volume (via set brightness))
|
||||
- media_player (on/off/set volume (via set brightness)/source (via set input source))
|
||||
- climate (temperature setting)
|
||||
- vacuum (dock/start/stop/pause)
|
||||
|
||||
### {% linkable_title Media Player Sources %}
|
||||
|
||||
Media Player sources are sent via the Modes trait in Google Assistant.
|
||||
There is currently a limitation with this feature that requires a hard-coded set of settings. Because of this, the only sources that will be usable by this feature are listed here:
|
||||
https://developers.google.com/actions/reference/smarthome/traits/modes
|
||||
|
||||
#### Example Command:
|
||||
"Hey Google, change input source to TV on Living Room Receiver"
|
||||
|
||||
### {% linkable_title Troubleshooting the request_sync service %}
|
||||
|
||||
The request_sync service requires that the initial sync from Google includes the agent_user_id. If not, the service will log an error that reads something like "Request contains an invalid argument". If this happens, then [unlink the account](https://support.google.com/googlehome/answer/7506443) from Home Control and relink.
|
||||
|
@ -11,6 +11,9 @@ ha_category: Automation
|
||||
logo: hdmi.png
|
||||
ha_release: 0.23
|
||||
ha_iot_class: "Local Push"
|
||||
redirect_from:
|
||||
- /components/media_player.hdmi_cec/
|
||||
- /components/switch.hdmi_cec/
|
||||
---
|
||||
|
||||
The `hdmi_cec` component provides services that allow selecting the active device, powering on all devices, setting all devices to standby and creates switch entities for HDMI devices. Devices are defined in the configuration file by associating HDMI port number and a device name. Connected devices that provide further HDMI ports, such as sound-bars and AVRs are also supported. Devices are listed from the perspective of the CEC-enabled Home Assistant device. Any connected device can be listed, regardless of whether it supports CEC. Ideally the HDMI port number on your device will map correctly the CEC physical address. If it does not, use `cec-client` (part of the `libcec` package) to listen to traffic on the CEC bus and discover the correct numbers.
|
||||
|
90
source/_components/hlk_sw16.markdown
Normal file
@ -0,0 +1,90 @@
|
||||
---
|
||||
layout: page
|
||||
title: "HLK-SW16 Relay Module"
|
||||
description: "Instructions on how to integrate HLK-SW16 relay into Home Assistant."
|
||||
date: 2018-10-29 20:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: hlktech.jpg
|
||||
ha_category: DIY
|
||||
ha_release: 0.84
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
The [HLK-SW16](http://www.hlktech.net/product_detail.php?ProId=48) by [Hi-Link](http://www.hlktech.net/) is a simple networkable 16 port relay device.
|
||||
|
||||
To enable it, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
hlk_sw16:
|
||||
relay1:
|
||||
host: 10.225.225.53
|
||||
switches:
|
||||
0:
|
||||
name: relay1-0
|
||||
1:
|
||||
name: relay1-1
|
||||
2:
|
||||
name: relay1-2
|
||||
3:
|
||||
name: relay1-3
|
||||
4:
|
||||
name: relay1-4
|
||||
5:
|
||||
name: relay1-5
|
||||
6:
|
||||
name: relay1-6
|
||||
7:
|
||||
name: relay1-7
|
||||
8:
|
||||
name: relay1-8
|
||||
9:
|
||||
name: relay1-9
|
||||
a:
|
||||
name: relay1-a
|
||||
b:
|
||||
name: relay1-b
|
||||
c:
|
||||
name: relay1-c
|
||||
d:
|
||||
name: relay1-d
|
||||
e:
|
||||
name: relay1-e
|
||||
f:
|
||||
name: relay1-f
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
deviceid:
|
||||
description: The array that contains the HLK-SW16 devices.
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
host:
|
||||
description: The IP address or hostname of the HLK-SW16.
|
||||
required: true
|
||||
type: string
|
||||
port:
|
||||
description: The control port for the relays.
|
||||
required: false
|
||||
type: integer
|
||||
default: 8080
|
||||
switches:
|
||||
description: The array that contains the relays.
|
||||
required: true
|
||||
type: map
|
||||
keys:
|
||||
relayid:
|
||||
description: The array that contains the HLK-SW16 relays, each must be a number between 0 and 9 or letter between a and f which each corresponds to a labled relay switch on the HLK-SW16.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
name:
|
||||
description: The name used to display the switch in the frontend.
|
||||
required: false
|
||||
type: string
|
||||
default: relayid
|
||||
{% endconfiguration %}
|
@ -16,12 +16,12 @@ featured: false
|
||||
The [Homematic](http://www.homematic.com/) component provides bi-directional communication with your CCU/Homegear. It uses a XML-RPC connection to set values on devices and subscribes to receive events the devices and the CCU emit.
|
||||
If you are using Homegear with paired [Intertechno](http://intertechno.at/) devices, uni-directional communication is possible as well.
|
||||
|
||||
Device support is available for most of the wired and wireless devices, as well as a few IP devices. If you have a setup with mixed protocols, you have to configure additional hosts with the appropriate ports. The default is using port 2001, which are wireless devices. Wired devices usually are available through port 2000 and IP devices through port 2010. The virtual thermostatgroups the CCU provides use port 9292 **and** require you to set the `path` setting to `/groups`.
|
||||
Device support is available for most of the wired and wireless devices, as well as a lot of IP devices. If you have a setup with mixed protocols, you have to configure additional [interfaces](https://www.home-assistant.io/components/homematic#interfaces) with the appropriate ports. The default is using port 2001, which are wireless devices. Wired devices usually are available through port 2000 and IP devices through port 2010. The virtual thermostatgroups the CCU provides use port 9292 **and** require you to set the `path` setting to `/groups`. When using SSL on a CCU3, by default the same ports as usual with a prepended 4 are available. So 2001 becomes 42001, 2010 becomes 42010 etc..
|
||||
|
||||
If you want to see if a specific device you have is supported, head over to the [pyhomematic](https://github.com/danielperna84/pyhomematic/tree/master/pyhomematic/devicetypes) repository and browse through the source code. A dictionary with the device identifiers (e.g., HM-Sec-SC-2) can be found within the relevant modules near the bottom. If your device is not supported, feel free to contribute.
|
||||
|
||||
We automatically detect all devices we currently support and try to generate useful names. If you enable name-resolving, we try to fetch names from Metadata (Homegear), via JSON-RPC or the XML-API you may have installed on your CCU. Since this may fail this is disabled by default.
|
||||
You can manually rename the created entities by using Home Assistant's [Customizing](/docs/configuration/customizing-devices/) feature. With it you are also able to hide entities you don't want to see in the UI.
|
||||
You can manually rename the created entities by using Home Assistant's [Customizing](/docs/configuration/customizing-devices/) feature. With it you are also able to hide entities you don't want to see in the UI. The HomeMatic component is also supported by the [Entity Registry](https://developers.home-assistant.io/docs/en/entity_registry_index.html), which allows you to change the friendly name and the entity ID directly in the Home Assistant UI.
|
||||
|
||||
To set up the component, add the following information to your `configuration.yaml` file:
|
||||
|
||||
@ -61,9 +61,19 @@ host:
|
||||
required: true
|
||||
type: string
|
||||
port:
|
||||
description: "Port of CCU/Homegear XML-RPC Server. Wireless: 2001, wired: 2000, IP: 2010, thermostatgroups: 9292."
|
||||
description: "Port of CCU/Homegear XML-RPC Server. Wireless: 2001, wired: 2000, IP: 2010, thermostatgroups: 9292. With enabled SSL on the CCU3 usually a 4 is prepended to the Port. e.g., 2001 becomes 42001 with enabled SSL."
|
||||
required: false
|
||||
type: integer
|
||||
ssl:
|
||||
default: false
|
||||
description: Set to `true` if SSL support is enabled on the CCU3.
|
||||
required: false
|
||||
type: boolean
|
||||
verify_ssl:
|
||||
default: false
|
||||
description: Set to `true` if a valid certificate is being used. The default is `false` as usually a self-signed certificate is configured.
|
||||
required: false
|
||||
type: boolean
|
||||
callback_ip:
|
||||
description: Set this, if Home Assistant is reachable under a different IP from the CCU (NAT, Docker etc.).
|
||||
required: false
|
||||
@ -78,7 +88,7 @@ resolvenames:
|
||||
type: string
|
||||
default: false
|
||||
jsonport:
|
||||
description: Port of CCU JSON-RPC Server. The default is 80, but it may be different when running CCU virtually via Docker.
|
||||
description: Port of CCU JSON-RPC Server. The default is 80, but it may be different when running CCU virtually via Docker or with enabled SSL.
|
||||
required: false
|
||||
type: integer
|
||||
username:
|
||||
|
@ -29,7 +29,7 @@ For example, set the body of the IFTTT webhook to:
|
||||
{ "action": "call_service", "service": "light.turn_on", "entity_id": "light.living_room" }
|
||||
```
|
||||
|
||||
You can then consume that information with the following automation:
|
||||
You then need to consume that incoming information with the following automation:
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
|
@ -21,12 +21,16 @@ An `ihc` section must be present in the `configuration.yaml` file and contain
|
||||
the following options:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
# Example configuration.yaml entry for two IHC controllers
|
||||
ihc:
|
||||
url: http://192.168.1.3
|
||||
- url: 'http://192.168.1.3'
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
info: true
|
||||
- url: 'http://192.168.1.4'
|
||||
username: YOUR_USERNAME2
|
||||
password: YOUR_PASSWORD2
|
||||
info: true
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
|
@ -48,7 +48,7 @@ input_boolean:
|
||||
|
||||
### {% linkable_title Restore State %}
|
||||
|
||||
This component will automatically restore the state it had prior to Home Assistant stopping as long as you have the `recorder` component enabled and your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation.
|
||||
This component will automatically restore the state it had prior to Home Assistant stopping as long as your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`.
|
||||
|
||||
## {% linkable_title Automation Examples %}
|
||||
|
||||
|
@ -81,11 +81,8 @@ automations and templates.
|
||||
### {% linkable_title Restore State %}
|
||||
|
||||
This component will automatically restore the state it had prior to Home
|
||||
Assistant stopping as long as you have the `recorder` component enabled and your
|
||||
entity does **not** have a set value for `initial`. To disable this feature, set
|
||||
a valid value for `initial`. Additional information can be found in the
|
||||
[Restore state](/components/recorder/#restore-state) section of the
|
||||
[`recorder`](/components/recorder/) component documentation.
|
||||
Assistant stopping as long as your entity does **not** have a set value for
|
||||
`initial`. To disable this feature, set a valid value for `initial`.
|
||||
|
||||
### {% linkable_title Services %}
|
||||
|
||||
|
@ -85,7 +85,7 @@ input_number:
|
||||
|
||||
### {% linkable_title Restore State %}
|
||||
|
||||
This component will automatically restore the state it had prior to Home Assistant stopping as long as you have the `recorder` component enabled and your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation.
|
||||
This component will automatically restore the state it had prior to Home Assistant stopping as long as your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`.
|
||||
|
||||
## {% linkable_title Automation Examples %}
|
||||
|
||||
|
@ -65,7 +65,7 @@ Because YAML defines [booleans](http://yaml.org/type/bool.html) as equivalent, a
|
||||
|
||||
### {% linkable_title Restore State %}
|
||||
|
||||
This component will automatically restore the state it had prior to Home Assistant stopping as long as you have the `recorder` component enabled and your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation.
|
||||
This component will automatically restore the state it had prior to Home Assistant stopping as long as your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`.
|
||||
|
||||
### {% linkable_title Services %}
|
||||
|
||||
|
@ -72,4 +72,4 @@ input_text:
|
||||
|
||||
### {% linkable_title Restore State %}
|
||||
|
||||
This component will automatically restore the state it had prior to Home Assistant stopping as long as you have the `recorder` component enabled and your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`. Additional information can be found in the [Restore state](/components/recorder/#restore-state) section of the [`recorder`](/components/recorder/) component documentation.
|
||||
This component will automatically restore the state it had prior to Home Assistant stopping as long as your entity does **not** have a set value for `initial`. To disable this feature, set a valid value for `initial`.
|
||||
|
@ -27,18 +27,19 @@ project and setup as light devices:
|
||||
- Wireless mobile dimmer
|
||||
- Dataline lamp outlet
|
||||
|
||||
To manually configure IHC lights insert this section in your configuration:
|
||||
To manually configure IHC lights insert the "lights" section in
|
||||
your IHC configuration:
|
||||
|
||||
```yaml
|
||||
light:
|
||||
- platform: ihc
|
||||
ihc:
|
||||
- url: 'http://192.168.1.3'
|
||||
username: YOUR_USERNAME2
|
||||
password: YOUR_PASSWORD2
|
||||
info: true
|
||||
lights:
|
||||
- id: 12345
|
||||
name: tablelight
|
||||
dimmable: True
|
||||
- id: 12346
|
||||
name: anotherlight
|
||||
...
|
||||
- id: 23432
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -48,7 +49,7 @@ lights:
|
||||
type: map
|
||||
keys:
|
||||
dimmable:
|
||||
description: Set to True if the IHC resource is a light level
|
||||
description: Set to True if the IHC resource is a light level.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
@ -60,6 +61,14 @@ lights:
|
||||
description: The name of the component
|
||||
required: false
|
||||
type: string
|
||||
note:
|
||||
description: Descriptive note.
|
||||
required: false
|
||||
type: string
|
||||
position:
|
||||
description: Where it is placed.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
In the example above 12345 is ihc resource id and "tablelight" is the name.
|
||||
|
18
source/_components/light.lightwave.markdown
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Lightwave Light"
|
||||
description: "Instructions on how to integrate Lightwave lights with Home Assistant."
|
||||
date: 2018-12-05 18:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: lightwave.png
|
||||
ha_category: Light
|
||||
ha_release: 0.84
|
||||
ha_iot_class: "Assumed State"
|
||||
---
|
||||
The `lightwave` light platform integrates your Lightwave lights into Home Assistant.
|
||||
<p class='note'>
|
||||
Configuration details for the Lightwave platform can be found on the main [Lightwave component](/components/lightwave/) page.
|
||||
</p>
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
layout: page
|
||||
title: "MQTT Light"
|
||||
description: "Instructions on how to setup MQTT lights within Home Assistant."
|
||||
title: "MQTT Light - Default schema"
|
||||
description: "Instructions on how to setup MQTT lights using default schema within Home Assistant."
|
||||
date: 2015-11-13 08:30
|
||||
sidebar: true
|
||||
comments: false
|
||||
@ -10,11 +10,33 @@ footer: true
|
||||
logo: mqtt.png
|
||||
ha_category: Light
|
||||
ha_iot_class: depends
|
||||
redirect_from:
|
||||
- /components/light.mqtt_json/
|
||||
- /components/light.mqtt_template/
|
||||
---
|
||||
|
||||
The `mqtt` light platform lets you control your MQTT enabled lights. It supports setting brightness, color temperature, effects, flashing, on/off, RGB colors, transitions, XY colors and white values.
|
||||
The `mqtt` light platform with lets you control your MQTT enabled lights through one of the supported message schemas.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
## {% linkable_title Comparison of light MQTT schemas %}
|
||||
|
||||
| Function | [`default`](#default-schema) | [`json`](#json-schema) | [`template`](#template-schema) |
|
||||
|-------------------|------------------------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------------------------|
|
||||
| Brightness | ✔ | ✔ | ✔ |
|
||||
| Color temperature | ✔ | ✔ | ✔ |
|
||||
| Effects | ✔ | ✔ | ✔ |
|
||||
| Flashing | ✘ | ✔ | ✔ |
|
||||
| RGB Color | ✔ | ✔ | ✔ |
|
||||
| Transitions | ✘ | ✔ | ✔ |
|
||||
| XY Color | ✔ | ✔ | ✘ |
|
||||
| HS Color | ✔ | ✔ | ✘ |
|
||||
| White Value | ✔ | ✔ | ✔ |
|
||||
|
||||
|
||||
## {% linkable_title Default schema %}
|
||||
|
||||
The `mqtt` light platform with default schema lets you control your MQTT enabled lights. It supports setting brightness, color temperature, effects, flashing, on/off, RGB colors, transitions, XY colors and white values.
|
||||
|
||||
## {% linkable_title Default schema - Configuration %}
|
||||
|
||||
In an ideal scenario, the MQTT device will have a state topic to publish state changes. If these messages are published with a `RETAIN` flag, the MQTT light will receive an instant state update after subscription and will start with the correct state. Otherwise, the initial state of the switch will be `false` / `off`.
|
||||
|
||||
@ -204,21 +226,7 @@ payload_not_available:
|
||||
XY and RGB can not be used at the same time. If both are provided, XY overrides RGB.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Comparison of light MQTT platforms %}
|
||||
|
||||
| Function | [`mqtt`](/components/light.mqtt/) | [`mqtt_json`](/components/light.mqtt_json/) | [`mqtt_template`](/components/light.mqtt_template/) |
|
||||
|-------------------|------------------------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------------------------|
|
||||
| Brightness | ✔ | ✔ | ✔ |
|
||||
| Color temperature | ✔ | ✔ | ✔ |
|
||||
| Effects | ✔ | ✔ | ✔ |
|
||||
| Flashing | ✘ | ✔ | ✔ |
|
||||
| RGB Color | ✔ | ✔ | ✔ |
|
||||
| Transitions | ✘ | ✔ | ✔ |
|
||||
| XY Color | ✔ | ✔ | ✘ |
|
||||
| HS Color | ✔ | ✔ | ✘ |
|
||||
| White Value | ✔ | ✔ | ✔ |
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
## {% linkable_title Default schema - Examples %}
|
||||
|
||||
In this section you will find some real-life examples of how to use this sensor.
|
||||
|
||||
@ -284,8 +292,454 @@ light:
|
||||
on_command_type: 'brightness'
|
||||
```
|
||||
|
||||
### {% linkable_title Implementations %}
|
||||
## {% linkable_title Default schema - Implementations %}
|
||||
|
||||
- A [basic example](https://github.com/mertenats/open-home-automation/tree/master/ha_mqtt_light) using a nodeMCU board (ESP8266) to control its built-in LED (on/off).
|
||||
- Another [example](https://github.com/mertenats/open-home-automation/tree/master/ha_mqtt_rgb_light) to control a RGB LED (on/off, brightness, and colors).
|
||||
- [Integration guide](https://github.com/xoseperez/espurna/wiki/HomeAssistant) for the ESPUrna firmware (ESP8285/ESP8266).
|
||||
|
||||
## {% linkable_title JSON schema %}
|
||||
|
||||
The `mqtt` light platform with JSON schema lets you control a MQTT-enabled light that can receive [JSON](https://en.wikipedia.org/wiki/JSON) messages.
|
||||
|
||||
This schema supports on/off, brightness, RGB colors, XY colors, color temperature, transitions, short/long flashing and white values. The messages sent to/from the lights look similar to this, omitting fields when they aren't needed:
|
||||
|
||||
```json
|
||||
{
|
||||
"brightness": 255,
|
||||
"color_temp": 155,
|
||||
"color": {
|
||||
"r": 255,
|
||||
"g": 180,
|
||||
"b": 200,
|
||||
"x": 0.406,
|
||||
"y": 0.301,
|
||||
"h": 344.0,
|
||||
"s": 29.412
|
||||
},
|
||||
"effect": "colorloop",
|
||||
"state": "ON",
|
||||
"transition": 2,
|
||||
"white_value": 150
|
||||
}
|
||||
```
|
||||
|
||||
## {% linkable_title JSON schema - Configuration %}
|
||||
|
||||
In an ideal scenario, the MQTT device will have a state topic to publish state changes. If these messages are published with the RETAIN flag, the MQTT light will receive an instant state update after subscription and will start with the correct state. Otherwise, the initial state of the light will be off.
|
||||
|
||||
When a state topic is not available, the light will work in optimistic mode. In this mode, the light will immediately change state after every command. Otherwise, the light will wait for state confirmation from the device (message from `state_topic`).
|
||||
|
||||
Optimistic mode can be forced, even if state topic is available. Try enabling it if the light is operating incorrectly.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: json
|
||||
schema: json
|
||||
command_topic: "home/rgb1/set"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: The name of the light.
|
||||
required: false
|
||||
type: string
|
||||
default: MQTT JSON Light
|
||||
unique_id:
|
||||
description: An ID that uniquely identifies this light. If two lights have the same unique ID, Home Assistant will raise an exception.
|
||||
required: false
|
||||
type: string
|
||||
command_topic:
|
||||
description: The MQTT topic to publish commands to change the light’s state.
|
||||
required: true
|
||||
type: string
|
||||
brightness:
|
||||
description: Flag that defines if the light supports brightness.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
brightness_scale:
|
||||
description: "Defines the maximum brightness value (i.e. 100%) of the MQTT device."
|
||||
required: false
|
||||
type: integer
|
||||
default: 255
|
||||
color_temp:
|
||||
description: Flag that defines if the light supports color temperature.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
effect:
|
||||
description: Flag that defines if the light supports effects.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
effect_list:
|
||||
description: The list of effects the light supports.
|
||||
required: false
|
||||
type: string list
|
||||
flash_time_long:
|
||||
description: The duration, in seconds, of a “long” flash.
|
||||
required: false
|
||||
type: integer
|
||||
default: 10
|
||||
flash_time_short:
|
||||
description: The duration, in seconds, of a “short” flash.
|
||||
required: false
|
||||
type: integer
|
||||
default: 2
|
||||
optimistic:
|
||||
description: Flag that defines if the light works in optimistic mode.
|
||||
required: false
|
||||
type: boolean
|
||||
default: "`true` if no state topic defined, else `false`."
|
||||
qos:
|
||||
description: The maximum QoS level of the state topic.
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
retain:
|
||||
description: If the published message should have the retain flag on or not.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
rgb:
|
||||
description: Flag that defines if the light supports RGB colors.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
state_topic:
|
||||
description: The MQTT topic subscribed to receive state updates.
|
||||
required: false
|
||||
type: string
|
||||
white_value:
|
||||
description: Flag that defines if the light supports white values.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
xy:
|
||||
description: Flag that defines if the light supports XY colors.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
hs:
|
||||
description: Flag that defines if the light supports HS colors.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
availability_topic:
|
||||
description: The MQTT topic subscribed to receive availability (online/offline) updates.
|
||||
required: false
|
||||
type: string
|
||||
payload_available:
|
||||
description: The payload that represents the available state.
|
||||
required: false
|
||||
type: string
|
||||
default: online
|
||||
payload_not_available:
|
||||
description: The payload that represents the unavailable state.
|
||||
required: false
|
||||
type: string
|
||||
default: offline
|
||||
{% endconfiguration %}
|
||||
|
||||
<p class='note warning'>
|
||||
Make sure that your topics match exact. `some-topic/` and `some-topic` are different topics.
|
||||
</p>
|
||||
|
||||
<p class='note warning'>
|
||||
RGB, XY and HSV can not be used at the same time in `state_topic` messages. Make sure that only one of the color models is in the "color" section of the state MQTT payload.
|
||||
</p>
|
||||
|
||||
## {% linkable_title JSON schema - Examples %}
|
||||
|
||||
In this section you find some real-life examples of how to use this sensor.
|
||||
|
||||
### {% linkable_title Brightness and RGB support %}
|
||||
|
||||
To enable a light with brightness and RGB support in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: mqtt
|
||||
schema: json
|
||||
name: mqtt_json_light_1
|
||||
state_topic: "home/rgb1"
|
||||
command_topic: "home/rgb1/set"
|
||||
brightness: true
|
||||
rgb: true
|
||||
```
|
||||
|
||||
### {% linkable_title Brightness and no RGB support %}
|
||||
|
||||
To enable a light with brightness (but no color support) in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: mqtt
|
||||
schema: json
|
||||
name: mqtt_json_light_1
|
||||
state_topic: "home/rgb1"
|
||||
command_topic: "home/rgb1/set"
|
||||
brightness: true
|
||||
```
|
||||
|
||||
### {% linkable_title Brightness Scaled %}
|
||||
|
||||
To enable a light using a brightness scale other than 8bit the `brightness_scale` option may be added to denote the "fully on" value:
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: mqtt
|
||||
schema: json
|
||||
name: mqtt_json_light_1
|
||||
state_topic: "home/light"
|
||||
command_topic: "home/light/set"
|
||||
brightness: true
|
||||
brightness_scale: 4095
|
||||
```
|
||||
|
||||
Home Assistant will then convert its 8bit value in the message to and from the device:
|
||||
|
||||
```json
|
||||
{
|
||||
"brightness": 4095,
|
||||
"state": "ON"
|
||||
}
|
||||
```
|
||||
|
||||
### {% linkable_title HS Color %}
|
||||
|
||||
To use a light with hue+saturation as the color model, set `hs` to `true` in the platform configuration:
|
||||
|
||||
```yaml
|
||||
light:
|
||||
- platform: mqtt
|
||||
schema: json
|
||||
name: mqtt_json_hs_light
|
||||
state_topic: "home/light"
|
||||
command_topic: "home/light/set"
|
||||
hs: True
|
||||
```
|
||||
|
||||
Home Assistant expects the hue values to be in the range 0 to 360 and the saturation values to be scaled from 0 to 100. For example, the following is a blue color shade:
|
||||
|
||||
```json
|
||||
{
|
||||
"state": "ON",
|
||||
"color": {
|
||||
"h": 24.0,
|
||||
"s": 100.0
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### {% linkable_title Brightness and RGBW support %}
|
||||
|
||||
To enable a light with brightness, RGB support and a separate white channel (RGBW) in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: mqtt
|
||||
schema: json
|
||||
name: mqtt_json_light_1
|
||||
state_topic: "home/rgbw1"
|
||||
command_topic: "home/rgbw1/set"
|
||||
brightness: true
|
||||
rgb: true
|
||||
white_value: true
|
||||
```
|
||||
|
||||
|
||||
## {% linkable_title Implementations %}
|
||||
|
||||
- A full example of custom lighting using this platform and an ESP8266 microcontroller can be found [here](https://github.com/corbanmailloux/esp-mqtt-rgb-led). It supports on/off, brightness, transitions, RGB colors, and flashing.
|
||||
|
||||
- There is also another implementation forked from the above repo, it supports all the same features but is made for addressable LED strips using FastLED on a NodeMCU V3 it can be found [here](https://github.com/JammyDodger231/nodemcu-mqtt-rgb-led).
|
||||
|
||||
- [McLighting](https://github.com/toblum/McLighting) is another ESP8266 firmware for WS2812 addressable LEDs.
|
||||
|
||||
- [MQTT JSON Light](https://github.com/mertenats/Open-Home-Automation/tree/master/ha_mqtt_rgbw_light_with_discovery) is another implementation for ESP8266 including [MQTT discovery](/docs/mqtt/discovery/).
|
||||
|
||||
- [esphomelib](https://github.com/OttoWinter/esphomelib) is a library for ESP8266 and ESP32 boards that has many of Home Assistant's MQTT features (like [discovery](/docs/mqtt/discovery/)) pre-implemented and provides high-level abstractions for components such as lights or sensors.
|
||||
|
||||
- [AiLight](https://github.com/stelgenhof/AiLight) is a custom firmware for the Ai-Thinker (and equivalent) RGBW WiFi light bulbs that has an ESP8266 onboard and controlled by the MY9291 LED driver. It implements the [MQTT JSON light](/components/light.mqtt_json/) platform and supports ON/OFF, RGBW colours, brightness, colour temperature, flashing and transitions. Also it includes [MQTT Auto Discovery](/docs/mqtt/discovery/)) and the MQTT Last Will and Testament is enabled as well.
|
||||
|
||||
## {% linkable_title Template schema %}
|
||||
|
||||
The `mqtt` light platform with template schema lets you control a MQTT-enabled light that receive commands on a command topic and optionally sends status update on a state topic.
|
||||
It is format-agnostic so you can use any data format you want (i.e. string, JSON), just configure it with templating.
|
||||
|
||||
This schema supports on/off, brightness, RGB colors, XY colors, color temperature, transitions, short/long flashing, effects and white values.
|
||||
|
||||
## {% linkable_title Template schema - Configuration %}
|
||||
|
||||
In an ideal scenario, the MQTT device will have a state topic to publish state changes. If these messages are published with the RETAIN flag, the MQTT light will receive an instant state update after subscription and will start with the correct state. Otherwise, the initial state of the light will be off.
|
||||
|
||||
When a state topic is not available, the light will work in optimistic mode. In this mode, the light will immediately change state after every command. Otherwise, the light will wait for state confirmation from the device (message from `state_topic`).
|
||||
|
||||
Optimistic mode can be forced, even if state topic is available. Try enabling it if the light is operating incorrectly.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: mqtt
|
||||
schema: template
|
||||
command_topic: "home/rgb1/set"
|
||||
command_on_template: "on"
|
||||
command_off_template: "off"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: The name of the light.
|
||||
required: false
|
||||
type: string
|
||||
default: MQTT Template Light
|
||||
effect_list:
|
||||
description: List of possible effects.
|
||||
required: false
|
||||
type: string list
|
||||
command_topic:
|
||||
description: The MQTT topic to publish commands to change the light’s state.
|
||||
required: true
|
||||
type: string
|
||||
state_topic:
|
||||
description: The MQTT topic subscribed to receive state updates.
|
||||
required: false
|
||||
type: string
|
||||
command_on_template:
|
||||
description: "The [template](/docs/configuration/templating/#processing-incoming-data) for *on* state changes. Available variables: `state`, `brightness`, `red`, `green`, `blue`, `white_value`, `flash`, `transition` and `effect`."
|
||||
required: true
|
||||
type: string
|
||||
command_off_template:
|
||||
description: "The [template](/docs/configuration/templating/#processing-incoming-data) for *off* state changes. Available variables: `state` and `transition`."
|
||||
required: true
|
||||
type: string
|
||||
state_template:
|
||||
description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract state from the state payload value."
|
||||
required: false
|
||||
type: string
|
||||
brightness_template:
|
||||
description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract brightness from the state payload value."
|
||||
required: false
|
||||
type: string
|
||||
red_template:
|
||||
description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract red color from the state payload value."
|
||||
required: false
|
||||
type: string
|
||||
green_template:
|
||||
description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract green color from the state payload value."
|
||||
required: false
|
||||
type: string
|
||||
blue_template:
|
||||
description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract blue color from the state payload value."
|
||||
required: false
|
||||
type: string
|
||||
color_temp_template:
|
||||
description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract color temperature from the state payload value."
|
||||
required: false
|
||||
type: string
|
||||
effect_template:
|
||||
description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract effect from the state payload value."
|
||||
required: false
|
||||
type: string
|
||||
white_value_template:
|
||||
description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract white value from the state payload value."
|
||||
required: false
|
||||
type: string
|
||||
optimistic:
|
||||
description: Flag that defines if the light works in optimistic mode.
|
||||
required: false
|
||||
type: string
|
||||
default: "`true` if no state topic or state template is defined, else `false`."
|
||||
qos:
|
||||
description: The maximum QoS level of the state topic.
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
availability_topic:
|
||||
description: The MQTT topic subscribed to receive availability (online/offline) updates.
|
||||
required: false
|
||||
type: string
|
||||
payload_available:
|
||||
description: The payload that represents the available state.
|
||||
required: false
|
||||
type: string
|
||||
default: online
|
||||
payload_not_available:
|
||||
description: The payload that represents the unavailable state.
|
||||
required: false
|
||||
type: string
|
||||
default: offline
|
||||
{% endconfiguration %}
|
||||
|
||||
<p class='note warning'>
|
||||
Make sure that your topics match exact. `some-topic/` and `some-topic` are different topics.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Template schema - Examples %}
|
||||
|
||||
In this section you find some real-life examples of how to use this light.
|
||||
|
||||
### {% linkable_title Simple string payload %}
|
||||
|
||||
For a simple string payload with the format `state,brightness,r-g-b` (e.g., `on,255,255-255-255`), add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: mqtt
|
||||
schema: template
|
||||
command_topic: "home/rgb1/set"
|
||||
state_topic: "home/rgb1/status"
|
||||
command_on_template: "{% raw %}on,{{ brightness|d }},{{ red|d }}-{{ green|d }}-{{ blue|d }}{% endraw %}"
|
||||
command_off_template: "off"
|
||||
state_template: "{% raw %}{{ value.split(',')[0] }}{% endraw %}" # must return `on` or `off`
|
||||
brightness_template: "{% raw %}{{ value.split(',')[1] }}{% endraw %}"
|
||||
red_template: "{% raw %}{{ value.split(',')[2].split('-')[0] }}{% endraw %}"
|
||||
green_template: "{% raw %}{{ value.split(',')[2].split('-')[1] }}{% endraw %}"
|
||||
blue_template: "{% raw %}{{ value.split(',')[2].split('-')[2] }}{% endraw %}"
|
||||
```
|
||||
|
||||
### {% linkable_title JSON payload %}
|
||||
|
||||
For a JSON payload with the format `{"state": "on", "brightness": 255, "color": [255, 255, 255], "effect": "rainbow"}`, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: mqtt_template
|
||||
schema: template
|
||||
effect_list:
|
||||
- rainbow
|
||||
- colorloop
|
||||
command_topic: "home/rgb1/set"
|
||||
state_topic: "home/rgb1/status"
|
||||
command_on_template: >{% raw %}
|
||||
{"state": "on"
|
||||
{%- if brightness is defined -%}
|
||||
, "brightness": {{ brightness }}
|
||||
{%- endif -%}
|
||||
{%- if red is defined and green is defined and blue is defined -%}
|
||||
, "color": [{{ red }}, {{ green }}, {{ blue }}]
|
||||
{%- endif -%}
|
||||
{%- if effect is defined -%}
|
||||
, "effect": "{{ effect }}"
|
||||
{%- endif -%}
|
||||
}{% endraw %}
|
||||
command_off_template: '{"state": "off"}'
|
||||
state_template: '{% raw %}{{ value_json.state }}{% endraw %}'
|
||||
brightness_template: '{% raw %}{{ value_json.brightness }}{% endraw %}'
|
||||
red_template: '{% raw %}{{ value_json.color[0] }}{% endraw %}'
|
||||
green_template: '{% raw %}{{ value_json.color[1] }}{% endraw %}'
|
||||
blue_template: '{% raw %}{{ value_json.color[2] }}{% endraw %}'
|
||||
effect_template: '{% raw %}{{ value_json.effect }}{% endraw %}'
|
||||
```
|
||||
|
||||
### {% linkable_title Template schema - No brightness or color support %}
|
||||
|
||||
If you don't want brightness, color or effect support, just omit the corresponding configuration sections.
|
@ -1,288 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "MQTT JSON Light"
|
||||
description: "Instructions for how to setup MQTT JSON lights within Home Assistant."
|
||||
date: 2016-08-09 08:30
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: mqtt.png
|
||||
ha_category: Light
|
||||
ha_iot_class: depends
|
||||
ha_release: 0.26
|
||||
---
|
||||
|
||||
The `mqtt_json` light platform lets you control a MQTT-enabled light that can receive [JSON](https://en.wikipedia.org/wiki/JSON) messages.
|
||||
|
||||
This platform supports on/off, brightness, RGB colors, XY colors, color temperature, transitions, short/long flashing and white values. The messages sent to/from the lights look similar to this, omitting fields when they aren't needed:
|
||||
|
||||
```json
|
||||
{
|
||||
"brightness": 255,
|
||||
"color_temp": 155,
|
||||
"color": {
|
||||
"r": 255,
|
||||
"g": 180,
|
||||
"b": 200,
|
||||
"x": 0.406,
|
||||
"y": 0.301,
|
||||
"h": 344.0,
|
||||
"s": 29.412
|
||||
},
|
||||
"effect": "colorloop",
|
||||
"state": "ON",
|
||||
"transition": 2,
|
||||
"white_value": 150
|
||||
}
|
||||
```
|
||||
|
||||
In an ideal scenario, the MQTT device will have a state topic to publish state changes. If these messages are published with the RETAIN flag, the MQTT light will receive an instant state update after subscription and will start with the correct state. Otherwise, the initial state of the light will be off.
|
||||
|
||||
When a state topic is not available, the light will work in optimistic mode. In this mode, the light will immediately change state after every command. Otherwise, the light will wait for state confirmation from the device (message from `state_topic`).
|
||||
|
||||
Optimistic mode can be forced, even if state topic is available. Try enabling it if the light is operating incorrectly.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: mqtt_json
|
||||
command_topic: "home/rgb1/set"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: The name of the light.
|
||||
required: false
|
||||
type: string
|
||||
default: MQTT JSON Light
|
||||
unique_id:
|
||||
description: An ID that uniquely identifies this light. If two lights have the same unique ID, Home Assistant will raise an exception.
|
||||
required: false
|
||||
type: string
|
||||
command_topic:
|
||||
description: The MQTT topic to publish commands to change the light’s state.
|
||||
required: true
|
||||
type: string
|
||||
brightness:
|
||||
description: Flag that defines if the light supports brightness.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
brightness_scale:
|
||||
description: "Defines the maximum brightness value (i.e. 100%) of the MQTT device."
|
||||
required: false
|
||||
type: integer
|
||||
default: 255
|
||||
color_temp:
|
||||
description: Flag that defines if the light supports color temperature.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
effect:
|
||||
description: Flag that defines if the light supports effects.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
effect_list:
|
||||
description: The list of effects the light supports.
|
||||
required: false
|
||||
type: string list
|
||||
flash_time_long:
|
||||
description: The duration, in seconds, of a “long” flash.
|
||||
required: false
|
||||
type: integer
|
||||
default: 10
|
||||
flash_time_short:
|
||||
description: The duration, in seconds, of a “short” flash.
|
||||
required: false
|
||||
type: integer
|
||||
default: 2
|
||||
optimistic:
|
||||
description: Flag that defines if the light works in optimistic mode.
|
||||
required: false
|
||||
type: boolean
|
||||
default: "`true` if no state topic defined, else `false`."
|
||||
qos:
|
||||
description: The maximum QoS level of the state topic.
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
retain:
|
||||
description: If the published message should have the retain flag on or not.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
rgb:
|
||||
description: Flag that defines if the light supports RGB colors.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
state_topic:
|
||||
description: The MQTT topic subscribed to receive state updates.
|
||||
required: false
|
||||
type: string
|
||||
white_value:
|
||||
description: Flag that defines if the light supports white values.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
xy:
|
||||
description: Flag that defines if the light supports XY colors.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
hs:
|
||||
description: Flag that defines if the light supports HS colors.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
availability_topic:
|
||||
description: The MQTT topic subscribed to receive availability (online/offline) updates.
|
||||
required: false
|
||||
type: string
|
||||
payload_available:
|
||||
description: The payload that represents the available state.
|
||||
required: false
|
||||
type: string
|
||||
default: online
|
||||
payload_not_available:
|
||||
description: The payload that represents the unavailable state.
|
||||
required: false
|
||||
type: string
|
||||
default: offline
|
||||
{% endconfiguration %}
|
||||
|
||||
<p class='note warning'>
|
||||
Make sure that your topics match exact. `some-topic/` and `some-topic` are different topics.
|
||||
</p>
|
||||
|
||||
<p class='note warning'>
|
||||
RGB, XY and HSV can not be used at the same time in `state_topic` messages. Make sure that only one of the color models is in the "color" section of the state MQTT payload.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Comparison of light MQTT platforms %}
|
||||
|
||||
| Function | [`mqtt`](/components/light.mqtt/) | [`mqtt_json`](/components/light.mqtt_json/) | [`mqtt_template`](/components/light.mqtt_template/) |
|
||||
|-------------------|------------------------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------------------------|
|
||||
| Brightness | ✔ | ✔ | ✔ |
|
||||
| Color temperature | ✔ | ✔ | ✔ |
|
||||
| Effects | ✔ | ✔ | ✔ |
|
||||
| Flashing | ✘ | ✔ | ✔ |
|
||||
| RGB Color | ✔ | ✔ | ✔ |
|
||||
| Transitions | ✘ | ✔ | ✔ |
|
||||
| XY Color | ✔ | ✔ | ✘ |
|
||||
| HS Color | ✘ | ✔ | ✘ |
|
||||
| White Value | ✔ | ✔ | ✔ |
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
In this section you find some real-life examples of how to use this sensor.
|
||||
|
||||
### {% linkable_title Brightness and RGB support %}
|
||||
|
||||
To enable a light with brightness and RGB support in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: mqtt_json
|
||||
name: mqtt_json_light_1
|
||||
state_topic: "home/rgb1"
|
||||
command_topic: "home/rgb1/set"
|
||||
brightness: true
|
||||
rgb: true
|
||||
```
|
||||
|
||||
### {% linkable_title Brightness and no RGB support %}
|
||||
|
||||
To enable a light with brightness (but no color support) in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: mqtt_json
|
||||
name: mqtt_json_light_1
|
||||
state_topic: "home/rgb1"
|
||||
command_topic: "home/rgb1/set"
|
||||
brightness: true
|
||||
```
|
||||
|
||||
### {% linkable_title Brightness Scaled %}
|
||||
|
||||
To enable a light using a brightness scale other than 8bit the `brightness_scale` option may be added to denote the "fully on" value:
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: mqtt_json
|
||||
name: mqtt_json_light_1
|
||||
state_topic: "home/light"
|
||||
command_topic: "home/light/set"
|
||||
brightness: true
|
||||
brightness_scale: 4095
|
||||
```
|
||||
|
||||
Home Assistant will then convert its 8bit value in the message to and from the device:
|
||||
|
||||
```json
|
||||
{
|
||||
"brightness": 4095,
|
||||
"state": "ON"
|
||||
}
|
||||
```
|
||||
|
||||
### {% linkable_title HS Color %}
|
||||
|
||||
To use a light with hue+saturation as the color model, set `hs` to `true` in the platform configuration:
|
||||
|
||||
```yaml
|
||||
light:
|
||||
- platform: mqtt_json
|
||||
name: mqtt_json_hs_light
|
||||
state_topic: "home/light"
|
||||
command_topic: "home/light/set"
|
||||
hs: True
|
||||
```
|
||||
|
||||
Home Assistant expects the hue values to be in the range 0 to 360 and the saturation values to be scaled from 0 to 100. For example, the following is a blue color shade:
|
||||
|
||||
```json
|
||||
{
|
||||
"state": "ON",
|
||||
"color": {
|
||||
"h": 24.0,
|
||||
"s": 100.0
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### {% linkable_title Brightness and RGBW support %}
|
||||
|
||||
To enable a light with brightness, RGB support and a separate white channel (RGBW) in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: mqtt_json
|
||||
name: mqtt_json_light_1
|
||||
state_topic: "home/rgbw1"
|
||||
command_topic: "home/rgbw1/set"
|
||||
brightness: true
|
||||
rgb: true
|
||||
white_value: true
|
||||
```
|
||||
|
||||
|
||||
### {% linkable_title Implementations %}
|
||||
|
||||
- A full example of custom lighting using this platform and an ESP8266 microcontroller can be found [here](https://github.com/corbanmailloux/esp-mqtt-rgb-led). It supports on/off, brightness, transitions, RGB colors, and flashing.
|
||||
|
||||
- There is also another implementation forked from the above repo, it supports all the same features but is made for addressable LED strips using FastLED on a NodeMCU V3 it can be found [here](https://github.com/JammyDodger231/nodemcu-mqtt-rgb-led).
|
||||
|
||||
- [McLighting](https://github.com/toblum/McLighting) is another ESP8266 firmware for WS2812 addressable LEDs.
|
||||
|
||||
- [MQTT JSON Light](https://github.com/mertenats/Open-Home-Automation/tree/master/ha_mqtt_rgbw_light_with_discovery) is another implementation for ESP8266 including [MQTT discovery](/docs/mqtt/discovery/).
|
||||
|
||||
- [esphomelib](https://github.com/OttoWinter/esphomelib) is a library for ESP8266 and ESP32 boards that has many of Home Assistant's MQTT features (like [discovery](/docs/mqtt/discovery/)) pre-implemented and provides high-level abstractions for components such as lights or sensors.
|
||||
|
||||
- [AiLight](https://github.com/stelgenhof/AiLight) is a custom firmware for the Ai-Thinker (and equivalent) RGBW WiFi light bulbs that has an ESP8266 onboard and controlled by the MY9291 LED driver. It implements the [MQTT JSON light](/components/light.mqtt_json/) platform and supports ON/OFF, RGBW colours, brightness, colour temperature, flashing and transitions. Also it includes [MQTT Auto Discovery](/docs/mqtt/discovery/)) and the MQTT Last Will and Testament is enabled as well.
|
@ -1,198 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "MQTT Template Light"
|
||||
description: "Instructions for how to setup MQTT Template lights within Home Assistant."
|
||||
date: 2016-11-06 21:16
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: mqtt.png
|
||||
ha_category: Light
|
||||
ha_iot_class: depends
|
||||
ha_release: 0.33
|
||||
---
|
||||
|
||||
The `mqtt_template` light platform lets you control a MQTT-enabled light that receive commands on a command topic and optionally sends status update on a state topic.
|
||||
It is format-agnostic so you can use any data format you want (i.e. string, JSON), just configure it with templating.
|
||||
|
||||
This platform supports on/off, brightness, RGB colors, XY colors, color temperature, transitions, short/long flashing, effects and white values.
|
||||
|
||||
In an ideal scenario, the MQTT device will have a state topic to publish state changes. If these messages are published with the RETAIN flag, the MQTT light will receive an instant state update after subscription and will start with the correct state. Otherwise, the initial state of the light will be off.
|
||||
|
||||
When a state topic is not available, the light will work in optimistic mode. In this mode, the light will immediately change state after every command. Otherwise, the light will wait for state confirmation from the device (message from `state_topic`).
|
||||
|
||||
Optimistic mode can be forced, even if state topic is available. Try enabling it if the light is operating incorrectly.
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: mqtt_template
|
||||
command_topic: "home/rgb1/set"
|
||||
command_on_template: "on"
|
||||
command_off_template: "off"
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
name:
|
||||
description: The name of the light.
|
||||
required: false
|
||||
type: string
|
||||
default: MQTT Template Light
|
||||
effect_list:
|
||||
description: List of possible effects.
|
||||
required: false
|
||||
type: string list
|
||||
command_topic:
|
||||
description: The MQTT topic to publish commands to change the light’s state.
|
||||
required: true
|
||||
type: string
|
||||
state_topic:
|
||||
description: The MQTT topic subscribed to receive state updates.
|
||||
required: false
|
||||
type: string
|
||||
command_on_template:
|
||||
description: "The [template](/docs/configuration/templating/#processing-incoming-data) for *on* state changes. Available variables: `state`, `brightness`, `red`, `green`, `blue`, `white_value`, `flash`, `transition` and `effect`."
|
||||
required: true
|
||||
type: string
|
||||
command_off_template:
|
||||
description: "The [template](/docs/configuration/templating/#processing-incoming-data) for *off* state changes. Available variables: `state` and `transition`."
|
||||
required: true
|
||||
type: string
|
||||
state_template:
|
||||
description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract state from the state payload value."
|
||||
required: false
|
||||
type: string
|
||||
brightness_template:
|
||||
description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract brightness from the state payload value."
|
||||
required: false
|
||||
type: string
|
||||
red_template:
|
||||
description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract red color from the state payload value."
|
||||
required: false
|
||||
type: string
|
||||
green_template:
|
||||
description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract green color from the state payload value."
|
||||
required: false
|
||||
type: string
|
||||
blue_template:
|
||||
description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract blue color from the state payload value."
|
||||
required: false
|
||||
type: string
|
||||
color_temp_template:
|
||||
description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract color temperature from the state payload value."
|
||||
required: false
|
||||
type: string
|
||||
effect_template:
|
||||
description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract effect from the state payload value."
|
||||
required: false
|
||||
type: string
|
||||
white_value_template:
|
||||
description: "[Template](/docs/configuration/templating/#processing-incoming-data) to extract white value from the state payload value."
|
||||
required: false
|
||||
type: string
|
||||
optimistic:
|
||||
description: Flag that defines if the light works in optimistic mode.
|
||||
required: false
|
||||
type: string
|
||||
default: "`true` if no state topic or state template is defined, else `false`."
|
||||
qos:
|
||||
description: The maximum QoS level of the state topic.
|
||||
required: false
|
||||
type: integer
|
||||
default: 0
|
||||
availability_topic:
|
||||
description: The MQTT topic subscribed to receive availability (online/offline) updates.
|
||||
required: false
|
||||
type: string
|
||||
payload_available:
|
||||
description: The payload that represents the available state.
|
||||
required: false
|
||||
type: string
|
||||
default: online
|
||||
payload_not_available:
|
||||
description: The payload that represents the unavailable state.
|
||||
required: false
|
||||
type: string
|
||||
default: offline
|
||||
{% endconfiguration %}
|
||||
|
||||
<p class='note warning'>
|
||||
Make sure that your topics match exact. `some-topic/` and `some-topic` are different topics.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Comparison of light MQTT platforms %}
|
||||
|
||||
| Function | [`mqtt`](/components/light.mqtt/) | [`mqtt_json`](/components/light.mqtt_json/) | [`mqtt_template`](/components/light.mqtt_template/) |
|
||||
|-------------------|------------------------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------------------------|
|
||||
| Brightness | ✔ | ✔ | ✔ |
|
||||
| Color temperature | ✔ | ✔ | ✔ |
|
||||
| Effects | ✔ | ✔ | ✔ |
|
||||
| Flashing | ✘ | ✔ | ✔ |
|
||||
| RGB Color | ✔ | ✔ | ✔ |
|
||||
| Transitions | ✘ | ✔ | ✔ |
|
||||
| XY Color | ✔ | ✔ | ✘ |
|
||||
| HS Color | ✘ | ✔ | ✘ |
|
||||
| White Value | ✔ | ✔ | ✔ |
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
||||
In this section you find some real-life examples of how to use this light.
|
||||
|
||||
### {% linkable_title Simple string payload %}
|
||||
|
||||
For a simple string payload with the format `state,brightness,r-g-b` (e.g., `on,255,255-255-255`), add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: mqtt_template
|
||||
command_topic: "home/rgb1/set"
|
||||
state_topic: "home/rgb1/status"
|
||||
command_on_template: "{% raw %}on,{{ brightness|d }},{{ red|d }}-{{ green|d }}-{{ blue|d }}{% endraw %}"
|
||||
command_off_template: "off"
|
||||
state_template: "{% raw %}{{ value.split(',')[0] }}{% endraw %}" # must return `on` or `off`
|
||||
brightness_template: "{% raw %}{{ value.split(',')[1] }}{% endraw %}"
|
||||
red_template: "{% raw %}{{ value.split(',')[2].split('-')[0] }}{% endraw %}"
|
||||
green_template: "{% raw %}{{ value.split(',')[2].split('-')[1] }}{% endraw %}"
|
||||
blue_template: "{% raw %}{{ value.split(',')[2].split('-')[2] }}{% endraw %}"
|
||||
```
|
||||
|
||||
### {% linkable_title JSON payload %}
|
||||
|
||||
For a JSON payload with the format `{"state": "on", "brightness": 255, "color": [255, 255, 255], "effect": "rainbow"}`, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
light:
|
||||
- platform: mqtt_template
|
||||
effect_list:
|
||||
- rainbow
|
||||
- colorloop
|
||||
command_topic: "home/rgb1/set"
|
||||
state_topic: "home/rgb1/status"
|
||||
command_on_template: >{% raw %}
|
||||
{"state": "on"
|
||||
{%- if brightness is defined -%}
|
||||
, "brightness": {{ brightness }}
|
||||
{%- endif -%}
|
||||
{%- if red is defined and green is defined and blue is defined -%}
|
||||
, "color": [{{ red }}, {{ green }}, {{ blue }}]
|
||||
{%- endif -%}
|
||||
{%- if effect is defined -%}
|
||||
, "effect": "{{ effect }}"
|
||||
{%- endif -%}
|
||||
}{% endraw %}
|
||||
command_off_template: '{"state": "off"}'
|
||||
state_template: '{% raw %}{{ value_json.state }}{% endraw %}'
|
||||
brightness_template: '{% raw %}{{ value_json.brightness }}{% endraw %}'
|
||||
red_template: '{% raw %}{{ value_json.color[0] }}{% endraw %}'
|
||||
green_template: '{% raw %}{{ value_json.color[1] }}{% endraw %}'
|
||||
blue_template: '{% raw %}{{ value_json.color[2] }}{% endraw %}'
|
||||
effect_template: '{% raw %}{{ value_json.effect }}{% endraw %}'
|
||||
```
|
||||
|
||||
### {% linkable_title No brightness or color support %}
|
||||
|
||||
If you don't want brightness, color or effect support, just omit the corresponding configuration sections.
|
||||
|
16
source/_components/light.tellduslive.markdown
Normal file
@ -0,0 +1,16 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Telldus Live Light"
|
||||
description: "Instructions on how to integrate Telldus Live Lights into Home Assistant."
|
||||
date: 2016-01-17 15:49
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: telldus.png
|
||||
ha_category: Light
|
||||
featured: false
|
||||
---
|
||||
|
||||
Integrates Telldus Live Lights into Home Assistant. See the [main component](/components/tellduslive/) for configuration instructions.
|
||||
|
49
source/_components/lightwave.markdown
Normal file
@ -0,0 +1,49 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Lightwave"
|
||||
description: "Instructions on how to integrate Lightwave devices with Home Assistant."
|
||||
date: 2018-12-03 18:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: lightwave.png
|
||||
ha_category: Hub
|
||||
ha_release: 0.84
|
||||
ha_iot_class: "Assumed State"
|
||||
---
|
||||
The `lightwave` component links Home Assistant with your Lightwave WiFi link for controlling Lightwave lights and switches.
|
||||
This component uses the official API published by Lightwave on their website [https://api.lightwaverf.com/](https://api.lightwaverf.com/).
|
||||
To add your Lightwave devices into your Home Assistant installation, add the following to your `configuration.yaml` file:
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
lightwave:
|
||||
host: 192.168.1.2
|
||||
lights:
|
||||
R1D3:
|
||||
name: Wall lights
|
||||
R1D4:
|
||||
name: Ceiling lights
|
||||
switches:
|
||||
R1D2:
|
||||
name: Tree socket
|
||||
R2D1:
|
||||
name: Radio socket
|
||||
R2D2:
|
||||
name: Light socket
|
||||
R2D3:
|
||||
name: Phone socket
|
||||
R2D4:
|
||||
name: Torch socket
|
||||
```
|
||||
|
||||
Where `192.168.1.2` is the ip address of your Lightwave hub.
|
||||
Each `switch` or `light` requires an `id` and a `name`. The `id` takes the form `R#D#` where `R#` is the room number and `D#` is the device number.
|
||||
|
||||
`lights` and `switches` are optional but one of these must be present.
|
||||
|
||||
The first use of a light or switch will try to register with your Lightwave WiFi Link hub. If the hub has not been registered a message on your hub will be displayed asking you to pair the device. You have 12 seconds to push the button on your hub to accept this. Once done, you should be able to control your lights and switches via Home Assistant. This only needs to be done if the hub has not been registered.
|
||||
|
||||
The Lightwave Home Assistant component currently supports the following Lightwave devices:
|
||||
- Lightwave lights
|
||||
- Lightwave switches
|
@ -131,17 +131,6 @@ Call the service `recorder.purge` to start a purge task which deletes events and
|
||||
| `keep_days` | yes | The number of history days to keep in recorder database (defaults to the component `purge_keep_days` configuration)
|
||||
| `repack` | yes | Rewrite the entire database, possibly saving some disk space. Only supported for SQLite and requires at least as much disk space free as the database currently uses.
|
||||
|
||||
### {% linkable_title Restore State %}
|
||||
|
||||
If the `recorder` component is activated then some components support `restore_state`, which will restore the state of the entity after Home Assistant is started to the state before Home Assistant was stopped. Please make sure that you do not exclude the entities for which you want the state to be restored from your recordings. An incomplete list of components that currently support `restore_state`:
|
||||
|
||||
* [`input_boolean`](/components/input_boolean/#restore-state)
|
||||
* [`input_number`](/components/input_number/#restore-state)
|
||||
* [`input_select`](/components/input_select/#restore-state)
|
||||
* [`input_datetime`](/components/input_datetime/#restore-state)
|
||||
* [`input_text`](/components/input_text/#restore-state)
|
||||
|
||||
|
||||
## {% linkable_title Custom database engines %}
|
||||
|
||||
| Database engine | `db_url` |
|
||||
|
68
source/_components/sensor.awair.markdown
Normal file
@ -0,0 +1,68 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Awair Air Quality Monitor"
|
||||
description: "Instructions on how to setup Awair devices in Home Assistant."
|
||||
date: 2018-11-18 20:41
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: awair.jpg
|
||||
ha_category: Health
|
||||
ha_release: 0.84
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
The `awair` sensor platform will fetch data from your [Awair device(s)](https://getawair.com).
|
||||
|
||||
You will need to request access to the Awair API and obtain an access token from the Awair [Developer Console](https://developer.getawair.com/).
|
||||
|
||||
## {% linkable_title Configuring the Platform %}
|
||||
|
||||
To enable these sensors, add the following lines to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: awair
|
||||
access_token: ACCESS_TOKEN
|
||||
```
|
||||
|
||||
The Awair API has stringent usage quotas. The API method to discover devices in your account is
|
||||
limited to only 6 calls per 24 hours. If you find that you've exceeded this quota, you may optionally
|
||||
append device information to your configuration to bypass this call:
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: awair
|
||||
access_token: ACCESS_TOKEN
|
||||
devices:
|
||||
- uuid: UUID
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
access_token:
|
||||
description: The access token for the Awair API.
|
||||
required: true
|
||||
type: string
|
||||
devices:
|
||||
description: An optional list to manually configure devices rather than relying upon API discovery.
|
||||
required: false
|
||||
type: list
|
||||
keys:
|
||||
uuid:
|
||||
description: UUID of the Awair sensor to monitor.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Available Sensors %}
|
||||
|
||||
The platform will fetch all available sensors from each Awair device linked to your account. Supported sensors:
|
||||
|
||||
* Temperature
|
||||
* Humidity
|
||||
* CO2
|
||||
* VOC
|
||||
* Dust, PM2.5, PM10: varies according to Awair model
|
||||
|
||||
This platform refreshes at an interval based on a 300 API call per-day quota, and the number of devices you have configured.
|
81
source/_components/sensor.entur_public_transport.markdown
Normal file
@ -0,0 +1,81 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Entur public transport"
|
||||
description: "Instructions for how to set up monitoring of public transport departures in Norway."
|
||||
date: 2018-10-09 17:15
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: entur.svg
|
||||
ha_category: Transport
|
||||
ha_release: 0.84
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
The `entur_public_transport` sensor gives real-time departure information for the next two departures from any bus stop, car ferry quay, train station, airport and person ferries quay in Norway.
|
||||
|
||||
For each stop place given in the configuration, a sensor will be mounted for that stop place. It will give remaining minutes until the nearest departure in the state, but also next departure in the attributes. Information about if the departure is monitored in real-time or is from scheduled times, and how many minutes there is in delays, are included as well.
|
||||
|
||||
Real-time data is fetched from [Entur](https://www.entur.org). Entur is a service which collects and delivers information about all public transport available in Norway under an [open source license](https://data.norge.no/nlod/no).
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: entur_public_transport
|
||||
stop_ids:
|
||||
- 'STOP_ID_1'
|
||||
- 'STOP_ID_2'
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
stop_ids:
|
||||
description: List of stop places or platforms to monitor departure times from.
|
||||
required: true
|
||||
type: list
|
||||
name:
|
||||
description: Override parts of the sensor name.
|
||||
required: false
|
||||
type: string
|
||||
default: Entur
|
||||
expand_platforms:
|
||||
description: If additional sensors should be created for each platform under a stop place.
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
show_on_map:
|
||||
description: If platform locations should be added to the sensor, and the map.
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Example usage %}
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: entur_public_transport
|
||||
name: Transport
|
||||
expand_platforms: true
|
||||
show_on_map: true
|
||||
stop_ids:
|
||||
- 'NSR:StopPlace:548' # Bergen train station
|
||||
- 'NSR:StopPlace:737' # Trondheim airport
|
||||
- 'NSR:StopPlace:5850' # Grorud T bus stop
|
||||
- 'NSR:StopPlace:58652' # Mortavika ferry
|
||||
- 'NSR:StopPlace:27639' # Sør-Hidle quay
|
||||
- 'NSR:Quay:48550' # Fiskepiren bus stop platform 1
|
||||
```
|
||||
|
||||
## {% linkable_title Obtaining a stop id %}
|
||||
|
||||
[Entur's travel planer](https://en-tur.no) has a map of all stops used in Norway. Use the map to find the stops you're interested in. When you have found one of your stops, click on it.
|
||||
|
||||
Now the web browser should contain an URL with the id in it. Such as this:
|
||||
|
||||
`https://en-tur.no/nearby-stop-place-detail?id=NSR:StopPlace:32376`
|
||||
|
||||
The stop id is the content after `id=` parameter in the url. Copy paste this into the configuration.
|
@ -23,22 +23,28 @@ project and setup as sensors:
|
||||
- Dataline Humidity - Will insert 1 humidity and 2 temperature sensors (calculated dewpoint)
|
||||
- Dataline Lux - will insert 1 light and 1 temperature sensor
|
||||
|
||||
To manually configure IHC sensors insert this section:
|
||||
To manually configure IHC sensors insert the "sensors"
|
||||
section in your IHC configuration:
|
||||
|
||||
```yaml
|
||||
sensor:
|
||||
- platform: ihc
|
||||
ihc:
|
||||
- url: 'http://192.168.1.3'
|
||||
username: YOUR_USERNAME2
|
||||
password: YOUR_PASSWORD2
|
||||
info: true
|
||||
sensors:
|
||||
- id: 12345
|
||||
name: 'mysensor'
|
||||
name: Temperatur_living_room
|
||||
unit_of_measurement: '°C'
|
||||
- id: 12346
|
||||
note: Floor and wall temp.
|
||||
position: On wall between windows
|
||||
- id: 23456
|
||||
...
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
sensors:
|
||||
description: List of sensors to setup manually
|
||||
description: List of sensors to setup manually.
|
||||
required: false
|
||||
type: map
|
||||
keys:
|
||||
@ -47,13 +53,21 @@ sensors:
|
||||
required: true
|
||||
type: integer
|
||||
name:
|
||||
description: The name of the component
|
||||
description: The name of the sensor.
|
||||
required: false
|
||||
type: string
|
||||
unit_of_measurement:
|
||||
description: Defines the unit of measurement of the sensor, if any.
|
||||
required: false
|
||||
type: string
|
||||
note:
|
||||
description: Descriptive note.
|
||||
required: false
|
||||
type: string
|
||||
position:
|
||||
description: Where it is placed.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
The resource id should be a IHC float resource. For more information about IHC
|
||||
|
@ -14,7 +14,8 @@ ha_iot_class: "Cloud Polling"
|
||||
|
||||
### {% linkable_title Basic Configuration %}
|
||||
|
||||
The `netatmo` sensor platform is consuming the information provided by a [Netatmo](https://www.netatmo.com) device.
|
||||
The `netatmo` sensor platform is consuming the information provided by a [Netatmo Weather Station](https://www.netatmo.com/en-us/weather/weatherstation) or a
|
||||
[Netatmo Home Coach](https://www.netatmo.com/en-us/aircare/homecoach) [Netatmo](https://www.netatmo.com) devices.
|
||||
|
||||
To enable the Netatmo sensor, you have to set up [netatmo](/components/netatmo/), this will use discovery to add your sensor.
|
||||
|
||||
|
52
source/_components/sensor.qbittorrent.markdown
Normal file
@ -0,0 +1,52 @@
|
||||
---
|
||||
layout: page
|
||||
title: "qBittorrent Sensor"
|
||||
description: "Instructions on how to integrate qBittorrent sensors within Home Assistant."
|
||||
date: 2018-11-21 00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: qbittorrent.png
|
||||
ha_category: Downloading
|
||||
ha_release: 0.84
|
||||
ha_iot_class: "Local Polling"
|
||||
---
|
||||
|
||||
The `qbittorrent` platform allows you to monitor your downloads with [qBittorrent](https://www.qbittorrent.org/) from within Home Assistant and setup automations based on the information.
|
||||
|
||||
## {% linkable_title Setup %}
|
||||
|
||||
This sensor requires the qBittorrent Web UI enabled. The [official reference](https://github.com/qbittorrent/qBittorrent/wiki#webui-related) describes how to set up the Web UI.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
To enable this sensor, add the following lines to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
sensor:
|
||||
- platform: qbittorrent
|
||||
url: 'http://<hostname>:<port>'
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
url:
|
||||
description: The URL of the Web UI of qBittorrent.
|
||||
required: true
|
||||
type: string
|
||||
name:
|
||||
description: The name to use when displaying this qBittorrent instance.
|
||||
required: false
|
||||
type: string
|
||||
username:
|
||||
description: The username of the Web UI of qBittorrent.
|
||||
required: true
|
||||
type: string
|
||||
password:
|
||||
description: The password of the Web UI of qBittorrent.
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
@ -70,7 +70,6 @@ file.
|
||||
| processor_use | |
|
||||
| process | Binary, e.g., `octave-cli` |
|
||||
| last_boot | |
|
||||
| since_last_boot | |
|
||||
|
||||
## {% linkable_title Linux specific %}
|
||||
|
||||
|
17
source/_components/sensor.waterfurnace.markdown
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
layout: page
|
||||
title: "WaterFurnace Sensors"
|
||||
description: "Instructions on how to integrate WaterFurnace Geothermal System sensors into Home Assistant."
|
||||
date: 2018-01-19 17:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: waterfurnace.png
|
||||
ha_category: Sensor
|
||||
ha_release: 0.62
|
||||
ha_iot_class: "Cloud Polling"
|
||||
---
|
||||
|
||||
Integrates WaterFurnace sensors into Home Assistant. See the [main component](/components/waterfurnace/) for configuration instructions.
|
||||
|
18
source/_components/switch.hlk_sw16.markdown
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
layout: page
|
||||
title: "HLK-SW16 Relay Module"
|
||||
description: "Instructions on how to integrate HLK-SW16 relay switches into Home Assistant."
|
||||
date: 2018-10-29 20:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: hlktech.jpg
|
||||
ha_category: Switch
|
||||
ha_release: 0.84
|
||||
ha_iot_class: "Local Push"
|
||||
---
|
||||
|
||||
See the [HLK-SW16 main component](/components/hlk_sw16/) for configuration instructions.
|
||||
|
||||
The HLK-SW16 is a simple 16 port relay switch.
|
@ -24,17 +24,18 @@ project and setup as switch devices:
|
||||
- Mobile wireless relay
|
||||
- Dataline plug outlet
|
||||
|
||||
To manually configure IHC switches insert this section in your configuration:
|
||||
To manually configure IHC switches insert the "switches" section in your
|
||||
IHC configuration:
|
||||
|
||||
```yaml
|
||||
switch:
|
||||
- platform: ihc
|
||||
auto_setup: True
|
||||
ihc:
|
||||
- url: 'http://192.168.1.3'
|
||||
username: YOUR_USERNAME
|
||||
password: YOUR_PASSWORD
|
||||
info: true
|
||||
switches:
|
||||
- id: 12345
|
||||
name: myswitch
|
||||
- id: 12346
|
||||
....
|
||||
```
|
||||
|
||||
{% configuration %}
|
||||
@ -51,6 +52,14 @@ switches:
|
||||
description: The name of the component
|
||||
required: false
|
||||
type: string
|
||||
note:
|
||||
description: Descriptive note.
|
||||
required: false
|
||||
type: string
|
||||
position:
|
||||
description: Where it is placed.
|
||||
required: false
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
The resource id should be a boolean resource (On/Off).
|
||||
|
18
source/_components/switch.lightwave.markdown
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Lightwave Switch"
|
||||
description: "Instructions on how to integrate Lightwave Switches with Home Assistant."
|
||||
date: 2018-12-05 18:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: lightwave.png
|
||||
ha_category: Switch
|
||||
ha_release: 0.84
|
||||
ha_iot_class: "Assumed State"
|
||||
---
|
||||
The `lightwave` switch platform integrates your Lightwave switches into Home Assistant.
|
||||
<p class='note'>
|
||||
Configuration details for the Lightwave platform can be found on the main [Lightwave component](/components/lightwave/) page.
|
||||
</p>
|
@ -1,16 +0,0 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Volvo On Call Switch"
|
||||
description: "Instructions for how to integrate Volvo On Call into Home Assistant."
|
||||
date: 2016-10-02 17:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: volvo.png
|
||||
ha_category: Car
|
||||
ha_release: "0.30"
|
||||
---
|
||||
|
||||
|
||||
Integrates Volvo on Call heater switch into Home Assistant. See the [main component](/components/volvooncall/) for configuration instructions.
|
@ -64,6 +64,10 @@ locks:
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
default_lock_code:
|
||||
description: Code that will be used to lock or unlock, if none is supplied.
|
||||
required: false
|
||||
type: string
|
||||
thermometers:
|
||||
description: Set to `true` to show thermometers, `false` to disable.
|
||||
required: false
|
||||
|
@ -11,6 +11,12 @@ logo: volvo.png
|
||||
ha_category: Car
|
||||
ha_release: 0.39
|
||||
ha_iot_class: "Cloud Polling"
|
||||
redirect_from:
|
||||
- /components/binary_sensor.volvooncall/
|
||||
- /components/lock.volvooncall/
|
||||
- /components/sensor.volvooncall/
|
||||
- /components/switch.volvooncall/
|
||||
- /components/device_tracker.volvooncall/
|
||||
---
|
||||
|
||||
The `volvooncall` component offers integration with the [Volvo On Call](http://www.volvocars.com/intl/own/connectivity/volvo-on-call) cloud service and offers presence detection as well as sensors such as odometer and fuel level.
|
||||
@ -56,11 +62,49 @@ volvooncall:
|
||||
name:
|
||||
abc123: 'Batmobile'
|
||||
resources:
|
||||
- doors
|
||||
- odometer
|
||||
- lock
|
||||
- heater
|
||||
```
|
||||
|
||||
Currently available resources:
|
||||
- `position`
|
||||
- `lock`
|
||||
- `heater`
|
||||
- `odometer`
|
||||
- `trip_meter1`
|
||||
- `trip_meter2`
|
||||
- `fuel_amount`
|
||||
- `fuel_amount_level`
|
||||
- `average_fuel_consumption`
|
||||
- `distance_to_empty`
|
||||
- `washer_fluid_level`
|
||||
- `brake_fluid`
|
||||
- `service_warning_status`
|
||||
- `bulb_failures`
|
||||
- `battery_range`
|
||||
- `battery_level`
|
||||
- `time_to_fully_charged`
|
||||
- `battery_charge_status`
|
||||
- `engine_start`
|
||||
- `last_trip`
|
||||
- `is_engine_running`
|
||||
- `doors.hood_open`
|
||||
- `doors.front_left_door_open`
|
||||
- `doors.front_right_door_open`
|
||||
- `doors.rear_left_door_open`
|
||||
- `doors.rear_right_door_open`
|
||||
- `windows.front_left_window_open`
|
||||
- `windows.front_right_window_open`
|
||||
- `windows.rear_left_window_open`
|
||||
- `windows.rear_right_window_open`
|
||||
- `tyre_pressure.front_left_tyre_pressure`
|
||||
- `tyre_pressure.front_right_tyre_pressure`
|
||||
- `tyre_pressure.rear_left_tyre_pressure`
|
||||
- `tyre_pressure.rear_right_tyre_pressure`
|
||||
- `any_door_open`
|
||||
- `any_window_open`
|
||||
|
||||
{% configuration %}
|
||||
username:
|
||||
description: The username associated with your Volvo On Call account.
|
||||
@ -78,6 +122,11 @@ service_url:
|
||||
description: The service URL to use for Volvo On Call. Normally not necessary to specify.
|
||||
required: false
|
||||
type: string
|
||||
mutable:
|
||||
description: If set to true, include components that can make changes to the vehicle (unlock, start engine, start heater etc).
|
||||
required: false
|
||||
default: true
|
||||
type: boolean
|
||||
name:
|
||||
description: Make it possible to provide a name for the vehicles.
|
||||
required: false
|
||||
|
@ -25,6 +25,13 @@ The sensors provided include:
|
||||
- Current Humidity Setpoint
|
||||
- Total system power (in Watts)
|
||||
- Furnace Mode
|
||||
- Compressor Power
|
||||
- Fan Power
|
||||
- Aux Power
|
||||
- Loop Pump Power
|
||||
- Compressor Speed
|
||||
- Fan Speed
|
||||
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
|
65
source/_components/wunderlist.markdown
Normal file
@ -0,0 +1,65 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Wunderlist"
|
||||
description: "Instructions on how to use Wunderlist with Home Assistant."
|
||||
date: 2018-10-09 10:10
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
logo: wunderlist.png
|
||||
ha_category: Calendar
|
||||
ha_release: 0.84
|
||||
---
|
||||
|
||||
The `wunderlist` component allows you to create tasks in [Wunderlist](https://www.wunderlist.com) from Home Assistant. You can use this if you want Home Assistant to send you a task that
|
||||
you should not forget, e.g., Congratulate Dani.
|
||||
|
||||
## {% linkable_title Setup %}
|
||||
|
||||
Wunderlist API uses OAuth2, so you need to obtain a `client_id` and an `access_token`.
|
||||
There are two ways:
|
||||
|
||||
|
||||
1. Go to the [Wunderlist IOT app page](https://wunderlist-iot.herokuapp.com), login with your Wunderlist account and accept the application permissions.
|
||||
It will print for you the `client_id` and the `access_token`.
|
||||
2. Or you can create your own application and `access_token` following the instructions at the [Wunderlist developer page](https://developer.wunderlist.com/).
|
||||
|
||||
Store the parameters in your Home Assistant configuration:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
|
||||
wunderlist:
|
||||
client_id: YOUR_CLIENT_ID
|
||||
access_token: YOUR_ACCESS_TOKEN
|
||||
|
||||
```
|
||||
|
||||
|
||||
{% configuration %}
|
||||
client_id:
|
||||
description: The ID of your Wunderlist application (OAuth2).
|
||||
required: true
|
||||
type: string
|
||||
|
||||
access_token:
|
||||
description: A token for your Wunderlist personal account (For the ``client_id`` application).
|
||||
required: true
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Creating tasks with service `create_task`%}
|
||||
|
||||
This component offers a new service domain `wunderlist` with the service `create_task`.
|
||||
You can call this service with the argument `list_name` the argument `name` and the optional parameter `starred` to create a new task.
|
||||
|
||||
|
||||
|Service data attribute | Optional | Description | Example |
|
||||
|-----------------------|----------|-------------|---------|
|
||||
| list_name | no | Name of the list | "Shopping list"
|
||||
| name | no | Name of the new task | "Spanish Jam" |
|
||||
| starred | yes | Create the task starred or not | false |
|
||||
|
||||
## {% linkable_title Disclaimer %}
|
||||
This product uses the Wunderlist API but is not endorsed or certified by Wunderlist.
|
@ -18,7 +18,7 @@ The `xiaomi_aqara` component allows you to integrate [Xiaomi](http://www.mi.com/
|
||||
|
||||
#### {% linkable_title Supported Devices %}
|
||||
|
||||
- Xiaomi Aqara Gateway (lumi.gateway.v2, lumi.gateway.v3)
|
||||
- Xiaomi Mijia Gateway (lumi.gateway.v2, lumi.gateway.v3)
|
||||
- Aqara Air Conditioning Companion (lumi.acpartner.v3)
|
||||
- Aqara Intelligent Door Lock (lock.aq1)
|
||||
- Temperature and Humidity Sensor (1st and 2nd generation)
|
||||
@ -45,13 +45,13 @@ The `xiaomi_aqara` component allows you to integrate [Xiaomi](http://www.mi.com/
|
||||
|
||||
#### {% linkable_title Unsupported Devices %}
|
||||
|
||||
- Xiaomi Aqara Gateway (lumi.gateway.aqhm01), as it is not possible to activate dev mode in the Mi Home App.
|
||||
- Gateway Radio
|
||||
- Gateway Button
|
||||
- Xiaomi Mi Air Conditioning Companion (lumi.acpartner.v2)
|
||||
- Aqara Intelligent Air Conditioner Controller Hub (lumi.acpartner.v1)
|
||||
- Decoupled mode of the Aqara Wall Switches (Single & Double)
|
||||
- Additional alarm events of the Gas and Smoke Detector: Analog alarm, battery fault alarm (smoke detector only), sensitivity fault alarm, I2C communication failure
|
||||
- Aqara HomeKit Gateway version(v3), as it is not supported by the Mi Home App, only the Aqara Home App.
|
||||
|
||||
## {% linkable_title Setup %}
|
||||
|
||||
|
@ -94,6 +94,9 @@ Home Assistant adds extensions to allow templates to access all of the current s
|
||||
- Filter `regex_findall_index(string, find='', index=0, ignorecase=False)` will find all regex matches of find in string and return the match at index (findall returns an array of matches).
|
||||
- Filter `bitwise_and(value_one, value_two)` perform a bitwise and(&) operation with two values.
|
||||
- Filter `bitwise_or(value_one, value_two)` perform a bitwise or(\|) operation with two values.
|
||||
- Filter `base64_encode` convert given value to a Base64 encoded string.
|
||||
- Filter `base64_decode` convert given Base64 value to a regulary string.
|
||||
- Filter `ordinal` convert a number into a speakable ordinal text.
|
||||
|
||||
[strp-format]: https://docs.python.org/3.6/library/datetime.html#strftime-and-strptime-behavior
|
||||
|
||||
|
@ -7,11 +7,20 @@
|
||||
<ul class='divided sidebar-menu'>
|
||||
<li>{% active_link /lovelace/ Introduction %}</li>
|
||||
<li>{% active_link /lovelace/changelog/ Changelog %}</li>
|
||||
<li>{% active_link /lovelace/views/ Views %}</li>
|
||||
<li>{% active_link /lovelace/tips/ Tips and Tricks %}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class='section'>
|
||||
<h1 class="title delta">Advanced</h1>
|
||||
<ul class='divided sidebar-menu'>
|
||||
<li>{% active_link /lovelace/how-it-works/ How it works %}</li>
|
||||
<li>{% active_link /lovelace/yaml-mode/ YAML mode %}</li>
|
||||
<li>{% active_link /lovelace/views/ Views %}</li>
|
||||
<li><a href='https://developers.home-assistant.io/docs/en/lovelace_custom_card.html'>Custom Cards (for developers) <i icon='icon-external-link'></i></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class='section'>
|
||||
<h1 class="title delta">Cards</h1>
|
||||
<ul class='divided sidebar-menu'>
|
||||
|
@ -31,9 +31,9 @@ entity:
|
||||
required: true
|
||||
description: "Entity ID of `alarm_control_panel` domain"
|
||||
type: string
|
||||
title:
|
||||
name:
|
||||
required: false
|
||||
description: Title of Alarm Panel
|
||||
description: Overwrites Friendly Name
|
||||
type: string
|
||||
default: Current State of Alarm Entity
|
||||
states:
|
||||
@ -58,7 +58,7 @@ Title Example:
|
||||
|
||||
```yaml
|
||||
- type: alarm-panel
|
||||
title: House Alarm
|
||||
name: House Alarm
|
||||
entity: alarm_control_panel.alarm
|
||||
```
|
||||
|
||||
@ -71,7 +71,7 @@ Define the State List:
|
||||
|
||||
```yaml
|
||||
- type: alarm-panel
|
||||
title: House Alarm
|
||||
name: House Alarm
|
||||
entity: alarm_control_panel.alarm
|
||||
states:
|
||||
- arm_home
|
||||
|
@ -61,6 +61,10 @@ secondary_info:
|
||||
required: false
|
||||
description: "Show additional info. Values: `entity-id`, `last-changed`."
|
||||
type: string
|
||||
format:
|
||||
required: false
|
||||
description: "How the state should be formatted. Currently only used for timestamp sensors. Valid values are: `relative`, `total`, `date`, `time` and `datetime`."
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Special Row Elements %}
|
||||
|
@ -47,23 +47,54 @@ icon:
|
||||
default: Entity Domain Icon
|
||||
tap_action:
|
||||
required: false
|
||||
description: "Set to `toggle` or `call-service` for direct actions."
|
||||
description: Action to take on tap
|
||||
type: object
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
|
||||
type: string
|
||||
default: more-info
|
||||
hold_action:
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: Action to perform when clicked-and-held (e.g., `more-info`, `toggle`, `call-service`).
|
||||
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
service:
|
||||
service:
|
||||
required: false
|
||||
description: "For `call-service`, e.g., `media_player.media_play_pause`"
|
||||
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
service_data:
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: The service data to use.
|
||||
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
hold_action:
|
||||
required: false
|
||||
description: Action to take on tap-and-hold
|
||||
type: object
|
||||
default: "entity_id: entity_id"
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
|
||||
type: string
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
theme:
|
||||
required: false
|
||||
description: "Set to any theme within `themes.yaml`"
|
||||
@ -77,9 +108,12 @@ Title and Script Service Example:
|
||||
```yaml
|
||||
- type: entity-button
|
||||
name: Turn Off Lights
|
||||
tap_action: call-service
|
||||
entity: script.turn_off_lights
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: script.turn_on
|
||||
service_data:
|
||||
entity_id: script.turn_off_lights
|
||||
entity: script.turn_off_lights
|
||||
```
|
||||
|
||||
<p class='img'>
|
||||
|
@ -31,10 +31,11 @@ entity:
|
||||
required: true
|
||||
description: "Entity id to show"
|
||||
type: string
|
||||
title:
|
||||
name:
|
||||
required: false
|
||||
description: Title of Gauge Data
|
||||
description: Name of Gauge Entity
|
||||
type: string
|
||||
default: Entity Name
|
||||
unit:
|
||||
required: false
|
||||
description: Unit of Measurement given to data
|
||||
|
@ -69,23 +69,54 @@ icon:
|
||||
type: string
|
||||
tap_action:
|
||||
required: false
|
||||
description: "Set to `toggle` or `call-service` for direct actions."
|
||||
description: Action to take on tap
|
||||
type: object
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
|
||||
type: string
|
||||
default: more-info
|
||||
hold_action:
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: Action to perform when clicked-and-held (e.g., `more-info`, `toggle`, `call-service`).
|
||||
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
service:
|
||||
service:
|
||||
required: false
|
||||
description: "For `call-service`, e.g., `media_player.media_play_pause`"
|
||||
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
service_data:
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: The service data to use.
|
||||
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
hold_action:
|
||||
required: false
|
||||
description: Action to take on tap-and-hold
|
||||
type: object
|
||||
default: "entity_id: entity_id"
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
|
||||
type: string
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
@ -71,26 +71,54 @@ entity:
|
||||
type: string
|
||||
tap_action:
|
||||
required: false
|
||||
description: more-info, toggle, navigate, call-service
|
||||
description: Action to take on tap
|
||||
type: object
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
|
||||
type: string
|
||||
default: more-info
|
||||
hold_action:
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: Action to perform when clicked-and-held (e.g., `more-info`, `toggle`, `navigate`, `call-service`).
|
||||
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
navigation_path:
|
||||
service:
|
||||
required: false
|
||||
description: Url path to navigate to (e.g., `/lovelace/1`)
|
||||
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
service:
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service to call (e.g., `light.turn_on`)"
|
||||
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
service_data:
|
||||
default: none
|
||||
hold_action:
|
||||
required: false
|
||||
description: The service data to use.
|
||||
description: Action to take on tap-and-hold
|
||||
type: object
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
|
||||
type: string
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
style:
|
||||
required: true
|
||||
description: Position and style the element using CSS.
|
||||
@ -119,26 +147,54 @@ suffix:
|
||||
type: string
|
||||
tap_action:
|
||||
required: false
|
||||
description: more-info, toggle, navigate, call-service
|
||||
description: Action to take on tap
|
||||
type: object
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
|
||||
type: string
|
||||
default: more-info
|
||||
hold_action:
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: Action to perform when clicked-and-held (e.g., `more-info`, `toggle`, `navigate`, `call-service`).
|
||||
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
navigation_path:
|
||||
service:
|
||||
required: false
|
||||
description: Url path to navigate to (e.g., `/lovelace/1`)
|
||||
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
service:
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service to call (e.g., `light.turn_on`)"
|
||||
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
service_data:
|
||||
default: none
|
||||
hold_action:
|
||||
required: false
|
||||
description: The service data to use.
|
||||
description: Action to take on tap-and-hold
|
||||
type: object
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
|
||||
type: string
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
style:
|
||||
required: true
|
||||
description: Position and style the element using CSS.
|
||||
@ -181,7 +237,7 @@ type:
|
||||
type: string
|
||||
icon:
|
||||
required: true
|
||||
description: Icon to display (e.g., `mdi:home`)
|
||||
description: "Icon to display (e.g., `mdi:home`)"
|
||||
type: string
|
||||
title:
|
||||
required: false
|
||||
@ -193,26 +249,54 @@ entity:
|
||||
type: string
|
||||
tap_action:
|
||||
required: false
|
||||
description: more-info, toggle, navigate, call-service
|
||||
description: Action to take on tap
|
||||
type: object
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
|
||||
type: string
|
||||
default: more-info
|
||||
hold_action:
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: Action to perform when clicked-and-held (e.g., `more-info`, `toggle`, `navigate`, `call-service`).
|
||||
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
navigation_path:
|
||||
service:
|
||||
required: false
|
||||
description: Url path to navigate to (e.g., `/lovelace/1`)
|
||||
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
service:
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service to call (e.g., `light.turn_on`)"
|
||||
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
service_data:
|
||||
default: none
|
||||
hold_action:
|
||||
required: false
|
||||
description: The service data to use.
|
||||
description: Action to take on tap-and-hold
|
||||
type: object
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
|
||||
type: string
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
style:
|
||||
required: true
|
||||
description: Position and style the element using CSS.
|
||||
@ -233,26 +317,54 @@ entity:
|
||||
type: string
|
||||
tap_action:
|
||||
required: false
|
||||
description: none, more-info, toggle, navigate, call-service
|
||||
description: Action to take on tap
|
||||
type: object
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
|
||||
type: string
|
||||
default: more-info
|
||||
hold_action:
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: Action to perform when clicked-and-held (e.g., `more-info`, `toggle`, `navigate`, `call-service`).
|
||||
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
navigation_path:
|
||||
service:
|
||||
required: false
|
||||
description: Url path to navigate to (e.g., `/lovelace/1`)
|
||||
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
service:
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service to call (e.g., `light.turn_on`)"
|
||||
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
service_data:
|
||||
default: none
|
||||
hold_action:
|
||||
required: false
|
||||
description: The service data to use.
|
||||
description: Action to take on tap-and-hold
|
||||
type: object
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
|
||||
type: string
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
image:
|
||||
required: false
|
||||
description: The image to display.
|
||||
@ -334,13 +446,14 @@ state_filter:
|
||||
## {% linkable_title How to use click-and-hold %}
|
||||
|
||||
If the option `hold_action` is specified, that action will be performed when the entity is clicked and held for half a second or more.
|
||||
Please note that the `tap_action` and `hold_action` share variables for `navigation_path`, `service` and `service_data`. It is therefore not possible to, e.g., call two different services when clicked and when held.
|
||||
|
||||
```yaml
|
||||
tap_action: toggle
|
||||
hold_action: call-service
|
||||
service: light.turn_on
|
||||
service_data:
|
||||
tap_action:
|
||||
action: toggle
|
||||
hold_action:
|
||||
action: call-service
|
||||
service: light.turn_on
|
||||
service_data:
|
||||
entity_id: light.bed_light
|
||||
brightness_pct: 100
|
||||
```
|
||||
@ -352,13 +465,15 @@ service_data:
|
||||
image: /local/floorplan.png
|
||||
elements:
|
||||
- type: state-icon
|
||||
tap_action: toggle
|
||||
tap_action:
|
||||
action: toggle
|
||||
entity: light.ceiling_lights
|
||||
style:
|
||||
top: 47%
|
||||
left: 42%
|
||||
- type: state-icon
|
||||
tap_action: toggle
|
||||
tap_action:
|
||||
action: toggle
|
||||
entity: light.kitchen_lights
|
||||
style:
|
||||
top: 30%
|
||||
@ -378,7 +493,8 @@ service_data:
|
||||
entity_id: group.all_lights
|
||||
- type: icon
|
||||
icon: mdi:home
|
||||
tap_action: navigate
|
||||
tap_action:
|
||||
action: navigate
|
||||
navigation_path: /lovelace/0
|
||||
style:
|
||||
top: 10%
|
||||
@ -394,7 +510,8 @@ service_data:
|
||||
# state_image & state_filter - toggle on click
|
||||
- type: image
|
||||
entity: light.living_room
|
||||
tap_action: toggle
|
||||
tap_action:
|
||||
action: toggle
|
||||
image: /local/living_room.png
|
||||
state_image:
|
||||
"off": /local/living_room_off.png
|
||||
@ -418,8 +535,11 @@ service_data:
|
||||
# Single image, state_filter - call-service on click
|
||||
- type: image
|
||||
entity: media_player.living_room
|
||||
tap_action: call-service
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: media_player.media_play_pause
|
||||
service_data:
|
||||
entity_id: media_player.living_room
|
||||
image: /local/television.jpg
|
||||
filter: brightness(5%)
|
||||
state_filter:
|
||||
|
@ -58,12 +58,52 @@ show_state:
|
||||
default: true
|
||||
tap_action:
|
||||
required: false
|
||||
description: "Set to `toggle` for turning entity on/off."
|
||||
description: Action to take on tap
|
||||
type: object
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
|
||||
type: string
|
||||
default: more-info
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
hold_action:
|
||||
required: false
|
||||
description: Action to perform when clicked-and-held (e.g., `more-info`, `toggle`).
|
||||
description: Action to take on tap-and-hold
|
||||
type: object
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
|
||||
type: string
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
{% endconfiguration %}
|
||||
|
@ -30,10 +30,6 @@ title:
|
||||
required: false
|
||||
description: The card title.
|
||||
type: string
|
||||
navigation_path:
|
||||
required: false
|
||||
description: Navigate to path on tap action.
|
||||
type: string
|
||||
image:
|
||||
required: false
|
||||
description: Background image URL.
|
||||
@ -59,6 +55,56 @@ entity:
|
||||
required: false
|
||||
description: Entity to use for `state_image`.
|
||||
type: string
|
||||
tap_action:
|
||||
required: false
|
||||
description: Action to take on tap
|
||||
type: object
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
|
||||
type: string
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
hold_action:
|
||||
required: false
|
||||
description: Action to take on tap-and-hold
|
||||
type: object
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
|
||||
type: string
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Options For Entities %}
|
||||
|
@ -26,18 +26,56 @@ image:
|
||||
required: true
|
||||
description: The URL of an image.
|
||||
type: string
|
||||
navigation_path:
|
||||
tap_action:
|
||||
required: false
|
||||
description: Path of URL to navigate to.
|
||||
type: string
|
||||
service:
|
||||
required: false
|
||||
description: The service to call.
|
||||
type: string
|
||||
service_data:
|
||||
required: false
|
||||
description: The service data.
|
||||
description: Action to take on tap
|
||||
type: object
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
|
||||
type: string
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
hold_action:
|
||||
required: false
|
||||
description: Action to take on tap-and-hold
|
||||
type: object
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
|
||||
type: string
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: "Path to navigate to (e.g. `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g. `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service data to include (e.g. `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Examples %}
|
||||
|
@ -26,6 +26,11 @@ entity:
|
||||
required: true
|
||||
description: "Entity id of `plant` domain"
|
||||
type: string
|
||||
name:
|
||||
required: false
|
||||
description: Overwrites Friendly Name
|
||||
type: string
|
||||
default: Entity Name
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Example %}
|
||||
|
@ -26,6 +26,11 @@ entity:
|
||||
required: true
|
||||
description: Entity id of `climate` domain
|
||||
type: string
|
||||
name:
|
||||
required: false
|
||||
description: Overwrites friendly name.
|
||||
type: string
|
||||
default: Name of Entity.
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title Example %}
|
||||
|
@ -161,7 +161,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
|
||||
|
||||
## {% linkable_title Breaking Changes %}
|
||||
|
||||
- OwnTracks is now using config entries. To set it up, go to the configuration panel and configure it there. When configured and MQTT is available, will automatically listen there too. ([@kirichkov] - [#17034]) ([@balloob] - [#18759]) ([owntracks docs]) (breaking change)
|
||||
- OwnTracks is now using config entries. To set it up, go to the configuration panel and configure it there. When configured and MQTT is available, will automatically listen there too. **You must remove the old device tracker before upgrading** ([@kirichkov] - [#17034]) ([@balloob] - [#18759]) ([owntracks docs]) (breaking change)
|
||||
- Removes melissa sensors (they should be state attributes as implemented in #18201) ([@kennedyshead] - [#18214]) ([melissa docs]) (breaking change)
|
||||
- Enable config flow for Luftdaten ([@fabaff] - [#17700]) ([luftdaten docs]) ([sensor.luftdaten docs]) (breaking change)
|
||||
- Update Neato states, actions and alerts based on Neato docs. The vacuum status attribute has new alerts and updated actions. ([@dshokouhi] - [#17353]) ([neato docs]) (breaking change)
|
||||
|
667
source/_posts/2018-12-12-release-84.markdown
Normal file
@ -0,0 +1,667 @@
|
||||
---
|
||||
layout: post
|
||||
title: "0.84: Cloud webhooks, Wunderlist and USGS Earth Quakes"
|
||||
description: "Final release of the year. Full of fixes and great little things."
|
||||
date: 2018-12-12 00:01:00
|
||||
date_formatted: "December 12, 2018"
|
||||
author: Paulus Schoutsen
|
||||
author_twitter: balloob
|
||||
comments: true
|
||||
categories: Release-Notes
|
||||
og_image: /images/blog/2018-12-release-84/components.png
|
||||
---
|
||||
|
||||
<a href='/components/#version/0.84'><img src='/images/blog/2018-12-release-84/components.png' style='border: 0;box-shadow: none;'></a>
|
||||
|
||||
Time for the last release of the year. We were hoping to end the year with an enourmous bang and make Lovelace the default UI. However, in our final stretch we realized that to get to the experience that we wanted, we had to make more last minute changes than we felt comfortable making. If you are a Lovelace tester, please read the section for existing testers below.
|
||||
|
||||
We want to wish everybody happy holidays and want to thank all our contributors to the code, the documentation and all the ones in the chat for making up our amazing community. We had a great year with a lot of accomplishments and are looking forward to see all the great stuff you all come up with in 2019. Cheers! 🥂
|
||||
|
||||
Paulus
|
||||
|
||||
_We will skip our next release in our bi-weekly release cycle and plan to be back on January 9. See you then!_
|
||||
|
||||
## {% linkable_title Cloud webhooks %}
|
||||
|
||||
This release introduces a new Home Assistant Cloud feature available: cloud webhooks. With cloud webhooks you can enable any webhook-enabled integration or automation in Home Assistant to be accessible via a unique URL in the cloud without having to open up a port on your router.
|
||||
|
||||
This means that you can send any data back to your instance for OwnTracks, IFTTT or an automation with a webhook-trigger. Check the cloud page in the configuration panel to get started or read more about the new functionality at [the Nabu Casa website](https://www.nabucasa.com/config/webhooks/).
|
||||
|
||||
## {% linkable_title Improved service calling %}
|
||||
|
||||
We have improved how we call services with better validation checks. This means that if you have an automation or a script that sends invalid data, we will now stop the execution and be better able to point out where your incorrect calls are coming from.
|
||||
|
||||
## {% linkable_title For existing Lovelace testers %}
|
||||
|
||||
If you are currently testing Lovelace, please read the notes thoroughly as a lot has changed. First, we now have now three different Lovelace modes: auto-generated, storage, and yaml (the old way of doing Lovelace). The UI editor will be limited to the storage mode, in which we control how the config is stored.
|
||||
|
||||
So if you were using Lovelace before 0.84, you now have two options. Option one is to use the new storage mode and import your existing file. You can do this by opening the Lovelace UI and click on Configure UI, this will prompt you to change to storage mode. This will unlock a new option in the menu called "raw config editor". Open this and paste the content of your `ui-lovelace.yaml` file into it and click save. Note that YAML comments are not persisted.
|
||||
|
||||
If you want to continue managing a YAML file, [check here how to enable the YAML mode](/lovelace/yaml-mode/). The file `ui-lovelace.yaml` will now follow the same options as `configuration.yaml`. This means that the Lovelace YAML config is now parsed with YAML 1.1 instead of YAML 1.2. Major change is that you need to make sure that you wrap `on` and `off` with quotes in your configs!
|
||||
|
||||
We have also aligned the configuration of all the cards, causing breaking changes. Changes are especially focused around how we define actions for short and long presses. See [the docs][/lovelace/] for more info.
|
||||
|
||||
Editor UI is now further processed. You can manage your Lovelace UI without leaving your browser! It is possible to add, edit and delete views. It is possible to add, edit, move and delete cards, including custom cards!
|
||||
|
||||
## {% linkable_title New Platforms %}
|
||||
|
||||
- Refactor ZHA ([@dmulcahey] - [#18629]) ([zha docs]) ([binary_sensor.zha docs]) ([fan.zha docs]) ([light.zha docs]) ([sensor.zha docs]) ([switch.zha docs]) (new-platform)
|
||||
- Add Awair sensor platform ([@ahayworth] - [#18570]) ([sensor.awair docs]) (new-platform)
|
||||
- Allow managing cloud webhook ([@balloob] - [#18672]) ([cloud docs]) (new-platform)
|
||||
- U.S. Geological Survey Earthquake Hazards Program Feed platform ([@exxamalte] - [#18207]) ([geo_location docs]) (new-platform)
|
||||
- Mqtt light refactor ([@emontnemery] - [#18227]) ([mqtt docs]) ([light.mqtt docs]) (breaking change) (new-platform)
|
||||
- Added qbittorrent sensor platform ([@eliseomartelli] - [#18618]) ([sensor.qbittorrent docs]) (new-platform)
|
||||
- Add Entur departure information sensor ([@hfurubotten] - [#17286]) ([sensor.entur_public_transport docs]) (new-platform)
|
||||
- Add lightwave components for switches and lights ([@GeoffAtHome] - [#18026]) ([lightwave docs]) ([light.lightwave docs]) ([switch.lightwave docs]) (new-platform)
|
||||
- Initial hlk-sw16 relay switch support ([@jameshilliard] - [#17855]) ([hlk_sw16 docs]) ([switch.hlk_sw16 docs]) (new-platform)
|
||||
- Initial scene support for Fibaro hubs ([@pbalogh77] - [#18779]) ([fibaro docs]) ([scene.fibaro docs]) (new-platform)
|
||||
|
||||
## {% linkable_title If you need help... %}
|
||||
|
||||
...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
|
||||
|
||||
## {% linkable_title Reporting Issues %}
|
||||
|
||||
Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template.
|
||||
|
||||
<!--more-->
|
||||
|
||||
## {% linkable_title Breaking Changes %}
|
||||
|
||||
- Support for multiple IHC controllers added. Manual IHC device configuration must be moved from platform sections to controller configuration section under the ihc component section. ([@mopolus] - [#18058]) ([ihc docs]) ([binary_sensor.ihc docs]) ([light.ihc docs]) ([switch.ihc docs]) (breaking change)
|
||||
- Lutron: Change device_state_attributes() to use lowercase snakecase (Rename 'Lutron Integration ID' to 'lutron_integration_id') ([@cdheiser] - [#18650]) ([light.lutron docs]) (breaking change)
|
||||
- Remove "since last boot" from systemmonitor sensor, use `last_boot` instead. ([@balloob] - [#18644]) ([sensor.systemmonitor docs]) (breaking change)
|
||||
- All MQTT lights are merged into a single platform: `light.mqtt` ([@emontnemery] - [#18227]) ([mqtt docs]) ([light.mqtt docs]) (breaking change) (new-platform)
|
||||
- Use a webhook to send data to push camera ([@dgomes] - [#18380]) ([camera.push docs]) (breaking change)
|
||||
- Call services directly. Automations and scripts will now stop executing when a service call fails. The `service_executed` event is no longer being fired when a service is done. ([@balloob] - [#18720]) (breaking change)
|
||||
- Fix issues with 17track.net sensor names. See PR for details. ([@bachya] - [#18860]) ([sensor.seventeentrack docs]) (breaking change)
|
||||
- rtorrent: Changed the returned states of sensor.rtorrent from `Up`/`Down`, `Downloading` and `Seeding` to `up_down`, `downloading` and `seeding` to reflect the guidelines. Hence by automations relying on the state of this sensor should be updated. ([@eliseomartelli] - [#18778]) ([sensor.rtorrent docs]) (breaking change)
|
||||
- Blink alarm control panel now inherits the name of the actual sync module rather than defaulting to blink_sync ([@fronzbot] - [#18663]) ([blink docs]) ([alarm_control_panel.blink docs]) ([binary_sensor.blink docs]) ([camera.blink docs]) ([sensor.blink docs]) (breaking change)
|
||||
- Fix toon operation mode to follow our climate standard so it will work with Google Assistant / Alexa. ([@balloob] - [#18966]) ([climate.toon docs]) (breaking change)
|
||||
- Waterfurnace: the unit parameter is removed from config. ([@sdague] - [#19040]) ([waterfurnace docs]) (breaking change)
|
||||
- RainMachine: `configuration.yaml` format has changed to add support for multiple RainMachine controllers ([@bachya] - [#18989]) ([rainmachine docs]) (breaking change)
|
||||
- Fibaro: the `id` attribute has been renamed to `fibaro_id` ([@pbalogh77] - [#19055]) ([fibaro docs]) (breaking change)
|
||||
- Remove Instapush notify platform ([@fabaff] - [#19051]) ([notify docs]) (breaking change)
|
||||
|
||||
## {% linkable_title Beta Fixes %}
|
||||
|
||||
- Revert #17745 ([@balloob] - [#19064]) ([google_assistant docs]) (beta fix)
|
||||
- Fix missing colorTemperatureInKelvin from Alexa responses ([@mikeage] - [#19069]) ([alexa docs]) (beta fix)
|
||||
- Force refresh Lovelace ([@bramkragten] - [#19073]) ([lovelace docs]) (beta fix)
|
||||
- Upgrade aiolifx to 0.6.7 ([@amelchio] - [#19077]) ([lifx docs]) (beta fix)
|
||||
- Upgrade pyatv to 0.3.12 ([@postlund] - [#19085]) ([apple_tv docs]) (beta fix)
|
||||
- Upgrade Tibber lib ([@Danielhiversen] - [#19098]) ([tibber docs]) (beta fix)
|
||||
- Bump skybellpy version to fix api issue ([@nhorvath] - [#19100]) ([skybell docs]) (beta fix)
|
||||
- Lovelace using storage ([@balloob] - [#19101]) ([frontend docs]) ([lovelace docs]) (beta fix)
|
||||
- Remove marking device tracker stale if state is stale ([@arigilder] - [#19133]) ([device_tracker docs]) (beta fix)
|
||||
- Google assistant fix target temp for *F values. ([@marchingphoenix] - [#19083]) ([google_assistant docs]) (beta fix)
|
||||
- Drop OwnTracks bad packets ([@balloob] - [#19161]) ([owntracks docs]) (beta fix)
|
||||
- Fix lovelace save ([@balloob] - [#19162]) ([lovelace docs]) (beta fix)
|
||||
- Add raw service data to event ([@balloob] - [#19163]) (beta fix)
|
||||
- Fix cloud defaults ([@balloob] - [#19172]) ([cloud docs]) (beta fix)
|
||||
- Revert PR #18602 ([@balloob] - [#19188]) ([camera.mjpeg docs]) (beta fix)
|
||||
|
||||
## {% linkable_title All changes %}
|
||||
|
||||
- Add /sbin to launchd PATH ([@andersonshatch] - [#18601])
|
||||
- Minor change to still image on mjpeg ([@nragon] - [#18602]) ([camera.mjpeg docs])
|
||||
- Cleanup BOM dependencies + add basic test + IDEA autoformat ([@nickw444] - [#18462]) ([sensor.bom docs]) ([weather.bom docs])
|
||||
- Add support for multiple IHC controllers ([@mopolus] - [#18058]) ([ihc docs]) ([binary_sensor.ihc docs]) ([light.ihc docs]) ([switch.ihc docs]) (breaking change)
|
||||
- Add support for cropping pictures in proxy camera ([@glpatcern] - [#18431]) ([camera.proxy docs])
|
||||
- Refactor ZHA ([@dmulcahey] - [#18629]) ([zha docs]) ([binary_sensor.zha docs]) ([fan.zha docs]) ([light.zha docs]) ([sensor.zha docs]) ([switch.zha docs]) (new-platform)
|
||||
- IPMA Weather Service - version bump ([@dgomes] - [#18626]) ([weather.ipma docs])
|
||||
- [Breaking Change] Cleanup Lutron light component ([@cdheiser] - [#18650]) ([light.lutron docs]) (breaking change)
|
||||
- Convert device tracker init tests to async ([@armills] - [#18640])
|
||||
- Remove since last boot from systemmonitor sensor ([@balloob] - [#18644]) ([sensor.systemmonitor docs]) (breaking change)
|
||||
- Added deviceclass timestamp constant ([@eliseomartelli] - [#18652])
|
||||
- Add save command to lovelace ([@bramkragten] - [#18655]) ([lovelace docs])
|
||||
- converted majority of effects from ifs to dict map, which makes it easier to extend in the future. Also, added LSD effect! ([@pagenoare] - [#18656]) ([light.yeelight docs])
|
||||
- Dict -> dict ([@bramkragten] - [#18665]) ([lovelace docs])
|
||||
- Reconfigure MQTT climate component if discovery info is changed ([@emontnemery] - [#18174]) ([mqtt docs]) ([binary_sensor.mqtt docs]) ([climate.mqtt docs])
|
||||
- Reconfigure MQTT alarm component if discovery info is changed ([@emontnemery] - [#18173]) ([mqtt docs]) ([alarm_control_panel.mqtt docs]) ([binary_sensor.mqtt docs])
|
||||
- Async tests for device tracker mqtt ([@armills] - [#18680])
|
||||
- Async tests for remaining device trackers ([@armills] - [#18682])
|
||||
- Async timer tests ([@armills] - [#18683])
|
||||
- Async tests for counter ([@armills] - [#18684])
|
||||
- Async tests for mqtt switch ([@armills] - [#18685])
|
||||
- Add Awair sensor platform ([@ahayworth] - [#18570]) ([sensor.awair docs]) (new-platform)
|
||||
- update mill lib, handle bad data from mill server ([@Danielhiversen] - [#18693]) ([climate.mill docs])
|
||||
- Upgrade youtube_dl to 2018.11.23 ([@fabaff] - [#18694]) ([media_extractor docs])
|
||||
- Fix false log message on CAPsMAN only devices ([@soosp] - [#18687]) ([device_tracker docs])
|
||||
- Adds SomfyContactIOSystemSensor to TaHoma ([@jensihnow] - [#18560])
|
||||
- Async device sun light trigger tests ([@armills] - [#18689])
|
||||
- Async cover template tests ([@armills] - [#18690])
|
||||
- Upgrade pysnmp to 4.4.6 ([@fabaff] - [#18695]) ([device_tracker docs]) ([sensor.snmp docs]) ([switch.snmp docs])
|
||||
- :arrow_up: Upgrades InfluxDB dependency to 5.2.0 ([@frenck] - [#18668]) ([influxdb docs]) ([sensor.influxdb docs])
|
||||
- Small refactoring of MQTT binary_sensor ([@emontnemery] - [#18674]) ([binary_sensor.mqtt docs])
|
||||
- Allow managing cloud webhook ([@balloob] - [#18672]) ([cloud docs]) (new-platform)
|
||||
- Upgrade pytest and -timeout ([@scop] - [#18722])
|
||||
- Remove some unused imports ([@scop] - [#18732])
|
||||
- Enforce permissions for Websocket API ([@balloob] - [#18719]) ([websocket_api docs])
|
||||
- remove pbkdf2 upgrade path ([@Eriner] - [#18736])
|
||||
- Reconfigure MQTT cover component if discovery info is changed ([@emontnemery] - [#18175]) ([mqtt docs]) ([binary_sensor.mqtt docs]) ([cover.mqtt docs])
|
||||
- Reconfigure MQTT fan component if discovery info is changed ([@emontnemery] - [#18177]) ([mqtt docs]) ([binary_sensor.mqtt docs]) ([fan.mqtt docs])
|
||||
- Reconfigure MQTT sensor component if discovery info is changed ([@emontnemery] - [#18178]) ([mqtt docs]) ([binary_sensor.mqtt docs]) ([sensor.mqtt docs])
|
||||
- Add zones to evohome component ([@zxdavb] - [#18428]) ([evohome docs]) ([climate.evohome docs])
|
||||
- U.S. Geological Survey Earthquake Hazards Program Feed platform ([@exxamalte] - [#18207]) ([geo_location docs]) (new-platform)
|
||||
- Geo Location platform code clean up ([@exxamalte] - [#18717]) ([geo_location docs])
|
||||
- Fix remaining issues ([@fabaff] - [#18416]) ([light.niko_home_control docs])
|
||||
- Update librouteros and re-connect to api if connection is lost ([@slackr31337] - [#18421]) ([device_tracker docs])
|
||||
- Mqtt light refactor ([@emontnemery] - [#18227]) ([mqtt docs]) ([light.mqtt docs]) (breaking change) (new-platform)
|
||||
- Supports the new Netatmo Home Coach ([@lasote] - [#18308]) ([netatmo docs]) ([sensor.netatmo docs])
|
||||
- Fix google assistant request sync service call ([@awarecan] - [#17415]) ([google_assistant docs])
|
||||
- Updated codeowners ([@fredrike] - [#18746])
|
||||
- Add unique_id for tellduslive ([@fredrike] - [#18744]) ([tellduslive docs]) ([sensor.tellduslive docs])
|
||||
- Add unique_id for Daikin entities ([@fredrike] - [#18747]) ([daikin docs]) ([climate.daikin docs]) ([sensor.daikin docs])
|
||||
- Wunderlist component ([@lasote] - [#18339]) ([wunderlist docs])
|
||||
- Fix decora_wifi residences ([@trainman419] - [#17228]) ([light.decora_wifi docs])
|
||||
- Enable Google Assistant OnOffTrait for climate devices that support them ([@bryanyork] - [#18544]) ([google_assistant docs])
|
||||
- Fix typo in log ([@anton-johansson] - [#18751])
|
||||
- Bumped simplisafe-python to 3.1.14 ([@bachya] - [#18752]) ([simplisafe docs])
|
||||
- Moved stop method and registering STOP_EVENT outside of init ([@ehendrix23] - [#18582]) ([august docs])
|
||||
- Add config entry for ZHA ([@damarco] - [#18352]) ([zha docs]) ([binary_sensor.zha docs]) ([fan.zha docs]) ([light.zha docs]) ([sensor.zha docs]) ([switch.zha docs])
|
||||
- Update lupupy version to 0.0.13 ([@majuss] - [#18754]) ([lupusec docs])
|
||||
- Replace token in camera.push with webhook ([@dgomes] - [#18380]) ([camera.push docs]) (breaking change)
|
||||
- Restore states through a JSON store instead of recorder ([@armills] - [#17270]) ([history docs])
|
||||
- Forbid float NaN in JSON ([@balloob] - [#18757]) ([http docs]) ([websocket_api docs])
|
||||
- Upgrade Adafruit-DHT to 1.4.0 (fixes #15847) ([@fabaff] - [#18614]) ([sensor.dht docs])
|
||||
- Add block after setting up component ([@ehendrix23] - [#18756])
|
||||
- Fix statistics for binary sensor ([@ehendrix23] - [#18764]) ([sensor.statistics docs])
|
||||
- Convert shopping-list clear to WebSockets ([@iantrich] - [#18769]) ([shopping_list docs])
|
||||
- Add more waterfurnace sensors ([@mdallaire] - [#18451]) ([sensor.waterfurnace docs])
|
||||
- Round average price for Tibber ([@Danielhiversen] - [#18784]) ([sensor.tibber docs])
|
||||
- Raise NotImplementedError ([@balloob] - [#18777]) ([owntracks docs])
|
||||
- Update switchmate lib ([@Danielhiversen] - [#18785]) ([switch.switchmate docs])
|
||||
- Update lang list (fixes #18768) ([@fabaff] - [#18773]) ([tts docs])
|
||||
- Added qbittorrent sensor platform ([@eliseomartelli] - [#18618]) ([sensor.qbittorrent docs]) (new-platform)
|
||||
- Add support for Mode trait in Google Assistant. ([@marchingphoenix] - [#18772]) ([google_assistant docs])
|
||||
- Service already discovered log entry ([@ehendrix23] - [#18800])
|
||||
- Increase pyatv to 0.3.11 ([@ehendrix23] - [#18801]) ([apple_tv docs])
|
||||
- Store state last seen time separately ([@armills] - [#18806])
|
||||
- Bump python_awair to 0.0.3 ([@ahayworth] - [#18819]) ([sensor.awair docs])
|
||||
- Add Entur departure information sensor ([@hfurubotten] - [#17286]) ([sensor.entur_public_transport docs]) (new-platform)
|
||||
- update netatmo library ([@Danielhiversen] - [#18823]) ([netatmo docs])
|
||||
- Add services description ([@schmittx] - [#18839])
|
||||
- Update of volvooncall component ([@molobrakos] - [#18702]) ([device_tracker docs]) ([volvooncall docs]) ([binary_sensor.volvooncall docs]) ([lock.volvooncall docs]) ([sensor.volvooncall docs]) ([switch.volvooncall docs])
|
||||
- Fix flaky geofency test ([@balloob] - [#18855])
|
||||
- RFC: Call services directly ([@balloob] - [#18720]) (breaking change)
|
||||
- Bump py17track to 2.1.1 ([@bachya] - [#18861]) ([sensor.seventeentrack docs])
|
||||
- Fix issues with 17track.net sensor names ([@bachya] - [#18860]) ([sensor.seventeentrack docs]) (breaking change)
|
||||
- Add tests for directv platform ([@ehendrix23] - [#18590])
|
||||
- Add support for zha device registry ([@damarco] - [#18755]) ([zha docs])
|
||||
- Added new filters for templates ([@skalavala] - [#18125])
|
||||
- Updated UVC camera component to support SSL connections ([@carlos-sarmiento] - [#18829]) ([camera.uvc docs])
|
||||
- fixed state case for rtorrent ([@eliseomartelli] - [#18778]) ([sensor.rtorrent docs]) (breaking change)
|
||||
- Fix ordinal filter in template ([@ludeeus] - [#18878])
|
||||
- Reintroduce unique_id for Netatmo sensor ([@heinemml] - [#18774]) ([sensor.netatmo docs])
|
||||
- Upgrade keyring to 17.0.0 ([@fabaff] - [#18901])
|
||||
- Upgrade sphinx-autodoc-typehints to 1.5.1 ([@fabaff] - [#18893])
|
||||
- Small refactoring of MQTT cover ([@emontnemery] - [#18850]) ([cover.mqtt docs])
|
||||
- Small refactoring of MQTT alarm ([@emontnemery] - [#18813]) ([alarm_control_panel.mqtt docs])
|
||||
- Small refactoring of MQTT climate ([@emontnemery] - [#18814]) ([climate.mqtt docs])
|
||||
- Optionally do not log template rendering errors ([@emontnemery] - [#18724])
|
||||
- Restore states when removing/adding entities ([@armills] - [#18890])
|
||||
- Fibaro ubs ([@pbalogh77] - [#18889]) ([fibaro docs]) ([binary_sensor.fibaro docs])
|
||||
- Use string formatting ([@fabaff] - [#18886]) ([sense docs]) ([binary_sensor.sense docs]) ([sensor.sense docs])
|
||||
- Show ANSI color codes in logs in Hass.io ([@OttoWinter] - [#18834]) ([hassio docs])
|
||||
- Fix hdmi_cec entity race ([@yottatsa] - [#18753]) ([hdmi_cec docs]) ([media_player.hdmi_cec docs]) ([switch.hdmi_cec docs])
|
||||
- Set sensor to unavailable if battery is dead. ([@fucm] - [#18802]) ([binary_sensor.tahoma docs])
|
||||
- Reconfigure MQTT light component if discovery info is changed ([@emontnemery] - [#18176]) ([mqtt docs]) ([binary_sensor.mqtt docs]) ([light.mqtt docs])
|
||||
- Reconfigure MQTT switch component if discovery info is changed ([@emontnemery] - [#18179]) ([mqtt docs]) ([binary_sensor.mqtt docs]) ([switch.mqtt docs])
|
||||
- No more opt-out auth ([@balloob] - [#18854]) ([config docs]) ([frontend docs]) ([hassio docs]) ([http docs]) ([notify docs]) ([websocket_api docs])
|
||||
- Remove commented out code ([@emontnemery] - [#18925]) ([climate.mqtt docs])
|
||||
- Add lightwave components for switches and lights ([@GeoffAtHome] - [#18026]) ([lightwave docs]) ([light.lightwave docs]) ([switch.lightwave docs]) (new-platform)
|
||||
- Allow verisure locks to be configured with a default code ([@ahayworth] - [#18873]) ([verisure docs]) ([lock.verisure docs])
|
||||
- Initial hlk-sw16 relay switch support ([@jameshilliard] - [#17855]) ([hlk_sw16 docs]) ([switch.hlk_sw16 docs]) (new-platform)
|
||||
- Push to version 0.7.7 of denonavr ([@scarface-4711] - [#18917]) ([media_player.denonavr docs])
|
||||
- Extend partial reload to include packages ([@cdce8p] - [#18884])
|
||||
- Initial scene support for Fibaro hubs ([@pbalogh77] - [#18779]) ([fibaro docs]) ([scene.fibaro docs]) (new-platform)
|
||||
- Add id when not exist and fix dup id check ([@bramkragten] - [#18960]) ([lovelace docs])
|
||||
- Refactor script helper actions into their own methods ([@balloob] - [#18962])
|
||||
- Point fix for multiple devices ([@fredrike] - [#18959]) ([point docs]) ([binary_sensor.point docs]) ([sensor.point docs])
|
||||
- VOC: Update library version. Moved method one step out. Instruments can be a set as well ([@molobrakos] - [#18967])
|
||||
- Support for mulitple Blink sync modules ([@fronzbot] - [#18663]) ([blink docs]) ([alarm_control_panel.blink docs]) ([binary_sensor.blink docs]) ([camera.blink docs]) ([sensor.blink docs]) (breaking change)
|
||||
- no ordered dict ([@bramkragten] - [#18982]) ([lovelace docs])
|
||||
- Update CODEOWNERS ([@ludeeus] - [#18976])
|
||||
- Add @danielhiversen as codeowner ([@Danielhiversen] - [#18979])
|
||||
- Upgrade switchbot lib ([@Danielhiversen] - [#18980]) ([switch.switchbot docs])
|
||||
- New Events and Context Fixes ([@hunterjm] - [#18765]) ([automation docs]) ([image_processing docs]) ([logbook docs]) ([script docs])
|
||||
- Updated Yale Smart Alarm platform to new Yale API ([@domwillcode] - [#18990]) ([alarm_control_panel.yale_smart_alarm docs])
|
||||
- Lovelace fix: badges are removed from view after update ([@bramkragten] - [#18983]) ([lovelace docs])
|
||||
- remove the need to have query feature support ([@ticapix] - [#18942]) ([influxdb docs])
|
||||
- Tellduslive refactoring ([@fredrike] - [#18780]) ([tellduslive docs]) ([binary_sensor.tellduslive docs]) ([cover.tellduslive docs]) ([light.tellduslive docs]) ([sensor.tellduslive docs]) ([switch.tellduslive docs]) (new-platform)
|
||||
- Add unnecessary-pass for pylint-update ([@cdce8p] - [#18985])
|
||||
- Mock out device tracker configuration loading funcs in Geofency + OwnTracks ([@balloob] - [#18968])
|
||||
- Fibaro Light fixes ([@pbalogh77] - [#18972]) ([fibaro docs]) ([light.fibaro docs])
|
||||
- Sort import order of zha component. ([@Adminiuga] - [#18993]) ([zha docs]) ([binary_sensor.zha docs]) ([fan.zha docs]) ([light.zha docs]) ([sensor.zha docs]) ([switch.zha docs])
|
||||
- Fix VOC configuration resource list ([@bratanon] - [#18992]) ([volvooncall docs])
|
||||
- Fix toon operation mode ([@balloob] - [#18966]) ([climate.toon docs]) (breaking change)
|
||||
- Remove stale user salts code ([@Eriner] - [#19004])
|
||||
- Lupupy version push to 0.0.17 - will now transmitted state_alarm_triggered ([@majuss] - [#19008]) ([lupusec docs]) ([alarm_control_panel.lupusec docs])
|
||||
- Update requirement btsmarthub_devicelist==0.1.3 ([@jxwolstenholme] - [#18961]) ([device_tracker docs])
|
||||
- Allow checking entity permissions based on devices ([@balloob] - [#19007])
|
||||
- Add states to panels ([@bramkragten] - [#19026]) ([frontend docs])
|
||||
- Fix CI by pinning IDNA ([@balloob] - [#19038])
|
||||
- Bump waterfurnace to 1.0 ([@sdague] - [#19040]) ([waterfurnace docs]) (breaking change)
|
||||
- Don't wait for answer for webhook register ([@balloob] - [#19025]) ([cloud docs])
|
||||
- Small refactoring of MQTT light ([@emontnemery] - [#19009]) ([light.mqtt docs])
|
||||
- Small refactoring of MQTT switch ([@emontnemery] - [#19010]) ([switch.mqtt docs])
|
||||
- Bump version of elkm1_lib ([@gwww] - [#19030]) ([elkm1 docs])
|
||||
- Change error to warning ([@doudz] - [#19035]) ([media_player.plex docs])
|
||||
- Catch 'BrokenPipeError' exceptions for ADB commands ([@JeffLIrion] - [#19011]) ([media_player.firetv docs])
|
||||
- Bump python-miio to 0.4.4 ([@rytilahti] - [#19042]) ([device_tracker docs]) ([fan.xiaomi_miio docs]) ([light.xiaomi_miio docs]) ([remote.xiaomi_miio docs]) ([sensor.xiaomi_miio docs]) ([switch.xiaomi_miio docs]) ([vacuum.xiaomi_miio docs])
|
||||
- Add last clean times to xiaomi vacuum ([@rytilahti] - [#19043]) ([vacuum.xiaomi_miio docs])
|
||||
- Add support for multiple RainMachine controllers ([@bachya] - [#18989]) ([rainmachine docs]) (breaking change)
|
||||
- Remove unsupported strong mode of the Xiaomi Air Humidifier CA1 ([@syssi] - [#18926]) ([fan.xiaomi_miio docs])
|
||||
- Bump pyvizio version ([@photinus] - [#19048]) ([media_player.vizio docs])
|
||||
- Fix cloud const ([@balloob] - [#19052]) ([cloud docs])
|
||||
- VOC: Update external dependency to fix engine start issue ([@molobrakos] - [#19062]) ([volvooncall docs])
|
||||
- Fix saving YAML as JSON with empty array ([@bramkragten] - [#19057]) ([lovelace docs])
|
||||
- Update pyhomematic to 0.1.53 ([@danielperna84] - [#19056]) ([homematic docs])
|
||||
- Implemented unique ID support for Fibaro hub integration ([@pbalogh77] - [#19055]) ([fibaro docs]) (breaking change)
|
||||
- Remove Instapush notify platform ([@fabaff] - [#19051]) ([notify docs]) (breaking change)
|
||||
- Update locationsharinglib to 3.0.9 ([@pc-coholic] - [#19045]) ([device_tracker docs])
|
||||
- Add support for more Tibber Pulse data ([@Danielhiversen] - [#19033]) ([tibber docs]) ([sensor.tibber docs])
|
||||
- Revert #17745 ([@balloob] - [#19064]) ([google_assistant docs]) (beta fix)
|
||||
- Fix missing colorTemperatureInKelvin from Alexa responses ([@mikeage] - [#19069]) ([alexa docs]) (beta fix)
|
||||
- Force refresh Lovelace ([@bramkragten] - [#19073]) ([lovelace docs]) (beta fix)
|
||||
- Upgrade aiolifx to 0.6.7 ([@amelchio] - [#19077]) ([lifx docs]) (beta fix)
|
||||
- Upgrade pyatv to 0.3.12 ([@postlund] - [#19085]) ([apple_tv docs]) (beta fix)
|
||||
- Upgrade Tibber lib ([@Danielhiversen] - [#19098]) ([tibber docs]) (beta fix)
|
||||
- Bump skybellpy version to fix api issue ([@nhorvath] - [#19100]) ([skybell docs]) (beta fix)
|
||||
- Lovelace using storage ([@balloob] - [#19101]) ([frontend docs]) ([lovelace docs]) (beta fix)
|
||||
- Remove marking device tracker stale if state is stale ([@arigilder] - [#19133]) ([device_tracker docs]) (beta fix)
|
||||
- Google assistant fix target temp for *F values. ([@marchingphoenix] - [#19083]) ([google_assistant docs]) (beta fix)
|
||||
- Drop OwnTracks bad packets ([@balloob] - [#19161]) ([owntracks docs]) (beta fix)
|
||||
- Fix lovelace save ([@balloob] - [#19162]) ([lovelace docs]) (beta fix)
|
||||
- Add raw service data to event ([@balloob] - [#19163]) (beta fix)
|
||||
- Fix cloud defaults ([@balloob] - [#19172]) ([cloud docs]) (beta fix)
|
||||
- Revert PR #18602 ([@balloob] - [#19188]) ([camera.mjpeg docs]) (beta fix)
|
||||
|
||||
[#17228]: https://github.com/home-assistant/home-assistant/pull/17228
|
||||
[#17270]: https://github.com/home-assistant/home-assistant/pull/17270
|
||||
[#17286]: https://github.com/home-assistant/home-assistant/pull/17286
|
||||
[#17415]: https://github.com/home-assistant/home-assistant/pull/17415
|
||||
[#17855]: https://github.com/home-assistant/home-assistant/pull/17855
|
||||
[#18026]: https://github.com/home-assistant/home-assistant/pull/18026
|
||||
[#18058]: https://github.com/home-assistant/home-assistant/pull/18058
|
||||
[#18125]: https://github.com/home-assistant/home-assistant/pull/18125
|
||||
[#18173]: https://github.com/home-assistant/home-assistant/pull/18173
|
||||
[#18174]: https://github.com/home-assistant/home-assistant/pull/18174
|
||||
[#18175]: https://github.com/home-assistant/home-assistant/pull/18175
|
||||
[#18176]: https://github.com/home-assistant/home-assistant/pull/18176
|
||||
[#18177]: https://github.com/home-assistant/home-assistant/pull/18177
|
||||
[#18178]: https://github.com/home-assistant/home-assistant/pull/18178
|
||||
[#18179]: https://github.com/home-assistant/home-assistant/pull/18179
|
||||
[#18207]: https://github.com/home-assistant/home-assistant/pull/18207
|
||||
[#18227]: https://github.com/home-assistant/home-assistant/pull/18227
|
||||
[#18308]: https://github.com/home-assistant/home-assistant/pull/18308
|
||||
[#18339]: https://github.com/home-assistant/home-assistant/pull/18339
|
||||
[#18352]: https://github.com/home-assistant/home-assistant/pull/18352
|
||||
[#18380]: https://github.com/home-assistant/home-assistant/pull/18380
|
||||
[#18416]: https://github.com/home-assistant/home-assistant/pull/18416
|
||||
[#18421]: https://github.com/home-assistant/home-assistant/pull/18421
|
||||
[#18428]: https://github.com/home-assistant/home-assistant/pull/18428
|
||||
[#18431]: https://github.com/home-assistant/home-assistant/pull/18431
|
||||
[#18451]: https://github.com/home-assistant/home-assistant/pull/18451
|
||||
[#18462]: https://github.com/home-assistant/home-assistant/pull/18462
|
||||
[#18544]: https://github.com/home-assistant/home-assistant/pull/18544
|
||||
[#18560]: https://github.com/home-assistant/home-assistant/pull/18560
|
||||
[#18570]: https://github.com/home-assistant/home-assistant/pull/18570
|
||||
[#18582]: https://github.com/home-assistant/home-assistant/pull/18582
|
||||
[#18590]: https://github.com/home-assistant/home-assistant/pull/18590
|
||||
[#18601]: https://github.com/home-assistant/home-assistant/pull/18601
|
||||
[#18602]: https://github.com/home-assistant/home-assistant/pull/18602
|
||||
[#18614]: https://github.com/home-assistant/home-assistant/pull/18614
|
||||
[#18618]: https://github.com/home-assistant/home-assistant/pull/18618
|
||||
[#18626]: https://github.com/home-assistant/home-assistant/pull/18626
|
||||
[#18629]: https://github.com/home-assistant/home-assistant/pull/18629
|
||||
[#18640]: https://github.com/home-assistant/home-assistant/pull/18640
|
||||
[#18644]: https://github.com/home-assistant/home-assistant/pull/18644
|
||||
[#18650]: https://github.com/home-assistant/home-assistant/pull/18650
|
||||
[#18652]: https://github.com/home-assistant/home-assistant/pull/18652
|
||||
[#18655]: https://github.com/home-assistant/home-assistant/pull/18655
|
||||
[#18656]: https://github.com/home-assistant/home-assistant/pull/18656
|
||||
[#18663]: https://github.com/home-assistant/home-assistant/pull/18663
|
||||
[#18665]: https://github.com/home-assistant/home-assistant/pull/18665
|
||||
[#18668]: https://github.com/home-assistant/home-assistant/pull/18668
|
||||
[#18672]: https://github.com/home-assistant/home-assistant/pull/18672
|
||||
[#18674]: https://github.com/home-assistant/home-assistant/pull/18674
|
||||
[#18680]: https://github.com/home-assistant/home-assistant/pull/18680
|
||||
[#18682]: https://github.com/home-assistant/home-assistant/pull/18682
|
||||
[#18683]: https://github.com/home-assistant/home-assistant/pull/18683
|
||||
[#18684]: https://github.com/home-assistant/home-assistant/pull/18684
|
||||
[#18685]: https://github.com/home-assistant/home-assistant/pull/18685
|
||||
[#18687]: https://github.com/home-assistant/home-assistant/pull/18687
|
||||
[#18689]: https://github.com/home-assistant/home-assistant/pull/18689
|
||||
[#18690]: https://github.com/home-assistant/home-assistant/pull/18690
|
||||
[#18693]: https://github.com/home-assistant/home-assistant/pull/18693
|
||||
[#18694]: https://github.com/home-assistant/home-assistant/pull/18694
|
||||
[#18695]: https://github.com/home-assistant/home-assistant/pull/18695
|
||||
[#18702]: https://github.com/home-assistant/home-assistant/pull/18702
|
||||
[#18717]: https://github.com/home-assistant/home-assistant/pull/18717
|
||||
[#18719]: https://github.com/home-assistant/home-assistant/pull/18719
|
||||
[#18720]: https://github.com/home-assistant/home-assistant/pull/18720
|
||||
[#18722]: https://github.com/home-assistant/home-assistant/pull/18722
|
||||
[#18724]: https://github.com/home-assistant/home-assistant/pull/18724
|
||||
[#18732]: https://github.com/home-assistant/home-assistant/pull/18732
|
||||
[#18736]: https://github.com/home-assistant/home-assistant/pull/18736
|
||||
[#18744]: https://github.com/home-assistant/home-assistant/pull/18744
|
||||
[#18746]: https://github.com/home-assistant/home-assistant/pull/18746
|
||||
[#18747]: https://github.com/home-assistant/home-assistant/pull/18747
|
||||
[#18751]: https://github.com/home-assistant/home-assistant/pull/18751
|
||||
[#18752]: https://github.com/home-assistant/home-assistant/pull/18752
|
||||
[#18753]: https://github.com/home-assistant/home-assistant/pull/18753
|
||||
[#18754]: https://github.com/home-assistant/home-assistant/pull/18754
|
||||
[#18755]: https://github.com/home-assistant/home-assistant/pull/18755
|
||||
[#18756]: https://github.com/home-assistant/home-assistant/pull/18756
|
||||
[#18757]: https://github.com/home-assistant/home-assistant/pull/18757
|
||||
[#18764]: https://github.com/home-assistant/home-assistant/pull/18764
|
||||
[#18765]: https://github.com/home-assistant/home-assistant/pull/18765
|
||||
[#18769]: https://github.com/home-assistant/home-assistant/pull/18769
|
||||
[#18772]: https://github.com/home-assistant/home-assistant/pull/18772
|
||||
[#18773]: https://github.com/home-assistant/home-assistant/pull/18773
|
||||
[#18774]: https://github.com/home-assistant/home-assistant/pull/18774
|
||||
[#18777]: https://github.com/home-assistant/home-assistant/pull/18777
|
||||
[#18778]: https://github.com/home-assistant/home-assistant/pull/18778
|
||||
[#18779]: https://github.com/home-assistant/home-assistant/pull/18779
|
||||
[#18780]: https://github.com/home-assistant/home-assistant/pull/18780
|
||||
[#18784]: https://github.com/home-assistant/home-assistant/pull/18784
|
||||
[#18785]: https://github.com/home-assistant/home-assistant/pull/18785
|
||||
[#18800]: https://github.com/home-assistant/home-assistant/pull/18800
|
||||
[#18801]: https://github.com/home-assistant/home-assistant/pull/18801
|
||||
[#18802]: https://github.com/home-assistant/home-assistant/pull/18802
|
||||
[#18806]: https://github.com/home-assistant/home-assistant/pull/18806
|
||||
[#18813]: https://github.com/home-assistant/home-assistant/pull/18813
|
||||
[#18814]: https://github.com/home-assistant/home-assistant/pull/18814
|
||||
[#18819]: https://github.com/home-assistant/home-assistant/pull/18819
|
||||
[#18823]: https://github.com/home-assistant/home-assistant/pull/18823
|
||||
[#18829]: https://github.com/home-assistant/home-assistant/pull/18829
|
||||
[#18834]: https://github.com/home-assistant/home-assistant/pull/18834
|
||||
[#18839]: https://github.com/home-assistant/home-assistant/pull/18839
|
||||
[#18850]: https://github.com/home-assistant/home-assistant/pull/18850
|
||||
[#18854]: https://github.com/home-assistant/home-assistant/pull/18854
|
||||
[#18855]: https://github.com/home-assistant/home-assistant/pull/18855
|
||||
[#18860]: https://github.com/home-assistant/home-assistant/pull/18860
|
||||
[#18861]: https://github.com/home-assistant/home-assistant/pull/18861
|
||||
[#18873]: https://github.com/home-assistant/home-assistant/pull/18873
|
||||
[#18878]: https://github.com/home-assistant/home-assistant/pull/18878
|
||||
[#18884]: https://github.com/home-assistant/home-assistant/pull/18884
|
||||
[#18886]: https://github.com/home-assistant/home-assistant/pull/18886
|
||||
[#18889]: https://github.com/home-assistant/home-assistant/pull/18889
|
||||
[#18890]: https://github.com/home-assistant/home-assistant/pull/18890
|
||||
[#18893]: https://github.com/home-assistant/home-assistant/pull/18893
|
||||
[#18901]: https://github.com/home-assistant/home-assistant/pull/18901
|
||||
[#18917]: https://github.com/home-assistant/home-assistant/pull/18917
|
||||
[#18925]: https://github.com/home-assistant/home-assistant/pull/18925
|
||||
[#18926]: https://github.com/home-assistant/home-assistant/pull/18926
|
||||
[#18942]: https://github.com/home-assistant/home-assistant/pull/18942
|
||||
[#18959]: https://github.com/home-assistant/home-assistant/pull/18959
|
||||
[#18960]: https://github.com/home-assistant/home-assistant/pull/18960
|
||||
[#18961]: https://github.com/home-assistant/home-assistant/pull/18961
|
||||
[#18962]: https://github.com/home-assistant/home-assistant/pull/18962
|
||||
[#18966]: https://github.com/home-assistant/home-assistant/pull/18966
|
||||
[#18967]: https://github.com/home-assistant/home-assistant/pull/18967
|
||||
[#18968]: https://github.com/home-assistant/home-assistant/pull/18968
|
||||
[#18972]: https://github.com/home-assistant/home-assistant/pull/18972
|
||||
[#18976]: https://github.com/home-assistant/home-assistant/pull/18976
|
||||
[#18979]: https://github.com/home-assistant/home-assistant/pull/18979
|
||||
[#18980]: https://github.com/home-assistant/home-assistant/pull/18980
|
||||
[#18982]: https://github.com/home-assistant/home-assistant/pull/18982
|
||||
[#18983]: https://github.com/home-assistant/home-assistant/pull/18983
|
||||
[#18985]: https://github.com/home-assistant/home-assistant/pull/18985
|
||||
[#18989]: https://github.com/home-assistant/home-assistant/pull/18989
|
||||
[#18990]: https://github.com/home-assistant/home-assistant/pull/18990
|
||||
[#18992]: https://github.com/home-assistant/home-assistant/pull/18992
|
||||
[#18993]: https://github.com/home-assistant/home-assistant/pull/18993
|
||||
[#19004]: https://github.com/home-assistant/home-assistant/pull/19004
|
||||
[#19007]: https://github.com/home-assistant/home-assistant/pull/19007
|
||||
[#19008]: https://github.com/home-assistant/home-assistant/pull/19008
|
||||
[#19009]: https://github.com/home-assistant/home-assistant/pull/19009
|
||||
[#19010]: https://github.com/home-assistant/home-assistant/pull/19010
|
||||
[#19011]: https://github.com/home-assistant/home-assistant/pull/19011
|
||||
[#19025]: https://github.com/home-assistant/home-assistant/pull/19025
|
||||
[#19026]: https://github.com/home-assistant/home-assistant/pull/19026
|
||||
[#19030]: https://github.com/home-assistant/home-assistant/pull/19030
|
||||
[#19033]: https://github.com/home-assistant/home-assistant/pull/19033
|
||||
[#19035]: https://github.com/home-assistant/home-assistant/pull/19035
|
||||
[#19038]: https://github.com/home-assistant/home-assistant/pull/19038
|
||||
[#19040]: https://github.com/home-assistant/home-assistant/pull/19040
|
||||
[#19042]: https://github.com/home-assistant/home-assistant/pull/19042
|
||||
[#19043]: https://github.com/home-assistant/home-assistant/pull/19043
|
||||
[#19045]: https://github.com/home-assistant/home-assistant/pull/19045
|
||||
[#19048]: https://github.com/home-assistant/home-assistant/pull/19048
|
||||
[#19051]: https://github.com/home-assistant/home-assistant/pull/19051
|
||||
[#19052]: https://github.com/home-assistant/home-assistant/pull/19052
|
||||
[#19055]: https://github.com/home-assistant/home-assistant/pull/19055
|
||||
[#19056]: https://github.com/home-assistant/home-assistant/pull/19056
|
||||
[#19057]: https://github.com/home-assistant/home-assistant/pull/19057
|
||||
[#19062]: https://github.com/home-assistant/home-assistant/pull/19062
|
||||
[#19064]: https://github.com/home-assistant/home-assistant/pull/19064
|
||||
[#19069]: https://github.com/home-assistant/home-assistant/pull/19069
|
||||
[#19073]: https://github.com/home-assistant/home-assistant/pull/19073
|
||||
[#19077]: https://github.com/home-assistant/home-assistant/pull/19077
|
||||
[#19083]: https://github.com/home-assistant/home-assistant/pull/19083
|
||||
[#19085]: https://github.com/home-assistant/home-assistant/pull/19085
|
||||
[#19098]: https://github.com/home-assistant/home-assistant/pull/19098
|
||||
[#19100]: https://github.com/home-assistant/home-assistant/pull/19100
|
||||
[#19101]: https://github.com/home-assistant/home-assistant/pull/19101
|
||||
[#19133]: https://github.com/home-assistant/home-assistant/pull/19133
|
||||
[#19161]: https://github.com/home-assistant/home-assistant/pull/19161
|
||||
[#19162]: https://github.com/home-assistant/home-assistant/pull/19162
|
||||
[#19163]: https://github.com/home-assistant/home-assistant/pull/19163
|
||||
[#19172]: https://github.com/home-assistant/home-assistant/pull/19172
|
||||
[#19188]: https://github.com/home-assistant/home-assistant/pull/19188
|
||||
[@Adminiuga]: https://github.com/Adminiuga
|
||||
[@Danielhiversen]: https://github.com/Danielhiversen
|
||||
[@Eriner]: https://github.com/Eriner
|
||||
[@GeoffAtHome]: https://github.com/GeoffAtHome
|
||||
[@JeffLIrion]: https://github.com/JeffLIrion
|
||||
[@OttoWinter]: https://github.com/OttoWinter
|
||||
[@ahayworth]: https://github.com/ahayworth
|
||||
[@amelchio]: https://github.com/amelchio
|
||||
[@andersonshatch]: https://github.com/andersonshatch
|
||||
[@anton-johansson]: https://github.com/anton-johansson
|
||||
[@arigilder]: https://github.com/arigilder
|
||||
[@armills]: https://github.com/armills
|
||||
[@awarecan]: https://github.com/awarecan
|
||||
[@bachya]: https://github.com/bachya
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@bramkragten]: https://github.com/bramkragten
|
||||
[@bratanon]: https://github.com/bratanon
|
||||
[@bryanyork]: https://github.com/bryanyork
|
||||
[@carlos-sarmiento]: https://github.com/carlos-sarmiento
|
||||
[@cdce8p]: https://github.com/cdce8p
|
||||
[@cdheiser]: https://github.com/cdheiser
|
||||
[@damarco]: https://github.com/damarco
|
||||
[@danielperna84]: https://github.com/danielperna84
|
||||
[@dgomes]: https://github.com/dgomes
|
||||
[@dmulcahey]: https://github.com/dmulcahey
|
||||
[@domwillcode]: https://github.com/domwillcode
|
||||
[@doudz]: https://github.com/doudz
|
||||
[@ehendrix23]: https://github.com/ehendrix23
|
||||
[@eliseomartelli]: https://github.com/eliseomartelli
|
||||
[@emontnemery]: https://github.com/emontnemery
|
||||
[@exxamalte]: https://github.com/exxamalte
|
||||
[@fabaff]: https://github.com/fabaff
|
||||
[@fredrike]: https://github.com/fredrike
|
||||
[@frenck]: https://github.com/frenck
|
||||
[@fronzbot]: https://github.com/fronzbot
|
||||
[@fucm]: https://github.com/fucm
|
||||
[@glpatcern]: https://github.com/glpatcern
|
||||
[@gwww]: https://github.com/gwww
|
||||
[@heinemml]: https://github.com/heinemml
|
||||
[@hfurubotten]: https://github.com/hfurubotten
|
||||
[@hunterjm]: https://github.com/hunterjm
|
||||
[@iantrich]: https://github.com/iantrich
|
||||
[@jameshilliard]: https://github.com/jameshilliard
|
||||
[@jensihnow]: https://github.com/jensihnow
|
||||
[@jxwolstenholme]: https://github.com/jxwolstenholme
|
||||
[@lasote]: https://github.com/lasote
|
||||
[@ludeeus]: https://github.com/ludeeus
|
||||
[@majuss]: https://github.com/majuss
|
||||
[@marchingphoenix]: https://github.com/marchingphoenix
|
||||
[@mdallaire]: https://github.com/mdallaire
|
||||
[@mikeage]: https://github.com/mikeage
|
||||
[@molobrakos]: https://github.com/molobrakos
|
||||
[@mopolus]: https://github.com/mopolus
|
||||
[@nhorvath]: https://github.com/nhorvath
|
||||
[@nickw444]: https://github.com/nickw444
|
||||
[@nragon]: https://github.com/nragon
|
||||
[@pagenoare]: https://github.com/pagenoare
|
||||
[@pbalogh77]: https://github.com/pbalogh77
|
||||
[@pc-coholic]: https://github.com/pc-coholic
|
||||
[@photinus]: https://github.com/photinus
|
||||
[@postlund]: https://github.com/postlund
|
||||
[@rytilahti]: https://github.com/rytilahti
|
||||
[@scarface-4711]: https://github.com/scarface-4711
|
||||
[@schmittx]: https://github.com/schmittx
|
||||
[@scop]: https://github.com/scop
|
||||
[@sdague]: https://github.com/sdague
|
||||
[@skalavala]: https://github.com/skalavala
|
||||
[@slackr31337]: https://github.com/slackr31337
|
||||
[@soosp]: https://github.com/soosp
|
||||
[@syssi]: https://github.com/syssi
|
||||
[@ticapix]: https://github.com/ticapix
|
||||
[@trainman419]: https://github.com/trainman419
|
||||
[@yottatsa]: https://github.com/yottatsa
|
||||
[@zxdavb]: https://github.com/zxdavb
|
||||
[alarm_control_panel.blink docs]: /components/alarm_control_panel.blink/
|
||||
[alarm_control_panel.lupusec docs]: /components/alarm_control_panel.lupusec/
|
||||
[alarm_control_panel.mqtt docs]: /components/alarm_control_panel.mqtt/
|
||||
[alarm_control_panel.yale_smart_alarm docs]: /components/alarm_control_panel.yale_smart_alarm/
|
||||
[alexa docs]: /components/alexa/
|
||||
[apple_tv docs]: /components/apple_tv/
|
||||
[august docs]: /components/august/
|
||||
[automation docs]: /components/automation/
|
||||
[binary_sensor.blink docs]: /components/binary_sensor.blink/
|
||||
[binary_sensor.fibaro docs]: /components/binary_sensor.fibaro/
|
||||
[binary_sensor.ihc docs]: /components/binary_sensor.ihc/
|
||||
[binary_sensor.mqtt docs]: /components/binary_sensor.mqtt/
|
||||
[binary_sensor.point docs]: /components/binary_sensor.point/
|
||||
[binary_sensor.sense docs]: /components/binary_sensor.sense/
|
||||
[binary_sensor.tahoma docs]: /components/binary_sensor.tahoma/
|
||||
[binary_sensor.tellduslive docs]: /components/binary_sensor.tellduslive/
|
||||
[binary_sensor.volvooncall docs]: /components/binary_sensor.volvooncall/
|
||||
[binary_sensor.zha docs]: /components/binary_sensor.zha/
|
||||
[blink docs]: /components/blink/
|
||||
[camera.blink docs]: /components/camera.blink/
|
||||
[camera.mjpeg docs]: /components/camera.mjpeg/
|
||||
[camera.proxy docs]: /components/camera.proxy/
|
||||
[camera.push docs]: /components/camera.push/
|
||||
[camera.uvc docs]: /components/camera.uvc/
|
||||
[climate.daikin docs]: /components/climate.daikin/
|
||||
[climate.evohome docs]: /components/climate.evohome/
|
||||
[climate.mill docs]: /components/climate.mill/
|
||||
[climate.mqtt docs]: /components/climate.mqtt/
|
||||
[climate.toon docs]: /components/climate.toon/
|
||||
[cloud docs]: /components/cloud/
|
||||
[config docs]: /components/config/
|
||||
[cover.mqtt docs]: /components/cover.mqtt/
|
||||
[cover.tellduslive docs]: /components/cover.tellduslive/
|
||||
[daikin docs]: /components/daikin/
|
||||
[device_tracker docs]: /components/device_tracker/
|
||||
[elkm1 docs]: /components/elkm1/
|
||||
[evohome docs]: /components/evohome/
|
||||
[fan.mqtt docs]: /components/fan.mqtt/
|
||||
[fan.xiaomi_miio docs]: /components/fan.xiaomi_miio/
|
||||
[fan.zha docs]: /components/fan.zha/
|
||||
[fibaro docs]: /components/fibaro/
|
||||
[frontend docs]: /components/frontend/
|
||||
[geo_location docs]: /components/geo_location/
|
||||
[google_assistant docs]: /components/google_assistant/
|
||||
[hassio docs]: /components/hassio/
|
||||
[hdmi_cec docs]: /components/hdmi_cec/
|
||||
[history docs]: /components/history/
|
||||
[hlk_sw16 docs]: /components/hlk_sw16/
|
||||
[homematic docs]: /components/homematic/
|
||||
[http docs]: /components/http/
|
||||
[ihc docs]: /components/ihc/
|
||||
[image_processing docs]: /components/image_processing/
|
||||
[influxdb docs]: /components/influxdb/
|
||||
[lifx docs]: /components/lifx/
|
||||
[light.decora_wifi docs]: /components/light.decora_wifi/
|
||||
[light.fibaro docs]: /components/light.fibaro/
|
||||
[light.ihc docs]: /components/light.ihc/
|
||||
[light.lightwave docs]: /components/light.lightwave/
|
||||
[light.lutron docs]: /components/light.lutron/
|
||||
[light.mqtt docs]: /components/light.mqtt/
|
||||
[light.niko_home_control docs]: /components/light.niko_home_control/
|
||||
[light.tellduslive docs]: /components/light.tellduslive/
|
||||
[light.xiaomi_miio docs]: /components/light.xiaomi_miio/
|
||||
[light.yeelight docs]: /components/light.yeelight/
|
||||
[light.zha docs]: /components/light.zha/
|
||||
[lightwave docs]: /components/lightwave/
|
||||
[lock.verisure docs]: /components/lock.verisure/
|
||||
[lock.volvooncall docs]: /components/lock.volvooncall/
|
||||
[logbook docs]: /components/logbook/
|
||||
[lovelace docs]: /components/lovelace/
|
||||
[lupusec docs]: /components/lupusec/
|
||||
[media_extractor docs]: /components/media_extractor/
|
||||
[media_player.demo docs]: /components/media_player.demo/
|
||||
[media_player.denonavr docs]: /components/media_player.denonavr/
|
||||
[media_player.firetv docs]: /components/media_player.firetv/
|
||||
[media_player.hdmi_cec docs]: /components/media_player.hdmi_cec/
|
||||
[media_player.plex docs]: /components/media_player.plex/
|
||||
[media_player.vizio docs]: /components/media_player.vizio/
|
||||
[mqtt docs]: /components/mqtt/
|
||||
[netatmo docs]: /components/netatmo/
|
||||
[notify docs]: /components/notify/
|
||||
[onboarding docs]: /components/onboarding/
|
||||
[owntracks docs]: /components/owntracks/
|
||||
[point docs]: /components/point/
|
||||
[rainmachine docs]: /components/rainmachine/
|
||||
[remote.xiaomi_miio docs]: /components/remote.xiaomi_miio/
|
||||
[scene.fibaro docs]: /components/scene.fibaro/
|
||||
[script docs]: /components/script/
|
||||
[sense docs]: /components/sense/
|
||||
[sensor.awair docs]: /components/sensor.awair/
|
||||
[sensor.blink docs]: /components/sensor.blink/
|
||||
[sensor.bom docs]: /components/sensor.bom/
|
||||
[sensor.daikin docs]: /components/sensor.daikin/
|
||||
[sensor.dht docs]: /components/sensor.dht/
|
||||
[sensor.entur_public_transport docs]: /components/sensor.entur_public_transport/
|
||||
[sensor.influxdb docs]: /components/sensor.influxdb/
|
||||
[sensor.mqtt docs]: /components/sensor.mqtt/
|
||||
[sensor.netatmo docs]: /components/sensor.netatmo/
|
||||
[sensor.point docs]: /components/sensor.point/
|
||||
[sensor.qbittorrent docs]: /components/sensor.qbittorrent/
|
||||
[sensor.rtorrent docs]: /components/sensor.rtorrent/
|
||||
[sensor.sense docs]: /components/sensor.sense/
|
||||
[sensor.seventeentrack docs]: /components/sensor.seventeentrack/
|
||||
[sensor.snmp docs]: /components/sensor.snmp/
|
||||
[sensor.statistics docs]: /components/sensor.statistics/
|
||||
[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
|
||||
[sensor.tellduslive docs]: /components/sensor.tellduslive/
|
||||
[sensor.tibber docs]: /components/sensor.tibber/
|
||||
[sensor.volvooncall docs]: /components/sensor.volvooncall/
|
||||
[sensor.waterfurnace docs]: /components/sensor.waterfurnace/
|
||||
[sensor.xiaomi_miio docs]: /components/sensor.xiaomi_miio/
|
||||
[sensor.zha docs]: /components/sensor.zha/
|
||||
[shopping_list docs]: /components/shopping_list/
|
||||
[simplisafe docs]: /components/simplisafe/
|
||||
[skybell docs]: /components/skybell/
|
||||
[switch.hdmi_cec docs]: /components/switch.hdmi_cec/
|
||||
[switch.hlk_sw16 docs]: /components/switch.hlk_sw16/
|
||||
[switch.ihc docs]: /components/switch.ihc/
|
||||
[switch.lightwave docs]: /components/switch.lightwave/
|
||||
[switch.mqtt docs]: /components/switch.mqtt/
|
||||
[switch.snmp docs]: /components/switch.snmp/
|
||||
[switch.switchbot docs]: /components/switch.switchbot/
|
||||
[switch.switchmate docs]: /components/switch.switchmate/
|
||||
[switch.tellduslive docs]: /components/switch.tellduslive/
|
||||
[switch.volvooncall docs]: /components/switch.volvooncall/
|
||||
[switch.xiaomi_miio docs]: /components/switch.xiaomi_miio/
|
||||
[switch.zha docs]: /components/switch.zha/
|
||||
[tellduslive docs]: /components/tellduslive/
|
||||
[tibber docs]: /components/tibber/
|
||||
[tts docs]: /components/tts/
|
||||
[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
|
||||
[verisure docs]: /components/verisure/
|
||||
[volvooncall docs]: /components/volvooncall/
|
||||
[waterfurnace docs]: /components/waterfurnace/
|
||||
[weather.bom docs]: /components/weather.bom/
|
||||
[weather.ipma docs]: /components/weather.ipma/
|
||||
[websocket_api docs]: /components/websocket_api/
|
||||
[wunderlist docs]: /components/wunderlist/
|
||||
[zha docs]: /components/zha/
|
BIN
source/images/blog/2018-12-release-84/components.png
Normal file
After Width: | Height: | Size: 64 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 270 KiB |
BIN
source/images/supported_brands/awair.jpg
Normal file
After Width: | Height: | Size: 13 KiB |
21
source/images/supported_brands/entur.svg
Normal file
@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 21.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 800 400" style="enable-background:new 0 0 800 400;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#23145F;}
|
||||
.st1{fill:#FF5959;}
|
||||
</style>
|
||||
<path class="st0" d="M160.4,138.7v27.6h53.3v18.7h-53.3v26.7h60.1v18.7h-81.2V120h81.2v18.7H160.4z"/>
|
||||
<path class="st1" d="M335.2,276.4H139.3v-18.7h195.9V276.4z"/>
|
||||
<path class="st0" d="M333,230.2l-72.4-65.5v65.5h-21.1V120h2.3l72.4,66.7V120h21.1v110.2H333z"/>
|
||||
<path class="st0" d="M439.1,184.9h-31.5v91.5h-21.1v-91.5H355v-18.7h84.2V184.9z"/>
|
||||
<path class="st0" d="M502.4,278.4c-7.1,0-13.6-1.1-19.4-3.3c-5.8-2.2-10.8-5.3-14.9-9.3c-4.1-4-7.3-8.9-9.6-14.6
|
||||
c-2.3-5.7-3.4-12.1-3.4-19.1v-65.8h21.1V232c0,5.5,0.9,10.1,2.7,13.7c1.8,3.6,4,6.5,6.7,8.6c2.7,2.1,5.5,3.6,8.6,4.4
|
||||
c3.1,0.8,5.8,1.2,8.2,1.2c2.4,0,5.1-0.4,8.2-1.2c3.1-0.8,5.9-2.3,8.6-4.4c2.7-2.1,4.9-5,6.7-8.6c1.8-3.6,2.7-8.2,2.7-13.7v-65.8
|
||||
h21.1V232c0,7-1.1,13.4-3.3,19.1c-2.2,5.7-5.4,10.6-9.5,14.6c-4.1,4-9.1,7.1-14.9,9.3C516.2,277.3,509.6,278.4,502.4,278.4z"/>
|
||||
<path class="st0" d="M590.5,241.4v35.1h-21.1V166.2h50.1c5.6,0,10.8,0.9,15.5,2.8c4.7,1.9,8.7,4.5,12,7.8c3.3,3.4,5.9,7.4,7.8,12
|
||||
c1.9,4.7,2.8,9.8,2.8,15.3c0,4.1-0.6,8.1-1.7,12c-1.1,3.9-2.6,7.4-4.6,10.5c-2,3.1-4.4,5.8-7.2,8.1c-2.9,2.3-6,3.8-9.4,4.7l27.4,37
|
||||
h-25.1l-25.5-35.1H590.5z M590.5,223h24c4.4,0,8-0.6,10.9-1.7c2.9-1.1,5.1-2.6,6.8-4.4c1.7-1.8,2.8-3.8,3.4-6.1
|
||||
c0.6-2.3,0.9-4.5,0.9-6.9c0-2.7-0.4-5.2-1.3-7.5c-0.9-2.3-2.2-4.3-3.9-6c-1.8-1.7-4-3.1-6.8-4.1c-2.8-1-6.1-1.5-10-1.5h-24V223z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
BIN
source/images/supported_brands/hlktech.jpg
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
source/images/supported_brands/lightwave.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
BIN
source/images/supported_brands/qbittorrent.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
source/images/supported_brands/us-geological-survey.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
source/images/supported_brands/wunderlist.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
@ -8,8 +8,33 @@ comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
## {% linkable_title Changes in 0.84.0 %}
|
||||
- 📣 Lovelace is now the default UI
|
||||
|
||||
### Breaking Changes
|
||||
- ⚠️ [sensor card]: Removed configs `height`, `line_color` and `line_width`
|
||||
- ⚠️ [gauge card]: Renamed config `title` to `name`
|
||||
- ⚠️ [alarm panel card]: Renamed config `title` to `name`
|
||||
- ⚠️ [glance card]: `tap_action` and `hold_action` configurations changed. See docs.
|
||||
- ⚠️ [entity button card]: `tap_action` and `hold_action` configurations changed. See docs.
|
||||
- ⚠️ [picture card]: `tap_action` and `hold_action` configurations changed. See docs.
|
||||
- ⚠️ [picture elements card]: `tap_action` and `hold_action` configurations for elements changed. See docs.
|
||||
- ⚠️ [picture entity card]: `tap_action` and `hold_action` configurations changed. See docs.
|
||||
- ⚠️ [picture glance card]: `tap_action` and `hold_action` configurations changed. See docs.
|
||||
|
||||
### All Changes
|
||||
- 📣 [weather forecast card]: New config `name`
|
||||
- 📣 [thermostat card]: New config `name`
|
||||
- 📣 [plant status card]: New config `name`
|
||||
- 📣 [entities card]: Alert entity rows are now displayed as toggles
|
||||
- 📣 [picture elements card]: Added `state_image` and `camera_image`
|
||||
- 📣 Ability to generate a Lovelace config if not present using available entities
|
||||
- 📣 UI Editor now in Beta with support for adding/removing views/cards
|
||||
- 🔧 [map card]: Fix `aspect_ratio`
|
||||
- 🔧 Fix Tap/Hold actions on Windows 10 machines with touchscreens
|
||||
|
||||
## {% linkable_title Changes in 0.83.0 %}
|
||||
- 📣 New card type: `shopping-list` ❤️
|
||||
- ❤️ New card type: `shopping-list`
|
||||
|
||||
## {% linkable_title Changes in 0.82.0 %}
|
||||
- 📣 New card type: `light` ❤️
|
||||
@ -18,33 +43,33 @@ footer: true
|
||||
- 📣 [gauge card]: can be themed
|
||||
- 📣 [light card]: can be themed
|
||||
- 📣 [thermostat card]: can be themed
|
||||
- `!secret` and `!include` usage restored for manual editing, but are not supported with the UI editor
|
||||
- 🔧 `!secret` and `!include` usage restored for manual editing, but are not supported with the UI editor
|
||||
|
||||
## {% linkable_title Changes in 0.81.0 %}
|
||||
- 📣 New card type: `alarm-panel` ❤️
|
||||
- 📣 New card type: `thermostat` ❤️
|
||||
- 📣 New card type: `entity-button` ❤️
|
||||
- ❤️ New card type: `alarm-panel`
|
||||
- ❤️ New card type: `thermostat`
|
||||
- ❤️ New card type: `entity-button`
|
||||
- 📣 [glance card]: can be themed
|
||||
- 📣 [glance card]: define columns within
|
||||
- 📣 [entity button]: can be themed
|
||||
- Long press is now supported
|
||||
- Update to allow the use of Custom UI. If you run into issues please disable Custom UI and test before reporting them. If the issue goes away without Custom UI please report this to the Custom UI developer as this is not officially supported.
|
||||
- 📣 [entity button card]: can be themed
|
||||
- 📣 Long press is now supported
|
||||
- 📣 Update to allow the use of Custom UI. If you run into issues please disable Custom UI and test before reporting them. If the issue goes away without Custom UI please report this to the Custom UI developer as this is not officially supported.
|
||||
|
||||
## {% linkable_title Changes in 0.80.0 %}
|
||||
- 📣 New card type: `sensor` ❤️
|
||||
- 📣 New card type: `gauge` ❤️
|
||||
- ❤️ New card type: `sensor`
|
||||
- ❤️ New card type: `gauge`
|
||||
|
||||
## {% linkable_title Changes in 0.77.0 %}
|
||||
- 📣 New notification drawer ❤️
|
||||
- ❤️ New notification drawer
|
||||
|
||||
## {% linkable_title Changes in 0.75.0 %}
|
||||
|
||||
### Breaking changes
|
||||
- 📣 [glance card]: `turn-on` replaced with `call-service`
|
||||
- ⚠️ [glance card]: `turn-on` replaced with `call-service`
|
||||
|
||||
### All changes
|
||||
- 📣 Add support for CSS imports ❤️
|
||||
- 📣 New card type: `conditional-card` ❤️ - Drop your [entity filter card] hacks
|
||||
- 📣 Add support for CSS imports
|
||||
- ❤️ New card type: `conditional-card` (Drop your [entity filter card] hacks)
|
||||
- 📣 [picture glance card]: Add support for custom icons
|
||||
- 📣 [picture entity card]: Supports hiding name and/or state
|
||||
- 📣 [glance card]: `turn-on` replaced with `call-service`
|
||||
@ -62,27 +87,18 @@ footer: true
|
||||
- 🔧 [history graph card]: Fix cache of image between views
|
||||
|
||||
## {% linkable_title Changes in 0.74.0 %}
|
||||
- ❤️ [Lovelace card gallery](https://home-assistant-lovelace-gallery.netlify.com/)
|
||||
- 📣 [Lovelace card gallery](https://home-assistant-lovelace-gallery.netlify.com/)
|
||||
- 🔧 Async communication improvements
|
||||
|
||||
### Views
|
||||
- 📣 Allow views with badges and no cards
|
||||
- 📣 Add basic support for `badges` like in old view style
|
||||
- 🔧 Custom cards now work with `panel: true`
|
||||
|
||||
### Cards
|
||||
- 📣 [picture elements card]: Allow custom elements including custom cards
|
||||
- 📣 [entities card]: Separate row entity elements, and add `secondary_info` ❤️
|
||||
- 📣 [entities card]: Separate row entity elements, and add `secondary_info`
|
||||
- 📣 [glance card]: Make column width configurable
|
||||
- 🔧 [picture glance card]: Use custom off states
|
||||
- 🔧 [picture glance card]: Fixed to work again with [entity filter card]
|
||||
- 🔧 Removed `text-transform: capitalize;` from card heading
|
||||
|
||||
## {% linkable_title Changes in 0.74.0b0 %}
|
||||
|
||||
### Views
|
||||
- Add basic support for `badges` like in old view style
|
||||
- Custom cards now work with `panel: true`
|
||||
|
||||
### Cards
|
||||
- 📣 [glance card]: Entity `tap_action` can now be `toggle` and `turn-on` besides the default of showing the more info dialog
|
||||
- 📣 [glance card]: Support added to hide `name` or `state`
|
||||
- 📣 [history graph card]: Support added to override entity names
|
||||
@ -91,15 +107,18 @@ footer: true
|
||||
- 📣 [picture elements card]: Support new element type `service-icon`
|
||||
- 🔧 [entity filter card]: Fix edge cases that could make it crash ([supports this new use case](https://github.com/home-assistant/ui-schema/issues/82))
|
||||
- 🔧 [picture glance card]: Fix crash when the state of entity was unavailable
|
||||
- 🔧 [picture glance card]: Use custom off states
|
||||
- 🔧 [picture glance card]: Fixed to work again with [entity filter card]
|
||||
- 🔧 Removed `text-transform: capitalize;` from card heading
|
||||
|
||||
## {% linkable_title 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)
|
||||
- 📣 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
|
||||
- ❤️ New card type: `map` that allows showing `device_tracker` entities on a map card
|
||||
- 📣 [entities card] card now support `type: custom:state-card-custom` for the entities list
|
||||
|
||||
## {% linkable_title Changes in 0.73.0 %}
|
||||
@ -108,10 +127,6 @@ footer: true
|
||||
|
||||
- 📣 New button to show unused entities in Lovelace
|
||||
|
||||
## {% linkable_title Changes in 0.73.0b5 %}
|
||||
|
||||
- 🏁 Only minor fixes in this release
|
||||
|
||||
## {% linkable_title Changes in 0.73.0b4 %}
|
||||
|
||||
### Cards
|
||||
@ -119,9 +134,9 @@ footer: true
|
||||
- 📣 [picture entity card] allow hiding of infobar using `show_info: false`
|
||||
- 📣 [picture entity card] now supports `tap_action` parameter allowing you to switch from `on`/`off` to `more-info-dialog`
|
||||
- 📣 [picture glance card] now supports `navigation_path`
|
||||
- [picture entity card] renamed `title` to `name`
|
||||
- [picture elements card] renamed `path` to `navigation_path`
|
||||
- ‼️ `camera-preview` card removed, features added to [picture entity card] and [picture glance card]
|
||||
- ⚠️ [picture entity card] renamed `title` to `name`
|
||||
- ⚠️ [picture elements card] renamed `path` to `navigation_path`
|
||||
- ⚠️ `camera-preview` card removed, features added to [picture entity card] and [picture glance card]
|
||||
|
||||
## {% linkable_title Changes in 0.73.0b3 %}
|
||||
|
||||
@ -131,33 +146,29 @@ footer: true
|
||||
|
||||
### Cards
|
||||
|
||||
- 📣 New card: `picture` for triggering navigation and services
|
||||
- ❤️ New card: `picture` for triggering navigation and services
|
||||
- 📣 [picture elements card] now supports `navigation` type
|
||||
- 📣 [picture entity card] now supports `camera_image`
|
||||
- 📣 [picture glance card] now supports `camera_image`
|
||||
- 📣 [picture glance card] now supports `state_image` and `entity` like [picture entity card]
|
||||
- 📣 [entity filter card] now supports custom name for entities like `glance` and [entities card]
|
||||
- [entities card] and `glance` custom titles now use `name` not `title`
|
||||
- [entity filter card] now uses [entities card] as a static list to filter state against
|
||||
- [entity filter card] uses `state_filter` array instead of `filter` object
|
||||
- ⚠️ [entities card] and `glance` custom titles now use `name` not `title`
|
||||
- ⚠️ [entity filter card] now uses [entities card] as a static list to filter state against
|
||||
- ⚠️ [entity filter card] uses `state_filter` array instead of `filter` object
|
||||
- ⚠️ [entity filter card] no longer allows to show all entities or a full domain
|
||||
- 🔧 Fix wrapping and padding for `service-button` in [picture elements card]
|
||||
- ‼️ [entity filter card] no longer allows to show all entities or a full domain
|
||||
|
||||
## {% linkable_title Changes in 0.73.0b2 %}
|
||||
|
||||
- :zap: Went by too fast :zap:
|
||||
|
||||
## {% linkable_title Changes in 0.73.0b1 %}
|
||||
|
||||
### Cards
|
||||
|
||||
- `column` renamed to `vertical-stack`
|
||||
- `row` renamed to `horizontal-stack`
|
||||
- [picture elements card] new `state-badge` using `ha-state-label-badge`
|
||||
- [picture elements card] renamed `state-badge` to `state-icon`
|
||||
- [picture elements card] renamed `state-text` to `state-label`
|
||||
- [picture elements card] moved/renamed `service.data` to `service_data`
|
||||
- [picture elements card] combined `service.domain` and `service.server` into `service`
|
||||
- ⚠️ `column` renamed to `vertical-stack`
|
||||
- ⚠️ `row` renamed to `horizontal-stack`
|
||||
- ⚠️ [picture elements card] renamed `state-badge` to `state-icon`
|
||||
- ⚠️ [picture elements card] renamed `state-text` to `state-label`
|
||||
- ⚠️ [picture elements card] moved/renamed `service.data` to `service_data`
|
||||
- 📣 [picture elements card] new `state-badge` using `ha-state-label-badge`
|
||||
- 📣 [picture elements card] combined `service.domain` and `service.server` into `service`
|
||||
- 📣 [entities card] allow custom title just like `glance`
|
||||
- 📣 [entity filter card] allow auto-hide if empty using `show_empty: false`
|
||||
- 🔧 Fix card size calculation `horizontal-stack`/`vertical-stack`
|
||||
@ -169,18 +180,18 @@ footer: true
|
||||
### 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
|
||||
- ⚠️ `name` renamed `title` to match cards setup
|
||||
- ⚠️ `tab_icon` renamed `icon` for simplicity
|
||||
|
||||
### Cards
|
||||
|
||||
- 📣 New card: [picture elements card]
|
||||
- 📣 New card: `column`
|
||||
- 📣 New card: `row`
|
||||
- ❤️ New card: [picture elements card]
|
||||
- ❤️ New card: `column`
|
||||
- ❤️ New card: `row`
|
||||
- 📣 `glance` allow custom title for entities - rename your entity only in this card
|
||||
- 📣 [entities card] toggle button in a header can now be hidden using `show_header_toggle: false`
|
||||
- `entity-picture` renamed [picture entity card] to be consistent with [picture glance card]
|
||||
- [entity filter card] removed `card_config` and made `card` property an object
|
||||
- ⚠️ `entity-picture` renamed [picture entity card] to be consistent with [picture glance card]
|
||||
- ⚠️ [entity filter card] removed `card_config` and made `card` property an object
|
||||
- 🔧 Fix use of groups in [picture entity card]
|
||||
- 🔧 Fix the title in `glance` to avoid overlapping
|
||||
|
||||
@ -189,16 +200,33 @@ footer: true
|
||||
### Cards
|
||||
|
||||
- 🐞 Bug introduced in `glance` card - titles now overlap
|
||||
- 📣 New card: `iframe`
|
||||
- ❤️ New card: `iframe`
|
||||
|
||||
## {% linkable_title Changes in 0.72 %}
|
||||
|
||||
- Initial release of the Lovelace UI
|
||||
- ❤️ Initial release of the Lovelace UI
|
||||
|
||||
[alarm panel card]: /lovelace/alarm-panel/
|
||||
[conditional card]: /lovelace/conditional/
|
||||
[entities card]: /lovelace/entities/
|
||||
[entity button card]: /lovelace/entity-button/
|
||||
[entity filter card]: /lovelace/entity-filter/
|
||||
[gauge card]: /lovelace/gauge/
|
||||
[glance card]: /lovelace/glance/
|
||||
[history graph card]: /lovelace/history-graph/
|
||||
[picture glance card]: /lovelace/picture-glance/
|
||||
[horizontal stack card]: /lovelace/horizontal-stack/
|
||||
[iframe card]: /lovelace/iframe/
|
||||
[light card]: /lovelace/light/
|
||||
[map card]: /lovelace/map/
|
||||
[markdown card]: /lovelace/markdown/
|
||||
[media control card]: /lovelace/media-control/
|
||||
[picture elements card]: /lovelace/picture-elements/
|
||||
[picture entity card]: /lovelace/picture-entity/
|
||||
[entity filter card]: /lovelace/entity-filter/
|
||||
[entities card]: /lovelace/entities/
|
||||
[picture glance card]: /lovelace/picture-glance/
|
||||
[picture card]: /lovelace/picture/
|
||||
[plant status card]: /lovelace/plant-status/
|
||||
[sensor card]: /lovelace/sensor/
|
||||
[shopping list card]: /lovelace/shopping-list/
|
||||
[thermostat card]: /lovelace/thermostat/
|
||||
[vertical stack card]: /lovelace/vertical-stack/
|
||||
[weather forecast card]: /lovelace/weather-forecast/
|
||||
|
21
source/lovelace/how-it-works.markdown
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
layout: page
|
||||
title: "How Lovelace Works"
|
||||
description: "Explains how Lovelace works under the hood."
|
||||
date: 2018-07-01 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
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 separate file, controlled by the user.
|
||||
|
||||
<p class='img'>
|
||||
<img
|
||||
src='/images/lovelace/lovelace-ui-comparison.png'
|
||||
alt='Diagram showing how states no longer contain UI configuration.'>
|
||||
Visual comparison of old configuration versus new configuration
|
||||
</p>
|
||||
|
||||
<!-- source: https://docs.google.com/drawings/d/1O1o7-wRlnsU1lLgfdtn3s46P5StJjSL5to5RU9SV8zs/edit?usp=sharing -->
|
@ -10,174 +10,16 @@ footer: true
|
||||
redirect_from: /components/lovelace/
|
||||
---
|
||||
|
||||
<p class='note'>
|
||||
This is an experimental feature. Configuration might change in future versions.
|
||||
</p>
|
||||
|
||||
Starting with Home Assistant 0.72, we're experimenting with a new way of defining your interface. We're calling it the Lovelace UI.
|
||||
|
||||
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.](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.
|
||||
Lovelace is the name of the Home Assistant user interface. It is a fast, customizable and powerful way for users to manage their homes, working both on mobile and desktop.
|
||||
|
||||
<div class='videoWrapper'>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/6FX9_leiikw" frameborder="0" allowfullscreen></iframe>
|
||||
</div>
|
||||
|
||||
<p class='note warning'>
|
||||
If you're not using Firefox 63+ or Chrome, please be sure to [read the FAQ](/lovelace/#faq) below.
|
||||
</p>
|
||||
|
||||
## {% linkable_title 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 separate file, controlled by the user.
|
||||
|
||||
<p class='img'>
|
||||
<img
|
||||
src='/images/lovelace/lovelace-ui-comparison.png'
|
||||
alt='Diagram showing how states no longer contain UI configuration.'>
|
||||
Visual comparison of old configuration versus new configuration
|
||||
</p>
|
||||
|
||||
<!-- source: https://docs.google.com/drawings/d/1O1o7-wRlnsU1lLgfdtn3s46P5StJjSL5to5RU9SV8zs/edit?usp=sharing -->
|
||||
|
||||
## {% linkable_title Trying it out %}
|
||||
|
||||
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.
|
||||
|
||||
As a super minimal example, here's the bare minimum you will need for this to work:
|
||||
|
||||
```yaml
|
||||
title: My Awesome Home
|
||||
views:
|
||||
# View tab title.
|
||||
- title: Example
|
||||
panel: true
|
||||
# Makes the first card fill the view
|
||||
cards:
|
||||
# The markdown card will render markdown text.
|
||||
- type: markdown
|
||||
title: Lovelace
|
||||
content: >
|
||||
Welcome to your **Lovelace UI**.
|
||||
```
|
||||
|
||||
A slightly more advanced example shows additional elements which can be used to customize your frontend.
|
||||
|
||||
```yaml
|
||||
title: My Awesome Home
|
||||
# Include external resources
|
||||
resources:
|
||||
- url: /local/my-custom-card.js
|
||||
type: js
|
||||
- url: /local/my-webfont.css
|
||||
type: css
|
||||
|
||||
# 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
|
||||
# Unique id for direct access /lovelace/${id} and editing it from the UI.
|
||||
id: example
|
||||
# Optional background (overwrites the global background).
|
||||
background: radial-gradient(crimson, skyblue)
|
||||
# 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
|
||||
- id: peoplehome # Every card needs an ID, for it to be edited from the UI.
|
||||
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**.
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
## {% linkable_title IDs for cards and views %}
|
||||
If you want to edit your views and cards from the UI, every card and view needs an ID. This ID is used to save your config from the UI.
|
||||
|
||||
## {% linkable_title Configuration splitting %}
|
||||
`ui-lovelace.yaml` only supports basic configuration splitting. Only `!include` and `!secret` are supported, be aware that content that is included with `!include` and `!secret` can not be edited from the UI.
|
||||
|
||||
## {% linkable_title Setting Lovelace as the Default UI %}
|
||||
Once you are ready to start using Lovelace UI as your main user interface, click on info, the "i" icon under 'Developer Tools" in the Home Assistant side-bar. Next, locate >>Set Lovelace as default page on this device<< under the Home Assistant version information and click it.
|
||||
Lovelace is not the default UI just yet, but we're really close. Once you are ready to start using Lovelace UI as your main user interface, click on info, the "i" icon under 'Developer Tools" in the Home Assistant side-bar. Next, locate >>Set Lovelace as default page on this device<< under the Home Assistant version information and click it.
|
||||
|
||||
Note that this is a per-device setting and will need to be changed on each device you access the UI from.
|
||||
|
||||
## {% linkable_title Custom Cards %}
|
||||
## {% linkable_title Discuss Lovelace %}
|
||||
|
||||
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).
|
||||
|
||||
## {% linkable_title 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) and in the [chat](/join-chat/) in #lovelace.
|
||||
|
||||
## {% linkable_title FAQ %}
|
||||
|
||||
### {% linkable_title I am running Firefox but, custom cards like gauge-card look bad or don't load at all. How do I fix this? %}
|
||||
|
||||
This is probably because your version of Firefox doesn't have custom components supported or enabled. Please upgrade to version 63 or higher, otherwise set `dom.webcomponents.customelements.enabled` and `dom.webcomponents.shadowdom.enabled` to `true` in `about:config`.
|
||||
|
||||
### {% linkable_title Custom cards don't load on my iOS device? %}
|
||||
|
||||
Home Assistant comes with two versions of the frontend. A compatibility mode for older devices and a modern mode. The custom cards need to target one mode and usually choose the modern mode. Before Home Assistant 0.76, we had an issue in the automation and script editor that prevented modern iOS and Mac devices running Safari from using the modern mode.
|
||||
|
||||
If you can, resolve this issue by upgrading to Home Assistant 0.76 or later. If you are on an older version and don't mind that the automation and script editor don't work on iOS devices, you can force the new version via the configuration:
|
||||
|
||||
```yaml
|
||||
frontend:
|
||||
javascript_version: latest
|
||||
```
|
||||
|
||||
### {% linkable_title I would like to add an image to my card, but I do not know where to put them. %}
|
||||
|
||||
Given examples refer to `/local/example_image.jpg`. That means you should have `www` directory next to your HA `configuration.yaml`. An image kept in `HA_configuration_dir/www/example_image.jpg` will be shown after refreshing Lovelace page.
|
||||
|
||||
Restart Home Assistant after creating the `www` directory. Otherwise, HA will not know that you created this directory.
|
||||
|
||||
### {% linkable_title My `ui-lovelace.yaml` file suddenly has ID's added to all cards and views! %}
|
||||
|
||||
In version 0.81.0 we started preparing for the ability to edit you Lovelace UI from the UI itself. To be able to do this every view and card should have a unique ID. If your cards or views didn't had an ID, Home Assistant would add a random one. This behaviour was changed in 0.81.1, Home Assistant will no longer change your configuration without asking first. You can edit the generated ID, the only restriction is that it is unique. You could even delete the IDs if you don't want to use the UI edit functionality.
|
||||
Lovelace is still under development and we're always looking at making things better. 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.
|
||||
|
@ -15,6 +15,25 @@ might help you when working with Lovelace.
|
||||
*Have a tip or trick of your own? Click the "Edit this page on GitHub" at the
|
||||
top of this page to share it with everyone!*
|
||||
|
||||
## {% linkable_title Tips & Tricks %}
|
||||
|
||||
### {% linkable_title Add your your own image to Lovelace %}
|
||||
|
||||
Home Assistant allows you to make files in `<config dir>/www/example_image.jpg` available to Lovelace as `/local/example_image.jpg`. When you create the `www` directory, you will need to once restart Home Assistant to pick it up. After that, any new file placed in the directory will automatically be available.
|
||||
|
||||
### {% linkable_title Disable Click on Elements %}
|
||||
|
||||
If you do not want an element to be clickable you can add `pointer-events: none`
|
||||
to the element's `style:` configuration. This is quite useful when building a
|
||||
[Picture Elements][picture-elements] card that will be viewed mostly in a
|
||||
mobile browser. (@Toast)
|
||||
|
||||
### {% linkable_title Header Using Panel and Stacks %}
|
||||
|
||||
You can create a header by using `panel: true` with nested
|
||||
[Vertical Stack][vertical-stack] and [Horizontal Stack][horizontal-stack]
|
||||
cards. See the code [here][header-stacks]. ([@dale3h])
|
||||
|
||||
## {% linkable_title Tools %}
|
||||
|
||||
We have some amazing users that have created various tools to help you get
|
||||
@ -35,31 +54,6 @@ you with the ability to split your Lovelace configuration into multiple files.
|
||||
|
||||
The [Lovelace Jinja2 Script][lovelace-jinja] by [@skalavala] is a simple Jinja2 script that you run in the template editor to generate lovelace configuration based on the entities that are already setup.
|
||||
|
||||
<p class='note'>
|
||||
Lovelace only has limited file splitting functionality, due to the fact that Home Assistant
|
||||
will be writing directly to the `ui-lovelace.yaml` file.
|
||||
|
||||
Only `!include` and `!secret` are supported at the moment.
|
||||
|
||||
If you want to split your configuration you can use one of the tools listed above, but edits done with the UI will
|
||||
be overwritten by those tools, so you should not use both.
|
||||
</p>
|
||||
|
||||
## {% linkable_title Tips and Tricks %}
|
||||
|
||||
### {% linkable_title Header Using Panel and Stacks %}
|
||||
|
||||
You can create a header by using `panel: true` with nested
|
||||
[Vertical Stack][vertical-stack] and [Horizontal Stack][horizontal-stack]
|
||||
cards. See the code [here][header-stacks]. ([@dale3h])
|
||||
|
||||
### {% linkable_title Disable Click on Elements %}
|
||||
|
||||
If you do not want an element to be clickable you can add `pointer-events: none`
|
||||
to the element's `style:` configuration. This is quite useful when building a
|
||||
[Picture Elements][picture-elements] card that will be viewed mostly in a
|
||||
mobile browser. (@Toast)
|
||||
|
||||
[@dale3h]: https://github.com/dale3h
|
||||
[@thomasloven]: https://github.com/thomasloven
|
||||
[@skalavala]: https://github.com/skalavala
|
||||
|
@ -34,9 +34,9 @@ views:
|
||||
required: false
|
||||
description: Cards to display in this view.
|
||||
type: list
|
||||
id:
|
||||
path:
|
||||
required: false
|
||||
description: IDs are used in the URL, more info below. If you don't specify an ID, a random one will be added automatically.
|
||||
description: Paths are used in the URL, more info below.
|
||||
type: string
|
||||
default: view index
|
||||
icon:
|
||||
@ -58,11 +58,9 @@ views:
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
## {% linkable_title IDs %}
|
||||
## {% linkable_title Paths %}
|
||||
|
||||
You can link to one view from another view by its ID. For this use cards that support navigation (`navigation_path`). Do not use special characters in IDs.
|
||||
|
||||
IDs are also used to identify a view for editing in the Home Assistant frontend (not yet released), we will add a randomly generated ID to your view if you don't specify one. You can change this ID, as long as every view has a unique ID.
|
||||
You can link to one view from another view by its path. For this use cards that support navigation (`navigation_path`). Do not use special characters in paths.
|
||||
|
||||
### {% linkable_title Example %}
|
||||
|
||||
@ -71,7 +69,7 @@ View config:
|
||||
```yaml
|
||||
- title: Living room
|
||||
# the final path is /lovelace/living_room
|
||||
id: living_room
|
||||
path: living_room
|
||||
```
|
||||
|
||||
Picture card config:
|
||||
|
104
source/lovelace/yaml-mode.markdown
Normal file
@ -0,0 +1,104 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Lovelace YAML mode"
|
||||
description: "Advanced users can switch on the advanced YAML mode."
|
||||
date: 2018-07-01 10:28 +00:00
|
||||
sidebar: true
|
||||
comments: false
|
||||
sharing: true
|
||||
footer: true
|
||||
---
|
||||
|
||||
It is possible to write your Lovelace config in YAML instead of via the UI. To do so, you will need to configure the Lovelace component to be in yaml mode:
|
||||
|
||||
```yaml
|
||||
lovelace:
|
||||
mode: yaml
|
||||
```
|
||||
|
||||
Restart Home Assistant for the mode to be changed. 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.
|
||||
|
||||
As a super minimal example, here's the bare minimum you will need for this 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 shows additional elements which can be used to customize your frontend.
|
||||
|
||||
```yaml
|
||||
title: My Awesome Home
|
||||
# Include external resources
|
||||
resources:
|
||||
- url: /local/my-custom-card.js
|
||||
type: js
|
||||
- url: /local/my-webfont.css
|
||||
type: css
|
||||
|
||||
# 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
|
||||
# Unique path for direct access /lovelace/${path}
|
||||
path: example
|
||||
# Optional background (overwrites the global background).
|
||||
background: radial-gradient(crimson, skyblue)
|
||||
# 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**.
|
||||
```
|
||||
|
||||
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 in the menu at the top of the UI.
|