From 8553627ce26c10eaee70bf6d7394ba7198ac36c3 Mon Sep 17 00:00:00 2001 From: pvmil Date: Wed, 8 Apr 2020 18:12:34 +0200 Subject: [PATCH 001/143] Added Marantz NR1504 as supported device (#12754) And sorted Marantz NR devices on year of introduction (first xx04 than xx06) --- source/_integrations/denonavr.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_integrations/denonavr.markdown b/source/_integrations/denonavr.markdown index 2f09ea2cd60..e8d7876c2e4 100644 --- a/source/_integrations/denonavr.markdown +++ b/source/_integrations/denonavr.markdown @@ -33,8 +33,9 @@ Known supported devices: - Marantz M-RC610 - Marantz SR5008 - Marantz SR6007 - SR6010 -- Marantz NR1506 +- Marantz NR1504 - Marantz NR1604 +- Marantz NR1506 - Other Denon AVR receivers (untested) - Marantz receivers (experimental) From f7cb218f50eda7aeb3e2a2aff9a0f6f0ada6cf93 Mon Sep 17 00:00:00 2001 From: Georgi Kirichkov Date: Wed, 8 Apr 2020 19:49:01 +0300 Subject: [PATCH 002/143] Fixes missing nextcloud image (#12760) Closes #12759 --- source/_integrations/nextcloud.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/nextcloud.markdown b/source/_integrations/nextcloud.markdown index 87be2c0b906..100a959f141 100644 --- a/source/_integrations/nextcloud.markdown +++ b/source/_integrations/nextcloud.markdown @@ -12,7 +12,7 @@ ha_codeowners: The `nextcloud` integration pulls summary [Nextcloud](https://nextcloud.com/) information into Home Assistant. -![Nextcloud Example Sensor]('/images/screenshots/nextcloud-sample-sensor.png') +![Nextcloud Example Sensor](/images/screenshots/nextcloud-sample-sensor.png) ## Configuration From 10bb73fc608f44b5793d1441a73127ecf3bf8774 Mon Sep 17 00:00:00 2001 From: Maciej Bieniek Date: Wed, 8 Apr 2020 19:47:15 +0200 Subject: [PATCH 003/143] Remove logo tag from braviatv documentation (#12756) --- source/_integrations/braviatv.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/braviatv.markdown b/source/_integrations/braviatv.markdown index 5a5de181d0a..9ba6ccc7abf 100644 --- a/source/_integrations/braviatv.markdown +++ b/source/_integrations/braviatv.markdown @@ -1,7 +1,6 @@ --- title: Sony Bravia TV description: Instructions on how to integrate a Sony Bravia TV into Home Assistant. -logo: bravia.png ha_category: - Media Player ha_release: 0.23 From 09b027d5302a3d6507fea848090ae39b23ea629e Mon Sep 17 00:00:00 2001 From: Sean Danischevsky <32126021+seaniedan@users.noreply.github.com> Date: Wed, 8 Apr 2020 19:05:40 +0100 Subject: [PATCH 004/143] Update index.markdown (#12751) * Update index.markdown Added basic information to help new users add cards. * :pencil2: Tweak Co-authored-by: Franck Nijhof --- source/lovelace/index.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/lovelace/index.markdown b/source/lovelace/index.markdown index c5fe345447b..623fcd687c1 100644 --- a/source/lovelace/index.markdown +++ b/source/lovelace/index.markdown @@ -5,7 +5,7 @@ redirect_from: - /integrations/lovelace/ --- -Lovelace is the name of the Home Assistant user interface. It is a fast, customizable and powerful way for users to manage their homes, working both on mobile and desktop. +Lovelace is the Home Assistant user interface. It's a fast, customizable and powerful way for users to manage their homes, working on mobile or desktop. - 24 different cards to place and configure as you like. - UI Editor. A configuration UI to manage your Lovelace UI including live preview when editing cards. @@ -16,6 +16,8 @@ Lovelace is the name of the Home Assistant user interface. It is a fast, customi - Ability to override names and icons of entities. - Custom Cards from our amazing community are fully supported. +To start, go to the Home Assistant Overview page, click the three dots at the top right of the screen and select 'Configure UI'. Then click the orange '+' icon at the bottom right and select a card to add. +
From 94ed06655591cccc4fc89eb1bfaca0d08e71c7fe Mon Sep 17 00:00:00 2001 From: inputd <38230664+inputd@users.noreply.github.com> Date: Wed, 8 Apr 2020 12:06:49 -0600 Subject: [PATCH 005/143] Update entity-filter.markdown (#12740) * Update entity-filter.markdown 1) Moved the image demonstrating the "People at Home" example to proceed the YAML of that example, instead of proceeding the "filter for single entity" example 2) Informed readers that this lovelace card supports multiple states in the state_filter field, and gave an example YAML. * Update entity-filter.markdown --- source/_lovelace/entity-filter.markdown | 27 ++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/source/_lovelace/entity-filter.markdown b/source/_lovelace/entity-filter.markdown index 3f6e6da06e5..f19775a52d6 100644 --- a/source/_lovelace/entity-filter.markdown +++ b/source/_lovelace/entity-filter.markdown @@ -120,6 +120,28 @@ card: type: glance title: People at home ``` +

+ Entity filter combined with glance card + Entity filter combined with glance card. +

+ +You can also specify multiple state_filters, in which case matching any condition will display the entity. This example will display everyone who isn't at home or at work. + +```yaml +type: entity-filter +entities: + - device_tracker.demo_paulus + - device_tracker.demo_anne_therese + - device_tracker.demo_home_boy +state_filter: + - operator: "!=" + value: home + - operator: "!=" + value: work +card: + type: glance + title: Who's Running Errands +``` Specify filter for a single entity @@ -138,8 +160,3 @@ entities: value: 50 attribute: humidity ``` - -

- Entity filter combined with glance card - Entity filter combined with glance card. -

From 859846a2c6116f341f560989bf3e70891687fc21 Mon Sep 17 00:00:00 2001 From: Hedda Date: Wed, 8 Apr 2020 20:08:10 +0200 Subject: [PATCH 006/143] Update zha.markdown to mention recently added group support (#12750) Add mentioning of device grouping support into entities since a it has been a highly requested feature popularized by the Philips Hue Bridge (with its "light groups") that has been missing from the ZHA integration component and was just recently added via all these pull requests: https://github.com/home-assistant/frontend/pull/4384 https://github.com/home-assistant/frontend/pull/4382 https://github.com/home-assistant/frontend/pull/4466 https://github.com/home-assistant/frontend/pull/4380 https://github.com/home-assistant/frontend/pull/4376 https://github.com/home-assistant/frontend/pull/4365 https://github.com/home-assistant/core/pull/33196 https://github.com/home-assistant/core/pull/33207 https://github.com/home-assistant/core/pull/33291 https://github.com/home-assistant/core/pull/28823 https://github.com/home-assistant/core/pull/29641 https://github.com/home-assistant/core/pull/30183 https://github.com/home-assistant/core/pull/30433 https://github.com/home-assistant/core/pull/33378 https://github.com/home-assistant/core/pull/31260 --- source/_integrations/zha.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/zha.markdown b/source/_integrations/zha.markdown index e62990d47cf..a44574bb9c5 100644 --- a/source/_integrations/zha.markdown +++ b/source/_integrations/zha.markdown @@ -33,6 +33,8 @@ There is currently support for the following device types within Home Assistant: - Sensor - Switch +There is also support for grouping of lights, switches, and fans (i.e. support for commanding device groups as entities). + ## ZHA exception and deviation handling Zigbee devices that deviate from or do not fully conform to the standard specifications set by the [Zigbee Alliance](https://zigbeealliance.org) may require the development of custom [ZHA Device Handlers](https://github.com/dmulcahey/zha-device-handlers) (ZHA custom quirks handler implementation) to for all their functions to work properly with the ZHA integration in Home Assistant. These ZHA Device Handlers for Home Assistant can thus be used to parse custom messages to and from Zigbee devices. From 9714896ea1429e0f69228d13272ab556f7f1e3a8 Mon Sep 17 00:00:00 2001 From: Jon Gilmore <7232986+JonGilmore@users.noreply.github.com> Date: Wed, 8 Apr 2020 21:25:05 -0500 Subject: [PATCH 007/143] sleepiq brands update (#12765) --- source/_integrations/sleepiq.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/sleepiq.markdown b/source/_integrations/sleepiq.markdown index 9fcae8edbf4..6ca83f79130 100644 --- a/source/_integrations/sleepiq.markdown +++ b/source/_integrations/sleepiq.markdown @@ -1,7 +1,6 @@ --- title: SleepIQ description: Instructions for how to integrate SleepIQ beds within Home Assistant. -logo: sleepiq.png ha_category: - Health - Sensor From 6637f89337d3a3040b032de17613c94fb5b55072 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Wed, 8 Apr 2020 22:56:08 -0700 Subject: [PATCH 008/143] Release 0.108.1 --- _config.yml | 4 +- source/_posts/2020-04-08-release-108.markdown | 59 +++++++++++++++++-- 2 files changed, 56 insertions(+), 7 deletions(-) diff --git a/_config.yml b/_config.yml index aba8631a696..24eb54be9d1 100644 --- a/_config.yml +++ b/_config.yml @@ -101,8 +101,8 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 108 -current_patch_version: 0 -date_released: 2020-04-08 +current_patch_version: 1 +date_released: 2020-04-09 # 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-04-08-release-108.markdown b/source/_posts/2020-04-08-release-108.markdown index 2daa0cdb0d1..f0e751e5bbc 100644 --- a/source/_posts/2020-04-08-release-108.markdown +++ b/source/_posts/2020-04-08-release-108.markdown @@ -82,7 +82,7 @@ to allow them to be configured via the Home Assistant frontend. Not all of them were ready in time for this release; nevertheless, the list is amazing already: - + - [Freebox][freebox docs], done by [@Quentame] - [Monoprice][monoprice docs], done by [@OnFreund] - [Roku][roku docs], done by [@ctalkington] @@ -141,7 +141,7 @@ Before and after screenshot for the Horizontal Stack improvements. ## Other noteworthy changes -- _**"Alexa, show the front door camera."**_ 😲 +- _**"Alexa, show the front door camera."**_ 😲 [Alexa][alexa docs] now has support for Cameras, thanks [@ochlocracy]! - Selecting your default Lovelace dashboard has been moved to the user @@ -157,7 +157,7 @@ Before and after screenshot for the Horizontal Stack improvements. - The Markdown card has a new `user` variable that can be used to display the currently logged in user. - + - With the ZHA Zigbee integration, Zigbee groups now dynamically create entities for lights, switches and fans that are grouped together. This enables near-simultaneous control over a large group of lights allowing @@ -295,6 +295,55 @@ Experiencing issues introduced by this release? Please report them in our [issue These integrations have been removed. The websites for both have changed, causing the integrations to break because they relied on web scraping, which is no longer allowed (ADR-0004). - ([@frenck] - [#33056] [#33066]) +## Release 0.108.1 - April 8 + +- Speed up TP-Link lights ([@balloob] - [#33606]) ([tplink docs]) +- Update sensor.py ([@danbishop] - [#33788]) ([octoprint docs]) +- Bump pylutron-caseta version to 0.6.1 ([@swails] - [#33815]) ([lutron_caseta docs]) +- Update to pyipp==0.9.1 ([@ctalkington] - [#33819]) ([ipp docs]) +- Fix unhandled exception in Recollect Waste ([@bachya] - [#33823]) ([recollect_waste docs]) +- Fix modbus transaction response ([@janiversen] - [#33824]) ([modbus docs]) +- Fix kef DSP_SCAN_INTERVAL timedelta ([@basnijholt] - [#33825]) ([kef docs]) +- Fix Doorbird yaml import aborted if discovery finds it first ([@bdraco] - [#33843]) ([doorbird docs]) +- Bump up ZHA dependencies ([@Adminiuga] - [#33856]) ([zha docs]) +- Fix vizio bug that occurs when CONF_APPS isn't in config entry… ([@raman325] - [#33857]) ([vizio docs]) +- TTS: Wait till files are created in tests ([@balloob] - [#33760]) ([tts docs]) +- Fix last flaky TTS test ([@balloob] - [#33849]) ([tts docs]) + +[#33606]: https://github.com/home-assistant/core/pull/33606 +[#33760]: https://github.com/home-assistant/core/pull/33760 +[#33788]: https://github.com/home-assistant/core/pull/33788 +[#33815]: https://github.com/home-assistant/core/pull/33815 +[#33819]: https://github.com/home-assistant/core/pull/33819 +[#33823]: https://github.com/home-assistant/core/pull/33823 +[#33824]: https://github.com/home-assistant/core/pull/33824 +[#33825]: https://github.com/home-assistant/core/pull/33825 +[#33843]: https://github.com/home-assistant/core/pull/33843 +[#33849]: https://github.com/home-assistant/core/pull/33849 +[#33856]: https://github.com/home-assistant/core/pull/33856 +[#33857]: https://github.com/home-assistant/core/pull/33857 +[@Adminiuga]: https://github.com/Adminiuga +[@bachya]: https://github.com/bachya +[@balloob]: https://github.com/balloob +[@basnijholt]: https://github.com/basnijholt +[@bdraco]: https://github.com/bdraco +[@ctalkington]: https://github.com/ctalkington +[@danbishop]: https://github.com/danbishop +[@janiversen]: https://github.com/janiversen +[@raman325]: https://github.com/raman325 +[@swails]: https://github.com/swails +[doorbird docs]: /integrations/doorbird/ +[ipp docs]: /integrations/ipp/ +[kef docs]: /integrations/kef/ +[lutron_caseta docs]: /integrations/lutron_caseta/ +[modbus docs]: /integrations/modbus/ +[octoprint docs]: /integrations/octoprint/ +[recollect_waste docs]: /integrations/recollect_waste/ +[tplink docs]: /integrations/tplink/ +[tts docs]: /integrations/tts/ +[vizio docs]: /integrations/vizio/ +[zha docs]: /integrations/zha/ + ## All changes
@@ -620,8 +669,8 @@ These integrations have been removed. The websites for both have changed, causin
- - + + [#29063]: https://github.com/home-assistant/core/pull/29063 [#29909]: https://github.com/home-assistant/core/pull/29909 From 396e1c3d2d2b80ee86a6b3ccac59cb9ee48a8601 Mon Sep 17 00:00:00 2001 From: cogneato Date: Thu, 9 Apr 2020 00:41:02 -0600 Subject: [PATCH 009/143] Remove remember the milk logo in favor of brand (#12768) --- source/_integrations/remember_the_milk.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/remember_the_milk.markdown b/source/_integrations/remember_the_milk.markdown index 715a955ce0e..77c76dbfd18 100644 --- a/source/_integrations/remember_the_milk.markdown +++ b/source/_integrations/remember_the_milk.markdown @@ -1,7 +1,6 @@ --- title: Remember The Milk description: Instructions on how to use Remember The Milk with Home Assistant. -logo: rememberthemilk.png ha_category: - Calendar ha_release: 0.57 From f1970e3e1903c228327e159c2cf8444cada1fa4e Mon Sep 17 00:00:00 2001 From: cogneato Date: Thu, 9 Apr 2020 00:45:14 -0600 Subject: [PATCH 010/143] Remove soundtouch logo in favor of brand (#12767) --- source/_integrations/soundtouch.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/soundtouch.markdown b/source/_integrations/soundtouch.markdown index b7c107c9cc6..c4c8e416d5f 100644 --- a/source/_integrations/soundtouch.markdown +++ b/source/_integrations/soundtouch.markdown @@ -1,7 +1,6 @@ --- title: Bose Soundtouch description: Instructions on how to integrate Bose Soundtouch devices into Home Assistant. -logo: soundtouch.png ha_category: - Media Player ha_release: 0.34 From 59b8206b4d0ae70aa79ed1cf1fb60b533d55f76d Mon Sep 17 00:00:00 2001 From: Emil Stjerneman Date: Thu, 9 Apr 2020 09:30:48 +0200 Subject: [PATCH 011/143] Changed "attachments" to "blocks" (#12766) Changed "attachments" to "blocks" in the section about how to use the new block feature --- source/_integrations/slack.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/slack.markdown b/source/_integrations/slack.markdown index 1d64eb376dc..23459d1d177 100644 --- a/source/_integrations/slack.markdown +++ b/source/_integrations/slack.markdown @@ -95,7 +95,7 @@ Example for using the block framework: message: Message that will be added as a comment to the file. title: Title of the file. data: - attachments: + blocks: - type: section text: type: mrkdwn From 0f8115364054aa7d382f37d370f1c66cf2199eb9 Mon Sep 17 00:00:00 2001 From: tiagofreire-pt <41837236+tiagofreire-pt@users.noreply.github.com> Date: Thu, 9 Apr 2020 08:33:58 +0100 Subject: [PATCH 012/143] OPNSense uses by default https on its webGUI (#12764) Changing the proposed http url to https, as by opnsense default. --- source/_integrations/opnsense.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/opnsense.markdown b/source/_integrations/opnsense.markdown index 8a59c1c6080..991bb74d550 100644 --- a/source/_integrations/opnsense.markdown +++ b/source/_integrations/opnsense.markdown @@ -23,7 +23,7 @@ to your configuration.yaml: ```yaml opnsense: - url: http://router/api + url: https://router/api api_secret: API_SECRET api_key: API_KEY ``` From e479e4f930262b711b38986da672994b5af6ab10 Mon Sep 17 00:00:00 2001 From: akasma74 Date: Thu, 9 Apr 2020 11:51:44 +0100 Subject: [PATCH 013/143] add note about reload resources (#12772) I think it's useful to mention that resources need to be reloaded (as Refresh reloads only ui_lovelace.yaml I presume) --- source/lovelace/dashboards-and-views.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/lovelace/dashboards-and-views.markdown b/source/lovelace/dashboards-and-views.markdown index 7555bee4454..f56b25a3063 100644 --- a/source/lovelace/dashboards-and-views.markdown +++ b/source/lovelace/dashboards-and-views.markdown @@ -55,7 +55,7 @@ mode: type: string resources: required: false - description: "List of resources that should be loaded when you use Lovelace. Only use this when mode is `yaml`." + description: "List of resources that should be loaded when you use Lovelace. Only use this when mode is `yaml`. If you change anything here, click the three dots menu (top-right) and click on `Reload resources` for Lovelace to pick up changes without restarting Home Assistant. You can also call `lovelace.reload_resources` service directly." type: list keys: url: From 6f32632b6d1c80df59c6053dcecd4ac53736ad91 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Thu, 9 Apr 2020 23:33:04 +0200 Subject: [PATCH 014/143] Removed Yeelight icon reference (#12774) --- source/_integrations/yeelight.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/yeelight.markdown b/source/_integrations/yeelight.markdown index 11f96266756..a2a5dbd0007 100644 --- a/source/_integrations/yeelight.markdown +++ b/source/_integrations/yeelight.markdown @@ -1,7 +1,6 @@ --- title: Yeelight description: Instructions on how to setup Yeelight Wifi devices within Home Assistant. -logo: yeelight.png ha_category: - Light ha_release: 0.32 From d94ee17d967c332f3a4f089cc03c3161aed5551c Mon Sep 17 00:00:00 2001 From: Samuel Rau Date: Thu, 9 Apr 2020 23:46:37 +0200 Subject: [PATCH 015/143] Remove ambiclimate logo in favor of brand (#12781) Co-authored-by: Samuel Rau --- source/_integrations/ambiclimate.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/ambiclimate.markdown b/source/_integrations/ambiclimate.markdown index e83cfe321d4..ea561125809 100644 --- a/source/_integrations/ambiclimate.markdown +++ b/source/_integrations/ambiclimate.markdown @@ -1,7 +1,6 @@ --- title: Ambiclimate description: Instructions on how to integrate Ambiclimate A/C controller into Home Assistant. -logo: ambiclimate.png ha_category: Climate ha_release: 0.93 ha_iot_class: Cloud Polling From c8e65e551000c5e850e0b94d6482fa757f085ff4 Mon Sep 17 00:00:00 2001 From: cogneato Date: Thu, 9 Apr 2020 16:19:43 -0600 Subject: [PATCH 016/143] Remove yeelight logo in favor of brand (#12779) From 7c6dd2ae0608f16ad920ef41ce6b261d23b8b00b Mon Sep 17 00:00:00 2001 From: Aidan Timson Date: Thu, 9 Apr 2020 23:39:40 +0100 Subject: [PATCH 017/143] Add Dialogflow to brands (#12782) --- source/_integrations/dialogflow.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/dialogflow.markdown b/source/_integrations/dialogflow.markdown index 2e7b45ec041..7e18ea766f9 100644 --- a/source/_integrations/dialogflow.markdown +++ b/source/_integrations/dialogflow.markdown @@ -1,7 +1,6 @@ --- title: Dialogflow description: Instructions on how integrate Dialogflow with Home Assistant. -logo: dialogflow.png ha_category: - Voice ha_release: 0.56 From d8329faa95ac5d57a57495575fed36fca9d78832 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Fri, 10 Apr 2020 00:50:42 +0200 Subject: [PATCH 018/143] Remove Envisalink logo reference in favor of new brand method. (#12778) --- source/_integrations/envisalink.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/envisalink.markdown b/source/_integrations/envisalink.markdown index 26e348a4a35..0fd9f0b09d0 100644 --- a/source/_integrations/envisalink.markdown +++ b/source/_integrations/envisalink.markdown @@ -1,7 +1,6 @@ --- title: Envisalink description: Instructions on how to integrate a DSC/Honeywell alarm panel with Home Assistant using an envisalink evl3/evl4 board. -logo: eyezon.png ha_category: - Alarm - Binary Sensor From 2a703e8212624b78968d1e173c7c998dc59b96a3 Mon Sep 17 00:00:00 2001 From: nldroid <13297091+nldroid@users.noreply.github.com> Date: Fri, 10 Apr 2020 00:57:02 +0200 Subject: [PATCH 019/143] Removed Rejseplanen logo line (#12736) --- source/_integrations/rejseplanen.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/rejseplanen.markdown b/source/_integrations/rejseplanen.markdown index a7ee68fe009..7c41be042f9 100644 --- a/source/_integrations/rejseplanen.markdown +++ b/source/_integrations/rejseplanen.markdown @@ -1,7 +1,6 @@ --- title: Rejseplanen description: Instructions on how to integrate timetable data for Danish Rejseplanen within Home Assistant. -logo: rejseplanen.png ha_category: - Transport ha_iot_class: Cloud Polling From e8f06f1457986af931e54a99804216c2b1d64e7a Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Fri, 10 Apr 2020 01:31:10 +0200 Subject: [PATCH 020/143] Remove logo in favour of brand image system. (#12783) --- source/_integrations/pandora.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/pandora.markdown b/source/_integrations/pandora.markdown index bf7a7532fd1..fe1e5ba944b 100644 --- a/source/_integrations/pandora.markdown +++ b/source/_integrations/pandora.markdown @@ -1,7 +1,6 @@ --- title: Pandora description: Instructions on how to integrate Pandora radio into Home Assistant. -logo: pandora.png ha_category: - Media Player ha_release: 0.22 From 016dd03b5329c593b6c62190eab974470bb2cded Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Fri, 10 Apr 2020 01:34:40 +0200 Subject: [PATCH 021/143] Remove logo reference (#12784) --- source/_integrations/uptimerobot.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/uptimerobot.markdown b/source/_integrations/uptimerobot.markdown index d18b4cf82ea..63efc7bb666 100644 --- a/source/_integrations/uptimerobot.markdown +++ b/source/_integrations/uptimerobot.markdown @@ -1,7 +1,6 @@ --- title: Uptime Robot description: Instructions on how to set up Uptime Robot within Home Assistant. -logo: uptimerobot.png ha_category: - System Monitor ha_release: 0.72 From 6ea098ea8199107502b741dc5432d427fad5df95 Mon Sep 17 00:00:00 2001 From: Jan Date: Fri, 10 Apr 2020 01:38:39 +0200 Subject: [PATCH 022/143] Add expected format for offset in title (#12785) Added the expected format for offset in event title to help prevent mistakes --- source/_integrations/caldav.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/caldav.markdown b/source/_integrations/caldav.markdown index e15962d2029..e5d2bdc6009 100644 --- a/source/_integrations/caldav.markdown +++ b/source/_integrations/caldav.markdown @@ -106,7 +106,7 @@ custom_calendars: ### Sensor attributes - - **offset_reached**: If set in the event title and parsed out will be on/off once the offset in the title in minutes is reached. So the title Very important meeting !!-10 would trigger this attribute to be on 10 minutes before the event starts. + - **offset_reached**: If set in the event title and parsed out will be on/off once the offset in the title in minutes is reached. So the title Very important meeting !!-10 would trigger this attribute to be on 10 minutes before the event starts. This should be in the format of `HH:MM` or `MM`. - **all_day**: `True/False` if this is an all day event. Will be `False` if there is no event found. - **message**: The event title with the `search` values extracted. So in the above example for `offset_reached` the message would be set to Very important meeting - **description**: The event description. From fe6b7a1b4fb530cbc0c085c6a1fb0713f833a5a0 Mon Sep 17 00:00:00 2001 From: Marley Jaffe Date: Thu, 9 Apr 2020 16:41:15 -0700 Subject: [PATCH 023/143] Updated DoorBird documentation for UI specifics (#12763) * Updated documentation for UI specifics Added documentation on how to set events through UI as well as how to find UI generated token (There may be an easier way than I describe). * Update doorbird.markdown updated URL terminology * Update source/_integrations/doorbird.markdown Co-Authored-By: Franck Nijhof * Update source/_integrations/doorbird.markdown Co-Authored-By: Franck Nijhof Co-authored-by: Franck Nijhof --- source/_integrations/doorbird.markdown | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/_integrations/doorbird.markdown b/source/_integrations/doorbird.markdown index c2f39708de3..ed85a46fcc8 100644 --- a/source/_integrations/doorbird.markdown +++ b/source/_integrations/doorbird.markdown @@ -32,7 +32,7 @@ It is recommended to set up a new account on your Doorbird App for use with Home ## Configuration -To add `DoorBird` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **DoorBird**. +To add `DoorBird` to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **DoorBird**. After filling out UI prompts, click the gear icon to edit device settings. Enter device event names here to associate with a schedule in DoorBird app. See [Schedules](#schedules) Alternatively, add the following to your `configuration.yaml` file: @@ -129,7 +129,8 @@ Simply open a new browser window and navigate to `{Home Assistant URL}/api/doorb localhost:8123`. Replace `{DEVICE_TOKEN}` with the token specified in your configuration for the device you would like to clear.

Please note that clearing device events will require configuration steps above to be taken again. It could also affect other third-party applications you may use with your DoorBird device. It will not break the official mobile app in any way, so mobile push notifications will still work. - +

+If DoorBird was setup using UI prompts, a token can be discovered through DoorBird App by clicking settings (cog icon) -> Administration-> LOGIN (using your App Administration details). Under the "FAVORITES" section, choose "HTTP(S) Calls". This displays all events and the associated HTTP URL. In that URL field, you will be able to see the token that was auto-generated by Home Assistant. #### Event Data From a14caf7f8605b19207967714fbd26a4154e9aeec Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 9 Apr 2020 19:57:38 -0700 Subject: [PATCH 024/143] 108.2 --- _config.yml | 2 +- source/_posts/2020-04-08-release-108.markdown | 61 +++++++++++++++++++ 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 24eb54be9d1..351ff8e0f55 100644 --- a/_config.yml +++ b/_config.yml @@ -101,7 +101,7 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 108 -current_patch_version: 1 +current_patch_version: 2 date_released: 2020-04-09 # Either # or the anchor link to latest release notes in the blog post. diff --git a/source/_posts/2020-04-08-release-108.markdown b/source/_posts/2020-04-08-release-108.markdown index f0e751e5bbc..4962ae6cb10 100644 --- a/source/_posts/2020-04-08-release-108.markdown +++ b/source/_posts/2020-04-08-release-108.markdown @@ -344,6 +344,67 @@ These integrations have been removed. The websites for both have changed, causin [vizio docs]: /integrations/vizio/ [zha docs]: /integrations/zha/ +## Release 0.108.2 - April 9 + +- Improve Plex debounce/throttle logic ([@jjlawren] - [#33805]) ([plex docs]) +- Update aioswitcher ([@balloob] - [#33821]) ([switcher_kis docs]) +- Fix nextcloud sensor mappings ([@L-Henke] - [#33840]) ([nextcloud docs]) +- Check status code on onvif snapshot ([@balloob] - [#33865]) ([onvif docs]) +- Fix Monoprice robustness ([@OnFreund] - [#33869]) ([monoprice docs]) +- Fix modbus default delay ([@janiversen] - [#33877]) ([modbus docs]) +- Updated frontend to 20200407.2 ([@bramkragten] - [#33891]) ([frontend docs]) +- Fix onvif consistent return ([@balloob] - [#33898]) ([onvif docs]) +- Modbus: isolate common test functions ([@janiversen] - [#33447]) +- Fix Modbus review comments ([@janiversen] - [#33755]) ([modbus docs]) +- Rename domain import in modbus ([@janiversen] - [#33906]) ([modbus docs]) +- Fix tplink HS220 dimmers ([@bdraco] - [#33909]) ([tplink docs]) +- Exclude access token from host info updates in Konnected config flow ([@kit-klein] - [#33912]) ([konnected docs]) +- Bump pyvizio version for vizio ([@raman325] - [#33924]) ([vizio docs]) +- Fix tplink HS220 dimmers (round 2) ([@bdraco] - [#33928]) ([tplink docs]) +- Guard IPP against negative ink levels ([@ctalkington] - [#33931]) ([ipp docs]) +- Remove print() from Bayesian Binary Sensor ([@carlos-sarmiento] - [#33916]) ([bayesian docs]) + +[#33447]: https://github.com/home-assistant/core/pull/33447 +[#33755]: https://github.com/home-assistant/core/pull/33755 +[#33805]: https://github.com/home-assistant/core/pull/33805 +[#33821]: https://github.com/home-assistant/core/pull/33821 +[#33840]: https://github.com/home-assistant/core/pull/33840 +[#33865]: https://github.com/home-assistant/core/pull/33865 +[#33869]: https://github.com/home-assistant/core/pull/33869 +[#33877]: https://github.com/home-assistant/core/pull/33877 +[#33891]: https://github.com/home-assistant/core/pull/33891 +[#33898]: https://github.com/home-assistant/core/pull/33898 +[#33906]: https://github.com/home-assistant/core/pull/33906 +[#33909]: https://github.com/home-assistant/core/pull/33909 +[#33912]: https://github.com/home-assistant/core/pull/33912 +[#33916]: https://github.com/home-assistant/core/pull/33916 +[#33924]: https://github.com/home-assistant/core/pull/33924 +[#33928]: https://github.com/home-assistant/core/pull/33928 +[#33931]: https://github.com/home-assistant/core/pull/33931 +[@L-Henke]: https://github.com/L-Henke +[@OnFreund]: https://github.com/OnFreund +[@balloob]: https://github.com/balloob +[@bdraco]: https://github.com/bdraco +[@bramkragten]: https://github.com/bramkragten +[@carlos-sarmiento]: https://github.com/carlos-sarmiento +[@ctalkington]: https://github.com/ctalkington +[@janiversen]: https://github.com/janiversen +[@jjlawren]: https://github.com/jjlawren +[@kit-klein]: https://github.com/kit-klein +[@raman325]: https://github.com/raman325 +[bayesian docs]: /integrations/bayesian/ +[frontend docs]: /integrations/frontend/ +[ipp docs]: /integrations/ipp/ +[konnected docs]: /integrations/konnected/ +[modbus docs]: /integrations/modbus/ +[monoprice docs]: /integrations/monoprice/ +[nextcloud docs]: /integrations/nextcloud/ +[onvif docs]: /integrations/onvif/ +[plex docs]: /integrations/plex/ +[switcher_kis docs]: /integrations/switcher_kis/ +[tplink docs]: /integrations/tplink/ +[vizio docs]: /integrations/vizio/ + ## All changes
From 74b63293232ef2ee08ae2373be44f021473d09ac Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Fri, 10 Apr 2020 10:40:52 +0200 Subject: [PATCH 025/143] Remove logo reference for Panasonic (#12790) --- source/_integrations/panasonic_viera.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/panasonic_viera.markdown b/source/_integrations/panasonic_viera.markdown index d8185528e23..6761443451e 100644 --- a/source/_integrations/panasonic_viera.markdown +++ b/source/_integrations/panasonic_viera.markdown @@ -1,7 +1,6 @@ --- title: Panasonic Viera TV description: Instructions on how to integrate a Panasonic Viera TV into Home Assistant. -logo: panasonic.png ha_category: - Media Player ha_release: 0.17 From 001b752673cbc39a0888336ab2042eab6ea065a9 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Fri, 10 Apr 2020 10:42:23 +0200 Subject: [PATCH 026/143] Remove Philips TV logo reference (#12789) --- source/_integrations/philips_js.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/philips_js.markdown b/source/_integrations/philips_js.markdown index 3c31b13d14a..64cca223de2 100644 --- a/source/_integrations/philips_js.markdown +++ b/source/_integrations/philips_js.markdown @@ -1,7 +1,6 @@ --- title: Philips TV description: Instructions on how to add Philips TVs to Home Assistant. -logo: philips.png ha_category: - Media Player ha_iot_class: Local Polling From 5cba7a5e4933be9b20b572049cc37da850b15f4b Mon Sep 17 00:00:00 2001 From: z0p Date: Fri, 10 Apr 2020 11:44:26 +0300 Subject: [PATCH 027/143] Remove Smarty logo (#12788) Co-authored-by: Teodor Nicolau --- source/_integrations/smarty.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/smarty.markdown b/source/_integrations/smarty.markdown index 6f8747d1f55..4cc73ca5691 100644 --- a/source/_integrations/smarty.markdown +++ b/source/_integrations/smarty.markdown @@ -1,7 +1,6 @@ --- title: Salda Smarty description: Instructions on how to integrate Salda Smarty 2X/3X/4X P/V ventilation systems into Home Assistant. -logo: salda.png ha_category: - Hub - Fan From 0ef8c2827d2ecfb98f18d6963516650730f8c1ae Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Fri, 10 Apr 2020 11:33:55 +0200 Subject: [PATCH 028/143] Remove logo refrence for Panasonic Blu-Ray Player integration (#12791) --- source/_integrations/panasonic_bluray.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/panasonic_bluray.markdown b/source/_integrations/panasonic_bluray.markdown index 75531dc0bad..89dda0c7c06 100644 --- a/source/_integrations/panasonic_bluray.markdown +++ b/source/_integrations/panasonic_bluray.markdown @@ -1,7 +1,6 @@ --- title: Panasonic Blu-Ray Player description: Instructions on how to integrate a Panasonic Blu-Ray player into Home Assistant. -logo: panasonic.png ha_category: - Media Player ha_iot_class: Local Polling From 6a875ec6fbd808a6ab0b1d03223bbf30ab2acaec Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Fri, 10 Apr 2020 18:39:07 +0200 Subject: [PATCH 029/143] Removed axis logo in favor of brands (#12800) --- source/_integrations/axis.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/axis.markdown b/source/_integrations/axis.markdown index 4e296522c15..c9a2625ee50 100644 --- a/source/_integrations/axis.markdown +++ b/source/_integrations/axis.markdown @@ -1,7 +1,6 @@ --- title: Axis description: Integration between network devices from Axis Communications with Home Assistant. -logo: axis.png ha_category: - Camera - Binary Sensor From 02ad8c4dbdd8c9e0f8af3d70d3bd8de7ba9c860c Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Fri, 10 Apr 2020 22:46:49 +0200 Subject: [PATCH 030/143] Removed hisense_aehw4a1 logo in favor of brands (#12804) --- source/_integrations/hisense_aehw4a1.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/hisense_aehw4a1.markdown b/source/_integrations/hisense_aehw4a1.markdown index 637870c4f48..8009ab8391e 100644 --- a/source/_integrations/hisense_aehw4a1.markdown +++ b/source/_integrations/hisense_aehw4a1.markdown @@ -1,7 +1,6 @@ --- title: Hisense AEH-W4A1 description: Instructions to setup the Hisense AEH W4A1 WiFi module for ACs. -logo: hisense.png ha_release: 0.103 ha_category: - Climate From dd071d038ad7e900e346db90474fb528cb9083a7 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 10 Apr 2020 14:39:47 -0700 Subject: [PATCH 031/143] 108.3 --- _config.yml | 4 +-- source/_posts/2020-04-08-release-108.markdown | 36 +++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index 351ff8e0f55..c5f0d7c8236 100644 --- a/_config.yml +++ b/_config.yml @@ -101,8 +101,8 @@ social: # Home Assistant release details current_major_version: 0 current_minor_version: 108 -current_patch_version: 2 -date_released: 2020-04-09 +current_patch_version: 3 +date_released: 2020-04-10 # 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-04-08-release-108.markdown b/source/_posts/2020-04-08-release-108.markdown index 4962ae6cb10..ce2274a4596 100644 --- a/source/_posts/2020-04-08-release-108.markdown +++ b/source/_posts/2020-04-08-release-108.markdown @@ -405,6 +405,42 @@ These integrations have been removed. The websites for both have changed, causin [tplink docs]: /integrations/tplink/ [vizio docs]: /integrations/vizio/ +## Release 0.108.3 - April 10 + +- Fix Onvif Camera that does not have SnapshotUri such as Sricam ([@Minims] - [#33902]) ([onvif docs]) +- Make homekit aware of DEVICE_CLASS_GATE ([@bdraco] - [#33936]) ([homekit docs]) +- Fix powerwall units (kW) ([@bdraco] - [#33954]) ([powerwall docs]) +- Fix turning off/on light groups in homekit ([@Knapoc] - [#33965]) ([homekit docs]) +- Update pyipp to 0.9.2 ([@ctalkington] - [#33967]) ([ipp docs]) +- Handle 304 http responses in nexia ([@bdraco] - [#33972]) ([nexia docs]) +- Fix shutdown timeout and make it upstream with Supervisor ([@pvizeli] - [#33973]) +- Cleanup ZHA group entity lifecycle ([@dmulcahey] - [#33977]) ([zha docs]) +- Exclude non thermostats from being detected by nexia ([@bdraco] - [#33979]) ([nexia docs]) +- Use zeroconf UUID if not available via IPP properties ([@ctalkington] - [#33991]) ([ipp docs]) + +[#33902]: https://github.com/home-assistant/core/pull/33902 +[#33936]: https://github.com/home-assistant/core/pull/33936 +[#33954]: https://github.com/home-assistant/core/pull/33954 +[#33965]: https://github.com/home-assistant/core/pull/33965 +[#33967]: https://github.com/home-assistant/core/pull/33967 +[#33972]: https://github.com/home-assistant/core/pull/33972 +[#33973]: https://github.com/home-assistant/core/pull/33973 +[#33977]: https://github.com/home-assistant/core/pull/33977 +[#33979]: https://github.com/home-assistant/core/pull/33979 +[#33991]: https://github.com/home-assistant/core/pull/33991 +[@Knapoc]: https://github.com/Knapoc +[@Minims]: https://github.com/Minims +[@bdraco]: https://github.com/bdraco +[@ctalkington]: https://github.com/ctalkington +[@dmulcahey]: https://github.com/dmulcahey +[@pvizeli]: https://github.com/pvizeli +[homekit docs]: /integrations/homekit/ +[ipp docs]: /integrations/ipp/ +[nexia docs]: /integrations/nexia/ +[onvif docs]: /integrations/onvif/ +[powerwall docs]: /integrations/powerwall/ +[zha docs]: /integrations/zha/ + ## All changes
From da07d31fe2db70cacfe1e90b98fd6b8a6f84e216 Mon Sep 17 00:00:00 2001 From: fredericks1982 <32093333+fredericks1982@users.noreply.github.com> Date: Sat, 11 Apr 2020 01:29:33 +0200 Subject: [PATCH 032/143] Added model KU6500 as working (#12796) --- source/_integrations/samsungtv.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_integrations/samsungtv.markdown b/source/_integrations/samsungtv.markdown index 25146d07c1e..0b56194558e 100644 --- a/source/_integrations/samsungtv.markdown +++ b/source/_integrations/samsungtv.markdown @@ -111,6 +111,7 @@ For example: for model `UN55NU7100`, the `UN55` would mean it's an LED, North Am - KU6290 - KU6400U - KU6470 +- KU6500 (on working with WOL) - KU7000 - M5620 - MU6170UXZG From f8bbeb917cc16b127eae5256513560677ade393d Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 10 Apr 2020 16:31:20 -0700 Subject: [PATCH 033/143] Remove initial from default input_boolean config (#12801) --- source/_integrations/input_boolean.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/input_boolean.markdown b/source/_integrations/input_boolean.markdown index 6aeecdc9503..e2568f4742d 100644 --- a/source/_integrations/input_boolean.markdown +++ b/source/_integrations/input_boolean.markdown @@ -19,7 +19,6 @@ To enable input booleans in your installation, add the following lines to your ` input_boolean: notify_home: name: Notify when someone arrives home - initial: off icon: mdi:car ``` From 8570bdfb833fe01a7ca1842c60caa2de7f9e3a9b Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Sat, 11 Apr 2020 03:25:26 +0200 Subject: [PATCH 034/143] Removed mailgun logo in favor of brands (#12805) --- source/_integrations/mailgun.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/mailgun.markdown b/source/_integrations/mailgun.markdown index e4414ce9370..730817b4986 100644 --- a/source/_integrations/mailgun.markdown +++ b/source/_integrations/mailgun.markdown @@ -1,7 +1,6 @@ --- title: Mailgun description: Instructions on how to add Mailgun mail notifications to Home Assistant. -logo: mailgun.png ha_category: - Notifications ha_release: 0.38 From 83f16b819144be7bd90c616f623d5e8340542411 Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Sat, 11 Apr 2020 03:28:30 +0200 Subject: [PATCH 035/143] Removed notion logo in favor of brands (#12806) --- source/_integrations/notion.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/notion.markdown b/source/_integrations/notion.markdown index 9a3ca95e265..561446e4745 100644 --- a/source/_integrations/notion.markdown +++ b/source/_integrations/notion.markdown @@ -1,7 +1,6 @@ --- title: Notion description: How to integrate Notion kits within Home Assistant. -logo: notion.png ha_category: - Hub - Binary Sensor From 3057ca363bc0c4caf2150c8779373eefae30960d Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Sat, 11 Apr 2020 04:34:32 +0200 Subject: [PATCH 036/143] Removed smhi logo in favor of brands (#12803) --- source/_integrations/smhi.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/smhi.markdown b/source/_integrations/smhi.markdown index 8195f15145e..f47effef8bd 100644 --- a/source/_integrations/smhi.markdown +++ b/source/_integrations/smhi.markdown @@ -1,7 +1,6 @@ --- title: SMHI description: Instructions on how to integrate SMHI forecasts within Home Assistant. -logo: smhi.png ha_category: - Hub - Weather From c105247221c935e7588c676ce3d5a38db4d1f7aa Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sat, 11 Apr 2020 06:10:48 +0200 Subject: [PATCH 037/143] Remove logo reference (#12798) --- source/_integrations/saj.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/saj.markdown b/source/_integrations/saj.markdown index f1187fb95ca..ffc6737d7a7 100644 --- a/source/_integrations/saj.markdown +++ b/source/_integrations/saj.markdown @@ -3,7 +3,6 @@ title: SAJ Solar Inverter description: Instructions on how to connect your SAJ Solar Inverter to Home Assistant. ha_category: - Energy -logo: saj.png ha_iot_class: Local Polling ha_release: '0.100' ha_codeowners: From 3ab843e99eec9e8297fd3b01bc093d10b916ae6f Mon Sep 17 00:00:00 2001 From: cogneato Date: Sat, 11 Apr 2020 02:04:15 -0600 Subject: [PATCH 038/143] Remove lupusec logo in favor of brand (#12811) --- source/_integrations/lupusec.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/lupusec.markdown b/source/_integrations/lupusec.markdown index 86f9b84d3d8..df4d2ac387c 100644 --- a/source/_integrations/lupusec.markdown +++ b/source/_integrations/lupusec.markdown @@ -1,7 +1,6 @@ --- title: Lupus Electronics LUPUSEC description: Instructions on integrating Lupusec home security with Home Assistant. -logo: lupusec.png ha_category: - Hub - Alarm From 3b7d1241f6fd02d6030edb89ba1370e46c65c650 Mon Sep 17 00:00:00 2001 From: Christiaan Blom Date: Sat, 11 Apr 2020 10:05:38 +0200 Subject: [PATCH 039/143] Remove OpenSky icon reference (#12799) --- source/_integrations/opensky.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/opensky.markdown b/source/_integrations/opensky.markdown index 833cca573ff..e20a4689b34 100644 --- a/source/_integrations/opensky.markdown +++ b/source/_integrations/opensky.markdown @@ -1,7 +1,6 @@ --- title: OpenSky Network description: Instructions on how to integrate OpenSky Network into Home Assistant. -logo: opensky.png ha_category: - Transport ha_release: 0.43 From f5c1139f10f9cdbb80cc5832818f05966e499991 Mon Sep 17 00:00:00 2001 From: MeIchthys <10717998+meichthys@users.noreply.github.com> Date: Sat, 11 Apr 2020 04:36:14 -0400 Subject: [PATCH 040/143] Use forwardslash instead of backslash (#12810) Currently the root path doesn't show in the documentation and displays as an empty string `""`. This change changes the root path to a forward slash character to properly show the root path in the documentation. (Proxmox User Permission Path is displayed as a forward slash) --- source/_integrations/proxmoxve.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/proxmoxve.markdown b/source/_integrations/proxmoxve.markdown index f65b274ec56..c190434bf84 100644 --- a/source/_integrations/proxmoxve.markdown +++ b/source/_integrations/proxmoxve.markdown @@ -138,7 +138,7 @@ To apply the user and role just created, we need to give it permissions * Click `Datacenter` * Click `Permissions` * Open `Add` and click `User Permission` -* Select "\" for the path +* Select "/" for the path * Select your Home Assistant user (`hass`) * Select the Home Assistant role (`home-assistant`) * Make sure `Propigate` is checked From ab346ed57adf4fbbcf424ef95878253357f56f1c Mon Sep 17 00:00:00 2001 From: adamaze Date: Sat, 11 Apr 2020 03:37:33 -0500 Subject: [PATCH 041/143] add clarifying note about webhook trigger (#12809) --- source/_docs/automation/trigger.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index 47f359d96ea..e946477df98 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -352,6 +352,8 @@ automation: You could run the above automation by sending a POST HTTP request to `http://your-home-assistant:8123/api/webhook/some_hook_id`. An example with no data sent to a SSL/TLS secured installation and using the command-line curl program is `curl -d "" https://your-home-assistant:8123/api/webhook/some_hook_id`. +Note that each webhook can only be used in one automation at a time. + ### Zone trigger Zone trigger fires when an entity is entering or leaving the zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. This includes [GPS Logger](/integrations/gpslogger/), the [OwnTracks platform](/integrations/owntracks/) and the [iCloud platform](/integrations/icloud/). From 631b575863e9ddabb9519e6c41b2cf776efe6e41 Mon Sep 17 00:00:00 2001 From: Bradley Nelson Date: Sat, 11 Apr 2020 02:45:52 -0600 Subject: [PATCH 042/143] Remove brand logo from LG integration (#12761) --- source/_integrations/webostv.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/webostv.markdown b/source/_integrations/webostv.markdown index 06319a62396..58eba00cba2 100644 --- a/source/_integrations/webostv.markdown +++ b/source/_integrations/webostv.markdown @@ -1,7 +1,6 @@ --- title: LG webOS Smart TV description: Instructions on how to integrate a LG webOS Smart TV within Home Assistant. -logo: webos.png ha_category: - Media Player - Notifications From 8724f0c60ee06dd7223a8ac069aef7d1bebe3815 Mon Sep 17 00:00:00 2001 From: Thorjan Knudsvik Date: Sat, 11 Apr 2020 10:50:14 +0200 Subject: [PATCH 043/143] MQTT Setup via UI (#12802) MQTT is possible to set up from the UI and is thus the preferred option of setup. --- source/_integrations/mqtt.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown index 290d2d79b53..e71be99f986 100644 --- a/source/_integrations/mqtt.markdown +++ b/source/_integrations/mqtt.markdown @@ -16,7 +16,9 @@ MQTT (aka MQ Telemetry Transport) is a machine-to-machine or "Internet of Things Your first step to get MQTT and Home Assistant working is to choose a [broker](/docs/mqtt/broker). -To integrate MQTT into Home Assistant, add the following section to your `configuration.yaml` file. +The preferred way to setup MQTT for your installation is via **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **MQTT**. + +Alternatively, if you want to manually configure MQTT, you will need to add the following to your `configuration.yaml` file. To connect to your [own MQTT broker](/docs/mqtt/broker#run-your-own): From c1e2cf48be1c5a8bc643e5b6881e7dbc3b7ac1f5 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sat, 11 Apr 2020 11:09:12 +0200 Subject: [PATCH 044/143] Remove logo reference (#12795) --- source/_integrations/satel_integra.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/satel_integra.markdown b/source/_integrations/satel_integra.markdown index b0bfaa4cf90..7a6ae977b30 100644 --- a/source/_integrations/satel_integra.markdown +++ b/source/_integrations/satel_integra.markdown @@ -1,7 +1,6 @@ --- title: Satel Integra description: Instructions on how to integrate a Satel Integra alarm panel with Home Assistant using an ETHM network extension from Satel. -logo: satel.jpg ha_category: - Hub - Alarm From d6051d93b057281df6d11d6c91cce3fc87aca209 Mon Sep 17 00:00:00 2001 From: Kevin Eifinger Date: Sat, 11 Apr 2020 12:45:18 +0200 Subject: [PATCH 045/143] Clearer instructions on the use of departure (#12812) --- source/_integrations/here_travel_time.markdown | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/_integrations/here_travel_time.markdown b/source/_integrations/here_travel_time.markdown index fc28c2f3785..5661b7e333b 100644 --- a/source/_integrations/here_travel_time.markdown +++ b/source/_integrations/here_travel_time.markdown @@ -94,10 +94,9 @@ arrival: required: false type: time departure: - description: "Time when travel is expected to end. A 24 hour time string like `08:00:00`. On a sensor update it will be combined with the current date to get travel time for that moment. Cannot be used in combination with `arrival`. The default is now (the current date and time)" + description: "Time when travel is expected to end. A 24 hour time string like `08:00:00`. On a sensor update it will be combined with the current date to get travel time for that moment. Cannot be used in combination with `arrival`. If departure is not provided each update of the sensor uses the current date and time." required: false type: time - default: "now" unit_system: description: "You can choose between `metric` or `imperial`." required: false From 5b7cfe6871b9be60367bb1002c8889c63a18f87f Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sat, 11 Apr 2020 13:01:02 +0200 Subject: [PATCH 046/143] Remove UniFi LED logo reference (#12813) --- source/_integrations/unifiled.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/unifiled.markdown b/source/_integrations/unifiled.markdown index c39a8cc575e..b57c78c1b88 100644 --- a/source/_integrations/unifiled.markdown +++ b/source/_integrations/unifiled.markdown @@ -1,7 +1,6 @@ --- title: Ubiquiti UniFi LED description: Instructions on how to configure the UniFi LED integration with UniFi LED Controller by Ubiquiti. -logo: ubiquiti.png ha_category: - Light ha_release: 0.102 From 48d16e3af568528a41ece1af783e42f276c01fc0 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sat, 11 Apr 2020 13:19:16 +0200 Subject: [PATCH 047/143] Remove logo reference in favor of new brand method (#12780) --- source/_integrations/uvc.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/uvc.markdown b/source/_integrations/uvc.markdown index c076f7ee627..c4abba9f5f0 100644 --- a/source/_integrations/uvc.markdown +++ b/source/_integrations/uvc.markdown @@ -1,7 +1,6 @@ --- title: Ubiquiti UniFi Video description: Instructions on how to integrate UVC cameras within Home Assistant. -logo: ubiquiti.png ha_category: - Camera ha_release: 0.13 From 8e9f8e7a96c08d50bee5af586fcf40dc269fdeb2 Mon Sep 17 00:00:00 2001 From: danbishop Date: Sat, 11 Apr 2020 14:02:28 +0100 Subject: [PATCH 048/143] Update appdaemon.markdown (#12817) Correct spelling and capitalisation. --- source/_docs/ecosystem/appdaemon.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_docs/ecosystem/appdaemon.markdown b/source/_docs/ecosystem/appdaemon.markdown index 59a6d36d097..e9b7263cc45 100644 --- a/source/_docs/ecosystem/appdaemon.markdown +++ b/source/_docs/ecosystem/appdaemon.markdown @@ -8,7 +8,7 @@ AppDaemon is a loosely coupled, multithreaded, sandboxed Python execution enviro # Another Take on Automation -AppDaemon is not meant to replace Home Assistant Automations and Scripts, rather complement them. For a lot of things, automations work well and can be very succinct. However, there is a class of more complex automations for which they become harder to use, and appdeamon then comes into its own. It brings quite a few things to the table: +AppDaemon is not meant to replace Home Assistant Automations and Scripts, rather complement them. For a lot of things, automations work well and can be very succinct. However, there is a class of more complex automations for which they become harder to use, and AppDaemon then comes into its own. It brings quite a few things to the table: - New paradigm - Some problems require a procedural and/or iterative approach, and `AppDaemon` Apps are a much more natural fit for this. Recent enhancements to Home Assistant scripts and templates have made huge strides, but for the most complex scenarios, Apps can do things that automations can't. - Ease of use - AppDaemon's API is full of helper functions that make programming as easy and natural as possible. The functions and their operation are as "Pythonic" as possible; experienced Python programmers should feel right at home. From 7aab641b1d6021d3473729f1f5fa5079572081a7 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 11 Apr 2020 15:15:49 +0200 Subject: [PATCH 049/143] Fix format (#12814) * Fix format * Update source/_integrations/remember_the_milk.markdown Co-Authored-By: Franck Nijhof Co-authored-by: Franck Nijhof --- .../_integrations/remember_the_milk.markdown | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/source/_integrations/remember_the_milk.markdown b/source/_integrations/remember_the_milk.markdown index 77c76dbfd18..50adcc6f32a 100644 --- a/source/_integrations/remember_the_milk.markdown +++ b/source/_integrations/remember_the_milk.markdown @@ -7,7 +7,7 @@ ha_release: 0.57 ha_domain: remember_the_milk --- -The `Remember The Milk` (RTM) integration allows you to create tasks in [remember_the_milk](https://www.rememberthemilk.com) from Home Assistant. You can use this if you want Home Assistant to send you a task that you should not forget, e.g., water the plants. The integration allows you to have several RTM accounts in parallel. +The `remember_the_milk` integration allows you to create tasks in [Remember The Milk (RTM)](https://www.rememberthemilk.com) from Home Assistant. You can use this if you want Home Assistant to send you a task that you should not forget, e.g., water the plants. The integration allows you to have several RTM accounts in parallel. ## Setup @@ -15,7 +15,7 @@ The setup consists of two steps: getting an API key and registering your account ### Step 1: API key -To be able to use this component, you need a Remember The Milk account and you need to apply for your own [API key](https://www.rememberthemilk.com/services/api/keys.rtm). With the API key you will also receive your personal `shared secret`. Both of them need to be stored in your Home Assistant configuration: +To be able to use this integration, you need a Remember The Milk account and you need to apply for your own [API key](https://www.rememberthemilk.com/services/api/keys.rtm). With the API key you will also receive your personal shared secret. Both of them need to be stored in your Home Assistant configuration: ```yaml # Example configuration.yaml entry @@ -42,7 +42,7 @@ remember_the_milk: type: string {% endconfiguration %} -### Step 2: registering your account +### Step 2: Registering your account After saving the configuration, you need to (re-)start Home Assistant. On the first start you will notice a new "Configuration" panel appearing on the Home Assistant page. After opening the configuration page, follow the link "Remember The Milk login". This will take you to a login page where you have to log in with your normal Remember The Milk credentials. This will authorize Home Assistant to access your Remember The Milk account. @@ -52,13 +52,13 @@ If the registration was successful, the Configuration panel will disappear from In the background Home Assistant downloaded a "token" from the Remember The Milk server which is stored in the `remember_the_milk.conf` file locally. So you only need to register once. After that the token is used to authenticate with the server. -## Creating/updating tasks with service ```create_task``` +## Creating/updating tasks with service `create_task` -This integration offers a new service domain ```remember_the_milk``` with the services ```_create_task```. You can call this service with the argument ```name``` and the optional parameter ```id``` to create a new task in your Remember The Milk account. You can call this service from your usual automations. +This integration offers a new service domain `remember_the_milk` with the services `_create_task`. You can call this service with the argument `name` and the optional parameter `id` to create a new task in your Remember The Milk account. You can call this service from your usual automations. -If you set an ```id``` and a task with that id exists already, the existing task is updated, rather than creating a new task. This way you can change the name of the task. If you do not set an ```id```, a new task is created with every call. If you're using this from an automation, you could use the name of your automation as id or the entity that triggered the task to be created. This way you can later on update or complete this task. +If you set an `id` and a task with that id exists already, the existing task is updated, rather than creating a new task. This way you can change the name of the task. If you do not set an `id`, a new task is created with every call. If you're using this from an automation, you could use the name of your automation as id or the entity that triggered the task to be created. This way you can later on update or complete this task. -The task creation supports the "smart syntax", so to create a task with the tag "from_hass" which is due today you can create a task with the name ```test task created in Home Assistant ^today #from_hass```. More info about the smart syntax is available on the [Remember The Milk documentation](https://www.rememberthemilk.com/help/answer/basics-smartadd-howdoiuse). +The task creation supports the "smart syntax", so to create a task with the tag "from_hass" which is due today you can create a task with the name `test task created in Home Assistant ^today #from_hass`. More info about the smart syntax is available on the [Remember The Milk documentation](https://www.rememberthemilk.com/help/answer/basics-smartadd-howdoiuse). **Note:** At the moment, smart syntax is *not* supported when updating tasks. All smart syntax commands are ignored during the update and will end up as normal text in the name of the task. @@ -68,11 +68,11 @@ At the moment, smart syntax is *not* supported when updating tasks. All smart sy | name | no | Name of the new task, you can use the smart syntax here. | "do this ^today #from_hass" | | id | yes | Identifier for the task you're creating, can be used to update or complete the task later on | "myid" | -## Completing tasks with service ```complete_task``` +## Completing tasks with service `complete_task` Complete a tasks that was privously created from Home Assistant. You can not complete tasks that were created outside of Home Assistant. -If you have created your task with an ```id```, calling ```_complete_task``` with the parameter ```id``` will then complete your task. +If you have created your task with an `id`, calling `_complete_task` with the parameter `id` will then complete your task. |Service data attribute | Optional | Description | Example | |-----------------------|----------|-------------|---------| @@ -80,7 +80,9 @@ If you have created your task with an ```id```, calling ```_complete_ta ## Automation example -Here's an example for an automation that creates a new task whenever ```sensor.mysensor``` is ```on``` and completes it when the sensor reports ```off```. This way it reminds you to switch it off. By using the ```entity_id``` as id for the task, you can use the same rule also for multiple sensors. +Here's an example for an automation that creates a new task whenever `sensor.mysensor` is `on` and completes it when the sensor reports `off`. This way it reminds you to switch it off. By using the `entity_id` as ID for the task, you can use the same rule also for multiple sensors. + +{% raw %} ```yaml - id: mysensor_on @@ -104,7 +106,8 @@ Here's an example for an automation that creates a new task whenever ```sensor.m id: "{{trigger.entity_id}}" ``` +{% endraw %} ## Disclaimer -This product uses the Remember The Milk API but is not endorsed or certified by Remember The Milk. +This integration uses the Remember The Milk API but is not endorsed or certified by Remember The Milk. From 3498de5f996bc630632b2f5480a45270e56bd9dc Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Sat, 11 Apr 2020 15:17:26 +0200 Subject: [PATCH 050/143] Removed Twente Milieu logo in favor of brands (#12816) --- source/_integrations/twentemilieu.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/twentemilieu.markdown b/source/_integrations/twentemilieu.markdown index a9bcecc16d6..c439aad85ef 100644 --- a/source/_integrations/twentemilieu.markdown +++ b/source/_integrations/twentemilieu.markdown @@ -1,7 +1,6 @@ --- title: Twente Milieu description: Instructions on how to integrate Twente Milieu with Home Assistant. -logo: twentemilieu.png ha_category: - Sensor - Environment From 3560641b650461a1e2e4103a026ed450202d71d2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 11 Apr 2020 15:24:49 +0200 Subject: [PATCH 051/143] Fix configuration description and heading (#12815) --- source/_integrations/doods.markdown | 30 ++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/source/_integrations/doods.markdown b/source/_integrations/doods.markdown index 178acf3c7f7..665139507a2 100644 --- a/source/_integrations/doods.markdown +++ b/source/_integrations/doods.markdown @@ -8,16 +8,15 @@ ha_release: '0.100' ha_domain: doods --- -The `doods` image processing platform allows you to detect and recognize objects in a camera image using [DOODS](https://github.com/snowzach/doods/). The state of the entity is the number of objects detected, and recognized objects are listed in the `summary` attribute along with quantity. The `matches` attribute provides the confidence `score` for recognition and the bounding `box` of the object for each detection category. +The `doods` image processing integration allows you to detect and recognize objects in a camera image using [DOODS](https://github.com/snowzach/doods/). The state of the entity is the number of objects detected and recognized objects are listed in the `summary` attribute along with quantity. The `matches` attribute provides the confidence `score` for recognition and the bounding `box` of the object for each detection category. ## Setup -You need to have DOODS running somewhere. It's easiest to run as a Docker container and deployment is described on Docker Hub -[DOODS - Docker](https://hub.docker.com/r/snowzach/doods) +You need to have DOODS running somewhere. It's easiest to run as a [Docker](https://hub.docker.com/r/snowzach/doods) container. ## Configuration -The configuration loosely follows the TensorFlow configuration. To enable this platform in your installation, add the following to your `configuration.yaml` file: +To enable this integration in your installation, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry @@ -44,20 +43,20 @@ source: required: false type: string url: - description: The URL of the DOODS server + description: The URL of the DOODS server. required: true type: string timeout: - description: Timeout for requests (in seconds) + description: Timeout for requests (in seconds). required: false type: integer default: 90 detector: - description: The DOODS detector to use + description: The DOODS detector to use. required: true type: string confidence: - description: The default confidence for any detected objects where not explicitly set + description: The default confidence for any detected objects where not explicitly set. required: false type: float area: @@ -104,7 +103,7 @@ labels: required: true type: string confidence: - description: The minimum confidence for the selected label + description: The minimum confidence for the selected label. required: false type: float area: @@ -140,9 +139,12 @@ labels: {% endconfiguration %} +## Sample configuration + +{% raw %} + ```yaml # Example advanced configuration.yaml entry -# Example configuration.yaml entry image_processing: - platform: doods scan_interval: 1000 @@ -152,8 +154,8 @@ image_processing: source: - entity_id: camera.front_yard file_out: - - "/tmp/{% raw %}{{ camera_entity.split('.')[1] }}{% endraw %}_latest.jpg" - - "/tmp/{% raw %}{{ camera_entity.split('.')[1] }}_{{ now().strftime('%Y%m%d_%H%M%S') }}{% endraw %}.jpg" + - "/tmp/{{ camera_entity.split('.')[1] }}_latest.jpg" + - "/tmp/{{ camera_entity.split('.')[1] }}_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg" confidence: 50 # This global detection area is required for all labels area: @@ -177,9 +179,11 @@ image_processing: - truck ``` +{% endraw %} + ## Optimizing resources -[Image processing components](/components/image_processing/) process the image from a camera at a fixed period given by the `scan_interval`. This leads to excessive processing if the image on the camera hasn't changed, as the default `scan_interval` is 10 seconds. You can override this by adding to your configuration `scan_interval: 10000` (setting the interval to 10,000 seconds), and then call the `image_processing.scan` service when you actually want to perform processing. +The [Image processing integration](/components/image_processing/) process the image from a camera at a fixed period given by the `scan_interval`. This leads to excessive processing if the image on the camera hasn't changed, as the default `scan_interval` is 10 seconds. You can override this by adding to your configuration `scan_interval: 10000` (setting the interval to 10,000 seconds) and then call the `image_processing.scan` service when you actually want to perform processing. ```yaml # Example advanced configuration.yaml entry From b356817187f84d115100185d5381db2eadd6824e Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Sat, 11 Apr 2020 15:36:44 +0200 Subject: [PATCH 052/143] Removed ZoneMinder logo in favor of brands (#12819) --- source/_integrations/zoneminder.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/zoneminder.markdown b/source/_integrations/zoneminder.markdown index 7c1c150afa6..5f4174e53f4 100644 --- a/source/_integrations/zoneminder.markdown +++ b/source/_integrations/zoneminder.markdown @@ -1,7 +1,6 @@ --- title: ZoneMinder description: How to integrate ZoneMinder into Home Assistant. -logo: zoneminder.png ha_category: - Hub - Binary Sensor From 5ecc8140d691d82eb8cc25940e43675246ec2c08 Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Sat, 11 Apr 2020 16:44:03 +0200 Subject: [PATCH 053/143] Removed yamaha logo in favor of brands (#12821) --- source/_integrations/yamaha.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/yamaha.markdown b/source/_integrations/yamaha.markdown index 4231c030500..3d4efcfa4d2 100644 --- a/source/_integrations/yamaha.markdown +++ b/source/_integrations/yamaha.markdown @@ -1,7 +1,6 @@ --- title: Yamaha Network Receivers description: Instructions on how to integrate Yamaha Network Receivers into Home Assistant. -logo: yamaha.png ha_category: - Media Player ha_release: 0.16 From d9720004c4f2bd6afb756ba46cb35a309bbaa122 Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Sat, 11 Apr 2020 16:49:45 +0200 Subject: [PATCH 054/143] Removed Yandex Transport logo in favor of brands (#12820) --- source/_integrations/yandex_transport.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/yandex_transport.markdown b/source/_integrations/yandex_transport.markdown index 30b3ad55199..24c6c8e3dd9 100644 --- a/source/_integrations/yandex_transport.markdown +++ b/source/_integrations/yandex_transport.markdown @@ -1,7 +1,6 @@ --- title: Yandex Transport description: Instructions on how to set up Yandex transport with Home Assistant. -logo: yandex.png ha_category: - Sensor - Transport From 628ed8c30b20b0ef8044eb22e2de25e3c9c938a8 Mon Sep 17 00:00:00 2001 From: Jon Gilmore <7232986+JonGilmore@users.noreply.github.com> Date: Sat, 11 Apr 2020 10:07:19 -0500 Subject: [PATCH 055/143] added rainbird icon/logo (#12786) --- source/_integrations/rainbird.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/rainbird.markdown b/source/_integrations/rainbird.markdown index 6ed3cbdf444..a87ac1922be 100644 --- a/source/_integrations/rainbird.markdown +++ b/source/_integrations/rainbird.markdown @@ -1,7 +1,6 @@ --- title: Rain Bird description: Instructions on how to integrate your Rain Bird LNK WiFi Module within Home Assistant. -logo: rainbird.png ha_category: - Irrigation - Sensor From cccdc1a2fafa381e6075b31480501c459965c3fe Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sat, 11 Apr 2020 17:31:13 +0200 Subject: [PATCH 056/143] Remove logo reference (#12823) --- source/_integrations/raspihats.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/raspihats.markdown b/source/_integrations/raspihats.markdown index 85f65646b80..e5962769610 100644 --- a/source/_integrations/raspihats.markdown +++ b/source/_integrations/raspihats.markdown @@ -1,7 +1,6 @@ --- title: Raspihats description: Instructions on how to integrate Raspihats add-on boards for Raspberry Pi into Home Assistant. -logo: raspihats.png ha_category: - DIY - Binary Sensor From 16a51c165f7ff442d17803e9a0b3f4e750b7c5db Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sat, 11 Apr 2020 17:31:46 +0200 Subject: [PATCH 057/143] Remove logo reference (#12824) --- source/_integrations/mfi.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/mfi.markdown b/source/_integrations/mfi.markdown index ad369ac77b0..f8d6c4951ed 100644 --- a/source/_integrations/mfi.markdown +++ b/source/_integrations/mfi.markdown @@ -1,7 +1,6 @@ --- title: Ubiquiti mFi mPort description: Instructions on how to integrate mFi within Home Assistant. -logo: ubiquiti.png ha_category: - Network - Sensor From a5680553ab09ebb9c8da69222517f068c1f3041f Mon Sep 17 00:00:00 2001 From: Jon Gilmore <7232986+JonGilmore@users.noreply.github.com> Date: Sat, 11 Apr 2020 11:03:39 -0500 Subject: [PATCH 058/143] add meraki to brands (#12825) --- source/_integrations/meraki.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/meraki.markdown b/source/_integrations/meraki.markdown index 0c25fd67ca1..2659c91a794 100644 --- a/source/_integrations/meraki.markdown +++ b/source/_integrations/meraki.markdown @@ -1,7 +1,6 @@ --- title: Meraki description: Instructions on how to integrate Meraki-based presence detection into Home Assistant. -logo: meraki.png ha_category: - Presence Detection ha_release: '0.60' From e434383d630cf8e7607ea72af5339a7aceeb5a50 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sat, 11 Apr 2020 18:47:41 +0200 Subject: [PATCH 059/143] Remove logo reference (#12826) --- source/_integrations/pulseaudio_loopback.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/pulseaudio_loopback.markdown b/source/_integrations/pulseaudio_loopback.markdown index e701ae2f19b..0d7b4a6bcd0 100644 --- a/source/_integrations/pulseaudio_loopback.markdown +++ b/source/_integrations/pulseaudio_loopback.markdown @@ -1,7 +1,6 @@ --- title: PulseAudio Loopback description: Instructions on how to use Pulseaudio loopback modules to build a flexible whole-home audio system. -logo: pulseaudio.png ha_category: - Switch ha_release: 0.16 From 65219f22e70f3c8b146e5e196967700d0930845f Mon Sep 17 00:00:00 2001 From: Niels Klumper Date: Sat, 11 Apr 2020 19:42:27 +0200 Subject: [PATCH 060/143] Remove logo from volkszaehler.markdown (#12792) --- source/_integrations/volkszaehler.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/volkszaehler.markdown b/source/_integrations/volkszaehler.markdown index 7c194d7d48d..475c92a7d3c 100644 --- a/source/_integrations/volkszaehler.markdown +++ b/source/_integrations/volkszaehler.markdown @@ -1,7 +1,6 @@ --- title: Volkszaehler description: Instructions on how to integrate Volkszaehler sensors into Home Assistant. -logo: volkszaehler.png ha_category: - System Monitor ha_iot_class: Local Polling From df506125c4000c33a5842ad53868707c4ae05e1f Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Sat, 11 Apr 2020 19:44:44 +0200 Subject: [PATCH 061/143] Removed vicare logo in favor of brands (#12831) --- source/_integrations/vicare.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/vicare.markdown b/source/_integrations/vicare.markdown index 40a7ab4af25..4bf6157de59 100644 --- a/source/_integrations/vicare.markdown +++ b/source/_integrations/vicare.markdown @@ -1,7 +1,6 @@ --- title: Viessmann ViCare description: Instructions how to integrate Viessmann heating devices with Home Assistant -logo: viessmann.png ha_category: Climate ha_release: 0.99 ha_iot_class: Cloud Polling From 19193e0454f72dd48b3168226e5b2c7fccf413c3 Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Sat, 11 Apr 2020 19:49:48 +0200 Subject: [PATCH 062/143] Removed yale_smart_alarm logo in favor of brands (#12827) --- source/_integrations/yale_smart_alarm.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/yale_smart_alarm.markdown b/source/_integrations/yale_smart_alarm.markdown index 832633aed32..9f493012d93 100644 --- a/source/_integrations/yale_smart_alarm.markdown +++ b/source/_integrations/yale_smart_alarm.markdown @@ -1,7 +1,6 @@ --- title: Yale Smart Living description: Instructions on how to integrate Yale Smart Alarms into Home Assistant. -logo: yale.png ha_category: - Alarm ha_release: 0.78 From 79c90d32537e968a360ece62a858662ed7b6cd89 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 11 Apr 2020 13:00:05 -0500 Subject: [PATCH 063/143] Update the list of supported nexia thermostats (#12833) --- source/_integrations/nexia.markdown | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/_integrations/nexia.markdown b/source/_integrations/nexia.markdown index a0d99ab0e87..cadb3bdbe09 100644 --- a/source/_integrations/nexia.markdown +++ b/source/_integrations/nexia.markdown @@ -77,6 +77,12 @@ The following binary sensors are added for each thermostat zone: The `nexia` climate platform lets you control a thermostat. +The following thermostats are supported: `XL1050`, `XL850`, `XL824` + +The following thermostats are not supported: `XL624` + +Other thermostats may work, but they have not been tested. + ### Scene The `nexia` scene platform lets you activate a nexia automation. From e7fedd467f1b0c44b6cf875b46a381e5b1f46c35 Mon Sep 17 00:00:00 2001 From: Jon Gilmore <7232986+JonGilmore@users.noreply.github.com> Date: Sat, 11 Apr 2020 13:01:07 -0500 Subject: [PATCH 064/143] remove hd powerview logo after adding brands (#12832) --- source/_integrations/hunterdouglas_powerview.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/hunterdouglas_powerview.markdown b/source/_integrations/hunterdouglas_powerview.markdown index a02ca235614..d804ab73781 100644 --- a/source/_integrations/hunterdouglas_powerview.markdown +++ b/source/_integrations/hunterdouglas_powerview.markdown @@ -1,7 +1,6 @@ --- title: Hunter Douglas PowerView description: Instructions on how to setup Hunter Douglas PowerView scenes within Home Assistant. -logo: hunter-douglas-powerview.png ha_category: - Scene ha_release: 0.15 From 9f0554465745393bd17671b2ede4e057c617e616 Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Sat, 11 Apr 2020 21:09:20 +0200 Subject: [PATCH 065/143] Removed voicerss in favor of brands (#12830) --- source/_integrations/voicerss.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/voicerss.markdown b/source/_integrations/voicerss.markdown index 92e07b85c8a..013a93f4bf7 100644 --- a/source/_integrations/voicerss.markdown +++ b/source/_integrations/voicerss.markdown @@ -1,7 +1,6 @@ --- title: VoiceRSS description: Instructions on how to setup VoiceRSS TTS with Home Assistant. -logo: voicerss.png ha_category: - Text-to-speech ha_release: 0.35 From 380d1bded0b5a1a9df5a1789d0440073fee97b2d Mon Sep 17 00:00:00 2001 From: Eirik Z <46269073+atxbyea@users.noreply.github.com> Date: Sat, 11 Apr 2020 21:45:45 +0200 Subject: [PATCH 066/143] Data Template should be used, not data (#12834) Skavalalalalvalalala made me do it --- source/_integrations/camera.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/camera.markdown b/source/_integrations/camera.markdown index 2a6ea0b9884..c62ded05185 100644 --- a/source/_integrations/camera.markdown +++ b/source/_integrations/camera.markdown @@ -85,7 +85,7 @@ For example, the following action in an automation would take a recording from " ```yaml action: service: camera.record - data: + data_template: entity_id: camera.yourcamera filename: '/tmp/{{ entity_id }}_{{ now().strftime("%Y%m%d-%H%M%S") }}.mp4' ``` From a54c3abcfebda575dfba44cdb0e82826238abb6c Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Sat, 11 Apr 2020 22:12:59 +0200 Subject: [PATCH 067/143] Removed velux logo in favor of brands (#12836) --- source/_integrations/velux.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/velux.markdown b/source/_integrations/velux.markdown index c25eaac9adf..6aeca027e3c 100644 --- a/source/_integrations/velux.markdown +++ b/source/_integrations/velux.markdown @@ -1,7 +1,6 @@ --- title: Velux description: Instructions on how to integrate Velux KLF 200 integration with Home Assistant. -logo: velux.png ha_category: - Scene - Cover From 610d397f94b221d2a5be2e089f95e1955c642436 Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Sat, 11 Apr 2020 22:15:24 +0200 Subject: [PATCH 068/143] Removed vera logo in favor of brands (#12835) --- source/_integrations/vera.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/vera.markdown b/source/_integrations/vera.markdown index 25a14b4cccd..ad3297128c8 100644 --- a/source/_integrations/vera.markdown +++ b/source/_integrations/vera.markdown @@ -1,7 +1,6 @@ --- title: Vera description: Instructions on how to setup Vera Z-Wave hubs and configure devices within Home Assistant. -logo: vera.png ha_category: - Hub - Binary Sensor From dd58e3298938525020262ad84a657f9e551478a8 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 07:15:59 +0200 Subject: [PATCH 069/143] Remove logo reference from Alpha Vantage (#12848) --- source/_integrations/alpha_vantage.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/alpha_vantage.markdown b/source/_integrations/alpha_vantage.markdown index 758786c2752..595ca5a2e1a 100644 --- a/source/_integrations/alpha_vantage.markdown +++ b/source/_integrations/alpha_vantage.markdown @@ -1,7 +1,6 @@ --- title: Alpha Vantage description: Instructions on how to setup Alpha Vantage within Home Assistant. -logo: alpha_vantage.png ha_category: - Finance ha_iot_class: Cloud Polling From 123fe390366eb1b45fbd1c89335749685bf0c312 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 07:17:58 +0200 Subject: [PATCH 070/143] Remove logo reference for Amcrest (#12849) --- source/_integrations/amcrest.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/amcrest.markdown b/source/_integrations/amcrest.markdown index b74cc6a8cfb..78b5297a6c0 100644 --- a/source/_integrations/amcrest.markdown +++ b/source/_integrations/amcrest.markdown @@ -1,7 +1,6 @@ --- title: Amcrest description: Instructions on how to integrate Amcrest (or Dahua) IP cameras within Home Assistant. -logo: amcrest.png ha_category: - Hub - Binary Sensor From 46da3a5fc071e587f2922c11a2c5ecaf05a9edea Mon Sep 17 00:00:00 2001 From: Jon Gilmore <7232986+JonGilmore@users.noreply.github.com> Date: Sun, 12 Apr 2020 00:20:01 -0500 Subject: [PATCH 071/143] remove coinbase logo for brands change (#12847) --- source/_integrations/coinbase.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/coinbase.markdown b/source/_integrations/coinbase.markdown index 7a9400b074b..eeeab10884b 100644 --- a/source/_integrations/coinbase.markdown +++ b/source/_integrations/coinbase.markdown @@ -1,7 +1,6 @@ --- title: Coinbase description: Instructions for how to add Coinbase sensors to Home Assistant. -logo: coinbase.png ha_category: - Finance - Sensor From 2d0ebaab4b84cf20f298cc9ae376f363a1064c6c Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 07:22:57 +0200 Subject: [PATCH 072/143] Remove logo reference for Niko Home Control (#12846) --- source/_integrations/niko_home_control.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/niko_home_control.markdown b/source/_integrations/niko_home_control.markdown index f2a1ef75d67..aa7533260ba 100644 --- a/source/_integrations/niko_home_control.markdown +++ b/source/_integrations/niko_home_control.markdown @@ -1,7 +1,6 @@ --- title: Niko Home Control description: Instructions on how to integrate Niko Home Control lights into Home Assistant. -logo: niko.png ha_category: - Light ha_iot_class: Local Polling From d2c265a44878925ead0a2c23012d76b229e7cf17 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 07:31:33 +0200 Subject: [PATCH 073/143] Remove Orvibo logo reference (#12845) --- source/_integrations/orvibo.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/orvibo.markdown b/source/_integrations/orvibo.markdown index 61a8d7e0985..ebf9b0cd1e5 100644 --- a/source/_integrations/orvibo.markdown +++ b/source/_integrations/orvibo.markdown @@ -1,7 +1,6 @@ --- title: Orvibo description: Instructions on how to integrate Orvibo sockets within Home Assistant. -logo: orvibo.png ha_category: - Switch ha_release: 0.8 From ed5da6d23a5273227c8bfd495fbef7493e19806b Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 07:46:41 +0200 Subject: [PATCH 074/143] Remove logo reference (#12839) --- source/_integrations/onvif.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/onvif.markdown b/source/_integrations/onvif.markdown index cfafe9eeafd..918ac0d02dc 100644 --- a/source/_integrations/onvif.markdown +++ b/source/_integrations/onvif.markdown @@ -1,7 +1,6 @@ --- title: ONVIF description: Instructions on how to integrate a ONVIF camera within Home Assistant. -logo: onvif.png ha_category: - Camera ha_release: 0.47 From 7f95289f6b2c39d08f210e7b83f7b9ce18381ba9 Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Sun, 12 Apr 2020 07:51:30 +0200 Subject: [PATCH 075/143] Removed venstar logo in favor of brands (#12838) --- source/_integrations/venstar.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/venstar.markdown b/source/_integrations/venstar.markdown index d1793746f85..a9c49b96b98 100644 --- a/source/_integrations/venstar.markdown +++ b/source/_integrations/venstar.markdown @@ -1,7 +1,6 @@ --- title: Venstar description: Instructions for how to integrate Venstar WiFi thermostats within Home Assistant. -logo: venstar.png ha_category: - Climate ha_release: 0.62 From 8d1995084173bd264c7d1c8e5552185de6032321 Mon Sep 17 00:00:00 2001 From: Alessandro Di Felice Date: Sun, 12 Apr 2020 04:05:33 -0500 Subject: [PATCH 076/143] Fix "forecast" option type om openweathermap. (#12840) According to source code "forecast" is a *boolean*. --- source/_integrations/openweathermap.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/openweathermap.markdown b/source/_integrations/openweathermap.markdown index c72d30c3e39..e319b7875a7 100644 --- a/source/_integrations/openweathermap.markdown +++ b/source/_integrations/openweathermap.markdown @@ -93,7 +93,7 @@ forecast: description: Enables the forecast. The default is to display the current conditions. required: false default: false - type: string + type: boolean language: description: The language in which you want text results to be returned. It's a two-characters string, e.g., `en`, `es`, `ru`, `it`, etc. required: false From b84f596358f684d918d35c98f0b6d6f6871ff6dd Mon Sep 17 00:00:00 2001 From: Ryan Warner Date: Sun, 12 Apr 2020 05:18:25 -0400 Subject: [PATCH 077/143] Update lock.mqtt example with state_locked and state_unlocked (#12533) * Update lock.mqtt for reflect breaking change Had an issue with my HASS not working with locks. Turns out the docs didn't reflect the new "state_lock" and "state_unlock" payload breaking change mentioned here: https://www.home-assistant.io/blog/2020/01/15/release-104/#breaking-changes Is it worth getting rid of the old payload_lock payload_unlocked states and changing them in the example? * Forgot "ed" in the example * Put payload_lock/unlock back in Let's have both the payload_lock/unlock back in the example along with state_locked/unlocked. --- source/_integrations/lock.mqtt.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_integrations/lock.mqtt.markdown b/source/_integrations/lock.mqtt.markdown index 5a9baf5a6cc..312714b401d 100644 --- a/source/_integrations/lock.mqtt.markdown +++ b/source/_integrations/lock.mqtt.markdown @@ -165,6 +165,8 @@ lock: command_topic: "home-assistant/frontdoor/set" payload_lock: "LOCK" payload_unlock: "UNLOCK" + state_locked: "LOCK" + state_unlocked: "UNLOCK" optimistic: false qos: 1 retain: true From 01c2cd31899080265c4f1177fd80b39fc9892b07 Mon Sep 17 00:00:00 2001 From: androidemil Date: Sun, 12 Apr 2020 12:03:35 +0200 Subject: [PATCH 078/143] Update pushover on how to specify a device (#12837) * Update pushover on how to specify a device Correction of description after the pull request #31647 * Fix typo and a little less speci* Co-authored-by: Fabian Affolter --- source/_integrations/pushover.markdown | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/source/_integrations/pushover.markdown b/source/_integrations/pushover.markdown index 4581aeca170..709632a9cfd 100644 --- a/source/_integrations/pushover.markdown +++ b/source/_integrations/pushover.markdown @@ -58,9 +58,25 @@ Component specific values in the nested `data` section are optional. Image attachments can be added using the `attachment` parameter, which can either be a valid URL for an image (ex: `http://example.com/image.png`) or a local file reference (ex: `/tmp/image.png`). +To use a specific Pushover device, set it using `target`. If one of the entered devices doesn't exist or is disabled in your Pushover account it will send a message to all you devices. To send to all devices, just skip the target attribute. + +```yaml +- service: notify.entity_id + data: + message: "This is the message" + title: "Title of message" + target: + - pixel3 + - pixel4a + data: + sound: pianobar + priority: 0 +``` + + To use notifications, please see the [getting started with automation page](/getting-started/automation/). -When sending a notification, optional parameters can also be set as per the pushover [API documentation](https://pushover.net/api). +When sending a notification, optional parameters can also be set as per the Pushover [API documentation](https://pushover.net/api). Example notification triggered from the Alexa integration for an intents is shown below which also uses [Automation Templating](/getting-started/automation-templating/) for the message: @@ -77,9 +93,9 @@ alexa: message: "The location of {{ User }} has been queried via Alexa." data: title: "Home Assistant" + target: pixel data: sound: falling - device: pixel url: "https://www.home-assistant.io/" attachment: "/tmp/image.png" ``` From 32c9b7dd0edece52ec5866282b444ab6bbbb5b36 Mon Sep 17 00:00:00 2001 From: Sean Straus Date: Sun, 12 Apr 2020 12:11:42 +0200 Subject: [PATCH 079/143] Added an example for using regex (#12822) * Added an example for using regex This is a working example from my config. Hopefully can save someone some time with the general syntax. * Update entity-filter.markdown * Minor changes Co-authored-by: Fabian Affolter --- source/_lovelace/entity-filter.markdown | 28 ++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/source/_lovelace/entity-filter.markdown b/source/_lovelace/entity-filter.markdown index f19775a52d6..34e932a96a3 100644 --- a/source/_lovelace/entity-filter.markdown +++ b/source/_lovelace/entity-filter.markdown @@ -94,7 +94,8 @@ attribute: ### Examples -Show only active switches or lights in the house +Show only active switches or lights in the house. + ```yaml type: entity-filter entities: @@ -120,12 +121,13 @@ card: type: glance title: People at home ``` +

Entity filter combined with glance card Entity filter combined with glance card.

-You can also specify multiple state_filters, in which case matching any condition will display the entity. This example will display everyone who isn't at home or at work. +You can also specify multiple `state_filter`s, in which case matching any condition will display the entity. This example will display everyone who isn't at home or at work. ```yaml type: entity-filter @@ -143,7 +145,7 @@ card: title: Who's Running Errands ``` -Specify filter for a single entity +Specify filter for a single entity. ```yaml type: entity-filter @@ -160,3 +162,23 @@ entities: value: 50 attribute: humidity ``` + +Use a regex filter against entity attributes. This regex filter below looks for expressions that are 1 digit in length and where the number is between 0-7 (so show holidays today or in the next 7 days) and displays those holidays as entities in the entity-filter card. + +```yaml + - type: entity-filter + card: + title: "Upcoming Holidays In Next 7 Days" + show_header_toggle: false + state_filter: + - operator: regex + value: "^([0-7]{1})$" + attribute: eta + entities: + - entity: sensor.upcoming_ical_holidays_0 + - entity: sensor.upcoming_ical_holidays_1 + - entity: sensor.upcoming_ical_holidays_2 + - entity: sensor.upcoming_ical_holidays_3 + - entity: sensor.upcoming_ical_holidays_4 + show_empty: false +``` From 331fa560739d51a7e9c46f8c91ab78012f09a123 Mon Sep 17 00:00:00 2001 From: Roland Beck <7224371+Data-Monkey@users.noreply.github.com> Date: Sun, 12 Apr 2020 20:12:19 +1000 Subject: [PATCH 080/143] Remove NSW logo (#12851) --- source/_integrations/transport_nsw.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/transport_nsw.markdown b/source/_integrations/transport_nsw.markdown index 8d2cbaf7d09..0b2f540dd3f 100644 --- a/source/_integrations/transport_nsw.markdown +++ b/source/_integrations/transport_nsw.markdown @@ -1,7 +1,6 @@ --- title: Transport NSW description: Instructions on how to integrate timetable data for Transport NSW (Australia) within Home Assistant. -logo: transport_nsw.png ha_category: - Transport ha_iot_class: Cloud Polling From d2bf2798ed035072bbcbfcfb77d143dba28e1d1a Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 12:13:26 +0200 Subject: [PATCH 081/143] Remove logo reference for Asterisk integration (#12860) --- source/_integrations/asterisk_mbox.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/asterisk_mbox.markdown b/source/_integrations/asterisk_mbox.markdown index 4bed55d8d02..734323fe1ca 100644 --- a/source/_integrations/asterisk_mbox.markdown +++ b/source/_integrations/asterisk_mbox.markdown @@ -1,7 +1,6 @@ --- title: Asterisk Voicemail description: Instructions on how to integrate your existing Asterisk voicemail within Home Assistant. -logo: asterisk.png ha_category: - Mailbox ha_iot_class: Local Push From 8a6a2d20ded52e0d12ab835cf4ba147d8becf473 Mon Sep 17 00:00:00 2001 From: Roland Beck <7224371+Data-Monkey@users.noreply.github.com> Date: Sun, 12 Apr 2020 20:19:56 +1000 Subject: [PATCH 082/143] Remove BOM logo reference (#12855) --- source/_integrations/bom.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/bom.markdown b/source/_integrations/bom.markdown index 12cc48d91dc..df4b3f431d7 100644 --- a/source/_integrations/bom.markdown +++ b/source/_integrations/bom.markdown @@ -1,7 +1,6 @@ --- title: Australian Bureau of Meteorology (BOM) description: Instructions on how to integrate Bureau of Meteorology Australia weather conditions into Home Assistant. -logo: bom.png ha_category: - Weather - Sensor From e8558280f41305b38be8cb48a75312e63c6e580d Mon Sep 17 00:00:00 2001 From: cogneato Date: Sun, 12 Apr 2020 04:21:04 -0600 Subject: [PATCH 083/143] Remove bloomsky logo in favor of brand (#12854) --- source/_integrations/bloomsky.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/bloomsky.markdown b/source/_integrations/bloomsky.markdown index 871d50b0ff2..c0c2c9280cb 100644 --- a/source/_integrations/bloomsky.markdown +++ b/source/_integrations/bloomsky.markdown @@ -1,7 +1,6 @@ --- title: BloomSky description: Instructions on how to integrate the BloomSky within Home Assistant. -logo: bloomsky.png ha_category: - Environment - Binary Sensor From 20388a23855cf1c10c60deb67a966ef101898399 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 12:24:59 +0200 Subject: [PATCH 084/143] Remove logo reference for Aruba int. (#12862) --- source/_integrations/aruba.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/aruba.markdown b/source/_integrations/aruba.markdown index 2a8c20e3fbf..27fb1a46eba 100644 --- a/source/_integrations/aruba.markdown +++ b/source/_integrations/aruba.markdown @@ -1,7 +1,6 @@ --- title: Aruba description: Instructions on how to integrate Aruba routers into Home Assistant. -logo: aruba.png ha_category: - Presence Detection ha_release: 0.7 From 36711119b5aeec1945c81d10a9c82cca2946fa81 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 12:26:10 +0200 Subject: [PATCH 085/143] Remove Asterisk Call Detail records logo reerence (#12863) --- source/_integrations/asterisk_cdr.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/asterisk_cdr.markdown b/source/_integrations/asterisk_cdr.markdown index 38a946896d0..185561d2c2c 100644 --- a/source/_integrations/asterisk_cdr.markdown +++ b/source/_integrations/asterisk_cdr.markdown @@ -1,7 +1,6 @@ --- title: Asterisk Call Detail Records description: Instructions on how to integrate an Asterisk CDR within Home Assistant. -logo: asterisk.png ha_category: - Mailbox ha_release: 0.79 From 7f2559f4ec17f5cb90a4564ff76430740fd59098 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 12:27:19 +0200 Subject: [PATCH 086/143] Remove logo reference for Arlo int. (#12861) --- source/_integrations/arlo.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/arlo.markdown b/source/_integrations/arlo.markdown index 2cbc1cf9206..7fb64c95596 100644 --- a/source/_integrations/arlo.markdown +++ b/source/_integrations/arlo.markdown @@ -1,7 +1,6 @@ --- title: Arlo description: Instructions on how to integrate your Netgear Arlo cameras within Home Assistant. -logo: arlo.png ha_category: - Hub - Alarm From 1763e64a2021ae1e9afbd0e9abcdd66314e1f75f Mon Sep 17 00:00:00 2001 From: cogneato Date: Sun, 12 Apr 2020 04:31:15 -0600 Subject: [PATCH 087/143] Remove tuya logo in favor of brand (#12853) --- source/_integrations/tuya.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/tuya.markdown b/source/_integrations/tuya.markdown index bd95d59a855..2994a3ee577 100644 --- a/source/_integrations/tuya.markdown +++ b/source/_integrations/tuya.markdown @@ -1,7 +1,6 @@ --- title: Tuya description: Instructions on how to setup the Tuya hub within Home Assistant. -logo: tuya.png ha_category: - Hub - Climate From 01a08408aa31f0c56dd73c8238f1c820c5ddb9b3 Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Sun, 12 Apr 2020 12:36:36 +0200 Subject: [PATCH 088/143] Removed ue_smart_radio logo in favor of brands (#12841) --- source/_integrations/ue_smart_radio.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/ue_smart_radio.markdown b/source/_integrations/ue_smart_radio.markdown index 3055b1ba32e..3760786949b 100644 --- a/source/_integrations/ue_smart_radio.markdown +++ b/source/_integrations/ue_smart_radio.markdown @@ -1,7 +1,6 @@ --- title: Logitech UE Smart Radio description: Instructions on how to integrate a Logitech UE Smart Radio player into Home Assistant. -logo: ueradio.png ha_category: - Media Player ha_release: '0.60' From 96a7dc993d73c67c5368e84ab4f190046fab4b9c Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 12:40:47 +0200 Subject: [PATCH 089/143] Remove logo reference Sharp Aquos integration (#12864) --- source/_integrations/aquostv.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/aquostv.markdown b/source/_integrations/aquostv.markdown index 32cbba65f33..1765dc0bce2 100644 --- a/source/_integrations/aquostv.markdown +++ b/source/_integrations/aquostv.markdown @@ -1,7 +1,6 @@ --- title: Sharp Aquos TV description: Instructions on how to integrate a Sharp Aquos TV into Home Assistant. -logo: sharp_aquos.png ha_category: - Media Player ha_release: 0.35 From 92838b073b30352100145b9fa2904e2dbf07f7e0 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 12:44:35 +0200 Subject: [PATCH 090/143] Remove logo reference for Aruba ClearPass (#12865) --- source/_integrations/cppm_tracker.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/cppm_tracker.markdown b/source/_integrations/cppm_tracker.markdown index 0acc267dc77..1bb25d16601 100644 --- a/source/_integrations/cppm_tracker.markdown +++ b/source/_integrations/cppm_tracker.markdown @@ -1,7 +1,6 @@ --- title: Aruba ClearPass description: Instructions on how to integrate Aruba ClearPass into Home Assistant. -logo: aruba.png ha_category: - Presence Detection ha_release: '0.90' From c8f2ab6e0dcd9c2231308c0833c7ccba87faa007 Mon Sep 17 00:00:00 2001 From: Tim van Cann Date: Sun, 12 Apr 2020 12:54:52 +0200 Subject: [PATCH 091/143] Remove Avri logo (#12866) --- source/_integrations/avri.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/avri.markdown b/source/_integrations/avri.markdown index b91e2b06725..7145a19196a 100644 --- a/source/_integrations/avri.markdown +++ b/source/_integrations/avri.markdown @@ -1,7 +1,6 @@ --- title: Avri description: Instructions on how to set up Avri Waste sensor within Home Assistant. -logo: avri.jpeg ha_category: - Sensor ha_iot_class: Cloud Polling From 5c4615e74356395d906392ba440990ddda5429bf Mon Sep 17 00:00:00 2001 From: Niels Klumper Date: Sun, 12 Apr 2020 16:11:26 +0200 Subject: [PATCH 092/143] Remove logo from ubus.markdown (#12856) --- source/_integrations/ubus.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/ubus.markdown b/source/_integrations/ubus.markdown index 79ffd41b488..5c101c5cdcd 100644 --- a/source/_integrations/ubus.markdown +++ b/source/_integrations/ubus.markdown @@ -1,7 +1,6 @@ --- title: OpenWrt (ubus) description: Instructions on how to integrate OpenWRT routers into Home Assistant. -logo: openwrt.png ha_category: - Presence Detection ha_release: 0.7.6 From 9185147dfd64c31e4bb1f877721851013b95c1b1 Mon Sep 17 00:00:00 2001 From: Niels Klumper Date: Sun, 12 Apr 2020 16:13:09 +0200 Subject: [PATCH 093/143] Remove logo from zigbee.markdown (#12818) --- source/_integrations/zigbee.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/zigbee.markdown b/source/_integrations/zigbee.markdown index 9348dbd1157..e8b19ec0fcc 100644 --- a/source/_integrations/zigbee.markdown +++ b/source/_integrations/zigbee.markdown @@ -1,7 +1,6 @@ --- title: Zigbee description: Instructions on how to integrate a Zigbee network with Home Assistant. -logo: zigbee.png ha_category: - Binary Sensor - Light From f857c22b20a3916444c4a0928e681f4fe82c8cf5 Mon Sep 17 00:00:00 2001 From: Niels Klumper Date: Sun, 12 Apr 2020 16:14:11 +0200 Subject: [PATCH 094/143] Remove logo from luci.markdown (#12857) --- source/_integrations/luci.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/luci.markdown b/source/_integrations/luci.markdown index f5b25501e19..fdcf6f2f5c4 100644 --- a/source/_integrations/luci.markdown +++ b/source/_integrations/luci.markdown @@ -1,7 +1,6 @@ --- title: OpenWRT (luci) description: Instructions on how to integrate OpenWRT routers into Home Assistant. -logo: openwrt.png ha_category: - Presence Detection ha_release: pre 0.7 From 974b4cf9c7e0456c26617fc8fa2eca66464ef776 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 17:20:52 +0200 Subject: [PATCH 095/143] Remove logo reference for NETGEAR integration (#12870) --- source/_integrations/netgear.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/netgear.markdown b/source/_integrations/netgear.markdown index 46ec42f856a..fb52ccfaab9 100644 --- a/source/_integrations/netgear.markdown +++ b/source/_integrations/netgear.markdown @@ -1,7 +1,6 @@ --- title: NETGEAR description: Instructions on how to integrate NETGEAR routers into Home Assistant. -logo: netgear.png ha_category: - Presence Detection ha_iot_class: Local Polling From 8aeaddbfcb010e01013dcbd3954aa621ac87c8a0 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 17:45:59 +0200 Subject: [PATCH 096/143] Remove logo reference for Netgear LTE (#12874) --- source/_integrations/netgear_lte.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/netgear_lte.markdown b/source/_integrations/netgear_lte.markdown index bfb0e56f9b9..b7c9379a319 100644 --- a/source/_integrations/netgear_lte.markdown +++ b/source/_integrations/netgear_lte.markdown @@ -1,7 +1,6 @@ --- title: NETGEAR LTE description: Instructions on how to integrate your NETGEAR LTE modem within Home Assistant. -logo: netgear.png ha_release: 0.72 ha_category: - Network From 10f22c639efc2d92d855c7afd1eb618e091e7bc8 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 17:51:54 +0200 Subject: [PATCH 097/143] Remove logo reference for Blockchain.com int. (#12869) --- source/_integrations/blockchain.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/blockchain.markdown b/source/_integrations/blockchain.markdown index 55d3638d342..cca407b6555 100644 --- a/source/_integrations/blockchain.markdown +++ b/source/_integrations/blockchain.markdown @@ -1,7 +1,6 @@ --- title: Blockchain.com description: Instructions on how to integrate Blockchain.com data within Home Assistant. -logo: blockchain.png ha_category: - Finance ha_release: 0.47 From 50c3e63f99f9493ab39bb1ff70dac33911cd25e1 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 17:52:57 +0200 Subject: [PATCH 098/143] Remove logo reference for Baidu int. (#12868) --- source/_integrations/baidu.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/baidu.markdown b/source/_integrations/baidu.markdown index cfec3e92b2e..765c71d47c1 100644 --- a/source/_integrations/baidu.markdown +++ b/source/_integrations/baidu.markdown @@ -1,7 +1,6 @@ --- title: Baidu description: Instructions on how to setup Baidu TTS with Home Assistant. -logo: baiducloud.png ha_category: - Text-to-speech ha_release: 0.59 From 9617374b6d5071dee06fb1d7f48d1fe947133b8a Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 17:55:19 +0200 Subject: [PATCH 099/143] Remove logo reference for Bitcoin int. (#12867) --- source/_integrations/bitcoin.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/bitcoin.markdown b/source/_integrations/bitcoin.markdown index d07edfaf613..6bdefec6706 100644 --- a/source/_integrations/bitcoin.markdown +++ b/source/_integrations/bitcoin.markdown @@ -1,7 +1,6 @@ --- title: Bitcoin description: Instructions on how to integrate Bitcoin data within Home Assistant. -logo: bitcoin.png ha_category: - Finance ha_release: pre 0.7 From 94cd2041754d2914d363a8aaafda7fe251cbe8ad Mon Sep 17 00:00:00 2001 From: Niels Klumper Date: Sun, 12 Apr 2020 18:02:54 +0200 Subject: [PATCH 100/143] Remove logo from zhong_hong.markdown (#12876) --- source/_integrations/zhong_hong.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/zhong_hong.markdown b/source/_integrations/zhong_hong.markdown index ab023eeae9c..474927c8f6a 100644 --- a/source/_integrations/zhong_hong.markdown +++ b/source/_integrations/zhong_hong.markdown @@ -1,7 +1,6 @@ --- title: ZhongHong description: Instructions on how to integrate ZhongHong Support thermostats within Home Assistant. -logo: zhong_hong.png ha_category: - Climate ha_release: 0.72 From 1c6491d27f7d4ff0ff3c51706b0cba2910ced439 Mon Sep 17 00:00:00 2001 From: LeonCB Date: Sun, 12 Apr 2020 18:40:52 +0200 Subject: [PATCH 101/143] Removed logo line from ziggo_mediabox_xl.markdown (#12633) From f88e4b2aa3c3f931da1ec1da78f50d2c065812f5 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 18:41:17 +0200 Subject: [PATCH 102/143] Remove logo reference for Nanoleaf int. (#12877) --- source/_integrations/nanoleaf.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/nanoleaf.markdown b/source/_integrations/nanoleaf.markdown index 2fd39e57b03..c8707f4e5fa 100644 --- a/source/_integrations/nanoleaf.markdown +++ b/source/_integrations/nanoleaf.markdown @@ -1,7 +1,6 @@ --- title: Nanoleaf description: Instructions how to integrate Nanoleaf Light Panels into Home Assistant. -logo: nanoleaf_light.png ha_category: - Light ha_iot_class: Local Polling From b01898f6b43a73f0f7415f2275166ca5be78aec0 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 18:55:16 +0200 Subject: [PATCH 103/143] Remove logo reference for Pilight (#12878) --- source/_integrations/pilight.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/pilight.markdown b/source/_integrations/pilight.markdown index 0ecc2b2397f..6218a4b0a1f 100644 --- a/source/_integrations/pilight.markdown +++ b/source/_integrations/pilight.markdown @@ -1,7 +1,6 @@ --- title: Pilight description: Instructions on how to setup Pilight within Home Assistant. -logo: pilight.png ha_category: - DIY - Binary Sensor From 8a442f17ff43f75adc936f0bcf7662c9582d7e51 Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Sun, 12 Apr 2020 19:02:51 +0200 Subject: [PATCH 104/143] Update Google Cast documentation (#12859) * Update cast.markdown * Update cast.markdown * :pencil2: Tweaks Co-authored-by: Franck Nijhof --- source/_integrations/cast.markdown | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/source/_integrations/cast.markdown b/source/_integrations/cast.markdown index 8a326f576ac..7c5abfd6bbb 100644 --- a/source/_integrations/cast.markdown +++ b/source/_integrations/cast.markdown @@ -27,7 +27,8 @@ Note that Home Assistant Cast requires your Home Assistant installation to be ac ## Advanced use -Cast devices can only be discovered if they are on the same subnet as Home Assistant. If this is not the case, you need to configure the IP address of the Cast device directly: +### Manual configuration +By default, any discovered Cast device is added to Home Assistant. This can be restricted by supplying a white list of wanted chrome casts. ```yaml # Example configuration.yaml entry @@ -43,7 +44,7 @@ media_player: type: list keys: host: - description: Use only if you don't want to scan for devices. + description: IP-address of a Cast device to add to Home Assistant. Use only if you don't want to add all available devices. The device won't be added until discovered through mDNS. required: false type: string ignore_cec: @@ -53,3 +54,12 @@ media_player: required: false type: list {% endconfiguration %} + +### Cast devices and Home Assistant on different subnets + +Cast devices can only be discovered and connected to if they are on the same subnet as Home Assistant. If this is not the case, it's necessary to: + +- Enable mDNS forwarding between the subnets. +- Enable source NAT to make requests from Home Assistant to the Chromecast appear to come from the same subnet as the Chromecast. + +Setups with cast devices on a different subnet than Home Assistant are not recommended and not supported. From 59b5cb33f57f9653687d26a93409870bc27f3841 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 19:31:25 +0200 Subject: [PATCH 105/143] Remove logo reference for Mycroft int. (#12879) --- source/_integrations/mycroft.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/mycroft.markdown b/source/_integrations/mycroft.markdown index 23934118d83..833a013367b 100644 --- a/source/_integrations/mycroft.markdown +++ b/source/_integrations/mycroft.markdown @@ -1,7 +1,6 @@ --- title: Mycroft description: Instructions on how to setup Mycroft AI within Home Assistant. -logo: mycroft.png ha_category: - Voice - Notifications From 990eecfae7c599d5578d3eadc710ecf95766fee1 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 22:23:02 +0200 Subject: [PATCH 106/143] Remove logo reference for Matrix integration (#12882) --- source/_integrations/matrix.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/matrix.markdown b/source/_integrations/matrix.markdown index dea7dbda403..898bed89e03 100644 --- a/source/_integrations/matrix.markdown +++ b/source/_integrations/matrix.markdown @@ -1,7 +1,6 @@ --- title: Matrix description: Matrix chatbot support -logo: matrix.png ha_category: - Hub - Notifications From 31253f607f429379573f73e3c597912796891847 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 22:24:13 +0200 Subject: [PATCH 107/143] Remove logo reference for Mi Flora int. (#12881) --- source/_integrations/miflora.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/miflora.markdown b/source/_integrations/miflora.markdown index e1037cca244..e23bc0048ca 100644 --- a/source/_integrations/miflora.markdown +++ b/source/_integrations/miflora.markdown @@ -1,7 +1,6 @@ --- title: Mi Flora description: Instructions on how to integrate MiFlora BLE plant sensor with Home Assistant. -logo: miflora.png ha_category: - Environment ha_release: 0.29 From 6f5a38d1ff8a34fbeba640c623cc326f5feded4c Mon Sep 17 00:00:00 2001 From: Niels Klumper Date: Sun, 12 Apr 2020 22:25:10 +0200 Subject: [PATCH 108/143] Remove logo from verisure.markdown (#12880) --- source/_integrations/verisure.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/verisure.markdown b/source/_integrations/verisure.markdown index d16d01e6af1..edc50407aa4 100644 --- a/source/_integrations/verisure.markdown +++ b/source/_integrations/verisure.markdown @@ -1,7 +1,6 @@ --- title: Verisure description: Instructions on how to setup Verisure devices within Home Assistant. -logo: verisure.png ha_category: - Hub - Alarm From bc82b0c5b0894e61a706db103ee52eb8fcd3d4c0 Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Sun, 12 Apr 2020 22:50:32 +0200 Subject: [PATCH 109/143] Usgs earthquakes feed (#12884) --- source/_integrations/usgs_earthquakes_feed.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/usgs_earthquakes_feed.markdown b/source/_integrations/usgs_earthquakes_feed.markdown index 49f2ae9911e..3ce7e4b9dcf 100644 --- a/source/_integrations/usgs_earthquakes_feed.markdown +++ b/source/_integrations/usgs_earthquakes_feed.markdown @@ -1,7 +1,6 @@ --- title: U.S. Geological Survey Earthquake Hazards (USGS) description: Instructions on how to integrate the U.S. Geological Survey Earthquake Hazards Program Feed feed into Home Assistant. -logo: us-geological-survey.png ha_category: - Geolocation ha_iot_class: Cloud Polling From a8a2028e8061a2e29d04326d94e78317ecd9cf94 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Sun, 12 Apr 2020 22:52:24 +0200 Subject: [PATCH 110/143] Remove logo reference from Cisco Mobility Express (#12883) --- source/_integrations/cisco_mobility_express.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/cisco_mobility_express.markdown b/source/_integrations/cisco_mobility_express.markdown index 13047b645a5..44233d12831 100644 --- a/source/_integrations/cisco_mobility_express.markdown +++ b/source/_integrations/cisco_mobility_express.markdown @@ -1,7 +1,6 @@ --- title: Cisco Mobility Express description: Instructions on how to integrate Cisco Mobility Express wireless controllers into Home Assistant. -logo: cisco.png ha_category: - Presence Detection ha_release: '0.90' From c4ac6978e8480d555397008473fc159b37a1d2a3 Mon Sep 17 00:00:00 2001 From: Javier Lopez Date: Sun, 12 Apr 2020 15:54:14 -0500 Subject: [PATCH 111/143] Fixed indentation on example (#12885) keyboard was inside the incorrect data structure. --- source/_integrations/telegram.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_integrations/telegram.markdown b/source/_integrations/telegram.markdown index 67b0991aff0..363c1c9fde6 100644 --- a/source/_integrations/telegram.markdown +++ b/source/_integrations/telegram.markdown @@ -288,9 +288,9 @@ action: document: file: /tmp/whatever.odf caption: Document Title xy - keyboard: - - '/command1, /command2' - - '/command3, /command4' + keyboard: + - '/command1, /command2' + - '/command3, /command4' ``` {% configuration %} From 95c70fd6b51b739c92a557236576c227cf099371 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diefferson=20Koderer=20M=C3=B4ro?= Date: Mon, 13 Apr 2020 00:25:23 -0300 Subject: [PATCH 112/143] Remove logo reference for Anel (#12901) --- source/_integrations/anel_pwrctrl.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/anel_pwrctrl.markdown b/source/_integrations/anel_pwrctrl.markdown index 91d2022aa86..e5aa7678ccc 100644 --- a/source/_integrations/anel_pwrctrl.markdown +++ b/source/_integrations/anel_pwrctrl.markdown @@ -1,7 +1,6 @@ --- title: Anel NET-PwrCtrl description: Instructions on how to integrate ANEL PwrCtrl switches within Home Assistant. -logo: anel.png ha_category: - Switch ha_iot_class: Local Polling From b48c91a69c1daaebcd88cb82de82e970fac5f804 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diefferson=20Koderer=20M=C3=B4ro?= Date: Mon, 13 Apr 2020 00:26:50 -0300 Subject: [PATCH 113/143] Remove logo reference for Ampio (#12899) --- source/_integrations/ampio.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/ampio.markdown b/source/_integrations/ampio.markdown index b0400fa639f..5655a7ca3f6 100644 --- a/source/_integrations/ampio.markdown +++ b/source/_integrations/ampio.markdown @@ -1,7 +1,6 @@ --- title: Ampio Smart Smog System description: Instructions on how to setup Ampio Smog sensors in Home Assistant. -logo: ampio_smog.png ha_category: - Health - Sensor From 7354c9eaefd3e15311289adfdf46d802da659b38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diefferson=20Koderer=20M=C3=B4ro?= Date: Mon, 13 Apr 2020 00:29:47 -0300 Subject: [PATCH 114/143] Remove logo reference for Alarm Decoder (#12898) --- source/_integrations/alarmdecoder.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/alarmdecoder.markdown b/source/_integrations/alarmdecoder.markdown index bf883ca99b5..975b2193a88 100644 --- a/source/_integrations/alarmdecoder.markdown +++ b/source/_integrations/alarmdecoder.markdown @@ -1,7 +1,6 @@ --- title: AlarmDecoder description: Instructions on how to integrate a DSC/Honeywell alarm panel with Home Assistant using an AlarmDecoder device. -logo: alarmdecoder.png ha_category: - Alarm - Binary Sensor From 409381a2c7a09bf0a5396e9a50475a07be32ef0e Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Mon, 13 Apr 2020 05:32:18 +0200 Subject: [PATCH 115/143] Remove logo reference for Gearbest int. (#12897) --- source/_integrations/gearbest.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/gearbest.markdown b/source/_integrations/gearbest.markdown index 2cf6ab80b06..17b1c61402a 100644 --- a/source/_integrations/gearbest.markdown +++ b/source/_integrations/gearbest.markdown @@ -1,7 +1,6 @@ --- title: Gearbest description: Instructions on how to integrate a Gearbest sensor into Home Assistant. -logo: gearbest.png ha_category: - Sensor ha_iot_class: Cloud Polling From 72114d6df1ef46aa2fab844daae262ea9759496f Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Mon, 13 Apr 2020 05:35:36 +0200 Subject: [PATCH 116/143] Removed vasttrafik logo in favor of brands (#12896) --- source/_integrations/vasttrafik.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/vasttrafik.markdown b/source/_integrations/vasttrafik.markdown index 5a93e80ea4a..419a7b6d5fe 100644 --- a/source/_integrations/vasttrafik.markdown +++ b/source/_integrations/vasttrafik.markdown @@ -1,7 +1,6 @@ --- title: Västtrafik description: Instructions on how to integrate timetable data for traveling in Sweden within Home Assistant. -logo: vasttrafik.png ha_category: - Transport ha_iot_class: Cloud Polling From fc2866e25cadcc279723c214a85ca867bf409ede Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Mon, 13 Apr 2020 05:39:30 +0200 Subject: [PATCH 117/143] Remove logo reference from LG Netcast int. (#12895) --- source/_integrations/lg_netcast.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/lg_netcast.markdown b/source/_integrations/lg_netcast.markdown index 891a963883a..1c695637f44 100644 --- a/source/_integrations/lg_netcast.markdown +++ b/source/_integrations/lg_netcast.markdown @@ -1,7 +1,6 @@ --- title: LG Netcast description: Instructions on how to integrate a LG TV (Netcast 3.0 & 4.0) within Home Assistant. -logo: lg.png ha_category: - Media Player ha_iot_class: Local Polling From e81786d2811b561f317921deb0c95fc8f8e88bce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diefferson=20Koderer=20M=C3=B4ro?= Date: Mon, 13 Apr 2020 00:41:58 -0300 Subject: [PATCH 118/143] Remove logo reference for Aladdin Connect (#12894) --- source/_integrations/aladdin_connect.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/aladdin_connect.markdown b/source/_integrations/aladdin_connect.markdown index 71735d6b6dc..e0ee71d4a8c 100644 --- a/source/_integrations/aladdin_connect.markdown +++ b/source/_integrations/aladdin_connect.markdown @@ -1,7 +1,6 @@ --- title: Aladdin Connect description: Instructions how to integrate Genie Aladdin Connect garage door covers into Home Assistant. -logo: aladdin_connect.png ha_category: - Cover ha_release: 0.75 From 28dd2a70563db5c5d97f29acfbd2f583b87d7003 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Mon, 13 Apr 2020 05:53:34 +0200 Subject: [PATCH 119/143] Remove logo reference from Cisco IOS int. (#12893) --- source/_integrations/cisco_ios.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/cisco_ios.markdown b/source/_integrations/cisco_ios.markdown index 8e5f8d80259..b8e435ab9e3 100644 --- a/source/_integrations/cisco_ios.markdown +++ b/source/_integrations/cisco_ios.markdown @@ -1,7 +1,6 @@ --- title: Cisco IOS description: Instructions on how to integrate Cisco IOS routers into Home Assistant. -logo: cisco.png ha_category: - Presence Detection ha_release: 0.33 From 5de25bdfee102fd08490b02822be15c7ec89fa0c Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Mon, 13 Apr 2020 05:55:23 +0200 Subject: [PATCH 120/143] Remove logo reference from MQTT Statestream integration (#12890) --- source/_integrations/mqtt_statestream.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/mqtt_statestream.markdown b/source/_integrations/mqtt_statestream.markdown index 2e1453a6038..15c27e6ce97 100644 --- a/source/_integrations/mqtt_statestream.markdown +++ b/source/_integrations/mqtt_statestream.markdown @@ -1,7 +1,6 @@ --- title: MQTT Statestream description: Instructions on how to setup MQTT Statestream within Home Assistant. -logo: mqtt.png ha_category: - Other ha_release: 0.54 From bb679605930e96680f8b6d3888fe1e2ea83233aa Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Mon, 13 Apr 2020 05:56:19 +0200 Subject: [PATCH 121/143] Remove logo reference form MQTT Room Presence integration (#12889) --- source/_integrations/mqtt_room.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/mqtt_room.markdown b/source/_integrations/mqtt_room.markdown index 93e7f3d563e..43ed9ecad9e 100644 --- a/source/_integrations/mqtt_room.markdown +++ b/source/_integrations/mqtt_room.markdown @@ -1,7 +1,6 @@ --- title: MQTT Room Presence description: Instructions on how to track room presence within Home Assistant. -logo: mqtt.png ha_category: - Presence Detection ha_release: 0.27 From 04427fd0d7e0eb02481d10f3358a336a7b9c0e89 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Mon, 13 Apr 2020 05:58:40 +0200 Subject: [PATCH 122/143] Remove logo reference from MQTT JSON integration (#12888) --- source/_integrations/mqtt_json.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/mqtt_json.markdown b/source/_integrations/mqtt_json.markdown index 0ab8730c6c6..5be1cc5ad48 100644 --- a/source/_integrations/mqtt_json.markdown +++ b/source/_integrations/mqtt_json.markdown @@ -1,7 +1,6 @@ --- title: MQTT JSON description: Instructions on how to use JSON MQTT to track devices in Home Assistant. -logo: mqtt.png ha_category: - Presence Detection ha_iot_class: Configurable From a2cd8acfb19f99138916a79cd1f8ef3cf868aee1 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Mon, 13 Apr 2020 05:59:51 +0200 Subject: [PATCH 123/143] Remove logo reference for MQTT Eventstream (#12887) --- source/_integrations/mqtt_eventstream.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/mqtt_eventstream.markdown b/source/_integrations/mqtt_eventstream.markdown index ce6eab477bb..e24cbc36ae4 100644 --- a/source/_integrations/mqtt_eventstream.markdown +++ b/source/_integrations/mqtt_eventstream.markdown @@ -1,7 +1,6 @@ --- title: MQTT Eventstream description: Instructions on how to setup MQTT eventstream within Home Assistant. -logo: mqtt.png ha_category: - Other ha_release: 0.11 From 6d786ef26ea60e6b71a74514cf1ae73f1237f72a Mon Sep 17 00:00:00 2001 From: Samuel Rau <1322866+samrdev@users.noreply.github.com> Date: Mon, 13 Apr 2020 08:15:32 +0200 Subject: [PATCH 124/143] Removed reference of actiontec logo (#12775) --- source/_integrations/actiontec.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/actiontec.markdown b/source/_integrations/actiontec.markdown index 1cf78c72d1a..be399fa49b5 100644 --- a/source/_integrations/actiontec.markdown +++ b/source/_integrations/actiontec.markdown @@ -1,7 +1,6 @@ --- title: Actiontec description: Instructions on how to integrate Actiontec routers into Home Assistant. -logo: actiontec.png ha_category: - Presence Detection ha_release: 0.7 From 08817e566f4e3dea425ba48875df4a40c1418cf7 Mon Sep 17 00:00:00 2001 From: akasma74 Date: Mon, 13 Apr 2020 07:23:15 +0100 Subject: [PATCH 125/143] correct note about trigger (#12372) * correct note about trigger Don't think the existing way of testing automations with trigger in templates makes sense. I tried to show how to debug such automations. * add missing bracket to fix the build --- source/_docs/automation/templating.markdown | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/source/_docs/automation/templating.markdown b/source/_docs/automation/templating.markdown index d5ff1b98553..4743ec8ea57 100644 --- a/source/_docs/automation/templating.markdown +++ b/source/_docs/automation/templating.markdown @@ -76,7 +76,15 @@ Knowing how to access the [state object](/docs/configuration/state_object/) of a
- Be aware that if you reference a trigger state object in an automation action, attempting to test that automation by calling the `automation.trigger` service or by clicking EXECUTE in the More Info box for the automation will not work. This is because the trigger state object doesn't exist in those contexts. One way to test automations like these is to manually change the state of the trigger entity at Developer Tools > States. + Be aware that if you reference a `trigger` state object in templates of automation `action`, attempting to test that automation by calling the `automation.trigger` service or by clicking EXECUTE in the More Info box for the automation will not work. This is because the trigger state object doesn't exist in those contexts. One way to test automations like these is to manually check that the templates work as expected by pasting them in Developer Tools > Template together with your trigger's definition like: + +{%raw%} +```yaml +{% set trigger={'to_state':{'state': 'heat'}} %} +{% set option = trigger.to_state.state %} +{{ 'on' if option == 'heat' else 'off' }} +``` +{%endraw%}
From f21f3d6cd5e786b6cd880c01e50f7bdd5649cd39 Mon Sep 17 00:00:00 2001 From: PatSki123 Date: Mon, 13 Apr 2020 02:31:25 -0400 Subject: [PATCH 126/143] =?UTF-8?q?Cleaned=20up=20Docker=20Run=20Command?= =?UTF-8?q?=20under=20"Z-Wave"=20&=20"Bluetooth"=20sec=E2=80=A6=20(#12389)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Cleaned up Docker Run Command under "Z-Wave" & "Bluetooth" section Need to make it match the format of the other run commands in the page. * :pencil2: Tweak Co-authored-by: Franck Nijhof --- source/_docs/installation/docker.markdown | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/source/_docs/installation/docker.markdown b/source/_docs/installation/docker.markdown index 194fbac0c27..30f4f48d781 100644 --- a/source/_docs/installation/docker.markdown +++ b/source/_docs/installation/docker.markdown @@ -175,7 +175,10 @@ If you want to use a USB Bluetooth adapter or Z-Wave USB stick with Home Assista The above command should show you any USB devices plugged into your NAS. If you have more than one, you may get multiple items returned. Like : `ttyACM0` - Run Docker command: - `docker run --init --name home-assistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e variable=TZ -e value=Europe/London --device /dev/ttyACM0 homeassistant/home-assistant:stable` + + ```bash + docker run --init --name home-assistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e TZ=Europe/London --device /dev/ttyACM0 homeassistant/home-assistant:stable + ``` `-v` is your configuration path `-e` is set timezone @@ -193,7 +196,10 @@ That will tell Home Assistant where to look for our Z-Wave radio. - Connect to your NAS over SSH - Run Docker command: - `docker run --init --name home-assistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e variable=TZ -e value=Europe/London -v /dev/bus/usb:/dev/bus/usb -v /var/run/dbus:/var/run/dbus homeassistant/home-assistant:stable` + + ```bash + docker run --init --name home-assistant --net=host --privileged -itd -v /share/CACHEDEV1_DATA/Public/homeassistant/config:/config -e TZ=Europe/London -v /dev/bus/usb:/dev/bus/usb -v /var/run/dbus:/var/run/dbus homeassistant/home-assistant:stable + ``` First `-v` is your configuration path `-e` is set timezone From dc372f9ee65275f877df9e56250497ae22c2ae5e Mon Sep 17 00:00:00 2001 From: Alan Quinby <54718932+Alan-K2@users.noreply.github.com> Date: Mon, 13 Apr 2020 07:36:02 +0100 Subject: [PATCH 127/143] Update kira.markdown (#12505) * Update kira.markdown revised instructions with updated links and worked examples for sensor and remote * corrected header annotation * changed 'yaml' to 'YAML' * Update source/_integrations/kira.markdown Co-Authored-By: Fabian Affolter * Update source/_integrations/kira.markdown Co-Authored-By: Fabian Affolter * Update source/_integrations/kira.markdown Co-Authored-By: Fabian Affolter * Update source/_integrations/kira.markdown Co-Authored-By: Fabian Affolter * Update source/_integrations/kira.markdown Co-Authored-By: Fabian Affolter * Update source/_integrations/kira.markdown Co-Authored-By: Fabian Affolter * Update source/_integrations/kira.markdown Co-Authored-By: Fabian Affolter * Update source/_integrations/kira.markdown Co-Authored-By: Fabian Affolter * Update source/_integrations/kira.markdown Co-Authored-By: Fabian Affolter * Update kira.markdown edited as per suggestions from Fabian * Add files via upload for kira integration * Update kira.markdown changed image source * Update source/_integrations/kira.markdown Co-Authored-By: Franck Nijhof * Update kira.markdown * :pencil2: Tweaks Co-authored-by: Fabian Affolter Co-authored-by: Franck Nijhof Co-authored-by: Franck Nijhof --- source/_integrations/kira.markdown | 117 ++++++++++++++++-- .../integrations/kira/kira_remote_script.png | Bin 0 -> 30164 bytes .../integrations/kira/kira_sensor_states.png | Bin 0 -> 42243 bytes .../images/integrations/kira/kira_states.png | Bin 0 -> 29571 bytes .../integrations/kira/kira_test_script.png | Bin 0 -> 7345 bytes 5 files changed, 110 insertions(+), 7 deletions(-) create mode 100644 source/images/integrations/kira/kira_remote_script.png create mode 100644 source/images/integrations/kira/kira_sensor_states.png create mode 100644 source/images/integrations/kira/kira_states.png create mode 100644 source/images/integrations/kira/kira_test_script.png diff --git a/source/_integrations/kira.markdown b/source/_integrations/kira.markdown index b469a682be4..f5c38667649 100644 --- a/source/_integrations/kira.markdown +++ b/source/_integrations/kira.markdown @@ -10,21 +10,25 @@ ha_release: 0.45 ha_domain: kira --- -The `kira` integration is the main integration to integrate Keene Electronics IR over IP [Kira](https://www.keene.co.uk/keene-ir-anywhere-single-worldwide.html) modules with Home Assistant. +The `kira` integration is the main integration to integrate Keene Electronics IR over IP [Kira](https://k2audio.co.uk/collections/ip-and-internet-control) modules with Home Assistant. There is currently support for the following device types within Home Assistant: -- Remote -- Sensor +- Remote (emit an IR code when instructed by Home Assistant) +- Sensor (trigger Home Assistant to do something when a particular IR signal is received) -### Example Configuration +Some models (original Kira and Kira128) can be configured to act as either a sensor or as a remote. They are also able act as both when set to Standalone mode. The wireless models are hardware specific so the receiver can only be integrated as a sensor and the transmitter can only be integrated as a remote. + +If you are using two or more Kira devices for point to point IR transfer across your network they can continue to perform this function whilst also acting as a sensor or remote for Home Assistant. + +## Configuration ```yaml # Example configuration.yaml entry kira: ``` -Kira modules have no built-in mechanism for auto-discovery, so will need to be configured to send packets to Home Assistant. Documentation for this can be found on the manufacturer's website [Here](https://www.keene.co.uk/pages/iranywhere/index.html). +Kira modules have no built-in mechanism for auto-discovery, so will need to be configured to send packets to Home Assistant. The process varies according to the module type. The documentation for each can be found on the [manufacturer's website](https://www.info.keene-electronics.co.uk). ### Configuration Options @@ -83,7 +87,15 @@ remotes: If no sensors or remotes are specified, a sensor with default values will be added. -### Code Configuration +### Entities + +Restart Home Assistant and you should now have an entity called `kira_remote` (or whatever you called it). To check go to Developer Tools > States and start to type “kira” within the entity list. + +

+ +

+ +### IR Codes The first time the Kira integration is loaded, `kira_codes.yaml` will be created in the Home Assistant configuration directory. @@ -129,11 +141,102 @@ repeat: Some manufacturers (e.g., Samsung) require an IR code to be sent a number of times in a row in rapid succession (usually 3). This doesn't apply to the vast majority of devices, but it can be helpful if needed. +You now need to edit `kira_codes.yaml` to make sure it contains the codes you want the Kira to blast out as a remote or respond to as a sensor. Note that each time you edit and save the `kira_codes.yaml` file you need to restart Home Assistant for the changes to take effect, reloading the automations alone is not sufficient. + +### Example remote + +Using the number 1 button from a Panasonic DVD player: + +```yaml +# Example kira_codes.yaml entry +- name: PanaOne +code: "K 2432 0D31 06EB 0196 01F3 0194 0538 01B4 01D3 01B4 01D1 01B4 01D3 01B4 01D3 01B3 01D3 01B3 01D3 01B4 01D3 01B3 01D3 01B3 01D3 01B4 01D3 01B3 01D3 01B4 0518 01B4 01D3 01B3 01D3 01B4 01D1 01B7 01D1 01B7 01D1 01B4 01D3 01B4 0518 01B4 01D3 01B4 01D1 01B7 0518 01B4 01D3 01B3 01D3 01B4 01D1 01B7 01D1 01B4 01D3 01B4 01D1 01B7 01D1 01B7 01D1 01B4 01D3 01B4 01D1 01B7 01D1 01B4 01D3 01B4 0518 01B4 01D3 01B4 01D1 01B7 01D1 01B7 01D1 01B4 01D3 01B4 01D1 01B7 01D1 01B4 01D3 01B4 01D1 01B7 01D1 01B4 0518 01B7 2000" +device: DVD +type: kira +``` + +Go to "Configuration" and select "Scripts" and click to add a new script. This is an example using the Panasonic code above. + +

+ +

+ +When you have filled in the data to match your YAML entry save the script and test it by clicking the play button next to the name you assigned. If all has gone well your Kira module should now blast this IR code and operate your equipment. + +

+ +

+ +Once you know the code is working and procedure is correct you can use the facility in any number of ways, perhaps triggering the output based on sensor readings or by adding a number of buttons as a virtual remote in the Home Assistant front end. + +### Example sensor + +Using the number 1 and 2 buttons from a Panasonic DVD player: + +```yaml +# Example kira_codes.yaml entry +- name: PanaOne + code: "K 2432 0D31 06EB 0196 01F3 0194 0538 01B4 01D3 01B4 01D1 01B4 01D3 01B4 01D3 01B3 01D3 01B3 01D3 01B4 01D3 01B3 01D3 01B3 01D3 01B4 01D3 01B3 01D3 01B4 0518 01B4 01D3 01B3 01D3 01B4 01D1 01B7 01D1 01B7 01D1 01B4 01D3 01B4 0518 01B4 01D3 01B4 01D1 01B7 0518 01B4 01D3 01B3 01D3 01B4 01D1 01B7 01D1 01B4 01D3 01B4 01D1 01B7 01D1 01B7 01D1 01B4 01D3 01B4 01D1 01B7 01D1 01B4 01D3 01B4 0518 01B4 01D3 01B4 01D1 01B7 01D1 01B7 01D1 01B4 01D3 01B4 01D1 01B7 01D1 01B4 01D3 01B4 01D1 01B7 01D1 01B4 0518 01B7 2000" + device: DVD + type: kira + +- name: PanaTwo + code: "K 2432 0D30 06EE 0192 01F6 0192 053A 0192 01F3 0194 01F3 0194 01F3 0192 01F6 0192 01F3 0194 01F3 0192 01F6 0192 01F3 0194 01F3 0192 01F6 0192 01F3 0194 053A 0192 01F3 0194 01F3 0194 01F3 0194 01F3 0192 01F3 0194 01F3 0194 053A 0192 01F6 0192 01F3 0194 053A 0192 01F3 0194 01F3 0194 01F3 0194 01F3 0192 01F6 0192 01F3 0194 01F3 0192 01F3 0194 053A 0194 01F3 0194 01F3 0192 01F6 0192 053A 0192 01F3 0194 01F3 0194 01F3 0194 053A 0192 01F3 0194 01F3 0194 01F3 0194 01F3 0192 01F6 0192 01F3 0194 053A 0192 2000" + device: DVD + type: kira +``` + +Visit the Kira module configuration page and be sure to make the following changes according to your module use: + +If this is to be the only use of the Kira module then set the TARGET IP address to be that of your Home Assistant installation. Uncheck the “auto find” option box if present. Click on save and reboot the module. + +If the Kira module is to used in conjunction with another module be for IR over IP then leave (or set) the TARGET IP address to that of the other Kira module and in this instance set the COMPUTER IP address to the IP address of your Home Assistant installation. Check the option box to "send to alternative device" if present. Click on save and reboot to make the changes effective. + +Note that once you changed the COMPUTER IP you will longer be able to use the Kira utiltiy on your PC to capture IR codes. + +Next within Home Assistant go to Developer tools -> States and scroll down the list until you see `sensor.kira_(whatever you called it)`. Aim your remote at the Kira device and press the buttons you stored the code for. If all is well you should see the state change to match the name you gave to the code. + +

+ +

+ +Example automation using these IR codes to toggle a Sonoff plug. + +```yaml +# Example kira_sensor +- id: '1583339338363' + alias: Panasonic On + description: Turn on sonoff s20 relay + trigger: + - entity_id: sensor.kira_wireless + platform: state + to: PanaOne + condition: [] + action: + - device_id: 3628b4f34df943b3b721ead954cf3ca7 + domain: switch + entity_id: switch.plug2_relay + type: turn_on +- id: '1584035716024' + alias: 'Panaxonic Off ' + description: Turn off sonoff s20 relay + trigger: + - entity_id: sensor.kira_wireless + platform: state + to: PanaTwo + condition: [] + action: + - device_id: 3628b4f34df943b3b721ead954cf3ca7 + domain: switch + entity_id: switch.plug2_relay + type: turn_off +``` + ### Code Types When creating an entry in `kira_codes.yaml`, a few different kinds of codes can be used. -- **kira**: This is the native wire protocol used by Kira modules. These can be captured using netcat. +- **kira**: This is the native wire protocol used by Kira modules. These can be captured using the free Kira utility available from the manufacturers website. - **pronto**: Pronto codes are supported. - **nec**: If the device uses NEC IR codes and the manufacturer has published them, they can be used here. diff --git a/source/images/integrations/kira/kira_remote_script.png b/source/images/integrations/kira/kira_remote_script.png new file mode 100644 index 0000000000000000000000000000000000000000..4d59731a053a5d8d002dfc65259adfd263db3fee GIT binary patch literal 30164 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 A%>V!Z literal 0 HcmV?d00001 diff --git a/source/images/integrations/kira/kira_sensor_states.png b/source/images/integrations/kira/kira_sensor_states.png new file mode 100644 index 0000000000000000000000000000000000000000..1856a5008c69754b739642f6fa022a042eaa8967 GIT binary patch literal 42243 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 T^Gh5D1N^8dX)Bg0+<)>vz0&fz literal 0 HcmV?d00001 diff --git a/source/images/integrations/kira/kira_states.png b/source/images/integrations/kira/kira_states.png new file mode 100644 index 0000000000000000000000000000000000000000..8d4de16a299b4dab05a990d949b911bc1c2a73df GIT binary patch literal 29571 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 Date: Mon, 13 Apr 2020 12:06:43 +0200 Subject: [PATCH 128/143] Remove logo from touchline.markdown (#12911) --- source/_integrations/touchline.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/touchline.markdown b/source/_integrations/touchline.markdown index 32353bd9fe9..d488e6b5039 100644 --- a/source/_integrations/touchline.markdown +++ b/source/_integrations/touchline.markdown @@ -1,7 +1,6 @@ --- title: Roth Touchline description: Instructions on how to integrate Roth Touchline within Home Assistant. -logo: roth.png ha_category: - Climate ha_release: 0.61 From 57023393b2a9bb2f96e5f8a33532da268dd2efb8 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Mon, 13 Apr 2020 12:08:16 +0200 Subject: [PATCH 129/143] Remove logo reference for Bluetooth Le Tracker int. (#12910) --- source/_integrations/bluetooth_le_tracker.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/bluetooth_le_tracker.markdown b/source/_integrations/bluetooth_le_tracker.markdown index 32745562156..e1f73a2ed9e 100644 --- a/source/_integrations/bluetooth_le_tracker.markdown +++ b/source/_integrations/bluetooth_le_tracker.markdown @@ -1,7 +1,6 @@ --- title: Bluetooth LE Tracker description: Instructions for integrating bluetooth low-energy tracking within Home Assistant. -logo: bluetooth.png ha_category: - Presence Detection ha_iot_class: Local Polling From 1658571fcc267fc444ff85ef6e3da5da66af92b4 Mon Sep 17 00:00:00 2001 From: Niels Klumper Date: Mon, 13 Apr 2020 12:34:49 +0200 Subject: [PATCH 130/143] Remove logo from ubee.markdown (#12909) --- source/_integrations/ubee.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/ubee.markdown b/source/_integrations/ubee.markdown index 51683c4eeb3..d106181b596 100644 --- a/source/_integrations/ubee.markdown +++ b/source/_integrations/ubee.markdown @@ -1,7 +1,6 @@ --- title: Ubee Router description: Instructions on how to integrate Ubee routers into Home Assistant. -logo: ubee.png ha_category: - Presence Detection ha_release: 0.89 From edc1f440e6b851d34bad1f2232e427ef6d4c15f0 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Mon, 13 Apr 2020 12:38:01 +0200 Subject: [PATCH 131/143] Remove logo reference for Epson int. (#12913) --- source/_integrations/epson.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/epson.markdown b/source/_integrations/epson.markdown index ff8459ff08b..13007710fc6 100644 --- a/source/_integrations/epson.markdown +++ b/source/_integrations/epson.markdown @@ -1,7 +1,6 @@ --- title: Epson description: Instructions on how to integrate Epson projector into Home Assistant. -logo: epson.png ha_category: - Media Player ha_release: 0.72 From f233ca4eef4504ab82698e5f0281519e22c80426 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Mon, 13 Apr 2020 12:42:01 +0200 Subject: [PATCH 132/143] Remove logo reference for Fido int. (#12912) --- source/_integrations/fido.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/fido.markdown b/source/_integrations/fido.markdown index b88742852ef..42d4df2012d 100644 --- a/source/_integrations/fido.markdown +++ b/source/_integrations/fido.markdown @@ -1,7 +1,6 @@ --- title: Fido description: Instructions on how to integrate Fido data usage within Home Assistant. -logo: fido.png ha_category: - Network ha_release: 0.39 From 2c53c57491eae7c7238235daffaecfb2b91784ee Mon Sep 17 00:00:00 2001 From: Roland Beck <7224371+Data-Monkey@users.noreply.github.com> Date: Mon, 13 Apr 2020 20:46:00 +1000 Subject: [PATCH 133/143] removed logo for efergy (#12908) --- source/_integrations/efergy.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/efergy.markdown b/source/_integrations/efergy.markdown index 6012d6dea90..eee769abebc 100644 --- a/source/_integrations/efergy.markdown +++ b/source/_integrations/efergy.markdown @@ -1,7 +1,6 @@ --- title: Efergy description: Instructions on how to integrate Efergy devices within Home Assistant. -logo: efergy.png ha_category: - Energy ha_release: pre 0.7 From cbd8201236cab69a0d62aff6fca9eb1f4c4660e3 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Mon, 13 Apr 2020 12:46:55 +0200 Subject: [PATCH 134/143] Remove LG Soundbar logo reference (#12907) --- source/_integrations/lg_soundbar.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/lg_soundbar.markdown b/source/_integrations/lg_soundbar.markdown index fe38a9c748e..037685436e0 100644 --- a/source/_integrations/lg_soundbar.markdown +++ b/source/_integrations/lg_soundbar.markdown @@ -1,7 +1,6 @@ --- title: LG Soundbars description: Instructions on how to integrate LG Soundbars into Home Assistant. -logo: lg.png ha_category: - Media Player ha_iot_class: Local Polling From 98ac88165b5ba6e19233fd1d5e8985d5ae429ec7 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Mon, 13 Apr 2020 12:47:51 +0200 Subject: [PATCH 135/143] Remove logo reference for Hikvisioncam (#12906) --- source/_integrations/hikvisioncam.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/hikvisioncam.markdown b/source/_integrations/hikvisioncam.markdown index c2f26809332..178a21c9683 100644 --- a/source/_integrations/hikvisioncam.markdown +++ b/source/_integrations/hikvisioncam.markdown @@ -1,7 +1,6 @@ --- title: Hikvision description: Instructions on how to integrate Hikvision camera switches into Home Assistant. -logo: hikvision.png ha_category: - Switch ha_release: pre 0.7 From d02049166da0a40b68b8fda88dcd7e5598343dcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Arnauts?= Date: Mon, 13 Apr 2020 13:49:36 +0200 Subject: [PATCH 136/143] Remove Comfoconnect logo (#12916) --- source/_integrations/comfoconnect.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/comfoconnect.markdown b/source/_integrations/comfoconnect.markdown index db447944fe9..85d74f8016b 100644 --- a/source/_integrations/comfoconnect.markdown +++ b/source/_integrations/comfoconnect.markdown @@ -1,7 +1,6 @@ --- title: Zehnder ComfoAir Q description: Instructions on how to integrate Zehnder ComfoAir Q350/450/600 ventilation systems into Home Assistant. -logo: zehnder.png ha_category: - Fan - Sensor From cf995c78c719163351f47ba1e04b47b1fd1991fe Mon Sep 17 00:00:00 2001 From: Niels Klumper Date: Mon, 13 Apr 2020 13:51:06 +0200 Subject: [PATCH 137/143] Remove logo from tmb.markdown (#12915) --- source/_integrations/tmb.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/tmb.markdown b/source/_integrations/tmb.markdown index 8d0c8533223..6a2c2bc1f98 100644 --- a/source/_integrations/tmb.markdown +++ b/source/_integrations/tmb.markdown @@ -1,7 +1,6 @@ --- title: Transports Metropolitans de Barcelona description: Instructions on how to integrate TMB iBus sensor within Home Assistant. -logo: tmb.png ha_category: - Transport ha_release: 0.104 From d387eaa5360685cfcbc9e0ea73d09a6f9bbdfaff Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Mon, 13 Apr 2020 16:04:02 +0200 Subject: [PATCH 138/143] Remove logo ref. for Bluetooth Tracker int. (#12921) --- source/_integrations/bluetooth_tracker.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/bluetooth_tracker.markdown b/source/_integrations/bluetooth_tracker.markdown index 6294fa732d5..9cbd37e593e 100644 --- a/source/_integrations/bluetooth_tracker.markdown +++ b/source/_integrations/bluetooth_tracker.markdown @@ -1,7 +1,6 @@ --- title: Bluetooth Tracker description: Instructions for integrating Bluetooth tracking within Home Assistant. -logo: bluetooth.png ha_category: - Presence Detection ha_iot_class: Local Polling From c7e721073ef02bb8222ae1e18a9f998ae5453e49 Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Mon, 13 Apr 2020 16:04:56 +0200 Subject: [PATCH 139/143] Remove logo reference for Epson Workforce (#12920) --- source/_integrations/epsonworkforce.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/epsonworkforce.markdown b/source/_integrations/epsonworkforce.markdown index 5a8ab2f6159..f26bc88f2d5 100644 --- a/source/_integrations/epsonworkforce.markdown +++ b/source/_integrations/epsonworkforce.markdown @@ -1,7 +1,6 @@ --- title: Epson Workforce description: Instructions on how to integrate Epson Workforce Printer into Home Assistant. -logo: epson.png ha_category: - Sensor ha_release: 0.92 From d3f0b1d129ee4ed6dfc5b00d2e23681ec0a31b93 Mon Sep 17 00:00:00 2001 From: Niels Klumper Date: Mon, 13 Apr 2020 16:09:25 +0200 Subject: [PATCH 140/143] Remove logo from torque.markdown (#12914) --- source/_integrations/torque.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/torque.markdown b/source/_integrations/torque.markdown index fb72efccf26..a07e96d2008 100644 --- a/source/_integrations/torque.markdown +++ b/source/_integrations/torque.markdown @@ -1,7 +1,6 @@ --- title: Torque description: Instructions on how to integrate Torque sensors into Home Assistant. -logo: torque.png ha_category: - Car ha_release: '0.10' From e344753c4d0d9d195b0cbc766c414d04cb569817 Mon Sep 17 00:00:00 2001 From: Pascal Roeleven Date: Mon, 13 Apr 2020 16:19:29 +0200 Subject: [PATCH 141/143] Clarify Orange Pi (#12918) * Use Orange Pi as brand name The actual brand name is "Orange Pi", with a space and capital P. * Make configuration subheader of Binary Sensor * Add section Orange Pi limitations Add a section why some pins may not be usable with the Orange Pi integration. Should clarify issues like this: https://github.com/home-assistant/core/issues/30790. * :pencil2: Tweaks Co-authored-by: Franck Nijhof --- source/_integrations/orangepi_gpio.markdown | 37 ++++++++++++++++++--- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/source/_integrations/orangepi_gpio.markdown b/source/_integrations/orangepi_gpio.markdown index 4ec19164383..b0e4fb930de 100644 --- a/source/_integrations/orangepi_gpio.markdown +++ b/source/_integrations/orangepi_gpio.markdown @@ -1,5 +1,5 @@ --- -title: Orangepi GPIO +title: Orange Pi GPIO description: Instructions on how to integrate the GPIO capability of a Orange Pi into Home Assistant. ha_category: - DIY @@ -13,11 +13,11 @@ ha_domain: orangepi_gpio The `orangepi_gpio` integration is the base for all related GPIO platforms in Home Assistant. There is no setup needed for the integration itself, for the platforms please check their corresponding pages. -## Binary Sensor +This integration provides the following platforms: -The `orangepi_gpio` binary sensor platform allows you to read sensor values of the GPIOs of your Orange Pi or NanoPi. +- Binary sensor: The `orangepi_gpio` binary sensor platform allows you to read sensor values of the GPIOs of your Orange Pi or NanoPi. -## Configuration +### Configuration To use your Orange Pi's GPIO in your installation, add the following to your `configuration.yaml` file: @@ -79,6 +79,7 @@ As this platform supports different types of GPIO pinouts for difference Orange | `neocore2` | Supports the NanoPi Neocore 2 | ## Additional steps + This integration uses the `SYSFS` filesystem to get control of the GPIOs. Therefore an operating system with `CONFIG_GPIO_SYSFS` is required. As far as I know, most out-of-the-box distributions still enable this by default. As of Linux 4.8 sysfs-gpio is marked as obsolete. However as of today, the alternative GPIO character device is not widely used. Therefore we will use this until the new character device is more widely supported. @@ -92,3 +93,31 @@ SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c 'find -L /sys/class/gpio/ -maxdepth 2 -e ``` Home Assistant will now be able to control your GPIO pins. + +## Limitations + +This integration uses interrupts to catch changes on your pins. However, it depends on the Allwinner chipset which pin banks support external interrupts. There is also a great difference between Orange Pi models which pins are routed to the GPIO connector. Therefore it greatly differs between devices which pins you can use for your sensors. + +You can find the pinouts of all the supported Orange Pi devices [here](https://pascalroeleven.nl/2020/04/13/orange-pi-gpio-pinouts/). The pinouts for the [NanoPi Duo](http://wiki.friendlyarm.com/wiki/index.php/NanoPi_Duo) and [NanoPi NEO Core2](http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO_Core2) can be found on the [FriendlyARM wiki](http://wiki.friendlyarm.com/). For example: If a pin is named PA01, the pin bank is PA. If this pin bank is in the following table after your chipset, this particular pin is supported. + +| Chipset | Pin banks which support external interrupts | +| ------- | ------------------------------------------- | +| H2+ | PA, PG, PL | +| H3 | PA, PG, PL | +| H5 | PA, PF, PG, PL | +| H6 | PF, PG, PH, PL, PM | +| A64 | PB, PG, PH, PL | + +In the table below you can see the number of usable pins for sensors per device. + +| Device | Usable pins | +| ----- | ----------- | +| H2+ (R1, Zero) | 17/17 | +| H3 (Lite, One, PC, PC Plus, Plus 2E) | 21/28 | +| H5 (Zero Plus) | 17/17 | +| H5 (Zero Plus 2) | 15/17 | +| H5 (PC 2) | 22/28 | +| H5 (Prime) | 17/28 | +| H6 (Lite 2, One Plus) | 3/17 | +| H6 (PI 3) | 8/17 | +| A64 (Win Plus) | 18/28 | From 6e8cfd33c4a3e9004ba890ed863b68ff057b5c9f Mon Sep 17 00:00:00 2001 From: adrianmihalko Date: Mon, 13 Apr 2020 16:20:54 +0200 Subject: [PATCH 142/143] Remove logo reference for Hydrawise int. (#12922) --- source/_integrations/hydrawise.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/hydrawise.markdown b/source/_integrations/hydrawise.markdown index 6f82a482181..a30dfbc5895 100644 --- a/source/_integrations/hydrawise.markdown +++ b/source/_integrations/hydrawise.markdown @@ -1,7 +1,6 @@ --- title: Hunter Hydrawise description: Instructions on how to integrate your Hunter Hydrawise Wi-Fi irrigation control system within Home Assistant. -logo: hydrawise_logo.png ha_category: - Irrigation - Binary Sensor From 72fa3e968707fde636a78e37bf7daaae73b06f78 Mon Sep 17 00:00:00 2001 From: Dr John Tunnicliffe Date: Mon, 13 Apr 2020 15:24:59 +0100 Subject: [PATCH 143/143] Fully documented my public HA config (#12923) Please add to the HA cookbook --- source/_cookbook/configuration_yaml_by_DrJohnT.markdown | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 source/_cookbook/configuration_yaml_by_DrJohnT.markdown diff --git a/source/_cookbook/configuration_yaml_by_DrJohnT.markdown b/source/_cookbook/configuration_yaml_by_DrJohnT.markdown new file mode 100644 index 00000000000..124a444f5d5 --- /dev/null +++ b/source/_cookbook/configuration_yaml_by_DrJohnT.markdown @@ -0,0 +1,6 @@ +--- +title: "Configuration.yaml by DrJohnT" +description: "Velux windows, Drayton Wiser heating, Audio / Visual, lighting and humidity controlled fans" +ha_category: Example configuration.yaml +ha_external_link: https://github.com/DrJohnT/HomeAssistantPublicConfig +---