mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-23 09:17:06 +00:00
Merge branch 'current' into next
This commit is contained in:
commit
58f7bd7009
@ -79,7 +79,7 @@ GEM
|
||||
mini_portile2 (~> 2.4.0)
|
||||
pathutil (0.16.2)
|
||||
forwardable-extended (~> 2.6)
|
||||
public_suffix (4.0.5)
|
||||
public_suffix (4.0.6)
|
||||
rack (2.2.3)
|
||||
rack-protection (2.0.8.1)
|
||||
rack
|
||||
|
@ -474,3 +474,17 @@ automation:
|
||||
- platform: sun
|
||||
event: sunset
|
||||
```
|
||||
|
||||
### Multiple Entity IDs for the same Trigger
|
||||
|
||||
It is possible to specify multiple entities for the same trigger. To do so add multiple entities using a nested list. The trigger will fire and start, [processing](#what-are-triggers) your automation each time the trigger is true for each entity listed.
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id:
|
||||
- sensor.one
|
||||
- sensor.two
|
||||
- sensor.three
|
||||
```
|
||||
|
@ -407,7 +407,7 @@ Just use the "Square bracket notation" to get the value.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
'{{ value_json['values']['temp'] }}'
|
||||
"{{ value_json['values']['temp'] }}"
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
|
@ -45,10 +45,10 @@ input_select:
|
||||
name: Threat level
|
||||
# A collection is used for options
|
||||
options:
|
||||
- 0
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- 0
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
initial: 0
|
||||
```
|
||||
|
||||
|
@ -68,7 +68,7 @@ There are reports that devices running with iOS prior to iOS 10, especially old
|
||||
|
||||
| Browser | Release | State | Comments |
|
||||
| :-------------------- |:---------------|:-----------|:-------------------------|
|
||||
| [LG webOS TV Built-in]| 2019-2020 | fails | loads empty page |
|
||||
| [LG webOS TV Built-in]| webOS 04.80.03 | works | including magic remote |
|
||||
|
||||
[Chrome]: https://www.google.com/chrome/
|
||||
[Chromium]: https://www.chromium.org/
|
||||
@ -89,4 +89,4 @@ There are reports that devices running with iOS prior to iOS 10, especially old
|
||||
[Uzbl]: https://www.uzbl.org/
|
||||
[w3m]: http://w3m.sourceforge.net/
|
||||
[Waterfox]: https://www.waterfoxproject.org
|
||||
[LG webOS TV Built-In]: https://www.lg.com/uk/support/solutions/tv/smart-tv/internet-browsing
|
||||
[LG webOS TV Built-In]: https://www.lg.com/uk/support/help-library/details-on-enjoying-internet-browsing-on-your-lg-webos-tv-CT00008334-1435838149474
|
||||
|
@ -92,15 +92,14 @@ mqtt:
|
||||
|
||||
### CloudMQTT
|
||||
|
||||
[CloudMQTT](https://www.cloudmqtt.com) is a hosted private MQTT instance that is free for up to 10 connected devices. This is enough to get started with for example [OwnTracks](/integrations/owntracks/) and give you a taste of what is possible.
|
||||
[CloudMQTT](https://www.cloudmqtt.com) is a hosted private MQTT instance. Plans start at 5$ per months.
|
||||
|
||||
<div class='note'>
|
||||
Home Assistant is not affiliated with CloudMQTT nor will receive any kickbacks.
|
||||
</div>
|
||||
|
||||
1. [Create an account](https://customer.cloudmqtt.com/login) (no payment details needed)
|
||||
1. [Create an account](https://customer.cloudmqtt.com/login)
|
||||
2. [Create a new CloudMQTT instance](https://customer.cloudmqtt.com/subscription/create)
|
||||
(Cute Cat is the free plan)
|
||||
3. From the control panel, click on the _Details_ button.
|
||||
4. Create unique users for Home Assistant and each phone to connect<br>(CloudMQTT does not allow two connections from the same user)
|
||||
1. Under manage users, fill in username, password and click add
|
||||
|
@ -275,6 +275,7 @@ The following software has built-in support for MQTT discovery:
|
||||
- [Zwave2Mqtt](https://github.com/OpenZWave/Zwave2Mqtt) (starting with 2.0.1)
|
||||
- [IOTLink](https://iotlink.gitlab.io) (starting with 2.0.0)
|
||||
- [WyzeSense2MQTT](https://github.com/raetha/wyzesense2mqtt)
|
||||
- [MiFlora MQTT Daemon](https://github.com/ThomDietrich/miflora-mqtt-daemon)
|
||||
|
||||
## Examples
|
||||
|
||||
|
@ -110,6 +110,7 @@ condition:
|
||||
|
||||
You can optionally use a `value_template` to process the value of the state before testing it.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
condition:
|
||||
condition: numeric_state
|
||||
@ -117,8 +118,9 @@ condition:
|
||||
above: 17
|
||||
below: 25
|
||||
# If your sensor value needs to be adjusted
|
||||
value_template: {% raw %}'{{ float(state.state) + 2 }}'{% endraw %}
|
||||
value_template: '{{ float(state.state) + 2 }}'
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
It is also possible to test the condition against multiple entities at once.
|
||||
The condition will pass if all entities match the thresholds.
|
||||
@ -236,21 +238,25 @@ For an in-depth explanation of sun elevation, see [sun elevation trigger][sun_el
|
||||
|
||||
[sun_elevation_trigger]: /docs/automation/trigger/#sun-elevation-trigger
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
condition:
|
||||
condition: and # 'twilight' condition: dusk and dawn, in typical locations
|
||||
conditions:
|
||||
- condition: template
|
||||
value_template: {% raw %}'{{ state_attr("sun.sun", "elevation") < 0 }}'{% endraw %}
|
||||
value_template: "{{ state_attr('sun.sun', 'elevation') < 0 }}"
|
||||
- condition: template
|
||||
value_template: {% raw %}'{{ state_attr("sun.sun", "elevation") > -6 }}'{% endraw %}
|
||||
value_template: "{{ state_attr('sun.sun', 'elevation') > -6 }}"
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
condition:
|
||||
condition: template # 'night' condition: from dusk to dawn, in typical locations
|
||||
value_template: {% raw %}'{{ state_attr("sun.sun", "elevation") < -6 }}'{% endraw %}
|
||||
value_template: "{{ state_attr('sun.sun', 'elevation') < -6 }}"
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
#### Sunset/sunrise condition
|
||||
|
||||
@ -304,11 +310,13 @@ A visual timeline is provided below showing an example of when these conditions
|
||||
|
||||
The template condition tests if the [given template][template] renders a value equal to true. This is achieved by having the template result in a true boolean expression or by having the template render 'true'.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
condition:
|
||||
condition: template
|
||||
value_template: "{% raw %}{{ (state_attr('device_tracker.iphone', 'battery_level')|int) > 50 }}{% endraw %}"
|
||||
value_template: "{{ (state_attr('device_tracker.iphone', 'battery_level')|int) > 50 }}"
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
Within an automation, template conditions also have access to the `trigger` variable as [described here][automation-templating].
|
||||
|
||||
@ -394,6 +402,7 @@ condition:
|
||||
|
||||
### Examples
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
condition:
|
||||
- condition: numeric_state
|
||||
@ -410,3 +419,4 @@ condition:
|
||||
entity_id: script.light_turned_off_5min
|
||||
state: 'off'
|
||||
```
|
||||
{% endraw %}
|
||||
|
@ -2,33 +2,39 @@
|
||||
<!-- {% include edit_github.html %} -->
|
||||
{% assign cards = site.lovelace | sort_natural: 'title' %}
|
||||
|
||||
<div class='section'>
|
||||
<div class="section">
|
||||
<h1 class="title delta">Lovelace UI</h1>
|
||||
<ul class='divided sidebar-menu'>
|
||||
<ul class="divided sidebar-menu">
|
||||
<li>{% active_link /lovelace/ Introduction %}</li>
|
||||
<li>{% active_link /lovelace/changelog/ Changelog %}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class='section'>
|
||||
<div class="section">
|
||||
<h1 class="title delta">Advanced</h1>
|
||||
<ul class='divided sidebar-menu'>
|
||||
<ul class="divided sidebar-menu">
|
||||
<li>{% active_link /lovelace/how-it-works/ How it works %}</li>
|
||||
<li>{% active_link /lovelace/header-footer/ Headers & Footers %}</li>
|
||||
<li>{% active_link /lovelace/yaml-mode/ YAML mode %}</li>
|
||||
<li>{% active_link /lovelace/dashboards-and-views/ Dashboards & Views %}</li>
|
||||
<li>
|
||||
{% active_link /lovelace/dashboards-and-views/ Dashboards & Views %}
|
||||
</li>
|
||||
<li>{% active_link /lovelace/badges/ Badges %}</li>
|
||||
<li>{% active_link /lovelace/actions/ Actions %}</li>
|
||||
<li><a href='https://developers.home-assistant.io/docs/frontend/custom-ui/lovelace-custom-card.html'>Developing Custom Cards <i icon='icon-external-link'></i></a></li>
|
||||
<li>
|
||||
<a
|
||||
href="https://developers.home-assistant.io/docs/frontend/custom-ui/lovelace-custom-card.html"
|
||||
>Developing Custom Cards <i class="icon-external-link"></i
|
||||
></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class='section'>
|
||||
<div class="section">
|
||||
<h1 class="title delta">Cards</h1>
|
||||
<ul class='divided sidebar-menu'>
|
||||
<ul class="divided sidebar-menu">
|
||||
{% for card in cards %}
|
||||
<li>{% active_link {{card.url}} {{card.sidebar_label}} %}</li>
|
||||
<li>{% active_link {{card.url}} {{card.sidebar_label}} %}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
@ -35,6 +35,16 @@ There is currently support for the following device types within Home Assistant:
|
||||
|
||||
The Daikin integration can be configured via the Home Assistant user interface where it will let you enter the IP-address of your Daikin AC (SKYFi based devices need to provide a password and BRP072Cxx devices need to provide a key).
|
||||
|
||||
<div class='note'>
|
||||
|
||||
If your Daikin unit does not reside in the same network as your Home Assistant instance, i.e. your network is segmented, note that a couple of UDP connections are made during discovery:
|
||||
|
||||
- From Home Assistant to the Daikin controller: `UDP:30000` => `30050`
|
||||
- From the Daikin controller to Home Assistant: `UDP:<random port>` => `30000`
|
||||
|
||||
If this situation applies to you, you may need to adjust your firewall(s) accordingly.
|
||||
|
||||
</div>
|
||||
|
||||
## Climate
|
||||
|
||||
|
@ -19,6 +19,7 @@ Known supported devices:
|
||||
- Denon AVR-X1000
|
||||
- Denon AVR-X1200W
|
||||
- Denon AVR-X1300W
|
||||
- Denon AVR-X1400H
|
||||
- Denon AVR-X1500H
|
||||
- Denon AVR-X1600H
|
||||
- Denon AVR-X2000
|
||||
|
@ -56,6 +56,7 @@ Supported devices:
|
||||
|
||||
Tested devices:
|
||||
- Epson EH-TW5350
|
||||
- Epson EH-TW7000
|
||||
|
||||
To make this module work you need to connect your projector to your LAN.
|
||||
The best is to use iProjection app by Epson to test if it is working.
|
||||
|
@ -61,6 +61,7 @@ Once configuration is completed you'll see a Konnected.io entry in **Configurati
|
||||
The settings for each panel can be accessed by selecting the entry in **Configuration** -> **Integrations** => **Configured** and then clicking on the gear icon in the upper right corner. You can reconfigure these settings at any time and once completed the settings will be immediately applied.
|
||||
|
||||
The settings UI starts by having you configure the general behavior of each zone. You need to specify `Disabled`, `Binary Sensor`, `Digital Sensor`, or `Switchable Output` for each zone. After that, you'll be prompted, for each zone that is not disabled, to configure details of the zones' behavior. All zones will allow entry of a Name. Additional fields depend on how you configured the general behavior of the zone.
|
||||
**Note some zones do not support all behaviors. The UI will reflect specific options available to each zone.**
|
||||
|
||||
##### Binary Sensor:
|
||||
|
||||
|
@ -12,7 +12,7 @@ ha_domain: nuki
|
||||
|
||||
The `nuki` platform allows you to control [Nuki Smart Locks](https://nuki.io/en/smart-lock/) via either a [software bridge](https://play.google.com/store/apps/details?id=io.nuki.bridge) or a [physical bridge](https://nuki.io/en/bridge/).
|
||||
|
||||
To add a Nuki bridge to your installation, you need to enable developer mode on your bridge and define a port and an access token. This can be achieved using the [Android app](https://play.google.com/store/apps/details?id=io.nuki) or [iPhone app](https://apps.apple.com/app/nuki-smart-lock/id1044998081). Please note that the API token should be 6-20 characters long, even though the app allows you to set a longer one.
|
||||
To add a Nuki bridge to your installation, you need to enable developer mode on your bridge and define a port and an access token. This can be achieved using the [Android app](https://play.google.com/store/apps/details?id=io.nuki) or [iPhone app](https://apps.apple.com/app/nuki-smart-lock/id1044998081). Go to manage my devices, and select the bridge. Within the bridge configuration turn on the HTTP API and check the details in the screen. Please note that the API token should be 6-20 characters long, even though the app allows you to set a longer one.
|
||||
Then add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
|
@ -17,10 +17,6 @@ There is currently support for the following device types within Home Assistant:
|
||||
- [Binary Sensor](#binary-sensor)
|
||||
- [Sensor](#sensor)
|
||||
|
||||
<div class='note'>
|
||||
You must have the <a href="#configuration">OctoPrint component</a> configured (below) to use the sensor and binary sensor. After configuring that component, the sensors and binary sensors automatically appear.
|
||||
</div>
|
||||
|
||||
## Configuration
|
||||
|
||||
To get started with the OctoPrint API, please follow the directions on their [site](https://docs.octoprint.org/en/master/api/general.html). Once OctoPrint is configured you will need to add your API key and host to your `configuration.yaml`.
|
||||
|
@ -42,6 +42,7 @@ Both events have three attributes:
|
||||
To receive notifications of the entering flights using the [Home Assistant Companion App](https://companion.home-assistant.io/), add the following lines to your `configuration.yaml` file:
|
||||
|
||||
{% raw %}
|
||||
|
||||
```yaml
|
||||
automation:
|
||||
- alias: 'Flight entry notification'
|
||||
@ -51,6 +52,7 @@ automation:
|
||||
action:
|
||||
service: notify.mobile_app_<device_name>
|
||||
data:
|
||||
message : 'Flight entry of {{ trigger.event.data.callsign }} '
|
||||
message: 'Flight entry of {{ trigger.event.data.callsign }}'
|
||||
```
|
||||
|
||||
{% endraw %}
|
||||
|
@ -42,7 +42,7 @@ To enable this integration in your installation, add the following to your `conf
|
||||
proximity:
|
||||
home:
|
||||
ignored_zones:
|
||||
- twork
|
||||
- work
|
||||
devices:
|
||||
- device_tracker.car1
|
||||
tolerance: 50
|
||||
|
@ -97,9 +97,9 @@ monitored_conditions:
|
||||
irradiance:
|
||||
description: "Sun intensity in Watt per square meter ([W/m2](https://en.wikipedia.org/wiki/W/m2))."
|
||||
rainlast24hour:
|
||||
description: The rail over the last 24 hours (in mm).
|
||||
description: The rain over the last 24 hours (in mm).
|
||||
rainlasthour:
|
||||
description: The rail over the last hour (in mm).
|
||||
description: The rain over the last hour (in mm).
|
||||
temperature_1d:
|
||||
description: "The forecasted temperature (in [C](https://en.wikipedia.org/wiki/Celsius))."
|
||||
mintemp_1d:
|
||||
|
@ -2,6 +2,7 @@
|
||||
title: SimpliSafe
|
||||
description: Instructions on how to integrate SimpliSafe into Home Assistant.
|
||||
ha_release: 0.81
|
||||
ha_iot_class: Cloud Polling
|
||||
ha_category:
|
||||
- Alarm
|
||||
- Lock
|
||||
|
@ -132,7 +132,7 @@ In this example `12345` is the `home_id` you'll need to configure.
|
||||
|
||||
If the above method returns an unauthorized error. The `home_id` can also be found using Chrome developer tools. Whilst logged into https://my.tado.com/webapp, take the following steps:
|
||||
|
||||
- Select the "Networ"' tab
|
||||
- Select the "Network"' tab
|
||||
- Filter for "home"
|
||||
- Under "Name", select "users"
|
||||
- Click on the "Response" tab
|
||||
|
@ -67,6 +67,24 @@ automation:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
In order to also update the input select in case some external event changes the Vallox profile (web interface, mechanical switch, reboot, etc...) you can use the following automation:
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
automation:
|
||||
- alias: Update Vallox input_select
|
||||
description: Update input_select when external event changes the profile
|
||||
trigger:
|
||||
- entity_id: sensor.vallox_current_profile
|
||||
platform: state
|
||||
action:
|
||||
- data_template:
|
||||
entity_id: input_select.ventilation_profile
|
||||
option: "{{ states('sensor.vallox_current_profile') }}"
|
||||
service: input_select.select_option
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
## Fan Services
|
||||
|
||||
### Service `vallox.set_profile`
|
||||
|
@ -70,8 +70,8 @@ This integration provides sensors for the following information from WLED:
|
||||
- Estimated current (in mA).
|
||||
- Uptime (disabled by default)
|
||||
- Free memory (in bytes, disabled by default).
|
||||
- Wi-Fi Signal Strength (in %m disabled by default).
|
||||
- Wi-Fi Signal Strength (RSSI in dBm).
|
||||
- Wi-Fi Signal Strength (in %, disabled by default).
|
||||
- Wi-Fi Signal Strength (RSSI in dBm, disabled by default).
|
||||
- Wi-Fi Channel (disabled by default).
|
||||
- Wi-Fi BSSID (disabled by default).
|
||||
|
||||
|
@ -69,11 +69,6 @@ key:
|
||||
description: The key of your gateway. *Optional if only using sensors and/or binary sensors.*
|
||||
required: false
|
||||
type: string
|
||||
discovery_retry:
|
||||
description: Number of times that Home Assistant should try to discover subdevices of the gateway.
|
||||
required: false
|
||||
type: integer
|
||||
default: 3
|
||||
name:
|
||||
description: Name of the Gateway
|
||||
required: false
|
||||
@ -221,7 +216,6 @@ That means that Home Assistant is not getting any response from your Xiaomi gate
|
||||
- Make sure you have [enabled LAN access](https://www.domoticz.com/wiki/Xiaomi_Gateway_(Aqara)#Adding_the_Xiaomi_Gateway_to_Domoticz).
|
||||
- Turn off the firewall on the system where Home Assistant is running.
|
||||
- Ensure your router supports multicast as this is a requirement of the Xiaomi Gateway.
|
||||
- Try to set `discovery_retry: 10`.
|
||||
- Try to disable and then enable LAN access.
|
||||
- Hard reset the gateway: Press the button of the gateway 30 seconds and start again from scratch.
|
||||
- If you are using Home Assistant in [Docker](/docs/installation/docker/), make sure to use `--net=host`.
|
||||
|
@ -192,15 +192,15 @@ name:
|
||||
|
||||
### Supported Xiaomi gateway models:
|
||||
|
||||
| Gateway name | Zigbee id | model | supported |
|
||||
| ------------------ | ------------------- | ------------ |------------------------------------------ |
|
||||
| Chinese version | lumi.gateway.v3 | DGNWG02LM | yes |
|
||||
| European version | lumi.gateway.mieu01 | ZHWG11LM-763 | only gateway features (no subdevices yet) |
|
||||
| Aqara hub | lumi.gateway.aqhm01 | ZHWG11LM | untested |
|
||||
| Mijia Zigbee 3.0 | lumi.gateway.mgl03 | ZNDMWG03LM | untested |
|
||||
| Aqara AC Companion | lumi.acpartner.v1 | KTBL01LM | untested |
|
||||
| Mi AC Companion | lumi.acpartner.v2 | KTBL02LM | untested |
|
||||
| Aqara AC Companion | lumi.acpartner.v3 | KTBL11LM | yes |
|
||||
| Gateway name | Zigbee id | model | supported |
|
||||
| ------------------ | ------------------- | ------------------------ |------------------------------------------ |
|
||||
| Chinese version | lumi.gateway.v3 | DGNWG02LM | yes |
|
||||
| European version | lumi.gateway.mieu01 | ZHWG11LM-763 / DGNWQ05LM | only gateway features (no subdevices yet) |
|
||||
| Aqara hub | lumi.gateway.aqhm01 | ZHWG11LM | untested |
|
||||
| Mijia Zigbee 3.0 | lumi.gateway.mgl03 | ZNDMWG03LM | untested |
|
||||
| Aqara AC Companion | lumi.acpartner.v1 | KTBL01LM | untested |
|
||||
| Mi AC Companion | lumi.acpartner.v2 | KTBL02LM | untested |
|
||||
| Aqara AC Companion | lumi.acpartner.v3 | KTBL11LM | yes |
|
||||
|
||||
### Gateway Features
|
||||
|
||||
@ -1364,7 +1364,7 @@ The following table shows the units of measurement for each attribute:
|
||||
| `total_cleaned_area` | square meter | Total cleaned area in square meters |
|
||||
| `total_cleaning_time` | minutes | Total cleaning time in minutes |
|
||||
| `clean_start` | datetime | The last date/time the vacuum started cleaning (offset naive) |
|
||||
| `clean_end` | datetime | The last date/time the vacuum finished cleaning (offset naive) |
|
||||
| `clean_stop` | datetime | The last date/time the vacuum finished cleaning (offset naive) |
|
||||
|
||||
### Example on how to clean a specific room
|
||||
|
||||
|
@ -54,12 +54,12 @@ ZHA integration uses a hardware independent Zigbee stack implementation with mod
|
||||
- [ConBee USB adapter from dresden elektronik](https://phoscon.de/conbee)
|
||||
- [RaspBee II (a.k.a. RaspBee 2) Raspberry Pi Shield from dresden elektronik](https://www.dresden-elektronik.com/product/raspbee-II.html)
|
||||
- [RaspBee Raspberry Pi Shield from dresden elektronik](https://phoscon.de/raspbee)
|
||||
- EmberZNet based radios using the EZSP protocol (via the [bellows](https://github.com/zigpy/bellows) library for zigpy)
|
||||
- [ITEAD Sonoff ZBBridge](https://www.itead.cc/smart-home/sonoff-zbbridge.html) (Note! This first have to be flashed with [Tasmota firmware and EmberZNet 6.5.x.x](https://www.digiblur.com/2020/07/how-to-use-sonoff-zigbee-bridge-with.html))
|
||||
- Silicon Labs EmberZNet based radios using the EZSP protocol (via the [bellows](https://github.com/zigpy/bellows) library for zigpy)
|
||||
- [ITEAD Sonoff ZBBridge](https://www.itead.cc/smart-home/sonoff-zbbridge.html) (Note! This first have to be flashed with [Tasmota firmware and Silabs EmberZNet NCP EZSP UART Host firmware](https://www.digiblur.com/2020/07/how-to-use-sonoff-zigbee-bridge-with.html))
|
||||
- [Nortek GoControl QuickStick Combo Model HUSBZB-1 (Z-Wave & Zigbee USB Adapter)](https://www.nortekcontrol.com/products/2gig/husbzb-1-gocontrol-quickstick-combo/)
|
||||
- [Elelabs Zigbee USB Adapter](https://elelabs.com/products/elelabs_usb_adapter.html)
|
||||
- [Elelabs Zigbee Raspberry Pi Shield](https://elelabs.com/products/elelabs_zigbee_shield.html)
|
||||
- Bitron Video/Smabit BV AV2010/10 USB-Stick with Silicon Labs Ember 3587 (no flashing necessary)
|
||||
- Bitron Video/Smabit BV AV2010/10 USB-Stick with Silicon Labs Ember 3587
|
||||
- Telegesis ETRX357USB (Note! This first have to be flashed with other EmberZNet firmware)
|
||||
- Telegesis ETRX357USB-LRS (Note! This first have to be flashed with other EmberZNet firmware)
|
||||
- Telegesis ETRX357USB-LRS+8M (Note! This first have to be flashed with other EmberZNet firmware)
|
||||
|
@ -2123,10 +2123,11 @@
|
||||
# Lovelace documentation
|
||||
/lovelace/entity-button /lovelace/button
|
||||
/lovelace/views /lovelace/dashboards-and-views
|
||||
/lovelace/yaml-mode /lovelace/dashboards-and-views
|
||||
|
||||
# Removed documentation
|
||||
/docs/installation/hassbian /getting-started
|
||||
/docs/installation/macos /docs/installation/virtualenv
|
||||
/docs/installation/raspberry-pi-all-in-one /getting-started
|
||||
/getting-started/hassbian /getting-started
|
||||
/getting-started/installation-raspberry-pi-all-in-one /getting-started
|
||||
/getting-started/installation-raspberry-pi-all-in-one /getting-started
|
||||
|
@ -1,45 +1,46 @@
|
||||
---
|
||||
title: "Enable I2C on the Home Assistant Operating System"
|
||||
description: "Instructions on how to enable I2C on a Raspberry PI"
|
||||
description: "Instructions on how to enable I2C on a Raspberry Pi"
|
||||
---
|
||||
|
||||
Home Assistant using the Home Assistant Operating System is a managed environment, which means you can't use existing methods to enable the I2C bus on a Raspberry Pi.
|
||||
|
||||
If you're attempting to add an external sensor you will have to [enable the I2C interface in the Home Assistant configuration](https://github.com/home-assistant/hassos/blob/dev/Documentation/boards/raspberrypi.md#i2c) using a USB stick.
|
||||
|
||||
## Step by step instructions
|
||||
|
||||
You will need:
|
||||
|
||||
- USB drive
|
||||
- A way to add files to the USB drive
|
||||
- A way to connect the drive to your Raspberry Pi
|
||||
- SD card reader
|
||||
- SD card with Home Assistant Operating System flashed on it
|
||||
|
||||
### Step 1 - Prepare the USB drive
|
||||
### Step 1 - Access the Home Assistant OS boot partition
|
||||
|
||||
Connect the USB drive to a device capable of adding and editing files to the USB drive.
|
||||
|
||||
Format a USB stick with FAT32/EXT4/NTFS and name the drive `CONFIG` (uppercase).
|
||||
Shutdown/turn-off your Home Assistant installation and unplug the SD card.
|
||||
Plug the SD card into an SD card reader and find a drive/file system named
|
||||
`hassos-boot`. The file system might be shown/mounted automatically. If not,
|
||||
use your operating systems disk management utility to find the SD card reader
|
||||
and make sure the first partition is available.
|
||||
|
||||
### Step 2 - Add files to enable I2C
|
||||
|
||||
- In the root of the USB drive add a folder called `/modules`.
|
||||
- Inside that folder add a text file called `rpi-i2c.conf` with the following contents:
|
||||
- In the root of the `hassos-boot` partition, add a new folder called `CONFIG`.
|
||||
- In the `CONFIG` folder, add another new folder called `modules`.
|
||||
- Inside the `modules` folder add a text file called `rpi-i2c.conf` with the following content:
|
||||
```txt
|
||||
i2c-bcm2708
|
||||
i2c-dev
|
||||
```
|
||||
- In the root of the USB drive add a file called `config.txt` with the following contents:
|
||||
- In the root of the USB drive edit the file called `config.txt` add two lines
|
||||
to it:
|
||||
```txt
|
||||
dtparam=i2c1=on
|
||||
dtparam=i2c_vc=on
|
||||
dtparam=i2c_arm=on
|
||||
```
|
||||
|
||||
### Step 3 - Load the new USB configuration
|
||||
### Step 3 - Start with the new configuration
|
||||
|
||||
- Insert the USB drive into your Raspberry Pi.
|
||||
- Now go to your Home Assistant web interface, in the sidebar click **Supervisor** > **System**.
|
||||
- Now click `Import from USB`.
|
||||
- This will restart your Home Assistant instance, and load the new USB configuration.
|
||||
- Insert the SD card back into your Raspberry Pi.
|
||||
- On startup, the `hassos-config.service` will automatically pickup the new
|
||||
`rpi-i2c.conf` configuration.
|
||||
- Another reboot might be necessary to make sure the just imported `rpi-i2c.conf` is
|
||||
present at boot time.
|
||||
|
||||
When the service has restarted, you will have a working I2C interface.
|
||||
The I2C devices should now be present under /dev.
|
||||
|
152
source/lovelace/badges.markdown
Normal file
152
source/lovelace/badges.markdown
Normal file
@ -0,0 +1,152 @@
|
||||
---
|
||||
title: "Lovelace Badges"
|
||||
description: "Description of the various badges that are available."
|
||||
---
|
||||
|
||||
Badges are widgets that sit at the top of a Lovelace panel, above all the cards.
|
||||
|
||||
### State Label Badge
|
||||
|
||||
The State Label badge allows you to dislay a state badge. This badge supports [actions](/lovelace/actions/).
|
||||
|
||||
```yaml
|
||||
type: state-label
|
||||
entity: light.living_room
|
||||
```
|
||||
|
||||
{% configuration state_label %}
|
||||
type:
|
||||
required: true
|
||||
description: entity-button
|
||||
type: string
|
||||
entity:
|
||||
required: true
|
||||
description: Home Assistant entity ID.
|
||||
type: string
|
||||
name:
|
||||
required: false
|
||||
description: Overwrites friendly name.
|
||||
type: string
|
||||
default: Name of Entity
|
||||
icon:
|
||||
required: false
|
||||
description: Overwrites icon or entity picture.
|
||||
type: string
|
||||
default: Entity Domain Icon
|
||||
image:
|
||||
required: false
|
||||
description: The URL of an image.
|
||||
type: string
|
||||
show_name:
|
||||
required: false
|
||||
description: Show name.
|
||||
type: boolean
|
||||
default: "true"
|
||||
show_icon:
|
||||
required: false
|
||||
description: Show icon.
|
||||
type: boolean
|
||||
default: "true"
|
||||
{% endconfiguration %}
|
||||
|
||||
### Entity Filter Badge
|
||||
|
||||
This badge allows you to define a list of entities that you want to track only when in a certain state. Very useful for showing lights that you forgot to turn off or show a list of people only when they're at home.
|
||||
|
||||
{% configuration filter_badge %}
|
||||
type:
|
||||
required: true
|
||||
description: entity-filter
|
||||
type: string
|
||||
entities:
|
||||
required: true
|
||||
description: A list of entity IDs or `entity` objects, see below.
|
||||
type: list
|
||||
state_filter:
|
||||
required: true
|
||||
description: List of strings representing states or `filter` objects, see below.
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
#### Options For Entities
|
||||
|
||||
If you define entities as objects instead of strings (by adding `entity:` before entity ID), you can add more customization and configurations:
|
||||
|
||||
{% configuration entities %}
|
||||
type:
|
||||
required: false
|
||||
description: "Sets a custom badge type: `custom:my-custom-badge`"
|
||||
type: string
|
||||
entity:
|
||||
required: true
|
||||
description: Home Assistant entity ID.
|
||||
type: string
|
||||
name:
|
||||
required: false
|
||||
description: Overwrites friendly name.
|
||||
type: string
|
||||
icon:
|
||||
required: false
|
||||
description: Overwrites icon or entity picture.
|
||||
type: string
|
||||
image:
|
||||
required: false
|
||||
description: The URL of an image.
|
||||
type: string
|
||||
state_filter:
|
||||
required: false
|
||||
description: List of strings representing states or `filter` objects, see below.
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
#### Options For state_filter
|
||||
|
||||
If you define state_filter as objects instead of strings (by adding `value:` before your state value), you can add more customization to your filter:
|
||||
|
||||
{% configuration state_filter %}
|
||||
value:
|
||||
required: true
|
||||
description: String representing the state.
|
||||
type: string
|
||||
operator:
|
||||
required: false
|
||||
description: Operator to use in the comparison. Can be `==`, `<=`, `<`, `>=`, `>`, `!=` or `regex`.
|
||||
type: string
|
||||
attribute:
|
||||
required: false
|
||||
description: Attribute of the entity to use instead of the state.
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
#### Examples
|
||||
|
||||
Show only active switches or lights in the house
|
||||
|
||||
```yaml
|
||||
type: entity-filter
|
||||
entities:
|
||||
- entity: light.bed_light
|
||||
name: Bed
|
||||
- light.kitchen_lights
|
||||
- light.ceiling_lights
|
||||
state_filter:
|
||||
- "on"
|
||||
```
|
||||
|
||||
Specify filter for a single entity
|
||||
|
||||
```yaml
|
||||
type: entity-filter
|
||||
state_filter:
|
||||
- "on"
|
||||
- operator: ">"
|
||||
value: 90
|
||||
entities:
|
||||
- sensor.water_leak
|
||||
- sensor.outside_temp
|
||||
- entity: sensor.humidity_and_temp
|
||||
state_filter:
|
||||
- operator: ">"
|
||||
value: 50
|
||||
attribute: humidity
|
||||
```
|
@ -3,12 +3,35 @@ title: "Dashboards and Views"
|
||||
description: "The Lovelace UI is a powerful and configurable interface for Home Assistant."
|
||||
---
|
||||
|
||||
### Dashboards
|
||||
You can define multiple dashboards in Lovelace. Each dashboard can be added to the sidebar. This makes it possible to create separate control dashboards for each individual part of your house.
|
||||
|
||||
You can define multiple dashboards that all have their own YAML file, and add custom resources that are shared by all dashboards.
|
||||
To create new or manage existing (with `mode: storage` only) dashboards, click on `Configuration` in the sidebar and then on `Lovelace Dashboards`.
|
||||
You can manage your dashboards via the user interface. Go to configuration -> Lovelace Dashboards. Here you can see all defined dashboards and create new ones.
|
||||
|
||||
The key of the dashboard is used as the URL, this needs to contain a hyphen (`-`).
|
||||
### Using YAML for the default dashboard
|
||||
|
||||
To change the default dashboard, create a new file `ui-lovelace.yaml` in your configuration directory and add the following section to your `configuration.yaml` and restart Home Assistant:
|
||||
|
||||
```yaml
|
||||
lovelace:
|
||||
mode: yaml
|
||||
```
|
||||
|
||||
A good way to start this file is to copy and paste the "Raw configuration" from the UI so your manual configuration starts the same as your existing UI.
|
||||
|
||||
- Go into the `Overview` tab.
|
||||
- Click the three dots menu (top-right) and click on `Configure UI`.
|
||||
- Click the three dots menu again and click on `Raw config editor`.
|
||||
- There you see the configuration for your current Lovelace UI. Copy that into the `<config>/ui-lovelace.yaml` file.
|
||||
|
||||
Once you take control of your UI via YAML, the Home Assistant interface for modifying it won't be available anymore and new entities will not automatically be added to your UI.
|
||||
|
||||
When you make changes to `ui-lovelace.yaml`, you don't have to restart Home Assistant or refresh the page. Just hit the refresh button in the menu at the top of the UI.
|
||||
|
||||
To revert back to using the UI to edit your Lovelace interface, remove the `lovelace` section from your `configuration.yaml` and copy the contents of your `ui-lovelace.yaml` into the raw configuration section of Home Assistant and restart.
|
||||
|
||||
### Adding more dashboards with YAML
|
||||
|
||||
It is also possible to use YAML to define multiple dashboards. Each dashboard will be loaded from its own YAML file.
|
||||
|
||||
```yaml
|
||||
lovelace:
|
||||
@ -298,6 +321,7 @@ views:
|
||||
cards:
|
||||
...
|
||||
```
|
||||
|
||||
### Options For Visible
|
||||
|
||||
If you define `visible` as objects instead of a boolean to specify conditions for displaying the view tab:
|
||||
@ -349,279 +373,3 @@ frontend:
|
||||
example:
|
||||
lovelace-background: center / cover no-repeat url("/local/background.png") fixed
|
||||
```
|
||||
|
||||
## Badges
|
||||
|
||||
### State Label Badge
|
||||
|
||||
The State Label badge allows you to dislay a state badge
|
||||
|
||||
```yaml
|
||||
type: state-label
|
||||
entity: light.living_room
|
||||
```
|
||||
|
||||
{% configuration state_label %}
|
||||
type:
|
||||
required: true
|
||||
description: entity-button
|
||||
type: string
|
||||
entity:
|
||||
required: true
|
||||
description: Home Assistant entity ID.
|
||||
type: string
|
||||
name:
|
||||
required: false
|
||||
description: Overwrites friendly name.
|
||||
type: string
|
||||
default: Name of Entity
|
||||
icon:
|
||||
required: false
|
||||
description: Overwrites icon or entity picture.
|
||||
type: string
|
||||
default: Entity Domain Icon
|
||||
image:
|
||||
required: false
|
||||
description: The URL of an image.
|
||||
type: string
|
||||
show_name:
|
||||
required: false
|
||||
description: Show name.
|
||||
type: boolean
|
||||
default: "true"
|
||||
show_icon:
|
||||
required: false
|
||||
description: Show icon.
|
||||
type: boolean
|
||||
default: "true"
|
||||
tap_action:
|
||||
required: false
|
||||
description: Action to take on tap
|
||||
type: map
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
|
||||
type: string
|
||||
default: "`toggle`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
url_path:
|
||||
required: false
|
||||
description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
|
||||
type: string
|
||||
default: none
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
confirmation:
|
||||
required: false
|
||||
description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
|
||||
type: [boolean, map]
|
||||
default: "false"
|
||||
hold_action:
|
||||
required: false
|
||||
description: Action to take on tap-and-hold
|
||||
type: map
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
|
||||
type: string
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
url_path:
|
||||
required: false
|
||||
description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
|
||||
type: string
|
||||
default: none
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
confirmation:
|
||||
required: false
|
||||
description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
|
||||
type: [boolean, map]
|
||||
default: "false"
|
||||
double_tap_action:
|
||||
required: false
|
||||
description: Action to take on double tap
|
||||
type: map
|
||||
keys:
|
||||
action:
|
||||
required: true
|
||||
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
|
||||
type: string
|
||||
default: "`more-info`"
|
||||
navigation_path:
|
||||
required: false
|
||||
description: "Path to navigate to (e.g., `/lovelace/0/`) when `action` defined as `navigate`"
|
||||
type: string
|
||||
default: none
|
||||
url_path:
|
||||
required: false
|
||||
description: "Path to navigate to (e.g., `https://www.home-assistant.io`) when `action` defined as `url`"
|
||||
type: string
|
||||
default: none
|
||||
service:
|
||||
required: false
|
||||
description: "Service to call (e.g., `media_player.media_play_pause`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
service_data:
|
||||
required: false
|
||||
description: "Service data to include (e.g., `entity_id: media_player.bedroom`) when `action` defined as `call-service`"
|
||||
type: string
|
||||
default: none
|
||||
confirmation:
|
||||
required: false
|
||||
description: "Present a confirmation dialog to confirm the action. See `confirmation` object below"
|
||||
type: [boolean, map]
|
||||
default: "false"
|
||||
{% endconfiguration %}
|
||||
|
||||
#### Options For Confirmation
|
||||
|
||||
If you define confirmation as an object instead of boolean, you can add more customization and configurations:
|
||||
{% configuration confirmation %}
|
||||
text:
|
||||
required: false
|
||||
description: Text to present in the confirmation dialog.
|
||||
type: string
|
||||
exemptions:
|
||||
required: false
|
||||
description: "List of `exemption` objects. See below"
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
#### Options For Exemptions
|
||||
|
||||
{% configuration badges %}
|
||||
user:
|
||||
required: true
|
||||
description: User id that can see the view tab.
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
### Entity Filter Badge
|
||||
|
||||
This badge allows you to define a list of entities that you want to track only when in a certain state. Very useful for showing lights that you forgot to turn off or show a list of people only when they're at home.
|
||||
|
||||
{% configuration filter_badge %}
|
||||
type:
|
||||
required: true
|
||||
description: entity-filter
|
||||
type: string
|
||||
entities:
|
||||
required: true
|
||||
description: A list of entity IDs or `entity` objects, see below.
|
||||
type: list
|
||||
state_filter:
|
||||
required: true
|
||||
description: List of strings representing states or `filter` objects, see below.
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
#### Options For Entities
|
||||
|
||||
If you define entities as objects instead of strings (by adding `entity:` before entity ID), you can add more customization and configurations:
|
||||
|
||||
{% configuration entities %}
|
||||
type:
|
||||
required: false
|
||||
description: "Sets a custom badge type: `custom:my-custom-badge`"
|
||||
type: string
|
||||
entity:
|
||||
required: true
|
||||
description: Home Assistant entity ID.
|
||||
type: string
|
||||
name:
|
||||
required: false
|
||||
description: Overwrites friendly name.
|
||||
type: string
|
||||
icon:
|
||||
required: false
|
||||
description: Overwrites icon or entity picture.
|
||||
type: string
|
||||
image:
|
||||
required: false
|
||||
description: The URL of an image.
|
||||
type: string
|
||||
state_filter:
|
||||
required: false
|
||||
description: List of strings representing states or `filter` objects, see below.
|
||||
type: list
|
||||
{% endconfiguration %}
|
||||
|
||||
#### Options For state_filter
|
||||
|
||||
If you define state_filter as objects instead of strings (by adding `value:` before your state value), you can add more customization to your filter:
|
||||
|
||||
{% configuration state_filter %}
|
||||
value:
|
||||
required: true
|
||||
description: String representing the state.
|
||||
type: string
|
||||
operator:
|
||||
required: false
|
||||
description: Operator to use in the comparison. Can be `==`, `<=`, `<`, `>=`, `>`, `!=` or `regex`.
|
||||
type: string
|
||||
attribute:
|
||||
required: false
|
||||
description: Attribute of the entity to use instead of the state.
|
||||
type: string
|
||||
{% endconfiguration %}
|
||||
|
||||
#### Examples
|
||||
|
||||
Show only active switches or lights in the house
|
||||
|
||||
```yaml
|
||||
type: entity-filter
|
||||
entities:
|
||||
- entity: light.bed_light
|
||||
name: Bed
|
||||
- light.kitchen_lights
|
||||
- light.ceiling_lights
|
||||
state_filter:
|
||||
- "on"
|
||||
```
|
||||
|
||||
Specify filter for a single entity
|
||||
|
||||
```yaml
|
||||
type: entity-filter
|
||||
state_filter:
|
||||
- "on"
|
||||
- operator: ">"
|
||||
value: 90
|
||||
entities:
|
||||
- sensor.water_leak
|
||||
- sensor.outside_temp
|
||||
- entity: sensor.humidity_and_temp
|
||||
state_filter:
|
||||
- operator: ">"
|
||||
value: 50
|
||||
attribute: humidity
|
||||
```
|
||||
|
@ -1,28 +0,0 @@
|
||||
---
|
||||
title: "Lovelace YAML mode"
|
||||
description: "Advanced users can switch on YAML mode for editing the Lovelace UI."
|
||||
---
|
||||
|
||||
It is possible to customize your Home Assistant interface by writing in YAML instead of via the UI. To do so, you configure the Lovelace integration to be in YAML mode by adding the following to your `configuration.yaml`:
|
||||
|
||||
```yaml
|
||||
lovelace:
|
||||
mode: yaml
|
||||
```
|
||||
|
||||
Restart Home Assistant for the mode to be changed. Create a new file `<config>/ui-lovelace.yaml` and add your Lovelace configuration. A good way to start this file is to copy and paste the "Raw configuration" from the UI so your manual configuration starts the same as your existing UI.
|
||||
|
||||
- Go into the `Overview` tab.
|
||||
- Click the three dots menu (top-right) and click on `Configure UI`.
|
||||
- Click the three dots menu again and click on `Raw config editor`.
|
||||
- There you see the configuration for your current Lovelace UI. Copy that into the `<config>/ui-lovelace.yaml` file.
|
||||
|
||||
Once you take control of your UI via YAML, the Home Assistant interface for modifying it won't be available anymore and new entities will not automatically be added to your UI.
|
||||
|
||||
When you make changes to `ui-lovelace.yaml`, you don't have to restart Home Assistant or refresh the page. Just hit the refresh button in the menu at the top of the UI.
|
||||
|
||||
To revert back to using the UI to edit your Lovelace interface, remove the `lovelace` section from your `configuration.yaml` and copy the contents of your `ui-lovelace.yaml` into the raw configuration section of Home Assistant and restart.
|
||||
|
||||
### Advanced configuration
|
||||
|
||||
You can define multiple dashboards that all have their own YAML file, and add custom resources that are shared by all dashboards. For more details refer to [this](/lovelace/dashboards-and-views/) page.
|
Loading…
x
Reference in New Issue
Block a user