From dcb563220c0a3aeba5ba9e78a869aacf1ed76287 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 4 Dec 2020 14:06:33 +0100 Subject: [PATCH 01/22] Specify networkmanager version as it's written in ADR (#15821) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Joakim Sørensen --- source/more-info/unsupported/network_manager.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/more-info/unsupported/network_manager.markdown b/source/more-info/unsupported/network_manager.markdown index 711739b2d88..54ccecc6ef0 100644 --- a/source/more-info/unsupported/network_manager.markdown +++ b/source/more-info/unsupported/network_manager.markdown @@ -12,9 +12,11 @@ or via the command-line. This requires NetworkManager to be installed, active and in control of at least one network interface on the host. +The current minimum supported version of NetworkManager is: 1.14.6. + ## The solution -If you have not already, install Network Manager on the host. +If you have not already, install or update Network Manager on the host. When it is installed, you need to make sure it manages at least one interface [see the documentation for the network manager](https://wiki.debian.org/NetworkManager). From 741db2738ec5e5ac36671291d27882994930c0f1 Mon Sep 17 00:00:00 2001 From: Rafael Gil Date: Sat, 5 Dec 2020 05:09:20 -0500 Subject: [PATCH 02/22] update compatible TV list (#15827) --- source/_integrations/aquostv.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/aquostv.markdown b/source/_integrations/aquostv.markdown index 1765dc0bce2..401e4f3eb8a 100644 --- a/source/_integrations/aquostv.markdown +++ b/source/_integrations/aquostv.markdown @@ -73,5 +73,6 @@ Currently known supported models: - LC-60EQ10U - LC-60SQ15U - LC-50US40 (no volume control, not fully tested) +- LC-70LE650U If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/home-assistant/home-assistant.io/blob/current/source/_integrations/aquostv.markdown). From 623c0935a7c6436243a55023fa08a80aa6ccc9e7 Mon Sep 17 00:00:00 2001 From: Gavin Staniforth Date: Sat, 5 Dec 2020 10:12:17 +0000 Subject: [PATCH 03/22] Add retain option to MQTT alarm panel documentation (#15826) --- source/_integrations/alarm_control_panel.mqtt.markdown | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/_integrations/alarm_control_panel.mqtt.markdown b/source/_integrations/alarm_control_panel.mqtt.markdown index 9f81481ca06..1d11dadb497 100644 --- a/source/_integrations/alarm_control_panel.mqtt.markdown +++ b/source/_integrations/alarm_control_panel.mqtt.markdown @@ -169,6 +169,11 @@ qos: required: false type: integer default: 0 +retain: + description: If the published message should have the retain flag on or not. + required: false + type: boolean + default: false state_topic: description: The MQTT topic subscribed to receive state updates. required: true From 11db02ff1618505b3df10c1ef3a817eea141d85f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Sat, 5 Dec 2020 11:14:10 +0100 Subject: [PATCH 04/22] Remove unsupported boards (#15825) --- source/hassio/installation.markdown | 7 ------- 1 file changed, 7 deletions(-) diff --git a/source/hassio/installation.markdown b/source/hassio/installation.markdown index 99f1641478b..00701ba7a58 100644 --- a/source/hassio/installation.markdown +++ b/source/hassio/installation.markdown @@ -21,10 +21,6 @@ The following will take you through the steps required to install Home Assistant - [VMDK][vmdk], [VHDX][vhdx], [VDI][vdi], [QCOW2][qcow2], [OVA][Virtual Appliance] - - Not recommended hardware: - - - [Raspberry Pi][pi1], [Raspberry Pi Zero-W][pi0-w], [Raspberry Pi 2][pi2] - 2. Install Home Assistant OS: - **For the device images:** Flash the downloaded image to an SD card using [balenaEtcher][balenaEtcher]. If using a Pi, we recommend at least a 32 GB SD card to avoid running out of space. @@ -105,9 +101,6 @@ If you would like to test next release before anyone else, you can install the b [balenaEtcher]: https://www.balena.io/etcher [hassos-network]: https://github.com/home-assistant/operating-system/blob/dev/Documentation/network.md -[pi0-w]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi0-w-4.16.img.gz -[pi1]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi-4.16.img.gz -[pi2]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi2-4.16.img.gz [pi3-32]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi3-4.16.img.gz [pi3-64]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi3-64-4.16.img.gz [pi4-32]: https://github.com/home-assistant/operating-system/releases/download/4.16/hassos_rpi4-4.16.img.gz From 10ef22fe9842372edc6d0adec3348e24fd21055d Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sat, 5 Dec 2020 13:12:14 +0100 Subject: [PATCH 05/22] 0.118.5 (#15831) --- _config.yml | 4 ++-- source/_posts/2020-11-18-release-118.markdown | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index 9b54ea88b83..20ec588125d 100644 --- a/_config.yml +++ b/_config.yml @@ -101,8 +101,8 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 118 -current_patch_version: 4 -date_released: 2020-11-26 +current_patch_version: 5 +date_released: 2020-12-05 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. diff --git a/source/_posts/2020-11-18-release-118.markdown b/source/_posts/2020-11-18-release-118.markdown index d10fbe32136..7a09dfd29c9 100644 --- a/source/_posts/2020-11-18-release-118.markdown +++ b/source/_posts/2020-11-18-release-118.markdown @@ -50,6 +50,7 @@ All in all, a fine release, with an exciting one ahead of us. - [Release 0.118.2 - November 20](#release-01182---november-20) - [Release 0.118.3 - November 23](#release-01183---november-23) - [Release 0.118.4 - November 26](#release-01184---november-26) +- [Release 0.118.5 - December 5](#release-01185---december-5) - [If you need help...](#if-you-need-help) - [Breaking Changes](#breaking-changes) - [Farewell to the following](#farewell-to-the-following) @@ -367,6 +368,25 @@ The following integrations are now available via the Home Assistant UI: [onewire docs]: /integrations/onewire/ [zha docs]: /integrations/zha/ +## Release 0.118.5 - December 5 + +- Bump pyatmo to v4.2.1 ([@cgtobi] - [#43713]) ([netatmo docs]) +- Increase timeout for snapshot upload ([@ludeeus] - [#43851]) ([hassio docs]) +- Implement new Google TTS API via dedicated library ([@marvin-w] - [#43863]) ([google_translate docs]) +- Pin pip < 20.3 ([@MartinHjelmare] - [#43771]) + +[#43713]: https://github.com/home-assistant/core/pull/43713 +[#43771]: https://github.com/home-assistant/core/pull/43771 +[#43851]: https://github.com/home-assistant/core/pull/43851 +[#43863]: https://github.com/home-assistant/core/pull/43863 +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@cgtobi]: https://github.com/cgtobi +[@ludeeus]: https://github.com/ludeeus +[@marvin-w]: https://github.com/marvin-w +[google_translate docs]: /integrations/google_translate/ +[hassio docs]: /integrations/hassio/ +[netatmo docs]: /integrations/netatmo/ + ## If you need help... ...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). From df3350955accb0160b39ac6f0daae85bbeabf2a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Sat, 5 Dec 2020 14:49:56 +0100 Subject: [PATCH 06/22] Lock the position of the header and sidebars (#15820) --- sass/custom/_layout.scss | 48 ++++++++++++++++++++++++++++++ sass/oscailte/base/_footer.scss | 2 +- sass/screen.scss | 3 +- source/_includes/site/sidebar.html | 12 ++++++++ source/_layouts/default.html | 2 ++ 5 files changed, 65 insertions(+), 2 deletions(-) diff --git a/sass/custom/_layout.scss b/sass/custom/_layout.scss index 74c7de9d429..f9c18e8e4dd 100644 --- a/sass/custom/_layout.scss +++ b/sass/custom/_layout.scss @@ -19,3 +19,51 @@ //$sidebar-pad-medium: 15px; //$sidebar-pad-wide: 20px; //$sidebar-width-wide: 300px; + +html { + overflow-y: hidden; +} + +.page-content { + display: inline-block; + height: calc(100% - 68px);; + margin-top: 68px; + overflow-y: scroll; + padding-top: 32px; + width: 100%; +} + +#sidebar { + .grid { + position: fixed; + width: 33.33%; + .brand-logo-container { + margin-top: 0; + } + } +} + +.site-header { + position: fixed; + width: 100%; +} + + +@media only screen and (max-width: $lap-end) { + #sidebar { + .grid { + position: initial; + width: 100%; + } + } + .site-header { + .pull-right { + position: fixed; + } + } + .hero { + > .grid-wrapper { + z-index: 0; + } + } + } \ No newline at end of file diff --git a/sass/oscailte/base/_footer.scss b/sass/oscailte/base/_footer.scss index b50da8d1930..56ded121310 100644 --- a/sass/oscailte/base/_footer.scss +++ b/sass/oscailte/base/_footer.scss @@ -8,7 +8,7 @@ } } -body > footer { +body > footer, .page-content > footer { @include box-shadow(0 0 3px rgba(0, 0, 0, 0.25)); background-color: $footer-background; // height: $footer-height; diff --git a/sass/screen.scss b/sass/screen.scss index 78c73c19af2..7470f86f37b 100644 --- a/sass/screen.scss +++ b/sass/screen.scss @@ -2,4 +2,5 @@ @import 'custom/paulus'; @import 'custom/component_page'; @import 'custom/syntax'; -@import 'custom/print'; \ No newline at end of file +@import 'custom/print'; +@import 'custom/layout'; \ No newline at end of file diff --git a/source/_includes/site/sidebar.html b/source/_includes/site/sidebar.html index 1c77a198122..dff093e5fcf 100644 --- a/source/_includes/site/sidebar.html +++ b/source/_includes/site/sidebar.html @@ -32,3 +32,15 @@ {% endif %} {% endif %} + \ No newline at end of file diff --git a/source/_layouts/default.html b/source/_layouts/default.html index 5309f067bcb..15d7d57be4b 100644 --- a/source/_layouts/default.html +++ b/source/_layouts/default.html @@ -4,6 +4,7 @@ +
{% if page.hero_unit %} {% include site/hero_unit.html %} @@ -38,6 +39,7 @@ {% include site/footer.html %} +
{% include javascripts/scripts.html %} From 39680882f6a30b9eab1481f8184a11d88289fdcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Sat, 5 Dec 2020 16:43:27 +0100 Subject: [PATCH 07/22] Fix header z-index (#15836) --- sass/custom/_layout.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/sass/custom/_layout.scss b/sass/custom/_layout.scss index f9c18e8e4dd..acc24435d16 100644 --- a/sass/custom/_layout.scss +++ b/sass/custom/_layout.scss @@ -46,6 +46,7 @@ html { .site-header { position: fixed; width: 100%; + z-index: 999; } From 2b351690e5ef33c9579fa4814f3ddd176e762ed8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Sun, 6 Dec 2020 17:33:08 +0100 Subject: [PATCH 08/22] Fixes overflow issue in tables (#15840) --- sass/custom/_layout.scss | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sass/custom/_layout.scss b/sass/custom/_layout.scss index acc24435d16..423d77b633a 100644 --- a/sass/custom/_layout.scss +++ b/sass/custom/_layout.scss @@ -49,6 +49,15 @@ html { z-index: 999; } +table { + table-layout: fixed; + width: 100%; + + th,td { + word-wrap: break-word; + } +} + @media only screen and (max-width: $lap-end) { #sidebar { From ee45b0ae9bb9623c720408dbb23cfe9fe251bd43 Mon Sep 17 00:00:00 2001 From: dewo1988 <75580129+dewo1988@users.noreply.github.com> Date: Mon, 7 Dec 2020 13:07:45 -0600 Subject: [PATCH 09/22] Update ecobee.markdown (#15842) Added clarification about developer login. Must have multifactor authentication disabled or will be placed in a login loop. --- source/_integrations/ecobee.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/ecobee.markdown b/source/_integrations/ecobee.markdown index f51ffb4efa5..8340c368d0d 100644 --- a/source/_integrations/ecobee.markdown +++ b/source/_integrations/ecobee.markdown @@ -23,7 +23,7 @@ The `ecobee` integration lets you control and view sensor data from [ecobee](htt You will need to obtain an API key from ecobee's [developer site](https://www.ecobee.com/developers/) to use this integration. To get the key, your thermostat must be registered on ecobee's website (which you likely would have already done while installing your thermostat). Once you have done that, perform the following steps. 1. Click on the **Become a developer** link on the [developer site](https://www.ecobee.com/developers/). -2. Log in with your ecobee credentials. +2. Log in with your ecobee credentials. (Make sure multifactor authentication is disabled to allow login can re-enable after becoming developer.) 3. Accept the SDK agreement. 4. Fill in the fields. 5. Click **save**. From 35907b4c302ba8bd00963d8f5549fdd8c9ebbbe1 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 8 Dec 2020 01:56:10 -0600 Subject: [PATCH 10/22] Update the charset in some of the example recorder urls to utf8mb4 (#15849) These were missed when the rest of the urls were updated to `utf8mb4` --- source/_integrations/recorder.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/recorder.markdown b/source/_integrations/recorder.markdown index e0f6354aec6..158b62da944 100644 --- a/source/_integrations/recorder.markdown +++ b/source/_integrations/recorder.markdown @@ -234,7 +234,7 @@ Note that purging will not immediately decrease disk space usage but it will sig
-Some installations of MariaDB/MySQL may require an ALTERNATE_PORT (3rd-party hosting providers or parallel installations) to be added to the SERVER_IP, e.g., `mysql://user:password@SERVER_IP:ALTERNATE_PORT/DB_NAME?charset=utf8`. +Some installations of MariaDB/MySQL may require an ALTERNATE_PORT (3rd-party hosting providers or parallel installations) to be added to the SERVER_IP, e.g., `mysql://user:password@SERVER_IP:ALTERNATE_PORT/DB_NAME?charset=utf8mb4`.
@@ -367,6 +367,6 @@ You will also need to install an ODBC Driver. Microsoft ODBC drivers are recomme
-If you are using Hass.io, FreeTDS is already installed for you. The db_url you need to use is `mssql+pyodbc://username:password@SERVER_IP/DB_NAME?charset=utf8;DRIVER={FreeTDS};Port=1433;`. +If you are using Hass.io, FreeTDS is already installed for you. The db_url you need to use is `mssql+pyodbc://username:password@SERVER_IP/DB_NAME?charset=utf8mb4;DRIVER={FreeTDS};Port=1433;`.
From 7c45fce74f7a2f1905dcd7a021eed02db1444885 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Tue, 8 Dec 2020 08:56:49 +0100 Subject: [PATCH 11/22] Limit sidebar to 350px (#15848) --- sass/custom/_layout.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sass/custom/_layout.scss b/sass/custom/_layout.scss index 423d77b633a..0d3a6f7a682 100644 --- a/sass/custom/_layout.scss +++ b/sass/custom/_layout.scss @@ -36,7 +36,7 @@ html { #sidebar { .grid { position: fixed; - width: 33.33%; + width: 350px; .brand-logo-container { margin-top: 0; } From 2d95b176f71f7f2059b8d31c1371aab746ee079f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Tue, 8 Dec 2020 08:57:13 +0100 Subject: [PATCH 12/22] Account for header when locking the sidebar (#15847) --- source/_includes/site/sidebar.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/_includes/site/sidebar.html b/source/_includes/site/sidebar.html index dff093e5fcf..e3372e5f76c 100644 --- a/source/_includes/site/sidebar.html +++ b/source/_includes/site/sidebar.html @@ -37,8 +37,9 @@ document.addEventListener('DOMContentLoaded', function() { const sidebar = document.querySelector("#sidebar").querySelector(".grid"); if (sidebar) { - const content = document.querySelector(".page-content").querySelector(".grid-wrapper") - if (sidebar.clientHeight > content.clientHeight || sidebar.clientHeight > window.innerHeight) { + const content = document.querySelector(".page-content").querySelector(".grid-wrapper"); + const windowHeight = window.innerHeight - 82; + if (sidebar.clientHeight > content.clientHeight || sidebar.clientHeight > windowHeight) { sidebar.style.display = "contents" } } From 580c40d034918b45993285b3c5c742dbfc1d6f07 Mon Sep 17 00:00:00 2001 From: cgtobi Date: Tue, 8 Dec 2020 09:10:00 +0100 Subject: [PATCH 13/22] Add webhook setup warning (#15844) The webhook for the Netatmo account at dev.netatmo.com used for HA Cloud link is banned most of the time, therefore a warning is put in place to recommend individual dev accounts until this issue is being fixed. --- source/_integrations/netatmo.markdown | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/source/_integrations/netatmo.markdown b/source/_integrations/netatmo.markdown index bce847fba75..771ff1a3d25 100644 --- a/source/_integrations/netatmo.markdown +++ b/source/_integrations/netatmo.markdown @@ -93,7 +93,15 @@ Service to manually register and unregister the webhook. ## Webhook Events -The [Netatmo Smart Indoor](https://www.netatmo.com/en-gb/security/cam-indoor) or [Outdoor](https://www.netatmo.com/en-gb/security/cam-outdoor) cameras, [Smart Door and Window Sensors](https://www.netatmo.com/en-gb/security/cam-indoor/tag), as well as the [Netatmo Smart Smoke Alarm](https://www.netatmo.com/en-gb/security/smoke-alarm), send instant events to Home Assistant by using webhooks. It is required to have your camera enabled in Home Assistant. +The Netatmo backend sends instant events to Home Assistant by using webhooks which unlocks improved responsiveness of most devices with the exception of [Netatmo Smart Home Weather Station](https://www.netatmo.com/en-us/weather/weatherstation), +[Netatmo Smart Indoor Air Quality Monitor](https://www.netatmo.com/en-us/aircare/homecoach) or [Netatmo Public Weather Stations](https://weathermap.netatmo.com/). + +
+ +Netatmo webhook events have known issues with Home Assistant Cloud Link. +It is therefore recommended to use [an individual development account](#development--testing-with-your-own-client-id). + +
To be able to receive events from [Netatmo](https://www.netatmo.com/en-gb/), your Home Assistant instance needs to be accessible from the web over port `80` or `443`. To achieve this you can either use your Nabu Casa account or for example Duck DNS ([Home Assistant instructions](/addons/duckdns/)). You also need to have the external URL configured in the Home Assistant [configuration](/docs/configuration/basic). From 85631e6293bf97f9db17f04e7134cffb29475da3 Mon Sep 17 00:00:00 2001 From: Marc Vila Date: Tue, 8 Dec 2020 12:29:32 +0100 Subject: [PATCH 14/22] fix Release-Notes link in Updating section (#15851) --- source/_docs/installation/raspberry-pi.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/installation/raspberry-pi.markdown b/source/_docs/installation/raspberry-pi.markdown index d1781b35e1b..1c6cef6a41d 100644 --- a/source/_docs/installation/raspberry-pi.markdown +++ b/source/_docs/installation/raspberry-pi.markdown @@ -103,7 +103,7 @@ source /srv/homeassistant/bin/activate pip3 install --upgrade homeassistant ``` -Once the last command executes, restart the Home Assistant Core service to apply the latest updates. Please keep in mind that some updates may take longer to start up than others. If Home Assistant Core fails to start, make sure you check the **Breaking Changes** from the [Release Notes](https://github.com/home-assistant/home-assistant/releases). +Once the last command executes, restart the Home Assistant Core service to apply the latest updates. Please keep in mind that some updates may take longer to start up than others. If Home Assistant Core fails to start, make sure you check the **Breaking Changes** from the [Release Notes](https://www.home-assistant.io/latest-release-notes/). ## Run a specific version From ac04d3e439f0ef6816e003adbddeea5d7b8c4c93 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Tue, 8 Dec 2020 17:33:00 +0100 Subject: [PATCH 15/22] =?UTF-8?q?=F0=9F=93=9A=20Remove=20RAW=20tags=20at?= =?UTF-8?q?=20Evohome=20integration=20(#15853)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/_integrations/evohome.markdown | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/source/_integrations/evohome.markdown b/source/_integrations/evohome.markdown index 2ec232af204..31c5e1d9080 100644 --- a/source/_integrations/evohome.markdown +++ b/source/_integrations/evohome.markdown @@ -120,7 +120,6 @@ This service call will set the operating `mode` of the system for a specified pe For **AutoWithEco**, the period of time is a `duration` is up to 24 hours. -{% raw %} ```yaml - action: - service: evohome.set_system_mode @@ -128,11 +127,9 @@ For **AutoWithEco**, the period of time is a `duration` is up to 24 hours. mode: AutoWithEco duration: {hours: 1, minutes: 30} ``` -{% endraw %} For the other modes, such as **Away**, the duration is a `period` of days, where 1 day will revert at midnight tonight, and 2 days reverts at midnight tomorrow. -{% raw %} ```yaml - action: - service: evohome.set_system_mode @@ -140,7 +137,6 @@ For the other modes, such as **Away**, the duration is a `period` of days, where mode: Away period: {days: 30} ``` -{% endraw %} ### evohome.reset_system @@ -156,7 +152,6 @@ This service call will immediately pull the latest state data from the vendor's This service call will set the `setpoint` of a zone, as identified by its `entity_id`, for a specified period of time (**TemporaryOverride**). However, if no period of time is provided (c.f. a duration of 0, below), then the change is permanent (**PermanentOverride**). -{% raw %} ```yaml - action: - service: evohome.set_zone_override @@ -167,7 +162,6 @@ This service call will set the `setpoint` of a zone, as identified by its `entit The `duration` can be up to 24 hours, after which the zone mode will revert to schedule (**FollowSchedule**). If the `duration` is 0 hours, then the change will be until the next setpoint. -{% raw %} ```yaml - action: - service: evohome.set_zone_override @@ -176,7 +170,6 @@ The `duration` can be up to 24 hours, after which the zone mode will revert to s setpoint: 10 duration: {minutes: 0} ``` -{% endraw %} ### evohome.clear_zone_override @@ -189,6 +182,7 @@ The actual operating mode of Evohome entities can be tracked via their state att For the location (controller), see `system_mode_status`: {% raw %} + ```text {% if state_attr('climate.my_home', 'status').system_mode_status.mode == "Away" %} The system is in Away mode @@ -196,27 +190,33 @@ For the location (controller), see `system_mode_status`: The system is not in Away mode {% endif %} ``` + {% endraw %} For the Zones, it is `setpoint_status`: {% raw %} + ```text {{ state_attr('climate.kitchen', 'status').setpoint_status.setpoint_mode }} ``` + {% endraw %} The Zones will expose the current/upcoming scheduled `setpoints`: {% raw %} + ```text {{ state_attr('climate.kitchen', 'status').setpoints.next_sp_temp }} ``` + {% endraw %} All Evohome entities may have faults, and these can be turned into sensors, or: {% raw %} + ```text {% if state_attr('climate.bedroom', 'status').active_faults %} {% if state_attr('climate.bedroom', 'status').active_faults[0].fault_type == 'TempZoneActuatorLowBattery' %} @@ -227,4 +227,5 @@ All Evohome entities may have faults, and these can be turned into sensors, or: Yay, everything is OK :) {% endif %} ``` + {% endraw %} From f609f83072ae618bbc7dfa1ba61d3f9d398ecf92 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Tue, 8 Dec 2020 18:57:41 +0100 Subject: [PATCH 16/22] Fix typo in conference schedule (#15855) --- source/images/conference/schedule.png | Bin 90902 -> 90232 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/source/images/conference/schedule.png b/source/images/conference/schedule.png index c543059f10a5d788fc2fd91a1ef2920fc1993c2e..0bc163c64c58f716cfcefc57ae228f60c787e036 100644 GIT binary patch literal 90232 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 Ay8r+H literal 90902 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 Wn7#INIA)1}Lr25levP_q#Qy=AOVmsN From d093dba7c02dbc9fc5a9557fa428efab2eb84365 Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Tue, 8 Dec 2020 22:22:23 +0100 Subject: [PATCH 17/22] Remove deprecated javascript_version from frontend docs (#15857) --- source/_integrations/frontend.markdown | 5 ----- 1 file changed, 5 deletions(-) diff --git a/source/_integrations/frontend.markdown b/source/_integrations/frontend.markdown index 0173fbc9f71..f7ce0db349c 100644 --- a/source/_integrations/frontend.markdown +++ b/source/_integrations/frontend.markdown @@ -19,11 +19,6 @@ frontend: ``` {% configuration %} - javascript_version: - description: "DEPRECATED, it is now done using feature detection in the browser. Version of the JavaScript to serve to clients. Options: `es5` - transpiled so old browsers understand it. `latest` - not transpiled, so will work on recent browsers only. `auto` - select a version according to the browser user-agent. The value in the configuration can be overiden by putting `es5` or `latest` in the URL. For example `http://localhost:8123/states?es5` " - required: false - type: string - default: auto themes: description: Allow to define different themes. See below for further details. required: false From 4f4a402b353eb6eb110fc543856401bfe60bd58c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Dec 2020 09:54:28 +0100 Subject: [PATCH 18/22] Bump rouge from 3.25.0 to 3.26.0 (#15864) Bumps [rouge](https://github.com/rouge-ruby/rouge) from 3.25.0 to 3.26.0. - [Release notes](https://github.com/rouge-ruby/rouge/releases) - [Changelog](https://github.com/rouge-ruby/rouge/blob/master/CHANGELOG.md) - [Commits](https://github.com/rouge-ruby/rouge/compare/v3.25.0...v3.26.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 30037990dbe..ecf98e418a7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -89,7 +89,7 @@ GEM rb-inotify (0.10.1) ffi (~> 1.0) rexml (3.2.4) - rouge (3.25.0) + rouge (3.26.0) ruby-enum (0.8.0) i18n ruby2_keywords (0.0.2) From 46c4eb97f55af3554b3928abb6f8e30b626f4843 Mon Sep 17 00:00:00 2001 From: Nathan Tilley Date: Wed, 9 Dec 2020 11:13:29 -0500 Subject: [PATCH 19/22] Fix broken Swatch link (#15867) --- source/_integrations/time_date.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/time_date.markdown b/source/_integrations/time_date.markdown index 2a16c5974eb..0d2976fe4bd 100644 --- a/source/_integrations/time_date.markdown +++ b/source/_integrations/time_date.markdown @@ -32,7 +32,7 @@ sensor: {% configuration %} display_options: - description: The option to display. The types *date_time*, *date_time_utc*, *time_date*, and *date_time_iso* shows the date and the time. The other types just the time or the date. *beat* shows the [Swatch Internet Time](https://www.swatch.com/en_us/internet-time). + description: The option to display. The types *date_time*, *date_time_utc*, *time_date*, and *date_time_iso* shows the date and the time. The other types just the time or the date. *beat* shows the [Swatch Internet Time](https://2020.swatch.com/en_my/internet-time/). required: true type: list {% endconfiguration %} From d99252f613f5a383d9e99a2f55a28fcb1dcda615 Mon Sep 17 00:00:00 2001 From: Klaas Schoute Date: Wed, 9 Dec 2020 18:48:17 +0100 Subject: [PATCH 20/22] =?UTF-8?q?=F0=9F=91=95=20Markdown=20style=20changes?= =?UTF-8?q?=20(#15861)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/_integrations/alert.markdown | 4 ++ .../alexa.flash_briefings.markdown | 8 +++- source/_integrations/alexa.intent.markdown | 39 ++++++++------- .../_integrations/alexa.smart_home.markdown | 4 -- source/_integrations/apache_kafka.markdown | 4 -- source/_integrations/azure_event_hub.markdown | 4 -- source/_integrations/bayesian.markdown | 2 + .../_integrations/binary_sensor.rest.markdown | 1 + .../binary_sensor.template.markdown | 8 +++- source/_integrations/blink.markdown | 3 +- source/_integrations/calendar.google.markdown | 2 + source/_integrations/camera.markdown | 4 ++ source/_integrations/climate.mqtt.markdown | 3 +- .../_integrations/climate.mysensors.markdown | 3 ++ source/_integrations/conversation.markdown | 18 +++---- source/_integrations/dialogflow.markdown | 2 + source/_integrations/dweet.markdown | 2 + source/_integrations/ecovacs.markdown | 4 ++ source/_integrations/edimax.markdown | 2 + source/_integrations/emulated_kasa.markdown | 2 + .../_integrations/environment_canada.markdown | 2 + source/_integrations/facebox.markdown | 8 ++++ source/_integrations/fints.markdown | 2 - source/_integrations/folder_watcher.markdown | 6 +-- .../fritzbox_callmonitor.markdown | 2 + source/_integrations/garadget.markdown | 2 + source/_integrations/geniushub.markdown | 8 ++++ source/_integrations/geo_location.markdown | 2 + source/_integrations/google_pubsub.markdown | 4 -- source/_integrations/harmony.markdown | 4 ++ source/_integrations/history_stats.markdown | 14 ++++++ source/_integrations/homekit.markdown | 12 ----- source/_integrations/homematic.markdown | 48 +++++++++++-------- source/_integrations/html5.markdown | 2 + source/_integrations/ifttt.markdown | 10 +++- .../_integrations/imap_email_content.markdown | 4 ++ source/_integrations/incomfort.markdown | 2 + source/_integrations/influxdb.markdown | 4 -- source/_integrations/input_datetime.markdown | 4 +- source/_integrations/input_number.markdown | 8 ++++ source/_integrations/input_select.markdown | 2 + source/_integrations/input_text.markdown | 2 + source/_integrations/iss.markdown | 2 + source/_integrations/kodi.markdown | 4 ++ source/_integrations/lacrosse.markdown | 2 - source/_integrations/life360.markdown | 12 ----- source/_integrations/light.mqtt.markdown | 2 + source/_integrations/logbook.markdown | 4 -- source/_integrations/manual.markdown | 8 +--- source/_integrations/matrix.markdown | 2 + source/_integrations/mediaroom.markdown | 4 ++ source/_integrations/meteoalarm.markdown | 2 + source/_integrations/min_max.markdown | 2 + source/_integrations/minio.markdown | 2 + source/_integrations/modem_callerid.markdown | 2 + .../_integrations/mqtt_statestream.markdown | 4 -- source/_integrations/netatmo.markdown | 4 -- source/_integrations/notify.group.markdown | 2 + source/_integrations/nzbget.markdown | 1 + source/_integrations/openuv.markdown | 4 ++ source/_integrations/plex.markdown | 3 ++ source/_integrations/point.markdown | 4 +- source/_integrations/prometheus.markdown | 4 -- source/_integrations/recorder.markdown | 4 -- .../_integrations/remember_the_milk.markdown | 2 +- source/_integrations/rest.markdown | 8 ++++ source/_integrations/rest_command.markdown | 3 ++ source/_integrations/rfxtrx.markdown | 10 ++-- source/_integrations/ring.markdown | 2 + source/_integrations/scrape.markdown | 8 ++++ source/_integrations/script.markdown | 2 + source/_integrations/sensor.mqtt.markdown | 2 - source/_integrations/serial.markdown | 4 ++ source/_integrations/seventeentrack.markdown | 2 + source/_integrations/shell_command.markdown | 1 - source/_integrations/snips.markdown | 6 +++ source/_integrations/snmp.markdown | 2 + source/_integrations/solaredge.markdown | 4 +- source/_integrations/solaredge_local.markdown | 2 + source/_integrations/solarlog.markdown | 2 + source/_integrations/solax.markdown | 2 + source/_integrations/speedtestdotnet.markdown | 2 + source/_integrations/splunk.markdown | 4 -- source/_integrations/sql.markdown | 8 +++- source/_integrations/switch.mqtt.markdown | 2 - source/_integrations/system_log.markdown | 6 +-- source/_integrations/telnet.markdown | 2 + source/_integrations/template.markdown | 1 + .../_integrations/thermoworks_smoke.markdown | 6 +-- source/_integrations/threshold.markdown | 2 + source/_integrations/time_date.markdown | 2 +- source/_integrations/tplink.markdown | 2 + source/_integrations/transmission.markdown | 4 ++ source/_integrations/transport_nsw.markdown | 2 + source/_integrations/utility_meter.markdown | 2 + source/_integrations/vacuum.mqtt.markdown | 4 +- source/_integrations/vacuum.template.markdown | 2 + source/_integrations/vallox.markdown | 4 ++ source/_integrations/version.markdown | 2 + source/_integrations/vivotek.markdown | 2 + .../_integrations/waze_travel_time.markdown | 2 + source/_integrations/withings.markdown | 3 +- 102 files changed, 307 insertions(+), 168 deletions(-) diff --git a/source/_integrations/alert.markdown b/source/_integrations/alert.markdown index de89f3a3ff6..af22b2763e2 100644 --- a/source/_integrations/alert.markdown +++ b/source/_integrations/alert.markdown @@ -156,6 +156,7 @@ than one input. For all of these situations, it is best to use the alert in conjunction with a `Template Binary Sensor`. The following example does that. {% raw %} + ```yaml binary_sensor: - platform: template @@ -173,6 +174,7 @@ alert: - ryans_phone - kristens_phone ``` + {% endraw %} This example will begin firing as soon as the entity `sensor.motion`'s `battery` @@ -219,6 +221,7 @@ The following will show for a plant how to include the problem `attribute` of the entity. {% raw %} + ```yaml # Example configuration.yaml entry alert: @@ -235,6 +238,7 @@ alert: - ryans_phone - kristens_phone ``` + {% endraw %} The resulting message could be `Plant Officeplant needs help (moisture low)`. diff --git a/source/_integrations/alexa.flash_briefings.markdown b/source/_integrations/alexa.flash_briefings.markdown index 966af47af26..146cc641ef1 100644 --- a/source/_integrations/alexa.flash_briefings.markdown +++ b/source/_integrations/alexa.flash_briefings.markdown @@ -29,8 +29,10 @@ You can use [templates] for the `title`, `audio`, `text` and `display_url` confi Here's an example configuration of a Flash briefing skill that will tell you who is at home: +{% raw %} + ```yaml -{% raw %}# Example configuration.yaml entry +# Example configuration.yaml entry alexa: flash_briefings: password: YOUR_PASSWORD @@ -43,9 +45,11 @@ alexa: {%- else -%} Anne Therese is at {{ states("device_tracker.anne_therese") }} and Paulus is at {{ states("device_tracker.paulus") }} - {% endif %}{% endraw %} + {% endif %} ``` +{% endraw %} + You can add multiple items for a feed if you want. The Amazon required UID and timestamp will be randomly generated at startup and change at every restart of Home Assistant. Please refer to the [Amazon documentation][flash-briefing-api-docs] for more information about allowed configuration parameters and formats. diff --git a/source/_integrations/alexa.intent.markdown b/source/_integrations/alexa.intent.markdown index 67c651913cb..eb6fb562bfd 100644 --- a/source/_integrations/alexa.intent.markdown +++ b/source/_integrations/alexa.intent.markdown @@ -303,27 +303,30 @@ In the examples above, we told Alexa to say `OK` when she successfully completed First create a file called `alexa_confirm.yaml` with something like the following in it (go on, be creative!): +{% raw %} + ```text -{% raw %} > - {{ [ - "OK", - "Sure", - "If you insist", - "Done", - "No worries", - "I can do that", - "Leave it to me", - "Consider it done", - "As you wish", - "By your command", - "Affirmative", - "Yes oh revered one", - "I will", - "As you decree, so shall it be", - "No Problem" - ] | random }} {% endraw %} +{{ [ + "OK", + "Sure", + "If you insist", + "Done", + "No worries", + "I can do that", + "Leave it to me", + "Consider it done", + "As you wish", + "By your command", + "Affirmative", + "Yes oh revered one", + "I will", + "As you decree, so shall it be", + "No Problem" +] | random }} ``` +{% endraw %} + Then, wherever you would put some simple text for a response like `OK`, replace it with a reference to the file so that: ```yaml diff --git a/source/_integrations/alexa.smart_home.markdown b/source/_integrations/alexa.smart_home.markdown index 48430e16079..980d3fdebac 100644 --- a/source/_integrations/alexa.smart_home.markdown +++ b/source/_integrations/alexa.smart_home.markdown @@ -368,8 +368,6 @@ The `endpoint`, `client_id` and `client_secret` are optional, and are only requi By default, no entity will be excluded. To limit which entities are being exposed to Alexa, you can use the `filter` parameter. Keep in mind that only [supported platforms](#supported-platforms) can be added. -{% raw %} - ```yaml # Example filter to include specified domains and exclude specified entities alexa: @@ -384,8 +382,6 @@ alexa: - light.kitchen_light ``` -{% endraw %} - Filters are applied as follows: 1. No includes or excludes - pass all entities diff --git a/source/_integrations/apache_kafka.markdown b/source/_integrations/apache_kafka.markdown index d93abf50bfa..5caa5860ae3 100644 --- a/source/_integrations/apache_kafka.markdown +++ b/source/_integrations/apache_kafka.markdown @@ -87,8 +87,6 @@ filter: By default, no entity will be excluded. To limit which entities are being exposed to `Apache Kafka`, you can use the `filter` parameter. -{% raw %} - ```yaml # Example filter to include specified domains and exclude specified entities apache_kafka: @@ -105,8 +103,6 @@ apache_kafka: - light.kitchen_light ``` -{% endraw %} - Filters are applied as follows: 1. No includes or excludes - pass all entities diff --git a/source/_integrations/azure_event_hub.markdown b/source/_integrations/azure_event_hub.markdown index e3324f32f3e..4379094428d 100644 --- a/source/_integrations/azure_event_hub.markdown +++ b/source/_integrations/azure_event_hub.markdown @@ -119,8 +119,6 @@ Event Hubs have a retention time of at most 7 days, if you do not capture or use By default, no entity will be excluded. To limit which entities are being exposed to `Azure Event Hub`, you can use the `filter` parameter. -{% raw %} - ```yaml # Example filter to include specified domains and exclude specified entities azure_event_hub: @@ -138,8 +136,6 @@ azure_event_hub: - light.kitchen_light ``` -{% endraw %} - Filters are applied as follows: 1. No includes or excludes - pass all entities diff --git a/source/_integrations/bayesian.markdown b/source/_integrations/bayesian.markdown index 5b78e1fadf2..0202a87ddb7 100644 --- a/source/_integrations/bayesian.markdown +++ b/source/_integrations/bayesian.markdown @@ -135,6 +135,7 @@ binary_sensor: Finally, here's an example for `template` observation platform, as seen in the configuration it requires `value_template`. {% raw %} + ```yaml # Example configuration.yaml entry binary_sensor: @@ -148,6 +149,7 @@ binary_sensor: {{is_state('device_tracker.paulus','not_home') and ((as_timestamp(now()) - as_timestamp(states.device_tracker.paulus.last_changed)) > 300)}} prob_given_true: 0.95 ``` + {% endraw %} The template is re-evaluated whenever an entity ID that it references changes state. If you use non-deterministic functions like `now()` in the template it will not be continuously re-evaluated, but only when an entity ID that is referenced is updated. diff --git a/source/_integrations/binary_sensor.rest.markdown b/source/_integrations/binary_sensor.rest.markdown index 19fa8e56b44..5c5c339d1c5 100644 --- a/source/_integrations/binary_sensor.rest.markdown +++ b/source/_integrations/binary_sensor.rest.markdown @@ -49,6 +49,7 @@ binary_sensor: resource: http://IP_ADDRESS/ENDPOINT method: POST ``` + or a template based request: ```yaml diff --git a/source/_integrations/binary_sensor.template.markdown b/source/_integrations/binary_sensor.template.markdown index 8a9ea63e9bf..394a321224e 100644 --- a/source/_integrations/binary_sensor.template.markdown +++ b/source/_integrations/binary_sensor.template.markdown @@ -228,9 +228,10 @@ binary_sensor: ### Device Tracker sensor with Latitude and Longitude Attributes -This example shows how to combine a non-GPS (e.g., NMAP) and GPS device tracker while still including latitude and longitude attributes +This example shows how to combine a non-GPS (e.g., NMAP) and GPS device tracker while still including latitude and longitude attributes {% raw %} + ```yaml binary_sensor: - platform: template @@ -253,6 +254,7 @@ binary_sensor: {{ state_attr('device_tracker.my_device_gps','longitude') }} {% endif %} ``` + {% endraw %} ### Change the icon when state changes @@ -293,6 +295,7 @@ thousands state changed events per day, templates may re-render more than desira In the below example, re-renders are limited to once per minute: {% raw %} + ```yaml binary_sensor: - platform: template @@ -300,11 +303,13 @@ binary_sensor: has_unavailable_states: value_template: '{{ states | selectattr('state', 'in', ['unavailable', 'unknown', 'none']) | list | count }}' ``` + {% endraw %} In the below example, re-renders are limited to once per second: {% raw %} + ```yaml binary_sensor: - platform: template @@ -312,6 +317,7 @@ binary_sensor: has_sensor_unavailable_states: value_template: '{{ states.sensor | selectattr('state', 'in', ['unavailable', 'unknown', 'none']) | list | count }}' ``` + {% endraw %} If the template accesses every state on the system, a rate limit of one update per minute is applied. If the template accesses all states under a specific domain, a rate limit of one update per second is applied. If the template only accesses specific states, receives update events for specifically referenced entities, or the `homeassistant.update_entity` service is used, no rate limit is applied. diff --git a/source/_integrations/blink.markdown b/source/_integrations/blink.markdown index 7b511ef78b4..9b58835328f 100644 --- a/source/_integrations/blink.markdown +++ b/source/_integrations/blink.markdown @@ -150,6 +150,7 @@ When motion is detected, you can use the Blink Home Assistant integration to sav Again, this example assumes your camera's name (in the blink app) is `My Camera` and your sync module name is `My Sync Module`. The file will be saved to `/tmp/videos/blink_video_{YYYMMDD_HHmmSS}.mp4` where `{YYYYMMDD_HHmmSS}` will be a timestamp create via the use of [templating](/docs/configuration/templating/). {% raw %} + ```yaml - id: save_blink_video_on_motion alias: Save Blink Video on Motion @@ -162,6 +163,6 @@ Again, this example assumes your camera's name (in the blink app) is `My Camera` data: name: "My Camera" filename: "/tmp/videos/blink_video_{{ now().strftime('%Y%m%d_%H%M%S') }}.mp4" - ``` + {% endraw %} diff --git a/source/_integrations/calendar.google.markdown b/source/_integrations/calendar.google.markdown index 1f2591c813a..82a4830f3cc 100644 --- a/source/_integrations/calendar.google.markdown +++ b/source/_integrations/calendar.google.markdown @@ -217,9 +217,11 @@ By using specific text in the event title, you can set conditions to initiate pa For example, the actions following this condition will only be executed for events named 'vacation': {% raw %} + ```yaml condition: condition: template value_template: "{{is_state_attr('calendar.calendar_name', 'message', 'vacation') }}" ``` + {% endraw %} diff --git a/source/_integrations/camera.markdown b/source/_integrations/camera.markdown index eb595cde8a9..452f64974cc 100644 --- a/source/_integrations/camera.markdown +++ b/source/_integrations/camera.markdown @@ -83,6 +83,7 @@ The path part of `filename` must be an entry in the `allowlist_external_dirs` in For example, the following action in an automation would take a recording from "yourcamera" and save it to /tmp with a timestamped filename. {% raw %} + ```yaml action: service: camera.record @@ -90,6 +91,7 @@ action: entity_id: camera.yourcamera filename: '/tmp/{{ entity_id.name }}_{{ now().strftime("%Y%m%d-%H%M%S") }}.mp4' ``` + {% endraw %} #### Service `snapshot` @@ -106,6 +108,7 @@ The path part of `filename` must be an entry in the `allowlist_external_dirs` in For example, the following action in an automation would take a snapshot from "yourcamera" and save it to /tmp with a timestamped filename. {% raw %} + ```yaml action: service: camera.snapshot @@ -113,6 +116,7 @@ action: entity_id: camera.yourcamera filename: '/tmp/yourcamera_{{ now().strftime("%Y%m%d-%H%M%S") }}.jpg' ``` + {% endraw %} #### Service `turn_off` diff --git a/source/_integrations/climate.mqtt.markdown b/source/_integrations/climate.mqtt.markdown index 09018eee112..9b8cda82871 100644 --- a/source/_integrations/climate.mqtt.markdown +++ b/source/_integrations/climate.mqtt.markdown @@ -322,6 +322,7 @@ For all `*_state_topic`s, a template can be specified that will be used to rende Say you receive the operation mode `"auto"` via your `mode_state_topic`, but the mode is actually called just `auto`, here's what you could do: {% raw %} + ```yaml climate: - platform: mqtt @@ -334,11 +335,11 @@ climate: mode_state_topic: "study/ac/mode/state" mode_state_template: "{{ value_json }}" ``` + {% endraw %} This will parse the incoming `"auto"` as JSON, resulting in `auto`. Obviously, in this case you could also just set `value_template: {% raw %}"{{ value_json }}"{% endraw %}`. - ### Example A full configuration example looks like the one below. diff --git a/source/_integrations/climate.mysensors.markdown b/source/_integrations/climate.mysensors.markdown index f497322ce5d..ccde1215a4f 100644 --- a/source/_integrations/climate.mysensors.markdown +++ b/source/_integrations/climate.mysensors.markdown @@ -39,7 +39,9 @@ You can use V_TEMP to send the current temperature from the node to Home Assista For more information, visit the [serial API](https://www.mysensors.org/download) of MySensors. ## Example sketch for MySensors 2.x + {% raw %} + ```cpp /** * The MySensors Arduino library handles the wireless radio link and protocol @@ -266,6 +268,7 @@ void sendHeatpumpCommand() { heatpumpIR->send(irSender, POWER_STATE, MODE_STATE, FAN_STATE, TEMP_STATE, VDIR_AUTO, HDIR_AUTO); } ``` + {% endraw %} ## Example sketch for MySensors 1.x diff --git a/source/_integrations/conversation.markdown b/source/_integrations/conversation.markdown index f0213cff4cb..16cdea1e7fb 100644 --- a/source/_integrations/conversation.markdown +++ b/source/_integrations/conversation.markdown @@ -60,12 +60,14 @@ Sentences can contain slots (marked with curly braces: `{name}`) and optional wo The following configuration can handle the following sentences: - - Change the lights to red - - Change the lights to green - - Change the lights to blue - - Change the lights to the color red - - Change the lights to the color green - - Change the lights to the color blue +- Change the lights to red +- Change the lights to green +- Change the lights to blue +- Change the lights to the color red +- Change the lights to the color green +- Change the lights to the color blue + +{% raw %} ```yaml # Example configuration.yaml entry @@ -73,7 +75,6 @@ conversation: intents: ColorLight: - Change the lights to [the color] {color} -{% raw %} intent_script: ColorLight: speech: @@ -85,9 +86,10 @@ intent_script: - "{% if color == 'red' %}255{% else %}0{% endif %}" - "{% if color == 'green' %}255{% else %}0{% endif %}" - "{% if color == 'blue' %}255{% else %}0{% endif %}" -{% endraw %} ``` +{% endraw %} + #### Service `conversation.process` | Service data attribute | Optional | Description | diff --git a/source/_integrations/dialogflow.markdown b/source/_integrations/dialogflow.markdown index 88cd7f1904d..1beea88b1f4 100644 --- a/source/_integrations/dialogflow.markdown +++ b/source/_integrations/dialogflow.markdown @@ -68,6 +68,7 @@ When activated, the [`alexa` integration](/integrations/alexa/) will have Home A Download [this zip](https://github.com/home-assistant/home-assistant.io/blob/next/source/assets/HomeAssistant_APIAI.zip) and load it in your Dialogflow agent (**Settings** -> **Export and Import**) for examples intents to use with this configuration: {% raw %} + ```yaml # Example configuration.yaml entry dialogflow: @@ -114,4 +115,5 @@ intent_script: data: entity_id: "switch.light_{{ Room | striptags | replace(' ', '_') }}" ``` + {% endraw %} diff --git a/source/_integrations/dweet.markdown b/source/_integrations/dweet.markdown index 5191378e924..ee755d4ab81 100644 --- a/source/_integrations/dweet.markdown +++ b/source/_integrations/dweet.markdown @@ -96,6 +96,7 @@ unit_of_measurement: A full configuration entry could look like the sample below. {% raw %} + ```yaml # Example configuration.yaml entry sensor: @@ -105,6 +106,7 @@ sensor: value_template: '{{ value_json.VARIABLE }}' unit_of_measurement: "°C" ``` + {% endraw %} ### Interacting with Dweet.io diff --git a/source/_integrations/ecovacs.markdown b/source/_integrations/ecovacs.markdown index c36ffe3e167..9699d5c664d 100644 --- a/source/_integrations/ecovacs.markdown +++ b/source/_integrations/ecovacs.markdown @@ -82,6 +82,7 @@ The remaining lifespan of components on your Deebot vacuum will be reported as a Here's an example of how to extract the filter's lifespan to its own sensor using a [template sensor](/integrations/template): {% raw %} + ```yaml # Example configuration.yaml entry sensor: @@ -92,11 +93,13 @@ sensor: unit_of_measurement: '%' value_template: "{{ state_attr('vacuum.my_vacuum_id', 'component_filter') }}" ``` + {% endraw %} Or, if you want a simple binary sensor that becomes `On` when the filter needs to be replaced (5% or less): {% raw %} + ```yaml # Example configuration.yaml entry binary_sensor: @@ -107,6 +110,7 @@ binary_sensor: device_class: problem value_template: "{{ state_attr('vacuum.my_vacuum_id', 'component_filter') <= 5 }}" ``` + {% endraw %} ### Handling Errors diff --git a/source/_integrations/edimax.markdown b/source/_integrations/edimax.markdown index f53fdd8e93e..0871a5c912a 100644 --- a/source/_integrations/edimax.markdown +++ b/source/_integrations/edimax.markdown @@ -46,6 +46,7 @@ name: Starting with [version 2 of the firmware](https://www.edimax.com/edimax/download/download/data/edimax/global/download/), the Edimax switches can also report the current and accumulated daily power consumption in their state objects. Use a [template sensor](/integrations/template) to extract their values: {% raw %} + ```yaml - platform: template sensors: @@ -59,6 +60,7 @@ Starting with [version 2 of the firmware](https://www.edimax.com/edimax/download unit_of_measurement: 'kWh' value_template: "{{ state_attr('switch.edimax_smart_plug', 'today_energy_kwh') | replace('None', 0) }}" ``` + {% endraw %} Note that if the smart plug is off, these states report the string `None`. By using a `replace()` in the template, these sensors report purely numerical values. diff --git a/source/_integrations/emulated_kasa.markdown b/source/_integrations/emulated_kasa.markdown index 7f621331ab8..486f911fd69 100644 --- a/source/_integrations/emulated_kasa.markdown +++ b/source/_integrations/emulated_kasa.markdown @@ -60,6 +60,7 @@ entities: A full configuration sample looks like the one below. {% raw %} + ```yaml # Example configuration.yaml entry emulated_kasa: @@ -90,4 +91,5 @@ emulated_kasa: name: UPS Power power: "{{ float(states('sensor.ups_kw')) * 1000 }}" ``` + {% endraw %} diff --git a/source/_integrations/environment_canada.markdown b/source/_integrations/environment_canada.markdown index bc1e5feef89..9b670102f06 100644 --- a/source/_integrations/environment_canada.markdown +++ b/source/_integrations/environment_canada.markdown @@ -157,6 +157,7 @@ scan_interval: If you would like to have alerts announced via a text-to-speech service, you can use a script similar to the following: {% raw %} + ```yaml weather_alert_tts: sequence: @@ -164,6 +165,7 @@ weather_alert_tts: data: message: "{{ states('sensor.warnings') }} in effect." ``` + {% endraw %} ## Camera diff --git a/source/_integrations/facebox.markdown b/source/_integrations/facebox.markdown index 8bea4a1c80c..8ebe2ee0af5 100644 --- a/source/_integrations/facebox.markdown +++ b/source/_integrations/facebox.markdown @@ -96,6 +96,7 @@ source: Use the `image_processing.detect_face` events to trigger automations, and breakout the `trigger.event.data` using a [template](/docs/automation/templating/). The following example automation sends a notification when Ringo Star is recognized: {% raw %} + ```yaml - id: '12345' alias: Ringo Starr recognised @@ -110,6 +111,7 @@ Use the `image_processing.detect_face` events to trigger automations, and breako message: Ringo_Starr recognised with probability {{ trigger.event.data.confidence }} title: Door-cam notification ``` + {% endraw %} ## Service `facebox.teach_face` @@ -125,6 +127,7 @@ The service `facebox.teach_face` can be used to teach Facebox faces. A valid service data example: {% raw %} + ```yaml { "entity_id": "image_processing.facebox_local_file", @@ -132,11 +135,13 @@ A valid service data example: "file_path": "/images/superman_1.jpeg" } ``` + {% endraw %} You can use an automation to receive a notification when you train a face: {% raw %} + ```yaml - id: '1533703568569' alias: Face taught @@ -153,6 +158,7 @@ You can use an automation to receive a notification when you train a face: with file {{ trigger.event.data.service_data.file_path }}' title: Face taught notification ``` + {% endraw %} Any errors on teaching will be reported in the logs. If you enable [system_log](/integrations/system_log/) events: @@ -165,6 +171,7 @@ system_log: you can create an automation to receive notifications on Facebox errors: {% raw %} + ```yaml - id: '1533703568577' alias: Facebox error @@ -180,4 +187,5 @@ you can create an automation to receive notifications on Facebox errors: message: '{{ trigger.event.data.message }}' title: Facebox error ``` + {% endraw %} diff --git a/source/_integrations/fints.markdown b/source/_integrations/fints.markdown index 533b908e9fd..c0e581f0cd4 100644 --- a/source/_integrations/fints.markdown +++ b/source/_integrations/fints.markdown @@ -16,7 +16,6 @@ To find out the configuration for your bank, check their website or call their h For each account you have with the bank, a separate sensor is created. If you have several accounts with a bank, you can select which ones you want to have, and you can also give the accounts a name. -{% raw %} ```yaml # Example configuration.yaml entry sensor: @@ -26,7 +25,6 @@ sensor: pin: YOUR_PIN url: URL_FOR_YOUR_BANK ``` -{% endraw %} {% configuration %} name: diff --git a/source/_integrations/folder_watcher.markdown b/source/_integrations/folder_watcher.markdown index 769cd193414..2cce5d200ee 100644 --- a/source/_integrations/folder_watcher.markdown +++ b/source/_integrations/folder_watcher.markdown @@ -22,12 +22,10 @@ Configured folders must be added to [allowlist_external_dirs](/docs/configuratio To enable the Folder Watcher integration in your installation, add the following to your `configuration.yaml` file: -{% raw %} ```yaml folder_watcher: - folder: /config ``` -{% endraw %} {% configuration %} folder: @@ -45,7 +43,6 @@ patterns: Pattern matching using [fnmatch](https://docs.python.org/3.6/library/fnmatch.html) can be used to limit filesystem monitoring to only files which match the configured patterns. The following example shows the configuration required to only monitor filetypes `.yaml` and `.txt`. -{% raw %} ```yaml folder_watcher: - folder: /config @@ -53,13 +50,13 @@ folder_watcher: - '*.yaml' - '*.txt' ``` -{% endraw %} ## Automations Automations can be triggered on filesystem event data using a template. The following automation will send a notification with the name and folder of new files added to that folder: {% raw %} + ```yaml #Send notification for new image (including the image itself) automation: @@ -77,4 +74,5 @@ automation:     data:       file: "{{ trigger.event.data.path }}" ``` + {% endraw %} diff --git a/source/_integrations/fritzbox_callmonitor.markdown b/source/_integrations/fritzbox_callmonitor.markdown index fd029e77e01..1bc5260117f 100644 --- a/source/_integrations/fritzbox_callmonitor.markdown +++ b/source/_integrations/fritzbox_callmonitor.markdown @@ -86,6 +86,7 @@ sensor: This example shows how to send notifications whenever the sensor's state changes. You will get notified both when you receive a call and also when a call is placed. {% raw %} + ```yaml # Example configuration.yaml entry. automation: @@ -108,4 +109,5 @@ automation: Talking to {{ state_attr('sensor.phone', 'with_name') }} ({{ state_attr('sensor.phone', 'with') }}) {% endif %} ``` + {% endraw %} diff --git a/source/_integrations/garadget.markdown b/source/_integrations/garadget.markdown index eface9f7f3f..1c627804a19 100644 --- a/source/_integrations/garadget.markdown +++ b/source/_integrations/garadget.markdown @@ -68,6 +68,7 @@ covers:

{% raw %} + ```yaml # Related configuration.yaml entry cover: @@ -107,6 +108,7 @@ customize: sensor.garage_door_wifi_signal_strength: icon: mdi:wifi ``` + {% endraw %} Some of the Garadget sensors can create a lot of clutter in the logbook. Use this section of code in your `configuration.yaml` to exclude those entries. diff --git a/source/_integrations/geniushub.markdown b/source/_integrations/geniushub.markdown index eac41e90fae..28237497e5e 100644 --- a/source/_integrations/geniushub.markdown +++ b/source/_integrations/geniushub.markdown @@ -77,6 +77,7 @@ There are three `Sensor` entities that will indicate the number of **Errors**, * Each such entity has a state attribute that will contain a list of any such issues which can be used in automations, etc. For example: {% raw %} + ```yaml - alias: GeniusHub Error Alerts trigger: @@ -91,11 +92,13 @@ Each such entity has a state attribute that will contain a list of any such issu Genius Hub has the following {{ states('sensor.geniushub_errors') }} errors: {{ state_attr('sensor.geniushub_errors', 'error_list') }} ``` + {% endraw %} This alert may be useful to see if the CH is being turned on whilst you're on a holiday! {% raw %} + ```yaml - alias: GeniusHub CH State Change Alert trigger: @@ -109,6 +112,7 @@ This alert may be useful to see if the CH is being turned on whilst you're on a {{ trigger.to_state.attributes.friendly_name }} has changed from {{ trigger.from_state.state }} to {{ trigger.to_state.state }}. ``` + {% endraw %} ## State Attributes @@ -146,17 +150,21 @@ Many zone/device properties are available via the corresponding entity's state a This data can be accessed in automations, etc. via a value template. For example: {% raw %} + ```yaml value_template: "{{ state_attr('water_heater.genius_zone_2', 'status').override.setpoint }}" ``` + {% endraw %} In the specific case of **Radiator** zones with room sensors: {% raw %} + ```yaml value_template: "{{ state_attr('climate.genius_zone_12', 'status').occupied }}" ``` + {% endraw %} ## Configuration diff --git a/source/_integrations/geo_location.markdown b/source/_integrations/geo_location.markdown index f1181b6b1b3..99bb17982af 100644 --- a/source/_integrations/geo_location.markdown +++ b/source/_integrations/geo_location.markdown @@ -34,6 +34,7 @@ Conditions can be used to further filter entities, for example by inspecting the The following example automation creates a notification on the screen when a fire classified as 'Bush Fire' is reported within a predefined bush fire alert zone: {% raw %} + ```yaml geo_location: - platform: nsw_rural_fire_service_feed @@ -65,4 +66,5 @@ automation: message: "{{ trigger.to_state.name }} - {{ trigger.to_state.attributes.status }}" title: "Bush Fire Alert" ``` + {% endraw %} diff --git a/source/_integrations/google_pubsub.markdown b/source/_integrations/google_pubsub.markdown index 58512256a91..2ae53c68ee6 100644 --- a/source/_integrations/google_pubsub.markdown +++ b/source/_integrations/google_pubsub.markdown @@ -87,8 +87,6 @@ filter: By default, no entity will be excluded. To limit which entities are being exposed to `Google Pub/Sub`, you can use the `filter` parameter. -{% raw %} - ```yaml # Example filter to include specified domains and exclude specified entities google_pubsub: @@ -105,8 +103,6 @@ google_pubsub: - light.kitchen_light ``` -{% endraw %} - Filters are applied as follows: 1. No includes or excludes - pass all entities diff --git a/source/_integrations/harmony.markdown b/source/_integrations/harmony.markdown index 5038e5b4b74..291042ce0c9 100644 --- a/source/_integrations/harmony.markdown +++ b/source/_integrations/harmony.markdown @@ -203,6 +203,7 @@ Force synchronization between the Harmony device and the Harmony cloud. Template sensors can be utilized to display current activity in the frontend. {% raw %} + ```yaml sensor: - platform: template @@ -214,11 +215,13 @@ sensor: value_template: '{{ state_attr("remote.bedroom", "current_activity") }}' friendly_name: 'bedroom' ``` + {% endraw %} The example below shows how to control an `input_boolean` switch using the Harmony remote's current activity. The switch will turn on when the remote's state changes and the Kodi activity is started and off when the remote's state changes and the current activity is "PowerOff". {% raw %} + ```yaml automation: - alias: "Watch TV started from harmony hub" @@ -242,4 +245,5 @@ automation: service: input_boolean.turn_off entity_id: input_boolean.notify ``` + {% endraw %} diff --git a/source/_integrations/history_stats.markdown b/source/_integrations/history_stats.markdown index 0d836cf1b18..b9f62f2e38f 100644 --- a/source/_integrations/history_stats.markdown +++ b/source/_integrations/history_stats.markdown @@ -25,6 +25,7 @@ Examples of what you can track: To enable the history statistics sensor, add the following lines to your `configuration.yaml`: {% raw %} + ```yaml # Example configuration.yaml entry sensor: @@ -36,6 +37,7 @@ sensor: start: '{{ now().replace(hour=0, minute=0, second=0) }}' end: '{{ now() }}' ``` + {% endraw %} {% configuration %} @@ -131,30 +133,36 @@ Here are some examples of periods you could work with, and what to write in your **Today**: starts at 00:00 of the current day and ends right now. {% raw %} + ```yaml start: '{{ now().replace(hour=0, minute=0, second=0) }}' end: '{{ now() }}' ``` + {% endraw %} **Yesterday**: ends today at 00:00, lasts 24 hours. {% raw %} + ```yaml end: '{{ now().replace(hour=0, minute=0, second=0) }}' duration: hours: 24 ``` + {% endraw %} **This morning (6AM - 11AM)**: starts today at 6, lasts 5 hours. {% raw %} + ```yaml start: '{{ now().replace(hour=6, minute=0, second=0) }}' duration: hours: 5 ``` + {% endraw %} **Current week**: starts last Monday at 00:00, ends right now. @@ -162,29 +170,35 @@ Here are some examples of periods you could work with, and what to write in your Here, last Monday is _today_ as a timestamp, minus 86400 times the current weekday (86400 is the number of seconds in one day, the weekday is 0 on Monday, 6 on Sunday). {% raw %} + ```yaml start: '{{ as_timestamp( now().replace(hour=0, minute=0, second=0) ) - now().weekday() * 86400 }}' end: '{{ now() }}' ``` + {% endraw %} **Last 30 days**: ends today at 00:00, lasts 30 days. Easy one. {% raw %} + ```yaml end: '{{ now().replace(hour=0, minute=0, second=0) }}' duration: days: 30 ``` + {% endraw %} **All your history** starts at timestamp = 0, and ends right now. {% raw %} + ```yaml start: '{{ 0 }}' end: '{{ now() }}' ``` + {% endraw %}
diff --git a/source/_integrations/homekit.markdown b/source/_integrations/homekit.markdown index 35e72004bb5..342e13dc5ac 100644 --- a/source/_integrations/homekit.markdown +++ b/source/_integrations/homekit.markdown @@ -328,8 +328,6 @@ Please remember that you can only have a single `automation` entry. Add the auto
-{% raw %} - ```yaml # Example for Z-Wave homekit: @@ -348,12 +346,8 @@ automation: - service: homekit.start ``` -{% endraw %} - For a general delay where your integration doesn't generate an event, you can also do: -{% raw %} - ```yaml # Example using a delay after the start of Home Assistant homekit: @@ -369,8 +363,6 @@ automation: - service: homekit.start ``` -{% endraw %} - In some cases it might be desirable to check that all entities are available before starting `HomeKit`. This can be accomplished by adding an additional `binary_sensor` as follows: {% raw %} @@ -406,8 +398,6 @@ automation: By default, no entity will be excluded. To limit which entities are being exposed to `HomeKit`, you can use the `filter` parameter. Keep in mind only [supported components](#supported-components) can be added. -{% raw %} - ```yaml # Example filter to include specified domains and exclude specified entities homekit: @@ -421,8 +411,6 @@ homekit: - light.kitchen_light ``` -{% endraw %} - Filters are applied as follows: 1. No includes or excludes - pass all entities diff --git a/source/_integrations/homematic.markdown b/source/_integrations/homematic.markdown index 2bd51136f71..b5768e51c32 100644 --- a/source/_integrations/homematic.markdown +++ b/source/_integrations/homematic.markdown @@ -428,28 +428,30 @@ When the connection to your Homematic CCU or Homegear is lost, Home Assistant wi - If you have a sensor which you know will be updated frequently (e.g., an outdoor temperature sensor, voltage sensor or light sensor) you could set up a helper binary sensor and an automation like this: {% raw %} - ```yaml - binary_sensor: - - platform: template - sensors: - homematic_up: - friendly_name: "Homematic is sending updates" - entity_id: - - sensor.office_voltage - - sensor.time - value_template: >- - {{as_timestamp(now()) - as_timestamp(states.sensor.office_voltage.last_changed) < 600}} - automation: - - alias: Homematic Reconnect - trigger: - platform: state - entity_id: binary_sensor.homematic_up - to: "off" - action: - # Reconnect, if sensor has not been updated for over 3 hours - service: homematic.reconnect - ``` +```yaml +binary_sensor: + - platform: template + sensors: + homematic_up: + friendly_name: "Homematic is sending updates" + entity_id: + - sensor.office_voltage + - sensor.time + value_template: >- + {{as_timestamp(now()) - as_timestamp(states.sensor.office_voltage.last_changed) < 600}} + +automation: + - alias: Homematic Reconnect + trigger: + platform: state + entity_id: binary_sensor.homematic_up + to: "off" + action: + # Reconnect, if sensor has not been updated for over 3 hours + service: homematic.reconnect +``` + {% endraw %} The important part is the `sensor.time` entity (from time_date component). This will update the binary sensor on every change of the sensor and every minute. If the Homematic sensor does not send any updates anymore, the `sensor.time` will set the binary sensor to `off` 10 minutes after the last sensor update. This will trigger the automation. @@ -553,6 +555,7 @@ Only the `data` part of the event payload is processed. This part can specify or It is possible to provide a template in order to compute the value: {% raw %} + ```json { "data": { @@ -560,11 +563,13 @@ It is possible to provide a template in order to compute the value: } } ``` + {% endraw %} You can also specify the event payload using a group notification (instead of specifying the value for the notify itself): {% raw %} + ```yaml notify: - name: my_hm @@ -587,6 +592,7 @@ alert: notifiers: - group_hm ``` + {% endraw %} Please note that the first `data` element belongs to the service `my_hm`, while the second one belongs to the event payload. diff --git a/source/_integrations/html5.markdown b/source/_integrations/html5.markdown index 43027ceb179..361374b63b0 100644 --- a/source/_integrations/html5.markdown +++ b/source/_integrations/html5.markdown @@ -167,6 +167,7 @@ data: Example of adding a tag to your notification. This won't create new notification if there already exists one with the same tag. {% raw %} + ```yaml - alias: Push/update notification of sensor state with tag trigger: @@ -180,6 +181,7 @@ Example of adding a tag to your notification. This won't create new notification data: tag: 'notification-about-sensor' ``` + {% endraw %} #### Targets diff --git a/source/_integrations/ifttt.markdown b/source/_integrations/ifttt.markdown index 988c1378ce2..5a14221833b 100644 --- a/source/_integrations/ifttt.markdown +++ b/source/_integrations/ifttt.markdown @@ -32,6 +32,7 @@ For example, set the body of the IFTTT webhook to: You then need to consume that incoming information with the following automation: {% raw %} + ```yaml automation: - id: this_is_the_automation_id @@ -47,6 +48,7 @@ automation: entity_id: '{{ trigger.event.data.entity_id }}' service: '{{ trigger.event.data.service }}' ``` + {% endraw %} ## Sending events to IFTTT @@ -59,7 +61,6 @@ ifttt: `key` is your API key which can be obtained by viewing the **Settings** of the [Webhooks applet](https://ifttt.com/services/maker_webhooks/settings). It's the last part of the URL (e.g., https://maker.ifttt.com/use/MYAPIKEY) you will find under **My Applets** > **Webhooks** > **Settings**. -

Property screen of the Maker Channel @@ -83,7 +84,6 @@ ifttt: YOUR_KEY_NAME2: YOUR_API_KEY2 ``` - ### Testing your trigger You can use **Developer Tools** to test your [Webhooks](https://ifttt.com/maker_webhooks) trigger. To do this, open the Home Assistant sidebar, click on Developer Tools, and then the **Services** tab. Fill in the following values: @@ -125,6 +125,7 @@ You need to setup a unique trigger for each event you sent to IFTTT.

{% raw %} + ```yaml # Example configuration.yaml Automation entry automation: @@ -136,11 +137,13 @@ automation: service: ifttt.trigger data: {"event":"TestHA_Trigger", "value1":"Hello World!"} ``` + {% endraw %} IFTTT can also be used in scripts and with templates. Here is the above automation broken into an automation and script using variables and templates. {% raw %} + ```yaml # Example configuration.yaml Automation entry automation: @@ -155,9 +158,11 @@ automation: value2: "{{ trigger.event.data.entity_id.split('_')[1] }} is " value3: "{{ trigger.event.data.to_state.state }}" ``` + {% endraw %} {% raw %} + ```yaml #Example Script to send TestHA_Trigger to IFTTT but with some other data (homeassistant UP). ifttt_notify: @@ -165,4 +170,5 @@ ifttt_notify: - service: ifttt.trigger data: {"event":"TestHA_Trigger", "value1":"{{ value1 }}", "value2":"{{ value2 }}", "value3":"{{ value3 }}"} ``` + {% endraw %} diff --git a/source/_integrations/imap_email_content.markdown b/source/_integrations/imap_email_content.markdown index 343ae525e98..1751269b6f3 100644 --- a/source/_integrations/imap_email_content.markdown +++ b/source/_integrations/imap_email_content.markdown @@ -78,6 +78,7 @@ value_template: The following example shows the usage of the IMAP email content sensor to scan the subject of an email for text, in this case, an email from the APC SmartConnect service which tells whether the UPS is running on battery or not. {% raw %} + ```yaml sensor: - platform: imap_email_content @@ -95,6 +96,7 @@ sensor: power_on {% endif %} ``` + {% endraw %} The same template structure can scan the date, body or sender for matching text before setting the state of the sensor. @@ -115,6 +117,7 @@ To view your account for details about your energy use, please click here. Below is the template sensor which extracts the information from the body of the email in our IMAP email sensor (named sensor.energy_email) into 3 sensors for the energy use, daily cost, and billing cycle total. {% raw %} + ```yaml sensor: - platform: template @@ -138,6 +141,7 @@ sensor: {{ state_attr('sensor.energy_email', 'body') |regex_findall_index("\ days:\* \$([0-9.]+)") }} ``` + {% endraw %} By making small changes to the regular expressions defined above, a similar structure can parse other types of data out of the body of other emails. diff --git a/source/_integrations/incomfort.markdown b/source/_integrations/incomfort.markdown index 13304ee7f59..6300ca7be0f 100644 --- a/source/_integrations/incomfort.markdown +++ b/source/_integrations/incomfort.markdown @@ -34,6 +34,7 @@ Any room thermostats (there can be 0, 1 or 2) are represented as **Climate** dev To send an alert if the CV pressure is too low or too high, consider the following example: {% raw %} + ```yaml - alias: Low CV Pressure Alert trigger: @@ -48,6 +49,7 @@ To send an alert if the CV pressure is too low or too high, consider the followi {{ trigger.to_state.attributes.friendly_name }} is low, {{ trigger.to_state.state }} bar. ``` + {% endraw %} Other properties are available via each device's attributes. diff --git a/source/_integrations/influxdb.markdown b/source/_integrations/influxdb.markdown index 1958298020e..0ada21fbecf 100644 --- a/source/_integrations/influxdb.markdown +++ b/source/_integrations/influxdb.markdown @@ -208,8 +208,6 @@ component_config_glob: By default, no entity will be excluded. To limit which entities are being exposed to `InfluxDB`, you can use the `include` and `exclude` parameters. -{% raw %} - ```yaml # Example filter to include specified domains and exclude specified entities influxdb: @@ -224,8 +222,6 @@ influxdb: - light.kitchen_light ``` -{% endraw %} - Filters are applied as follows: 1. No includes or excludes - pass all entities diff --git a/source/_integrations/input_datetime.markdown b/source/_integrations/input_datetime.markdown index ae23d9a9c01..41c85478a33 100644 --- a/source/_integrations/input_datetime.markdown +++ b/source/_integrations/input_datetime.markdown @@ -112,7 +112,6 @@ To set both the date and time in the same call, use `date` and `time` together, The following example shows the usage of the `input_datetime` as a trigger in an automation: -{% raw %} ```yaml # Example configuration.yaml entry # Turns on bedroom light at the time specified. @@ -124,13 +123,13 @@ automation: service: light.turn_on entity_id: light.bedroom ``` -{% endraw %} To dynamically set the `input_datetime` you can call `input_datetime.set_datetime`. The values for `date`, `time` and/or `datetime` must be in a certain format for the call to be successful. (See service description above.) If you have a `datetime` object you can use its `timestamp` method. Of if you have a timestamp you can just use it directly. {% raw %} + ```yaml # Sets time to 05:30:00 - service: input_datetime.set_datetime @@ -170,4 +169,5 @@ If you have a `datetime` object you can use its `timestamp` method. Of if you ha entity_id: input_datetime.XXX timestamp: "{{ now().timestamp() }}" ``` + {% endraw %} diff --git a/source/_integrations/input_number.markdown b/source/_integrations/input_number.markdown index 463ad017943..f02fbbcf74f 100644 --- a/source/_integrations/input_number.markdown +++ b/source/_integrations/input_number.markdown @@ -114,6 +114,7 @@ scene: Here's an example of `input_number` being used as a trigger in an automation. {% raw %} + ```yaml # Example configuration.yaml entry using 'input_number' as a trigger in an automation input_number: @@ -134,11 +135,13 @@ automation: entity_id: light.bedroom brightness: "{{ trigger.to_state.state | int }}" ``` + {% endraw %} Another code example using `input_number`, this time being used in an action in an automation. {% raw %} + ```yaml # Example configuration.yaml entry using 'input_number' in an action in an automation input_select: @@ -171,11 +174,13 @@ automation: entity_id: light.bedroom brightness: "{{ states('input_number.bedroom_brightness') | int }}" ``` + {% endraw %} Example of `input_number` being used in a bidirectional manner, both being set by and controlled by an MQTT action in an automation. {% raw %} + ```yaml # Example configuration.yaml entry using 'input_number' in an action in an automation input_number: @@ -213,11 +218,13 @@ automation: retain: true payload: "{{ states('input_number.target_temp') | int }}" ``` + {% endraw %} Here's an example of `input_number` being used as a delay in an automation. {% raw %} + ```yaml # Example configuration.yaml entry using 'input_number' as a delay in an automation input_number: @@ -248,4 +255,5 @@ automation: - service: switch.turn_off entity_id: switch.something ``` + {% endraw %} diff --git a/source/_integrations/input_select.markdown b/source/_integrations/input_select.markdown index fb941c3b400..e360b2ee912 100644 --- a/source/_integrations/input_select.markdown +++ b/source/_integrations/input_select.markdown @@ -149,6 +149,7 @@ automation: Example of `input_select` being used in a bidirectional manner, both being set by and controlled by an MQTT action in an automation. {% raw %} + ```yaml # Example configuration.yaml entry using 'input_select' in an action in an automation @@ -190,4 +191,5 @@ input_select: retain: true payload: "{{ states('input_select.thermostat_mode') }}" ``` + {% endraw %} diff --git a/source/_integrations/input_text.markdown b/source/_integrations/input_text.markdown index 59cf2696b52..b6c55104860 100644 --- a/source/_integrations/input_text.markdown +++ b/source/_integrations/input_text.markdown @@ -108,6 +108,7 @@ scene: Here's an example using `input_text` in an action in an automation. {% raw %} + ```yaml # Example configuration.yaml entry using 'input_text' in an action in an automation input_select: @@ -136,4 +137,5 @@ automation: entity_id: input_text.bedroom value: "{{ states('input_select.scene_bedroom') }}" ``` + {% endraw %} diff --git a/source/_integrations/iss.markdown b/source/_integrations/iss.markdown index 5b16be2a82b..19e7c57d130 100644 --- a/source/_integrations/iss.markdown +++ b/source/_integrations/iss.markdown @@ -53,6 +53,7 @@ The [generic camera platform](/integrations/mjpeg) offers the possibility to show the location of the ISS on OpenStreetMap. {% raw %} + ```yaml # Example configuration.yaml entry - platform: iss @@ -64,4 +65,5 @@ camera: still_image_url: http://staticmap.openstreetmap.de/staticmap.php?center={{ state_attr('binary_sensor.iss', 'lat') }},{{ state_attr('binary_sensor.iss', 'long') }}&zoom=4&size=865x512&maptype=mapnik&markers={{ state_attr('binary_sensor.iss', 'lat') }},{{ state_attr('binary_sensor.iss', 'long') }},lightblue limit_refetch_to_url_change: true ``` + {% endraw %} diff --git a/source/_integrations/kodi.markdown b/source/_integrations/kodi.markdown index e709daf3efc..5efdd1264fe 100644 --- a/source/_integrations/kodi.markdown +++ b/source/_integrations/kodi.markdown @@ -223,6 +223,7 @@ This example and the following requires to have the [script.json-cec](https://gi #### Simple script to turn on the PVR in some channel as a time function {% raw %} + ```yaml script: play_kodi_pvr: @@ -252,11 +253,13 @@ script: 10 {% endif %} ``` + {% endraw %} #### Simple script to play a smart playlist {% raw %} + ```yaml script: play_kodi_smp: @@ -272,6 +275,7 @@ script: media_content_type: DIRECTORY media_content_id: special://profile/playlists/video/feuerwehrmann_sam.xsp ``` + {% endraw %} #### Trigger a Kodi video library update diff --git a/source/_integrations/lacrosse.markdown b/source/_integrations/lacrosse.markdown index a9350f3a47c..9363f800f58 100644 --- a/source/_integrations/lacrosse.markdown +++ b/source/_integrations/lacrosse.markdown @@ -98,7 +98,6 @@ sensor: To setup a LaCrosse sensor with multiple sensors, add the following to your `configuration.yaml` file: -{% raw %} ```yaml # Example configuration.yaml entry sensor: @@ -119,4 +118,3 @@ sensor: type: battery id: 72 ``` -{% endraw %} diff --git a/source/_integrations/life360.markdown b/source/_integrations/life360.markdown index f214625a2d6..00e0e6906ef 100644 --- a/source/_integrations/life360.markdown +++ b/source/_integrations/life360.markdown @@ -163,8 +163,6 @@ Therefore, an optional filtering mechanism has been implemented to prevent incon ### Typical configuration -{% raw %} - ```yaml life360: # MPH, assuming imperial units. @@ -184,12 +182,8 @@ life360: error_threshold: 3 ``` -{% endraw %} - ### Circle and Member Filtering Example -{% raw %} - ```yaml life360: # Only track Members that are in these Circles. @@ -200,12 +194,8 @@ life360: exclude: John Doe ``` -{% endraw %} - ### Entering accounts in configuration -{% raw %} - ```yaml life360: accounts: @@ -213,8 +203,6 @@ life360: password: LIFE360_PASSWORD ``` -{% endraw %} - ### Example overdue update automations {% raw %} diff --git a/source/_integrations/light.mqtt.markdown b/source/_integrations/light.mqtt.markdown index c57dd58d5e9..64432bb60da 100644 --- a/source/_integrations/light.mqtt.markdown +++ b/source/_integrations/light.mqtt.markdown @@ -315,6 +315,7 @@ In this section you will find some real-life examples of how to use this sensor. To enable a light with brightness and RGB support in your installation, add the following to your `configuration.yaml` file: {% raw %} + ```yaml # Example configuration.yaml entry light: @@ -334,6 +335,7 @@ light: payload_off: "OFF" optimistic: false ``` + {% endraw %} ### Brightness and no RGB support diff --git a/source/_integrations/logbook.markdown b/source/_integrations/logbook.markdown index a32efb62dfe..d9f2ba10af5 100644 --- a/source/_integrations/logbook.markdown +++ b/source/_integrations/logbook.markdown @@ -66,8 +66,6 @@ include: By default, no entity will be excluded. To limit which entities are being exposed to `Logbook`, you can use the `include` and `exclude` parameters. -{% raw %} - ```yaml # Example filter to include specified domains and exclude specified entities logbook: @@ -82,8 +80,6 @@ logbook: - light.kitchen_light ``` -{% endraw %} - Filters are applied as follows: 1. No includes or excludes - pass all entities diff --git a/source/_integrations/manual.markdown b/source/_integrations/manual.markdown index 4d5975299f5..c3a0bd5effa 100644 --- a/source/_integrations/manual.markdown +++ b/source/_integrations/manual.markdown @@ -209,6 +209,7 @@ automation: Sending a Notification when the Alarm is Armed (Away/Home), Disarmed and in Pending Status {% raw %} + ```yaml - alias: 'Send notification when alarm is Disarmed' trigger: @@ -220,9 +221,7 @@ Sending a Notification when the Alarm is Armed (Away/Home), Disarmed and in Pend data: message: "ALARM! The alarm is Disarmed at {{ states('sensor.date_time') }}" ``` -{% endraw %} -{% raw %} ```yaml - alias: 'Send notification when alarm is in pending status' trigger: @@ -234,9 +233,7 @@ Sending a Notification when the Alarm is Armed (Away/Home), Disarmed and in Pend data: message: "ALARM! The alarm is in pending status at {{ states('sensor.date_time') }}" ``` -{% endraw %} -{% raw %} ```yaml - alias: 'Send notification when alarm is Armed in Away mode' trigger: @@ -248,9 +245,7 @@ Sending a Notification when the Alarm is Armed (Away/Home), Disarmed and in Pend data: message: "ALARM! The alarm is armed in Away mode {{ states('sensor.date_time') }}" ``` -{% endraw %} -{% raw %} ```yaml - alias: 'Send notification when alarm is Armed in Home mode' trigger: @@ -264,4 +259,5 @@ Sending a Notification when the Alarm is Armed (Away/Home), Disarmed and in Pend message: > ALARM! The alarm is armed in Home mode {{ states('sensor.date_time') }} ``` + {% endraw %} diff --git a/source/_integrations/matrix.markdown b/source/_integrations/matrix.markdown index b446f03f6f7..e8bf91af00a 100644 --- a/source/_integrations/matrix.markdown +++ b/source/_integrations/matrix.markdown @@ -91,6 +91,7 @@ If the command is a word command, the `data` field contains a list of the comman This example also uses the [matrix `notify` platform](#notifications). {% raw %} + ```yaml # The Matrix component matrix: @@ -135,6 +136,7 @@ automation: data: message: "Hello {{trigger.event.data.args['name']}}" ``` + {% endraw %} This configuration will: diff --git a/source/_integrations/mediaroom.markdown b/source/_integrations/mediaroom.markdown index 79afe14bb62..e4f295ff462 100644 --- a/source/_integrations/mediaroom.markdown +++ b/source/_integrations/mediaroom.markdown @@ -56,6 +56,7 @@ If the STB is on the same network segment as Home Assistant, it can determine wh The `play_media` function can be used in scripts to change channels: {% raw %} + ```yaml # Example play_media script to change channel # @@ -67,11 +68,13 @@ change_channel: media_content_id: "{{ channel_number }}" media_content_type: "channel" ``` + {% endraw %} The `play_media` function can also be used to trigger actions on the set-up-box such opening the videoclub: {% raw %} + ```yaml # Example play_media script to trigger an action # @@ -83,6 +86,7 @@ press_button: media_content_id: "{{ action }}" media_content_type: "mediaroom" ``` + {% endraw %} Check [here](https://github.com/dgomes/pymediaroom) for the list of possible media_content_id's diff --git a/source/_integrations/meteoalarm.markdown b/source/_integrations/meteoalarm.markdown index a14bdc1d240..90b8db94f6a 100644 --- a/source/_integrations/meteoalarm.markdown +++ b/source/_integrations/meteoalarm.markdown @@ -86,6 +86,7 @@ Example automation Below you find an example of an automation. {% raw %} + ```yaml automation: - alias: Alert me about weather warnings @@ -99,6 +100,7 @@ automation: title: "{{state_attr('binary_sensor.meteoalarm', 'headline')}}" message: "{{state_attr('binary_sensor.meteoalarm', 'description')}} is effective on {{state_attr('binary_sensor.meteoalarm', 'effective')}}" ``` + {% endraw %}
diff --git a/source/_integrations/min_max.markdown b/source/_integrations/min_max.markdown index 0fd106fabd7..9098a36bc37 100644 --- a/source/_integrations/min_max.markdown +++ b/source/_integrations/min_max.markdown @@ -17,12 +17,14 @@ The `min_max` sensor platform consumes the state from other sensors to determine This sensor is an alternative to the [template sensor](/integrations/template)'s `value_template:` to get the average or the median of multiple sensors. {% raw %} + ```yaml {{ ((float(states('sensor.kitchen_temperature')) + float(states('sensor.living_room_temperature')) + float(states('sensor.office_temperature'))) / 3) | round(2) }} ``` + {% endraw %} Sensors with an unknown state will be ignored in the calculation. If the unit of measurement of the sensors differs, the `min_max` sensor will go to an error state where the value is `UNKNOWN` and unit of measurement is `ERR`. diff --git a/source/_integrations/minio.markdown b/source/_integrations/minio.markdown index 03ae9cd6387..5d3457f8503 100644 --- a/source/_integrations/minio.markdown +++ b/source/_integrations/minio.markdown @@ -81,6 +81,7 @@ listen: Automations can be triggered on new files created on the Minio server using the `data_template`. {% raw %} + ```yaml #Automatically upload new local files automation: @@ -115,6 +116,7 @@ automation: key: "{{trigger.event.data.key}}" file_path: "/tmp/{{ trigger.event.data.file_name }}" ``` + {% endraw %} ## Platform Services diff --git a/source/_integrations/modem_callerid.markdown b/source/_integrations/modem_callerid.markdown index 3ab1f7a3c7a..3cc85a6d979 100644 --- a/source/_integrations/modem_callerid.markdown +++ b/source/_integrations/modem_callerid.markdown @@ -66,6 +66,7 @@ Depending on what's plugged into your USB ports, the name found above may change Some example automations: {% raw %} + ```yaml automation: - alias: Notify CallerID @@ -97,4 +98,5 @@ automation: data: message: 'Call from {{ state_attr('sensor.modem_callerid', 'cid_name') }}' ``` + {% endraw %} diff --git a/source/_integrations/mqtt_statestream.markdown b/source/_integrations/mqtt_statestream.markdown index 9eff9a93cdc..a2e5cd610b0 100644 --- a/source/_integrations/mqtt_statestream.markdown +++ b/source/_integrations/mqtt_statestream.markdown @@ -77,8 +77,6 @@ include: By default, no entity will be excluded. To limit which entities are being exposed to `MQTT Statestream`, you can use the `include` and `exclude` parameters. -{% raw %} - ```yaml # Example filter to include specified domains and exclude specified entities mqtt_statestream: @@ -94,8 +92,6 @@ mqtt_statestream: - light.kitchen_light ``` -{% endraw %} - Filters are applied as follows: 1. No includes or excludes - pass all entities diff --git a/source/_integrations/netatmo.markdown b/source/_integrations/netatmo.markdown index 771ff1a3d25..cd66fcf12dc 100644 --- a/source/_integrations/netatmo.markdown +++ b/source/_integrations/netatmo.markdown @@ -111,8 +111,6 @@ You can find the available event types at the [official Netatmo API documentatio Example: -{% raw %} - ```yaml # Example automation for webhooks based Netatmo events - alias: Netatmo event example @@ -127,8 +125,6 @@ Example: service: counter.increment ``` -{% endraw %} - Example: {% raw %} diff --git a/source/_integrations/notify.group.markdown b/source/_integrations/notify.group.markdown index e14e8d0f829..d5647ad4f7f 100644 --- a/source/_integrations/notify.group.markdown +++ b/source/_integrations/notify.group.markdown @@ -49,10 +49,12 @@ services: An example on how to use it in an automation: {% raw %} + ```yaml action: service: notify.NAME_OF_NOTIFIER_GROUP data: message: "The sun is {% if is_state('sun.sun', 'above_horizon') %}up{% else %}down{% endif %}!" ``` + {% endraw %} diff --git a/source/_integrations/nzbget.markdown b/source/_integrations/nzbget.markdown index a10096fbf09..68354db04f3 100644 --- a/source/_integrations/nzbget.markdown +++ b/source/_integrations/nzbget.markdown @@ -44,6 +44,7 @@ Possible events are: The event includes the name, category, and status of the downloaded nzb. Example automation to send a Telegram message on a completed download: + {% raw %} ```yaml diff --git a/source/_integrations/openuv.markdown b/source/_integrations/openuv.markdown index 17b4a89ffb6..30774af808f 100644 --- a/source/_integrations/openuv.markdown +++ b/source/_integrations/openuv.markdown @@ -107,7 +107,9 @@ automation: ``` Update the UV index data every 20 minutes while the sun is at least 10 degrees above the horizon: + {% raw %} + ```yaml automation: - alias: Update OpenUV every 20 minutes while the sun is at least 10 degrees above the horizon @@ -122,9 +124,11 @@ automation: action: service: openuv.update_uv_index_data ``` + {% endraw %} Update the protection window once a day: + ```yaml automation: - alias: Update OpenUV protection window once a day diff --git a/source/_integrations/plex.markdown b/source/_integrations/plex.markdown index 86ce2486850..f89573fb5b6 100644 --- a/source/_integrations/plex.markdown +++ b/source/_integrations/plex.markdown @@ -238,7 +238,9 @@ Refresh a Plex library to scan for new and updated media. Scan for new controllable Plex clients. This may be necessary in scripts or automations which control a Plex `media_player` entity, but where the underlying device must be turned on first. Example script: + {% raw %} + ```yaml play_plex_on_tv: sequence: @@ -258,6 +260,7 @@ play_plex_on_tv: media_content_id: '{"library_name": "Movies", "title": "Zoolander"}' media_content_type: movie ``` + {% endraw %} ## Notes diff --git a/source/_integrations/point.markdown b/source/_integrations/point.markdown index f09739b61c5..fd2b0ed8d0c 100644 --- a/source/_integrations/point.markdown +++ b/source/_integrations/point.markdown @@ -93,7 +93,6 @@ The binary sensors **button_press**, **sound** and **tamper** are switched `On` The following example show how to implement an automation for the **button_press** binary sensor. -{% raw %} ```yaml # Example configuration.yaml Automation entry automation: @@ -108,13 +107,13 @@ automation: title: Point button press message: Point button was pressed. ``` -{% endraw %} ### Webhook events The events shown as [binary sensors](#binary-sensor) are sent to Home Assistant as webhooks with the `event_type` set to `point_webhook_received`. Below is an example of how to use such a webhook do note the `trigger.event.data.event.device_id` which translates to the id of the Point device that sent the event. {% raw %} + ```yaml # Example configuration.yaml Automation entry automation: @@ -132,6 +131,7 @@ automation: title: Point button press (webhook) message: "Button press on Point {{ trigger.event.data.event.device_id }}" ``` + {% endraw %} ## Sensor diff --git a/source/_integrations/prometheus.markdown b/source/_integrations/prometheus.markdown index 28450367127..67f96ca0e71 100644 --- a/source/_integrations/prometheus.markdown +++ b/source/_integrations/prometheus.markdown @@ -98,8 +98,6 @@ component_config_glob: By default, no entity will be excluded. To limit which entities are being exposed to `Prometheus`, you can use the `filter` parameter. -{% raw %} - ```yaml # Example filter to include specified domains and exclude specified entities prometheus: @@ -113,8 +111,6 @@ prometheus: - light.kitchen_light ``` -{% endraw %} - Filters are applied as follows: 1. No includes or excludes - pass all entities diff --git a/source/_integrations/recorder.markdown b/source/_integrations/recorder.markdown index 158b62da944..220cb4a466a 100644 --- a/source/_integrations/recorder.markdown +++ b/source/_integrations/recorder.markdown @@ -112,8 +112,6 @@ recorder: By default, no entity will be excluded. To limit which entities are being exposed to `Recorder`, you can use the `include` and `exclude` parameters. -{% raw %} - ```yaml # Example filter to include specified domains and exclude specified entities recorder: @@ -128,8 +126,6 @@ recorder: - light.kitchen_light ``` -{% endraw %} - Filters are applied as follows: 1. No includes or excludes - pass all entities diff --git a/source/_integrations/remember_the_milk.markdown b/source/_integrations/remember_the_milk.markdown index 5409b5d7094..4ee511dc029 100644 --- a/source/_integrations/remember_the_milk.markdown +++ b/source/_integrations/remember_the_milk.markdown @@ -105,8 +105,8 @@ Here's an example for an automation that creates a new task whenever `sensor.mys - service: remember_the_milk.myaccount_complete_task data: id: "{{trigger.entity_id}}" - ``` + {% endraw %} ## Disclaimer diff --git a/source/_integrations/rest.markdown b/source/_integrations/rest.markdown index 361f81dfb06..61a82a08135 100644 --- a/source/_integrations/rest.markdown +++ b/source/_integrations/rest.markdown @@ -244,6 +244,7 @@ sensor: [JSON Test](https://www.jsontest.com/) returns the current time, date and milliseconds since epoch from [http://date.jsontest.com/](http://date.jsontest.com/). {% raw %} + ```yaml sensor: - platform: rest @@ -262,6 +263,7 @@ sensor: friendly_name: 'milliseconds' value_template: '{{ states.sensor.json_time.attributes["milliseconds_since_epoch"] }}' ``` + {% endraw %} [JSONPlaceholder](https://jsonplaceholder.typicode.com/) provides sample JSON data for testing. In the below example, JSONPath locates the attributes in the JSON document. [JSONPath Online Evaluator](https://jsonpath.com/) provides a tool to test your JSONPath. If the endpoint returns XML, it will be converted to JSON using `xmltodict` before searching for attributes. You may find the [XMLtoDict debug tool](https://xmltodict-debugger.glitch.me/) helpful for testing how your XML converts to JSON. @@ -287,6 +289,7 @@ sensor: This sample fetches a weather report from [OpenWeatherMap](https://openweathermap.org/), maps the resulting data into attributes of the RESTful sensor and then creates a set of [template](/integrations/template) sensors that monitor the attributes and present the values in a usable form. {% raw %} + ```yaml sensor: - platform: rest @@ -318,11 +321,13 @@ sensor: unit_of_measurement: "%" entity_id: sensor.owm_report ``` + {% endraw %} This configuration shows how to extract multiple values from a dictionary with `json_attributes` and `template`. This avoids flooding the REST service by only requesting the result once, then creating multiple attributes from that single result using templates. By default, the sensor state would be set to the full JSON — here, that would exceed the 255-character maximum allowed length for the state, so we override that default by using `value_template` to set a static value of `OK`. {% raw %} + ```json { "bedroom1": { @@ -345,9 +350,11 @@ This configuration shows how to extract multiple values from a dictionary with ` } } ``` + {% endraw %} {% raw %} + ```yaml sensor: - platform: rest @@ -377,6 +384,7 @@ sensor: device_class: temperature unit_of_measurement: '°C' ``` + {% endraw %} The below example allows shows how to extract multiple values from a dictionary with `json_attributes` and `json_attributes_path` from the XML of a Steamist Steambath Wi-Fi interface and use them to create a switch and multiple sensors without having to poll the endpoint numerous times. diff --git a/source/_integrations/rest_command.markdown b/source/_integrations/rest_command.markdown index 6105f75bc8d..e5b9e51ca01 100644 --- a/source/_integrations/rest_command.markdown +++ b/source/_integrations/rest_command.markdown @@ -96,6 +96,7 @@ The commands can be dynamic, using templates to insert values of other entities. In this example, uses [templates](/docs/configuration/templating/) for dynamic parameters. {% raw %} + ```yaml # Example configuration.yaml entry rest_command: @@ -110,6 +111,7 @@ rest_command: content_type: 'application/json; charset=utf-8' verify_ssl: true ``` + {% endraw %} ### How to test your new REST command @@ -122,6 +124,7 @@ Call the new service from [developer tools](/docs/tools/dev-tools/) in the sideb "emoji":":plex:" } ``` + ### Using a REST command as an action in an automation ```yaml diff --git a/source/_integrations/rfxtrx.markdown b/source/_integrations/rfxtrx.markdown index 0f5c0bc8825..d04c2784e87 100644 --- a/source/_integrations/rfxtrx.markdown +++ b/source/_integrations/rfxtrx.markdown @@ -283,7 +283,7 @@ automation: - `rfxtrx.send`: Send a custom event using the RFXtrx device. -#### Service: Send +### Service: Send Simulate a button being pressed: @@ -295,7 +295,6 @@ action: event: 0b1111e003af16aa10000060 ``` - ## Generate codes If you need to generate codes for switches and lights, you can use a template (useful, for example, COCO switches). @@ -303,7 +302,7 @@ If you need to generate codes for switches and lights, you can use a template (u - Go to home-assistant-IP:8123/dev-template - Use the following codes to generate an event: -*Switch: ARC* +### Switch: ARC {% raw %} @@ -313,7 +312,7 @@ If you need to generate codes for switches and lights, you can use a template (u {% endraw %} -*Light: ARC* +### Light: ARC {% raw %} @@ -323,8 +322,8 @@ If you need to generate codes for switches and lights, you can use a template (u {% endraw %} +### Light: Lightwave RF -*Light: Lightwave RF* {% raw %} ```yaml @@ -333,7 +332,6 @@ If you need to generate codes for switches and lights, you can use a template (u {% endraw %} - - Use this code to add a new switch in the options menu. - Launch your Home Assistant and go to the website. - Enable learning mode on your switch (i.e., push learn button or plug it in a wall socket) diff --git a/source/_integrations/ring.markdown b/source/_integrations/ring.markdown index d6b7a3c5db3..f98d6589e7f 100644 --- a/source/_integrations/ring.markdown +++ b/source/_integrations/ring.markdown @@ -59,6 +59,7 @@ downloader: Then you can use the following automation, with the entities from your system, which will save the video file under `/downloads/ring_/`: {% raw %} + ```yaml automation: alias: 'Save the video when the doorbell is pushed' @@ -73,6 +74,7 @@ automation: subdir: "{{state_attr('camera.front_door', 'friendly_name')}}" filename: "{{state_attr('camera.front_door', 'friendly_name')}}" ``` + {% endraw %} If you want to use `python_script`, enable it your `configuration.yaml` file first: diff --git a/source/_integrations/scrape.markdown b/source/_integrations/scrape.markdown index 793998ff6d4..a643ead125f 100644 --- a/source/_integrations/scrape.markdown +++ b/source/_integrations/scrape.markdown @@ -85,6 +85,7 @@ In this section you find some real-life examples of how to use this sensor. Ther The current release Home Assistant is published on [https://www.home-assistant.io/](/) {% raw %} + ```yaml sensor: # Example configuration.yaml entry @@ -94,6 +95,7 @@ sensor: select: ".current-version h1" value_template: '{{ value.split(":")[1] }}' ``` + {% endraw %} ### Available implementations @@ -101,6 +103,7 @@ sensor: Get the counter for all our implementations from the [Component overview](/integrations/) page. {% raw %} + ```yaml # Example configuration.yaml entry sensor: @@ -110,6 +113,7 @@ sensor: select: 'a[href="#all"]' value_template: '{{ value.split("(")[1].split(")")[0] }}' ``` + {% endraw %} ### Get a value out of a tag @@ -160,6 +164,7 @@ sensor: This example tries to retrieve the price for electricity. {% raw %} + ```yaml # Example configuration.yaml entry sensor: @@ -170,6 +175,7 @@ sensor: value_template: '{{ ((value.split(" ")[0]) | replace (",", ".")) }}' unit_of_measurement: "öre/kWh" ``` + {% endraw %} ### BOM Weather @@ -177,6 +183,7 @@ sensor: The Australian Bureau of Meteorology website returns an error if the User Agent header is not sent. {% raw %} + ```yaml # Example configuration.yaml entry sensor: @@ -190,4 +197,5 @@ sensor: headers: User-Agent: Mozilla/5.0 ``` + {% endraw %} diff --git a/source/_integrations/script.markdown b/source/_integrations/script.markdown index 3739d0ed09b..6e45c642dd1 100644 --- a/source/_integrations/script.markdown +++ b/source/_integrations/script.markdown @@ -233,6 +233,7 @@ Following is an example of the calling script not waiting. It performs some othe This technique can also be used for the calling script to wait for the called script, but _not_ be aborted if the called script aborts due to errors. {% raw %} + ```yaml script: script_1: @@ -247,4 +248,5 @@ script: sequence: # Do some things at the same time as the first script... ``` + {% endraw %} diff --git a/source/_integrations/sensor.mqtt.markdown b/source/_integrations/sensor.mqtt.markdown index b3566daaf68..b524bffa421 100644 --- a/source/_integrations/sensor.mqtt.markdown +++ b/source/_integrations/sensor.mqtt.markdown @@ -250,7 +250,6 @@ home/bathroom/analog/brightness 290.00 The configuration will look like the example below: -{% raw %} ```yaml # Example configuration.yaml entry sensor: @@ -258,4 +257,3 @@ sensor: name: "Brightness" state_topic: "home/bathroom/analog/brightness" ``` -{% endraw %} diff --git a/source/_integrations/serial.markdown b/source/_integrations/serial.markdown index d75b4df2f1d..c7a2da30576 100644 --- a/source/_integrations/serial.markdown +++ b/source/_integrations/serial.markdown @@ -84,9 +84,11 @@ value_template: ### TMP36 {% raw %} + ```yaml "{{ (((states('sensor.serial_sensor') | float * 5 / 1024 ) - 0.5) * 100) | round(1) }}" ``` + {% endraw %} ## Examples @@ -127,6 +129,7 @@ $,24.3,51,12.8,1029.76,0.0,0.00,* To parse this into individual sensors, split using the comma delimiter and then create a template sensor for each item of interest. {% raw %} + ```yaml # Example configuration.yaml entry sensor: @@ -149,6 +152,7 @@ sensor: unit_of_measurement: "mbar" value_template: "{{ states('sensor.serial_sensor').split(',')[4] | float }}" ``` + {% endraw %} ### Digispark USB Development Board diff --git a/source/_integrations/seventeentrack.markdown b/source/_integrations/seventeentrack.markdown index 4e6b1d99188..2f32705306b 100644 --- a/source/_integrations/seventeentrack.markdown +++ b/source/_integrations/seventeentrack.markdown @@ -58,6 +58,7 @@ show_delivered: Use the following templated Markdown card to list all packages in transit along their status: {% raw %} + ```yaml type: markdown title: Packages in transit @@ -69,4 +70,5 @@ content: >- {% endfor %} ``` + {% endraw %} diff --git a/source/_integrations/shell_command.markdown b/source/_integrations/shell_command.markdown index a5028bf72e3..bb6871df323 100644 --- a/source/_integrations/shell_command.markdown +++ b/source/_integrations/shell_command.markdown @@ -38,7 +38,6 @@ Any service data passed into the service call to activate the shell command will `stdout` and `stderr` output from the command are both captured and will be logged by setting the [log level](/integrations/logger/) to debug. ```yaml - # Apply value of a GUI slider to the shell_command automation: - alias: run_set_ac diff --git a/source/_integrations/snips.markdown b/source/_integrations/snips.markdown index 0390657c49c..445fc66de4b 100644 --- a/source/_integrations/snips.markdown +++ b/source/_integrations/snips.markdown @@ -145,6 +145,7 @@ In Home Assistant, we trigger actions based on intents produced by Snips using t Note: If your Snips action is prefixed with a username (e.g., `john:playmusic` or `john__playmusic`), the Snips integration in Home Assistant will try and strip off the username. Bear this in mind if you get the error `Received unknown intent` even when what you see on the MQTT bus looks correct. Internally the Snips integration is trying to match the non-username version of the intent (i.e., just `playmusic`). {% raw %} + ```yaml snips: @@ -156,6 +157,7 @@ intent_script: entity_id: 'light.{{ objectLocation | replace(" ","_") }}' color_name: '{{ objectColor }}' ``` + {% endraw %} In the `data` block, we have access to special variables, corresponding to the slot names for the intent. In the present case, the `ActivateLightColor` has two slots, `objectLocation` and `objectColor`. @@ -169,6 +171,7 @@ In the above example, the slots are plain strings. However, Snips has a duration In this example if we had an intent triggered with 'Set a timer for five minutes', `duration:` would equal 300 and `duration_raw:` would be set to 'five minutes'. The duration can be easily used to trigger Home Assistant events and the `duration_raw:` could be used to send a human readable response or alert. {% raw %} + ```yaml SetTimer: speech: @@ -184,6 +187,7 @@ SetTimer: duration_raw: "{{ raw_value }}" probability: "{{ probability }}" ``` + {% endraw %} ### Sending TTS Notifications @@ -288,6 +292,7 @@ So now you can open and close your garage door, let's check the weather. Add the Then add this to your configuration file. {% raw %} + ```yaml intent_script: searchWeatherForecast: @@ -301,4 +306,5 @@ intent_script: {{ states('sensor.dark_sky_weather_daily_high_temperature') | round(0)}} and {{ states('sensor.dark_sky_weather_hourly_summary') }} ``` + {% endraw %} diff --git a/source/_integrations/snmp.markdown b/source/_integrations/snmp.markdown index d2796785792..3ae76681929 100644 --- a/source/_integrations/snmp.markdown +++ b/source/_integrations/snmp.markdown @@ -225,6 +225,7 @@ According to the most common SNMP standard, the uptime of a device is accessible To create a sensor that displays the uptime for your printer in minutes, you can use this configuration: {% raw %} + ```yaml # Example configuration.yaml entry sensor: @@ -236,6 +237,7 @@ sensor: unit_of_measurement: 'minutes' value_template: '{{((value | int) / 6000) | int}}' ``` + {% endraw %} The `accept_errors` option will allow the sensor to work even if the printer is not on when Home Assistant is first started: the sensor will just display a `-` instead of a minute count. diff --git a/source/_integrations/solaredge.markdown b/source/_integrations/solaredge.markdown index b75f010fdd9..ae5c74ed33b 100644 --- a/source/_integrations/solaredge.markdown +++ b/source/_integrations/solaredge.markdown @@ -24,14 +24,12 @@ There are 2 options in configuring the SolarEdge integration: - Via the Home Assistant user interface where it will let you enter the port string to connect to the Velbus bus. - Via the Home Assistant `configuration.yaml` file. -{% raw %} ```yaml # Example configuration.yaml entry solaredge: api_key: API_KEY site_id: SITE_ID ``` -{% endraw %} {% configuration %} api_key: @@ -54,6 +52,7 @@ name: In case you would like to convert the values for example to kWh instead of the default Wh, you can use the [template platform](/integrations/template). {% raw %} + ```yaml # Example configuration.yaml entry for template platform sensor: @@ -62,4 +61,5 @@ sensor: solaredge_energy_this_year_template: value_template: "{{ (states('sensor.solaredge_energy_this_year') | float / 1000) | round(2) }}" ``` + {% endraw %} diff --git a/source/_integrations/solaredge_local.markdown b/source/_integrations/solaredge_local.markdown index d71162add9f..e79e009e8f9 100644 --- a/source/_integrations/solaredge_local.markdown +++ b/source/_integrations/solaredge_local.markdown @@ -64,6 +64,7 @@ sensor: In case you would like to convert the values for example to kWh instead of the default Wh, you can use the [template platform](/integrations/template). {% raw %} + ```yaml # Example configuration.yaml entry for sensor template platform sensor: @@ -74,4 +75,5 @@ sensor: unit_of_measurement: 'KWh' icon_template: "mdi:solar-power" ``` + {% endraw %} diff --git a/source/_integrations/solarlog.markdown b/source/_integrations/solarlog.markdown index 239311e65b3..dcf5e9264ea 100644 --- a/source/_integrations/solarlog.markdown +++ b/source/_integrations/solarlog.markdown @@ -62,6 +62,7 @@ sensor: 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: @@ -70,6 +71,7 @@ sensor: solarlog_yield_day_template: value_template: "{{ (states('sensor.solarlog_yield_day') | float * 1000) | round(0) }}" ``` + {% endraw %} ## Sensors diff --git a/source/_integrations/solax.markdown b/source/_integrations/solax.markdown index 7ed262eecf1..fb7d708b853 100644 --- a/source/_integrations/solax.markdown +++ b/source/_integrations/solax.markdown @@ -41,6 +41,7 @@ port: If you would like to convert the values from multiple panels or view the total power the house is using, you can use the [template platform](/integrations/template). {% raw %} + ```yaml # Example configuration.yaml entry for template platform sensors: @@ -55,6 +56,7 @@ sensors: unit_of_measurement: 'W' value_template: "{{ (states('sensor.power_now') | float) - (states('sensor.exported_power') | float) }}" ``` + {% endraw %} ### Note diff --git a/source/_integrations/speedtestdotnet.markdown b/source/_integrations/speedtestdotnet.markdown index e83ae950d96..4ec5fb1fac7 100644 --- a/source/_integrations/speedtestdotnet.markdown +++ b/source/_integrations/speedtestdotnet.markdown @@ -101,6 +101,7 @@ speedtestdotnet: ### Using as a trigger in an automation {% raw %} + ```yaml # Example configuration.yaml entry automation: @@ -118,6 +119,7 @@ automation: action: - service: shell_command.red ``` + {% endraw %} ## Notes diff --git a/source/_integrations/splunk.markdown b/source/_integrations/splunk.markdown index 6a680d058d3..b8dd423be27 100644 --- a/source/_integrations/splunk.markdown +++ b/source/_integrations/splunk.markdown @@ -87,8 +87,6 @@ filter: By default, no entity will be excluded. To limit which entities are being exposed to `Splunk`, you can use the `filter` parameter. -{% raw %} - ```yaml # Example filter to include specified domains and exclude specified entities splunk: @@ -103,8 +101,6 @@ splunk: - light.kitchen_light ``` -{% endraw %} - Filters are applied as follows: 1. No includes or excludes - pass all entities diff --git a/source/_integrations/sql.markdown b/source/_integrations/sql.markdown index 8de5999f1e1..59681e16faf 100644 --- a/source/_integrations/sql.markdown +++ b/source/_integrations/sql.markdown @@ -86,7 +86,6 @@ The query will look like this: SELECT * FROM states WHERE entity_id = 'sensor.temperature_in' ORDER BY state_id DESC LIMIT 1; ``` -{% raw %} ```yaml # Example configuration.yaml sensor: @@ -96,7 +95,6 @@ sensor: query: "SELECT * FROM states WHERE entity_id = 'sensor.temperature_in' ORDER BY state_id DESC LIMIT 1;" column: 'state' ``` -{% endraw %} Note that the SQL sensor state corresponds to the last row of the SQL result set. @@ -113,6 +111,7 @@ SELECT * FROM states WHERE entity_id = 'binary_sensor.xyz789' GROUP BY state ORD #### Postgres {% raw %} + ```yaml sensor: - platform: sql @@ -123,6 +122,7 @@ sensor: column: "db_size" unit_of_measurement: MB ``` + {% endraw %} #### MariaDB/MySQL @@ -130,6 +130,7 @@ sensor: Change `table_schema="hass"` to the name that you use as the database name, to ensure that your sensor will work properly. {% raw %} + ```yaml sensor: - platform: sql @@ -140,6 +141,7 @@ sensor: column: 'value' unit_of_measurement: kB ``` + {% endraw %} #### SQLite @@ -147,6 +149,7 @@ sensor: If you are using the `recorder` integration then you don't need to specify the location of the database. For all other cases, add `db_url: sqlite:////path/to/database.db`. {% raw %} + ```yaml sensor: - platform: sql @@ -156,4 +159,5 @@ sensor: column: 'size' unit_of_measurement: 'MiB' ``` + {% endraw %} diff --git a/source/_integrations/switch.mqtt.markdown b/source/_integrations/switch.mqtt.markdown index 3f60cf4c92c..41f3214e673 100644 --- a/source/_integrations/switch.mqtt.markdown +++ b/source/_integrations/switch.mqtt.markdown @@ -215,7 +215,6 @@ mosquitto_pub -h 127.0.0.1 -t home/bathroom/gpio/13 -m "1" The configuration will look like the example below: -{% raw %} ```yaml # Example configuration.yaml entry switch: @@ -226,4 +225,3 @@ switch: payload_on: "1" payload_off: "0" ``` -{% endraw %} diff --git a/source/_integrations/system_log.markdown b/source/_integrations/system_log.markdown index 336d6535a02..ac2a61deedd 100644 --- a/source/_integrations/system_log.markdown +++ b/source/_integrations/system_log.markdown @@ -104,6 +104,7 @@ automation: This automation will create a persistent notification whenever an error or warning is logged that has the word "service" in the message: {% raw %} + ```yaml automation: - alias: Create notifications for "service" errors @@ -119,13 +120,13 @@ automation: title: Something bad happened message: '{{ trigger.event.data.message }}' ``` + {% endraw %} ### Writing to log This automation will create a new log entry when the door is opened: -{% raw %} ```yaml automation: - alias: Log door opened @@ -139,5 +140,4 @@ automation: data: message: 'Door opened!' level: info -``` -{% endraw %} +``` \ No newline at end of file diff --git a/source/_integrations/telnet.markdown b/source/_integrations/telnet.markdown index da958068bfa..d42a04af560 100644 --- a/source/_integrations/telnet.markdown +++ b/source/_integrations/telnet.markdown @@ -13,6 +13,7 @@ The `telnet` switch platform allows you to control devices with telnet commands. To enable this switch, add the following lines to your `configuration.yaml` file: {% raw %} + ```yaml # Example configuration.yaml entry switch: @@ -27,6 +28,7 @@ switch: value_template: '{{ value == "PWR=01" }}' timeout: 0.9 ``` + {% endraw %} {% configuration %} diff --git a/source/_integrations/template.markdown b/source/_integrations/template.markdown index 7f73ab9e8e2..34638fdebd9 100644 --- a/source/_integrations/template.markdown +++ b/source/_integrations/template.markdown @@ -289,6 +289,7 @@ sensor: This example shows how to add custom attributes. {% raw %} + ```yaml sensor: - platform: template diff --git a/source/_integrations/thermoworks_smoke.markdown b/source/_integrations/thermoworks_smoke.markdown index 751b7bcfafc..694110dfa59 100644 --- a/source/_integrations/thermoworks_smoke.markdown +++ b/source/_integrations/thermoworks_smoke.markdown @@ -53,7 +53,6 @@ This section includes some examples of how to use this sensor. This will show only Probe 1 with min and max data. -{% raw %} ```yaml # Example configuration.yaml entry sensor: @@ -65,13 +64,11 @@ sensor: - probe1_min - probe1_max ``` -{% endraw %} ### Ignore a Device This will exclude a device from creating sensors. You would replace `"00:00:00:00:00:00"` with your device's serial number. -{% raw %} ```yaml # Example configuration.yaml entry sensor: @@ -81,7 +78,6 @@ sensor: exclude: - "00:00:00:00:00:00" ``` -{% endraw %} ### Notify when Probe 1 goes above a certain temperature @@ -89,6 +85,7 @@ This will use an automation to trigger a notification when Probe 1 goes above a By default, your smoke is named "My Smoke" in the app. If you have changed it you will need to change the sensor name from `my_smoke_probe_1` to `your_name_probe_1`. {% raw %} + ```yaml # Example configuration.yaml entry sensor: @@ -125,4 +122,5 @@ automation: {{- ' '+states("sensor.my_smoke_probe_1") -}} {{- state_attr('sensor.my_smoke_probe_1','unit_of_measurement') }} ``` + {% endraw %} diff --git a/source/_integrations/threshold.markdown b/source/_integrations/threshold.markdown index 4157085a22e..13a9cb5fad7 100644 --- a/source/_integrations/threshold.markdown +++ b/source/_integrations/threshold.markdown @@ -19,9 +19,11 @@ If the sensor is configured with no hysteresis and the sensor value is equal to It's an alternative to the template binary sensor's `value_template:` to get the abnormal/too high/too low states. {% raw %} + ```yaml {{ states('sensor.furnace') > 2.5 }} ``` + {% endraw %} ## Configuration diff --git a/source/_integrations/time_date.markdown b/source/_integrations/time_date.markdown index 0d2976fe4bd..294034b863b 100644 --- a/source/_integrations/time_date.markdown +++ b/source/_integrations/time_date.markdown @@ -65,6 +65,6 @@ sensor: friendly_name: "Date and time" value_template: "{{ as_timestamp(states('sensor.date_time_iso')) | timestamp_custom('%A %B %-m, %I:%M %p') }}" icon_template: mdi:calendar-clock -``` +``` {% endraw %} diff --git a/source/_integrations/tplink.markdown b/source/_integrations/tplink.markdown index 941d4cf3732..45a673422d5 100644 --- a/source/_integrations/tplink.markdown +++ b/source/_integrations/tplink.markdown @@ -145,6 +145,7 @@ In order to get the power consumption readings from a TP-Link HS110 device, you' In the example below, change all of the `my_tp_switch`'s to match your device's entity ID (without the domain). For example, if your entity is `switch.whale_heater` then replace `my_tp_switch` with `whale_heater`: {% raw %} + ```yaml sensor: - platform: template @@ -170,4 +171,5 @@ sensor: value_template: "{{ state_attr('switch.my_tp_switch','today_energy_kwh') | float }}" unit_of_measurement: 'kWh' ``` + {% endraw %} diff --git a/source/_integrations/transmission.markdown b/source/_integrations/transmission.markdown index 66e36b71661..dfc931ef4a9 100644 --- a/source/_integrations/transmission.markdown +++ b/source/_integrations/transmission.markdown @@ -93,6 +93,7 @@ Inside of the event, there is the name of the torrent that is started or complet Example of configuration of an automation with completed torrents: {% raw %} + ```yaml - alias: Completed Torrent trigger: @@ -104,6 +105,7 @@ Example of configuration of an automation with completed torrents: title: "Torrent completed!" message: "{{trigger.event.data.name}}" ``` + {% endraw %} ## Services @@ -135,6 +137,7 @@ Removes a torrent from the client. All `*_torrents` sensors e.g. `sensor.transmission_total_torrents` or `sensor.transmission_started_torrents` have a state attribute `torrent_info` that contains information about the torrents that are currently in a corresponding state. You can see this information in **Developer Tools** -> **States** -> `sensor.transmission_total_torrents` -> **Attributes**, or by adding a [Markdown card](/lovelace/markdown/) to Lovelace with the following code: {% raw %} + ```yaml content: > {% set payload = state_attr('sensor.transmission_total_torrents', 'torrent_info') %} @@ -144,4 +147,5 @@ content: > {{ name|truncate(20) }} is {{ data.percent_done }}% complete, {{ data.eta }} remaining {% endfor %} type: markdown ``` + {% endraw %} diff --git a/source/_integrations/transport_nsw.markdown b/source/_integrations/transport_nsw.markdown index 6989b0673d2..b6cdd039367 100644 --- a/source/_integrations/transport_nsw.markdown +++ b/source/_integrations/transport_nsw.markdown @@ -84,6 +84,7 @@ sensor: The sensor returns n/a if no stop event is found within the next 24h. A `template` sensor can help building a more meaningful string. {% raw %} + ```yaml # Sample template sensor - platform: template @@ -97,4 +98,5 @@ The sensor returns n/a if no stop event is found within the next 24h. A `templat {{ state_attr('sensor.bus', 'route') }} in {{ state_attr('sensor.bus', 'due') }}m ({{ state_attr('sensor.bus', 'delay') }}) {% endif %} ``` + {% endraw %} diff --git a/source/_integrations/utility_meter.markdown b/source/_integrations/utility_meter.markdown index 3e6c537b35d..0474017c858 100644 --- a/source/_integrations/utility_meter.markdown +++ b/source/_integrations/utility_meter.markdown @@ -193,6 +193,7 @@ utility_meter: Additionally, you can add template sensors to compute daily and monthly total usage. {% raw %} + ```yaml sensor: - platform: template @@ -206,4 +207,5 @@ sensor: unit_of_measurement: kWh value_template: "{{ states('sensor.monthly_energy_offpeak')|float + states('sensor.monthly_energy_peak')|float }}" ``` + {% endraw %} diff --git a/source/_integrations/vacuum.mqtt.markdown b/source/_integrations/vacuum.mqtt.markdown index 79ae720a7a7..0f2330d699b 100644 --- a/source/_integrations/vacuum.mqtt.markdown +++ b/source/_integrations/vacuum.mqtt.markdown @@ -203,6 +203,7 @@ unique_id: ### Legacy configuration example {% raw %} + ```yaml # Example configuration.yaml entry vacuum: @@ -241,6 +242,7 @@ vacuum: - max send_command_topic: 'vacuum/send_command' ``` + {% endraw %} ### Legacy MQTT Protocol @@ -441,7 +443,6 @@ unique_id: ### State configuration example -{% raw %} ```yaml # Example configuration.yaml entry vacuum: @@ -469,7 +470,6 @@ vacuum: - max send_command_topic: 'vacuum/send_command' ``` -{% endraw %} ### State MQTT Protocol diff --git a/source/_integrations/vacuum.template.markdown b/source/_integrations/vacuum.template.markdown index 1f4cbd74279..7ffcfe3aada 100644 --- a/source/_integrations/vacuum.template.markdown +++ b/source/_integrations/vacuum.template.markdown @@ -177,6 +177,7 @@ vacuum: This example shows how to add custom attributes. {% raw %} + ```yaml vacuum: - platform: template @@ -195,4 +196,5 @@ vacuum: Charging {% endif %} ``` + {% endraw %} diff --git a/source/_integrations/vallox.markdown b/source/_integrations/vallox.markdown index 977aa2f9fb5..c2c63600a84 100644 --- a/source/_integrations/vallox.markdown +++ b/source/_integrations/vallox.markdown @@ -44,6 +44,7 @@ name: For convenient switching of ventilation profiles in the GUI, consider using an [input_select](../input_select) hooked to an automation, for example: {% raw %} + ```yaml input_select: ventilation_profile: @@ -65,11 +66,13 @@ automation: data: profile: "{{ states('input_select.ventilation_profile') }}" ``` + {% endraw %} In order to also update the input select in case some external event changes the Vallox profile (web interface, mechanical switch, reboot, etc...) you can use the following automation: {% raw %} + ```yaml automation: - alias: Update Vallox input_select @@ -83,6 +86,7 @@ automation: entity_id: input_select.ventilation_profile option: "{{ states('sensor.vallox_current_profile') }}" ``` + {% endraw %} ## Fan Services diff --git a/source/_integrations/version.markdown b/source/_integrations/version.markdown index 1b3eb3ab844..8a19fc59dfa 100644 --- a/source/_integrations/version.markdown +++ b/source/_integrations/version.markdown @@ -89,6 +89,7 @@ too, but it will not as Home Assistant is not ready when the sensor gets initialized. {% raw %} + ```yaml sensor: - platform: rest @@ -96,4 +97,5 @@ sensor: name: Current Version value_template: '{{ value_json.version }}' ``` + {% endraw %} diff --git a/source/_integrations/vivotek.markdown b/source/_integrations/vivotek.markdown index 81381c07375..e926223cef7 100644 --- a/source/_integrations/vivotek.markdown +++ b/source/_integrations/vivotek.markdown @@ -151,6 +151,7 @@ The path part of `filename` must be an entry in the `allowlist_external_dirs` in For example, the following action is an automation that would take a snapshot from "front_door_camera" and save it to /tmp with a timestamped filename. {% raw %} + ```yaml action: service: camera.snapshot @@ -158,4 +159,5 @@ action: entity_id: camera.front_door_camera filename: '/tmp/yourcamera_{{ now().strftime("%Y%m%d-%H%M%S") }}.jpg' ``` + {% endraw %} diff --git a/source/_integrations/waze_travel_time.markdown b/source/_integrations/waze_travel_time.markdown index 640e9a7c44a..d86d8d7df25 100644 --- a/source/_integrations/waze_travel_time.markdown +++ b/source/_integrations/waze_travel_time.markdown @@ -90,6 +90,7 @@ Using the flexible option to set a sensor value to the `destination`, you can se In the following example, the `Input Select` is converted into an address which is used to modify the destination for Waze route calculation from `device_tracker.myphone` location (It takes a few minutes for the value to update due to the interval of Waze data fetching). {% raw %} + ```yaml input_select: destination: @@ -145,6 +146,7 @@ sensor: avoid_toll_roads: true avoid_subscription_roads: true ``` + {% endraw %} ## Using the live map in an iFrame diff --git a/source/_integrations/withings.markdown b/source/_integrations/withings.markdown index c753af7cc4e..bd1e92b784b 100644 --- a/source/_integrations/withings.markdown +++ b/source/_integrations/withings.markdown @@ -118,8 +118,7 @@ use_webhook: ## Bonus: Template Sensors to Convert Kilograms to Pounds -In a text editor, replace ```USER_PROFILE_NAME``` in the template sensors below with your Withings User Profile Name defined in the Withings integration configuration. - +In a text editor, replace ```USER_PROFILE_NAME``` in the template sensors below with your Withings User Profile Name defined in the Withings integration configuration. {% raw %} From cda6e933cb7b31155421e102d3fb1f74b12a6d22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tam=C3=A1s=20V=C3=B6r=C3=B6s?= <9920416+vorostamas@users.noreply.github.com> Date: Wed, 9 Dec 2020 18:59:09 +0100 Subject: [PATCH 21/22] Remove long_click_release from event values (#15860) long_click_release is converted to hold. https://github.com/home-assistant/core/blob/a2c3c33b22a6a26f1b20d8f94f9eb615019995d7/homeassistant/components/xiaomi_aqara/binary_sensor.py#L477-L479 --- source/_integrations/binary_sensor.xiaomi_aqara.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/binary_sensor.xiaomi_aqara.markdown b/source/_integrations/binary_sensor.xiaomi_aqara.markdown index be70063efe1..c18eb879bbf 100644 --- a/source/_integrations/binary_sensor.xiaomi_aqara.markdown +++ b/source/_integrations/binary_sensor.xiaomi_aqara.markdown @@ -23,7 +23,7 @@ The requirement is that you have setup the [`xiaomi aqara` integration](/integra | Smoke Detector | smoke | JTYJ-GD-01LM/BW | on, off | | | | | Gas Leak Detector | natgas | JTQJ-BF-01LM/BW | on, off | | | | | Water Leak Sensor | sensor_wleak.aq1 | SJCGQ11LM | on, off | | | | -| Button (1st gen) | switch | WXKG01LM | on (through long_click_press), off | `xiaomi_aqara.click`| `click_type`| `long_click_press`, `long_click_release`, `hold`, `single`, `double` | +| Button (1st gen) | switch | WXKG01LM | on (through long_click_press), off | `xiaomi_aqara.click`| `click_type`| `long_click_press`, `hold`, `single`, `double` | | Button (2nd gen) | sensor_switch.aq2, remote.b1acn01 | WXKG11LM | on (through long_click_press), off | `xiaomi_aqara.click` | `click_type` | `single`, `double`, `long_click_press`, `hold` | | Button (2nd gen, model b) | sensor_switch.aq3 | WXKG12LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single`, `double`, `long_click_press`, `shake` | | Aqara Wireless Switch (Single) | 86sw1 | WXKG03LM | off (always) | `xiaomi_aqara.click` | `click_type` | `single` | From 36973b679f6dbf2d700fb8d471198a9e7afbb20f Mon Sep 17 00:00:00 2001 From: Hmmbob <33529490+hmmbob@users.noreply.github.com> Date: Wed, 9 Dec 2020 21:22:28 +0100 Subject: [PATCH 22/22] Remove deprecated trusted_networks from http docs (#15856) --- source/_integrations/http.markdown | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/source/_integrations/http.markdown b/source/_integrations/http.markdown index e433e7fa1f2..567af1ef922 100644 --- a/source/_integrations/http.markdown +++ b/source/_integrations/http.markdown @@ -67,10 +67,6 @@ trusted_proxies: description: "List of trusted proxies, consisting of IP addresses or networks, that are allowed to set the `X-Forwarded-For` header. This is required when using `use_x_forwarded_for` because all requests to Home Assistant, regardless of source, will arrive from the reverse proxy IP address. Therefore in a reverse proxy scenario, this option should be set with extreme care." required: false type: [string, list] -trusted_networks: - description: "**Deprecated since 0.89 release. Configuration moved to [Trusted Networks auth provider](/docs/authentication/providers/#trusted-networks).** List of trusted networks, consisting of IP addresses or networks, that are allowed to bypass password protection when accessing Home Assistant. If using a reverse proxy with the `use_x_forwarded_for` and `trusted_proxies` options enabled, requests proxied to Home Assistant with a trusted `X-Forwarded-For` header will appear to come from the IP given in that header instead of the proxy IP." - required: false - type: [string, list] ip_ban_enabled: description: Flag indicating whether additional IP filtering is enabled. required: false @@ -88,12 +84,6 @@ ssl_profile: default: modern {% endconfiguration %} -
- -Configuring trusted_networks via the `http` integration will be deprecated and moved to `auth_providers` instead. For instructions, see trusted networks. In Home Assistant 0.89.0 and 0.89.1, you need place the trusted network under both `http` and `auth_providers` if you still want to use trusted networks features. You can remove it from `http` section starting from 0.89.2. - -
- The sample below shows a configuration entry with possible values: ```yaml