Merge branch 'rc' into current

This commit is contained in:
Franck Nijhof 2019-10-30 23:16:25 +01:00
commit 8bd3ca52f0
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3
91 changed files with 4221 additions and 693 deletions

View File

@ -100,9 +100,9 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 100
current_patch_version: 3
date_released: 2019-10-21
current_minor_version: 101
current_patch_version: 0
date_released: 2019-10-30
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

View File

@ -0,0 +1,103 @@
---
title: "Solar-Log Sensor"
description: "Instructions on how to integrate Solar-Log sensors within Home Assistant."
logo: solar-log.png
ha_category: Sensor
ha_release: 0.101
ha_iot_class: Local Polling
---
The `solarlog` integration uses the open JSON interface on Solar-Log PV monitoring systems to allow you to get details from your Solar-Log device and integrate these into your Home Assistant installation.
Before being able to use the integration, you have to activate the open JSON interface on your Solar-Log device. This can be activated from the Configuration | System | Access control menu of your Solar-Log device.
When activating the interface, a red warning triangle with security information and risks is displayed.
The `solarlog` integration uses the default host address "http://solar-log" if you don't specify a host. If your device isn't accessible on this address, use its IP Address instead.
<div class='note warning'>
The open JSON interface is deactivated by default. To activate the open JSON interface, a user password must first be set. The password isn't needed for accessing the open JSON interface.
</div>
## Configuration
There are 2 options in configuring the `solarlog` integration:
- Via the Home Assistant user interface where it will let you enter the name and host to connect to your Solar-Log device.
- Via the Home Assistant `configuration.yaml` file.
```yaml
# Example configuration.yaml entry
sensor:
platform: solarlog
```
{% configuration %}
host:
description: The IP Address or host address of your Solar-Log device.
required: false
default: http://solar-log
type: string
name:
description: Let you overwrite the name of the device in the frontend.
required: false
default: solarlog
type: string
{% endconfiguration %}
### Full configuration sample
A full configuration entry would look like the sample below.
```yaml
# Example configuration.yaml entry
sensor:
- platform: solarlog
name: solarlog
host: 192.168.1.123
```
In case you would like to convert the values, for example, to Wh instead of the default kWh, you can use the [template platform](/integrations/template/).
{% raw %}
```yaml
# Example configuration.yaml entry for sensor template platform
sensor:
- platform: template
sensors:
solarlog_yield_day_template:
value_template: "{{ (states('sensor.solarlog_yield_day') | float * 1000) | round(0) }}"
```
{% endraw %}
## Sensors
The following sensors are available in the library:
| name | Unit | Description |
|-----------------------|--------|:-------------------------------------------|
| last_update | | Time of latest data update. |
| power_ac | W | Total output PAC from all of the inverters and meters in inverter mode. |
| power_dc | W | Total output PAC from all of the inverters. |
| voltage_ac | V | Average voltage AC from the inverter. |
| voltage_dc | V | Average voltage DC from the inverter |
| yield_day | kWh | Total yield for the day from all of the inverters |
| yield_yesterday | kWh | Total yield for the previous day from all of the inverters. |
| yield_month | kWh | Total yield for the month from all of the inverters. |
| yield_year | kWh | Total yield for the year from all of the inverters. |
| yield_total | kWh | Total yield from all of the inverters. |
| consumption_ac | kWh | Current total consumption AC from all of the consumption meters. |
| consumption_day | kWh | Total consumption for the day from all of the consumption meters. |
| consumption_yesterday | kWh | Total consumption for the previous day from all of the consumption meters. |
| consumption_month | kWh | Total consumption for the month from all of the consumption meters. |
| consumption_year | kWh | Total consumption for the year from all of the consumption meters. |
| consumption_total | kWh | Accumulated total consumption from all consumption meters. |
| total_power | Wp | Installed generator power. |
| alternator_loss | W | Altenator loss (equals to power_dc - power_ac) |
| capacity | % | Capacity (equals to power_dc / total power) |
| efficiency | % W/Wp | Efficiency (equals to power_ac / power_dc |
| power_available | W | Available power (equals to power_ac - consumption_ac) |
| usage | | Usage (equals to consumption_ac / power_ac) |
<div class='note'>
The solarlog integration is using the sunwatcher pypi package to get the data from your Solar-Log device. The last five sensors are not reported by your Solar-Log device directly, but are computed by the sunwatcher package.
</div>

View File

@ -180,6 +180,54 @@ The same thing can also be expressed as a filter:
- Filter `timestamp_utc` will convert a UNIX timestamp to UTC time/data.
- Filter `timestamp_custom(format_string, local_boolean)` will convert a UNIX timestamp to a custom format, the use of a local timestamp is default. Supports the standard [Python time formatting options](https://docs.python.org/3/library/time.html#time.strftime).
### To/From JSON
The `to_json` filter serializes an object to a JSON string. In some cases, it may be necessary to format a JSON string for use with a webhook, as a parameter for command line utilities or any number of other applications. This can be complicated in a template, especially when dealing with escaping special characters. Using the `to_json` filter, this is handled automatically.
The `from_json` filter operates similarly, but in the other direction, de-serializing a JSON string back into an object.
### To/From JSON examples
In this example, the special character '°' will be automatically escaped in order to produce valid JSON. The difference between the stringified object and the actual JSON is evident.
*Template*
{% raw %}
```text
{% set temp = {'temperature': 25, 'unit': '°C'} %}
stringified object: {{ temp }}
object|to_json: {{ temp|to_json }}
```
{% endraw %}
*Output*
{% raw %}
```text
stringified object: {'temperature': 25, 'unit': '°C'}
object|to_json: {"temperature": 25, "unit": "\u00b0C"}
```
{% endraw %}
Conversely, `from_json` can be used to de-serialize a JSON string back into an object to make it possible to easily extract usable data.
*Template*
{% raw %}
```text
{% set temp = '{"temperature": 25, "unit": "\u00b0C"}'|from_json %}
The temperature is {{ temp.temperature }}{{ temp.unit }}
```
{% endraw %}
*Output*
{% raw %}
```text
The temperature is 25°C
```
{% endraw %}
### Distance
- `distance()` will measure the distance in kilometers between home, entity, coordinates.

View File

@ -41,7 +41,7 @@ birth_message:
retain:
description: If the published message should have the retain flag on or not.
required: false
default: true
default: false
type: boolean
will_message:
description: Will Message
@ -64,6 +64,6 @@ will_message:
retain:
description: If the published message should have the retain flag on or not.
required: false
default: true
default: false
type: boolean
{% endconfiguration %}

View File

@ -34,6 +34,14 @@ The most important one is the action to call a service. This can be done in vari
brightness: 100
```
#### Activate a Scene
Scripts may also use a shortcut syntax for activating scenes instead of calling the `scene.turn_on` service.
```yaml
- scene: scene.morning_living_room
```
### Test a Condition
While executing a script you can add a condition to stop further execution. When a condition does not return `true`, the script will stop executing. There are many different conditions which are documented at the [conditions page].

View File

@ -14,6 +14,7 @@ ha_category:
- Switch
ha_release: 0.52
ha_iot_class: Cloud Push
ha_config_flow: true
---
The `abode` integration will allow users to integrate their Abode Home Security systems into Home Assistant and use its alarm system and sensors to automate their homes.
@ -23,31 +24,23 @@ Please visit the [Abode website](https://goabode.com/) for further information a
There is currently support for the following device types within Home Assistant:
- **Alarm Control Panel**: Reports on the current alarm status and can be used to arm and disarm the system.
- [**Binary Sensor**](/integrations/abode/#binary-sensor): Reports on `Quick Actions`, `Door Contacts`, `Connectivity` sensors (remotes, keypads, and status indicators), `Moisture` sensors, and `Motion` or `Occupancy` sensors.
- [**Binary Sensor**](/integrations/abode/#binary-sensor): Reports on `Quick Actions`, `Door Contacts`, `Connectivity` sensors (remotes, keypads, and status indicators), `Moisture` sensors, and `Motion` or `Occupancy` sensors. Also lists all Abode `Quick Actions` that are set up. You can trigger these quick actions by passing the `entity_id` of your quick action binary sensor to the [trigger_quick_action service](/integrations/abode/#trigger_quick_action).
- **Camera**: Reports on `Camera` devices and will download and show the latest captured still image.
- **Cover**: Reports on `Secure Barriers` and can be used to open and close the cover.
- **Lock**: Reports on `Door Locks` and can be used to lock and unlock the door.
- [**Light**](/integrations/abode/#light): Reports on `Dimmer` lights and can be used to dim or turn the light on and off.
- [**Switch**](/integrations/abode/#switch): Reports on `Power Switch` devices and can be used to turn the power switch on and off. Also reports on `Automations` set up in the Abode system and allows you to activate or deactivate them.
- [**Switch**](/integrations/abode/#switch): Reports on `Power Switch` devices and can be used to turn the power switch on and off. Also reports on `Automations` set up in the Abode system and allows you to activate or deactivate them (does not work with Abode's CUE automations).
- **Sensor**: Reports on `Temperature`, `Humidity`, and `Light` sensors.
## Configuration
To use Abode devices in your installation,
add the following `abode` section to your `configuration.yaml` file:
To use Abode devices in your installation, add your Abode account from the integrations page. Two-factor authentication must be disabled on your Abode account. Alternatively, Abode can be configured by adding the following `abode` section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
abode:
username: abode_username
password: abode_password
name: Abode Alarm System
polling: false
exclude:
- 'ZW:0000000034'
- 'RF:00000011'
lights:
- 'ZW:0000000022'
```
{% configuration %}
@ -59,10 +52,6 @@ password:
description: Password for your Abode account.
required: true
type: string
name:
description: The name for your alarm controller.
required: false
type: string
polling:
description: >
Enable polling if cloud push updating is less reliable.
@ -70,18 +59,6 @@ polling:
required: false
type: boolean
default: false
exclude:
description: >
A list of devices to exclude from Home Assistant by their Abode `device_id`
or `automation_id`, found within the integration attributes.
required: false
type: list
lights:
description: >
A list of switch devices that Home Assistant should treat as lights by the
switches Abode `device_id`, found within the integration attributes.
required: false
type: list
{% endconfiguration %}
## Events
@ -94,6 +71,12 @@ They are grouped into the below events:
- **abode_automation**: Fired when an Automation is triggered from Abode.
- **abode_panel_fault**: Fired when there is a fault with the Abode hub. This includes events like loss of power, low battery, tamper switches, polling failures, and signal interference.
- **abode_panel_restore**: Fired when the panel fault is restored.
- **abode_disarm**: Fired when the alarm is disarmed.
- **abode_arm**: Fired when the alarm is armed (home or away).
- **abode_test**: Fired when a sensor is in test mode.
- **abode_capture**: Fired when an image is captured.
- **abode_device**: Fired for device changes/additions/deletions.
- **abode_automation_edit**: Fired for changes to automations.
All events have the fields:
@ -141,19 +124,3 @@ Trigger a quick action automation on your Abode system.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | No | String or list of strings that point at `entity_id`s of binary_sensors that represent your Abode quick actions.
### Binary Sensor
This integration will add `Door Contacts`, `Connectivity` sensors (remotes, keypads, and status indicators), `Moisture` sensors, and `Motion` or `Occupancy` sensors.
This integration will also list all Abode `Quick Actions` that are set up. You can trigger these quick actions by passing the `entity_id` of your quick action binary sensor to the [trigger_quick_action service](/integrations/abode/#trigger_quick_action).
### Light
This integration will automatically add `Lights` configured in your Abode account. You can reclassify `Switches` to show up within Home Assistant as lights by listing the Abode device ID in your [configuration](/integrations/abode/#configuration).
### Switch
This integration will automatically add `Power Switches` configured in your Abode account. You can reclassify switches to show up within Home Assistant as `Lights` by listing the Abode device ID in your [configuration](/integrations/abode/#configuration).
This integration will also list all Abode `Automations` that are set up within the Abode system, allowing you to activate and deactivate the automations.

View File

@ -0,0 +1,41 @@
---
title: "Airly"
description: "Instructions on how to integrate Airly within Home Assistant."
logo: airly.png
ha_category:
- Health
ha_release: 0.101
ha_iot_class: Cloud Polling
---
The `airly` integration uses the [Airly](https://airly.eu/) web service as a source for air quality data for your location.
## Setup
To generate an Airly API key, go to [Airly for developers](https://developer.airly.eu/register) page.
## Configuration
To add Airly to your installation, go to **Configuration** >> **Integrations** in the UI and enable the Airly integration. By default, the values will be taken from the Home Assistant configuration.
{% configuration %}
api_key:
description: The Airly API key.
required: true
type: string
name:
description: Manually specify Name.
required: false
type: string
default: Airly
latitude:
description: Manually specify latitude.
required: false
type: float
default: Provided by Home Assistant configuration
longitude:
description: Manually specify longitude.
required: false
type: float
default: Provided by Home Assistant configuration
{% endconfiguration %}

View File

@ -103,11 +103,11 @@ zones:
required: false
type: integer
relayaddr:
description: "Address of the relay expander board to associate with the zone. (ex: 12, 13, 14, or 15). Typically used in cases where a panel will not send bypassed zones such as motion during an armed home state, the Vista 20P is an example of this. Alarmdecoder can emulate a zone expander board and the panel can be programmed to push zone events to this virtual expander. This allows the bypassed zone binary sensors to be utilized. One example is using bypassed motion sensors at night for motion-based automated lights while the system is armed with the motion sensor bypassed."
description: "Address of the relay or zone expander board to associate with the zone. (ex: 12, 13, 14, or 15). Typically used in cases where a panel will not send bypassed zones such as motion during an armed home state, the Vista 20P is an example of this. Alarmdecoder can emulate a zone expander board and the panel can be programmed to push zone events to this virtual expander. This allows the bypassed zone binary sensors to be utilized. One example is using bypassed motion sensors at night for motion-based automated lights while the system is armed with the motion sensor bypassed."
required: inclusive
type: integer
relaychan:
description: "Channel of the relay expander board to associate with the zone. (ex: 1, 2, 3, or 4)"
description: "Channel of the relay or zone expander board to associate with the zone. (ex: 1, 2, 3, or 4 for relay expander boards, 1 - 8 for zone expander boards)"
required: inclusive
type: integer
{% endconfiguration %}

View File

@ -29,21 +29,15 @@ For Fire TV devices, the instructions are as follows:
```yaml
# Example configuration.yaml entry
media_player:
# Use the Python ADB implementation without authentication
# Use the Python ADB implementation
- platform: androidtv
name: Android TV 1
host: 192.168.0.111
# Use the Python ADB implementation with authentication
# Use an ADB server for sending ADB commands
- platform: androidtv
name: Android TV 2
host: 192.168.0.222
adbkey: "/config/android/adbkey"
# Use an ADB server for sending ADB commands
- platform: androidtv
name: Android TV 3
host: 192.168.0.123
adb_server_ip: 127.0.0.1
```
@ -63,11 +57,11 @@ port:
default: 5555
type: integer
adbkey:
description: The path to your `adbkey` file.
description: The path to your `adbkey` file; if not provided, Home Assistant will generate a key for you (if necessary).
required: false
type: string
adb_server_ip:
description: The IP address of the ADB server.
description: The IP address of the ADB server. If this is provided, the integration will utilize an [ADB server](#1-adb-server) to communicate with the device.
required: false
type: string
adb_server_port:
@ -110,14 +104,14 @@ turn_off_command:
```yaml
# Example configuration.yaml entry
media_player:
# Use an ADB server to setup an Android TV device, provide
# an app name, override the default turn on/off commands,
# and provide custom state detection rules
# Use the Python ADB implementation with a user-provided key to setup an
# Android TV device. Provide an app name, override the default turn on/off
# commands, and provide custom state detection rules.
- platform: androidtv
name: Android TV
device_class: androidtv
host: 192.168.0.222
adb_server_ip: 127.0.0.1
adbkey: "/config/android/adbkey"
apps:
com.amazon.tv.launcher: "Fire TV"
turn_on_command: "input keyevent 3"
@ -138,19 +132,23 @@ media_player:
'wake_lock_size': 1 # this indentation is important!
- 'standby'
# Use the Python ADB implementation with authentication
# to setup a Fire TV device and don't get the running apps
# Use an ADB server to setup a Fire TV device and don't get the running apps.
- platform: androidtv
name: Fire TV
device_class: firetv
host: 192.168.0.222
adbkey: "/config/android/adbkey"
adb_server_ip: 127.0.0.1
adb_server_port: 5037
get_sources: false
```
## ADB Setup
This integration works by sending ADB commands to your Android TV / Fire TV device. There are two ways to accomplish this:
This integration works by sending ADB commands to your Android TV / Fire TV device. There are two ways to accomplish this.
<div class='note'>
When connecting to your device for the first time, a dialog will appear on your Android TV / Fire TV asking you to approve the connection. Check the box that says "always allow connections from this device" and hit OK.
</div>
### 1. ADB Server
@ -160,46 +158,29 @@ For Hass.io users, you can install the [Android Debug Bridge](https://github.com
### 2. Python ADB Implementation
The second option is to connect to your device using the `adb-shell` Python package.
The second option is to connect to your device using the `adb-shell` Python package. As of Home Assistant 0.101, if a key is needed for authentication and it is not provided by the `adbkey` configuration option, then Home Assistant will generate a key for you.
If your device requires ADB authentication, you will need to follow the instructions in the [ADB Authentication](#adb-authentication) section below. Once you have an authenticated key, this approach does not require any additional setup or addons. However, users with newer devices may find that the ADB connection is unstable. For a Fire TV device, you can try setting the `get_sources` configuration option to `false`. If the problem cannot be resolved, you should use the ADB server option.
#### ADB Authentication
If you get a "Device authentication required, no keys available" error when trying to set up your Android TV or Fire TV, then you'll need to create an adbkey and add its path to your configuration. Follow the instructions on this page to connect to your device from your computer: [Connecting to Fire TV Through adb](https://developer.amazon.com/zh/docs/fire-tv/connecting-adb-to-device.html).
<div class='note warning'>
In the dialog appearing on your Android TV / Fire TV, you must check the box that says "always allow connections from this device." ADB authentication in Home Assistant will only work using a trusted key.
</div>
Once you've successfully connected to your Android TV / Fire TV via the command `adb connect <ipaddress>:5555`, the file `adbkey` will be created on your computer. The default locations for this file are (from [https://developer.android.com/studio/command-line/adb](https://developer.android.com/studio/command-line/adb)):
- Linux and Mac: `$HOME/.android.`
- Windows: `%userprofile%\.android.`
Copy the `adbkey` file to your Home Assistant folder and add the path to the `adbkey` file to your configuration.
Prior to Home Assistant 0.101, this approach did not work well for newer devices. Efforts have been made to resolve these issues, but if you experience problems then you should use the ADB server option.
## ADB Troubleshooting
If you receive the error message `Error while setting up platform androidtv` in your log when trying to set up an Android TV or Fire TV device, then there is probably an issue with your ADB connection. Here are some possible causes.
If the setup for your Android TV or Fire TV device fails, then there is probably an issue with your ADB connection. Here are some possible causes.
1. ADB is not enabled on your device.
1. You have the wrong IP address for the device.
2. You are already connected to the Android TV / Fire TV via ADB from another device. Only one device can be connected, so disconnect the other device, restart the Android TV / Fire TV (for good measure), and then restart Home Assistant.
2. ADB is not enabled on your device.
3. If you are using the [Python ADB implementation](#2-python-adb-implementation):
3. You are already connected to the Android TV / Fire TV via ADB from another device. Only one device can be connected, so disconnect the other device, restart the Android TV / Fire TV (for good measure), and then restart Home Assistant.
* This method often does not work for newer devices. Use the [ADB server](#1-adb-server) approach instead.
4. You need to approve the ADB connection; see the note in the [ADB Setup](#adb-setup) section above.
* Your key is not pre-authenticated. Before using the `adbkey` in Home Assistant, you _**must**_ connect to your device using the ADB binary and tell it to always allow connections from this computer. For more information, see the section [ADB Authentication](#adb-authentication) above.
5. Some Android TV devices (e.g., Philips TVs running Android TV) only accept the initial ADB connection request over their Wi-Fi interface. If you have the TV wired, you need to connect it to WiFi and try the initial connection again. Once the authentication has been granted via Wi-Fi, you can connect to the TV over the wired interface as well.
* Home Assistant does not have the appropriate permissions for the `adbkey` file and so it is not able to use it. Once you fix the permissions, the integration should work.
4. Some Android TV devices (e.g., Philips TVs running Android TV) only accept the initial ADB connection request over their Wi-Fi interface. If you have the TV wired, you need to connect it to WiFi and try the initial connection again. Once the authentication has been granted via Wi-Fi, you can connect to the TV over the wired interface as well.
6. If you are using the [Python ADB implementation](#2-python-adb-implementation) approach, as mentioned above, there may be some issues with newer devices. In this case, you should use the [ADB server](#1-adb-server) approach instead.
## Services
### `media_player.select_source`
### (Fire TV devices only) `media_player.select_source`
For Fire TV devices, you can launch an app using the `media_player.select_source` command. Simply provide the app ID as the `source`. You can also stop an app by prefixing the app ID with a `!`. For example, you could define [scripts](/docs/scripts) to start and stop Netflix as follows:
@ -253,7 +234,9 @@ Available key commands include:
The full list of key commands can be found [here](https://github.com/JeffLIrion/python-androidtv/blob/bf1058a2f746535921b3f5247801469c4567e51a/androidtv/constants.py#L143-L186).
You can also use the command `GET_PROPERTIES` to retrieve the properties used by Home Assistant to update the device's state. These will be stored in the media player's `'adb_response'` attribute and logged at the INFO level, this information can be used to help improve state detection in the backend [androidtv](https://github.com/JeffLIrion/python-androidtv) package.
You can also use the command `GET_PROPERTIES` to retrieve the properties used by Home Assistant to update the device's state. These will be stored in the media player's `'adb_response'` attribute and logged at the INFO level. This information can be used to help improve state detection in the backend [androidtv](https://github.com/JeffLIrion/python-androidtv) package, and also to define your own [custom state detection](#custom-state-detection) rules.
A list of various intents can be found [here](https://gist.github.com/mcfrojd/9e6875e1db5c089b1e3ddeb7dba0f304).
## Custom State Detection

View File

@ -0,0 +1,85 @@
---
title: "Apprise"
description: "Instructions on how to add Apprise notifications to Home Assistant."
logo: apprise.png
ha_category:
- Notifications
ha_release: 0.101
---
The [Apprise service](https://github.com/caronc/apprise/) is an all-in-one solution to open up Home Assistant to _just about_ every Notification platform (such as Amazon SNS, Discord, Telegram, Slack, MSTeams, Twilio, etc.)
To use Apprise supported notifications, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry using URLs
notify:
- platform: apprise
url: YOUR_APPRISE_URLS
```
You can also pre-define your own configuration files while storing them either remotely or locally. Simply just use the `config` option.
```yaml
# Example configuration.yaml entry using externally located Apprise
# Configuration Files/Sites:
notify:
- platform: apprise
config: YOUR_APPRISE_CONFIG_URLS
```
There is no restriction on the number of URLs or Apprise Configuration locations you wish to define. You can also use both of the lines in conjunction with one another:
```yaml
# Example configuration.yaml entry using all options
notify:
- platform: apprise
config: YOUR_APPRISE_CONFIG_URLS
url: YOUR_APPRISE_URLS
```
{% configuration %}
name:
description: The notifier will bind to the service `notify.NAME`.
required: false
type: string
default: notify
url:
description: One or more Apprise URLs
required: false
type: string
config:
description: One or more Apprise Configuration URLs
required: false
type: string
{% endconfiguration %}
#### Example service call
```yaml
- service: notify.apprise
data:
message: "A message from Home Assistant"
```
If you're using configuration files to store your Apprise URLs in, then you have the added bonus of associating tags with them. By default, Apprise in Home Assistant will only notify the elements that have no tags associated with them. You can optionally focus on only notifying a specific service based on the tag(s) you assigned them like so:
```yaml
- service: notify.apprise
data:
message: "A message from Home Assistant"
target: [
"tag_name1",
]
```
The tag `all` is reserved to notify absolutely everything, whether you have a tag associated with a URL or not.
### Notes
There are over 50 supported Notification services supported by Apprise. Each has their own tweaks and customizations you can leverage.
- For instructions on how to construct the URLs, visit [here](https://github.com/caronc/apprise/wiki#notification-services).
- For instructions on how you can customize your own Apprise configuration files (referenced through the `config` directive), check out the following:
- [Text Formatted URLs](https://github.com/caronc/apprise/wiki/config_text)
- [YAML Formatted URLs](https://github.com/caronc/apprise/wiki/config_yaml)

View File

@ -172,6 +172,11 @@ on_off_address:
description: KNX address for switching the climate device on/off.
required: false
type: string
on_off_invert:
description: Value for switching the climate device on/off is inverted.
required: false
default: false
type: boolean
on_off_state_address:
description: KNX address for gathering the current state (on/off) of the climate device.
required: false

View File

@ -9,43 +9,14 @@ ha_iot_class: Local Polling
---
The `coolmaster` climate platform lets you control HVAC through [CoolMasterNet](https://coolautomation.com/products/coolmasternet/). To set it up, add the following information to your `configuration.yaml` file:
The `coolmaster` climate platform lets you control HVAC through [CoolMasterNet](https://coolautomation.com/products/coolmasternet/).
```yaml
climate:
- platform: coolmaster
host: YOUR_COOLMASTER_HOST
port: YOUR_COOLMASTER_PORT
supported_modes:
- heat
- cool
- dry
```
## Configuration via the frontend
{% configuration %}
host:
description: The host address of your CoolMasterNet instance (IP or host name).
required: true
type: string
port:
description: The port number of your CoolMasterNet instance.
required: false
type: integer
default: 10102
supported_modes:
description: The operation modes supported by your HVAC.
required: false
type: list
default: All modes
keys:
heat:
description: Heat mode.
cool:
description: Cool mode.
heat_cool:
description: Heat/Cool mode (CoolMasterNet refers to it as Auto).
dry:
description: Dry mode.
fan_only:
description: Fan only mode.
{% endconfiguration %}
Menu: **Configuration** -> **Integrations**.
Click on the `+` sign to add an integration and click on **CoolMasterNet**.
Select the host and port of your instance, and check the box for the modes
supported by your HVAC units. The units you have configured in CoolMasterNet
will be automatically added to Home Assistant as Climate entities and
matching devices.

View File

@ -71,7 +71,7 @@ If `restore` is set to `false`, the `initial` value will only be used when no pr
## Services
Available services: `increment`, `decrement`, and `reset`.
Available services: `increment`, `decrement`, `reset` and `configure`.
#### Service `counter.increment`
@ -106,7 +106,9 @@ With this service the properties of the counter can be changed while running.
| `entity_id` | no | Name of the entity to take action, e.g., `counter.my_custom_counter`. |
| `minimum` | yes | Set new value for minimum. None disables minimum. |
| `maximum` | yes | Set new value for maximum. None disables maximum. |
| `step` | yes | Set new value for step |
| `step` | yes | Set new value for step. |
| `initial` | yes | Set new value for initial. |
| `value` | yes | Set the counters state to the given value. |

View File

@ -33,8 +33,36 @@ qos:
description: The QoS level of the topic.
required: false
type: integer
payload_home:
description: The payload value that represents the 'home' state for the device.
required: false
type: string
default: 'home'
payload_not_home:
description: The payload value that represents the 'not_home' state for the device.
required: false
type: string
default: 'not_home'
source_type:
description: Attribute of a device tracker that affects state when being used to track a [person](/integrations/person/). Valid options are `gps`, `router`, `bluetooth`, or `bluetooth_le`.
required: false
type: string
{% endconfiguration %}
## Complete example configuration
```yaml
# Complete configuration.yaml entry
device_tracker:
devices:
paulus_oneplus: 'location/paulus'
annetherese_n4: 'location/annetherese'
qos: 1
payload_home: 'present'
payload_not_home: 'not present'
source_type: bluetooth
```
## Usage
Example JSON you can publish to the topic (e.g., via mqtt.publish service):

View File

@ -46,6 +46,11 @@ url:
description: The URL of the DOODS server
required: true
type: string
timeout:
description: Timeout for requests (in seconds)
required: false
type: integer
default: 90
detector:
description: The DOODS detector to use
required: true
@ -54,6 +59,36 @@ confidence:
description: The default confidence for any detected objects where not explicitly set
required: false
type: float
area:
description: Global detection area. Objects in this box will be reported. Top of image is 0, bottom is 1. Same left to right.
required: false
type: map
keys:
top:
description: Top line defined as % from top of image.
required: false
type: float
default: 0
left:
description: Left line defined as % from left of image.
required: false
type: float
default: 0
bottom:
description: Bottom line defined as % from top of image.
required: false
type: float
default: 1
right:
description: Right line defined as % from left of image.
required: false
type: float
default: 1
covers:
description: If true the detection must be fully in this box. If false any part of the detection in the box will trigger.
required: false
type: boolean
default: true
file_out:
description: A [template](/docs/configuration/templating/#processing-incoming-data) for the integration to save processed images including bounding boxes. `camera_entity` is available as the `entity_id` string of the triggered source camera.
required: false
@ -96,6 +131,11 @@ labels:
required: false
type: float
default: 1
covers:
description: If true the detection must be fully in this box. If false any part of the detection in the box will trigger.
required: false
type: boolean
default: true
{% endconfiguration %}
@ -106,6 +146,7 @@ image_processing:
- platform: doods
scan_interval: 1000
url: "http://<my doods server>:8080"
timeout: 60
detector: default
source:
- entity_id: camera.front_yard
@ -113,6 +154,14 @@ image_processing:
- "/tmp/{% raw %}{{ camera_entity.split('.')[1] }}{% endraw %}_latest.jpg"
- "/tmp/{% raw %}{{ camera_entity.split('.')[1] }}_{{ now().strftime('%Y%m%d_%H%M%S') }}{% endraw %}.jpg"
confidence: 50
# This global detection area is required for all labels
area:
# Exclude top 10% of image
top: 0.1
# Exclude right 5% of image
right: 0.95
# The entire detection must be inside this box
covers: true
labels:
- name: person
confidence: 40
@ -121,6 +170,8 @@ image_processing:
top: 0.1
# Exclude right 15% of image
right: 0.85
# Any part of the detection inside this area will trigger
covers: false
- car
- truck
```

View File

@ -135,6 +135,7 @@ The following services are supported by Envisalink and can be used to script or
- **alarm_disarm**: Disarms the alarm with the user code provided, or the code specified in the configuration.
- **alarm_arm_home**: Arms the alarm in home mode.
- **alarm_arm_away**: Arms the alarm in standard away mode.
- **alarm_arm_night**: Arms the alarm in night mode.
- **alarm_trigger**: Trigger an alarm on the Envisalink connected alarm system. For example, a newer zwave/zigbee sensor can now be integrated into a legacy alarm system using a Home Assistant automation.
- **envisalink_alarm_keypress**: Sends a string of up to 6 characters to the alarm. *DSC alarms only*
- **invoke_custom_function**: Invokes a custom PGM function. *DSC alarms only*

View File

@ -8,7 +8,7 @@ logo: home-assistant.png
ha_qa_scale: internal
---
The `flux` switch platform will change the temperature of your lights similar to the way flux works on your computer, using circadian rhythm. They will be bright during the day, and gradually fade to a red/orange at night.
The `flux` switch platform will change the temperature of your lights similar to the way flux works on your computer, using circadian rhythm. They will be bright during the day, and gradually fade to a red/orange at night. The `flux` switch restores its last state after startup.
The integration will update your lights based on the time of day. It will only affect lights that are turned on and listed in the flux configuration.

View File

@ -56,6 +56,130 @@ name:
There seems to be some issues within Foscam with lengthy passwords and passwords containing certain symbols. Be sure to check your camera's documentation.
</div>
### Control Foscam PTZ (Pan/Tilt/Zoom) - Home/Away
### Service `foscam.ptz`
Foscam Webcams which support CGI Commands can be controlled by Home Assistant ([Source](http://www.ipcamcontrol.net/files/Foscam%20IPCamera%20CGI%20User%20Guide-V1.0.4.pdf)). For an example of how this can be done, see the [Foscam IP Camera Pan, Tilt, Zoom Control](/cookbook/foscam_away_mode_PTZ/) Cookbook entry.
If your Foscam camera supports PTZ, you will be able to pan or tilt your camera.
| Service data attribute | Description |
| -----------------------| ----------- |
| `entity_id` | String or list of strings that point at `entity_id`s of cameras. Else targets all. |
| `movement` | Direction of the movement. Allowed values: `up`, `down`, `left`, `right`, `top_left`, `top_right`, `bottom_left`, `bottom_right` |
| `travel_time` | (Optional) Travel time in seconds. Allowed values: float from 0 to 1. Default: 0.125 |
### Example card with controls
<p class='img'>
<img src='/images/integrations/foscam/example-card.png' alt='Screenshot showing a foscam camera using a picture-elements with PTZ controls.'>
Example showing a Foscam camera with controls for Pan and Tilt.
</p>
Using the following card code you can achieve a card displaying the live video feed from a Foscam camera with controls for moving the camera at the bottom right corner.
```yaml
type: picture-elements
entity: camera.bedroom
camera_image: camera.bedroom
camera_view: live
elements:
- type: icon
icon: 'mdi:arrow-up'
style:
background: 'rgba(255, 255, 255, 0.5)'
right: 25px
bottom: 50px
tap_action:
action: call-service
service: foscam.ptz
service_data:
entity_id: camera.bedroom
movement: up
- type: icon
icon: 'mdi:arrow-down'
style:
background: 'rgba(255, 255, 255, 0.5)'
right: 25px
bottom: 0px
tap_action:
action: call-service
service: foscam.ptz
service_data:
entity_id: camera.bedroom
movement: down
- type: icon
icon: 'mdi:arrow-left'
style:
background: 'rgba(255, 255, 255, 0.5)'
right: 50px
bottom: 25px
tap_action:
action: call-service
service: foscam.ptz
service_data:
entity_id: camera.bedroom
movement: left
- type: icon
icon: 'mdi:arrow-right'
style:
background: 'rgba(255, 255, 255, 0.5)'
right: 0px
bottom: 25px
tap_action:
action: call-service
service: foscam.ptz
service_data:
entity_id: camera.bedroom
movement: right
- type: icon
icon: 'mdi:arrow-top-left'
style:
background: 'rgba(255, 255, 255, 0.5)'
right: 50px
bottom: 50px
tap_action:
action: call-service
service: foscam.ptz
service_data:
entity_id: camera.bedroom
movement: top_left
- type: icon
icon: 'mdi:arrow-top-right'
style:
background: 'rgba(255, 255, 255, 0.5)'
right: 0px
bottom: 50px
tap_action:
action: call-service
service: foscam.ptz
service_data:
entity_id: camera.bedroom
movement: top_right
- type: icon
icon: 'mdi:arrow-bottom-left'
style:
background: 'rgba(255, 255, 255, 0.5)'
right: 50px
bottom: 0px
tap_action:
action: call-service
service: foscam.ptz
service_data:
entity_id: camera.bedroom
movement: bottom_left
- type: icon
icon: 'mdi:arrow-bottom-right'
style:
background: 'rgba(255, 255, 255, 0.5)'
right: 0px
bottom: 0px
tap_action:
action: call-service
service: foscam.ptz
service_data:
entity_id: camera.bedroom
movement: bottom_right
```
### Extra CGI Commands
Foscam Webcams which support CGI Commands can be controlled by Home Assistant ([Source](http://www.ipcamcontrol.net/files/Foscam%20IPCamera%20CGI%20User%20Guide-V1.0.4.pdf)). For an example of how this can be done, see the [Foscam IP Camera Pan, Tilt, Zoom Control](/cookbook/foscam_away_mode_PTZ/) Cookbook entry.

View File

@ -9,42 +9,39 @@ ha_release: 0.7.3
---
The `glances` sensor platform is consuming the system information provided by the [Glances](https://github.com/nicolargo/glances) API. This enables one to track remote host and display their stats in Home Assistant.
The `glances` integration allows you to monitor the system information provided by the [Glances](https://github.com/nicolargo/glances) API. This enables one to track remote host and display their stats in Home Assistant.
## Setup
This sensors needs a running instance of `glances` on the host. The minimal supported version of `glances` is 2.3.
To start a Glances RESTful API server on its default port 61208, the a test the following command can be used:
These sensors needs a running instance of `glances` on the host. The minimal supported version of `glances` is 2.3.
To start a Glances RESTful API server on its default port 61208 then test you can use the following command:
```bash
$ sudo glances -w
Glances web server started on http://0.0.0.0:61208/
```
Check if you are able to access the API located at `http://IP_ADRRESS:61208/api/2`. Don't use `-s` as this will start the XMLRPC server on port 61209. Home Assistant only supports the REST API of GLANCES.
Check if you are able to access the API located at `http://IP_ADRRESS:61208/api/3`. Don't use `-s` as this will start the XMLRPC server on port 61209. Home Assistant only supports the REST API of GLANCES.
The details about your memory usage is provided as a JSON response. If so, you are good to proceed.
```bash
$ curl -X GET http://IP_ADDRESS:61208/api/2/mem/free
$ curl -X GET http://IP_ADDRESS:61208/api/3/mem/free
{"free": 203943936}
```
If this doesn't work, try changing the `2` for `3`, if you have installed the latest version of Glances.
If this doesn't work, try changing the `3` to `2`, if you don't have the latest version of Glances installed.
For details about auto-starting `glances`, please refer to [Start Glances through Systemd](https://github.com/nicolargo/glances/wiki/Start-Glances-through-Systemd).
For details about auto-starting `glances`, please refer to [Start Glances through Systemd](https://github.com/nicolargo/glances/wiki/Start-Glances-through-Systemd).
## Configuration
To enable the Glances sensor, add the following lines to your `configuration.yaml`:
Set up the integration through **Configuration -> Integrations -> Glances**. To import the configuration from `configuration.yaml` remove any previously configured sensors with platform type `glances` and add the following lines:
```yaml
# Example configuration.yaml entry
sensor:
- platform: glances
host: IP_ADDRESS
resources:
- 'disk_use_percent'
glances:
- host: IP_ADDRESS
```
{% configuration %}
@ -85,51 +82,31 @@ version:
description: "The version of the Glances API. Supported version: `2` and `3`."
required: false
type: integer
default: 2
resources:
description: Entries to monitor.
required: false
type: list
default: disk_use
keys:
disk_use_percent:
description: The used disk space in percent.
disk_use:
description: The used disk space.
disk_free:
description: The free disk space.
memory_use_percent:
description: The used memory in percent.
memory_use:
description: The used memory.
memory_free:
description: The free memory.
swap_use_percent:
description: The used swap space in percent.
swap_use:
description: The used swap space.
swap_free:
description: The free swap space.
processor_load:
description: The load.
process_running:
description: The number of running processes.
process_total:
description: The total number of processes.
process_thread:
description: The number of threads.
process_sleeping:
description: The number of sleeping processes.
cpu_use_percent:
description: The used CPU in percent.
cpu_temp:
description: The CPU temperature (may not be available on all platforms).
docker_active:
description: The count of active Docker containers.
docker_cpu_use:
description: The total CPU usage in percent of Docker containers.
docker_memory_use:
description: The total memory used by Docker containers.
default: 3
{% endconfiguration %}
## Integration Entities
Glances integration will add the following sensors:
- disk_use_percent: The used disk space in percent.
- disk_use: The used disk space.
- disk_free: The free disk space.
- memory_use_percent: The used memory in percent.
- memory_use: The used memory.
- memory_free: The free memory.
- swap_use_percent: The used swap space in percent.
- swap_use: The used swap space.
- swap_free: The free swap space.
- processor_load: The load.
- process_running: The number of running processes.
- process_total: The total number of processes.
- process_thread: The number of threads.
- process_sleeping: The number of sleeping processes.
- cpu_use_percent: The used CPU in percent.
- cpu_temp: The CPU temperature (may not be available on all platforms).
- docker_active: The count of active Docker containers.
- docker_cpu_use: The total CPU usage in percent of Docker containers.
- docker_memory_use: The total memory used by Docker containers.
Not all platforms are able to provide all metrics. For instance `cpu_temp` is requires installing and configuring `lmsensors` in Ubuntu, and may not be available at all in other platforms.

View File

@ -64,7 +64,16 @@ If you've added Home Assistant to the home screen, you have to first remove it f
2. Copy and share the link with the new user.
3. When the new user opens the link with their own Google account, it will enable your draft test app under their account.
3. Have the new user go to their `Google Assistant` app to add `[test] your app name` to their account.
2. If you want to use the `google_assistant.request_sync` service, to update devices without unlinking and relinking, in Home Assistant, then enable Homegraph API for your project:
2. If you want to support actively reporting of state to Google's server (config option `report_state`) and support `google_assistant.request_sync`, you need to generate a service account.
1. In the GCP Console, go to the [Create Service account key](https://console.cloud.google.com/apis/credentials/serviceaccountkey) page.
2. From the Service account list, select New service account.
3. In the Service account name field, enter a name.
4. In the Service account ID field, enter an ID.
5. From the Role list, select Service Accounts > Service Account Token Creator.
6. For the Key type, select the JSON option.
7. Click Create. A JSON file that contains your key downloads to your computer.
8. Use the information in this file or the file directly to add to the `service_account`key in the configuration.
3. If you didn't specify a service account and want to use the `google_assistant.request_sync` service, to update devices without unlinking and relinking, in Home Assistant, then enable Homegraph API for your project:
1. Go to the [Google API Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview).
2. Select your project and click Enable Homegraph API.
3. Go to Credentials, which you can find on the left navigation bar under the key icon, and select API Key from Create Credentials.
@ -79,6 +88,8 @@ Now add the following lines to your `configuration.yaml` file:
google_assistant:
project_id: YOUR_PROJECT_ID
api_key: YOUR_API_KEY
service_account: !include SERVICE_ACCOUNT.JSON
report_state: true
exposed_domains:
- switch
- light
@ -106,9 +117,27 @@ secure_devices_pin:
type: string
default: ""
api_key:
description: Your Homegraph API key (for the `google_assistant.request_sync` service)
description: Your Homegraph API key (for the `google_assistant.request_sync` service). This is not required if a service_account is specified.
required: false
type: string
service_account:
description: Service account information. You can use an include statement with your downloaded JSON file, enter data here directly or use secrets file to populate.
required: false
type: map
keys:
private_key:
description: Private key in PEM format
requried: true
type: string
client_email:
description: Service email address
required: true
type: string
report_state:
description: Actively report state changes on entities. This speeds up response time for actions affecting multiple entities since Google Assistant knows pre-hand what state they are. It is also required for some features on visual controls.
required: false
default: false
type: boolean
expose_by_default:
description: "Expose devices in all supported domains by default. If `exposed_domains` domains is set, only these domains are exposed by default. If `expose_by_default` is set to false, devices have to be manually exposed in `entity_config`."
required: false

View File

@ -1,79 +0,0 @@
---
title: "HipChat"
description: "Instructions on how to add HipChat notifications to Home Assistant."
logo: hipchat.png
ha_category:
- Notifications
ha_release: 0.52
---
<div class='note'>
This integration will be removed from Home Assistant in the future. Slack has taken over Hipchat and Stride and will therefore stop these platforms. For more information: <a href="https://www.atlassian.com/blog/announcements/new-atlassian-slack-partnership">announcement</a>.
<br>
<br>
Hipchat will be discontinued after February 15th, 2019. This to give customers the opportunity to make a switch.
</div>
The `hipchat` platform allows you to send notifications from Home Assistant to [HipChat](https://hipchat.com/).
You need to obtain a [HipChat API token](https://developer.atlassian.com/hipchat/guide/hipchat-rest-api/api-access-tokens#APIaccesstokens-Usergeneratedtokens) to be able to send notifications.
To enable the HipChat notification in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
- name: NOTIFIER_NAME
platform: hipchat
token: YOUR_TOKEN
room: 1234567
```
{% configuration %}
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
token:
description: The HipChat API token to use for sending HipChat notifications.
required: true
type: string
room:
description: The default room to post to if no room is explicitly specified when sending the notification.
required: true
type: integer
color:
description: Setting color will override the default color for the notification. Valid options are 'yellow', 'green', 'red', 'purple', 'gray', 'random'.
required: false
default: yellow
type: string
notify:
description: Setting notify will override the default notify (blink application icon, chime, or otherwise call attention) setting for the notification. Valid options are 'true' and 'false'.
required: false
default: false
type: boolean
format:
description: Setting format will override the default message format. Valid options are 'text' and 'html'.
required: false
default: text
type: string
host:
description: Setting the host will override the default HipChat server host.
required: false
default: "https://api.hipchat.com/"
type: string
{% endconfiguration %}
### HipChat service data
The following attributes can be placed `data` for extended functionality.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `room` | yes | (int) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml.
| `color` | yes | (str) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml.
| `notify` | yes | (bool) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml.
| `format` | yes | (str) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml.
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -125,7 +125,7 @@ The platform supports the following Hive products:
### Climate
The `hive` climate platform integrates your Hive thermostat into Home Assistant, enabling control of setting the **mode** and setting the **target temperature**.
The `hive` climate platform integrates your Hive thermostat and Hive radiator valves into Home Assistant, enabling control of setting the **mode** and setting the **target temperature**.
A short boost for Hive Heating can be set by using the **Boost** preset, this will turn on the boost feature for 30 minutes at 0.5 degrees higher than the current temperature.
@ -133,6 +133,7 @@ The platform supports the following Hive products:
- Hive Active Heating
- Hive Multi-zone
- Hive Radiator Valve
### Light

View File

@ -82,6 +82,10 @@ homekit:
required: false
type: boolean
default: false
advertise_ip:
description: If you need to override the IP address used for mDNS advertisement. (For example, using network isolation in Docker and together with an mDNS forwarder like `avahi-daemon` in reflector mode)
required: false
type: string
filter:
description: Filters for entities to be included/excluded from HomeKit. ([Configure Filter](#configure-filter))
required: false
@ -160,8 +164,8 @@ homekit:
After Home Assistant has started, the entities specified by the filter are exposed to HomeKit if they are [supported](#supported-components). To add them:
1. Open the Home Assistant frontend. A new card will display the `pin code`. Note: If pin code is not displayed, check "Notifications" (the bell icon) in the upper-right of the Home Assistant UI.
1. Open the `Home` app.
2. Click `Add Accessory`, then select `Don't Have a Code or Can't Scan?` and choose the `Home Assistant Bridge`.
2. Open the `Home` app.
3. Click `Add Accessory`, then select `Don't Have a Code or Can't Scan?` and choose the `Home Assistant Bridge`.
4. Confirm that you are adding an `Uncertified Accessory` by clicking on `Add Anyway`.
5. Enter the `PIN` code.
6. Follow the setup by clicking on `Next` and lastly `Done` in the top right-hand corner.
@ -324,6 +328,19 @@ To avoid any errors, after you have successfully paired your Home Assistant Brid
</div>
## Docker Network Isolation
The `advertise_ip` option can be used to run this integration even inside an ephemeral Docker container with network isolation enabled, e.g., not using the host network.
To use `advertise_ip`, add the option to your `homekit` config:
```yaml
homekit:
advertise_ip: "STATIC_IP_OF_YOUR_DOCKER_HOST"
```
Restart your Home Assistant instance. This feature requires running an mDNS forwarder on your Docker host, e.g., `avahi-daemon` in reflector mode. This kind of setup most likely requires `safe_mode` during the bridge setup.
## Supported Components
The following integrations are currently supported:
@ -403,6 +420,8 @@ Remember that the iOS device needs to be in the same local network as the Home A
Set `network_mode: host`. If you have further problems this [issue](https://github.com/home-assistant/home-assistant/issues/15692) might help.
You can also try to use `avahi-daemon` in reflector mode together with the option `advertise_ip`, see above.
#### `Home Assistant Bridge` doesn't appear in the Home App (for pairing) - VirtualBox
Configure the network mode as `networkbridge`. Otherwise the Home Assistant Bridge won't be exposed to the network.

View File

@ -84,6 +84,7 @@ Within this delay the device registration should be completed in the App, otherw
* Combined Alarm Control Panal with INTERNAL and EXTERNAL Security zones (*HmIP-SecurityZone*)
* homematicip_cloud.binary_sensor
* Acceleration Sensor (*HMIP-SAM*)
* Window and door contact (*HmIP-SWDO, -I*)
* Contact Interface flush-mount 1 channel (*HmIP-FCI1*)
* Contact Interface (*HmIP-SCI*)
@ -158,6 +159,7 @@ Within this delay the device registration should be completed in the App, otherw
- `homematicip_cloud.activate_vacation`: Activates the vacation mode until the given time.
- `homematicip_cloud.deactivate_eco_mode`: Deactivates the eco mode immediately.
- `homematicip_cloud.deactivate_vacation`: Deactivates the vacation mode immediately.
- `homematicip_cloud.set_active_climate_profile`: Set the active climate profile index.
### Service Examples
@ -213,11 +215,26 @@ Deactivates the vacation mode immediately.
```yaml
...
action:
service: homematicip_cloud.deactivate_vacation_mode
service: homematicip_cloud.deactivate_vacation
data:
accesspoint_id: 3014xxxxxxxxxxxxxxxxxxxx
```
Set the active climate profile index.
The index of the climate profile is 1-based.
You can get the required index from the native Homematic IP App.
```yaml
...
action:
service: homematicip_cloud.set_active_climate_profile
data:
entity_id: climate.livingroom
climate_profile_index: 1
```
## Additional info
Push button devices are only available with a battery sensor. This is due to a limitation of the vendor API (eq3).

View File

@ -1,93 +0,0 @@
---
title: "Hydro-Québec"
description: "Instructions on how to integrate Hydro-Québec consumption profile within Home Assistant."
logo: hydroquebec.svg
ha_category:
- Energy
ha_release: 0.35
ha_iot_class: Cloud Polling
---
Integrate your [Hydro-Québec](https://www.hydroquebec.com/portail/) consumption profile information into Home Assistant.
<div class='note warning'>
Breaking change: Since Home Assistant v0.40, **contract** attribute is required.
</div>
```yaml
# Example configuration.yaml entry
sensor:
- platform: hydroquebec
username: MYUSERNAME
password: MYPASSWORD
contract: '123456789'
monitored_variables:
- period_total_bill
- period_length
- period_total_days
```
{% configuration %}
username:
description: Username used to log into the Hydro-Québec site.
required: true
type: string
password:
description: Password used to log into the Hydro-Québec site.
required: true
type: string
contract:
description: Your contract number with Hydro-Québec.
required: true
type: string
name:
description: A friendly name for this sensor.
required: false
default: HydroQuebec
type: string
monitored_variables:
description: Variables to monitor.
required: true
type: list
keys:
balance:
description: Current balance
period_total_bill:
description: Current period bill
period_length:
description: Current period length
period_total_days:
description: Total number of days in this period
period_mean_daily_bill:
description: Period daily average bill
period_mean_daily_consumption:
description: Period daily average consumption
period_total_consumption:
description: Total consumption
period_lower_price_consumption:
description: Period lower price consumption
period_higher_price_consumption:
description: Period higher price consumption
period_average_temperature:
description: Period average temperature
yesterday_total_consumption:
description: Yesterday total consumption
yesterday_lower_price_consumption:
description: Yesterday lower price consumption
yesterday_higher_price_consumption:
description: Yesterday higher price consumption
yesterday_average_temperature:
description: Yesterday average temperature
{% endconfiguration %}
To find your contract id, go to the [Hydro-Québec website](https://www.hydroquebec.com/portail/)
and connect to your account.
On the main page your can see your contract IDs.
It should be something like: "Contract 1234 56789".
You just have to keep numbers and remove the space.
<div class='note warning'>
Multi contracts accounts are supported only from Home Assistant v0.40.
</div>

View File

@ -77,6 +77,18 @@ input_number:
This integration 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`.
### Scenes
To set the value of an input_number in a [Scene](/integrations/scene/):
```yaml
# Example configuration.yaml entry
scene:
- name: Example Scene
entities:
input_number.example_number: 13
```
## Automation Examples
Here's an example of `input_number` being used as a trigger in an automation.

View File

@ -77,17 +77,32 @@ This integrations provide three services to modify the state of the `input_selec
### Scenes
To specify a target option in a [Scene](/integrations/scene/) you have to specify the target as `option` attribute:
Specifying a target option in a [Scene](/integrations/scene/) is simple:
```yaml
# Example configuration.yaml entry
scene:
- name: Example1
entities:
input_select.who_cooks:
option: Paulus
input_select.who_cooks: Paulus
```
The list of options can also be set in a [Scene](/integrations/scene). In that case, you also need to specify what the new state will be.
```yaml
# Example configuration.yaml entry
scene:
- name: Example2
entities:
input_select.who_cooks:
options:
- Alice
- Bob
- Paulus
state: Bob
```
## Automation Examples
The following example shows the usage of the `input_select.select_option` service in an automation:

View File

@ -81,6 +81,18 @@ This integration provides a single service to modify the state of the `input_tex
This integration 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`.
### Scenes
To set the state of the input_text in a [Scene](/integrations/scene/):
```yaml
# Example configuration.yaml entry
scene:
- name: Example1
entities:
input_text.example: Hello!
```
## Automation Examples
Here's an example using `input_text` in an action in an automation.

View File

@ -56,11 +56,16 @@ havdalah_minutes_after_sunset:
### Data sensors
- date: Shows the hebrew date for today.
- weekly_portion: Shows the weekly portion (parshat hashavu'a).
- holiday_name: If it is a holiday, shows the name of the holiday.
- holiday_type: Shows the type of the holiday _(see below)_.
- holiday: If it is a holiday, shows the name of the holiday _(see below for more info)_.
- omer_count: An integer sensor indicating the day of the Omer (1-49) or 0 if it is not currently the Omer.
### Time sensors
*Note: Due to the variety of rabbinic opinions on how to calculate the different times, we do not take any responsibility on your religious reliance upon these calculations.*
Time sensor states are represented as ISO8601 formatted *UTC time*.
For easier use in automations, all time sensors have a `timestamp` attribute, which returns the UNIX timestamp.
- first_light: First light of dawn (Alot Hashachar - עלות השחר).
- gra_end_shma: Last time for reading of the Shma according to the GR"A.
- mga_end_shma: Last time for reading of the Shma according to the MG"A.
@ -75,17 +80,56 @@ havdalah_minutes_after_sunset:
- issur_melacha_in_effect: A boolean sensor indicating if melacha is currently not permitted. The value is true when it is currently Shabbat or Yom Tov and false otherwise.
### Holiday types
### Holiday sensor
The holiday sensor includes two attibutes: *type* and *id*.
The following is the list of holidays the sensor knows about with their selected type:
| ID | English | Hebrew | Type |
|----------------------|----------------------------|-----------------------|---------------------------|
| erev_rosh_hashana | Erev Rosh Hashana | ערב ראש השנה | EREV_YOM_TOV |
| rosh_hashana_i | Rosh Hashana I | א' ראש השנה | YOM_TOV |
| rosh_hashana_ii | Rosh Hashana II | ב' ראש השנה | YOM_TOV |
| tzom_gedaliah | Tzom Gedaliah | צום גדליה | FAST_DAY |
| erev_yom_kippur | Erev Yom Kippur | עיוה"כ | EREV_YOM_TOV |
| yom_kippur | Yom Kippur | יום הכפורים | YOM_TOV |
| erev_sukkot | Erev Sukkot | ערב סוכות | EREV_YOM_TOV |
| sukkot | Sukkot | סוכות | YOM_TOV |
| hol_hamoed_sukkot | Hol hamoed Sukkot | חול המועד סוכות | HOL_HAMOED |
| hoshana_raba | Hoshana Raba | הושענא רבה | EREV_YOM_TOV |
| simchat_torah | Simchat Torah | שמחת תורה | YOM_TOV |
| chanukah | Chanukah | חנוכה | MELACHA_PERMITTED_HOLIDAY |
| asara_btevet | Asara B'Tevet | צום עשרה בטבת | FAST_DAY |
| tu_bshvat | Tu B'Shvat | ט"ו בשבט | MINOR_HOLIDAY |
| taanit_esther | Ta'anit Esther | תענית אסתר | FAST_DAY |
| purim | Purim | פורים | MELACHA_PERMITTED_HOLIDAY |
| shushan_purim | Shushan Purim | שושן פורים | MELACHA_PERMITTED_HOLIDAY |
| erev_pesach | Erev Pesach | ערב פסח | EREV_YOM_TOV |
| pesach | Pesach | פסח | YOM_TOV |
| hol_hamoed_pesach | Hol hamoed Pesach | חול המועד פסח | HOL_HAMOED |
| pesach_vii | Pesach VII | שביעי פסח | YOM_TOV |
| yom_haatzmaut | Yom HaAtzma'ut | יום העצמאות | MODERN_HOLIDAY |
| lag_bomer | Lag B'Omer | ל"ג בעומר | MINOR_HOLIDAY |
| erev_shavuot | Erev Shavuot | ערב שבועות | EREV_YOM_TOV |
| shavuot | Shavuot | שבועות | YOM_TOV |
| tzom_tammuz | Tzom Tammuz | צום שבעה עשר בתמוז | FAST_DAY |
| tisha_bav | Tish'a B'Av | תשעה באב | FAST_DAY |
| tu_bav | Tu B'Av | ט"ו באב | MINOR_HOLIDAY |
| yom_hashoah | Yom HaShoah | יום השואה | MEMORIAL_DAY |
| yom_hazikaron | Yom HaZikaron | יום הזכרון | MEMORIAL_DAY |
| yom_yerushalayim | Yom Yerushalayim | יום ירושלים | MODERN_HOLIDAY |
| shmini_atzeret | Shmini Atzeret | שמיני עצרת | YOM_TOV |
| pesach_viii | Pesach VIII | אחרון של פסח | YOM_TOV |
| shavuot_ii | Shavuot II | שני של שבועות | YOM_TOV |
| sukkot_ii | Sukkot II | שני של סוכות | YOM_TOV |
| pesach_ii | Pesach II | שני של פסח | YOM_TOV |
| family_day | Family Day | יום המשפחה | ISRAEL_NATIONAL_HOLIDAY |
| memorial_day_unknown | Memorial day for fallen whose place of burial is unknown | יום זכרון... | MEMORIAL_DAY |
| rabin_memorial_day | Yitzhak Rabin memorial day | יום הזכרון ליצחק רבין | MEMORIAL_DAY |
| zeev_zhabotinsky_day | Zeev Zhabotinsky day | יום ז'בוטינסקי | MEMORIAL_DAY |
1. Mido'rayta - by Torah ordination (Rosh Hashana, Yom Kippur, Pesach, Shavuot, Sukkot)
2. Erev Yom Tov
3. Hol Hamo'ed
4. Hanukka and Purim
5. Fast days
6. Modern holidays, e.g. Yom Yerushalayim and Yom Haatsmaut
7. Minor holidays, e.g. Lag ba'omer and Tu bishvat
8. Memorial days: yom hazikaron and yom hashoah
9. Days mentioned by the Israeli parliament: Rabin memorial day, Ze'ev Zhabotinsky day, etc.
## Full configuration sample

View File

@ -650,6 +650,8 @@ light:
- [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](/integrations/light.mqtt) 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.
- [h801-mqtt-json](https://github.com/starkillerOG/h801-mqtt-json) is a custom firmware for the H801 LED dimmer, a 5 channel (RGBWWCW) WiFi LED strip controller for 12V LED strips. The firmware is meant to control the 5 channels of the H801 to simultaneously control an RGB and a Warm-white/Cold-white Led strip such as an 5050 RGB LED strip and a 5025 Dual White strip. It implements the [MQTT JSON light](/integrations/light.mqtt) platform and supports ON/OFF, RGBW colours (RGB strip), brightness, color temperature (CW/WW strip) and transitions.
## 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.

View File

@ -52,6 +52,11 @@ ssl:
required: false
default: false
type: boolean
verify_ssl:
description: If SSL/TLS verification for HTTPS resources needs to be turned off (for self-signed certs, etc.)
required: false
type: boolean
default: true
{% endconfiguration %}
See the [device tracker integration page](/integrations/device_tracker/) for instructions how to configure the people to be tracked.

View File

@ -65,7 +65,7 @@ For single-action buttons (scene selection, etc.), `action` will be `single`, an
## Scene
This integration uses keypad programming to identify scenes. Currently, it works with seeTouch, hybrid seeTouch, main repeater, homeowner, and seeTouch RF tabletop keypads.
This integration uses keypad programming to identify scenes. Currently, it works with seeTouch, hybrid seeTouch, main repeater, homeowner, Pico, and seeTouch RF tabletop keypads.
The Lutron scene platform allows you to control scenes programmed into your SeeTouch keypads.
After setup, scenes will appear in Home Assistant using the area, keypad and button name.

View File

@ -0,0 +1,54 @@
---
title: "Microsoft Teams"
description: "Instructions on how to send a notification to a Microsoft Teams channel."
logo: msteams.jpg
ha_category:
- Notifications
ha_release: 0.101
---
The `Microsoft Teams` platform allows you to send notifications from Home Assistant to a team channel in [Microsoft Teams](https://products.office.com/en-us/microsoft-teams/group-chat-software).
## Setup
To send a notification to teams, you need to add the Incoming Webhook app to your team channel. When the app is added, you will receive a webhook URL that needs to be added to your `configuration.yaml`.
## Configuration
To add the Microsoft Teams platform to your installation, add the following to your `configuration.yaml` file:
```yaml
notify:
- platform: msteams
url: https://outlook.office.com/webhook/<ID>
```
{% configuration %}
name:
description: Setting this parameter allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
type: string
default: "notify"
url:
description: The webhook URL created in the setup step.
required: true
type: string
{% endconfiguration %}
### Microsoft Teams service data
The following attributes can be placed inside `data` for extended functionality.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `image_url` | yes | Attach an image to the message.
Example for posting file from URL:
```yaml
title: Title of the message.
message: Message that will be added.
data:
image_url: URL_OF_IMAGE
```

View File

@ -4,14 +4,27 @@ description: "Instructions on how to integrate your Neato within Home Assistant.
logo: neato.png
ha_category:
- Camera
- Sensor
- Switch
- Vacuum
ha_release: 0.33
ha_config_flow: true
---
The `neato` integration allows you to control your [Neato Botvac Connected Robots](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/).
To enable `neato` in your installation, add the following to your `configuration.yaml` file:
To activate `neato` in your installation, you can set it up from the integration screen or add it to your `configuration.yaml` file.
## Setup the integration via the integrations screen
Menu: *Configuration* -> *Integrations*
Search for or select **Neato** from the list and configure the integration. You will need to enter your username and password and whether you are using a Neato or Vorwerk device.
After that, all the entities will automatically show up in Home Assistant.
## Setup the integration via configuration.yaml
Add the following to your configuration.yaml:
```yaml
# Example configuration.yaml entry
@ -92,6 +105,10 @@ Some information about the capabilities might be found on the [Neato Developer P
The `neato` camera platform allows you to view the latest cleaning map of your [Neato Botvac Connected](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/botvac-connected/).
## Sensor
The `neato` sensor platform allows you to view the battery level for your [Neato Botvac Connected](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/botvac-connected/).
## Switch
The `neato` switch platform allows you to enable or disable the schedule of your [Neato Botvac Connected](https://www.neatorobotics.com/robot-vacuum/botvac-connected-series/botvac-connected/).

View File

@ -9,7 +9,8 @@ ha_iot_class: Local Polling
---
The `onkyo` platform allows you to control a [Onkyo](http://www.onkyo.com/), [Integra](http://www.integrahometheater.com/)
and some recent [Pioneer](http://www.pioneerelectronics.com) receivers from Home Assistant. Please be aware that you need to enable "Network Standby" for this integration to work in your Hardware.
and some recent [Pioneer](http://www.pioneerelectronics.com) receivers from Home Assistant.
Please be aware that you need to enable "Network Standby" for this integration to work in your Hardware.
## Configuration
@ -37,8 +38,14 @@ name:
required: false
type: string
max_volume:
description: Maximum volume. Defaults to 80.
description: Maximum volume as a percentage. Often the maximum volume of the receiver is far too loud. Setting this wil set Home Assistant's 100% volume to be this setting on the amp. i.e. if you set this to 50% when you set Home Assistant to be 100% then your receiver will be set to 50% of it's maximum volume.
required: false
default: 100
type: integer
receiver_max_volume:
description: The maximum volume of the receiver. For older Onkyo receivers this was 80, newer Onkyo receivers use 200.
required: false
default: 80
type: integer
sources:
description: A list of mappings from source to source name. Valid sources can be found below. A default list will be used if no source mapping is specified.
@ -75,6 +82,14 @@ List of source names:
- xm
- sirius
To find your receivers max volume use the onkyo-eiscp python module set the receiver to its maximum volume
(don't do this whilst playing something!) and run:
```bash
onkyo --host 192.168.0.100 volume=query
unknown-model: master-volume = 191
```
### Service `onkyo_select_hdmi_output`
Changes HDMI output of your receiver
@ -109,7 +124,6 @@ script:
entity_id: media_player.onkyo
media_content_type: "radio"
media_content_id: "1"
```
### Example `onkyo_select_hdmi_output` script
@ -125,5 +139,4 @@ script:
service_data:
entity_id: media_player.onkyo
hdmi_output: out-sub
```

View File

@ -27,40 +27,41 @@ The OpenTherm protocol is based on polling. The thermostat sends requests to the
# Configuration
In this example, one gateway is configured with `gateway_id` `living_room`.
```yaml
# Example configuration.yaml entry
opentherm_gw:
living_room:
device: /dev/ttyUSB0
```
Each configured gateway accepts the following configuration options.
The OpenTherm Gateway can be added to Home Assistant through the `Integrations` panel in the `Configuration` page of the web interface.
The following configuration options are available:
{% configuration %}
device:
description: "Path to OpenTherm Gateway device as supported by [PySerial](https://pythonhosted.org/pyserial/url_handlers.html)."
name:
description: "The friendly name used for the OpenTherm Gateway and its entities."
required: true
type: string
name:
description: "The friendly name used for the entities added for the gateway."
path:
description: "Path to the OpenTherm Gateway device as supported by [PySerial](https://pythonhosted.org/pyserial/url_handlers.html)."
required: true
type: string
id:
description: "The `gateway_id` for this OpenTherm Gateway's entity IDs and services. The entered value will be slugified."
required: false
type: string
default: "The `gateway_id` of the gateway."
climate:
description: "Settings for the `opentherm_gw` climate entity."
required: false
type: map
keys:
precision:
description: "The desired precision for this device. Can be used to match your actual thermostat's precision. Supported values are `0.1`, `0.5` and `1.0`."
required: false
type: float
default: "`0.5` for Celsius and `1.0` for Fahrenheit."
floor_temperature:
description: "Some thermostats round all temperatures down to the lower value according to their precision. Default behavior for Home Assistant is to round temperatures to the nearest value. Set this to `true` to override this behavior and round to the lower value according to the configured `precision`."
required: false
type: boolean
default: false
default: "The slugified `name` of this OpenTherm Gateway."
{% endconfiguration %}
<div class='note'>
The precision and floor_temperature settings that were supported in configuration.yaml entries have been lost upon import of the configuration.yaml entry into the Integrations panel. You can now configure them as per the following Options paragraph.
</div>
# Options
The OpenTherm Gateway can be further configured through the integration settings in the web interface
The following options are available:
{% configuration %}
Precision:
description: "The desired precision for this device. Can be used to match your actual thermostat's precision. Set to `0` to use the default value for your unit preference."
type: float
default: "`0.5` for Celsius and `1.0` for Fahrenheit."
Floor Temperature:
description: "Some thermostats round all temperatures down to the lower value according to their precision. Default behavior for Home Assistant is to round temperatures to the nearest value. Enable this setting to override this behavior and round to the lower value according to the configured precision."
type: boolean
default: Disabled
{% endconfiguration %}
## Services
@ -71,7 +72,7 @@ Reset the OpenTherm Gateway.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`.
| `gateway_id` | no | The `gateway_id` as specified during configuration.
### Service `opentherm_gw.set_clock`
@ -79,7 +80,7 @@ Provide the time and day of week to the OpenTherm Gateway. The value provided he
| Service data attribute | Optional | Default | Description |
| ---------------------- | -------- | ------- | ----------- |
| `gateway_id` | no | N/A | The `gateway_id` as specified in `configuration.yaml`.
| `gateway_id` | no | N/A | The `gateway_id` as specified during configuration.
| `date` | yes | Today's date | Date from which the day of week will be extracted. Format: `YYYY-MM-DD`.
| `time` | yes | Current time | Time in 24h format.
@ -95,7 +96,7 @@ In a normal situation, the thermostat will calculate and control the central hea
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`.
| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `temperature` | no | The central heating setpoint. Values between `0.0` and `90.0` are accepted, but your boiler may not support the full range. Set to `0` to disable the override.
<div class='note'>
@ -114,7 +115,7 @@ that.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`.
| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `dhw_override` | no | The domestic hot water override state. Value should be 0 or 1 to enable the override in off or on state, or "A" to disable the override.
### Service `opentherm_gw.set_gpio_mode`
@ -124,7 +125,7 @@ For an explanation of the possible modes, see [GPIO modes](#gpio-modes)
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`.
| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `id` | no | The GPIO ID, `A` or `B`.
| `mode` | no | The GPIO mode to be set.
@ -135,7 +136,7 @@ For a list of possible modes with explanation, see [LED modes](#led-modes)
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`.
| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `id` | no | The LED ID, accepted values are `A` through `F`.
| `mode` | no | The LED mode to be set.
@ -151,7 +152,7 @@ In a normal situation, the thermostat will control the maximum modulation level
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`.
| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `level` | no | The maximum modulation level. Accepted values are `-1` through `100`. Set to `-1` to disable the override.
<div class='note'>
@ -167,7 +168,7 @@ If your thermostat is unable to display an outside temperature and does not supp
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`.
| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `temperature` | no | The outside temperature to provide to the thermostat. Accepted values are `-40.0` through `64.0`. Any value above `64.0` will clear a previously configured value (suggestion: `99`).
### Service `opentherm_gw.set_setback_temperature`
@ -177,7 +178,7 @@ The value you provide here will be used with the GPIO `home` (5) and `away` (6)
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified in `configuration.yaml`.
| `gateway_id` | no | The `gateway_id` as specified during configuration.
| `temperature` | no | The setback temperature. Accepted values are `0.0` through `30.0`.
## Sensors
@ -521,21 +522,3 @@ Possible LED modes and their meaning are listed here:
* X. Transmission error has been detected.
* M. Boiler requires maintenance.
* P. Raised power mode active on thermostat interface.
# Example
A full configuration example with two configured OpenTherm Gateways - one connected via USB, the other over the network - looks like the one below.
```yaml
# Full example configuration.yaml entry
opentherm_gw:
living_room:
device: /dev/ttyUSB0
name: "Living"
holiday_home:
device: socket://otgw.example.org:2345
name: "Holiday Home"
climate:
precision: 0.5
floor_temperature: true
```

View File

@ -30,7 +30,7 @@ binary_sensor:
{% configuration %}
pin_mode:
description: Type of pin mode to use. This depends on which device you are actually using ([PIN_MODE](/integrations/orangepi_gpio#pin_mode)).
description: Type of pin mode to use. This depends on which device you are actually using ([Pin modes](#pin-modes)).
required: true
type: string
ports:
@ -51,13 +51,25 @@ invert_logic:
Compared to the [Raspberry Pi GPIO](/integrations/rpi_gpio/) component, this integration does not support pull-up resistors or port debouncing. Use external pull-ups and external port-debouncing.
## Pin_mode
## Pin modes
As this platform supports different types of GPIO pinouts for difference Orange Pi or Nano Pi devices, we use the `pin_mode` value to specify which one to use. Enabled values are:
| Value | Description |
| ----- | ----------- |
| `pc` | Supports the Orange Pi Lite, One, PC and Prime |
| `lite` | Supports the Orange Pi Lite |
| `lite2` | Supports the Orange Pi Lite 2 |
| `one` | Supports the Orange Pi One |
| `oneplus` | Supports the Orange Pi One Plus |
| `pc` | Supports the Orange Pi PC |
| `pc2` | Supports the Orange Pi PC 2 |
| `pcplus` | Supports the Orange Pi PC Plus |
| `pi3` | Supports the Orange Pi 3 |
| `plus2e` | Supports the Orange Pi Plus 2E |
| `prime` | Supports the Orange Pi Prime |
| `r1` | Supports the Orange Pi R1 |
| `winplus` | Supports the Orange Pi WinPlus |
| `zero` | Supports the Orange Pi Zero |
| `zeroplus` | Supports the Orange Pi Zero Plus |
| `zeroplus2` | Supports the Orange Pi Zero Plus 2 |
| `duo` | Supports the NanoPi Duo |

View File

@ -0,0 +1,32 @@
---
title: "Orange and Rockland Utility Real-Time Energy Usage Sensor"
description: "Instructions on how to integrate the Orange and Rockland Utility real-time energy usage sensor within Home Assistant."
logo: oru.png
ha_release: 0.101
ha_category:
- Sensor
ha_iot_class: Cloud Polling
---
[Orange and Rockland Utility](https://oru.com) is an energy provider in NY and NJ, USA.
The `oru` sensor platform fetches your current energy usage from your ORU smart meter.
## Configuration
To add the `oru` sensor to your installation, add your `meter_number` to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: oru
meter_number: YOUR_METER_NUMBER
```
{% configuration %}
meter_number:
description: The meter number of your smart meter with Orange and Rockland Utility.
required: true
type: string
{% endconfiguration %}
`meter_number` is the smart meter number. It can be found on your energy bill, on the top left corner, alongside your account number.

View File

@ -30,12 +30,28 @@ sensor:
payload: '{ "device" : "heater" }'
```
or a template based request:
{% raw %}
```yaml
# Example configuration.yaml entry
sensor:
- platform: rest
resource_template: http://IP_ADDRESS/{{ now().strftime('%Y-%m-%d') }}
```
{% endraw %}
{% configuration %}
resource:
description: The resource or endpoint that contains the value.
required: true
type: string
default: string
resource_template:
description: The resource or endpoint that contains the value with template support.
required: true
type: template
method:
description: The method of the request. Either `POST` or `GET`.
required: false
@ -103,6 +119,12 @@ force_update:
Make sure that the URL exactly matches your endpoint or resource.
</div>
<div class='note'>
Use either `resource` or `resource_template`.
</div>
`curl` can help you identify the variable you want to display in your Home Assistant frontend. The example below shows the JSON response of a device that is running with [aREST](https://arest.io/).
```bash

View File

@ -33,7 +33,7 @@ service_name:
required: true
type: [string, template]
method:
description: HTTP method to use (get, post, put, or delete).
description: HTTP method to use (get, patch, post, put, or delete).
required: false
default: get
type: string
@ -57,7 +57,7 @@ service_name:
description: Timeout for requests in seconds.
required: false
type: string
defaut: 10
default: 10
content_type:
description: Content type for the request.
required: false

View File

@ -12,6 +12,9 @@ The `saj` sensor will poll a [SAJ](https://www.saj-electric.com/) solar inverter
This sensor uses the web interface and to use it, you have to be able to connect to the solar inverter from your favorite web browser.
There is a difference between inverters that are connected via an ethernet module and those connected via a WiFi module.
The WiFi module requires a username and password for authentication where the ethernet module does not.
## Configuration
To enable this sensor, add the following lines to your `configuration.yaml` file:
@ -25,23 +28,47 @@ sensor:
{% configuration %}
host:
description: The IP address of the SAJ Solar Inverter.
description: "The IP address of the SAJ Solar Inverter."
required: true
type: string
type:
description: "Type of connection module: 'ethernet' or 'wifi'"
required: false
default: ethernet
type: string
username:
description: "Username for logging in to SAJ Solar Inverter (only used when type is 'wifi' but can be skipped if the inverter still has the default credentials set: admin/admin)"
required: false
type: string
password:
description: "Password for logging in to SAJ Solar Inverter (only used when type is 'wifi' but can be skipped if the inverter still has the default credentials set: admin/admin)"
required: false
type: string
{% endconfiguration %}
## Sensors
Sensors available in the library:
| name | Unit | Description |
|--------------------|------|:-------------------------------------------|
| current_power | W | Current power generated by the inverter. |
| today_yield | kWh | Power yield for today. |
| today_time | h | Inverter's running time for today. |
| today_max_current | W | Maximum current power for today. |
| total_yield | kWh | Total kWh generated to date. |
| total_time | h | Total running time of the inverter . |
| total_co2_reduced | kg | Total CO2 in kg reduced. |
| temperature | °C | Temperature of the inverter. |
| state | N/A | Live state of the inverter. |
| name | Unit | Description |
|--------------------|------|:-----------------------------------------------------------------------------|
| current_power | W | Current power generated by the inverter. |
| today_yield | kWh | Power yield for today. |
| today_time | h | Inverter's running time for today. |
| today_max_current | W | Maximum current power for today. (only for connection via ethernet module) |
| total_yield | kWh | Total kWh generated to date. |
| total_time | h | Total running time of the inverter . |
| total_co2_reduced | kg | Total CO2 in kg reduced. |
| temperature | °C | Temperature of the inverter. |
| state | N/A | Live state of the inverter. |
## Full configuration example for WiFi inverters
```yaml
sensor:
- platform: saj
host: IP_ADDRESS_OF_DEVICE
type: wifi
username: USERNAME
password: PASSWORD
```

View File

@ -50,14 +50,41 @@ Scenes can be activated using the service `scene.turn_on` (there is no 'scene.tu
```yaml
# Example automation
...
automation:
trigger:
platform: state
entity_id: device_tracker.sweetheart
from: 'not_home'
to: 'home'
from: "not_home"
to: "home"
action:
service: scene.turn_on
entity_id: scene.romantic
```
## Applying a scene without defining it
With the `scene.apply` service you are able to apply a scene without first defining it via configuration. Instead, you pass the states as part of the service data. The format of the data is the same as the `entities` field in a configuration.
```yaml
# Example automation
automation:
trigger:
platform: state
entity_id: device_tracker.sweetheart
from: "not_home"
to: "home"
action:
service: scene.apply
data:
entities:
light.tv_back_light:
state: on
brightness: 100
light.ceiling: off
media_player.sony_bravia_tv:
source: HDMI 1
```
## Reloading scenes
Whenever you make a change to your scene configuration, you can call the `scene.reload` service to reload the scenes.

View File

@ -0,0 +1,65 @@
---
title: "Sinch SMS"
description: "Instructions on how to add Sinch notifications to Home Assistant."
logo: sinch.png
ha_category:
- Notifications
ha_release: 0.101
---
The `sinch` platform uses [Sinch](https://www.sinch.com/products/messaging/sms/) to deliver notifications from Home Assistant.
## Prerequisites
Go to your [Sinch Dashboard](https://dashboard.sinch.com/sms/api/rest) and click "Add new REST API". You should now be able to obtain your `service_plan_id` and `api_key`.
## Configuration
To add Sinch to your installation, add the following to your Home Assistant `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
- platform: sinch
service_plan_id: SINCH_SERVICE_PLAN_ID
api_key: SINCH_API_KEY
```
{% configuration %}
name:
description: "Setting the optional parameter name allows multiple notifiers to be created. The default value is `Sinch`. The notifier will bind to the service `notify.NOTIFIER_NAME`."
required: false
type: string
service_plan_id:
description: Your Sinch Service Plan ID.
required: true
type: string
api_key:
description: Your API Token.
required: true
type: string
default_recipient:
description: "A single or multiple phone numbers. This is where you want to send your SMS notification messages by default (when not specifying `target` in the service call), e.g., `09171234567` or `[09171234567, 09177654321]`."
required: false
type: [string, list]
sender:
description: The name or number of the sender.
required: false
type: string
default: 'Home Assistant'
{% endconfiguration %}
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
### Full configuration example
```yaml
# Example configuration.yaml entry
notify:
- platform: sinch
name: Sinch
service_plan_id: SINCH_SERVICE_PLAN_ID
api_key: SINCH_API_KEY
default_recipient: [PHONE_NO1, PHONE_NO2]
sender: Home assistant
```

View File

@ -1,64 +0,0 @@
---
title: "Stride"
description: "Instructions how to add Stride notifications to Home Assistant."
logo: stride.png
ha_category:
- Notifications
ha_release: 0.66
---
<div class='note'>
Slack has taken over Hipchat and Stride and will, therefore, discontinue these platforms. Stride will be discontinued after February 15th, 2019. For more information [read the announcement](https://www.atlassian.com/blog/announcements/new-atlassian-slack-partnership).
</div>
The `stride` platform allows you to send notifications from Home Assistant to [Stride](https://stride.com/).
You need to obtain a [Stride API token](https://developer.atlassian.com/cloud/stride/security/authentication/#using-room-tokens) to be able to send notifications. When creating the token, you'll see a section labeled "Use this conversation URL to post messages" - it will look something like "https://api.atlassian.com/site/55872e9f-047e-a619-b32c-19d37fbc6038/conversation/26c98c26-0ffd-a11e-3a55-1b397cb71fe0/message". The first set of numbers and letters (`55872e9f-047e-a619-b32c-19d37fbc6038`) is the Cloud ID, and the second set (`26c98c26-0ffd-a11e-3a55-1b397cb71fe0`) is the Room ID.
To enable the Stride notification in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
- platform: stride
cloudid: CLOUD-ID
token: TOKEN
room: ROOM-ID
```
{% configuration %}
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
cloudid:
description: The Stride Cloud ID to use for sending Stride notification.
required: true
type: string
token:
description: The Stride API token to use for sending Stride notifications.
required: true
type: string
room:
description: The default room to post to if no room is explicitly specified when sending the notification.
required: true
type: string
panel:
description: Setting panel will override the default panel type (`None`) for the notification. By default not setting this will post to Stride without using a panel type. Valid options are 'None', 'info', 'note', 'tip', 'warning'.
required: false
type: string
{% endconfiguration %}
### Stride service data
The following attributes can be placed `data` for extended functionality.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `room` | yes | (int) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml.
| `panel` | yes | (str) Same usage as in configuration.yaml. Overrides any setting set in configuration.yaml.
To use notifications, please see the [getting started with automation page](/getting-started/automation/).

View File

@ -20,6 +20,7 @@ This can simplify the GUI and make it easier to write automations. You can mark
To enable Template Switches in your installation, add the following to your `configuration.yaml` file:
{% raw %}
```yaml
# Example configuration.yaml entry
switch:
@ -36,6 +37,7 @@ switch:
data:
entity_id: switch.skylight_close
```
{% endraw %}
{% configuration %}
@ -56,6 +58,11 @@ switch:
description: Defines a template to set the state of the switch.
required: true
type: template
availability_template:
description: Defines a template to get the `available` state of the component. If the template returns `true`, the device is `available`. If the template returns any other value, the device will be `unavailable`. If `availability_template` is not configured, the component will always be `available`.
required: false
type: template
default: true
turn_on:
description: Defines an action to run when the switch is turned on.
required: true
@ -87,6 +94,7 @@ In this section you find some real-life examples of how to use this switch.
This example shows a switch that copies another switch.
{% raw %}
```yaml
switch:
- platform: template
@ -102,6 +110,7 @@ switch:
data:
entity_id: switch.source
```
{% endraw %}
### Toggle Switch
@ -109,6 +118,7 @@ switch:
This example shows a switch that takes its state from a sensor and toggles a switch.
{% raw %}
```yaml
switch:
- platform: template
@ -125,6 +135,7 @@ switch:
data:
entity_id: switch.blind_toggle
```
{% endraw %}
### Sensor and Two Switches
@ -133,6 +144,7 @@ This example shows a switch that takes its state from a sensor, and uses two
momentary switches to control a device.
{% raw %}
```yaml
switch:
- platform: template
@ -149,6 +161,7 @@ switch:
data:
entity_id: switch.skylight_close
```
{% endraw %}
### Change The Icon
@ -156,6 +169,7 @@ switch:
This example shows how to change the icon based on the day/night cycle.
{% raw %}
```yaml
switch:
- platform: template
@ -177,6 +191,7 @@ switch:
mdi:garage
{% endif %}
```
{% endraw %}
### Change The Entity Picture
@ -184,6 +199,7 @@ switch:
This example shows how to change the entity picture based on the day/night cycle.
{% raw %}
```yaml
switch:
- platform: template
@ -205,4 +221,5 @@ switch:
/local/garage-closed.png
{% endif %}
```
{% endraw %}

View File

@ -6,7 +6,6 @@ ha_category:
- Hub
- Switch
- Light
- Presence Detection
ha_release: 0.89
ha_iot_class: Local Polling
---
@ -17,7 +16,6 @@ There is currently support for the following device types within Home Assistant:
- **Light**
- **Switch**
- [Presence Detection](#presence-detection)
In order to activate the support, you will have to enable the integration inside the config panel.
The supported devices in your network are automatically discovered, but if you want to control devices residing in other networks you will need to configure them manually as shown below.
@ -34,6 +32,12 @@ The following devices are known to work with this component.
- HS105
- HS110
### Multi-Plug Strips
- HS107 (indoor 2-outlet)
- HS300 (powerstrip 6-outlet)
- KP400 (outdoot 2-outlet)
### Wall Switches
- HS200
@ -73,6 +77,15 @@ light:
description: Hostname or IP address of the device.
required: true
type: string
strip:
description: List of multi-outlet on/off switch devices.
required: false
type: list
keys:
host:
description: Hostname or IP address of the device.
required: true
type: string
switch:
description: List of on/off switch devices.
required: false
@ -108,6 +121,9 @@ tplink:
dimmer:
- host: 192.168.200.5
- host: 192.168.200.6
strip:
- host: 192.168.200.7
- host: 192.168.200.8
```
## Extracting Energy Sensor data
@ -142,59 +158,3 @@ sensor:
unit_of_measurement: 'kWh'
```
{% endraw %}
## Presence detection
The `tplink` platform allows you to detect presence by looking at connected devices to a [TP-Link](https://www.tp-link.com) router.
Currently supported devices includes the following:
- Archer C7 firmware version 150427
- Archer C9 firmware version 150811
- EAP-225 AP with latest firmware version
- Archer D9 firmware version 0.9.1 0.1 v0041.0 Build 160224 Rel.59129n
<div class='note'>
TP-Link devices typically only allow one login at a time to the admin console. This integration will count towards your one allowed login. Depending on how aggressively you configure device_tracker you may not be able to access the admin console of your TP-Link device without first stopping Home Assistant. Home Assistant takes a few seconds to login, collect data, and log out. If you log into the admin console manually, remember to log out so that Home Assistant can log in again.
</div>
### Configuration
To enable this device tracker, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
device_tracker:
- platform: tplink
host: YOUR_ROUTER_IP
username: YOUR_ADMIN_USERNAME
password: YOUR_ADMIN_PASSWORD
```
{% configuration %}
host:
description: The IP address of your router, e.g., 192.168.1.1.
required: true
type: string
username:
description: The username of an user with administrative privileges, usually *admin*. The Archer D9 last firmware does not require a username.
required: true
type: string
password:
description: The password for your given admin account.
required: true
type: string
{% endconfiguration %}
For Archer C9 models running firmware version 150811 or later please use the encrypted password you can retrieve like this:
1. Go to the login page of your router. (default: 192.168.0.1)
2. Type in the password you use to login into the password field.
3. Click somewhere else on the page so that the password field is not selected anymore.
4. Open the JavaScript console of your browser (usually by pressing F12 and then clicking on "Console").
5. Type `document.getElementById("login-password").value;` or `document.getElementById("pcPassword").value;`, depending on your firmware version.
6. Copy the returned value to your Home Assistant configuration as password.
See the [device tracker integration page](/integrations/device_tracker/) for instructions how to configure the people to be tracked.
For Archer D9 model the default IP is 192.168.1.1, the username is not necessary and you can leave that field blank.

View File

@ -35,7 +35,7 @@ name:
### Usage
Twilio is a notify platform and thus can be controlled by calling the notify service [as described here](/integrations/notify/). It will send a notification to all E.164 phone numbers in the notification **target**. See the notes above regarding the `from_number` configuration variable for information about formatting phone numbers.
Twilio is a notify platform and thus can be controlled by calling the notify service [as described here](/integrations/notify/). It will send a notification to all E.164 phone numbers in the notification **target**. See the notes above regarding the `from_number` configuration variable for information about formatting phone numbers. It's also possible to use `whatsapp:+123456789` for sending notifications to a Whatsapp user.
Media can be included with messages by setting the optional `media_url` variable. Only `.gif`, `.png`, or `.jpeg` content are supported, according to the Twilio documentation and this feature is [only supported in the US and Canada.][mms]

View File

@ -355,6 +355,11 @@ To fetch the token follow these instructions depending on your mobile phone plat
2. Install [BlueStacks](https://www.bluestacks.com).
3. Set up [Mi Home version 5.0.30](https://www.apkmirror.com/apk/xiaomi-inc/mihome/mihome-5-0-30-release/) in BlueStacks and login to synchronize devices.
4. Use [BlueStacks Tweaker](https://forum.xda-developers.com/general/general/bluestacks-tweaker-2-tool-modifing-t3622681) to access the filesystem and retrieve the token.
5. Copy `/data/data/com.xiaomi.smarthome/databases/miio2.db` file to your computer using the Bluestacks Tweakers filesystem tool.
6. Install [DB Browser for SQLite](https://sqlitebrowser.org/).
7. Open the DB Browser and load the `miio2.db` from your computer.
8. Select `Browse Data` tab from the DB Browser and switch to table called `devicerecord`
9. This will display all the connected devices information with the token.
### Selecting token manually (Windows and Android)

View File

@ -44,6 +44,10 @@ states:
description: Arm Night
arm_custom_bypass:
description: Arm Custom Bypass
theme:
required: false
description: "Set to any theme within `themes.yaml`"
type: string
{% endconfiguration %}
## Examples

View File

@ -19,6 +19,10 @@ title:
required: false
description: The card title.
type: string
icon:
required: false
description: An icon to display to the left of the title
type: string
show_header_toggle:
required: false
description: Button to turn on/off all entities.
@ -63,6 +67,96 @@ 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
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
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
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
{% endconfiguration %}
## Special Row Elements

View File

@ -80,6 +80,11 @@ tap_action:
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
@ -110,12 +115,75 @@ hold_action:
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"
theme:
required: false
description: "Set to any theme within `themes.yaml`"
type: string
{% endconfiguration %}
## Options For Confirmation
If you define confirmation as an object instead of boolean, you can add more customization and configurations:
{% configuration %}
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 %}
## Examples
Title and Script Service Example:

View File

@ -75,6 +75,11 @@ show_last_changed:
description: Overwrites the state display with the relative time since last changed.
type: boolean
default: false
show_state:
required: false
description: Show entity state-text.
type: boolean
default: true
tap_action:
required: false
description: Action to take on tap
@ -105,6 +110,11 @@ tap_action:
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
@ -135,6 +145,69 @@ hold_action:
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 %}
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 %}
## Examples

View File

@ -11,6 +11,10 @@ type:
required: true
description: horizontal-stack
type: string
title:
required: false
description: Title of Stack
type: string
cards:
required: true
description: List of cards.
@ -21,6 +25,7 @@ cards:
```yaml
type: horizontal-stack
title: Lights
cards:
- type: picture-entity
image: /local/bed_1.png

View File

@ -38,6 +38,10 @@ entity_id:
type: [string, list]
default: none
description: "A list of entity IDs so a template in `content:` only reacts to the state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities."
theme:
required: false
description: "Set to any theme within `themes.yaml`"
type: string
{% endconfiguration %}
## Example

View File

@ -34,6 +34,10 @@ state_filter:
required: false
description: '[State-based CSS filters](#how-to-use-state_filter)'
type: map
theme:
required: false
description: "Set to any theme within `themes.yaml`"
type: string
{% endconfiguration %}
## Elements
@ -58,6 +62,111 @@ title:
required: false
description: State badge tooltip. Set to null to hide.
type: string
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 %}
### Icon representing an entity state
@ -109,6 +218,11 @@ tap_action:
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
@ -139,6 +253,46 @@ hold_action:
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"
style:
required: true
description: Position and style the element using CSS.
@ -199,6 +353,11 @@ tap_action:
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
@ -229,6 +388,46 @@ hold_action:
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"
style:
required: true
description: Position and style the element using CSS.
@ -311,6 +510,11 @@ tap_action:
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
@ -341,6 +545,46 @@ hold_action:
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"
style:
required: true
description: Position and style the element using CSS.
@ -393,6 +637,11 @@ tap_action:
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
@ -423,6 +672,46 @@ hold_action:
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"
image:
required: false
description: The image to display.
@ -492,6 +781,29 @@ elements:
type: list
{% endconfiguration %}
## Options For Confirmation
If you define confirmation as an object instead of boolean, you can add more customization and configurations:
{% configuration %}
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 %}
### Custom Elements
{% configuration %}

View File

@ -59,6 +59,10 @@ show_state:
description: Shows state in footer.
type: boolean
default: true
theme:
required: false
description: "Set to any theme within `themes.yaml`"
type: string
tap_action:
required: false
description: Action to take on tap
@ -89,6 +93,11 @@ tap_action:
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
@ -119,6 +128,69 @@ hold_action:
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 %}
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 %}
## How to use state_filter

View File

@ -58,6 +58,15 @@ entity:
required: false
description: Entity to use for `state_image`.
type: string
show_state:
required: false
description: Show entity state-text.
type: boolean
default: true
theme:
required: false
description: "Set to any theme within `themes.yaml`"
type: string
tap_action:
required: false
description: Action to take on tap
@ -88,6 +97,11 @@ tap_action:
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
@ -118,6 +132,46 @@ hold_action:
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 Entities
@ -133,6 +187,11 @@ icon:
required: false
description: Overwrites default icon.
type: string
show_state:
required: false
description: Show entity state-text.
type: boolean
default: true
tap_action:
required: false
description: Action to take on tap
@ -140,7 +199,7 @@ tap_action:
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`more-info`"
navigation_path:
@ -158,6 +217,11 @@ tap_action:
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
@ -165,7 +229,7 @@ hold_action:
keys:
action:
required: true
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `none`)"
description: "Action to perform (`more-info`, `toggle`, `call-service`, `navigate`, `url`, `none`)"
type: string
default: "`more-info`"
navigation_path:
@ -183,6 +247,69 @@ hold_action:
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 %}
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 %}
## How to use state_filter

View File

@ -20,6 +20,10 @@ image:
required: true
description: The URL of an image.
type: string
theme:
required: false
description: "Set to any theme within `themes.yaml`"
type: string
tap_action:
required: false
description: Action to take on tap
@ -50,6 +54,11 @@ tap_action:
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
@ -80,6 +89,69 @@ hold_action:
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 %}
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 %}
## Examples

View File

@ -25,6 +25,10 @@ name:
description: Overwrites Friendly Name
type: string
default: Entity Name
theme:
required: false
description: "Set to any theme within `themes.yaml`"
type: string
{% endconfiguration %}
## Example

View File

@ -26,6 +26,10 @@ title:
required: false
description: Title of Shopping List
type: string
theme:
required: false
description: "Set to any theme within `themes.yaml`"
type: string
{% endconfiguration %}
## Examples

View File

@ -11,6 +11,10 @@ type:
required: true
description: vertical-stack
type: string
title:
required: false
description: Title of Stack
type: string
cards:
required: true
description: List of cards.
@ -23,6 +27,7 @@ Basic example:
```yaml
type: vertical-stack
title: Backyard
cards:
- type: picture-entity
entity: camera.demo_camera

View File

@ -25,6 +25,10 @@ name:
description: Overwrites the friendly name.
type: string
default: Entity Name
theme:
required: false
description: "Set to any theme within `themes.yaml`"
type: string
{% endconfiguration %}
Example

View File

@ -34,7 +34,7 @@ The new [image processing component][image] currently works with [number plates]
## All changes
- Sensor: Support for [HydroQuebec][quebec] ([@titilambert])
- Sensor: Support for HydroQuebec ([@titilambert])
- Sensor: Tracking the [ISS][iss] ([@HydrelioxGitHub])
- Sensor: USPS deliveries tracking ([@happyleavesaoc])
- Device tracker: New [ping-based][ping] tracker ([@michaelarnauts])
@ -177,7 +177,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[pico]: /integrations/picotts
[ping]: /integrations/ping
[plates]: /integrations/openalpr_local/
[quebec]: /integrations/hydroquebec
[rest]: /integrations/rest_command/
[sma]: /integrations/sma#sensors
[sonarr]: /integrations/sonarr
@ -190,4 +189,3 @@ Experiencing issues introduced by this release? Please report them in our [issue
[yandex]: /integrations/yandextts
[yeelight]: /integrations/yeelight
[zengge]: /integrations/zengge

View File

@ -165,7 +165,7 @@ light:
- Do not call update() in constructor ([@fabaff] - [#8120]) ([sensor.netdata docs])
- Change Error Message when Turning off ISY994 Light ([@SConaway] - [#8131]) ([light.isy994 docs])
- Allow iteration in python_script ([@balloob] - [#8134]) ([python_script docs])
- Add current balance to hydroquebec sensor ([@titilambert] - [#8138]) ([sensor.hydroquebec docs])
- Add current balance to hydroquebec sensor ([@titilambert] - [#8138])
- Decora light: Fix brightness level in UI ([@titilambert] - [#8139]) ([light.decora docs])
- Add I2c BME280 temperature, humidity and pressure sensor for Raspberry Pi ([@azogue] - [#7989]) ([sensor.bme280 docs]) (new-platform)
- Upgrade libsoundtouch to prevent Python3.6 errors with enum. #7733 #8103 ([@CharlesBlonde] - [#8143]) ([media_player.soundtouch docs])
@ -489,7 +489,6 @@ light:
[sensor.dyson docs]: /integrations/dyson#sensor
[sensor.glances docs]: /integrations/glances
[sensor.htu21d docs]: /integrations/htu21d
[sensor.hydroquebec docs]: /integrations/hydroquebec
[sensor.knx docs]: /integrations/sensor.knx/
[sensor.netdata docs]: /integrations/netdata
[sensor.openhardwaremonitor docs]: /integrations/openhardwaremonitor

View File

@ -138,7 +138,7 @@ conversation:
- Remove deprecated automation keywords ([@amelchio] - [#8510]) ([automation.state docs]) ([automation.time docs]) (breaking change)
- Citybikes: Allow None as result for empty slots ([@janLo] - [#8528]) ([sensor.citybikes docs])
- Return a 0 temperature value when none is found ([@phil-lavin] - [#8518]) ([climate.maxcube docs])
- Fix #6469 and #6828 ([@titilambert] - [#8537]) ([sensor.hydroquebec docs])
- Fix #6469 and #6828 ([@titilambert] - [#8537])
- Update docstrings ([@fabaff] - [#8536])
- Upgrade TwitterAPI to 2.4.6 ([@fabaff] - [#8535]) ([notify.twitter docs])
- Decora: Fix set brightness and improve reconnection ([@titilambert] - [#8522]) ([light.decora docs])
@ -381,7 +381,6 @@ conversation:
[sensor.dht docs]: /integrations/dht
[sensor.fitbit docs]: /integrations/fitbit
[sensor.google_wifi docs]: /integrations/google_wifi
[sensor.hydroquebec docs]: /integrations/hydroquebec
[sensor.knx docs]: /integrations/sensor.knx/
[sensor.lyft docs]: /integrations/lyft
[sensor.octoprint docs]: /integrations/octoprint#sensor

View File

@ -64,7 +64,7 @@ Our about screen that shows the error logs has gained a nice upgrade by [@postlu
- Fix yweather ([@tinloaf] - [#10661]) ([weather.yweather docs])
- Properly initialize Harmony remote ([@amelchio] - [#10665]) ([remote.harmony docs])
- Handle the new version of HydroQuebec website ([@titilambert] - [#10682]) ([sensor.hydroquebec docs])
- Handle the new version of HydroQuebec website ([@titilambert] - [#10682])
- Fix for time_date sensor ([@etsinko] - [#10694]) ([sensor.time_date docs])
- Frontend fixes ([@andrey-git] [@armills] [@balloob])
@ -492,6 +492,5 @@ Experiencing issues introduced by this release? Please report them in our [issue
[@tinloaf]: https://github.com/tinloaf
[@titilambert]: https://github.com/titilambert
[remote.harmony docs]: /integrations/harmony
[sensor.hydroquebec docs]: /integrations/hydroquebec
[sensor.time_date docs]: /integrations/time_date
[weather.yweather docs]: /integrations/yweather

View File

@ -161,7 +161,7 @@ Note however, that this feature was replaced by a new ignore_string config optio
## All changes
- Try multiple methods of getting data in asuswrt. ([@PeWu] - [#11140]) ([device_tracker.asuswrt docs])
- Hydroquebec component use now asyncio ([@titilambert] - [#10795]) ([sensor.hydroquebec docs])
- Hydroquebec component use now asyncio ([@titilambert] - [#10795])
- Hive Component Release Two ([@KJonline] - [#11053]) ([hive docs]) ([climate.hive docs]) ([light.hive docs])
- Add Discogs Sensor platform ([@thibmaek] - [#10957]) ([sensor.discogs docs]) (new-platform)
- Fix statistics sensor mean and median when only one sample is available. ([@markferry] - [#11180]) ([sensor.statistics docs])
@ -259,7 +259,7 @@ Note however, that this feature was replaced by a new ignore_string config optio
- Input Select - Added service description ([@cdce8p] - [#11456]) ([input_select docs])
- Input Boolean - Deleted 'DEFAULT_INITIAL' ([@cdce8p] - [#11453]) ([input_boolean docs])
- Updated gitignore file ([@cdce8p] - [#11452])
- Update hydroquebec component to use hass httpsession ([@titilambert] - [#11412]) ([sensor.hydroquebec docs])
- Update hydroquebec component to use hass httpsession ([@titilambert] - [#11412])
- Catch everything when calling to OctoPrint API to fix #10557 ([@w1ll1am23] - [#11457]) ([octoprint docs])
- Update PULL_REQUEST_TEMPLATE.md ([@danielhiversen] - [#11465])
- Alexa to not use customize for entity config ([@balloob] - [#11461]) ([cloud docs]) ([alexa.smart_home docs]) (breaking change)

View File

@ -38,7 +38,7 @@ This release includes a security fix. The error log was accessible via the API w
- Import operation modes from air humidifier ([@syssi] - [#13908]) ([fan.xiaomi_miio docs])
- Upgrade pyqwikswitch to 0.71 ([@kellerza] - [#13920]) ([qwikswitch docs])
- Upgrade somecomfort to 0.5.2 ([@balloob] - [#13940]) ([climate.honeywell docs])
- Update pyhydroquebec to 2.2.2 ([@titilambert] - [#13946]) ([sensor.hydroquebec docs])
- Update pyhydroquebec to 2.2.2 ([@titilambert] - [#13946])
- Update pyfido to 2.1.1 ([@titilambert] - [#13947]) ([sensor.fido docs])
- Bumped pypollencom to 1.1.2 ([@bachya] - [#13959]) ([sensor.pollen docs])
- Revert "Upgrade pyqwikswitch to 0.71 ([@balloob] - [#13920]) ([qwikswitch docs])
@ -111,7 +111,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Remove MercedesME component ([@ReneNulschDE] - [#13538]) ([device_tracker docs]) (mercedesme docs) (binary_sensor.mercedesme docs) (sensor.mercedesme docs) (breaking change)
- Added Waze travel time sensor ([@Myrddyn1] - [#12387]) ([sensor.waze_travel_time docs]) (new-platform)
- Added switch component to Amcrest IP Camera. ([@adpriebe] - [#12992]) ([amcrest docs]) ([switch.amcrest docs]) (new-platform)
- Upgrade pyhydroquebec 2.2.1 ([@titilambert] - [#13586]) ([sensor.hydroquebec docs])
- Upgrade pyhydroquebec 2.2.1 ([@titilambert] - [#13586])
- Add mastodon ([@fabaff] - [#13441]) ([notify docs]) (new-platform)
- Added support for requesting RSSI values from Bluetooth devices ([@FrederikBolding] - [#12458]) ([device_tracker.bluetooth_tracker docs])
- Fix mysensors update callback ([@MartinHjelmare] - [#13602]) ([mysensors docs])
@ -384,7 +384,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[sensor.canary docs]: /integrations/canary#sensor
[sensor.cpuspeed docs]: /integrations/cpuspeed
[sensor.file docs]: /integrations/file#sensor
[sensor.hydroquebec docs]: /integrations/hydroquebec
[sensor.imap_email_content docs]: /integrations/imap_email_content/
[sensor.plex docs]: /integrations/plex#sensor
[sensor.qnap docs]: /integrations/qnap
@ -435,7 +434,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[fan.xiaomi_miio docs]: /integrations/fan.xiaomi_miio/
[qwikswitch docs]: /integrations/qwikswitch/
[sensor.fido docs]: /integrations/fido
[sensor.hydroquebec docs]: /integrations/hydroquebec
[sensor.pollen docs]: /integrations/iqvia
[switch.broadlink docs]: /integrations/broadlink#switch
[switch.vesync docs]: /integrations/vesync#switches

View File

@ -156,7 +156,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Add support for new platform: climate.modbus ([@Kirchoff] - [#12224]) ([climate.modbus docs]) (new-platform)
- Hive R3 update ([@KJonline] - [#13357]) ([hive docs]) ([binary_sensor.hive docs]) ([climate.hive docs]) ([light.hive docs]) ([sensor.hive docs]) ([switch.hive docs])
- Updated foobot_async package version ([@reefab] - [#13942]) ([sensor.foobot docs])
- Update pyhydroquebec to 2.2.2 ([@titilambert] - [#13946]) ([sensor.hydroquebec docs]) (beta fix)
- Update pyhydroquebec to 2.2.2 ([@titilambert] - [#13946]) (beta fix)
- Upgrade alpha_vantage to 2.0.0 ([@fabaff] - [#13943]) ([sensor.alpha_vantage docs])
- Cleanup on exit ([@dgomes] - [#13918]) ([media_player.mediaroom docs])
- Upgrade somecomfort to 0.5.2 ([@balloob] - [#13940]) ([climate.honeywell docs]) (beta fix)
@ -183,7 +183,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Import operation modes from air humidifier ([@syssi] - [#13908]) ([fan.xiaomi_miio docs]) (beta fix)
- Upgrade pyqwikswitch to 0.71 ([@kellerza] - [#13920]) ([qwikswitch docs])
- Upgrade somecomfort to 0.5.2 ([@balloob] - [#13940]) ([climate.honeywell docs]) (beta fix)
- Update pyhydroquebec to 2.2.2 ([@titilambert] - [#13946]) ([sensor.hydroquebec docs]) (beta fix)
- Update pyhydroquebec to 2.2.2 ([@titilambert] - [#13946]) (beta fix)
- Revert "Upgrade pyqwikswitch to 0.71 ([@balloob] - [#13920]) ([qwikswitch docs])
- Bump skybellpy version to 0.1.2 ([@MisterWil] - [#13974]) ([skybell docs])
- Fix typo an coding style ([@stephanerosi] - [#13970]) ([device_tracker docs])
@ -476,7 +476,6 @@ Experiencing issues introduced by this release? Please report them in our [issue
[sensor.foobot docs]: /integrations/foobot
[sensor.fritzbox_netmonitor docs]: /integrations/fritzbox#sensor_netmonitor/
[sensor.hive docs]: /integrations/hive#sensor
[sensor.hydroquebec docs]: /integrations/hydroquebec
[sensor.linux_battery docs]: /integrations/linux_battery
[sensor.miflora docs]: /integrations/miflora
[sensor.mqtt docs]: /integrations/sensor.mqtt/

View File

@ -42,7 +42,7 @@ Also impacted, but integrations are read only:
- [sensor.ebox](/integrations/ebox)
- [sensor.fido](/integrations/fido)
- [sensor.foobot](/integrations/foobot)
- [sensor.hydroquebec](/integrations/hydroquebec)
- sensor.hydroquebec
- [sensor.startca](/integrations/startca)
- [sensor.teksavvy](/integrations/teksavvy)
- [sensor.thethingsnetwork](/integrations/thethingsnetwork#sensor)

File diff suppressed because it is too large Load Diff

View File

@ -571,7 +571,6 @@
/components/notify.free_mobile /integrations/free_mobile
/components/notify.gntp /integrations/gntp
/components/notify.hangouts /integrations/hangouts
/components/notify.hipchat /integrations/hipchat
/components/notify.homematic /integrations/homematic
/components/notify.html5 /integrations/html5
/components/notify.huawei_lte /integrations/huawei_lte
@ -597,7 +596,6 @@
/components/notify.simplepush /integrations/simplepush
/components/notify.slack /integrations/slack
/components/notify.smtp /integrations/smtp
/components/notify.stride /integrations/stride
/components/notify.synology_chat /integrations/synology_chat
/components/notify.syslog /integrations/syslog
/components/notify.telegram /integrations/telegram
@ -752,7 +750,6 @@
/components/sensor.htu21d /integrations/htu21d
/components/sensor.huawei_lte /integrations/huawei_lte#sensor
/components/sensor.hydrawise /integrations/hydrawise#sensor
/components/sensor.hydroquebec /integrations/hydroquebec
/components/sensor.ihc /integrations/ihc#sensor
/components/sensor.imap /integrations/imap
/components/sensor.imap_email_content /integrations/imap_email_content
@ -1433,7 +1430,6 @@
/components/heos /integrations/heos
/components/hikvision /integrations/hikvision
/components/hikvisioncam /integrations/hikvisioncam
/components/hipchat /integrations/hipchat
/components/history /integrations/history
/components/history_graph /integrations/history_graph
/components/history_stats /integrations/history_stats
@ -1458,7 +1454,6 @@
/components/hue /integrations/hue
/components/hunterdouglas_powerview /integrations/hunterdouglas_powerview
/components/hydrawise /integrations/hydrawise
/components/hydroquebec /integrations/hydroquebec
/components/hyperion /integrations/hyperion
/components/ialarm /integrations/ialarm
/components/iaqualink /integrations/iaqualink

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 707 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1 +0,0 @@
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" viewBox="0 0 200 65" xml:space="preserve"><style type="text/css">.st0{fill:#ff9b00}.st1{fill:#036}</style><g><path class="st0" d="M44.9,49.5C40.4,53,34.8,55,28.7,55C14,55,2.1,43.1,2.1,28.4C2.1,13.6,14,1.7,28.7,1.7 c14.7,0,26.6,11.9,26.6,26.6c0,6.1-2,11.7-5.5,16.2v0c1.3,1,7.4,5.5,8,6.3c-0.2-2.2-1-9.3-1-9.3l22.3,16.7l0.1,0.5l-16.5-7.3 L64.2,64L44.9,49.5L44.9,49.5z M38.5,44.5c-3.1-2.3-15.1-11-15.1-11h11.7c0.7,0.5,5.9,4.4,8.5,6.4l0,0c2.4-3.2,3.9-7.2,3.9-11.5 c0-10.5-8.4-19-18.8-19c-10.4,0-18.8,8.5-18.8,19c0,10.5,8.4,19,18.8,19C32.3,47.3,35.7,46.3,38.5,44.5L38.5,44.5z"/><g><g><path class="st1" d="M89.2,24.8L86,10.1h4.7l1,6.9c0.2,1.6,0.4,2.9,0.6,3.9h0.1c0.3-1,0.8-2.2,1.5-3.9l2.9-6.9h4.7L91.1,30.8 l-5.3,0L89.2,24.8z"/><path class="st1" d="M72.8,4.1l-1.6,8.5h8.1l1.6-8.5h4.5l-4.1,21.8h-4.5l1.7-9.2h-8.1l-1.7,9.2h-4.5l4.1-21.8H72.8z"/><path class="st1" d="M117.8,25.9l1.8-9.5c0.4-2.4,0.6-5,0.8-6.3h3.9c-0.1,1.1-0.2,2.1-0.3,3.3h0.1c1.1-2.1,2.9-3.6,5-3.6 c0.3,0,0.6,0,0.9,0l-0.9,4.4c-0.2,0-0.5,0-0.7,0c-2.9,0-4.4,2.7-4.9,5.8l-1.1,6H117.8z"/><path class="st1" d="M136,26.3c-4,0-6.7-2.6-6.7-6.5c0-5.4,3.8-10,9.4-10c4.2,0,6.7,2.9,6.7,6.5C145.4,21.9,141.4,26.3,136,26.3 L136,26.3z M136.6,22.8c2.6,0,4.1-3.8,4.1-6.5c0-1.5-0.7-3.1-2.6-3.1c-2.7,0-4.2,3.9-4.2,6.5C133.9,21.5,134.9,22.8,136.6,22.8 L136.6,22.8z"/><path class="st1" d="M118.3,3.6l-3.1,16.3c-0.4,2-0.7,4.2-0.7,6h-4.1l0.2-2.6h-0.1c-1.4,2.1-3.3,3-5.2,3c-2.7,0-4.9-2.1-4.9-5.9 c0-5.5,4-10.6,9.9-10.6c0.7,0,1.5,0.1,2.2,0.4l1.3-6.6H118.3z M111.9,13.7c-0.4-0.3-1.1-0.6-1.9-0.6c-2.9,0-4.9,3.3-4.9,6.4 c0,1.9,0.8,3.1,2.2,3.1c1.4,0,3.1-1.5,3.7-4.6L111.9,13.7z"/></g><g><path class="st1" d="M134,36.8l-2,10.7c-0.4,2-0.6,3.7-0.8,5.1h-4l0.3-2.6l-0.1,0c-1.6,2.1-3.5,3-5.4,3c-2.5,0-4.1-1.4-4.1-4.4 c0-0.9,0.1-1.8,0.3-2.9l1.7-8.8h4.5l-1.6,8.5c-0.1,0.7-0.2,1.5-0.2,2.1c0,1.1,0.4,1.9,1.7,1.9c1.6,0,3.3-1.9,3.9-5.1l1.4-7.4H134 z"/><path class="st1" d="M195.3,52.1c-1,0.5-2.6,0.8-4.5,0.8c-3.9,0-6.6-2.4-6.6-6.5c0-5.6,4.3-10,10.2-10c1.4,0,2.5,0.3,3.2,0.5 l-1.1,3.4c-0.6-0.2-1.2-0.4-2.2-0.4c-3.4,0-5.5,2.9-5.5,5.9c0,2.2,1.4,3.4,3.2,3.4c1.4,0,2.4-0.3,3.2-0.7L195.3,52.1z"/><g><path class="st1" d="M150.1,51.9l4.1-21.7l4.5,0l-1.6,8.6l0.1,0c0.9-1.4,2.9-2.5,4.9-2.5c3.3,0,4.9,2.5,4.9,5.5 C166.7,50.6,159.1,55.2,150.1,51.9z M155,49.3c4.1,1.8,7.1-2.9,7.1-6.6c0-1.6-0.8-2.8-2.1-2.8c-1.8,0-3.6,1.8-4.2,5.1L155,49.3z"/></g><path class="st1" d="M182.7,44.9c0.7-3,0.6-8.5-5.4-8.5c-5.8,0-9.2,5.1-9.2,9.9c0,4,2.2,6.6,6.8,6.6c1.8,0,4.1-0.4,5.8-1.2 l-0.3-3.3c-1.2,0.8-7.8,2.6-8-2L182.7,44.9z M172.8,43.5c0.1-1.1,1.3-3.5,3.5-3.8c2.1-0.2,2.9,1.5,2.6,2.9L172.8,43.5z"/><path class="st1" d="M104.2,53c-3.7,0-8.7-2.3-8.7-9.2c0-6.6,4.2-13.3,11.9-13.3c6,0,8.7,4.3,8.7,9.1c0,5-3.2,8.9-5.2,10v0 c0.2,0,1.7-0.5,3.4-0.5c0,0,0.9,0,1.4,0l-0.7,3.5c-0.3,0-2.6,0-5.5,0C107.2,52.6,107.2,53,104.2,53z M104.9,49.2 c4,0,6.5-5.4,6.5-9.6c0-2.5-1-5.3-4.5-5.3c-4.1,0-6.6,5.5-6.6,9.6C100.2,46.9,101.7,49.2,104.9,49.2L104.9,49.2z"/><path class="st1" d="M149.4,30.2l-4,4.7h-3.2l3-4.7H149.4z M149.3,44.9c0.7-3,0.6-8.5-5.4-8.5c-5.8,0-9.2,5.1-9.2,9.9 c0,4,2.2,6.6,6.8,6.6c1.8,0,4.1-0.4,5.8-1.2l-0.3-3.3c-1.2,0.8-7.8,2.6-8-2L149.3,44.9z M139.3,43.5c0.1-1.1,1.3-3.5,3.5-3.8 c2.1-0.2,2.9,1.5,2.5,2.9L139.3,43.5z"/></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -2,30 +2,66 @@
title: "Lovelace Changelog"
description: "Changelog of the Lovelace UI."
---
## Changes in 0.101.0
- ❤️ [entities card]: Add actions on rows [#4023](https://github.com/home-assistant/home-assistant-polymer/pull/4023) @iantrich
- ❤️ [entities card]: New `icon` option for title [#4024](https://github.com/home-assistant/home-assistant-polymer/pull/4024) @iantrich
- ❤️ [views]: New `visible` option [#3811](https://github.com/home-assistant/home-assistant-polymer/pull/3811) @iantrich
- ❤️ [views]: Custom badges [#3867](https://github.com/home-assistant/home-assistant-polymer/pull/3867) @iantrich
- ❤️ [views]: New `entity-filter` badge [#3867](https://github.com/home-assistant/home-assistant-polymer/pull/3867) @iantrich
- ❤️ [views]: New `state-label` badge [#3867](https://github.com/home-assistant/home-assistant-polymer/pull/3867) @iantrich
- ❤️ [views]: Add actions to `state-label` badge [#4028](https://github.com/home-assistant/home-assistant-polymer/pull/4028) @iantrich
- ❤️ [shopping list card]: New `theme` option [#4057](https://github.com/home-assistant/home-assistant-polymer/pull/4057) @iantrich
- ❤️ [plant status card]: New `theme` option [#4057](https://github.com/home-assistant/home-assistant-polymer/pull/4057) @iantrich
- ❤️ [markdown card]: New `theme` option [#4057](https://github.com/home-assistant/home-assistant-polymer/pull/4057) @iantrich
- ❤️ [alarm panel card]: New `theme` option [#4057](https://github.com/home-assistant/home-assistant-polymer/pull/4057) @iantrich
- ❤️ [picture card]: New `theme` option [#4057](https://github.com/home-assistant/home-assistant-polymer/pull/4057) @iantrich
- ❤️ [picture elements card]: New `theme` option [#4057](https://github.com/home-assistant/home-assistant-polymer/pull/4057) @iantrich
- ❤️ [picture elements card]: Add actions to `state-badge` element [#4028](https://github.com/home-assistant/home-assistant-polymer/pull/4028) @iantrich
- ❤️ [picture entity card]: New `theme` option [#4057](https://github.com/home-assistant/home-assistant-polymer/pull/4057) @iantrich
- ❤️ [picture glance card]: New `theme` option [#4057](https://github.com/home-assistant/home-assistant-polymer/pull/4057) @iantrich
- ❤️ [picture glance card]: New `show_state` option for entities [#3937](https://github.com/home-assistant/home-assistant-polymer/pull/3937) @iantrich
- ❤️ [weather forecast card]: New `theme` option [#4057](https://github.com/home-assistant/home-assistant-polymer/pull/4057) @iantrich
- ❤️ [vertical stack card]: New `title` option [#3839](https://github.com/home-assistant/home-assistant-polymer/pull/3839) @iantrich
- ❤️ [horizontal stack card]: New `title` option [#3839](https://github.com/home-assistant/home-assistant-polymer/pull/3839) @iantrich
- ❤️ New `double_tap_action` option [#3879](https://github.com/home-assistant/home-assistant-polymer/pull/3879) @iantrich
- ❤️ New `confirmation` option for actions [#4006](https://github.com/home-assistant/home-assistant-polymer/pull/4006) @iantrich
- ❤️ Theming: New CSS switch sytle: `switch-checked-color` [#4017](https://github.com/home-assistant/home-assistant-polymer/pull/4017) @iantrich
- ❤️ Theming: New CSS switch sytle: `switch-unchecked-color` [#4017](https://github.com/home-assistant/home-assistant-polymer/pull/4017) @iantrich
- ❤️ Theming: New CSS switch sytle: `switch-unchecked-button-color` [#4017](https://github.com/home-assistant/home-assistant-polymer/pull/4017) @iantrich
- ❤️ Theming: New CSS switch sytle: `switch-unchecked-track-color` [#4017](https://github.com/home-assistant/home-assistant-polymer/pull/4017) @iantrich
- 📣 Upgrade MDI icons to 4.5.95 [#3977](https://github.com/home-assistant/home-assistant-polymer/pull/3977) @bonanitech
- 📣 Display card errors in YAML instead of JSON [#4018](https://github.com/home-assistant/home-assistant-polymer/pull/4018) @iantrich
- ⚠️ revert lovelace selectable text [#4095](https://github.com/home-assistant/home-assistant-polymer/pull/4095) @iantrich
- 🔧 [alarm panel card]: Visual accessibility changes [#3991](https://github.com/home-assistant/home-assistant-polymer/pull/3991) @mr-awk
- 🔧 [entities card]: Fix media row secondary info [#3957](https://github.com/home-assistant/home-assistant-polymer/pull/3957) @iantrich
- 🔧 [light card]: Fix name wrapping [#3972](https://github.com/home-assistant/home-assistant-polymer/pull/3972) @shbatm
- 🔧 [map card]: Fix zone icon visibility [#4085](https://github.com/home-assistant/home-assistant-polymer/pull/4085) @springstan
- 📣 [markdown card]: Add default text to card editor [#3960](https://github.com/home-assistant/home-assistant-polymer/pull/3960) @akargl
## Changes in 0.100.0
- 📣 [picture glance card]: New config `tap_action` and `hold_action` for `entities` (#3807) @iantrich
- 📣 [entities card]: New config `image` for `entities` (#3832) @iantrich
- 📣 [entity filter card]: Support for operators in `state_filter` and individual `state_filter` option for `entitites` (#3692) @iantrich
- 📣 [light card]: New config `icon` (#3771) @iantrich
- 📣 [picture entity card]: UI Editor (#3708) @iantrich
- 📣 [picture glance card]: UI Editor (#3709) @iantrich
- 📣 [history graph card]: UI Editor (#3782) @iantrich
- 📣 Add support for panels to cast (#3796) @bramkragten
- 📣 Allow for user text selection (Android Chrome not supported) (#3605) @iantrich
- 📣 add `state_filter` to picture cards (#3791) @iantrich
- 📣 Add a setting for vibration (#3813) @bramkragten
- 📣 Switch paper-toggle-button to mwc-switch (#3683) @iantrich
- 📣 New Action `url` (#3773) @iantrich
- 🔧 [map card]: Align background with tiles (#3858) @bramkragten
- 🔧 [map card]: Fix dark switch for map card editor (#3856) @bramkragten
- 🔧 [views]: Guard for null badges (#3841) @bramkragten
- ❤️ [picture glance card]: New config `tap_action` and `hold_action` for `entities` [#3807](https://github.com/home-assistant/home-assistant-polymer/pull/3807) @iantrich
- ❤️ [entities card]: New config `image` for `entities` [#3832](https://github.com/home-assistant/home-assistant-polymer/pull/3832) @iantrich
- ❤️ [entity filter card]: Support for operators in `state_filter` and individual `state_filter` option for `entitites` [#3692](https://github.com/home-assistant/home-assistant-polymer/pull/3692) @iantrich
- ❤️ [light card]: New config `icon` [#3771](https://github.com/home-assistant/home-assistant-polymer/pull/3771) @iantrich
- ❤️ [picture entity card]: UI Editor [#3708](https://github.com/home-assistant/home-assistant-polymer/pull/3708) @iantrich
- ❤️ [picture glance card]: UI Editor [#3709](https://github.com/home-assistant/home-assistant-polymer/pull/3709) @iantrich
- ❤️ [history graph card]: UI Editor [#3782](https://github.com/home-assistant/home-assistant-polymer/pull/3782) @iantrich
- ❤️ Add `state_filter` to picture cards [#3791](https://github.com/home-assistant/home-assistant-polymer/pull/3791) @iantrich
- ❤️ Add a setting for vibration [#3813](https://github.com/home-assistant/home-assistant-polymer/pull/3813) @bramkragten
- ❤️ New Action `url` [#3773](https://github.com/home-assistant/home-assistant-polymer/pull/3773) @iantrich
- 📣 Add support for panels to cast [#3796](https://github.com/home-assistant/home-assistant-polymer/pull/3796) @bramkragten
- 📣 Allow for user text selection (Android Chrome not supported) [#3605](https://github.com/home-assistant/home-assistant-polymer/pull/3605) @iantrich
- ⚠️ Switch paper-toggle-button to mwc-switch [#3683](https://github.com/home-assistant/home-assistant-polymer/pull/3683) @iantrich
- 🔧 [map card]: Align background with tiles [#3858](https://github.com/home-assistant/home-assistant-polymer/pull/3858) @bramkragten
- 🔧 [map card]: Fix dark switch for map card editor [#3856](https://github.com/home-assistant/home-assistant-polymer/pull/3856) @bramkragten
- 🔧 [views]: Guard for null badges [#3841](https://github.com/home-assistant/home-assistant-polymer/pull/3841) @bramkragten
## Changes in 0.99.0
- 📣 [glance card]: New config `show_last_changed` for `entities`
- 📣 [glance card]: New config `image` for `entities`
- 📣 [views]: New config `image` for `badges`
- 📣 [views]: New config `icon` for `badges`
- 📣 [views]: New config `name` for `badges`
- ❤️ [glance card]: New config `show_last_changed` for `entities`
- ❤️ [glance card]: New config `image` for `entities`
- ❤️ [views]: New config `image` for `badges`
- ❤️ [views]: New config `icon` for `badges`
- ❤️ [views]: New config `name` for `badges`
- 📣 Unused entities: Rewritten into a table view
- 📣 Unused entities: Add entities to Lovelace cards
- 📣 Lovelace background settings moved to theme `--lovelace-background`
@ -46,17 +82,17 @@ description: "Changelog of the Lovelace UI."
- 🔧 Break long strings in notifications
## Changes in 0.88.0
- ❤️ Theming: New CSS card style `ha-card-box-shadow` ([#2855](https://github.com/home-assistant/home-assistant-polymer/pull/2855))
- 📣 Disable toast notifications for successful operations ([#2700](https://github.com/home-assistant/home-assistant-polymer/pull/2822))
- 📣 Color Picker: Toggleable between segmented and continuous ([#2806](https://github.com/home-assistant/home-assistant-polymer/pull/2806))
- 📣 Theming: New CSS card style `ha-card-box-shadow` ([#2855](https://github.com/home-assistant/home-assistant-polymer/pull/2855))
- 🔧 Fix login issue on Firefox ([#2860](https://github.com/home-assistant/home-assistant-polymer/pull/2860))
- 🔧 [light card]: Fix click events ([#2850](https://github.com/home-assistant/home-assistant-polymer/pull/2850))
## Changes in 0.87.0
- ❤️ Theming: New CSS card style `ha-card-border-radius`
- ❤️ Theming: New CSS card style `ha-card-background`
- ❤️ New system-health card in dev-info
- 📣 MDI icons updated to [3.3.92](https://cdn.materialdesignicons.com/3.3.92/)
- 📣 Theming: New CSS card style `ha-card-border-radius`
- 📣 Theming: New CSS card style `ha-card-background`
- 📣 New system-health card in dev-info
- 📣 UI Editor: YAML syntax support
- 📣 UI Editor: Line numbers
- 📣 UI Editor: Now supports columns on wide screens
@ -67,8 +103,8 @@ description: "Changelog of the Lovelace UI."
- 🔧 Groups are now togglable
## Changes in 0.86.0
- 📣 Lovelace is now the default UI for Home Assistant!
- 📣 New Lovelace [demos](https://demo.home-assistant.io/#/lovelace/0) page
- ❤️ Lovelace is now the default UI for Home Assistant!
- ❤️ New Lovelace [demos](https://demo.home-assistant.io/#/lovelace/0) page
- 🔧 [thermostat card]: Fix sizing
- 🔧 [gauge card]: Fix sizing
- 🔧 [iframe card]: Fix card size
@ -80,23 +116,23 @@ description: "Changelog of the Lovelace UI."
- 🔧 The [weblink row] opens links in new tabs
## Changes in 0.85.0
- 📣 [map card]: New config `geo_location_sources`
- ❤️ [map card]: New config `geo_location_sources`
- ❤️ UI Editor for [picture card]
- ❤️ UI Editor for [weather forecast card]
- ❤️ UI Editor for [plant status card]
- ❤️ UI Editor for [media control card]
- ❤️ UI Editor for [iframe card]
- ❤️ UI Editor for [sensor card]
- ❤️ UI Editor for [shopping list card]
- ❤️ UI Editor for [light card]
- ❤️ UI Editor for [gauge card]
- ❤️ UI Editor for [markdown card]
- ❤️ UI Editor for [alarm panel card]
- ❤️ UI Editor for [thermostat card]
- ❤️ UI Editor for [entity button card]
- ❤️ UI Editor for [map card]
- 📣 [alarm panel card]: Hide keypad if `code_format` attribute is not "Number"
- 📣 [alarm panel card]: Hide code input field if `code_format` attribute is not set
- 📣 UI Editor for [picture card]
- 📣 UI Editor for [weather forecast card]
- 📣 UI Editor for [plant status card]
- 📣 UI Editor for [media control card]
- 📣 UI Editor for [iframe card]
- 📣 UI Editor for [sensor card]
- 📣 UI Editor for [shopping list card]
- 📣 UI Editor for [light card]
- 📣 UI Editor for [gauge card]
- 📣 UI Editor for [markdown card]
- 📣 UI Editor for [alarm panel card]
- 📣 UI Editor for [thermostat card]
- 📣 UI Editor for [entity button card]
- 📣 UI Editor for [map card]
- 🔧 [thermostat card] Step logic updated to match more-info behavior
- 🔧 [weather forecast card] Proper RTL support
- 🔧 [thermostat card] Set minimum height of card
@ -122,11 +158,11 @@ description: "Changelog of the Lovelace UI."
- ⚠️ [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`
- ❤️ [weather forecast card]: New config `name`
- ❤️ [thermostat card]: New config `name`
- ❤️ [plant status card]: New config `name`
- ❤️ [picture elements card]: Added `state_image` and `camera_image`
- 📣 [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`
@ -136,21 +172,21 @@ description: "Changelog of the Lovelace UI."
- ❤️ New card type: `shopping-list`
## Changes in 0.82.0
- 📣 New card type: `light` ❤️
- 📣 Alpha release of UI Editor
- 📣 [entities card]: can be themed
- 📣 [gauge card]: can be themed
- 📣 [light card]: can be themed
- 📣 [thermostat card]: can be themed
- ❤️ New card type: `light`
- ❤️ Alpha release of UI Editor
- ❤️ [entities card]: New `theme` option
- ❤️ [gauge card]: New `theme` option
- ❤️ [light card]: New `theme` option
- ❤️ [thermostat card]: New `theme` option
- 🔧 `!secret` and `!include` usage restored for manual editing, but are not supported with the UI editor
## Changes in 0.81.0
- ❤️ 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 card]: can be themed
- ❤️ [glance card]: New `theme` option
- ❤️ [glance card]: New `columns` option
- ❤️ [entity button card]: New `theme` option
- 📣 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.
@ -167,11 +203,11 @@ description: "Changelog of the Lovelace UI."
- ⚠️ [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
- 📣 [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`
- ⚠️ [glance card]: `turn-on` replaced with `call-service`
- 📣 [glance card]: Allow selectively empty names
- 📣 [picture elements card]: `state-label` now supports prefix and suffix
- 📣 [entities card]: Row dividers

View File

@ -41,7 +41,7 @@ views:
required: false
description: Renders the view in panel mode, more info below.
type: boolean
default: "false"
default: false
background:
required: false
description: Style the background using CSS, more info below.
@ -50,13 +50,241 @@ views:
required: false
description: Themes view and cards, more info below.
type: string
visible:
required: false
description: "Hide/show the view tab from all users or a list of individual `visible` objects."
type: [boolean, list]
default: true
{% endconfiguration %}
## Options For Badges
## Options For Visible
If you define badges as objects instead of strings (by adding `entity:` before entity ID), allowing you to add more customizations:
If you define `visible` as objects instead of a boolean to specify conditions for displaying the view tab:
{% configuration badges %}
user:
required: true
description: User id that can see the view tab.
type: string
{% endconfiguration %}
## 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 %}
#### Example
View config:
```yaml
- title: Living room
badges:
- device_tracker.demo_paulus
- entity: light.ceiling_lights
name: Ceiling Lights
icon: mdi:bulb
- entity: switch.decorative_lights
image: /local/lights.png
```
### 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.
@ -73,21 +301,62 @@ 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 %}
### Example
#### Options For state_filter
View config:
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
- title: Living room
badges:
- device_tracker.demo_paulus
- entity: light.ceiling_lights
name: Ceiling Lights
icon: mdi:bulb
- entity: switch.decorative_lights
image: /local/lights.png
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
```
## Paths